1. เรียนรู้
  2. /
  3. Courses
  4. /
  5. Rで学ぶSentiment Analysis

Connected

Exercises

素晴らしきNRCの魔法使い

最後に、複数の感情状態にわたって単語にラベルを付けるNRC辞書を使っていきます。Plutchikの感情の輪を覚えていますか?NRC辞書は、Plutchikの8つの感情に加えて、positive/negativeで単語をタグ付けします。

この演習では新しい演算子%in%が登場します。これはベクトル同士の要素の一致を調べます。下のコードでは%in%は FALSE, FALSE, TRUE を返します。理由は、some_vecのうち1と2はsome_other_vectorに含まれずFALSE、3は含まれるのでTRUEになるためです。%in%は一致を見つけるのに便利です。

some_vec <- c(1, 2, 3)
some_other_vector <- c(3, "a", "b")
some_vec %in% some_other_vector

もう一つの新しい演算子は!です。論理値に対して!を付けると結果を反転します。上の例では、FALSE, FALSE, TRUE が TRUE, TRUE, FALSE になります。これを%in%と組み合わせると結果が反転し、一致した要素を除外するのに役立ちます。

!some_vec %in% some_other_vector

ここでは、The Wizard of Ozのtidy版であるozと、列名をリネームした「NRC」辞書を含むnrcを用意しています。

คำแนะนำ 1 / 2

undefined XP
    1
    2
  • ozをnrc辞書に対してINNER JOINします。
    • ティブルを結合するためにinner_join()を呼び出します。
    • テキスト側のterm列と辞書側のword列をbyで結合します。
  • Plutchikの感情だけに絞り、辞書のpositive/negativeの単語は除外します。
    • filter()を使い、sentimentが"positive"または"negative"ではない行だけを残します。
  • sentimentでグループ化します。
    • クォートせずにsentimentを渡してgroup_by()を呼び出します。
  • 各sentimentの合計カウントを取得します。
    • summarize()を呼び出し、total_countにcountのsum()を設定します。
    • 結果をoz_plutchikに代入します。