語幹化と語幹補完の入門
もう一つ有用な前処理として、word-stemming(語幹化)と stem completion(語幹補完)があります。語幹化は、文書間で表記ゆれを統一するために語を根に還元します。たとえば "computational"、"computers"、"computation" の語幹は "comput" です。ただし "comput" は実在の単語ではないため、"computational"、"computers"、"computation" がいずれも認識しやすい単語(例: "computer")を指すように再構成したくなります。この再構成の工程を語幹補完と呼びます。
tm パッケージは語の根を得るための stemDocument() 関数を提供します。この関数は、文字ベクトルを受け取って文字ベクトルを返すか、PlainTextDocument を受け取って PlainTextDocument を返します。
例えば、
stemDocument(c("computational", "computers", "computation"))
は "comput" "comput" "comput" を返します。
これらの語幹を既知の語に再構成するために stemCompletion() を使用します。stemCompletion() は文字ベクトルと補完辞書を受け取ります。補完辞書は文字ベクトルでも Corpus オブジェクトでもかまいません。いずれにせよ、この例の補完辞書には "computer" を含める必要があり、そうすることで "comput" のすべての出現を再構成できます。
この演習はコースの一部です
Rで学ぶBag-of-Wordsによるテキストマイニング
演習の手順
- 順に "complicated"、"complication"、"complicatedly" を含むベクトル
complicateを作成します。 complicateを語幹化し、その結果をstem_docというオブジェクトに保存します。- 1語 "complicate" を含む
comp_dictを作成します。 stemCompletion()をstem_docに適用し、参照コーパスとしてcomp_dictを用いて語を再補完し、complete_textを作成します。complete_textをコンソールに出力してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create complicate
complicate <- ___
# Perform word stemming: stem_doc
stem_doc <- ___
# Create the completion dictionary: comp_dict
comp_dict <- ___
# Perform stem completion: complete_text
complete_text <- ___
# Print complete_text
complete_text