付朝帥,李 攀,吳亞東,張貴宇,高 婧
(1.四川輕化工大學自動化與信息工程學院,宜賓 644000;2.四川省大數據可視分析工程技術實驗室,宜賓 644000;3.四川輕化工大學計算機科學與工程學院,宜賓 644000;4.四川輕化工大學人工智能四川省重點實驗室,宜賓 644000)
近年來,我國積極推進、加強文化大數據體系建設,2019年8月科技部、中宣部等六部委在《關于促進文化和科技深度融合的指導意見》中提出加強文化大數據體系建設;2020年5月中宣部文改辦下發了《關于做好國家文化大數據體系建設工作通知》。詩詞是中國文學史上的璀璨明珠,在弘揚文化自信的時代背景下,對詩詞文本進行細粒度、語義化、大規模分析的需求日益迫切。
詩詞作為中國特有的文學體裁,它是人們表達情感最豐富最集中的文本,具有言辭簡練、韻律嚴格、語義關系密切等特點。這些特點導致其情感分析存在兩個難點:①詩詞的單句字數較少,情感特征不明顯;②詩詞多帶有組合式情感,這就需要在分析過程中必須考慮情感特征間的相對關系。
意象作為詩詞的重要單位,是詩人通過客觀事物展現主觀情感的媒介。同是一輪明月,“行宮見月傷心色,夜雨聞鈴腸斷聲”表現出了唐玄宗和楊玉環的悲傷哀婉,“但愿人長久千里共嬋娟”卻寄托著美好的祝愿。同是相思之情,詩人或在大雁的背影中寄托,或在月色下映襯,亦能在孤帆中發現。只有將情感滲入到意象中,才能更好地體會詩中情感。因此,研究詩詞中意象與情感的關系有利于把握詩歌的內容,領會詩歌的主旨,感知詩人的情感,從而弘揚中國古詩詞文化,增強文化自信。
目前文本情感分析的研究方法主要分為基于情感詞典匹配的方法和基于機器學習的方法。基于情感詞典的分析方法本質是構建規則對文本情感進行對照判別,如張瑋等將詩詞文本向量化后與“喜怒哀樂”四個字求相似度得到情感極性;孔雪瑩利用字向量模型,根據詩詞中的語氣詞與情緒詞語的關聯程度判別情感極性。這種情感分析方法難以識別隱晦情感,不適用于語言精練的詩詞文本。基于機器學習的情感分析方法本質是依賴神經網絡的學習能力自動判斷文本情感,如李暉等針對不同格律的詩詞分別構建相應的膠囊網絡進行情感分析。吳斌等基于頻繁詞擴展了詩詞特征向量,再通過遷移學習方式建立三個分類器,投票得出最后的情感極性。這種方法對詩詞文本的情感識別效果有一定提升作用,但忽略了意象這類細粒度情感特征。
針對意象與詩詞情感間的關系,現有的研究方法多從文學鑒賞的角度去分析,過度依賴專家知識和人工標注,未見大規模的語料自動處理和數據分析。為此,本文提出將方面級情感分析技術應用到詩詞情感分析領域。方面級情感分析屬于情感分析的一種,目的是識別目標中給出明確方面的情感信息。例如王維《送元二使安西》:“渭城朝雨浥輕塵,客舍青青柳色新。勸君更盡一杯酒,西出陽關無故人。”可以將這首詩中出現的兩個意象視為兩個意象方面詞,即“柳色”和“故人”,當方面詞為“柳色”時,詩詞的情感極性為積極;當方面詞為“故人”時,情感極性為消極。
與分析文檔和句子情感的任務相比,方面情感分析任務粒度更細,更有挑戰性。目前通過深度學習方法賦予模型細粒度的情感分析能力成為方面級情感分析的主流方式。為使深度學習模型能更好地利用有效語義特征,不少學者在情感分析任務中加入了注意力機制。肖 宇 晗 等將AOA模 型(Attention-Over-Attention)應用到方面情感分析任務中,有效提取指定方面詞的情感特征,增強了文本與方面詞的信息交互。Ma等采用了IAN模型(Interactive Attention Networks)進行情感分析,以交互式注意力機制計算上下文與方面詞的注意力得分。Tang等將MemNet網絡(Memory Network)應用到方面情感分析任務中,采用具有外部記憶的注意力機制來捕捉與給定目標方面相關的上下文信息。薛福亮等采用了ATAE-LSTM模型(Attention-based LSTM with Aspect Embedding)進行情感分析,用LSTM(Long Short-Term Memory)對目標句和方面詞進行合并編碼,采用注意力機制來獲取給定方面詞的目標句的特征向量表示。
近些年,利用預訓練語言模型來增強模型的語義表達能力成為方面級情感分析任務的研究 熱 點。隨 著BERT(Bidirectional Encoder Representation from Transformers)的 出 現,由于其能得到比Word2vec、glove等淺層詞嵌入更好的語義表達,越來越多的情感分析任務選擇其作為句子的預訓練編碼模型。羅俊等將方面級情感分析任務轉化成句子分類問題,用BERT訓練模型對輸入的特征向量進行微調,取編碼后的[CLS]向量作為情感分類特征,提高了模型對情感分析的準確性。
為了能準確地自動判別詩詞在不同意象下的情感,本文在前人已有研究的啟發下,將方面級情感分析技術應用到詩詞情感分析領域,通過對比實驗的方法試圖從五個主流方面級情感分析模型中找出適合分析詩詞意象級情感的模型。具體而言,本文完成了以下任務:
(1)將中國古詩詞數據庫中的詩詞作為數據源,并從中提取出詩詞中的意象方面詞。
(2)采用BERT預訓練模型獲取詩詞的初始化向量表示,并分別輸入到五個主流方面級情感分析模型中獲取情感分類特征。
(3)對比分析了情感分類效果與迭代次數、注意力的層數、LSTM編碼模型、交互注意力機制的關系,并對各模型的注意力權重進行了可視化。
BERT是一個雙向語言模型,它將預訓練模型和下游任務模型結合在一起,充分考慮了文本的上下關系,具有良好的語義多樣性,而且它本身就支持文本分類任務,適合解決情感分析問題,其結構如圖1所示。其中,,…,E 表示模型的輸入向量,,,…,T 表示模型的輸出向量。

