ストップワードを使った航空会社の感情分析
tweets というデータセットが与えられています。これは航空会社に関する顧客のレビューと感情を含みます。列は airline_sentiment と text の2つで、前者は positive / negative / neutral のいずれかの感情、text はツイート本文です。
この演習では、ストップワードを考慮した BOW(Bag-of-Words)表現を作成します。ストップワードは有益な情報を持たないことが多く、除去したほうがよい場合があります。そうすることで語彙が小さくなり、最終的に特徴量も少なくなります。なお、デフォルトのストップワード一覧に、今回の文脈に特有の語を追加して拡張できることも覚えておきましょう。
この演習はコースの一部です
Pythonで学ぶSentiment Analysis
演習の手順
- 英語のデフォルトのストップワード一覧をインポートします。
- 与えられた
['airline', 'airlines', '@']をデフォルトの一覧に追加してmy_stop_wordsを作成します。 - ベクトライザでストップワードの引数を指定します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import the stop words
from sklearn.feature_extraction.text import CountVectorizer, ____
# Define the stop words
my_stop_words = ____.____(['airline', 'airlines', '@'])
# Build and fit the vectorizer
vect = CountVectorizer(____=my_stop_words)
vect.fit(tweets.text)
# Create the bow representation
X_review = vect.transform(tweets.text)
# Create the data frame
X_df = pd.DataFrame(X_review.toarray(), columns=vect.get_feature_names())
print(X_df.head())