Usar n-gramas más largos
Hasta ahora has creado variables a partir de palabras individuales en cada texto. Esto puede ser muy potente en un modelo de Machine Learning, pero quizá te preocupe que, al mirar las palabras por separado, se pierda mucho contexto. Para abordar esto al crear modelos puedes usar n-gramas, que son secuencias de n palabras agrupadas. Por ejemplo:
- bigramas: Secuencias de dos palabras consecutivas
- trigramas: Secuencias de tres palabras consecutivas
Estos pueden crearse automáticamente en tu conjunto de datos especificando el argumento ngram_range como una tupla (n1, n2), donde se incluyen todos los n-gramas en el rango de n1 a n2.
Este ejercicio forma parte del curso
Ingeniería de características para Machine Learning en Python
Instrucciones del ejercicio
- Importa
CountVectorizerdesklearn.feature_extraction.text. - Instancia
CountVectorizerconsiderando solo trigramas. - Ajusta el vectorizador y aplícalo a la columna
text_cleanen un solo paso. - Imprime los nombres de las variables generadas por el vectorizador.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Import CountVectorizer
from sklearn.feature_extraction.text import ____
# Instantiate a trigram vectorizer
cv_trigram_vec = CountVectorizer(max_features=100,
stop_words='english',
____)
# Fit and apply trigram vectorizer
cv_trigram = ____(speech_df['text_clean'])
# Print the trigram features
print(cv_trigram_vec.____)