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
Instrucțiuni pentru exercițiu
- Importă
CountVectorizerdinsklearn.feature_extraction.text. - Instanțiază
CountVectorizerluâ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.____)