Utiliser des n-grammes plus longs
Jusqu’ici, vous avez créé des variables à partir de mots pris individuellement dans chaque texte. Cela peut être très efficace dans un modèle de Machine Learning, mais vous pouvez craindre que l’analyse mot par mot fasse perdre une grande partie du contexte. Pour y remédier lors de la création de modèles, vous pouvez utiliser des n-grammes, c’est‑à‑dire des séquences de n mots regroupés. Par exemple :
- bigrammes : séquences de deux mots consécutifs
- trigrammes : séquences de trois mots consécutifs
Ils peuvent être générés automatiquement dans votre jeu de données en indiquant l’argument ngram_range sous forme de tuple (n1, n2), où tous les n-grammes compris entre n1 et n2 sont inclus.
Cet exercice fait partie du cours
Feature engineering pour le Machine Learning en Python
Instructions
- Importez
CountVectorizerdepuissklearn.feature_extraction.text. - Instanciez
CountVectorizeren ne prenant en compte que des trigrammes. - Ajustez le vectoriseur et appliquez‑le à la colonne
text_cleanen une seule étape. - Affichez les noms de variables (features) générés par le vectoriseur.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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.____)