楊京虎 ,段亮* ,岳昆 ,李忠斌
(1.云南大學(xué)信息學(xué)院,昆明,650500;2.云南大學(xué)云南省智能系統(tǒng)與計(jì)算重點(diǎn)實(shí)驗(yàn)室,昆明,650500)
情感分析旨在通過計(jì)算機(jī)技術(shù)對(duì)文本的主客觀性、情緒、極性進(jìn)行挖掘,對(duì)文本的情感傾向作出分類判斷[1].通信、電商、醫(yī)療等行業(yè)存在大量客服與客戶的對(duì)話場景,隨之出現(xiàn)了如服務(wù)滿意度分析、智能代理和意圖識(shí)別[2-3]等應(yīng)用需求,其核心任務(wù)之一為對(duì)話長文本情感分析.然而,現(xiàn)有的研究集中在短文本情感分析任務(wù),如百度AI情感分析的文本接收窗口限制在256 個(gè)字以內(nèi).針對(duì)對(duì)話長文本的情感分析,實(shí)現(xiàn)整個(gè)對(duì)話長文本的情感分類,仍有待深入研究.
表1 展示了一組通信業(yè)務(wù)的對(duì)話,可以看出,客服和客戶在多輪對(duì)話中存在很多與文本情感無關(guān)的內(nèi)容,但現(xiàn)有方法獲取對(duì)話文本的核心情感存在困難.前兩輪對(duì)話中客戶表現(xiàn)出消極的情感傾向,而在最后一輪對(duì)話中,客戶的情感傾向轉(zhuǎn)變?yōu)榉e極.此外,客服在整體對(duì)話過程中表現(xiàn)出較為積極的情感,而客戶則發(fā)生了較大的情感轉(zhuǎn)變.
表1 一個(gè)通信業(yè)務(wù)對(duì)話的示例Table 1 A dialogue of communication business
因此,與傳統(tǒng)情感分析任務(wù)不同,對(duì)話長文本情感分析任務(wù)存在如下挑戰(zhàn):(1)對(duì)話雙方存在多重情感,集成困難.由于對(duì)話雙方本身可能具有不同的情感,隨著對(duì)話的進(jìn)行,其情感還會(huì)發(fā)生變化,因此將對(duì)話雙方不同的情感進(jìn)行集成來確定整個(gè)文本的情感傾向,有一定的難度.(2)對(duì)話長文本的情感分析任務(wù)精度低.對(duì)話長文本篇幅長,存在大量噪聲,使文本的每一部分內(nèi)容對(duì)于推斷整個(gè)文本情感傾向具有不同的價(jià)值,現(xiàn)有的方法對(duì)文本截?cái)嗷螂S機(jī)采樣,不能有效地解決該問題.(3)主流神經(jīng)網(wǎng)絡(luò)模型在短文本情感分析任務(wù)上表現(xiàn)優(yōu)異,但受到輸入文本長度的限制,對(duì)長對(duì)話文本情感分析任務(wù)的精度欠佳.
以表1 為例,最初是“客戶質(zhì)疑欠費(fèi)”,發(fā)展到“客戶要求更換套餐”,最后“客戶發(fā)現(xiàn)誤解了資費(fèi)情況并致歉”,一條對(duì)話長文本由多個(gè)隨時(shí)間演化的相關(guān)子事件組成.子事件是文本重要內(nèi)容的句子集合,也是文本內(nèi)容的集中體現(xiàn)[4].通過抽取子事件,將長文本轉(zhuǎn)化為短文本,在保留文本重要特征的同時(shí)也解決了長文本冗余的問題.因此,本文提出子事件交互模型(Topic Subevents Interac‐tion,TSI),通過動(dòng)態(tài)滑動(dòng)窗口分割對(duì)話長文本,從對(duì)話長文本中抽取子事件,利用基于主題的模型LDA 獲取各窗口文本的主題分布,以此度量子事件的演化過程.
預(yù)訓(xùn)練模型是在大規(guī)模無監(jiān)督語料上訓(xùn)練的,具有強(qiáng)大的語義表示能力.百度提出ERNIE(Enhanced Language Representation with Informa‐tive Entities)[5],對(duì)BERT[6]進(jìn)行改進(jìn),將句子中的短語、實(shí)體等語義單元掩碼,重點(diǎn)學(xué)習(xí)對(duì)話類數(shù)據(jù),將ERNIE 作為嵌入模型能更好地對(duì)對(duì)話文本建模.循環(huán)卷積神經(jīng)網(wǎng)絡(luò)(Recurrent Convolution‐al Neural Networks,RCNN)[7]能更好地獲取文本上下文特征,兼有CNN 無偏模型的優(yōu)點(diǎn),因此,本文提出ERNIE‐RCNN 模型學(xué)習(xí)子事件的情感特征.針對(duì)對(duì)話雙方具有的多重情感使子事件情感集成困難的問題,本文提出一種識(shí)別情感主體的方法來確定整個(gè)對(duì)話長文本的情感傾向.
在真實(shí)的移動(dòng)運(yùn)營商的通訊業(yè)務(wù)數(shù)據(jù)上的實(shí)驗(yàn)結(jié)果表明,本文提出的TER(Topic Sub‐events Interaction with ERNIE‐RCNN)的精確率、召回率與F1 均優(yōu)于現(xiàn)有模型.值得注意的是,雖然TER 是基于移動(dòng)通訊應(yīng)用場景提出的,但微信、淘寶、論壇等媒體都有類似的對(duì)話長文本數(shù)據(jù),因而有廣闊的應(yīng)用前景.
1.1 長文本情感分析Pappagari et al[8]將長文本分割后輸入改進(jìn)的BERT 模型,獲取文本特征進(jìn)行分類.Xu et al[9]提出CLSTM 模型來獲取長文本的整體語義信息,通過一種緩存機(jī)制存儲(chǔ)情感特征.上述方法在長文本情感分類任務(wù)上取得了較好的效果,但沒有考慮實(shí)際場景下長文本的每部分內(nèi)容在推斷文本情感傾向上具有的不同價(jià)值,如何在不陷入某些局部無關(guān)的文本下獲得有效的核心情感是值得注意的問題.Sheng and Yu‐an[10]設(shè)計(jì)新的截?cái)喾绞?,將文本?biāo)題、關(guān)鍵詞等特征進(jìn)行拼接,使用多個(gè)模型聯(lián)合學(xué)習(xí).Cheng et al[11]對(duì)每篇文章提取兩個(gè)主題句,結(jié)合標(biāo)題等文本特征進(jìn)行加權(quán)計(jì)算,最后使用投票機(jī)制完成情感分類.這些研究雖然注意了長文本的冗余性,但在建模時(shí)損失了大量文本特征,依賴帶標(biāo)題的文本,不適合對(duì)話長文本的情感分析.
1.2 對(duì)話文本情感分析Hazarika et al[12]考慮對(duì)話中用戶情緒自我依賴關(guān)系及對(duì)話者之間的依賴關(guān)系,提出交互式對(duì)話神經(jīng)網(wǎng)絡(luò)模型,建模對(duì)話者的情感.Shen et al[13]提出分層匹配神經(jīng)網(wǎng)絡(luò),設(shè)計(jì)雙向注意力機(jī)制捕捉對(duì)話雙方的情感信息并互相預(yù)測.Wang et al[14]研究通過增強(qiáng)的雙向注意力網(wǎng)絡(luò),解決了通過單一問題或答案來推斷情感會(huì)比較困難的問題.Hu et al[15]建模對(duì)話時(shí)人的認(rèn)知與推理思維,提出語境推理網(wǎng)絡(luò),通過感知和認(rèn)知兩個(gè)階段學(xué)習(xí)上下文信息,可以有效地獲取文本情感特征.Zhu et al[16]提出以話題驅(qū)動(dòng)且包含知識(shí)的Transformer 模型,解決對(duì)話文本中不同主題下相同文本具有不同情感的問題.上述研究主要基于對(duì)話之間的上下文聯(lián)系進(jìn)行建模,但隨著對(duì)話輪次的增加,文本中的噪聲、對(duì)話中雙方情感的不同及變化導(dǎo)致文本最終分類困難的問題未能解決.
1.3 子事件檢測與抽取相關(guān)研究主要分三類:命名實(shí)體識(shí)別結(jié)合特征工程、事件話題發(fā)現(xiàn)和文摘生成.命名實(shí)體識(shí)別結(jié)合特征工程通過對(duì)文本抽取關(guān)鍵詞,并根據(jù)修辭狀態(tài)、位置信息等來衡量句子重要性,但這類方法在建模時(shí)損失了大量情感特征,抽取的子事件缺少情感表達(dá).周楠等[17]總結(jié)事件話題,發(fā)現(xiàn)基于文檔和詞兩個(gè)角度,算法抽取的子事件存在理解性弱、不確定性高等問題.文摘生成分文本分割算法和文本摘要算法.Memon et al[18]采用文本分割實(shí)現(xiàn)文本不同主題的分割,但仍存在文本冗余的問題.采用文本摘要抽取子事件時(shí),主要有生成式和抽取式兩種方法,但生成式方法不適合長文本任務(wù)[19],抽取式方法無法保證子事件的連貫性與理解性.
TER 主要由輸入層、嵌入層、子事件抽取層、特征學(xué)習(xí)層、特征融合層及輸出層構(gòu)成,模型的總體架構(gòu)如圖1 所示.Word2vec 與ERNIE 分別獲取輸入文本的靜態(tài)詞向量和動(dòng)態(tài)詞向量,靜態(tài)詞向量用于TSI 抽取子事件,動(dòng)態(tài)詞向量用于RCNN 學(xué)習(xí)文本的情感特征.在特征融合層,將前一層輸出的情感特征與子事件的時(shí)序和主題特征進(jìn)行融合,得到最終的情感表達(dá),在輸出層得到最終分類結(jié)果.
圖1 TER 模型的整體架構(gòu)圖Fig.1 The structure diagram of TER model
2.1 輸入層
定義1對(duì)話長文本d同時(shí)具有對(duì)話文本和長文本的特點(diǎn),一個(gè)對(duì)話長文本d由二元組(D,Pd)表示,其中,D是對(duì)話長文本的內(nèi)容,Pd是對(duì)話長文本的對(duì)話雙方.
對(duì)于輸入d={t1,t2,…,tn},ti(1 ≤i≤n)表示對(duì)話長文本的第i個(gè)句子,TER 在輸入層對(duì)其進(jìn)行不同的預(yù)處理,再分別輸入Word2vec和ERNIE.
2.2 嵌入層嵌入層使用Word2vec 與ERNIE分別獲取輸入文本的靜態(tài)詞向量和動(dòng)態(tài)詞向量.靜態(tài)詞向量用于TSI 確定對(duì)話長文本的主題核心詞,在上下文中主題詞含義不會(huì)改變,且靜態(tài)詞向量和動(dòng)態(tài)詞向量相比,可以減少模型抽取子事件的時(shí)間.而學(xué)習(xí)對(duì)話長文本中的情感特征時(shí),需考慮同一詞在不同上下文中具有不同情感傾向的問題,因此使用動(dòng)態(tài)詞向量用于RCNN 學(xué)習(xí)文本的情感特征.
ERNIE 由文本編碼器(T‐Encoder)和知識(shí)編碼器(K‐Encoder)兩個(gè)模塊組成.文本編碼器捕獲輸入文本的詞法和語義信息,知識(shí)編碼器將知識(shí)圖譜中的實(shí)體信息進(jìn)行嵌入和融合.
最后,使用詞嵌入模型Word2vec 在數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,得到子事件抽取層的詞來嵌入輸入,作為嵌入層的第二個(gè)模型參數(shù).
2.3 子事件抽取層為了解決文本冗余造成的對(duì)話長文本情感分析任務(wù)精度低的問題,提出TSI 從對(duì)話長文本中抽取子事件,在降低文本冗余度的同時(shí)保留文本關(guān)鍵特征,以子事件的演化過程代替整個(gè)對(duì)話長文本.
注意,在實(shí)際應(yīng)用場景下,子事件是由對(duì)話雙方在短時(shí)間內(nèi)密切討論而形成,排除日常對(duì)話中口語寒暄的影響,以對(duì)話者之間的一問一答作為一輪對(duì)話.定義子事件應(yīng)多于兩輪對(duì)話.
定義2子事件s由四元組(Ps,Cs,Ts,Ds)表示,其在三輪及以上對(duì)話中描述了同一件事情.其中,Ps表示子事件的參與用戶;Cs表示子事件主題信息的核心詞集合;Ts表示子事件主題信息的核心詞集合,記錄該子事件在整個(gè)文本中的時(shí)序信息;Ds表示對(duì)該子事件內(nèi)容的描述.
TSI 基于LDA 主題模型,通過動(dòng)態(tài)滑動(dòng)窗口抽取子事件.LDA 分為三層貝葉斯概率生成模型,由“文檔‐主題‐詞”構(gòu)成,通過文本主題概率分布選擇一種主題,再從該主題對(duì)應(yīng)的詞概率分布中抽取主題詞.相關(guān)符號(hào)及其含義見表2.
表2 符號(hào)及含義Table 2 List of notations
TSI 的建模過程如下:
(1)利用動(dòng)態(tài)滑動(dòng)窗口分割文本.滑動(dòng)窗口邊界的計(jì)算方法如下,初始為1.
(2)由LDA 主題模型獲取當(dāng)前窗口下的主題詞分布.
(3)文本相似性度量.設(shè)兩個(gè)滑動(dòng)窗口下的主題詞分布分別為Z1,Z2,分別存在于Z1和Z2中的主題詞為A和B,對(duì)應(yīng)的詞向量分別為和,由式(5)計(jì)算Simcos:
其中,ai,bi分別代表,的各個(gè)分量值.
(4)子事件檢測.當(dāng)δ大于等于給定閾值?時(shí)(本文取?=4,即在最小滑動(dòng)窗口的基礎(chǔ)上至少還進(jìn)行了兩輪對(duì)話)子事件成立,根據(jù)式(6)更新Wa;如果在本次滑動(dòng)窗口下未檢測到子事件,則Wa自增1.
通過動(dòng)態(tài)滑動(dòng)窗口分割文本、文本主題推斷、文本相似性度量、子事件檢測這四個(gè)主要步驟,可以生成文本子事件,具體步驟見算法1.
若算法1 未抽取到子事件,則由算法2 選擇與文本主題最相關(guān)的子事件替代.
算法1中,窗口劃分部分(第4~7 行)的時(shí)間復(fù)雜度為O(u),子事件檢測部分(第8~20 行)的時(shí)間復(fù)雜度為O(u2),因此,算法1 的時(shí)間復(fù)雜度為O(u2n).由于實(shí)際中Z的長度遠(yuǎn)小于n,算法2的時(shí)間復(fù)雜度為O(un).
2.4 特征學(xué)習(xí)層RCNN 通過雙向循環(huán)神經(jīng)網(wǎng)絡(luò)捕獲文本上下文信息,利用最大池化層決策文本中的關(guān)鍵情感特征.本文使用長短期記憶網(wǎng)絡(luò)(Long Short‐Term Memory,LSTM)替換RCNN中的RNN,LSTM 避免了RNN 模型在反向傳播時(shí)的梯度消失和梯度爆炸問題,能更好地捕捉子事件長距離語義關(guān)系.
RCNN 結(jié)合文本的上下文來表示一個(gè)字,使用雙向LSTM 捕獲字的特征.例如,設(shè)子事件抽取層輸出的子事件通過式(7)和式(8),將S輸入雙向LSTM 中學(xué)習(xí)輸入文本的上下文語義,通過正反兩個(gè)方向的LSTM 輸出特征Y1,Y2;根據(jù)式(9)和式(10),將Y1,Y2進(jìn)行拼接并通過激活函數(shù)tanh 得到特征Y3;最后,將Y3映射到與預(yù)設(shè)情感極性空間維度相同的空間,進(jìn)行最大池化,得到該子事件對(duì)話雙方的情感極性分?jǐn)?shù)Y4=(Q0,Q1,Q2),Qi表示在情感極性i上的情感分?jǐn)?shù).
2.5 特征融合層從一條對(duì)話長文本中可能抽取出多個(gè)子事件,而每個(gè)子事件對(duì)于推斷整個(gè)文本的情感傾向具有不同的價(jià)值.考慮子事件的主題特征和時(shí)序特征對(duì)整個(gè)文本情感傾向的影響,通過兩種方式對(duì)子事件情感分?jǐn)?shù)Y4進(jìn)行更新.
(1)若子事件的主題與全文的主題相似,則該子事件體現(xiàn)了全文的中心思想,與整個(gè)文本聯(lián)系更加緊密,因此該子事件對(duì)整個(gè)文本情感傾向的影響程度更大.因此,將Y4更新為Y5:
其中,主題相似性通過式(5)計(jì)算,Ns表示從該對(duì)話長文本中抽取的子事件的總數(shù),Nst表示與該對(duì)話長文本主題相似的子事件的數(shù)量.
(2)當(dāng)用戶情感發(fā)生變化時(shí),用戶的最終情感極性更能代表用戶情感.如式(12),如果Wb與n的比值大于給定閾值ρ(本研究取ρ=0.7),則該子事件的位置處于整個(gè)對(duì)話的結(jié)束部分,對(duì)整個(gè)文本情感傾向的影響程度更大.將該子事件的情感分?jǐn)?shù)Y4更新為Y6,如式(13)所示:
其中,nsr表示用戶情感波動(dòng)時(shí)的情感極性數(shù)量.
為了解決對(duì)話雙方具有不同情感極性的問題,在特征融合層通過確定情感主體來完成整個(gè)文本的情感分類.下面給出情感波動(dòng)和情感主體的定義.
定義3情感波動(dòng)I指同一用戶在兩個(gè)及以上子事件s中表現(xiàn)的不同情感極性,由二元組(Ps,IP)表示,其中,Ps表示s的參與用戶,IP表示Ps在s中的情感極性.
用戶情感波動(dòng)的程度可以通過其對(duì)應(yīng)的情感極性數(shù)量與情感變化情況來衡量.設(shè)對(duì)話雙方都出現(xiàn)了情感波動(dòng),若其中一個(gè)用戶在子事件中表現(xiàn)出更豐富的情感極性,則情感波動(dòng)更大;若雙方情感極性數(shù)量一致,則情感極性轉(zhuǎn)變更大的用戶情感波動(dòng)更大.
定義4情感主體G指子事件s中具有更強(qiáng)情感特征的用戶,由三元組(Ps,I,GQ)表示,其中,Ps表示s的參與用戶,I表示Ps的情感波動(dòng)情況,GQ表示Ps的情感分?jǐn)?shù).
模型選擇情感波動(dòng)的用戶作為情感主體,若對(duì)話雙方未出現(xiàn)情感波動(dòng),則選擇情感分?jǐn)?shù)更大的用戶作為情感主體,將其作為特征融合層的輸出y.
2.6 輸出層將y轉(zhuǎn)換為情感極性的類別,得到對(duì)話長文本最終的情感分析結(jié)果.
在模型訓(xùn)練過程中,本文聯(lián)合學(xué)習(xí)TSI 子事件抽取模型和RCNN 特征學(xué)習(xí)模型,提升TER的分類性能.因此,損失函數(shù)分兩部分:第一部分是TSI 的損失函數(shù),如式(14)所示;另一部分是RCNN 的損失函數(shù),如式(15)所示.
其中,D表示語料庫,即M篇文章的集合;α為生成每篇對(duì)話長文本文本主題的多項(xiàng)式分布的Dirichlet 分布的參數(shù);β為生成每篇文本中某個(gè)詞的多項(xiàng)式分布的Dirichlet 分布的參數(shù);θd是第d篇文本的主題分布,即多項(xiàng)式分布的參數(shù);wdn是第d篇文本第n個(gè)詞;zdn是第d篇文本第n個(gè)詞的主題;P為樣本總數(shù);O為情感類別數(shù).
3.1 實(shí)驗(yàn)環(huán)境與數(shù)據(jù)硬件:Intel i9‐10850 K 處理器,NVIDIA TITAN V‐12 G.軟件:Windows 10 系統(tǒng),所有算法使用Pytorch 實(shí)現(xiàn).
采用移動(dòng)運(yùn)營商通訊業(yè)務(wù)的客服客戶對(duì)話數(shù)據(jù)集mobile_communications(簡稱mc),包含移動(dòng)運(yùn)營商的客服營銷、客戶咨詢和客戶投訴的20000 條對(duì)話長文本數(shù)據(jù).每條文本有500~5000字,將其分為mc1,mc2 和mc3 三部分,用于不同的實(shí)驗(yàn)測試.其中,mc2 包含800 條數(shù)據(jù),用于子事件測試;mc1 和mc3 的描述信息如表3 所示,每條文本使用人工標(biāo)注情感標(biāo)簽,分為無情感、積極和消極三種.
表3 實(shí)驗(yàn)使用的數(shù)據(jù)集描述信息Table 3 Description of datasets used in experiments
3.2 對(duì)比模型選擇九個(gè)基線模型(https:∥github.com/649453932)與本文TER 進(jìn)行情感分析對(duì)比實(shí)驗(yàn),每個(gè)模型都使用相同的超參數(shù).為了公平起見,對(duì)于初始學(xué)習(xí)率,各特征模型(TextCNN,TextRNN,F(xiàn)astText,DPCNN,Tex‐tRCNN)設(shè)為1e-3,類Transformer(Transform‐er,TodKat)模型及預(yù)訓(xùn)練模型(BERT,ERNIE)設(shè)為5e-5;所有模型的文本最大長度為512,dropout 為0.5.采用精確率、召回率和F1 為評(píng)價(jià)指標(biāo),最終結(jié)果為三個(gè)指標(biāo)在三種情感極性分類上的宏平均值.
(1)TextCNN[20]:使用多個(gè)卷積提取多種特征,再通過最大池化層保留最重要的特征信息.卷積核大小分別為(2,3,4),每個(gè)尺寸的卷積核個(gè)數(shù)為256.
(2)TextRNN[21]:使用雙向LSTM 捕捉文本長距離語義,引入多任務(wù)學(xué)習(xí)機(jī)制.每層LSTM包含128 個(gè)神經(jīng)元.
(3)FastText[22]:使用分層Softmax 降低分類器的計(jì)算代價(jià),使用N‐gram 保存近距離詞序信息.隱藏層包含256 個(gè)神經(jīng)元.
(4)DPCNN[23]:使用深度殘差網(wǎng)絡(luò)結(jié)構(gòu),在采樣時(shí)固定特征的數(shù)量,獲取文本的長距離特征.卷積核大小為3,卷積核個(gè)數(shù)為256.
(5)TextRCNN[7]:使用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)來最大程度地捕獲上下文信息,再使用最大池化層決策文本中的關(guān)鍵特征.本文使用兩層LSTM,每層LSTM 包含256 個(gè)神經(jīng)元.
(6)Transformer[24]:使用多頭注意力機(jī)制學(xué)習(xí)特征,解決文本中的長距離依賴問題.隱藏層包含768 個(gè)神經(jīng)元.
(7)TodKat[16]:采用話題驅(qū)動(dòng)與知識(shí)感知的Transformer 結(jié)構(gòu),預(yù)測文本每一個(gè)句子的情感傾向.本文采用投票機(jī)制預(yù)測最終情感分類結(jié)果.
(8)BERT[6]:采用雙向Transformer 結(jié)構(gòu),結(jié)合掩碼策略捕捉文本的詞向量.隱藏層包含768個(gè)神經(jīng)元.
(9)ERNIE[5]:在大規(guī)模語料上預(yù)訓(xùn)練并融合多源數(shù)據(jù)知識(shí).隱藏層包含768 個(gè)神經(jīng)元.
選擇三種方法與TER 進(jìn)行子事件抽取對(duì)比實(shí)驗(yàn).從信息性、準(zhǔn)確性和理解性三方面對(duì)四種方法進(jìn)行打分和排序[25],最好為1,最差為4,將排序的算數(shù)平均值作為子事件生成性能的指標(biāo).
(1)基于特征評(píng)分的方法:綜合考慮文本中句子的位置、關(guān)鍵詞、詞頻等信息來構(gòu)成文本子事件.
(2)TextRank:是基于圖的文本排序算法,對(duì)文本構(gòu)建拓?fù)浣Y(jié)構(gòu)圖,通過抽取文本中重要度較高的句子構(gòu)成文本子事件.
(3)基于序列標(biāo)注的方法:使用GitHub 開源項(xiàng)目Jiagu(https:∥github.com/ownthink/Jiagu).Jiagu 以Bi‐LSTM 等模型為基礎(chǔ),在大規(guī)模語料上訓(xùn)練而成,通過對(duì)文本中句子的序列進(jìn)行標(biāo)注來抽取文本子事件.
3.3 各模型對(duì)對(duì)話長文本的情感分析實(shí)驗(yàn)使用mc1 測試TER 和九個(gè)基線模型在對(duì)話長文本上情感分類的性能,實(shí)驗(yàn)結(jié)果如表4 所示,表中黑體字表示性能最佳.
表4 各模型在對(duì)話長文本情感分析任務(wù)上的性能Table 4 Experimental results of sentiment analysis on long dialogue texts
對(duì)比各基線模型,TER 的三個(gè)評(píng)價(jià)指標(biāo)均為最佳,因?yàn)槠渌P驮诮r(shí)損失了大量文本特征,表現(xiàn)較差.而TER 通過對(duì)文本抽取子事件,在降低文本冗余的同時(shí)也保留了文本的重要特征.
3.4 子事件抽取實(shí)驗(yàn)使用mc2 數(shù)據(jù)集測試TSI 與對(duì)比方法抽取子事件的性能,在同等條件下的評(píng)價(jià)結(jié)果如表5 所示,表中黑體字表示性能最優(yōu).由表可見,TSI 的三個(gè)評(píng)價(jià)指標(biāo)都排名第一.TSI 滿足本文對(duì)子事件的定義,可讀性較好,所以其準(zhǔn)確性和理解性最優(yōu).由于判斷子事件的信息是否重要存在一定的客觀性,評(píng)價(jià)時(shí)還需考慮子事件的文本長度,因此TSI 的信息性和對(duì)比方法相比,差別不大.
表5 TSI 和對(duì)比方法在mc2 數(shù)據(jù)集上的子事件評(píng)價(jià)指標(biāo)對(duì)比Table 5 Experimental results of TSI and other methods with subevents on the mc2 dataset
3.5 消融實(shí)驗(yàn)為了驗(yàn)證TER 各模塊對(duì)對(duì)話長文本情感分析任務(wù)的影響,設(shè)計(jì)兩組消融實(shí)驗(yàn).
(1)子事件情感分析實(shí)驗(yàn):驗(yàn)證子事件抽取層對(duì)TER 在對(duì)話長文本情感分析任務(wù)上的有效性.TER 與九個(gè)基線模型在mc3 數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)結(jié)果如表6 所示,表中黑體字表示性能最優(yōu).
表6 TER 和九個(gè)基線模型在mc3 數(shù)據(jù)集上的子事件情感分析任務(wù)的性能對(duì)比Table 6 Experimental results of TER and nine base?line models with subevents sentiment analysis on the mc3 dataset
(2)預(yù)訓(xùn)練模型嵌入的實(shí)驗(yàn):驗(yàn)證預(yù)訓(xùn)練模型作為嵌入層對(duì)TER 在對(duì)話長文本情感分析任務(wù)上的有效性.選擇在情感分析實(shí)驗(yàn)中表現(xiàn)較好的特征模型TextCNN,DPCNN 和TextRCNN 作為代表,將BERT 和ERNIE 嵌入,對(duì)比實(shí)驗(yàn)的結(jié)果如表7 所示,表中黑體字表示性能最優(yōu).
表7 預(yù)訓(xùn)練模型嵌入實(shí)驗(yàn)結(jié)果對(duì)比Table 7 Experimental results of pretrained embedding
子事件決定整個(gè)對(duì)話長文本的情感傾向,由表6 可知,TER 在子事件情感分析實(shí)驗(yàn)中性能最佳,和表現(xiàn)較好的BERT,ERNIE,TextRCNN 相比,TER 的三個(gè)評(píng)價(jià)指標(biāo)約高2%.與表4 對(duì)比可以發(fā)現(xiàn),各對(duì)比模型對(duì)子事件的情感分析性能明顯優(yōu)于對(duì)話長文本,但TER 在進(jìn)行對(duì)話長文本情感分析時(shí)仍保持了較高的性能,證明了子事件抽取層在TER 對(duì)對(duì)話長文本情感分析時(shí)的有效性.
表6 與表7 的兩組實(shí)驗(yàn)結(jié)果表明,預(yù)訓(xùn)練模型具有強(qiáng)大的語義表示能力,總體優(yōu)于基于特征的模型.將BERT 和ERNIE 嵌入后,三個(gè)模型各項(xiàng)指標(biāo)均有提升,證明預(yù)訓(xùn)練模型能提取文本的深層語義,提升模型情感分析的性能.同時(shí),ERNIE嵌入的效果優(yōu)于BERT,證明預(yù)訓(xùn)練模型作為嵌入層對(duì)TER 在對(duì)話長文本情感分析中的有效性.
3.6 超參數(shù)實(shí)驗(yàn)對(duì)學(xué)習(xí)率設(shè)置不同的參數(shù),觀察學(xué)習(xí)率的變化對(duì)TER 性能的影響.對(duì)比模型選擇上述實(shí)驗(yàn)中表現(xiàn)較好的BERT 和ERNIE,實(shí)驗(yàn)結(jié)果如圖2 所示.由圖可見,學(xué)習(xí)率過低或過高均會(huì)降低模型性能.當(dāng)學(xué)習(xí)率大于5e-6 或低于1e-4時(shí),各模型相繼收斂,趨于穩(wěn)定;當(dāng)學(xué)習(xí)率為5e-5時(shí),各模型的性能不再有明顯的提升,對(duì)比模型逐漸逼近TER,但TER的F1 整體上仍優(yōu)于其他對(duì)比模型.
圖2 學(xué)習(xí)率的變化對(duì)TER 性能的影響Fig.2 Performance of TER with different learning rates
3.7 定量分析實(shí)驗(yàn)定量分析TER 與對(duì)比模型對(duì)不同長度文本的情感分析結(jié)果,將mc1 按文本長度分為五部分,實(shí)驗(yàn)結(jié)果如表8 所示,表中黑體字表示結(jié)果最優(yōu).由表可見,TER 在不同長度文本上的性能均為最佳,且表現(xiàn)穩(wěn)定.總體上,各對(duì)比模型在500~1000 字的文本上的準(zhǔn)確率高于其他字?jǐn)?shù)的文本,這是因?yàn)殡S著文本長度的增加,各對(duì)比模型建模時(shí)損失的特征也增加,而500~1000 字的文本量級(jí),對(duì)比模型能保留大部分文本特征.
表8 各模型對(duì)不同長度文本情感分析的準(zhǔn)確率對(duì)比Table 8 Accuracy of different models with different length texts based sentiment analysis
3.8 子事件抽取樣例展示用TER 對(duì)mc1 數(shù)據(jù)集中的對(duì)話長文本進(jìn)行子事件抽取,并對(duì)其中兩個(gè)子事件進(jìn)行可視化展示,如圖3 所示.由圖可見,該對(duì)話長文本中的對(duì)話雙方具有不同的情感極性,且隨對(duì)話的進(jìn)行,情感發(fā)生了改變.TER 從該對(duì)話長文本中抽取出兩個(gè)子事件,子事件一由文本1 至文本5 組成,子事件二由文本17 至文本21 組成,以子事件的情感特征作為整個(gè)對(duì)話長文本的情感分類結(jié)果.根據(jù)定義3 與定義4,客戶產(chǎn)生了情感波動(dòng),作為情感主體,整個(gè)文本情感分類結(jié)果為積極.
圖3 子事件抽取的可視化樣例Fig.3 Visual case of subevents extraction
圍繞對(duì)話長文本的情感分析任務(wù),針對(duì)對(duì)話長文本篇幅長、對(duì)話雙方情感不同、隨著對(duì)話的進(jìn)行情感發(fā)生變化等問題,本文首先抽取文本子事件,再集成各子事件的情感,提出一種基于TSI‐ERNIE‐RCNN 的對(duì)話長文本情感分析模型,在真實(shí)數(shù)據(jù)上的實(shí)驗(yàn)結(jié)果證明了該模型的有效性.
TER 模型雖然能較好地識(shí)別積極和消極情感,但和其他兩類情感相比,無情感的識(shí)別更困難,降低了模型整體的精確率.接下來將探索其他深度學(xué)習(xí)模型,考慮使用多個(gè)模型聯(lián)合學(xué)習(xí),進(jìn)一步提高模型的整體性能.