圖1 BERT模型
BERT在預訓練方法上使用了掩碼機制和預測下一段文本機制,來獲得詞與上下文語義。掩碼(Masking)機制是指隨機選15%的詞進行替換操作,這其中有80%的詞被直接替換成[MASK]標簽,10%的詞替換成任意單詞,10%的詞保持不變,讓模型基于上下文預測被掩蓋的單詞含義。預測下一段文本機制是指BERT的輸入一般是給定兩段文本,用來判斷它們是否具有上下文關系。簡而言之,BERT能通過字詞替換,或者通過引導模型理解兩個輸入句子之間的關系,從而找到一些線索能更準確地表示目標詞匯,對于詩詞這種語言精練的文本,BERT很適合解決其情感分析問題。
本文將詩詞文本作為BERT的輸入,以“月有陰晴圓缺”為例,其輸入表示如圖2所示。該輸入由單詞嵌入(Token Embeddings)、分段嵌入(Segment Embeddings)和位置嵌入(Position Embeddings)三部分疊加起來表示。其中起始單詞嵌入為E,分隔符為E,結尾單詞嵌入為E;分段嵌入是給、兩段文本中的單詞分配不同的編碼以此區分;位置嵌入是人為設定的序列位置向量。

圖2 BERT輸入表示
BERT采用雙向Transformer編碼器作為特征提取器,可以同時接收兩個方向的文本輸入,其結構如圖3所示。Transformer Encoder完全是以多頭注意力機制作為基礎結構,并且具有并行計算的優點,其公式如下:

圖3 Transformer編碼器


在本文任務中,通過AOA模型分別計算行和列的意象方面詞與詩詞上下文的注意力得分,將詩詞的意象方面短語表示作為情感特征向量進行分類。
AOA注意力機制:設AOA的輸入為意象方面詞的語義編碼h 和詩詞語境的語義編碼h ,其中h ∈R,h ∈R,是方面詞序列的長度,是詩詞語境序列的長度,是予以編碼的維數。計算AOA數值首先要得到兩者的語義聯系矩陣,其公式如下:

式中∈R,中的第行列的元素表示詩詞語境序列中第個詞和意象方面詞序列中第個詞的語義匹配分數。然后對的列進行分類操作,獲得意象方面詞對詩詞語境的注意力數值;對的行進行分類操作,獲得詩詞語境對意象方面詞的注意力數值。其公式如下:

