CommencezCommencez gratuitement

Utiliser des n-grammes plus longs

Jusqu'ici, vous avez créé des caractéristiques à partir des mots pris individuellement dans chaque texte. C'est souvent très efficace dans un modèle de Machine Learning, mais vous pourriez vous inquiéter que, en regardant les mots séparément, une bonne partie du contexte soit perdue. 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

Vous pouvez les générer automatiquement dans votre jeu de données en indiquant l'argument ngram_range sous forme de tuple (n1, n2), où tous les n-grammes allant de n1 à n2 sont inclus.

Cette activité fait partie du cours

Ingénierie des caractéristiques pour le Machine Learning en Python

Voir le cours

Instructions de l’exercice

  • Importez CountVectorizer depuis sklearn.feature_extraction.text.
  • Instanciez CountVectorizer en ne considérant que les trigrammes.
  • Ajustez le vectoriseur et appliquez-le à la colonne text_clean en une seule étape.
  • Affichez les noms de caractéristiques générés par le vectoriseur.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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