Usando n-gramas mais longos
Até agora, você criou atributos com base em palavras individuais em cada texto. Isso pode ser bem poderoso em um modelo de Machine Learning, mas talvez você se preocupe que, ao olhar palavra por palavra, muito contexto esteja sendo ignorado. Para lidar com isso na criação dos modelos, você pode usar n-gramas, que são sequências de n palavras agrupadas. Por exemplo:
- bigramas: sequências de duas palavras consecutivas
- trigramas: sequências de três palavras consecutivas
Você pode criar isso automaticamente no seu conjunto de dados especificando o argumento ngram_range como uma tupla (n1, n2), em que todos os n-gramas no intervalo de n1 a n2 são incluídos.
Este exercício faz parte do curso
Feature Engineering for Machine Learning in Python
Instruções do exercício
- Importe
CountVectorizerdesklearn.feature_extraction.text. - Instancie
CountVectorizerconsiderando apenas trigramas. - Faça o fit do vetorizador e aplique-o à coluna
text_cleanem um único passo. - Imprima os nomes dos atributos gerados pelo vetorizador.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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.____)