在真實文本上計算極性
到目前為止,你已經學會用來評估文字中正面或負面意圖的基本要素。記住以下重點,讓你對自己的結果更有信心。
- 「subjectivity lexicon」是一份預先定義的詞彙清單,收錄與情緒或正/負感受相關的字詞。
- 你不必把語料裡的每個字都列入 subjectivity lexicon,因為齊普夫定律(Zipf's law)描述了人類語言表達的分佈。
最快上手的方式之一是使用內建 subjectivity lexicon 的 polarity() 函式。
這個函式會掃描文字並找出字典中的詞彙,接著在每個被識別的主觀性詞彙周圍建立一個叢集。在這個叢集內,valence shifters(極性移位詞)會調整分數。極性移位詞是用來加強或否定該主觀性詞彙情感意圖的字詞。例如,「well known」是正面,而「not well known」是負面。此處的「not」是否定詞,會反轉「well known」的情感意圖;相對地,「very well known」使用了加強語氣,提升了正向意圖。
polarity() 會根據主觀性詞彙、極性移位詞,以及該段落的總字數來計算分數。這個練習會示範一個簡單的極性計算。下一支影片我們會更深入探討 polarity() 的內部運作。
本練習屬於課程
R 情感分析
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Example statement
positive <- "DataCamp courses are good for learning"
# Calculate polarity of statement
(pos_score <-___(___))