始める無料で始める

極性ベースのコーパスを作成する

この演習では、テキストマイニングのワークフローのステップ3を行います。qdap はtidyパッケージではありませんが、返される polarity リスト(ヒントです:all polarity のスコアです)に基づいて新しい列を mutate() で作成します。第3章では、ベースRのみで記述したカスタム関数 pol_subsections を使いましたが、tidyの原則に沿って、この演習ではまず filter() を使い、その後に pull() を導入します。pull() は単一の変数を取り出す点で [[ と同様に動作します。

分割できたら、ポジティブとネガティブのコメントをそれぞれ1つの大きなドキュメントに結合し、ポジティブ/ネガティブな宿泊レビューに含まれるすべての単語を代表させます。

最後に、TF-IDF(Term Frequency Inverse Document Frequency)で重み付けした単語文書行列(TDM)を作成します。この演習のコードはtidyな構造から始まるため、スタイルを統一する目的で、tm から拝借した関数を %>% 演算子とあわせて使用します。もし tm パッケージの基本に馴染みがなければ、Text Mining with Bag-of-Words in R コースを参照してください。単語の出現回数(頻度)を数える代わりに、TDM 内の値は使われすぎた語へのペナルティがかかるため、情報量の少ない語を抑制できます。

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

Rで学ぶSentiment Analysis

コースを見る

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

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

pos_terms <- bos_reviews %>%
  # Add polarity column
  ___(polarity = ___) %>%
  # Filter for positive polarity
  ___(___) %>%
  # Extract comments column
  ___(___) %>% 
  # Paste and collapse
  ___(collapse = "___")
コードを編集して実行