始める無料で始める

ストップワードを極める

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

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

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

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

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

この演習はコースの一部です

Rで学ぶBag-of-Wordsによるテキストマイニング

コースを見る

演習の手順

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

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

## text is preloaded into your workspace

# List standard English stop words
___

# Print text without standard stop words
removeWords(___, ___("___"))

# Add "coffee" and "bean" to the list: new_stops
new_stops <- c("___", "___", ___)

# Remove stop words from text
___
コードを編集して実行