于亮,黃宇
(1.桂林電子科技大學計算機與信息安全學院,廣西桂林 541004;2.北海市科技信息研究所,廣西北海 536000)
情感分析是計算機通過文本來挖掘人們對于事物的觀點、情感和態(tài)度的一種方式,它是一種非常實用的文本分類技術(shù),具有廣泛的應用價值[1]。按照粒度粗細來劃分,情感分析可以分為文檔級別、句子級別和方面級別[2]。其中,方面級情感分析相比其他兩種方法能夠更準確地識別出文本中每個方面的情感傾向,從而更全面地理解文本的情感含義[3]。由于在線課程評論往往涉及多個方面,因此,本文提出了融合注意力機制的RoBERTa-BiLSTM方面級情感分析模型來獲取在線課程評論中蘊含的情感信息。
方面級情感分析方法大致可以分為下面三類:基于情感詞典的方法、基于機器學習的方法和基于深度學習的方法[4]。
基于情感詞典的情感分析方法是一種常見的文本情感分析方法,其核心思想是利用預先構(gòu)建的情感詞典[5],對文本中出現(xiàn)的情感詞匯進行計數(shù)和權(quán)重賦值,以推斷文本的情感傾向。Vishnu等人通過利用多個不同領(lǐng)域的評論數(shù)據(jù),采用多領(lǐng)域知識更新的方式,構(gòu)建了一個能夠適應特定領(lǐng)域的獨立情感詞典[6]。Rao等人通過三種剪枝方法去除語料庫中不重要或者不相關(guān)的詞語[7],以減少構(gòu)建情感詞典的時間和精力,并且基于主題的方法來構(gòu)建情感詞典。李壽山等人考慮到中文情感詞典存在歧義、多義的問題,以及國內(nèi)對中文詞典可用資源較少的問題,利用機器翻譯系統(tǒng)以及雙語言資源的約束信息來構(gòu)建了一個中文情感詞典[8]。Xu等人創(chuàng)建了一個更廣泛的情感詞匯表,其中包含基本情感詞匯、領(lǐng)域特定情感詞匯和多義情感詞匯[9]。利用這個更廣泛的情感詞匯表,并設(shè)計了一個情感評分規(guī)則,用于實現(xiàn)對文本情感的表達。
基于機器學習的方面級情感分析方法使用統(tǒng)計機器學習算法,通過大量標注或無標注的語料庫,抽取特征并進行情感分析,最終輸出情感分析結(jié)果。Kiritchenko等人將支持向量機與情感詞典結(jié)合起來[10],用于在數(shù)據(jù)集SemEva2014上中進行方面情感極性抽取,取得了不錯的表現(xiàn)。戚天梅等人采用了邏輯回歸,基于樸素貝葉斯,支持向量機和隨機森林4種機器學習算法計算情感傾向方面值[11]。Jagdale等人通過在亞馬遜數(shù)據(jù)集上識別評論文本中的情感特征,并構(gòu)建分類器模型,采用樸素貝葉斯算法進行訓練和評估,從而實現(xiàn)對產(chǎn)品評論的分類和情感分析[12]。該方法在實驗中取得了較好的情感分析效果,具有較高的準確性和可靠性。
基于深度學習的方面級情感分析最大的優(yōu)勢是不依賴人工定義特征,神經(jīng)網(wǎng)絡可以自行學習文本中蘊含的情感信息。方面級情感分析往往要確定文本中目標詞、方面詞和情感詞,目標詞是文本評價的對象,方面詞是文本對評價對象某個方面的評價,情感詞是文本評價該方面的好壞程度。為了解決目標-方面-情感檢測(TASD)任務,即從一個句子中檢測目標-方面-情感三元組。Wan等人開發(fā)了一種新的基于神經(jīng)網(wǎng)絡的目標-方面-情感聯(lián)合檢測方法[13]。Li等人提出一種同時考慮語法結(jié)構(gòu)互補性和語義相關(guān)性的雙圖卷積網(wǎng)絡[14],使用一個包含更豐富句法信息的依存概率矩陣,并精心設(shè)計了正交和差分正則化器,以增強精確捕捉語義關(guān)聯(lián)的能力。Phan等人提出了將語法信息融入上下文嵌入中,提出了一種包含方面提取器和方面情感分類器的ABSA解決方案[15],用來解決方面提取無法確定多詞方面的邊界。Liang等人提出一種新的端到端ABSA迭代多知識轉(zhuǎn)移網(wǎng)絡,通過在token層和文檔層進行知識轉(zhuǎn)移來充分挖掘ABSA任務中的交互關(guān)系[16]。Mao提出了一種聯(lián)合訓練框架,在一個模型中處理所有ABSA子任務,來提高訓練的效率[17]。Wu等人提出了兩種上下文引導BERT(CGBERT)的變體[18],可以學習在不同的上下文下分配注意力,合理地分配上下文的注意力權(quán)重。Tian等人提出情感知識增強預訓練[19],將不同類型的情感知識集成在一起,為各種情感分析任務提供了統(tǒng)一的情感表示。Liu等人考慮一種更直接地利用預訓練語言模型的方法[20],用句子來表示輸出。該方法通過直接遵循預訓練期間的任務設(shè)置,允許在seq2seq語言模型中更直接地使用預訓練知識。
首先對在線課程評論方面詞進行抽取,然后提取出每個方面的情感極性。通常地,評價指標分為五個方面。
本文提出了基于注意力機制的RoBerta-BiLSTM模型,其模型結(jié)構(gòu)圖如圖1所示。它主要由五層網(wǎng)絡結(jié)構(gòu)組成,分別是方面詞提取層,通過相似度的計算,提取出評論文本中與方面詞最接近的詞語作為方面詞;RoBERTa詞向量層,將課程評論和方面詞分別轉(zhuǎn)換成為字向量;語義抽取層,使用BiLSTM語義抽取層提取方面詞和評論文本上下文的語義,再通過交叉注意力機制對信息進行更好地編碼,從而可以捕獲到關(guān)鍵信息,輸出層通過softmax分類后得到輸出結(jié)果。
圖1 RoBERTa-BiLSTM模型
第一層是方面詞抽取層。本文的方面詞是通過教育學者研究在線課程評價指標的基礎(chǔ)上,綜合考慮后選定了五個方面:課程內(nèi)容、教師、課件、課程設(shè)計和專業(yè)度,作為方面詞的輸入。選定的方面詞可能和在評論中抽取方面詞有一定的誤差,這一層的任務是提取出評論文本中和方面詞相似度最高的詞作為方面詞。設(shè)定方面詞輸入為:A={a1,a2,a3,…,an},課程評論文本的輸入為:C={w1,w2,w3,…,wm},通過余弦相似度來計算兩者相似度,最終選用相似度最高的評論文本中的詞作為方面詞進行輸入。
第二層是詞嵌入部分,主要工作把詞轉(zhuǎn)換成為計算機能夠識別的向量輸入模型,并且盡可能不因為丟失句子其他特征,而導致降低最后實驗效果。本文采用的詞嵌入模型是RoBERTa預訓練模型,RoBERTa模型是BERT模型的改進,能夠更加準確地表達評論文本和方面詞的含義。RoBERTa模型對于每一個課程評論C和方面詞A中的每一個單詞轉(zhuǎn)換成為一維向量。定義課程評論輸入為C={w1,w2,w3,…,wn},方面詞輸入為A={w1,w2,w3,…,wn},RoBERTa模型將輸入以wi作為單位映射到低維向量vi∈Rdw。得到評論句子的向量可表示為{v1c,v2c,v3c,…,vnc}∈Rn×dw和方面詞向量可表示為{v1a,v2a,v3a,…,vma}∈Rm×dw。
第三層是語義抽取層,課程評論中的語義特別重要,他能表達出用戶的情感和認知等。為了能夠更好地獲取到課程評論的語義信息,該層采用了Bi-LSTM模型來抽取評論文本中隱藏的語義,在雙向LSTM中,每個時間步驟都有兩個LSTM層,一個從前向后處理序列,一個從后向前處理序列。這意味著,每個時間步驟的輸出都來自前向和后向兩個方向的信息匯總。假設(shè)Bi-LSTM當前權(quán)重為w和u,當前輸入為Xt,輸出為ht,前一單元輸入為Xt-1,輸出為ht-1,后一單元的輸入為Xt+1,輸出為ht+1。將輸入向量[x1,x2,x3,…,xn]輸入正向LSTM中,得到正向語義信息h→如公式(1)。
第四層是注意力層,雖然在語義抽取層能夠充分抽取出正向和反向的語義信息,但是對于每個方面的單詞重要程度是一樣的,不能夠區(qū)分出來哪一個更重要,往往評論文本中對于每個方面重要程度不一樣。這里可以借助交叉注意力機制來解決這個問題。由語義抽取層得到方面語義ha∈Rm×2dw和評論文本hc∈Rn×2dw通過交叉注意力機制來計算影響權(quán)重。先通過兩者乘積可得到匹配矩陣I,如公式(4)所示。
對匹配矩陣I的每一列進行softmax得到每個方面對課程評論的關(guān)注程度α,如式(5) 。對匹配矩陣I的每一行進行softmax得到每個課程評論對方面的關(guān)注程度β,如公式(6)所示。
得到方面對評論關(guān)注程度矩陣α和評論對方面關(guān)注度矩陣β后,可重新計算評論和方面詞表示,如公式(7)和公式(8)所示。
輸出層通過注意力交互層得到的方面詞和課程評論文本連接,如公式(9)所示,再通過softmax進行預測課程評論中在這五個方面情感極性,如公式(10)所示,其中w和b分別為全連接層的權(quán)重矩陣和偏置向量。
本文以在線觀看課程人數(shù)和文本評論人數(shù)為主要的篩選條件爬取了bilibili 平臺上10 門數(shù)據(jù)結(jié)構(gòu)課程真實的評論,并進行了預處理和標注。最后在爬取的13 509條的評論中篩選出4000條評論數(shù)據(jù),數(shù)據(jù)集的分布如表1所示:
表1 數(shù)據(jù)集分布
最終處理完之后,bilibili 課程評論信息數(shù)據(jù)集如圖2 所示,數(shù)據(jù)集包括了評論以及5 個方面的情感極性,分別是內(nèi)容、教師、課件、專業(yè)度和合理性這五個方面,情感極性有三個類別,其中-1 代表該方面為消極,0代表該方面為中性,1代表該方面為積極。把實驗數(shù)據(jù)平均分成10份,其中8份做訓練集,剩下2份做測試集。
圖2 部分數(shù)據(jù)集
測試驗證環(huán)境和參數(shù)配置信息如表2、3:
表2 實驗環(huán)境
表3 參數(shù)設(shè)置配置信息
表4 展示了數(shù)據(jù)集在不同模型上的準確率和F1值。
表4 實驗結(jié)果
在方面級情感分析實驗中,ATAE-LSTM模型與Word2Vec-LSTM模型相比,其準確率和F1 值準確率都提高了3%左右,ATAE-LSTM利用注意力機制和LSTM模型相結(jié)合,將句子和方面詞作為輸入進行情感分析任務,將方面詞嵌入到每個詞向量中,并利用注意力機制來獲取不同方面的上下文信息。其在考慮方面詞對于情感分析的重要性方面表現(xiàn)更好,這表明在訓練時將方面詞與文本關(guān)聯(lián),能夠有效獲取方面詞前后的情感信息,從而提高模型的性能。ATAE-LSTM模型相比Word2Vec-BiLSTM-AOA模型,其準確率和F1 值準確率都降低了7%-9%,而在BiLSTM中,每個時刻的輸出不僅依賴于該時刻及之前的輸入,還依賴于該時刻及之后的輸入。這種前后兩個方向的信息流通使得BiLSTM比LSTM更加全面地理解了整個序列的信息,從而在處理自然語言處理任務時更為有效。本章提出的RoBERTa-BiLSTM-AOA模型相比于Word2Vec-BiLSTM-AOA模型,其準確率和F1值準確率都提高了4%~5%,RoBERTa模型,可以通過對文本的上下文進行建模來獲得更好的語義表示能力而Word2Vec模型只能通過單詞出現(xiàn)的上下文來獲得單詞的語義表示,這種表示缺乏上下文的全局信息。RoBERTa模型更好的處理長文本,并能夠捕捉文本中的整體信息,而Word2Vec則不擅長處理長文本。RoBERTa可以為同一個詞匯的不同含義學習不同的嵌入向量,相比之下Word2Vec只為每個單詞學習一個嵌入向量,無法區(qū)分一個單詞的不同含義。RoBERTa通過在大規(guī)模語料庫上訓練,可以處理各種類型的文本數(shù)據(jù),并具有較強的泛化能力,相比之下Word2Vec只是在局部上下文中學習單詞嵌入向量,泛化能力相對較弱。
本文采用RoBERTa模型來嵌入詞向量,采用全詞掩碼的方式進行訓練,使用注意力機制關(guān)注文本的重要部分,能夠?qū)渥雍头矫嬖~進行建模,從而獲得它們的向量表示。相比于Word2Vec等模型,RoBERTa能夠建立更加準確的上下文和方面詞之間的聯(lián)系。此外,RoBERTa還使用BiLSTM模型對句子和方面詞進行建模,以捕獲它們的雙向語義依賴關(guān)系,并使用遺忘門和記憶門來解決梯度消失和爆炸問題。這使得BiLSTM模型在處理序列標注任務中標簽具有上下文依賴的情況時表現(xiàn)良好。最后,RoBERTa的交叉注意力機制使得它可以建立句子和方面詞之間的關(guān)系,并學習方面詞對上下文的交互作用。這有助于進一步獲取文本中的重要信息,提高模型的性能。