Wiele kolumn tekstowych
W tym ćwiczeniu będziesz dalej pracować z danymi z Twittera dotyczącymi linii lotniczych. Zbiór danych tweets został już zaimportowany.
Czasem w zbiorze danych może znajdować się więcej niż jedna kolumna tekstowa i dla każdej z nich warto stworzyć reprezentację numeryczną. Oprócz kolumny text, która zawiera treść tweeta, dostępna jest druga kolumna tekstowa – negativereason. Zawiera ona powód, dla którego klient wystawił negatywną opinię.
Twoim zadaniem jest zbudowanie reprezentacji BOW dla obu kolumn oraz określenie odpowiednich stop słów.
To ćwiczenie jest częścią kursu
Analiza sentymentu w Pythonie
Instrukcje do ćwiczenia
- Zaimportuj pakiet wektoryzatora oraz domyślną listę angielskich stop słów.
- Zaktualizuj domyślną listę angielskich stop słów i utwórz zbiór
my_stop_words. - W pierwszym wektoryzatorze ustaw argument stop words na zaktualizowany zbiór, a w drugim – na domyślny zbiór angielskich stop słów.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import the vectorizer and default English stop words list
____
# Define the stop words
my_stop_words = ____._____(['airline', 'airlines', '@', 'am', 'pm'])
# Build and fit the vectorizers
vect1 = CountVectorizer(____=my_stop_words)
vect2 = CountVectorizer(____=____)
vect1.fit(tweets.text)
vect2.fit(tweets.negative_reason)
# Print the last 15 features from the first, and all from second vectorizer
print(vect1.get_feature_names()[-15:])
print(vect2.get_feature_names())