陳志剛, 岳 倩, 趙 威
(1 湖北工業大學經濟與管理學院, 湖北 武漢 430068; 2 華中科技大學武漢光電國家研究中心, 湖北 武漢 430074)
以視頻為媒介,觀眾可以針對視頻內容發送彈幕,以表達自己的觀點及情緒。通過對彈幕進行情感分析,一方面可以對視頻內容進行信息挖掘,提取精彩視頻[1-2];另一方面可以獲取用戶的真實情感傾向,如通過對短視頻平臺彈幕文本進行情感分析[3],快速獲得網民在疫情期間的情感傾向,為有關部門治理及改善網絡輿情提供參考。
彈幕文本情感分析離不開情感分類研究。傳統的彈幕文本情感分類方法,多為通過構建情感詞典將文本內容與情感詞典匹配,從而得到情感極性。如:邱全磊等[4]構建基于表情和語氣詞的情感詞典;洪慶等[5]構建了網絡彈幕常用詞詞典;王文韜等[6]構建了彈幕文本的積極詞云和消極詞云;司崢鳴等[7]構建了多維情感詞典,完成了彈幕文本的情感分類。情感詞典法雖能完成彈幕文本的情感分類任務,但其構建需要耗費大量的人力,不能滿足效率和準確率的要求,同時對數據集的泛化能力和遷移能力較差。隨著深度學習在自然語言處理領域的發展,越來越多的學者將深度學習技術用于文本情感分類任務中,取得了優于情感詞典法、機器學習法的分類結果。因此,針對彈幕文本的情感分類,莊須強等[8]提出基于注意力機制的LSTM模型(AT-LSTM),并基于此完成精彩視頻的提取;葉健等[9]利用卷積神經網絡(CNN)完成情感傾向彈幕的分類,均取得了優于傳統方法的準確率和效率;李稚等[10]構建CNN-LSTM模型完成彈幕文本情感分析,并結合心理學、市場營銷等知識,提出網絡視頻平臺營銷策略。
上述深度學習的方法雖基于不同方面完成了彈幕文本的情感分類任務,但多數研究并未考慮彈幕文本特點,如彈幕文本內容簡短,內容口語化、網絡化,存在一詞多義的現象。這些為彈幕文本的情感分類任務帶來極大挑戰。
針對上述問題,本文提出一種結合中文預訓練模型(BERT-wwm)和雙向長短期記憶網絡(BiLSTM)的模型來完成彈幕文本的情感分類。首先,引入BERT-wwm替代現有研究中詞向量提取方法Word2Vec,得到具有豐富語境信息的動態詞向量。動態詞向量能更好地適應上下文信息,解決彈幕文本的口語化、網絡化及一詞多義問題。其次,結合雙向長短時記憶網絡,通過前向和后向結合起來同時捕獲整體文本的信息,可以對簡短的彈幕文本內容獲取更多的特征信息。最后,運用softmax函數得到分類結果。
1.1.1預訓練模型BERT-wwm傳統的詞向量表示是采用Word2Vec[11-12]、GloVe[13]等模型通過訓練將詞組表示為一系列靜態詞向量。這類詞向量可以得到詞語間的語義關系,但其得到的詞向量是固定的,不會隨上下文變化而改變。因此,這些靜態詞向量技術無法表征上下文,同時無法解決一詞多義問題。雖然有學者對Word2vec進行改進、優化[14],解決了詞向量特征稀疏性,但Word2vec得到的仍然是靜態詞向量,影響了文本情感分類的準確率。直至2018年,谷歌提出的預訓練模型BERT可以結合上下文信息產生動態詞向量[15]。BERT在EMLo[16]和GPT[17]的研究基礎上,采用雙向多層Transformer模型作為基礎單元,通過Encoder特征抽取器對文本信息進行雙向編碼,得到的詞向量不僅包含該詞本身,還包含了該詞與其他詞的關系以及句子間的上下文信息[18]。在實際運用中,對BERT進行微調[19-23],使其更適用于具體的文本分類任務。2019年,哈工大Y Cui等人[24]提出用全詞遮掩(Whole Word Masking)替代BERT中的mask任務,在機器讀取理解、自然語言推理、情緒分類、句子對匹配、文檔分類等數據集上有著更優秀的表現,并采用中文語料進行訓練,據此提出了中文預訓練BERT-wwm模型。
1.1.2長短時記憶網絡LSTM作為RNN的變體,LSTM保留了RNN可以處理序列數據的優點,同時可以解決梯度消失的問題,非常適合時序數據(文本數據)的建模。Zhu等[25]利用LSTM完成評論文本的情感分類,Ren等[26]結合主題特征與LSTM對Twitter短文本進行情感分類。
LSTM能解決RNN梯度消失的問題,仰仗其門控機制。LSTM模型主要由當前記憶單元、遺忘門、輸入門、輸出門等4個元素組成。遺忘門ft控制前一步記憶單元中的信息有多大程度被遺忘掉;輸入門it控制當前時刻的輸入以多大程度更新到記憶單元中;輸出門ot控制當前的輸出有多大程度上取決于當前的記憶單元。
遺忘門是把t-1時的長期記憶輸入Ct-1乘以一個遺忘因子ft。遺忘因子是由短期記憶ht-1以及xt來計算:
ft=σ(Wf×[ht-1,xt]+bf
(1)
其中,σ表示sigmiod函數,W表示矩陣乘法操作,ht-1表示上一時刻的記憶狀態,xt表示此時刻的輸入,b為函數的偏置。

it=σ(Wi×[ht-1,xt]+bi
(2)
(3)
(4)

輸出門先通過一個sigmiod函數計算出ht-1、xt中哪些部分需要被輸出,再將輸入門中得到的Ct經tanh函數處理,再將兩者相乘得到:
ot=σ(Wo×[ht-1,xt]+bo
(5)
ht=ot×tanh(Ct)
(6)
1.1.3雙向長短時記憶網絡BiLSTM單向的LSTM模型信息是從前往后傳輸,容易丟失上下文信息。雙向長短時記憶模型(Bidirectional Long Short-Term Memory, BiLSTM)增加了一個從后往前傳遞信息的隱藏層,通過正向和負向結合同時捕獲整體文本的信息,可以利用上下文信息。Yao[27]提出了BiLSTM模型在中文分詞方面是專家。Balikas[28]利用Word2Vec和BiLSTM模型完成文本的三元及五元情感分類任務,吳鵬[29]利用BiLSTM模型用于識別網民的負面情緒,在輿情領域有著重要的意義。Baziotis等[30]結合注意力機制,將BiLSTM模型用于基于主題的情感分類任務中。BiLSTM可分為3個步驟:1)前向的LSTM網絡計算從左到右的隱特征;2)后向的LSTM網絡計算從右到左的隱特征;3)將兩個LSTM輸出的結果進行拼接,得到BiLSTM,提取文本特征。
本文提出的彈幕文本情感分類模型BERT-wwm-BiLSTM主要由輸入層、隱含層和分類層組成(圖1)。

