Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj CountVectorizer z sklearn.feature_extraction.text.
  • Utwórz obiekt CountVectorizer, uwzględniając wyłącznie trigramy.
  • Dopasuj wektorizer i zastosuj go do kolumny text_clean w 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.____)
Edytuj i uruchom kod