1. 什麼是文檔級情感分類
文檔級情感分類是指對一篇給定觀點的文檔(如產品評論)根據所持觀點爲正面或負面進行分類。正面或負面觀點又稱爲情感的傾向性或急性。文檔級情感分類不涉及文檔中具體的實體或屬性。
文檔級情感分類一般假設文檔表達的觀點僅針對一個單獨的實體,並且只包含一個觀點持有者的觀點。不過這種假設在現實中是很難符合的,因此,文檔級情感分類也是最簡單的情感分析任務,一般通過文本分類即可完成。
2. 文檔級情感分類方法
2.1 基於監督的情感分類
2.1.1 基於機器學習和深度學習的情感分類
文檔級的情感分類採用機器學習和深度學習訓練分類模型的做法居多,在詞向量提出來之前,很多情感分類都是採用傳統機器學習的做法,比如SVM、樸素貝葉斯等,學者主要通過詞頻、TFIDF、BM25、詞性、情感詞、轉折詞等統計特徵構建特徵工程,然後基於人工標註的類別訓練文本分類模型。
近幾年,隨着深度學習的發展,很多深度學習模型在情感分類上的效果取得了更好的分類效果,比如RNN、TextCNN、FastText、HAN、lstm-cnn等,具體的模型可以參考筆者前面的文章介紹,這裏不具體展開。
2.1.1 使用自定義打分函數的情感分類
除了機器學習和深度學習監督模型之外,學者也通過一些打分函數直接對文檔的情感進行分類,比如Dave等人提出來的打分函數:
score ( t i ) = Pr ( t i ∣ C ) − Pr ( t i ∣ C ′ ) Pr ( t i ∣ C ) + Pr ( t i ∣ C ′ )
\operatorname{score}\left(t_{i}\right)=\frac{\operatorname{Pr}\left(t_{i} | C\right)-\operatorname{Pr}\left(t_{i} | C^{\prime}\right)}{\operatorname{Pr}\left(t_{i} | C\right)+\operatorname{Pr}\left(t_{i} | C^{\prime}\right)}
s c o r e ( t i ) = P r ( t i ∣ C ) + P r ( t i ∣ C ′ ) P r ( t i ∣ C ) − P r ( t i ∣ C ′ )
其中,t i t_{i} t i 表示一個詞彙,C C C 表示一個類別,C ′ C^{\prime} C ′ 是其補集。Pr ( t i ∣ C ) \operatorname{Pr}\left(t_{i} | C\right) P r ( t i ∣ C ) 是詞t i t_{i} t i 屬於類別C C C 的條件概率。一個詞的得分就是這樣詞對於某個傾向類別相關度的度量,其取值範圍爲-1到1。
對於一個文檔d i = t 1 ⋯ t n d_{i}=t_{1} \cdots t_{n} d i = t 1 ⋯ t n ,將其所有詞的情感傾向性得分加起來,根據得分即可得到其情感分類:
class ( d i ) = { C eval ( d i ) > 0 C ′ 其 他
\operatorname{class}\left(d_{i}\right)=\left\{\begin{array}{ll}{C} & {\operatorname{eval}\left(d_{i}\right)>0} \\ {C^{\prime}} & { 其他}\end{array}\right.
c l a s s ( d i ) = { C C ′ e v a l ( d i ) > 0 其 他
其中,eval ( d i ) = ∑ j score ( t j ) \operatorname{eval}\left(d_{i}\right)=\sum_{j} \operatorname{score}\left(t_{j}\right) e v a l ( d i ) = ∑ j s c o r e ( t j )
2.2 基於無監督的情感分類
2.2.1 使用句法模板和網頁檢索的情感分類
Turney通過詞性標籤模板抽取文檔中兩個詞的短語,詞性標籤模板如下:
接着,通過搜索引擎,將抽取的短語分別與正面情感詞excellent和負面情感詞poor的PMI來計算短語的情感傾向SO:
S O ( phrase ) = PMI (phrase, "excellent") - PMI(phrase, "poor")
\mathrm{SO}(\text { phrase })=\text { PMI (phrase, "excellent") - PMI(phrase, "poor") }
S O ( phrase ) = PMI (phrase, "excellent") - PMI(phrase, "poor")
其中,
PMI ( term i , term 2 ) = log 2 ( Pr ( term 1 ∧ term 2 ) Pr ( term 1 ) Pr ( term 2 ) )
\operatorname{PMI}\left(\text { term }_{i}, \text { term}_{2}\right)=\log _{2}\left(\frac{\operatorname{Pr}\left(\text { term }_{1} \wedge \text { term }_{2}\right)}{\operatorname{Pr}\left(\text { term }_{1}\right) \text { Pr }\left(\text { term }_{2}\right)}\right)
P M I ( term i , term 2 ) = log 2 ( P r ( term 1 ) Pr ( term 2 ) P r ( term 1 ∧ term 2 ) )
最後,將文檔中所有短語的SO值進行平均,如果其值爲正,則表示該文檔的情感爲正向,否則爲負向。
2.2.2 使用情感詞典的情感分類
使用情感詞典的情感分類主要是對情感詞分爲正向情感詞和負向情感詞,對於正向情感詞,可以設置其SO值爲1,對於負向情感詞,可以設置其SO值爲-1,然後對一個文檔中的情感詞的so值進行加總,如果大與0,則表示爲情感傾向爲正向,否則爲負向。
當然,基於上面的方法是非常粗暴的,因此,很多學者在此基礎上進行改進,比如考慮加強詞和減弱詞、否定詞、轉置詞等,然後對情感詞的SO值進行修正。