付朝燕,黃賢英,劉瀚鍇,齊嵩喆
(重慶理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,重慶 400054) E-mail:wldsj_cqut@163.com
當(dāng)今社交媒體發(fā)展迅速,越來越多人通過網(wǎng)絡(luò)平臺(tái)分享自己對(duì)事物的態(tài)度.針對(duì)大量的網(wǎng)絡(luò)評(píng)論信息,方面級(jí)情感分析旨在分析文本中人們對(duì)事物的某些方面表達(dá)的情感、觀點(diǎn)及態(tài)度.對(duì)于在線商城調(diào)整經(jīng)營(yíng)策略、分析商家信譽(yù)值,社交平臺(tái)分析熱點(diǎn)事件輿情走向、維護(hù)社區(qū)網(wǎng)絡(luò)環(huán)境等應(yīng)用場(chǎng)景都具有重要意義.文本中事物的某些方面由單個(gè)詞或一組詞表示,這些詞稱作這段文本中的方面項(xiàng).一般來說評(píng)論數(shù)據(jù)的情感偏向比較明確,可以分為消極(Negative)、積極(Positive)、中性(Neutral)3個(gè)極性,例如筆記本電腦的一條評(píng)論文本“I charge it at night and skip taking the cord with me because of the good battery life.”,提到了筆記本電腦的兩個(gè)方面項(xiàng)“cord”、“battery life”.文本中沒有對(duì)“cord”評(píng)論,沒有明顯的情感傾向,則其情感極性劃分為中性(Neutral),而對(duì)于“battery life”則進(jìn)行了夸贊,有積極的情感詞“good”修飾,則為其情感極性劃分為積極(Positive).同理在一條文本中如果有消極情感傾向的描述指向方面項(xiàng)時(shí),其情感極性劃分為消極(Negative).在方面級(jí)情感分析任務(wù)的研究發(fā)展過程中,早期基于人工特征如建立情感詞典、預(yù)處理獲得句法依賴信息等,再利用最大熵、支持向量機(jī)、樸素貝葉斯、決策樹等傳統(tǒng)分類器進(jìn)行情感分類的方法曾取得不錯(cuò)的效果,但需要消耗大量人工成本.隨著深度學(xué)習(xí)的出現(xiàn),基于循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)、長(zhǎng)短期記憶網(wǎng)絡(luò)(Long-Short Term Memory,LSTM)和GRU[1](Gate Recurrent Unit)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)等的方法減輕了對(duì)人工特征的依賴,能有效地提取特征信息.
近年來融合多種方法的多策略混合模型成為方面級(jí)情感分析的研究新趨勢(shì),特別是句法依存樹結(jié)合圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolutional Network,GCN)的建模方法在方面級(jí)情感分析及其相關(guān)任務(wù)中得到廣泛應(yīng)用.2019年的研究工作中Sun等人[2]提出了將句法依存樹與神經(jīng)網(wǎng)絡(luò)相結(jié)合的語義依存關(guān)系樹應(yīng)用于表示學(xué)習(xí)的模型CDT(Convolution over Dependency Tree Model).Zhang等人[3]提出的AS-GCN(Aspect-specific Graph Convolutional Network)模型把句法依存樹信息引入到多層GCN中.2020年的研究工作中Tang等人[4]提出基于transformer[5]和GCN的雙通道模型DGEDT(Dependency Graph Enhanced Dual-transformer Network)以迭代交互的方式融合兩個(gè)通道的結(jié)果,相互強(qiáng)化兩通道的表示學(xué)習(xí).Veyseh等人[6]使用給定的方面術(shù)語來定制隱藏向量,再基于句法依存樹和GCN來計(jì)算句子中每個(gè)單詞的重要性分?jǐn)?shù).Zhou等人[7]提出了基于句法依存樹和常識(shí)知識(shí)的圖卷積網(wǎng)絡(luò)SK-GCN(Syntax and Knowledge via GCN)模型.宋威等人[8]提出利用門控機(jī)制實(shí)現(xiàn)特征蒸餾,建立FDDN模型提取句子的情感語義特征.Sun等人[9]通過Bert構(gòu)建輔助句子,引入外部特征建模,起到了數(shù)據(jù)增強(qiáng)作用.
相比以往一些經(jīng)典模型,近兩年提出的這些句法依存樹結(jié)合GCN的模型在性能上有較大提升,也能表明基于GCN引入圖結(jié)構(gòu)的模型相比傳統(tǒng)的序列化建模處理的模型,能更有效地提取到非線性的復(fù)雜語義信息,在一定程度上提升模型性能.現(xiàn)有研究[9,10]表明在實(shí)體抽取、方面級(jí)情感分析這些文本處理任務(wù)中多策略混合的方法效果較優(yōu).但這些模型都只運(yùn)用了單一特征級(jí)的句法信息來加強(qiáng)單詞表示,利用GCN建模時(shí)未充分利用句法依存樹中除邊和節(jié)點(diǎn)之外的信息,基于句法依存樹與GCN結(jié)合的方法有進(jìn)一步改進(jìn)提高的空間,有必要對(duì)新的特征提取和融合方法進(jìn)行研究.
因此本文提出一個(gè)用于提取句法依存樹上有效信息的多級(jí)特征提取算法ML-FE(Multi Level- Feature Extraction)并用其搭建句法特征融合增強(qiáng)模型進(jìn)行實(shí)驗(yàn),以此驗(yàn)證算法的有效性.本文主要工作:1)數(shù)據(jù)預(yù)處理時(shí)改進(jìn)句法依存樹建立句法圖,進(jìn)行深度優(yōu)先搜索、計(jì)算每個(gè)單詞的權(quán)值,進(jìn)一步得出淺層句法特征信息;2)在GCN建模時(shí)根據(jù)詞之間相對(duì)位置信息將句法圖劃分為多個(gè)子圖并分別建模,來提取深層句法特征信息;3)加入注意力融合單元,將深層特征信息映射到句子的編碼層的輸出序列,得到句子的深層特征級(jí)表示;4)融合淺層特征級(jí)和深層特征級(jí)的句子表示得到最終的多層級(jí)特征的句子表示后進(jìn)行情感分類.
句法依存樹在實(shí)體抽取、文本分析、命名體識(shí)別、情感分析、智能問答等領(lǐng)域有著廣泛的應(yīng)用.使用Stanford NLP工具包(1)http://nlp.stanford.edu對(duì)文本數(shù)據(jù)進(jìn)行預(yù)處理,構(gòu)建句法依存樹,如圖1所示節(jié)點(diǎn)是文本中的單詞,節(jié)點(diǎn)之間的連邊是語義關(guān)系或依存關(guān)系.句法依存樹展示了句子中各個(gè)詞之間的語法依賴關(guān)系,圖中每條邊都有自己的標(biāo)簽,不同標(biāo)簽代表不同依賴關(guān)系.如“det”標(biāo)簽代表決定詞,圖中帶有“det”標(biāo)簽的有向邊從方面詞“quality”指向定冠詞“The”,就表示“quality”的決定詞即冠詞是“The”.
句法依存樹上的節(jié)點(diǎn)之間的路徑長(zhǎng)度能表示句子中詞之間的語義邏輯距離,有直接依賴關(guān)系的詞之間的語義邏輯距離比詞在文本中的相對(duì)位置距離更短.引入句法依存樹建模有利于在任務(wù)中處理長(zhǎng)文本數(shù)據(jù),解決長(zhǎng)距離依賴問題.但是在方面級(jí)情感分析中,句法依存樹在縮短方面詞與對(duì)應(yīng)情感詞距離上的作用不明顯,如圖1中可以看到方面詞沒有可以到達(dá)情感詞的路徑.因此Zheng等人[10]反轉(zhuǎn)句法依存樹部分依存關(guān)系邊加入額外的邊和節(jié)點(diǎn),提出了一種隨機(jī)游走方面級(jí)情感分析模型RepWalk.此外Liu等人[11]提出通過除去停用詞、反轉(zhuǎn)邊等操作修剪句法依存樹結(jié)構(gòu)的句子相似度比較方法.Hewitt等人[12]基于Bert提出一種結(jié)構(gòu)探針(Structural Prob)驗(yàn)證了Bert詞向量有效學(xué)到了句法依存樹結(jié)構(gòu).張沁洋[13]等人提出利用句法依存樹信息改進(jìn)實(shí)體表示的方法.這些相關(guān)研究表明引入句法依存樹的建模方法能學(xué)習(xí)到句子的語義信息.
2013年Bruna等人[14]在譜空間定義圖卷積,提出了第一個(gè)圖卷積神經(jīng)網(wǎng)絡(luò).GCN可以用來提取非歐幾里得結(jié)構(gòu)的拓?fù)鋱D的空間特征,學(xué)習(xí)節(jié)點(diǎn)表示,捕獲節(jié)點(diǎn)在圖中的特征信息[15].圖卷積神經(jīng)網(wǎng)絡(luò)模型第l層的計(jì)算方法如式(1)所示:
(1)
GCN廣泛應(yīng)用于節(jié)點(diǎn)分類、鏈接預(yù)測(cè)、推薦系統(tǒng)、社交網(wǎng)絡(luò)分析、圖分類等研究領(lǐng)域中.在真實(shí)的圖結(jié)構(gòu)數(shù)據(jù)中,除了節(jié)點(diǎn)和邊的信息外還蘊(yùn)含有許多有用信息,目前一些GCN模型建模時(shí)使用子圖拆解、參數(shù)重調(diào)、對(duì)偶建圖等方法,在卷積操作中使用這些額外信息提升模型效果[15].如2018年Schlichtkrull等人[16]提出的關(guān)系圖神經(jīng)網(wǎng)絡(luò)(R-GCNs)以連邊的標(biāo)簽類型對(duì)原圖進(jìn)行拆解,分別對(duì)子圖建模.2020年Chen等人[17]在方面實(shí)體抽取任務(wù)中對(duì)GCN進(jìn)行改進(jìn),提出融入相對(duì)位置信息的D-GCN(Directional Graph Convolutional Networks)模型.此外Li等人[18]對(duì)卷積層數(shù)對(duì)模型性能影響進(jìn)行分析,提出單層的GCN明顯優(yōu)于全連接網(wǎng)絡(luò),而使用多層的GCN會(huì)導(dǎo)致效果降低,原因是在更新目標(biāo)節(jié)點(diǎn)表達(dá)時(shí)會(huì)混合其他類節(jié)點(diǎn)的信息,從而導(dǎo)致效果降低.相關(guān)研究[14-16]表明基于GCN建模的方法能有效提取深層特征信息,融合多種策略建模,可以提高模型方面級(jí)情感分析的能力.
綜上所述基于句法依存樹構(gòu)建句法圖,在句法圖上進(jìn)行深度優(yōu)先搜索獲得淺層句法特征信息,在GCN建模時(shí)劃分句法圖為多子圖并分別建模,能更好地將單詞之間的依賴關(guān)系整合到模型中,學(xué)習(xí)到包含深層句法特征信息的句子表示.因此本文提出的方法具有技術(shù)和理論可行性,使用特征融合增強(qiáng)的句子表示,能有效提高模型性能.
模型整體結(jié)構(gòu)如圖2所示,包括輸入層、嵌入層、編碼層、多級(jí)特征提取層和聚合層、輸出層.
圖2 句法特征融合增強(qiáng)模型架構(gòu)圖Fig.2 Framework of our syntactic feature fusion enhancement model
輸入層采用如2.1節(jié)所述的構(gòu)建句法依存樹方法為輸入的目標(biāo)句子建立句法依存樹后,反轉(zhuǎn)句法依存樹中指向方面項(xiàng)中第1個(gè)詞的所有邊,構(gòu)建以方面項(xiàng)中第1個(gè)詞為根節(jié)點(diǎn)的句法圖(Syntactic graph).
根據(jù)上述句法圖建立句法圖信息列表和句法圖鄰接矩陣.句法圖信息列表是由句法圖中單詞、單詞詞性標(biāo)簽、依賴關(guān)系邊、依存關(guān)系邊標(biāo)簽、方面詞的位置標(biāo)記組成的嵌套列表,用符號(hào)S表示.句法圖鄰接矩陣(Syntactic graph adjacency matrix)是句法圖的矩陣表示形式,用Α∈n×n表示,當(dāng)單詞i和單詞j之間有依賴關(guān)系邊則ai,j=1,反之a(chǎn)i,j=0,ai,j是句法圖的鄰接矩陣Α∈n×n中的元素,1≤i≤n,1≤j≤n.
使用深度學(xué)習(xí)方法處理文本信息,需要通過詞嵌入將文本轉(zhuǎn)為向量形式,嵌入層使用詞嵌入技術(shù)將文本映射成低維向量,得到分布式的詞向量表示.使用預(yù)訓(xùn)練好的300維GloVe詞典[19]來初始化嵌入層,對(duì)句法圖信息列表中包含的單詞進(jìn)行詞嵌入得到詞向量序列X={x1,x2,…,xn-1,xn},X∈n×dx.n為單詞個(gè)數(shù),dx為詞嵌入的向量維度,xi∈dx表示第i個(gè)詞的詞向量.
此外分別設(shè)置相應(yīng)的嵌入維度將詞性標(biāo)簽和依存關(guān)系邊標(biāo)簽也通過嵌入層轉(zhuǎn)為向量形式.pi∈dp是第i個(gè)詞的詞性標(biāo)簽向量、dp為詞性標(biāo)簽嵌入的向量維度,Re∈dr是依存關(guān)系邊e的標(biāo)簽向量,dr為依存關(guān)系邊標(biāo)簽嵌入的向量維度,1≤i≤n.
編碼層使用雙向GRU(Bi-GRU)來實(shí)現(xiàn),輸入包括詞向量和詞性標(biāo)簽向量?jī)刹糠?對(duì)詞向量和詞性標(biāo)簽向量進(jìn)行拼接,輸入Bi-GRU中提取上下文特征,得到融合詞性信息和語義信息的特征提取序列H={h1,h2,…h(huán)n-1hn},H∈n×dh.dh為特征提取序列中向量的維度,hi∈dh表示特征提取序列中第i個(gè)詞的帶有高層語義信息的向量,計(jì)算公式如式(2)所示.
hi=Bi-GRU(xi;pi)
(2)
其中Bi-GRU表示雙向GRU,xi∈dx表示第i個(gè)詞的詞向量,1≤i≤n,n為文本長(zhǎng)度,pi∈dp是第i個(gè)詞的詞性標(biāo)簽的嵌入向量,dp為詞性標(biāo)簽嵌入的向量維度,“;”表示向量拼接.
多級(jí)特征提取層的目的是更好的整合單詞之間的依賴關(guān)系到模型中,學(xué)習(xí)到更好的句子表示,以增強(qiáng)模型能力.該層分為淺層特征提取和深層特征提取兩層,其本質(zhì)區(qū)別是對(duì)句法圖的使用方法不同.淺層特征提取層僅基于對(duì)句法圖的深度優(yōu)先搜索來計(jì)算每個(gè)單詞的權(quán)值,從而得出句子的淺層特征級(jí)表示.深層特征提取層采用多子圖GCN進(jìn)行建模提取句法圖的圖結(jié)構(gòu)特征,相比傳統(tǒng)的序列化建模處理的模型,能更有效地提取到非線性的復(fù)雜語義信息,在一定程度上提升模型性能.
3.4.1 淺層特征提取層
淺層特征提取層的目的是在句法圖中從代表方面詞的根節(jié)點(diǎn)出發(fā)進(jìn)行深度優(yōu)先搜索,遍歷圖中每個(gè)節(jié)點(diǎn),學(xué)習(xí)到融入句子的句法結(jié)構(gòu)特征信息的句子表示.單詞權(quán)重計(jì)算如圖3所示,其中每條邊權(quán)重值計(jì)算方法如式(3)所示:
le=σ([hu;hv]WpRe+bp)
(3)
其中e表示以節(jié)點(diǎn)u為起點(diǎn)和v為終點(diǎn)的邊,le代表e的權(quán)重值,hu∈dh代表起始節(jié)點(diǎn)u的編碼層表示,hv∈dh代表終節(jié)點(diǎn)v的編碼層表示;Re∈dr是依存關(guān)系邊e的標(biāo)簽向量,dr為依存關(guān)系邊標(biāo)簽嵌入的向量維度;Wp∈2dh×dr是權(quán)重參數(shù)矩陣,bp是偏置項(xiàng),σ是Sigmoid激活函數(shù),“;”表示向量拼接.
單詞i的權(quán)重αi通過將從根節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)i的路徑上的邊的權(quán)重相乘來計(jì)算,1~m表示方面項(xiàng)中詞的Id,m表示方面項(xiàng)中的單詞個(gè)數(shù),對(duì)于方面項(xiàng)中的詞,權(quán)重都置為零.εi表示是從根節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)i的路徑上的邊集.權(quán)重αi計(jì)算方式如式(4)所示:
(4)
圖3 淺層特征提取層節(jié)點(diǎn)權(quán)重計(jì)算例圖Fig.3 Shallow feature extraction layer node weight calculation
淺層特征提取層最終的句子表示d∈dh的計(jì)算方式如式(5)所示:
(5)
其中n為句子長(zhǎng)度,1≤i≤n.
3.4.2 深層特征提取層
深層特征提取層的目的是利用GCN學(xué)習(xí)到句法圖上的深層特征信息,增強(qiáng)句子表示.該層由兩個(gè)相對(duì)位置圖卷積(Relative Position Graph Convolutional Network,RPGCN)單元和注意力融合單元組成.
在句子上從左往右按升序的方式順序給每個(gè)詞分配一個(gè)標(biāo)號(hào)Id,單詞i與單詞j相對(duì)位置信息用其標(biāo)號(hào)Id相減的差來表示,記為dir.詞與詞之間的相對(duì)位置信息在句法圖的鄰接矩陣中有更直觀的體現(xiàn).參考Chen等人[17]的實(shí)體抽取模型DGCN中引入相對(duì)位置信息建模方法,把鄰接矩陣中元素的下標(biāo)關(guān)系對(duì)應(yīng)到單詞的相對(duì)位置關(guān)系上,改進(jìn)GCN建模方式,并加入歸一化層建立RPGCN單元.
圖4 相對(duì)位置圖卷積(RPGCN)單元結(jié)構(gòu)圖Fig.4 Framework of relative position graph convolution(RPGCN)unit
RPGCN單元如圖4所示,由K層卷積層和歸一化層組成.將輸入的特征矩陣劃分為3個(gè)子矩陣(3個(gè)子矩陣是分別提取原矩陣的上三角矩陣元素、下三角矩陣元素和對(duì)角線上元素后,再用“0”填充擴(kuò)展到原矩陣大小構(gòu)成的矩陣,子矩陣對(duì)應(yīng)著子圖),在每個(gè)子矩陣上分別建模、獨(dú)立地進(jìn)行特征提取.將節(jié)點(diǎn)在不同子矩陣上得到的結(jié)果相加,作為下一層網(wǎng)絡(luò)的輸入.句法圖鄰接矩陣和序列Η作為初始輸入進(jìn)入第一個(gè)RPGCN單元.第k層卷積操作的計(jì)算方法如式(6)和式(7)所示:
(6)
(7)
其中ai,j是句法圖的鄰接矩陣A∈n×n中的元素,是該層的特征矩陣中的元素也是融入了上一層卷積信息的權(quán)重矩陣中的元素;dh×dh表示處理不同子矩陣數(shù)據(jù)時(shí)選取不同的權(quán)重矩陣,dir<0時(shí)時(shí)dh×dh,dir>0時(shí)dh×dh.
在模型中使用了兩個(gè)RPGCN單元,第2個(gè)RPGCN單元的初始輸入包括句法圖鄰接矩陣和第一個(gè)RPGCN單元的輸出序列G′∈n×dh,最終得深層特征信息序列G={g1,g2,…,gn-1,gn},G∈n×dh和編碼層輸出序列H經(jīng)過一個(gè)注意力融合單元進(jìn)行一次融合,融合的計(jì)算方法如式(8)和式(9)所示.
?1=softmax(HW1GT)
(8)
h′=?1G
(9)
其中?1∈n是經(jīng)過注意力融合單元后得到的權(quán)重序列,n是文本長(zhǎng)度,GT∈dh×n是G的轉(zhuǎn)置,h′∈dh是序列G在序列H上的得到的一個(gè)映射,是該層的最終輸出也是該層得到的句子表示,dh是編碼層輸出向量的維度.
3.4.3 多層特征提取算法
綜上所述,該層多級(jí)特征提取層的算法流程具體見表1.
表1 多級(jí)特征提取層算法Table 1 Feature extraction layer algorithm
聚合層的作用是融合得到的句法圖淺層特征與深層特征得到最終的句子表示.聚合計(jì)算如式(10)所示:
o=LN(ReLU(h′⊕d))
(10)
其中⊕表示逐元素相加,經(jīng)過ReLU激活函數(shù)和LN(Layer Normalization)歸一化層得到最終的句子表示o∈dh.
該層包括一個(gè)全連接層和一個(gè)歸一化層來預(yù)測(cè)情感極性分布,預(yù)測(cè)結(jié)果計(jì)算方法如式(11)所示:
(11)
在實(shí)驗(yàn)中應(yīng)用中斷策略來減輕過擬合,優(yōu)化器采用Adam.最終的損失函數(shù)如式(12)和式(13)所示,包括了交叉熵(Cross Entropy)損失、L1、L2正則化項(xiàng):
(12)
(13)
其中αz∈n對(duì)應(yīng)樣本中第x條文本的經(jīng)過淺層特征提取層后的權(quán)值向量,n為該條文本長(zhǎng)度.τ對(duì)應(yīng)于所有的可訓(xùn)練的參數(shù),β和λ調(diào)節(jié)L1正則化項(xiàng)和L2正則化項(xiàng)的影響,φ表示兩個(gè)正則化項(xiàng)相加的和.是基本真實(shí)的情感極性,K是訓(xùn)練的樣本數(shù)量,C是情感極性類別的數(shù)量,表示預(yù)測(cè)的情感極性.
不同的公開數(shù)據(jù)集有著不同的極性劃分標(biāo)準(zhǔn),如部分中性的詞語在不同的數(shù)據(jù)集中可能會(huì)被分為積極或者是消極,因此在模型中使用錯(cuò)誤或者不符合實(shí)際極性的數(shù)據(jù)會(huì)引入噪聲,導(dǎo)致決策邊界偏移,得到分類不準(zhǔn)確的模型.因此選擇在4個(gè)較為權(quán)威的公開數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),對(duì)本文模型性能和算法有效性進(jìn)行評(píng)估.數(shù)據(jù)集Restaurant14(Rest14)、Laptop 14(Laptop)來自SemEval 2014 task 4[20],Restaurant 16(Rest 16)來自SemEval 2016 task 5[21].此外還有Li等人[22]的Twitter 評(píng)論數(shù)據(jù)集.這些數(shù)據(jù)集是方面級(jí)情感分析任務(wù)的主流數(shù)據(jù)集,極性劃分較為權(quán)威.各個(gè)數(shù)據(jù)集中測(cè)試集和訓(xùn)練集的情感極性分布情況統(tǒng)計(jì)如表2所示.
表2 數(shù)據(jù)集統(tǒng)計(jì)表Table 2 Dataset description
在實(shí)驗(yàn)中使用PyTorch框架(1.8.1+cu102版)實(shí)現(xiàn)模型編碼.4個(gè)數(shù)據(jù)集的Batch-Size都設(shè)為32,Rest16、Rest14、Twitter 3個(gè)數(shù)據(jù)集的學(xué)習(xí)率為1×10-3,Laptop數(shù)據(jù)集學(xué)習(xí)率為5×10-4.輸出層中的中斷率(Dropout Radio)在Rest16數(shù)據(jù)集上設(shè)置為0.3,Twitter數(shù)據(jù)集上設(shè)置為0.4,Laptop、和Rest14數(shù)據(jù)集上設(shè)置為0.5,其他的參數(shù)各個(gè)數(shù)據(jù)集統(tǒng)一設(shè)置,詳見表3.
表3 實(shí)驗(yàn)參數(shù)設(shè)置表Table 3 Experimental parameter settings table
采用準(zhǔn)確率(ACC)和Macro-F1(F1)值作為模型的評(píng)價(jià)標(biāo)準(zhǔn),對(duì)比模型和實(shí)驗(yàn)結(jié)果如表4所示.
表4 句法特征融合增強(qiáng)模型與基線模型結(jié)果對(duì)照表Table 4 Syntactic feature fusion enhancement model and baseline model results comparison table
對(duì)比模型中除基于人工特征的SVM-feature模型外,可以分為以下兩類:
·線性序列模型:LSTM、RAM、SA-LSTM-P、MGAN、HSCN.
·非線性序列模型:CDT、GCAE、Repwalk、SK-GCN、FDDN、New models.
選取SVM-feature作為對(duì)比的基準(zhǔn)模型之一是為了比較傳統(tǒng)機(jī)器學(xué)習(xí)方法與基于深度學(xué)習(xí)中圖卷積方法的優(yōu)劣.實(shí)驗(yàn)結(jié)果表明,基于圖卷積神經(jīng)網(wǎng)絡(luò)的方法整體優(yōu)于SVM-feature模型.
線性序列模型中除LSTM模型僅簡(jiǎn)單使用LSTM對(duì)文本進(jìn)行編碼外,MGAN模型還提出多粒度注意機(jī)制、HSCN模型額外提取了方面和上下文之間交互的特征信息.但這些模型都僅基于BiLSTM對(duì)句子編碼提取上下文信息,沒有考慮使用句子的句法特征來提取非線性的復(fù)雜語義信息,都是線性序列模型.從表4中實(shí)驗(yàn)結(jié)果數(shù)據(jù)可以看出,本文模型的準(zhǔn)確率(ACC)和Macro-F1(F1)值始終優(yōu)于這些主流的序列化建模處理的模型.
CDT模型僅利用句法依存樹的邊和節(jié)點(diǎn)信息建模提取句法特征信息.GCAE利用CNN建模結(jié)合門控機(jī)制獲取特征信息.SK-GCN模型在使用GCN建模的基礎(chǔ)上還引入了外部知識(shí)進(jìn)行特征增強(qiáng).FDDN模型使用門控機(jī)制實(shí)現(xiàn)特征蒸餾.New models采用GCN獲取上下文特征進(jìn)而改進(jìn)實(shí)體表示.Repwalk模型基于RNN建模提取上下文信息,再通過簡(jiǎn)單遍歷句法圖提取淺層特征級(jí)信息.相比Repwalk模型,本文模型在Rest16數(shù)據(jù)集上的準(zhǔn)確率提高了2.12%、F1值提高了4.79%;在Rest14數(shù)據(jù)集上準(zhǔn)確率提高了1.71%、F1值高了3.63%;在Laptop數(shù)據(jù)集上的準(zhǔn)確率提高了1.97%、F1值高了2.67%;在Twitter數(shù)據(jù)集上的準(zhǔn)確率提高了1.64%、F1值高了2.24%.
從4個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果來看,句法特征融合增強(qiáng)模型該模型除在Twitter數(shù)據(jù)集的F1值指標(biāo)上稍低CDT外,本文的模型性能整體優(yōu)于這些主流模型,也驗(yàn)證了多級(jí)特征提取算法的有效性.
將通過以下幾組實(shí)驗(yàn)和個(gè)例分析對(duì)模型進(jìn)行性能評(píng)價(jià).實(shí)驗(yàn)1分析RPGCN單元中卷積層數(shù)對(duì)整體模型準(zhǔn)確率的影響;實(shí)驗(yàn)2分析深層特征提取層中RPGCN單元數(shù)量對(duì)模型的影響;實(shí)驗(yàn)3分析Bi-GRU編碼層特征提取序列中向量的維度對(duì)模型的影響;實(shí)驗(yàn)4分析輸出層的Dropout Radio(中斷率)對(duì)模型的影響;實(shí)驗(yàn)5分析多級(jí)特征提取層中各個(gè)層對(duì)模型的影響.5組實(shí)驗(yàn)中除該組分析的參數(shù)外,其他參數(shù)均統(tǒng)一設(shè)置為4.2節(jié)所述數(shù)值.
1)分析RPGCN單元中卷積層數(shù)對(duì)整體模型準(zhǔn)確率的影響,卷積層數(shù)取1、2、3、4、5層時(shí)各數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果.如表5所示:在實(shí)驗(yàn)中隨著卷積層數(shù)的增加,模型的性能并沒有提升,相反計(jì)算速度變慢,在最終模型中每個(gè)RPGCN單元的卷積層取1層.
2)分析深層特征提取層中RPGCN單元的個(gè)數(shù)對(duì)模型的影響,在實(shí)驗(yàn)中,模型的RPGCN單元個(gè)數(shù)分別設(shè)定為1、2、3、4、5,測(cè)定RPGCN單元有幾個(gè)時(shí)模型效果較好.經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn)當(dāng)RPGCN單元的超過2個(gè)時(shí),模型的準(zhǔn)確率并沒有隨著RPGCN單元的個(gè)數(shù)增加而有所提升,反而耗費(fèi)更長(zhǎng)的實(shí)驗(yàn)時(shí)間.基于表6所示結(jié)果分析,增加層數(shù)會(huì)增加模型的復(fù)雜性.
表5 卷積層數(shù)對(duì)模型的影響Table 5 Effect of convolutional layers on the model
在一開始增加RPGCN單元數(shù)可以提升模型的性能,但隨著層數(shù)持續(xù)增加,模型性能呈下降趨勢(shì),原因是過于復(fù)雜的模型容易過擬合.故最終模型選擇的RPGCN單元的個(gè)數(shù)為2時(shí)是較合理的.
表6 RPGCN單元對(duì)模型的影響Table 6 Effect of the RPGCN unit on the model
3)分析編碼層特征提取序列中向量的維度對(duì)模型的影響,維度設(shè)置為200、400、600、800、1000這5項(xiàng).實(shí)驗(yàn)結(jié)果如表7所示,通過對(duì)實(shí)驗(yàn)數(shù)據(jù)的觀察可以發(fā)現(xiàn),增加編碼層特征提取序列中向量的維度在一定程度上可以提升模型的性能,但也同時(shí)提升了學(xué)習(xí)參數(shù)的復(fù)雜度,因此在訓(xùn)練模型時(shí)需要考慮選擇合理的編碼層輸出序列的維度.此外也可以看出,剛開始逐步增加編碼層特征提取序列中向量的維度時(shí),模型性能有上升趨勢(shì),這是因?yàn)殡S著編碼層輸出序列的維度的增加,模型可以提取到更多高階隱含信息,從而提升模型預(yù)測(cè)精度.但是當(dāng)編碼層輸出序列的維度達(dá)到一定閾值時(shí),編碼層輸出序列的維度對(duì)模型性能的影響已經(jīng)到達(dá)極限,再增加維度可能會(huì)學(xué)習(xí)到其他信息引入噪音.這不僅不能對(duì)模型性能帶來更多提升,還增加了模型復(fù)雜度,甚至?xí)?dǎo)致模型性能下降,因此需要合理選擇編碼層特征提取序列中向量的維度.
表7 編碼層輸出序列維度對(duì)模型的影響Table 7 Effect of the coding layer output sequence dimension on the model
4)在輸出層中句子表示h′和d對(duì)應(yīng)元素相加后設(shè)置中斷層,分析Dropout Radio參數(shù)變化對(duì)模型性能的影響,Dropout Radio參數(shù)實(shí)驗(yàn)中分別選取0、0.3、0.4、0.5、0.7這五個(gè)參數(shù)進(jìn)行對(duì)比實(shí)驗(yàn),在Twitter、Rest16數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如圖5所示,經(jīng)觀察可知在該模型中,Rest16數(shù)據(jù)集的中斷率設(shè)置為0.3,Twitter設(shè)置為0.4較好,合理設(shè)置中斷率對(duì)提升模型性能有一定的幫助.
圖5 輸出層中斷率對(duì)模型的影響Fig.5 Impact of the output layer dropout radio on the model
5)分析多級(jí)特征提取層中兩個(gè)不同級(jí)的特征提取層對(duì)模型性能的影響,在模型中分別移除淺層特征提取層和深層特征提取層,進(jìn)行消融實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果如表8所示,Out-DFS表示移除淺層特征提取層、Out-GCN表示移除深層特征提取層,結(jié)果驗(yàn)證淺層特征提取層和深層特征提取層融合的模型結(jié)構(gòu)設(shè)計(jì)相比單一特征級(jí)的模型結(jié)構(gòu)確實(shí)可以提取出更多對(duì)于方面級(jí)情感分析有價(jià)值的信息,不同層級(jí)的特征融合增強(qiáng)的結(jié)構(gòu)設(shè)計(jì)可以增強(qiáng)分類效果.此外也能看出淺層特征提取層提取到的淺層特征信息的重要性并不比圖卷積層提取到的信息低,在使用圖卷積神經(jīng)網(wǎng)絡(luò)提取深層特征信息時(shí)可以考慮融入淺層特征信息進(jìn)行特征增強(qiáng).
6)深度特征提取層中的注意力融合單元的有效性分析.以Rest16數(shù)據(jù)集中的“i am not a vegetarian but,almost all the dishes were great .”和“we started off with a delightful sashimi amuse bouche .”兩句文本作為觀察樣本,使用熱力圖來可視化分析樣本經(jīng)過注意力融合單元后各單詞上的權(quán)重值.熱力圖中顏色相對(duì)較暗的單詞表示權(quán)重較小的單詞,顏色較淺的是權(quán)重較大的詞.如圖6所示,經(jīng)過注意力融合單元后模型的重心落在一些有助于推斷情感極性的重要詞上.兩句樣本中權(quán)重最大的單詞是分別是“great”、“delightful”兩個(gè)情感詞,相對(duì)的一些人稱代詞和符號(hào)的權(quán)重較低.經(jīng)觀察可知注意力融合單元能夠捕獲豐富的上下文單詞信息,突出顯示情感詞.第2個(gè)觀察樣本表明,注意力融合單元也可以成功地捕獲有關(guān)方面項(xiàng)的信息,方面項(xiàng)中的詞“sashimi ”、“amuse”、“bouche”權(quán)重值都很低.從這兩個(gè)觀察樣本的注意力融合單元得到的權(quán)重序列結(jié)果中可知,本文所提出的模型能夠借助注意力融合單元來捕獲重要的上下文信息,在方面級(jí)的情感分類任務(wù)中取得不錯(cuò)效果.
圖6 注意力融合單元結(jié)果圖Fig.6 Results of the attention fusion unit
在近幾年的方面級(jí)情感分析任務(wù)研究中,引入句法依存樹和深度神經(jīng)網(wǎng)絡(luò)等的多策略方法已經(jīng)成為研究趨勢(shì).本文提出基于句法依存樹的多級(jí)特征提取層算法,建立句法特征增強(qiáng)模型.在4個(gè)方面級(jí)情感分析任務(wù)常用的基準(zhǔn)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),結(jié)果表明本文提出的模型性能整體優(yōu)于目前的一些主流方法,能夠有效地捕捉句子中方面詞的上下文信息特征,能提升GCN和句法依存樹的融合效果,改善句子表示,提高模型性能,也驗(yàn)證了多級(jí)特征提取層算法是有效的.通過實(shí)驗(yàn)發(fā)現(xiàn)在Twitter數(shù)據(jù)集上基于句法依存樹的模型相比其他模型性能較差,原因是Twitter評(píng)論數(shù)據(jù)集中文本口語化較明顯,包含新出現(xiàn)的一些網(wǎng)絡(luò)熱詞,建立句法依存樹容易存在噪聲,建立錯(cuò)誤的句法依存樹則影響了模型后期的句子表示學(xué)習(xí).
基于句法信息的模型的性能很大程度上取決于將句子解析成正確的依存關(guān)系樹的能力.將句法信息用于處理偏正式、無過多拼寫或語法錯(cuò)誤的數(shù)據(jù)集將會(huì)取得不錯(cuò)的效果.現(xiàn)實(shí)中網(wǎng)絡(luò)評(píng)論基本都是簡(jiǎn)短、隨意的口語化句子,解析成正確的句法依賴關(guān)系時(shí)會(huì)存在困難.在未來將研究使用知識(shí)圖譜、遷移學(xué)習(xí)等方法處理這類句子,優(yōu)化模型.