付朝帥,李 攀,吳亞東,張貴宇,高 婧
(1.四川輕化工大學(xué)自動化與信息工程學(xué)院,宜賓 644000;2.四川省大數(shù)據(jù)可視分析工程技術(shù)實(shí)驗(yàn)室,宜賓 644000;3.四川輕化工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,宜賓 644000;4.四川輕化工大學(xué)人工智能四川省重點(diǎn)實(shí)驗(yàn)室,宜賓 644000)
近年來,我國積極推進(jìn)、加強(qiáng)文化大數(shù)據(jù)體系建設(shè),2019年8月科技部、中宣部等六部委在《關(guān)于促進(jìn)文化和科技深度融合的指導(dǎo)意見》中提出加強(qiáng)文化大數(shù)據(jù)體系建設(shè);2020年5月中宣部文改辦下發(fā)了《關(guān)于做好國家文化大數(shù)據(jù)體系建設(shè)工作通知》。詩詞是中國文學(xué)史上的璀璨明珠,在弘揚(yáng)文化自信的時(shí)代背景下,對詩詞文本進(jìn)行細(xì)粒度、語義化、大規(guī)模分析的需求日益迫切。
詩詞作為中國特有的文學(xué)體裁,它是人們表達(dá)情感最豐富最集中的文本,具有言辭簡練、韻律嚴(yán)格、語義關(guān)系密切等特點(diǎn)。這些特點(diǎn)導(dǎo)致其情感分析存在兩個(gè)難點(diǎn):①詩詞的單句字?jǐn)?shù)較少,情感特征不明顯;②詩詞多帶有組合式情感,這就需要在分析過程中必須考慮情感特征間的相對關(guān)系。
意象作為詩詞的重要單位,是詩人通過客觀事物展現(xiàn)主觀情感的媒介。同是一輪明月,“行宮見月傷心色,夜雨聞鈴腸斷聲”表現(xiàn)出了唐玄宗和楊玉環(huán)的悲傷哀婉,“但愿人長久千里共嬋娟”卻寄托著美好的祝愿。同是相思之情,詩人或在大雁的背影中寄托,或在月色下映襯,亦能在孤帆中發(fā)現(xiàn)。只有將情感滲入到意象中,才能更好地體會詩中情感。因此,研究詩詞中意象與情感的關(guān)系有利于把握詩歌的內(nèi)容,領(lǐng)會詩歌的主旨,感知詩人的情感,從而弘揚(yáng)中國古詩詞文化,增強(qiáng)文化自信。
目前文本情感分析的研究方法主要分為基于情感詞典匹配的方法和基于機(jī)器學(xué)習(xí)的方法。基于情感詞典的分析方法本質(zhì)是構(gòu)建規(guī)則對文本情感進(jìn)行對照判別,如張瑋等將詩詞文本向量化后與“喜怒哀樂”四個(gè)字求相似度得到情感極性;孔雪瑩利用字向量模型,根據(jù)詩詞中的語氣詞與情緒詞語的關(guān)聯(lián)程度判別情感極性。這種情感分析方法難以識別隱晦情感,不適用于語言精練的詩詞文本?;跈C(jī)器學(xué)習(xí)的情感分析方法本質(zhì)是依賴神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力自動判斷文本情感,如李暉等針對不同格律的詩詞分別構(gòu)建相應(yīng)的膠囊網(wǎng)絡(luò)進(jìn)行情感分析。吳斌等基于頻繁詞擴(kuò)展了詩詞特征向量,再通過遷移學(xué)習(xí)方式建立三個(gè)分類器,投票得出最后的情感極性。這種方法對詩詞文本的情感識別效果有一定提升作用,但忽略了意象這類細(xì)粒度情感特征。
針對意象與詩詞情感間的關(guān)系,現(xiàn)有的研究方法多從文學(xué)鑒賞的角度去分析,過度依賴專家知識和人工標(biāo)注,未見大規(guī)模的語料自動處理和數(shù)據(jù)分析。為此,本文提出將方面級情感分析技術(shù)應(yīng)用到詩詞情感分析領(lǐng)域。方面級情感分析屬于情感分析的一種,目的是識別目標(biāo)中給出明確方面的情感信息。例如王維《送元二使安西》:“渭城朝雨浥輕塵,客舍青青柳色新。勸君更盡一杯酒,西出陽關(guān)無故人?!笨梢詫⑦@首詩中出現(xiàn)的兩個(gè)意象視為兩個(gè)意象方面詞,即“柳色”和“故人”,當(dāng)方面詞為“柳色”時(shí),詩詞的情感極性為積極;當(dāng)方面詞為“故人”時(shí),情感極性為消極。
與分析文檔和句子情感的任務(wù)相比,方面情感分析任務(wù)粒度更細(xì),更有挑戰(zhàn)性。目前通過深度學(xué)習(xí)方法賦予模型細(xì)粒度的情感分析能力成為方面級情感分析的主流方式。為使深度學(xué)習(xí)模型能更好地利用有效語義特征,不少學(xué)者在情感分析任務(wù)中加入了注意力機(jī)制。肖 宇 晗 等將AOA模 型(Attention-Over-Attention)應(yīng)用到方面情感分析任務(wù)中,有效提取指定方面詞的情感特征,增強(qiáng)了文本與方面詞的信息交互。Ma等采用了IAN模型(Interactive Attention Networks)進(jìn)行情感分析,以交互式注意力機(jī)制計(jì)算上下文與方面詞的注意力得分。Tang等將MemNet網(wǎng)絡(luò)(Memory Network)應(yīng)用到方面情感分析任務(wù)中,采用具有外部記憶的注意力機(jī)制來捕捉與給定目標(biāo)方面相關(guān)的上下文信息。薛福亮等采用了ATAE-LSTM模型(Attention-based LSTM with Aspect Embedding)進(jìn)行情感分析,用LSTM(Long Short-Term Memory)對目標(biāo)句和方面詞進(jìn)行合并編碼,采用注意力機(jī)制來獲取給定方面詞的目標(biāo)句的特征向量表示。
近些年,利用預(yù)訓(xùn)練語言模型來增強(qiáng)模型的語義表達(dá)能力成為方面級情感分析任務(wù)的研究 熱 點(diǎn)。隨 著BERT(Bidirectional Encoder Representation from Transformers)的 出 現(xiàn),由于其能得到比Word2vec、glove等淺層詞嵌入更好的語義表達(dá),越來越多的情感分析任務(wù)選擇其作為句子的預(yù)訓(xùn)練編碼模型。羅俊等將方面級情感分析任務(wù)轉(zhuǎn)化成句子分類問題,用BERT訓(xùn)練模型對輸入的特征向量進(jìn)行微調(diào),取編碼后的[CLS]向量作為情感分類特征,提高了模型對情感分析的準(zhǔn)確性。
為了能準(zhǔn)確地自動判別詩詞在不同意象下的情感,本文在前人已有研究的啟發(fā)下,將方面級情感分析技術(shù)應(yīng)用到詩詞情感分析領(lǐng)域,通過對比實(shí)驗(yàn)的方法試圖從五個(gè)主流方面級情感分析模型中找出適合分析詩詞意象級情感的模型。具體而言,本文完成了以下任務(wù):
(1)將中國古詩詞數(shù)據(jù)庫中的詩詞作為數(shù)據(jù)源,并從中提取出詩詞中的意象方面詞。
(2)采用BERT預(yù)訓(xùn)練模型獲取詩詞的初始化向量表示,并分別輸入到五個(gè)主流方面級情感分析模型中獲取情感分類特征。
(3)對比分析了情感分類效果與迭代次數(shù)、注意力的層數(shù)、LSTM編碼模型、交互注意力機(jī)制的關(guān)系,并對各模型的注意力權(quán)重進(jìn)行了可視化。
BERT是一個(gè)雙向語言模型,它將預(yù)訓(xùn)練模型和下游任務(wù)模型結(jié)合在一起,充分考慮了文本的上下關(guān)系,具有良好的語義多樣性,而且它本身就支持文本分類任務(wù),適合解決情感分析問題,其結(jié)構(gòu)如圖1所示。其中,,…,E 表示模型的輸入向量,,,…,T 表示模型的輸出向量。
圖1 BERT模型
BERT在預(yù)訓(xùn)練方法上使用了掩碼機(jī)制和預(yù)測下一段文本機(jī)制,來獲得詞與上下文語義。掩碼(Masking)機(jī)制是指隨機(jī)選15%的詞進(jìn)行替換操作,這其中有80%的詞被直接替換成[MASK]標(biāo)簽,10%的詞替換成任意單詞,10%的詞保持不變,讓模型基于上下文預(yù)測被掩蓋的單詞含義。預(yù)測下一段文本機(jī)制是指BERT的輸入一般是給定兩段文本,用來判斷它們是否具有上下文關(guān)系。簡而言之,BERT能通過字詞替換,或者通過引導(dǎo)模型理解兩個(gè)輸入句子之間的關(guān)系,從而找到一些線索能更準(zhǔn)確地表示目標(biāo)詞匯,對于詩詞這種語言精練的文本,BERT很適合解決其情感分析問題。
本文將詩詞文本作為BERT的輸入,以“月有陰晴圓缺”為例,其輸入表示如圖2所示。該輸入由單詞嵌入(Token Embeddings)、分段嵌入(Segment Embeddings)和位置嵌入(Position Embeddings)三部分疊加起來表示。其中起始單詞嵌入為E,分隔符為E,結(jié)尾單詞嵌入為E;分段嵌入是給、兩段文本中的單詞分配不同的編碼以此區(qū)分;位置嵌入是人為設(shè)定的序列位置向量。
圖2 BERT輸入表示
BERT采用雙向Transformer編碼器作為特征提取器,可以同時(shí)接收兩個(gè)方向的文本輸入,其結(jié)構(gòu)如圖3所示。Transformer Encoder完全是以多頭注意力機(jī)制作為基礎(chǔ)結(jié)構(gòu),并且具有并行計(jì)算的優(yōu)點(diǎn),其公式如下:
圖3 Transformer編碼器
在本文任務(wù)中,通過AOA模型分別計(jì)算行和列的意象方面詞與詩詞上下文的注意力得分,將詩詞的意象方面短語表示作為情感特征向量進(jìn)行分類。
AOA注意力機(jī)制:設(shè)AOA的輸入為意象方面詞的語義編碼h 和詩詞語境的語義編碼h ,其中h ∈R,h ∈R,是方面詞序列的長度,是詩詞語境序列的長度,是予以編碼的維數(shù)。計(jì)算AOA數(shù)值首先要得到兩者的語義聯(lián)系矩陣,其公式如下:
式中∈R,中的第行列的元素表示詩詞語境序列中第個(gè)詞和意象方面詞序列中第個(gè)詞的語義匹配分?jǐn)?shù)。然后對的列進(jìn)行分類操作,獲得意象方面詞對詩詞語境的注意力數(shù)值;對的行進(jìn)行分類操作,獲得詩詞語境對意象方面詞的注意力數(shù)值。其公式如下:
對按列計(jì)算平均值獲得ˉ∈R,最后的AOA注意力數(shù)值∈R由和ˉ點(diǎn)乘得到。其公式如下:
本文利用IAN模型將意象方面短語的平均向量作為意象方面詞嵌入向量,通過交互計(jì)算的方式得到詩詞上下文與意象方面短語的注意力得分。
IAN模型采用交互注意力模塊,其原理為:分別對LSTM得到的詩詞上下文和目標(biāo)的隱藏表示取平均值作為詩詞上下文和目標(biāo)的初始表示,即和,其公式如下:
詩詞上下文的隱藏表示為[,,…,h ],將詩詞上下文和目標(biāo)的初始表示作為輸入,通過注意力機(jī)制生成詩詞上下文對目標(biāo)對象的注意力,其公式如下:
其中數(shù)值函數(shù)表示h 在詩詞上下文中的重要性,函數(shù)的定義如式(12)所示。
再通過得到的注意力矩陣α、β重構(gòu)詩詞上下文和目標(biāo)對象的表示,其公式如下:
使用Tensorflow深度學(xué)習(xí)框架中的concatenate()函數(shù)將c和t拼接在一起,得到最終的向量表示,代碼為:=concatenate([c,t])。
本文通過MemNet模型將意象方面短語的平均向量作為意象方面詞嵌入向量,將句子向量作為外部記憶,多次計(jì)算外部記憶與意象方面詞嵌入的注意力得分。
取一個(gè)外部記憶∈R和一個(gè)意象方面向量∈R作為輸入,注意力機(jī)制輸出一個(gè)連續(xù)的向量∈R,其公式如下:
其中∈是可訓(xùn)練的注意力權(quán)重矩陣,∈為偏置。
本文通過ATAE-LSTM模型將意象方面短語的平均向量作為意象方面詞嵌入向量,再計(jì)算意象方面詞嵌入向量與BERT編碼后的首位[CLS]向量的注意力得分。
LSTM生成詩詞隱藏向量[,…,h]組成矩陣∈R,其中表示隱藏層的大小,表示句子長度。注意力機(jī)制會產(chǎn)生一個(gè)注意力權(quán)重向量和一個(gè)加權(quán)表示。其公式如下:
其中v 表示意象方面的嵌入,e∈R是列全為1的 向 量 ?!?span id="j5i0abt0b" class="emphasis_italic">,∈R,∈R。W ∈R,W ∈R,∈R為投影參數(shù)。v ?e =[;;…;]表示將v 平鋪成e 相同的維度。最終的句子表示如式(22)所示,其中∈R,W 和W 為投影參數(shù)。
在本文任務(wù)中,BERT-Single是通過BERT模型編碼后得到的首位[CLS]向量作為情感分類特征。
本文采用Softmax特征分類器來實(shí)現(xiàn)詩詞情感分類。將得到的詩詞最終表示輸入到Softmax層,計(jì)算意象方面詞情感傾向,再通過最小化交叉熵來訓(xùn)練,其公式如下:
其中表示情感類別集,表示訓(xùn)練樣本數(shù),f (;)表示模型的預(yù)測情感分布,是正則化系數(shù),表示需要訓(xùn)練的參數(shù)。
本文實(shí)驗(yàn)流程如圖4所示,主要包括語料預(yù)處理、對比實(shí)驗(yàn)、結(jié)果分析三部分。最終針對詩詞在不同意象下的情感,從BERT-Single、ATAE-LSTM、IAN、MemNet、AOA五個(gè)主流方面級情感分析模型中選出效果最好的一個(gè)。
圖4 實(shí)驗(yàn)流程圖
數(shù)據(jù)來源于Github上由Werner收集的中國古詩詞數(shù)據(jù)庫,包含了從先秦到現(xiàn)代的共計(jì)85萬余首古詩詞,通過Python程序從詩詞語料庫中得到出現(xiàn)頻率最多的5種意象作為細(xì)粒度方面的數(shù)據(jù),即“云”、“月”、“草”、“柳”、“竹”。邀請了多名研究人員對其中一萬余首詩詞進(jìn)行了人工標(biāo)注,將詩詞情感標(biāo)注為消極、中性、積極三類,并按照5種意象詞將標(biāo)注好的數(shù)據(jù)分為五類,以此作為測試數(shù)據(jù),數(shù)據(jù)詳情分布如表1所示。
表1 數(shù)據(jù)集分布詳細(xì)
本文采用TensorFlow2.2框架搭建所有模型。操作系統(tǒng)為Window10專業(yè)版;CPU為Intel(R)Core(TM)i3-9100F CPU@3.60GHz,內(nèi) 存 為8.0GB;顯卡為GTX1060,顯存為6.0GB;語言環(huán)境為Python 3.6。以模型準(zhǔn)確率和宏平均1值(_1)作為評價(jià)指標(biāo)。模型參數(shù)設(shè)置如表2所示。
表2 參數(shù)設(shè)置
本文中所有模型都經(jīng)過了10次實(shí)驗(yàn),對結(jié)果取平均值,各模型迭代次數(shù)變化如圖4所示。從圖中可以看出,隨著迭代次數(shù)的增加,各模型_1值整體上也隨之增加,但在后續(xù)趨向飽和,說明一定的迭代次數(shù)能有效提高模型在詩詞意象方面級情感分類效果。
各個(gè)類別的1值、宏平均1和準(zhǔn)確率如表3所示。從表3可以看出,所有基于BERT的下游模型中,IAN的效果最好,_1值達(dá)到了68.16%。BERT-Single的_1值最低,說明以詩句的[CLS]向量作為情感特征不能準(zhǔn)確代表詩句的語義信息。此外,帶有注意力機(jī)制的模型要比BERT-Single的_1值高,可見注意力機(jī)制能提升模型性能。對比AOA與MemNet,兩者都采用了多層注意力機(jī)制,而MemNet的Macro_F1值比AOA高0.87%,說明注意力層數(shù)越多,就越容易獲取詩詞中的意象方面信息。對比MemNet與ATAE-LSTM,MemNet在采用了三層注意力層數(shù)的情況下,其_1值與ATAE-LSTM接近,說明LSTM編碼模型能更好地聯(lián)系詩詞上下文信息。對比IAN和ATAE-LSTM,在采用了LSTM編碼模型的基礎(chǔ)上前者的_1值比后者的高0.39%,說明交互式注意力機(jī)制能有效增強(qiáng)意象方面詞與詩詞本身的相互表示。
表3 各個(gè)類別F1值與宏平均F1值對比(括號內(nèi)為注意力層數(shù))
整體來看,IAN模型的_1值高于其他幾個(gè)對比模型,說明交互式注意力機(jī)制和LSTM編碼模型更適于分析詩詞的意象方面級情感。
為了進(jìn)一步對比AOA、IAN、MemNet、ATAE-LSTM模型的效果,筆者將它們的注意力權(quán)重進(jìn)行了可視化,如圖5所示。其中字符的顏色越深,表示其注意力值越大。從圖5可以看出,在意象方面詞為“云”和“月”時(shí),其情感極性是消極的。AOA模型將“月”、“遠(yuǎn)”等關(guān)鍵詞進(jìn)行了加強(qiáng),但也產(chǎn)生了較多噪音以至于標(biāo)點(diǎn)符號也被加強(qiáng)了。MemNet和ATAELSTM模型對“云”、“月”、“孤”進(jìn)行了加強(qiáng),但對于表示消極情感的“遠(yuǎn)”卻沒有給到很大權(quán)重。IAN模型對“云”、“遠(yuǎn)”、“月”、“孤”的權(quán)重都進(jìn)行了加強(qiáng)。說明在詩詞情感分析領(lǐng)域,IAN模型能取得更好的分析效果。
圖5 迭代次數(shù)變化圖
圖6 詩詞注意力權(quán)重可視
為驗(yàn)證IAN模型在詩詞意象方面級下的情感分析效果,筆者隨機(jī)選取了每種意象下的詩詞數(shù)據(jù)進(jìn)行測試。通過BERT預(yù)訓(xùn)練模型獲取目標(biāo)詩詞的初始化向量,再輸入到IAN模型對這些詩詞進(jìn)行情感分類,得到預(yù)測的情感類別,與人工標(biāo)注的真實(shí)情感類別進(jìn)行對比,結(jié)果如表4所示。從表4可以看出,IAN模型在詩詞中不僅準(zhǔn)確找出了意象方面詞“草”、“云”、“月”、“柳”、“竹”,并且將意象方面詞下與情感相關(guān)的字詞進(jìn)行了權(quán)重加強(qiáng)。但是對于情感比較隱晦的詩詞,不能給出很好的判斷。比如“遺廟丹青落,空山草木長”表達(dá)一種落寞消極情感,IAN模型預(yù)測的是中性情感??傊甀AN模型最終得到的情感預(yù)測類別絕大部分與真實(shí)類別相符,證明了IAN模型在詩詞意象方面級情感分析領(lǐng)域中能取得不錯的效果。
表4 IAN模型注意力可視化實(shí)例
如何自動判別詩詞在不同意象下的情感,是一項(xiàng)充滿挑戰(zhàn)性的任務(wù),本文嘗試將方面級情感分析技術(shù)應(yīng)用到詩詞情感分析領(lǐng)域來解決此問題。首先通過預(yù)訓(xùn)練模型BERT得到詩詞的初始化表示,然后輸入到五個(gè)主流方面級情感分析模型中進(jìn)行對比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明IAN模型不僅能準(zhǔn)確識別出意象方面詞,而且能對意象方面詞下的詩詞情感做出更準(zhǔn)確的分析。最后將對比實(shí)驗(yàn)結(jié)果和IAN模型實(shí)例分析結(jié)果進(jìn)行了注意力可視化,并總結(jié)出以下結(jié)論,在詩詞意象方面級情感分析領(lǐng)域:
(1)注意力機(jī)制能有效提升情感分類效果。
(2)注意力層數(shù)能提升情感分類效果,但LSTM編碼層的效果提升能力更強(qiáng)。
(3)交互式注意力機(jī)制能有效提升情感分類效果。
因此,集交互注意力機(jī)制與LSTM編碼器于一身的IAN模型更適合分析詩詞在不同意象方面詞下的情感。
本次研究作為不同意象下詩詞情感分析的初步嘗試,實(shí)驗(yàn)設(shè)計(jì)上仍存在不足。后續(xù)的研究將從以下幾個(gè)方面展開:①增加對詩詞文本的分詞和詞性標(biāo)注,改進(jìn)模型對詩詞隱晦情感的判斷;②將詩詞的意象情感信息與詩人、朝代、詩詞題材等信息做交叉分析,挖掘中國詩詞的深層價(jià)值,在弘揚(yáng)文化自信的時(shí)代背景下,讓受眾能通過多維度的視角去了解中國詩詞的魅力。