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

Connected

Exercise

1文に対する語幹化と語幹補完

この演習では、次の文をドキュメントとして扱います。

"In a complicated haste, Tom rushed to fix a new complication, too complicatedly."

この文には、前の演習で見た「complicate」の3つの形がすべて含まれています。ここでの違いは、この文に対して stemDocument() を呼び出しても、どの単語も語幹化されないまま文が返ってくる点です。コンソールで一度試してみてください。句読点も必ず含めましょう。

これは、stemDocument() が文全体を1つの単語として扱うために起こります。言い換えると、私たちのドキュメントは、長さn(nは単語数)ではなく、長さ1の文字ベクトルになっているのです。この問題を解決するには、まず数問前の演習で学んだ removePunctuation() で句読点を取り除きます。次に、長さ1の文字ベクトルに対して strsplit() を使って長さnに分割し、unlist() し、その後に語幹化と補完を行います。

少し分かりづらく感じても大丈夫です。手順を一つずつ確認していきましょう!

Instructions

100 XP

ドキュメント text_data と補完用辞書 comp_dict はワークスペースに読み込まれています。

  • removePunctuation() を使って text_data の句読点を削除し、rm_punc に代入します。
  • rm_punc に対して strsplit() を呼び出し、split 引数を " " に設定します。これを unlist() の中にネストし、n_char_vec に代入します。
  • stemDocument() を使って n_char_vec の語幹化を行い、stem_doc に代入します。
  • stemCompletion() を使い、参照コーパスとして comp_dict を用いて語幹化したドキュメントを補完し、complete_doc を作成します。

stem_doc と complete_doc は想定どおりになりましたか?