CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Importez CountVectorizer depuis sklearn.feature_extraction.text.
  • Instanciez CountVectorizer en ne prenant en compte que des trigrammes.
  • Ajustez le vectoriseur et appliquez‑le à la colonne text_clean en 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.____)
Modifier et exécuter le code