ÎncepețiÎncepe gratuit

Folosirea n-gramelor mai lungi

Până acum ai creat caracteristici pe baza cuvintelor individuale din fiecare text. Această abordare poate fi foarte utilă într-un model de machine learning, însă există riscul ca, analizând cuvintele separat, o mare parte din context să fie pierdut. Pentru a remedia acest lucru, poți folosi n-grame – secvențe de n cuvinte consecutive. De exemplu:

  • bigramele: secvențe de două cuvinte consecutive
  • trigramele: secvențe de trei cuvinte consecutive

Acestea pot fi generate automat în setul tău de date specificând argumentul ngram_range ca un tuplu (n1, n2), unde sunt incluse toate n-gramele din intervalul n1 până la n2.

Acest exercițiu face parte din cursul

Ingineria caracteristicilor pentru Machine Learning în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă CountVectorizer din sklearn.feature_extraction.text.
  • Instanțiază CountVectorizer luând în considerare doar trigramele.
  • Antrenează vectorizatorul și aplică-l pe coloana text_clean într-un singur pas.
  • Afișează numele caracteristicilor generate de vectorizator.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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.____)
Editează și rulează codul