素晴らしき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を用意しています。
この演習はコースの一部です
Rで学ぶSentiment Analysis
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
oz_plutchik <- oz %>%
# Join to nrc lexicon by term = word
inner_join(___, by = ___("___" = "___")) %>%
# Only consider Plutchik sentiments
___(!___ %in% c("___", "___")) %>%
# Group by sentiment
___(___) %>%
# Get total count by sentiment
___(total_count = ___(___))