1. 学ぶ
  2. /
  3. コース
  4. /
  5. Rで学ぶBag-of-Wordsによるテキストマイニング

Connected

演習

ストップワードを極める

頻出する一方で、ほとんど情報を持たない語があります。これらは「ストップワード」と呼ばれ、分析から除外したくなる場合があります。一般的な英語のストップワードには、"I"、"she'll"、"the" などがあります。tm パッケージには、よく使われる英語のストップワードが 174 語用意されています(この演習で出力します!)。

実際に分析するときは、このリストに語を追加する必要が出てくることが多いです。コーヒーに関するツイートの例では、すべてのツイートに "coffee" が含まれているので、一般的なストップワードに加えてこの語も取り除くことが重要です。"coffee" を残しても洞察は増えず、頻度分析で過度に強調されてしまいます。

c() 関数を使うと、ストップワードリストに新しい語を追加できます。たとえば、次のようにすると、デフォルトの英語ストップワードに "word1" と "word2" を追加できます。

all_stops <- c("word1", "word2", stopwords("en"))

意味のあるストップワードのリストが用意できたら、テキストに対して removeWords() 関数を使います。removeWords() は 2 つの引数を取ります。適用対象の text オブジェクトと、取り除く語のリストです。

指示

100 XP
  • stopwords("en") を呼び出して標準的なストップワードを確認します。
  • text から "en" のストップワードを取り除きます。
  • 標準のストップワードに "coffee" と "bean" を追加し、new_stops に代入します。
  • カスタマイズしたストップワード new_stops を text から取り除きます。