Używanie dłuższych n-gramów
Do tej pory tworzyłeś cechy na podstawie pojedynczych słów w każdym tekście. To podejście może być całkiem skuteczne w modelu uczenia maszynowego, ale analizując słowa osobno, ryzykujesz utratę dużej części kontekstu. Aby temu zaradzić, możesz korzystać z n-gramów, czyli sekwencji n kolejnych słów traktowanych jako całość. Na przykład:
- bigramy: sekwencje dwóch kolejnych słów
- trigramy: sekwencje trzech kolejnych słów
Możesz je automatycznie generować w swoim zbiorze danych, podając argument ngram_range jako krotkę (n1, n2), gdzie uwzględniane są wszystkie n-gramy z zakresu od n1 do n2.
To ćwiczenie jest częścią kursu
Inżynieria cech w uczeniu maszynowym w Pythonie
Instrukcje do ćwiczenia
- Zaimportuj
CountVectorizerzsklearn.feature_extraction.text. - Utwórz obiekt
CountVectorizer, uwzględniając wyłącznie trigramy. - Dopasuj wektorizer i zastosuj go do kolumny
text_cleanw jednym kroku. - Wyświetl nazwy cech wygenerowanych przez wektorizer.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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.____)