Použití delších n-gramů
Dosud jsi vytvářel/a příznaky založené na jednotlivých slovech v každém textu. Při použití v modelu strojového učení to může být velmi účinné, ale možná tě napadne, že zkoumáním slov samostatně přicházíš o velkou část kontextu. Tento problém při tvorbě modelů řeší n-gramy — sekvence n slov seskupených dohromady. Například:
- bigramy: sekvence dvou po sobě jdoucích slov
- trigramy: sekvence tří po sobě jdoucích slov
Tyto sekvence lze v datasetu vytvořit automaticky zadáním argumentu ngram_range jako n-tice (n1, n2), kde jsou zahrnuty všechny n-gramy v rozsahu od n1 do n2.
Toto cvičení je součástí kurzu
Feature Engineering for Machine Learning in Python
Pokyny k cvičení
- Importuj
CountVectorizerzsklearn.feature_extraction.text. - Vytvoř instanci
CountVectorizertak, aby zpracovávala pouze trigramy. - Přizpůsob vektorizér datům a v jednom kroku ho aplikuj na sloupec
text_clean. - Vypiš názvy příznaků, které vektorizér vygeneroval.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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.____)