← retour aux snippets

scikit-learn CountVectorizer n-grammes

vectoriser du texte en sacs de mots et n-grammes

scikit-learn CountVectorizer n-grammes

objectif

Expliquer et montrer comment vectoriser du texte en sacs de mots et n-grammes.

code minimal

from sklearn.feature_extraction.text import CountVectorizer
docs = ["Bonjour le monde", "Bonjour data science", "Le monde des données"]
vec = CountVectorizer(ngram_range=(1,2), lowercase=True, stop_words=None)
X = vec.fit_transform(docs)
print(X.shape, list(vec.vocabulary_.items())[:5])

utilisation

# transformer de nouveaux documents
X_new = vec.transform(["bonjour le monde des data"])
X_new.toarray()

variante(s) utile(s)

# limiter à top mots par fréquence
vec2 = CountVectorizer(max_features=10)

notes

  • Utilisez ngram_range pour capter des expressions.
  • Pensez à la normalisation (TF-IDF) selon le modèle.