對按列計算平均值獲得ˉ∈R,最后的AOA注意力數值∈R由和ˉ點乘得到。其公式如下:

本文利用IAN模型將意象方面短語的平均向量作為意象方面詞嵌入向量,通過交互計算的方式得到詩詞上下文與意象方面短語的注意力得分。
IAN模型采用交互注意力模塊,其原理為:分別對LSTM得到的詩詞上下文和目標的隱藏表示取平均值作為詩詞上下文和目標的初始表示,即和,其公式如下:

詩詞上下文的隱藏表示為[,,…,h ],將詩詞上下文和目標的初始表示作為輸入,通過注意力機制生成詩詞上下文對目標對象的注意力,其公式如下:

其中數值函數表示h 在詩詞上下文中的重要性,函數的定義如式(12)所示。



再通過得到的注意力矩陣α、β重構詩詞上下文和目標對象的表示,其公式如下:

使用Tensorflow深度學習框架中的concatenate()函數將c和t拼接在一起,得到最終的向量表示,代碼為:=concatenate([c,t])。
本文通過MemNet模型將意象方面短語的平均向量作為意象方面詞嵌入向量,將句子向量作為外部記憶,多次計算外部記憶與意象方面詞嵌入的注意力得分。
取一個外部記憶∈R和一個意象方面向量∈R作為輸入,注意力機制輸出一個連續的向量∈R,其公式如下:



其中∈是可訓練的注意力權重矩陣,∈為偏置。
本文通過ATAE-LSTM模型將意象方面短語的平均向量作為意象方面詞嵌入向量,再計算意象方面詞嵌入向量與BERT編碼后的首位[CLS]向量的注意力得分。
LSTM生成詩詞隱藏向量[,…,h]組成矩陣∈R,其中表示隱藏層的大小,表示句子長度。注意力機制會產生一個注意力權重向量和一個加權表示。其公式如下:

其中v 表示意象方面的嵌入,e∈R是列全為1的 向 量 。∈,∈R,∈R。W ∈R,W ∈R,∈R為投影參數。v ?e =[;;…;]表示將v 平鋪成e 相同的維度。最終的句子表示如式(22)所示,其中∈R,W 和W 為投影參數。

在本文任務中,BERT-Single是通過BERT模型編碼后得到的首位[CLS]向量作為情感分類特征。
本文采用Softmax特征分類器來實現詩詞情感分類。將得到的詩詞最終表示輸入到Softmax層,計算意象方面詞情感傾向,再通過最小化交叉熵來訓練,其公式如下:

其中表示情感類別集,表示訓練樣本數,f (;)表示模型的預測情感分布,是正則化系數,表示需要訓練的參數。
本文實驗流程如圖4所示,主要包括語料預處理、對比實驗、結果分析三部分。最終針對詩詞在不同意象下的情感,從BERT-Single、ATAE-LSTM、IAN、MemNet、AOA五個主流方面級情感分析模型中選出效果最好的一個。

圖4 實驗流程圖
數據來源于Github上由Werner收集的中國古詩詞數據庫,包含了從先秦到現代的共計85萬余首古詩詞,通過Python程序從詩詞語料庫中得到出現頻率最多的5種意象作為細粒度方面的數據,即“云”、“月”、“草”、“柳”、“竹”。邀請了多名研究人員對其中一萬余首詩詞進行了人工標注,將詩詞情感標注為消極、中性、積極三類,并按照5種意象詞將標注好的數據分為五類,以此作為測試數據,數據詳情分布如表1所示。

表1 數據集分布詳細
本文采用TensorFlow2.2框架搭建所有模型。操作系統為Window10專業版;CPU為Intel(R)Core(TM)i3-9100F CPU@3.60GHz,內 存 為8.0GB;顯卡為GTX1060,顯存為6.0GB;語言環境為Python 3.6。以模型準確率和宏平均1值(_1)作為評價指標。模型參數設置如表2所示。

