始める無料で始める

素晴らしきNRCの魔法使い

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

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

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

もう一つの新しい演算子は!です。論理値に対して!を付けると結果を反転します。上の例では、FALSE, FALSE, TRUETRUE, 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 = ___(___))
コードを編集して実行