開始使用免費開始

比較與對照堆疊長條圖

切分文字的另一種方式,是了解文件裡正向或負向用詞各占多少比例。比方說,一則餐廳評論可能先提到正面內容,例如「食物很好吃」,但接著又說「餐廳很髒、員工很無禮、停車很糟」。因此,你會想知道這份評論中,正向語言和負向語言各占多少。在這個例子中,負向比例就會高於正向。

一種作法是先用 count() 計算正面與負面詞彙各有多少,然後除以所有被辨識為主觀性(subjectivity)的詞彙數量。在餐廳評論的例子中,「good」算 1 個正向詞,而「dirty」、「rude」與「awful」算 3 個負向詞。簡單計算後,你會判斷這則評論中共有 4 個主觀性詞彙,其中 25% 是正向、75% 是負向。

先對包含 4 本書(Agamemnon、Oz、Huck Finn、Moby Dick)的整合整潔資料框進行 inner_join()。和上一題一樣,你會使用 filter()grepl()

要進行 count(),你必須先依書名與情緒分組。例如,Agamemnon 的所有正向詞要先分組並加總,避免把不同書的正向詞混在一起。所幸,你可以直接在 count() 中一次傳入多個變數。

本練習屬於課程

R 情感分析

檢視課程

動手互動練習

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

# Review tail of all_books
tail(all_books)

# Count by book & sentiment
books_sent_count <- all_books %>%
  # Inner join to nrc lexicon
  ___(___, by = c("term" = "word")) %>% 
  # Keep only positive or negative
  ___(__("___", sentiment)) %>% 
  # Count by book and by sentiment
  ___(___, ___)
  
# Review entire object
books_sent_count
編輯並執行程式碼