高慶吉,田學進,黃 淼,邢志偉
(中國民航大學 機器人研究所,天津 300300)
方面級情感分析(ABSA,aspect-based sentiment analysis)是用戶情感分析中的一項細粒度任務[1],包括屬性類別情緒分析和屬性術語情緒分析,其目標是識別和檢測給定句子中的實體詞、方面詞和觀點詞,并對給定句子中的每個特定屬性對應的情緒極性(例如,積極、中性或消極)進行預測。
目前方面級情感分析領域的研究主要集中于用戶消費評價,自動駕駛模式為所有利益相關者帶來了一個全新的場景。而人機對話形成服務確認,是一種必然趨勢,人機達成供需是自主載人車實施服務是必要環(huán)節(jié),人機之間存在形成認可和法律責任問題,結合無人車接受模型與方面級情感分析進行信任度評判,可準確有效地檢測旅客意圖,為將來航站樓服務機器人自主實現(xiàn)引導、調(diào)節(jié)旅客航站樓內(nèi)活動提供依據(jù)。因此,方面級情感分析對于用戶挖掘、新興自主載人車投入服務以及產(chǎn)品服務重建方面有廣泛應用前景。
對于方面級情感分析,方面示例包括產(chǎn)品、服務、主題、組織、事件、及其屬性。示例“The sandwiches and sushi is delicious but the waiter is very rude”, 如圖1所示,“sandwiches”和“sushi”描述屬性類別“food”, “waiter”則描述“service”, 以此分析用戶對“食品”和“服務”的態(tài)度。
圖1 包含兩個基于方面的情緒分析實例
目前,ABSA技術主要以情感詞典、機器學習和深度學習為基礎的方法?;谇楦性~典的方法實現(xiàn)過程中不存在繁雜步驟,但其局限在于此方法對于方面級別的情感的檢測和分類效果嚴重依賴于情感詞典質(zhì)量?;跈C器學習方法[2]需人工提取特征,而基于深度學習的ABSA模型[3],可以自動獲得語料的文本特征信息并提取信息中所含的復雜非線性關系,從而引起了該領域內(nèi)學者的廣泛重視。隨著詞嵌入技術的發(fā)展,卷積神經(jīng)網(wǎng)絡(CNN, convolutional neural networks)[4]可兼顧句子映射到低維的語義表示和單詞序列信息以及本地文本表示的保持,由此發(fā)展出具有選通機制的CNN[5]應用于ABSA。但CNN模型只卷積連續(xù)單詞的信息,從而忽略非相鄰詞的影響。而后因遞歸神經(jīng)網(wǎng)絡(RecNN,recursive neural network)[6]模型能夠靈活地捕捉屬性與其上下文詞之間的語義關系而被引入ABSA,RNN及其變體被廣泛應用至ABSA任務,如長短期記憶網(wǎng)絡(LSTM, long short-term memory)及其變體BiLSTM[7]。Tang等人[8]提出了目標導向性的長短期記憶網(wǎng)絡(TD-LSTM,target-dependent LSTM)和與目標連接的長短期記憶網(wǎng)絡(TC-LSTM),前者通過二個單向LSTM對目標單詞的左部上下文與右部上下文分別進行建模,后者在TD-LSTM的基礎上,將目標單詞引入至輸入端。為了更好地關注語料的屬性等關鍵信息,Gu等人[9-12]在ABSA中融入了注意力機制以便聚焦關鍵信息。
相較于CNN和RNN,GCN能夠有效地處理具有圖結構的數(shù)據(jù),THOMAS等人首次將GCN[13]應用于ABSA,利用句法依賴結構解決了長期多次依賴的問題。Zhang等人[14]設計了包含屬性門控機制的ASGCN模型,使用與屬性相關的編碼器改善了缺乏屬性信息而導致的錯誤預測。近來,利用GCN與依存句法樹相結合的ABSA模型取得了很好的效果[14-17],ZHANG等人[14]設計了包含屬性門控機制的ASGCN模型,從而通過句法依存樹建立融合屬性詞和語義信息的表達形式,并聯(lián)合注意力機制進行語料的屬性詞和語料語義信息的交互,通過采用與屬性相關的編碼器改善了缺乏屬性信息而導致的錯誤預測。進一步地,Sun等人[15]考慮到句法結構對ABSA的重要影響,通過依賴樹卷積模型(CDT,convolution over a dependency tree)融合句法、詞性、位置和語義特征信息,由此詮釋了語法距離及其權重的定義和計算方式,從而設計了結合圖卷積和Bi-LSTM的輕量級ABSA模型。為獲取更加準確的上下文信息,Zheng等人[16]以隨機遍歷搜尋句法依存樹的方式來確定與情感極性相關的特定子樹。研究表明與屬性詞距離越近的情感詞對屬性詞影響會越大,巫浩盛等人[17]結合詞語的語法距離和句法結構,進一步提出了基于距離與圖卷積網(wǎng)絡的DGCN模型(DGCN, distance and graph convolutional network)。在特征提取過程中,情感分類常用基于詞典的向量空間模型 (VSM)、潛在的語義分析 (LSA)、基于無監(jiān)督算法的詞嵌入(Word 2 word)和隨機詞向量法來進行特征信息的提取。這些方法都是對單個詞語進行處理,陳等人[18]使用改進的隱馬爾科夫模型 (MHMM)構建詞對向量特征并取得了很好的效果。
前文所述模型重點考慮屬性詞、位置信息和上下文之間的語義關系,主要從詞的層面提取文本的語義特征, 未充分考慮屬性詞和鄰近詞組的局部信息的重要性,從而導致模型很難充分利用語料庫中文本信息。在模型訓練的過程中結合詞性特征信息,能有效避免模型訓練過程中的文本語義特征信息的缺失問題。所以,方面屬性詞的局部信息與全局信息、方面屬性詞與觀點詞和實體的交互信息、相對位置信息與詞性信息都是影響ABSA效果的關鍵因素。
因此,結合3大關鍵影響因素,提出一種融合注意力機制和詞匯-句法分級圖卷積的神經(jīng)網(wǎng)絡模型(A-LSGCN,lexical syntactic graph convolution based on adaptive attention mechanism), 聯(lián)合多頭注意力機制及詞匯-句法圖卷積,模型同時考慮句法結構和語料庫共現(xiàn)信息,聯(lián)合多頭注意力機制及詞匯-句法圖卷積并使用局部聚合機制檢測、提取從而生成方面詞的局部屬性信息,通過以方面詞為導向的方式疊加更新屬性記憶向量和句子的歷史上下文內(nèi)存向量,從而學習獲得目標及其上下文之間的關系的特征表示方法,最終得到特定方面屬性對應的情感極性分類作為輸出。
綜合考慮方面屬性詞的局部信息和全局信息、方面屬性詞與觀點詞和實體之間的交互信息、相對位置信息和詞性信息這三大關鍵因素對ABSA的影響,設計A-LSGCN模型。模型框架如圖2所示。
圖2 A-LSGCN模型框架
1)首先把由語料庫構建的全局詞匯概念圖和語料庫單詞序列作為輸入來獲得初始句子表示。
2)其次,設計一個多層聚合模塊(AggIn,aggregate & interaction),即AggIn聚合卷積模塊。在AggIn聚合卷積模塊對局部分級詞匯概念圖和分級句法圖進行淺層聚合和深層卷積交互,輸出精化語義特征后的句子表示。
3)再次,采用基于方面屬性為導向的掩碼和門控機制得到特定方面屬性的表示,從而提升模型對句子中特定方面屬性對應的情感極性的預測精度。
4) 最后通過基于檢索的注意力權重網(wǎng)絡層最終輸出特定方面屬性對應的情感極性。
任務描述:語料庫給定句子S,由n個單詞組成,其中包括從第(a+1)個位置開始、長度為τ的方面屬性詞,任務目標是識別S中特定方面屬性的情感極性,即積極、中性和消極3種極性。
S=[w1,…,wa+1,…,wa+τ,…,wn]
(1)
其中需考慮:
1)共同出現(xiàn)頻率高的詞組代表語言學中的固定組合;例如,詞組“nothing great”表示負極性,需要全局信息抵消“great”對句子S總體的正面影響,以便做出綜合全局信息的判斷;
2)每種不同類型的句法依存關系描述某種特定的語法關系;
3)構建全局詞匯概念圖用于屬性類別情緒分析任務。對語料庫級別的單詞共現(xiàn)信息進行編碼,其中節(jié)點是單詞,邊表示訓練語料庫中兩個單詞節(jié)點之間的頻率;
4)建立概念分級,對不同類型的依存關系或詞對共現(xiàn)關系進行分級。
因此,為了更好地區(qū)分句子S中的謂語的主語和賓語,在融合詞對共現(xiàn)信息和句法依存信息時使用雙向GCN網(wǎng)絡,由此建立用于訓練語料庫的全局詞匯概念圖,和語料庫中句子的局部分級句法圖。
1)句法分級概念圖構造。每個依存關系都代表一個詞在句子中的特定語法功能,直接使用依賴關系作為圖的邊可能會導致與解析錯誤類似的噪音[11]。因此為句法圖附加概念分級類型的標簽,可構建了分級概念的句法圖HSG。
HSG={Vs,Es,Rs}
(2)
其中:Vs,Es,Rs分別是節(jié)點集、邊集和句法關系類型集,Es中的每條邊都附加了對應的Rs中的依賴關系類型標簽。
2)詞法分級圖構造。全局詞匯概念圖:對語料庫里級別的詞匯共現(xiàn)信息進行編碼,其中單詞作為節(jié)點,訓練語料庫中兩個單詞節(jié)點之間的頻率作為邊。
詞法分級圖:A-LSGCN模型通過在全局詞匯概念圖的基礎上,融入分級概念來區(qū)分不同類型的句法依存關系或詞對共現(xiàn)關系在句子S中的重要程度。詞的共現(xiàn)頻率是高度偏斜的,根據(jù)對數(shù)正態(tài)分布對詞的共現(xiàn)頻度進行分組,從而形成詞對概念分級,由此構建全局分級詞法圖,同理可構建局部分級詞法圖。
(3)
提出的A-LSGCN模型架構包含4個模塊,如圖3所示。
圖3 A-LSGCN模型結構圖
1.2.1 句子初始表達(詞嵌入層)
使用300維GloVe向量[15]初始化單詞預訓練詞典,對語料庫中的句子S進行文本嵌入,對于預訓練詞典外的詞匯則通過均勻分布實現(xiàn)詞匯的隨機初始化。將語料庫數(shù)據(jù)中的每一個詞匯由高維向低維映射,從而得到低緯度的向量空間表示形式,其數(shù)值矩陣的數(shù)學表述為:Ew∈Rv*d。
其中:v代表預訓練詞典中的詞匯量,d為使用單詞預訓練詞表對句子S進行詞嵌入的維度。Ew用于將具有n個單詞的序列映射到詞向量,嵌入后文本表示為[e1,…,ea+1,…,ea+τ,…,en]∈Rv*d。
1.2.2 語義提取層
采用基于全局詞匯概念圖的GCN 形式特征嵌入和基于雙向LSTM的Bi-LSTM embedding表示優(yōu)化句子編碼方式。構建嵌入矩陣Ewf∈RN*d作為訓練語料的特征矩陣,用于在句子S的特征表示形式中編碼語料庫中特有的詞匯信息,其中N為語料庫訓練集的詞匯量,d為詞嵌入向量的維度;并對HLGo執(zhí)行GCN層,從而獲得整個訓練集的詞匯嵌入矩陣Egcn∈RN*dx。由Egcn可通過查找表獲到S的GCN embedding,[x1,…,xa+1,…,xa+τ,…,xn]∈Rv*dx,在圖3中用x表示。
然后經(jīng)Bi-LSTM層處理獲得Bi-LSTM embedding,記作Zt∈RN+dz,[z1,…,za+1,…,za+τ,…,zn]∈Rv*dz在圖3中用z表示。
1.2.3 AggIn聚合卷積層
將初始句子表示形式,即x,z作為模型輸入,A-LSGCN模型進一步通過局部分級概念詞匯圖和分級句法圖在聚合交互模塊AggIn深層交互,通過卷積交互精煉含局部分級概念詞匯圖和分級句法圖相互影響信息的特征表示形式,即S的精煉表示。AggIn包含多層結構,交叉網(wǎng)絡用以融合x和z的特征信息,并通過雙層GCN以在分級句法圖和局部分級概念詞匯圖上進行卷積,最終獲得句子S的精煉表達。AggIn通過多層結構的設計,使得在不同層級執(zhí)行的不同類型信息能夠交互和協(xié)作??捎眠壿嬅枋鋈缦隆?/p>
y0=x⊙z,y0∈Rdg
(4)
yl=y0yl-1Twl+bl+yl-1
(5)
其中:l、wl和bl分別為層數(shù)、權重和偏置,且wl,bl∈Rdg。yl為xl和zl輸入雙向GCN前的節(jié)點。
深層聚合用于把淺層聚合中得到的虛擬節(jié)點及其對應的特定依存關系類型信息融合在一起,并通過使用不同關系類型對應的虛擬節(jié)點上設置的平均聚合函數(shù),從而能夠更新目標單詞wt的信息表示形式,如下所示:
(6)
⊕r為不同關系類型表示的連接,Wl為第l層中的權重矩陣。
經(jīng)此層后,x和z的精煉表示分別為x′l和z′l。
(7)
(8)
在聚合模塊的最后一層,形成最終的聚合嵌入。
hL=x′L⊙z′L
1.2.4 融合雙頭注意力機制的情感極性分類層
為了更好地檢測和預測句子S中特定方面屬性的情感極性并進行分類,A-LSGCN模型在情感極性分類層中采用門控機制對流向給定方面屬性aspect的情感信息進行篩選和控制。
(9)
(10)
經(jīng)過門控和掩碼處理后,全局檢索語義與方面屬性詞相關的特征作為重要顯著特征,并為方面屬性詞與其每個上下文詞間的相互影響設置基于檢索的注意權重因子。S最終表示為P。
(11)
(12)
其中:zt是雙LSTM嵌入Zt∈RN*dz。
模型使用BCE With Logits Loss函數(shù):
(13)
其中:ln為第n個樣本對應的loss。
(14)
wi是超參數(shù),用于處理標簽間的樣本不均衡問題。對于一批訓練集,若其中某個標簽的出現(xiàn)次數(shù)較少,計算loss時應該給予更高的權重。
對于語料庫中給定的評論句和一組方面屬性,A-LSGCN模型在預測所有“實體#方面屬性”組的情感極性前,需要先識別評論中的目標實體及其相應的方面屬性。例如,針對句子“The sandwiches and sushi is delicious but the waiter is very rude”,模型對方面屬性進行檢測和處理后輸出“RESTAURANT#SERVICES”為消極,輸出“FOOD#QUALITY”為積極。
由于樣本存在不均衡性,句子S中包含的多個方面屬性存在精確度和召回率產(chǎn)生無法忽視的偏差,因此A-LSGCN模型采用準確率(Acc)和F1分數(shù)的宏平均值(Macro average F1,即MF1)作為評價指標。其中,Acc評價A-LSGCN模型的分類的準確率,定義為正確分類的樣本數(shù)在樣本總數(shù)量的比例;MF1是評估模型性能的綜合指標。并且,為了更加準確地刻畫模型的有效性,實驗過程中嚴格控制評測方式。
根據(jù)以上語料庫樣本分類的可能情況,準確率計算公式如下:
(15)
(16)
對于單個類別,式中TP表示被正確預測的語料樣本數(shù)量;FN是當前的類別被預測成其他類別語料樣本的數(shù)量;FP是其他類別的語料樣本被預測為當前語料樣本的數(shù)量。
實驗環(huán)境配置如表1所示。
表1 實驗環(huán)境配置
實驗數(shù)據(jù)來自SemEval 數(shù)據(jù)集(即Laptop14、Restaurant14、Restaurant15和Restaurant16)。評論中包含目標單詞和目標單詞的情感極性,數(shù)據(jù)集統(tǒng)計信息如表2所示。
表2 實驗數(shù)據(jù)集配置
為了能夠更好地學習語料庫數(shù)據(jù)的文本結構的特征信息,在使用預訓練詞典時附加維度為300的位置嵌入。實驗數(shù)據(jù)樣例如表3所示。
表3 實驗數(shù)據(jù)樣例
實驗分為數(shù)據(jù)預處理、圖結構的生成和模型訓練及調(diào)整3個步驟,實驗流程如表4所示。
表4 實驗流程
其中,數(shù)據(jù)庫中評價文本包含口語和部分縮略詞,其表示內(nèi)容很難與書面表達完全符合。因此,實驗前首先需要對實驗數(shù)據(jù)進行清洗和規(guī)范化,包括改寫縮略詞、去除不規(guī)則標點符號等操作,使文本更規(guī)則和嚴整。
以Restaurant16數(shù)據(jù)集為例對比不同優(yōu)化器(包括Adagrad、Adam、Ada-max、ASGD和RMSprop優(yōu)化器)對A-LSGCN模型的性能影響,使用不同優(yōu)化器訓練損失值散點圖、訓練時長對比、準確率及MF1分數(shù)對比如圖4所示。
由圖4可見Adam優(yōu)化器損失函數(shù)值方差較小,且僅需56輪便可訓練完成,可兼顧訓練速度和精確率,因此為加快模型收斂使用Adam優(yōu)化器。
圖4 使用不同優(yōu)化器時A-LSGCN性能對比改圖
使用GloVe預訓練好的詞向量進行A-LSGCN模型的語料上下文和方面屬性詞的初始化。BiLSTM的隱藏層大小為300。使用Dropout和L2正則項減少過擬合,使用均勻分布進行A-LSGCN模型的權重初始化,實驗參數(shù)如表5所示。
表5 參數(shù)設置
選用的對比基準模型包括基于注意力機制的ABSA方法和基于圖和語法的ABSA分析模型,將A-LSGCN模型與以下7個基線進行對比。
2.3.1 基于基于注意力機制的方法
MemNet[8]通過注意力機制融合句子的位置特征信息設計深度注意網(wǎng)絡,從而對屬性級情感極性進行檢測分類,最終在多個公開數(shù)據(jù)集上的分類效果表明該模型在傳統(tǒng)LSTM模型的基礎上,其檢測和分類效果有一定提升。
IAN[10]考慮方面屬性詞和語料觀點詞之間的相互影響和交互性,以此為解決思路融合方面屬性詞和整句語義并使二者進行交互,從而實現(xiàn)了方面級情感的檢測。
AOA[12]借鑒機器翻譯領域的AOA(attention-over-attention)機制并將其融入方面級情感分析。通過引入AOA模塊,方面級情感檢測和分析模型可以同時學習方面屬性和句子的表示形式,并自動關注句子中的重要部分,從而取得很好的分類效果。
2.3.2 基于圖和語法的方法
RepWalk[9]建立的神經(jīng)網(wǎng)絡模型通過在句法依存樹上隨機遍歷搜尋與方面級情感極性相關的特定子樹,從而模型得到了更加準確的上下文信息。
TD-GAT[10]提出了一種圖注意網(wǎng)絡來明確利用詞之間的依賴關系。
ASGCN[14]使用GCN與句法依存樹融合建立屬性詞和語義信息的表達形式,并考慮二者間的相互影響,使用注意力機制對二者進行交互。但不夠充分的詞性信息是模型檢測和分類效果提升不顯著的主要原因。
CDT[15]是一組結合了圖卷積和 Bi-LSTM 模型的輕量級情感分析模型,其中融合了句法信息、詞性信息、相對位置信息及語義的特征信息,最終在縮短模型訓練代價的同時提升了方面級情感分析的分類效果。
ASGCN由于詞性信息的缺失使得效果并沒有很好的提升,CDT在縮短模型訓練代價的同時取得了良好的分類效果。A-LSGCN與其它模型方法的對比如圖5所示。
圖5 A-LSGCN與其它模型準確率對比
在所選公開數(shù)據(jù)集上的實驗結果對比如表6所示。
由表6可見,A-LSGCN模型在Laptop14、Restaurant14、Restaurant15、Restaurant16數(shù)據(jù)集上MF1值分別提升了1.1%、1.14%、1.77和0.84%,準確率分別提升了5.5%、0.3%、0.21和0.90%,實驗結果驗證了A-LSGCN模型的有效性,且精確度和MF1分數(shù)均超過基線模型。
表6 準確性和MF1 (%)對比
目前方法大多使用注意力機制隱性建模屬性-情感表達關系,而忽略了語法信息和句法依存信息的問題。因此,為了提高方面級別的情感檢測方法準確率,設計了融合詞匯-句法圖卷積的神經(jīng)網(wǎng)絡分類模型(A-LSGCN)。首先,該模型同時考慮句子句法結構和語料庫共現(xiàn)信息,充分學習通用語法知識,減少了隱性建模導致的誤差。其次,模型通過句法依存圖神經(jīng)網(wǎng)絡提取句法結構信息,直接匹配方面屬性及其情感表達,有效緩解了冗余信息對分類的干擾。A-LSGCN分類模型相較于8種主流模型,在保持相同分類速度的前提下,準確率和MF1分數(shù)均有所提升。A-LSGCN能夠更好地解決細粒度情感分類問題,效果更貼近于實用性。
方面級情感分析可推廣應用至新興的自動駕駛行業(yè),例如封閉場景內(nèi)的自主載人車。自主載人車實施服務需要機器人與人達成一致共識,從而保證服務的合法性及責任的追溯。方面級情感分析可結合無人車接受模型與方面級情感分析進行乘載合約的達成度計算,實現(xiàn)基于方面級情感分析模型乘載合約自動形成方法。