開始使用免費開始

奇妙的 NRC 法術師

最後一個絕不能錯過的是 NRC 詞彙庫。它會將單字標記到多種情緒狀態上。還記得 Plutchik 的情緒之輪嗎?NRC 詞彙庫會依照 Plutchik 的 8 種情緒,再加上正向/負向,來標註單字。

在這個練習中有個新運算子 %in%,用來測試一個向量中的元素是否出現在另一個向量中。以下程式碼中,%in% 會回傳 FALSEFALSETRUE。原因是 some_vec 裡的 12 不在 some_other_vector 中,但 3 有出現,因此回傳 TRUE%in% 很適合用來找出相符的項目。

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

另一個新運算子是 !。對邏輯條件來說,加上 ! 會反轉結果。在上面的例子中,FALSEFALSETRUE 會變成 TRUETRUEFALSE。把它和 %in% 一起使用會反轉判斷,適合用來移除已匹配到的項目。

!some_vec %in% some_other_vector

我們已經為你建立了 oz,也就是《綠野仙蹤》的 tidy 版本,另外還有 nrc,其中包含「NRC」詞彙庫,欄位名稱也已重新命名。

本練習屬於課程

R 情感分析

檢視課程

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

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 = ___(___))
編輯並執行程式碼