表2 參數設置
本文中所有模型都經過了10次實驗,對結果取平均值,各模型迭代次數變化如圖4所示。從圖中可以看出,隨著迭代次數的增加,各模型_1值整體上也隨之增加,但在后續趨向飽和,說明一定的迭代次數能有效提高模型在詩詞意象方面級情感分類效果。
各個類別的1值、宏平均1和準確率如表3所示。從表3可以看出,所有基于BERT的下游模型中,IAN的效果最好,_1值達到了68.16%。BERT-Single的_1值最低,說明以詩句的[CLS]向量作為情感特征不能準確代表詩句的語義信息。此外,帶有注意力機制的模型要比BERT-Single的_1值高,可見注意力機制能提升模型性能。對比AOA與MemNet,兩者都采用了多層注意力機制,而MemNet的Macro_F1值比AOA高0.87%,說明注意力層數越多,就越容易獲取詩詞中的意象方面信息。對比MemNet與ATAE-LSTM,MemNet在采用了三層注意力層數的情況下,其_1值與ATAE-LSTM接近,說明LSTM編碼模型能更好地聯系詩詞上下文信息。對比IAN和ATAE-LSTM,在采用了LSTM編碼模型的基礎上前者的_1值比后者的高0.39%,說明交互式注意力機制能有效增強意象方面詞與詩詞本身的相互表示。

表3 各個類別F1值與宏平均F1值對比(括號內為注意力層數)
整體來看,IAN模型的_1值高于其他幾個對比模型,說明交互式注意力機制和LSTM編碼模型更適于分析詩詞的意象方面級情感。
為了進一步對比AOA、IAN、MemNet、ATAE-LSTM模型的效果,筆者將它們的注意力權重進行了可視化,如圖5所示。其中字符的顏色越深,表示其注意力值越大。從圖5可以看出,在意象方面詞為“云”和“月”時,其情感極性是消極的。AOA模型將“月”、“遠”等關鍵詞進行了加強,但也產生了較多噪音以至于標點符號也被加強了。MemNet和ATAELSTM模型對“云”、“月”、“孤”進行了加強,但對于表示消極情感的“遠”卻沒有給到很大權重。IAN模型對“云”、“遠”、“月”、“孤”的權重都進行了加強。說明在詩詞情感分析領域,IAN模型能取得更好的分析效果。

圖5 迭代次數變化圖

圖6 詩詞注意力權重可視
為驗證IAN模型在詩詞意象方面級下的情感分析效果,筆者隨機選取了每種意象下的詩詞數據進行測試。通過BERT預訓練模型獲取目標詩詞的初始化向量,再輸入到IAN模型對這些詩詞進行情感分類,得到預測的情感類別,與人工標注的真實情感類別進行對比,結果如表4所示。從表4可以看出,IAN模型在詩詞中不僅準確找出了意象方面詞“草”、“云”、“月”、“柳”、“竹”,并且將意象方面詞下與情感相關的字詞進行了權重加強。但是對于情感比較隱晦的詩詞,不能給出很好的判斷。比如“遺廟丹青落,空山草木長”表達一種落寞消極情感,IAN模型預測的是中性情感。總之IAN模型最終得到的情感預測類別絕大部分與真實類別相符,證明了IAN模型在詩詞意象方面級情感分析領域中能取得不錯的效果。

表4 IAN模型注意力可視化實例
如何自動判別詩詞在不同意象下的情感,是一項充滿挑戰性的任務,本文嘗試將方面級情感分析技術應用到詩詞情感分析領域來解決此問題。首先通過預訓練模型BERT得到詩詞的初始化表示,然后輸入到五個主流方面級情感分析模型中進行對比實驗。實驗結果表明IAN模型不僅能準確識別出意象方面詞,而且能對意象方面詞下的詩詞情感做出更準確的分析。最后將對比實驗結果和IAN模型實例分析結果進行了注意力可視化,并總結出以下結論,在詩詞意象方面級情感分析領域:
(1)注意力機制能有效提升情感分類效果。
(2)注意力層數能提升情感分類效果,但LSTM編碼層的效果提升能力更強。
(3)交互式注意力機制能有效提升情感分類效果。
因此,集交互注意力機制與LSTM編碼器于一身的IAN模型更適合分析詩詞在不同意象方面詞下的情感。
本次研究作為不同意象下詩詞情感分析的初步嘗試,實驗設計上仍存在不足。后續的研究將從以下幾個方面展開:①增加對詩詞文本的分詞和詞性標注,改進模型對詩詞隱晦情感的判斷;②將詩詞的意象情感信息與詩人、朝代、詩詞題材等信息做交叉分析,挖掘中國詩詞的深層價值,在弘揚文化自信的時代背景下,讓受眾能通過多維度的視角去了解中國詩詞的魅力。