開始使用免費開始

Bing tidy polarity:簡單範例

現在你已經理解 inner join 的基本概念,來把它應用到「Bing」詞典吧。請記住,inner_join() 函式來自 dplyr,而詞典物件則透過 tidytextget_sentiments() 函式取得。

Bing 詞典會將字詞標記為正向或負向。接下來三個練習會讓你操作這個特定詞典。若要使用 get_sentiments(),傳入例如「afinn」、「bing」、「nrc」或「loughran」等字串即可下載對應的詞典。

inner join 的流程:

  • 使用 get_sentiments() 取得正確的詞典。
  • 將詞典與整理過的文字資料傳給 inner_join()
  • 為了讓 inner_join() 正常運作,必須有共同的欄位名稱。若沒有共同欄名,請使用額外參數 by,並以 c 指定如下的欄位對應。
object <- x %>% 
    inner_join(y, by = c("column_from_x" = "column_from_y"))
  • 對交集表格進行彙整與分析。

本練習屬於課程

R 情感分析

檢視課程

練習說明

我們已載入 ag_txt(包含《阿伽門農》前 100 行)以及其 tidy 版本 ag_tidy

  • 為了比較,對 ag_txt 使用 polarity()
  • 將字串 "bing" 傳給 get_sentiments() 以取得詞典。
  • 使用 inner_join()ag_tidybing 合併。
    • ag_tidy 中的字詞欄位叫作 "term",在詞典中則為 "word",因此需要宣告 by 參數。
    • 將新物件命名為 ag_bing_words
  • 列印 ag_bing_words,觀察結果中出現的部分字詞。
  • 使用管線運算子 %>%,將 ag_bing_words 傳給 count(),並以 sentiment 作為統計欄位。將 polarity() 的分數與情緒計數的比例做比較。

動手互動練習

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

# Qdap polarity
___

# Get Bing lexicon
bing <- get_sentiments("___")

# Join text to lexicon
ag_bing_words <- ___(___, ___, by = c("___" = "___"))

# Examine
ag_bing_words

# Get counts by sentiment
ag_bing_words %>%
  ___(___)
編輯並執行程式碼