1. 学ぶ
  2. /
  3. コース
  4. /
  5. Rで学ぶSentiment Analysis

Connected

演習

カーネル密度プロット

カーネル密度プロットについて学んだので、実際に作ってみましょう。ヒストグラムを平滑化したようなものですが、ビン幅の影響を受けない点が異なります。この演習では、感情スコアからカーネル密度プロットを作成します。

この演習ではカーネル密度を2つ描画します。1つは Agamemnon、もう1つは The Wizard of Oz です。どちらも「afinn」レキシコンとinner_join()を行います。「afinn」レキシコンでは用語が -5 から 5 のスコアで付与されています。tidy 形式にすると、どちらの本も単語と対応するスコアが保持されます。

その後、bind_rows()で結果を結合して大きなデータフレームにまとめ、ggplot2でプロットを作成します。

可視化から、どちらの本がよりポジティブ/ネガティブな表現を多く使っているかが分かります。ドロシーにもネガティブな出来事は起きるので重なりはありますが、Agamemnon と比べて The Wizard of Oz のほうがポジティブな言語の確率が高いことを、カーネル密度が示していると推測できます。

すでに ag と oz を Agamemnon と The Wizard of Oz の tidy 版として読み込み、tidytext の "afinn" レキシコンを抽出した afinn を用意しています。

指示1 / 2

undefined XP
    1
    2
  • ag をレキシコン afinn と inner join し、ag_afinn に代入します。
  • The Wizard of Oz でも同様に行います。oz データセットから始め、結果を oz_afinn に代入する点だけが異なります。
  • bind_rows() を使って ag_afinn と oz_afinn を結合します。.id 引数を "book" に設定し、本の名前を持つ新しい列を作成します。