快速查看基本極性
在啟動情感分析專案時,快速跑一下 polarity() 往往能幫你設定預期或更了解問題。在本練習中(為了節省時間),你會先對 comments 向量的一小部分使用 polarity(),同時較大的極性物件已在背景中載入。
透過核心密度圖,你應該會注意到評論的分佈並沒有以 0 為中心。常見的原因有兩個,導致這種情感分數的「通膨」。第一,社會規範可能讓受訪者傾向於表達友善而非中立。當然,這會依通路而異。像電競或社群貼文這類較諷刺的通路,可能偏向負面,出現「通縮」。不同通路的期待不同。第二個可能原因是「以特徵為基礎的情感」(feature based sentiment)。有些評論會寫:「床很舒適不錯,但廚房很髒很糟。」這種評論同時涵蓋多個特徵,因此平均分數可能會被拉偏。
在後續的練習你會調整這種「分數通膨」,但在這裡先不做任何調整,先探索這些評論。
本練習屬於課程
R 情感分析
練習說明
- 使用
polarity()套用到前 6 則評論(bos_reviews$comments[1:6]),建立practice_pol。 - 直接輸入
practice_pol,檢視回傳的極性物件。 - 對
practice_pol$all$polarity呼叫summary()——這會存取 6 則留言的整體極性。 - 我們也幫你載入了涵蓋 1,000 則留言的較大極性物件,名為
bos_pol。現在對能回傳bos_pol「所有」極性分數的正確清單元素呼叫summary()。 - 範例程式碼已經準備好長條圖與核心密度圖,你只需要填入代表「所有」分數的資料框。提示:在前一步中,
polarity是該資料框中的一個欄位。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Practice apply polarity to first 6 reviews
practice_pol <- ___
# Review the object
___
# Check out the practice polarity
___
# Summary for all reviews
___
# Plot Boston polarity all element
ggplot(___, aes(x = polarity, y = ..density..)) +
geom_histogram(binwidth = 0.25, fill = "#bada55", colour = "grey60") +
geom_density(size = 0.75) +
theme_gdocs()