圖 1 BERT-wwm-BiLSTM模型結構
首先,輸入層是通過BERT-wwm預訓練模型將輸入的文本向量化,獲取包含具有上下文語義的動態詞向量;其次,采用BiLSTM作為隱含層,將BERT預訓練得到的詞向量作為BiLSTM網絡的輸入,經過神經網絡的處理得到特征向量;最后,將隱含層的輸出作為分類層的輸入,利用softmax函數進行回歸處理進而得到文本情感分類。
本操作系統為Ubuntu 18.04.5 LTS,服務器CPU為Intel(R) Xeon(R) Gold 5218,64核,CPU頻率為 2.30 GHz。服務器內存為188G,顯卡為Tesla V100,顯存為32 G。深度學習網絡代碼通過Pytorch 1.7實現,采用Python3.6進行代碼編寫。
2.2.1數據集的獲取采用Python腳本爬取視頻彈幕信息,視頻來自bilibili和騰訊視頻網站。圖2展示了數據爬取的流程,爬取的部分彈幕如表1所示。

圖 2 數據爬取流程

表1 部分彈幕情感標簽
2.2.2數據預處理爬取的數據需要進行預處理,以保證數據集的高效性,從而訓練得到有效的模型:1)去除重復數據防止重復數據造成模型過擬合;2)刪除沒有明顯情感極性的彈幕;3)將表情轉換為對應中文,顏文字轉換為對應的情感詞,輔助彈幕情感分類。經過上述處理之后,騰訊數據集共有21 532條,bilibili數據集有24 492條。之后進行人工標注數據集,標簽‘0’表示消極情感,標簽‘1’表示積極情感。表1展示了部分彈幕的情感標簽。
本文選取準確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1值作為評價指標。
因為不同的參數會導致模型的學習能力不同,所以實驗的結果很大程度依賴于模型的參數設置。本文所提出的模型實驗參數主要包括BERT-wwm預訓練模型參數以及BiLSTM網絡參數。首先,對于BERT-wwm預訓練模型,其參數已經定義好,不需要進行更改。BERT-wwm是由12層transformer組成,隱藏層維度為768,attention多頭個數為12,總共參數量多達110M。其次,在BERT對訓練預料進行了學習之后,BiLSTM則接著對數據進行特征提取,提升學習能力。在實驗過程中,設置其網絡層數為6層,隱藏層維度為384。
深度學習模型還需要設置合適的超參數,使得其學習能力最好。本文涉及的超參數包括學習率、訓練周期數、批處理大小等。實驗中的詳細參數設置見表2。

