IniziaInizia gratis

Usare n-gram più lunghi

Finora hai creato feature basate sulle singole parole presenti in ciascun testo. Questo può essere molto efficace in un modello di Machine Learning, ma potresti preoccuparti che, analizzando le parole isolatamente, si perda gran parte del contesto. Per gestire questo aspetto durante la creazione dei modelli puoi usare gli n-gram, ovvero sequenze di n parole raggruppate. Per esempio:

  • bigrammi: sequenze di due parole consecutive
  • trigrammi: sequenze di tre parole consecutive

Questi possono essere creati automaticamente nel tuo insieme di dati specificando l’argomento ngram_range come una tupla (n1, n2), includendo tutti gli n-gram nell’intervallo da n1 a n2.

Questo esercizio fa parte del corso

Feature Engineering per il Machine Learning in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Importa CountVectorizer da sklearn.feature_extraction.text.
  • Istanzia CountVectorizer considerando solo i trigrammi.
  • Esegui il fit del vettorizzatore e applicalo alla colonna text_clean in un solo passaggio.
  • Stampa i nomi delle feature generati dal vettorizzatore.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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.____)
Modifica ed esegui il codice