始める無料で始める

基本的な極性を手早く確認する

感情分析プロジェクトを始めるときは、手短に polarity() を試すことで、全体感をつかんだり課題を理解したりできることがあります。この演習では(時間短縮のため)、comments ベクトルの一部に polarity() を適用し、裏側ではより大きな極性オブジェクトを読み込んでおきます。

カーネル密度プロットを見ると、レビューの中心が0にないことに気づくはずです。しばしば、この感情の「評点インフレ」には2つの原因があります。1つ目は、社会的規範により、回答者が中立よりも好意的な表現を選ぶことです。これはもちろんチャネルによって異なります。たとえば e-sports やソーシャルメディア投稿のように皮肉が多いチャネルでは、ネガティブに偏り「デフレ」になることもあります。こうしたチャネルは期待値が異なります。2つ目の可能性は「特徴ベースの感情」です。あるレビューでは「ベッドは快適で良かったが、キッチンは汚くて最悪だった」のように書かれることがあります。このタイプのレビューは複数の特徴を同時に含むため、平均スコアが偏ることがあります。

次の演習でこの「評点インフレ」を調整しますが、ここでは調整なしでレビューを観察してみましょう。

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

Rで学ぶSentiment Analysis

コースを見る

演習の手順

  • bos_reviews$comments[1:6] のように、最初の6件のレビューに対して polarity() を実行し、practice_pol を作成します。
  • 返された極性オブジェクトを確認するため、practice_pol を呼び出します。
  • practice_pol$all$polarity に対して summary() を呼び出します。これは6件すべてのコメントの全体極性にアクセスします。
  • すべての1000件のコメントについて、より大きな極性オブジェクトも読み込んであります。新しいオブジェクト名は bos_pol です。bos_pol の「すべての」極性スコアを返す適切なリスト要素に対しても summary() を適用してください。
  • サンプルコードには棒グラフとカーネル密度プロットがほぼ完成した状態で用意されています。残りは「すべての」スコアを表すデータフレームを指定することです。ヒント: 前のステップでの polarity は、このデータフレームの1列を指します。

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

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

# Practice apply polarity to first 6 reviews
practice_pol <- ___

# Review the object
___

# Check out the practice polarity
___

# Summary for all reviews
___

# Plot Boston polarity all element
ggplot(___, aes(x = polarity, y = ..density..)) + 
  geom_histogram(binwidth = 0.25, fill = "#bada55", colour = "grey60") +
  geom_density(size = 0.75) +
  theme_gdocs() 
コードを編集して実行