表2 模型參數設置
為了有效說明模型的學習能力,圖3、圖4展示了模型訓練過程中訓練集和驗證集的損失及準確率隨訓練周期的變化。在深度學習訓練中,訓練集的作用是進行模型學習,驗證集則是在每個周期學習之后檢驗學習的成果,再根據驗證集的準確率來調整后續的學習。對于驗證集而言,驗證集損失值先下降,之后小幅度波動上升,這是由于部分學習錯誤的文本主導了驗證集的損失值,在深度學習訓練過程中屬于正常現象。驗證集的準確率則是相對平穩的小幅上升,說明模型學習的效果不錯。

(a)bilibili數據集準確率變化曲線

(b)騰訊視頻數據集準確率變化曲線圖 3 準確率隨訓練周期的變化

(a)bilibili數據集損失值變化曲線

(b)騰訊視頻數據集損失值變化曲線圖 4 損失值隨訓練周期的變化
模型經過10個周期的學習之后,即可通過測試集來評估模型的能力。表3及圖5展示了BERT-wwm-BiLSTM模型在bilibili和騰訊視頻數據集中的表現。在bilibili數據集中,準確率為90.55%,F1值為90.59%,p值為90.33%,R值為90.85%。在騰訊視頻數據集中,準確率為90.81%,F1值為88.82%,p值為90.82%,R值為86.90%。

(a)bilibili數據集

(b)騰訊視頻數據集圖 5 各模型評價指標對比
選取機器學習算法SVM,雙向長短時記憶網絡BiLSTM,以及雙向長短時記憶網絡加注意力機制BiLSTM-Attention作為對比模型。由圖3實驗結果可知,本文模型BERT-wwm-BiLSTM在bilibili和騰訊視頻數據集上的各個指標均顯著優于對比模型。表3展示了不同模型的評價指標。相較于BiLSTM模型,本文模型準確率在bilibili和騰訊視頻兩個數據集上分別高出9.01%和8.88%,同時本文模型比BiLSTM-Attention模型準確率高出8.42%和9.07%。

表3 不同模型在兩個數據集上的精確率、召回率和F1值 %
除此之外,本文模型BERT-wwm BiLSTM比對比模型在精確率、召回率和F1值3個指標上也有較大的提升。不同模型在bilibili數據集和騰訊視頻數據集上的p、R、F1值結果如表3所示。由表格不難發現,本文模型BERT-wwm BiLSTM相較于其他對比模型,p、R和F1值均為所有模型中的最高值。F1值是p值和R值的調和平均數,可以綜合考慮到精確率和召回率。相較于其他三個模型,本文模型BERT-wwm BiLSTM在F1值方面在兩個數據集上分別高出19.80%、7.92%、7.54%以及20.08%、10.41%、10.95%,再一次證明了本文模型在彈幕文本情感分類任務中確實有效。
預訓練模型BERT-wwm得到動態詞向量對一詞多義的彈幕文本情感傾向的判斷更加準確。表4展示了爬取的彈幕文本數據中部分一詞多義的文本,以及本文模型和對比模型的分類結果。由表4可見,SVM對10句語料的判斷無規律可循,對“異想天開”判斷為消極情感,但對明顯含有積極情緒的詞“聰明、無微不至”也都判斷為消極情感。BiLSTM、BiLSTM Attention對“現在很多人辦事都想靠關系走捷徑”以及“專門鉆法律漏洞,可真聰明”都做出了錯誤的判斷。“捷徑”一詞情感傾向性不明顯,在不同的語境中表現出不同的情感,“聰明”含有明顯的褒義,對比模型因此做出積極情感的判斷,這與語境不符。由此可見,基于Word2Vec提取詞向量的深度學習模型在一詞多義語句上的表現差強人意。因此,本文模型對一詞多義彈幕情感判斷明顯優于其他對比模型,對于語句“up主有點驕傲啊”判斷失誤,一方面由于該語句較短,上下文信息較少,另一方面也說明了模型還有改進的空間。

表4 部分一詞多義彈幕文本情感分類結果對比
本文提出的BERT-wwmBiLSTM模型。引入BERT-wwm中文預訓練模型得到有關上下文信息的動態詞向量,用于解決彈幕文本口語化、網絡化及一詞多義的問題。之后將動態詞向量傳入BiLSTM網絡中進行特征提取,雙向的長短時記憶網絡能更好地提取簡短的彈幕文本特征。最后結合softmax分類層得到最終情感分類結果。數據集方面,通過爬蟲技術在bilibili視頻網站和騰訊視頻網站得到彈幕數據集,并利用pytorch編程框架實現了提出的模型。試驗評估方面,進行了模型的學習能力測試、模型的指標測試、對比試驗測試以及文本實例預測測試。實驗結果表明,本文提出的模型在文本預測中展現出優異的性能,可為彈幕文本分析提供較大幫助。
本文模型只適用于彈幕文本二分類情況,不能處理復雜的情感多分類。今后將改進模型,使其能夠適應更復雜的情感分類任務。