?

基于BERT的雙特征融合注意力的方面情感分析模型

2024-01-11 13:15夏鴻斌
計算機與生活 2024年1期
關鍵詞:全局注意力語義

李 錦,夏鴻斌,2+,劉 淵,2

1.江南大學 人工智能與計算機學院,江蘇 無錫 214122

2.江蘇省媒體設計與軟件技術重點實驗室,江蘇 無錫 214122

基于方面的情感分析(aspect-based sentiment analysis,ABSA)旨在對文本如用戶評論進行細粒度的情感分析[1],是對文本中一個或多個方面的情感極性進行分類,在學術界受到廣泛關注的同時也在工業界得到了廣泛的實施。它通過亞馬遜等網站上的在線評論提供的實時反饋,獲取客戶對特定產品或服務的意見。如圖1 所示,在句子“This book is a hardcover version,but the price is a bit high.”中“version(封面)”的情感是積極的,而“price(價格)”的情感是消極的。由于這兩個方面詞表達了相反的情感,僅僅分配一個句子級別的情感極性是不合適的。于是,Jo 等人[2]和Pontiki 等人[3]提出了基于方面的情感分析(ABSA),旨在識別針對特定方面的細粒度情感極性。細粒度的方面情感分析根據方面目標實體數量的不同可以分為單目標方面情感分析任務和多目標方面情感分析任務。ABSA 任務通常只有一個目標實體,而為了處理多個目標實體在預先給定的方面集合中對多個不同的方面產生不同的情感傾向的問題。Saeidi等人[4]又引入了基于目標方面的情感分析(target aspect-based sentiment analysis,TABSA)任務,旨在識別句子中一個指定實體(target,aspect term)的一個指定方面類別(aspect category)的情感。本文中提到的方面詞、方面類別以及方面集合等概念較易混淆,特舉例說明。例如“這塊牛排的味道非常好吃,但價格有點貴。果汁既便宜又好喝”在給定的關于餐廳的目標方面集合{味道,服務,價格,位置,服務,裝修等}中,方面詞“牛排”“果汁”分別提到了它們在“價格”和“味道”兩個方面類別中的情感傾向。為了全面地對句子進行細粒度的情感分析,本文分別針對一個實體的多個方面類別(ABSA 任務)以及多個實體的多個方面類別(TABSA 任務)進行研究。

圖1 上下文詞對情感極性預測的不同影響Fig.1 Different influences of context words on sentiment polarity prediction

最初,研究者對ABSA任務使用神經網絡模型的研究主要集中在使用深度神經網絡。近年來,隨著強大的自注意力機制[5-7]的出現,以自注意力機制為內核的Transformer[8]和BERT(bidirectional encoder representations from transformers)[9]因其強大的特征抽取能力被Sun 等人[10]相繼應用于ABSA,使模型的效果得到顯著增強。Zeng 等人[11]提出了一種不同于上述模型的局部上下文關注模型(local context focus,LCF),LCF 模型使用句子序列中單詞距離作為語義相關距離(semantic-relative distance,SRD)來得到局部上下文表示。該模型注意到一個方面的情感極性與接近自身的上下文詞更相關,且遠離方面詞的上下文詞可能會對特定方面極性的預測精確度產生消極影響。吳仁彪等人[12]參考圖像處理領域的膠囊網絡,將膠囊網絡運用于情感分析任務上,有效降低了模型在特征迭代中信息丟失的問題。趙志影等人[13]提出了GCAN(GCN-aware attention network),引入了基于句法分析樹的圖卷積神經網絡,以挖掘句子的句法特征和結構信息,從而更好地將全局信息整合到特定方面的向量表示中。Wu 等人[14]用Context-Aware Self-Attention Networks 作為模型的特征抽取層,提出了面向方面情感分析的CG-BERT(contextguided BERT for targeted aspect-based sentiment analysis)模型,獲得了比基礎的BERT 模型更好的結果,上下文感知的自注意力網絡的引入,使得深度學習模型能夠更好地抽取輸入序列的全局語義特征,在多個數據集上都取得了前沿性的成果。

盡管現有的模型在方面詞情感分析任務上有著不俗的表現,但仍存在三個方面的不足。其一,在很多研究工作中,方面詞的重要性未能得到充分的重視。Jiang 等人[15]在Twitter 數據集上評估了一個情感分類器的效果,結果發現40%的分類錯誤都緣于沒有考慮方面詞的指示作用。這說明,如何充分使用方面詞提供的位置特征和語義特征將是影響模型效果的重要因素。其二,現有的模型在提取文本特征的過程中未能充分發揮局部特征和全局特征的優勢,方面詞的情感極性更多的相關于與之在絕對位置和邏輯位置相近的詞語,距離較遠的詞語往往會成為情感分類的干擾項。有些模型雖然發現了局部特征或全局特征的重要性,卻未能將兩者的特征進行很好的結合進而消除干擾項的不良影響。同時,在局部特征和全局特征進行融合的過程中使用拼接或相加的方式容易造成特征損失和特征覆蓋的問題。其三,現階段大部分模型使用Softmax 激活函數來計算每個位置的注意力分數,由于Softmax 函數的值域為[0,1],這導致每個特征都會對注意力的計算產生積極的影響,從而產生一定的噪聲干擾。

針對上述不足,本文受Zeng 等人[11]提出的局部注意力和Yang 等人[16]提出的情境感知網絡的啟發,提出了基于BERT 的雙特征融合注意力模型(dual features local-global attention with BERT,DFLGA-BERT),借助BERT 來獲取高質量的語義編碼,為突出方面詞的重要性,本文根據上下文動態掩碼(context dynamic mask,CDM)設計了局部特征抽取模塊聚焦與方面詞在語義上更相關的特征,在此基礎上計算局部特征的注意力分數。同時,為了彌補局部特征容易忽略遠距離特征的缺陷和挖掘多維度的全局特征,本文模型使用情景感知網絡設計了全局特征抽取模塊模型。在獲取深度全局語義信息的同時盡可能地降低干擾項對情感分類的影響。同時受Tay 等人[17]的啟發,本文將“準”注意力融入到全局注意力的計算中,將注意力分數的值域由原來的[0,1]變換到[-1,1]。通過訓練線性層參數讓模型學習在不同的上下文語境中分配合適的注意力,(正向、零、負向)分別對應(增加注意力、忽略、降低注意力),從而降低文本噪聲對于模型的影響。在特征融合階段,模型采用多個條件層規范化(conditional layer normalization,CLN)[18]的組合結構,在強調平衡局部特征和全局特征的同時,避免了融合階段的特征損失,強化了模型的擬合能力。實驗證明,DFLGA-BERT 在SentiHood 和SemEval 2014 Task 4數據集上都取得了優異的成績。同時,在消融實驗中進行了子模塊的有效性驗證,也充分證明了模型主要組成部分的設計合理性。

1 本文模型

對于方面情感分類,為模型準備的輸入序列通常由上下文序列和方面詞序列組成,方面詞序列通常為單個方面詞或多個詞組成的方面詞組,這使得模型能夠學習到與方面相關的信息。假設s={wi|i∈[1,n]}是一個包含方面的上下文序列,st={wi|i∈[1,m]}是一個方面序列,其中st是s的子序列,且m≥1。如圖1,整個句子為上下文序列s,而“version”和“price”是兩個不同的方面序列st。本文模型的目的是預測st在s中所表現的情感極性。模型總體架構如圖2 所示,宏觀上可以分為三層:輸入層、特征抽取層以及輸出層。特征抽取層又可以分為局部特征抽取模塊和全局特征抽取模塊,分別用以獲取方面詞局部特征以及全局上下文語境動態加權特征。模型的介紹將圍繞輸入層、局部特征抽取模塊、全局特征抽取模塊以及輸出層這四個部分展開。

圖2 DFLGA-BERT模型整體架構Fig.2 Overall architecture of DFLGA-BERT model

1.1 輸入層

輸入層是DFLGA-BERT 模型的第一層,其目的是將上下文序列轉化為向量化表示然后輸入到模型中。在DFLGA-BERT模型中,為了充分發揮BERT在模型訓練中的作用,本文將輸入序列處理成“[CLS]”+上下文序列+“[SEP]”+方面詞序列+“[SEP]”的形式。其中,“[CLS]”和“[SEP]”是BERT 使用的兩種標記符號,“[CLS]”是特殊分類向量標記符,聚集了分類相關的信息,“[SEP]”是分隔符,在輸入多個序列時用于分隔不同序列。將原輸入序列處理成BERT 在處理文本分類任務時所要求的輸入格式,從而最大程度地發揮BERT 的效果。

1.2 特征抽取層

1.2.1 局部特征抽取器

(1)詞嵌入層

將句子輸入到詞嵌入層進行特征表示,詞嵌入層可以將分好的詞變為稠密的向量。在DFLGABERT 中,由于BERT 具有強大的表示能力,為了加快學習進程和獲得更強性能,使用經過預訓練的BERT詞向量作為詞嵌入層。假設L∈Rde×|v|是BERT 向量,de是嵌入向量的維度,|V|是詞庫的大小,每個上下文詞Wi對應一個向量。

(2)MHSA 編碼器

經過詞嵌入層的表示后,輸入序列的隱層向量已經包含了所提及的語義特征,為了提取其中有助于判別方面情感的特征,使用多頭注意力(multihead self-attention,MHSA)來對特征進行提取。多頭注意力與單頭注意力的不同之處在于進行了多次計算而不僅僅算一次,這樣可以允許模型在不同的表示子空間里學習到相關的信息。MHSA 的主要思想是通過多個注意力函數來對每個單詞計算注意力數值,將這多個注意力數值拼接在一起后進行激活函數運算,其結果即為輸入序列的語義表示。令詞嵌入層的輸出為El,單頭注意力的計算方式為:

式中,Wq、Wk、Wv均為權重矩陣,。這三個矩陣中的權重屬于模型的可訓練參數。dq、dk、dv是矩陣維度,三者的值都是dh/h。其中,dh是隱藏層維數,h是多頭注意力機制中的頭數。根據每個注意力頭的H計算結果,可得到整個MHSA 的輸出Out(El):

式中,⊕表示向量的拼接操作;WMHSA是一個向量矩陣,;Tanh 是激活函數。通過以上步驟,多頭注意力將基礎的詞嵌入向量編碼為包含豐富信息的語義向量表示。

(3)語義相關距離SRD

語義相關距離(SRD)就是指同一句子中兩個詞互相之間的語義影響度,一般來說,兩個單詞之間的語義相關距離越近,則兩個單詞之間的語義相關程度越高。SRD 一般分序列距離和依存距離兩種,序列距離就是兩個詞在句子中位置的絕對距離。依存距離是指兩個詞在句法依存樹中對應節點之間的最短距離。如果方面詞由多個詞語組成,則SRD 被計算為方面詞每個組件單詞和輸入單詞之間的平均距離。SRD(序列距離)的計算過程如下:設輸入的原上下文序列為W={w1,w2,…,wi,wi+1,…,wi+m-1,wi+m,…,wn},其中{wi,wi+1,…,wi+m-1}為方面詞序列,對上下文序列中的任意單詞wj(1 ≤j≤n),SRD 的計算方法為:

經過實驗測試,本文模型中使用序列距離的效果更好,因此選用序列距離作為詞語的語義相關距離。

(4)上下文動態掩碼CDM

通過計算句子中各詞與方面詞之間的語義相關距離,然后根據與方面詞的SRD 大小可以掩蔽掉一些對方面詞的情感傾向無關的部分上下文詞。給定全局上下文向量H以及語義相關距離的閾值a。具體流程為:對于輸入的上下文序列,本文首先計算上下文詞與方面詞的語義相關距離,再根據閾值a將上下文中與方面詞的語義相關距離超過a的詞用全零矩陣進行覆蓋,進而計算上下文的掩碼向量M。

式中,O和E分別表示全零向量和全一向量;O,E∈,其中dh為上下文隱層向量的維度,?表示哈達瑪積(即兩個相同維度的矩陣相同位置兩兩相乘),通過式(10)將與方面詞的語義相關距離超過a的詞用全零矩陣進行覆蓋即得到局部特征嵌入層的輸出Outlocal。最后通過注意力機制提取之后輸出局部上下文對方面詞的注意結果如式(11)。

1.2.2 全局特征抽取器

其中詞嵌入部分、MHSA 編碼器部分和局部特征抽取器相同,就不再贅述。

(1)上下文感知注意力編碼

與傳統的注意力編碼不同,本文模型采用Yang等人[16]提出的上下文語境融合網絡,其核心思想是在保持自注意力模型并行計算和特征抽取的基礎上充分利用語料的內在信息去挖掘句子中詞語之間的聯系。傳統注意力編碼的計算[16]和深度全局語境融合網絡編碼[16]的區別見圖3和圖4所示。

圖3 傳統注意力計算Fig.3 Conventional attention calculating

圖4 深度全局上下文注意力計算Fig.4 Deep-global context attention calculating

在傳統的注意力編碼中主要是建模了詞與詞之間的關聯,得到整個輸入序列對某一個詞的權重序列。全局上下文注意是指用一個在層與層之間共享的向量c來建模序列的全局語義,幫助模型理解整句的整體語義。深度是指模型內部具有多層的隱藏層,在深度學習模型中通常會使用多層的隱藏層來建模多個方面的信息,例如每個詞在不同方面的句法信息和語法信息,Yang 等人[16]的研究表明,底層的隱藏層通常會蘊含句法相關的信息,較高層的隱藏層用來捕獲上下文相關的方面信息。在深度全局上下文注意力的計算當中結合了全局上下文和深度上下文,充分利用全局上下文和深度上下文的優勢,跨層融合全局上下文,將詞與詞之間的詞匯信息、句法信息、語義信息一起融入到特征向量中。

(2)深度全局上下文注意

深度全局上下文注意分數計算是基于上下文感知的注意力編碼,為了緩解自注意力模型上下文信息的缺乏,模型將上下文的信息嵌入到編碼層的查詢矩陣Q和鍵值矩陣K中,在避免了顯著增加計算量的同時保持了原有的并行計算,具體的方式見式(12)所示:

(3)“準”注意力分數計算

在常規的注意力計算中,由于使用了Softmax 函數注意力分數在[0,1]之間,也就是說,它只允許每個位置的隱層向量進行凸加權組合,對注意力分數的貢獻只能是相加的,這會導致即使是跟目標方面詞不相關的詞也會得到正的注意力分數,從而對最終方面詞的情感分類造成一定程度的干擾。因此本文模型將Tay 等人[17]在2019 年提出的“準”注意力[17]注入其中,同時允許加性注意和減性注意來克服這一限制。為了導出“準”注意力矩陣,本文首先定義了“準”上下文查詢矩陣CQ和“準”上下文鍵值矩陣CK,如式(14)所示:

式中,α是一個比例因子;fφ(?)是相似度度量函數,用來捕捉和之間的相似度,本文使用點積函數來參數化fφ。根據每個注意力頭的H(Eg)計算結果,可得到整個MHSA的輸出Out(Eg):

式中,⊕表示向量的拼接操作;WMHSA是一個向量矩陣,;Tanh 是激活函數。將全局上下文的權重系數的值表示為雙向的,得到式(18):

式中,{β,γ}是控制權重的標量。用來控制“準”注意力權重系數,進而調整全局特征在總體特征中權重占比。由式(13)可知{,}的值域為[0,1]。當β=1,γ=1 時,(β?+γ?)的值域為[0,2],則的值域為[-1,1]。此時,局部特征和全局特征對模型總體的貢獻為1∶1,由此來平衡局部特征和全局特征。通過注意力機制進行提取之后得到全局上下文對方面詞的注意力分數的結果,全局特征抽取模塊的輸出可表示為式(19):

1.3 特征融合

在局部特征和全局特征進行融合時,普通的融合方式如線性層、拼接、和、積等,很容易損失和覆蓋特征信息,最終導致模型的性能下降。

為了解決這個問題,本文基于CLN 設計了新的特征融合結構,張龍輝等人[18]曾在對序列進行層規范化(layer normalization,LN)的同時將額外的條件c1和c2融入到LN的過程中,來增強特征,提出了CLN。LN和CLN的計算過程如下:

式(20)為LN 的計算公式,其中E[x]為求x的均值,Var[x]為求x的方差,ε為保持分母不為零的極小常量,φ和η分別為縮放變量和平移變量。式(21)為CLN 的計算公式,其中Wφ、Wη為可訓練參數,c1和c2為待融合條件。對比式(20),CLN 將條件c1和c2通過線性變換映射到兩個不同的空間,作為縮放變量φ和平移變量η加入到y的規范化過程中。

CLN 中變量的不同輸入順序,同樣會導致不同的融合結果,能夠體現變量間的方向性特征。本文利用多個CLN 的組合結構來強化階段間的特征傳輸過程,豐富語義特征的表達,保留原有特征的信息以及方向性特征,進而達到特征融合的目的。為了最大程度地保留特征抽取模塊抽取的特征信息,本文首先將全局特征作為輔助信息融入到局部特征中,過程如下:

然后將局部特征作為輔助信息融入到全局特征中,過程如下:

最后取式(22)和式(23)的均值得到雙特征融合向量Ofusion,如式(24)所示:

1.4 輸出層

得到特征抽取層輸出的雙特征融合向量Ofusion后,將其輸入到線性分類層去做關于方面詞的情感分類,使用Softmax 層預測情感極性。計算過程如式(25)和式(26)所示:

式中,MLP(multilayer perceptron)表示多層感知機,p與情緒標簽的維數相同,而分別是學習權重和偏置。

2 實驗和結果

在本章中,為了驗證模型的有效性,首先介紹了用于評估的數據集和用于比較的基線方法。然后,針對細粒度情感分析任務ABSA 以及它的子任務TABSA 分別進行了實驗,并從不同的角度報告了實驗結果。

2.1 實驗環境及數據集

本文實驗環境如下:CPU 為Intel Core i7 8700K,GPU為GeForce GTX 1080Ti,內存大小為DDR4 16 GB,開發環境為win10 64位操作系統,Pytorch1.5.0。

為了更加全面地對本文模型進行評估,本文采用兩個公開的英文數據集對ABSA任務和TABSA任務進行了實驗評估。對于TABSA 任務,本文使用了由雅虎問答構建的Sentihood 數據集5,它由5 215 個句子組成,其中3 862個句子包含一個目標方面,1 353個句子包含多個目標方面。對于ABSA任務,本文使用的數據集是SemEval 2014 Task 4,這些數據集中包含多個方面項及其對應的情緒極性(積極、中立或消極)。表1顯示了每個類別中的訓練和測試實例的數量。此外,本文在參數選擇過程中隨機劃分出20%的訓練集作為開發集。本次實驗所有復現的模型以及本文模型都使用了同樣的數據集處理方式。

表1 SemEval數據集的統計信息Table 1 Statistics of SemEval datasets

與學者Pontiki等人[3]的研究一樣,本文為每個數據集定義了兩個子任務:(1)方面詞的檢測;(2)基于方面的情感分析。對于方面詞的檢測,如果它是TABSA任務,則檢測在目標實體為t的輸入句子中是否提到了預先給定的方面集合中的方面類別a(如果為None,則意味著沒有提到),如果是ABSA 任務則直接檢測輸入句子中是否提到了預先給定的方面集合中的方面類別a。對于方面的情感分析,本文給出了模型存在的方面(即忽略掉在句子中沒有提到的方面),讓模型預測方面的情感極性(Sentihood 數據集是積極或消極,SemEval 2014 Task 4 數據集是積極、中立、消極或沖突)。

2.2 實驗參數設置

在本文的實驗中,對于方面詞的檢測(輸入的句子中是否存在給定的方面,如不存在則為None),本文采用分類任務常用的準確度Acc、F1 以及AUC 值作為評價指標,對于基于方面的情感分析任務本文使用召回率F1和AUC值作為評價指標。本文使用預先訓練好的BERT進行微調,特征向量的層數為12,維度為768。在本文的模型訓練中,使用Adam作為優化器,初始學習率為2E-5,batch_size 為4,dropout 概率為0.1,epoch 為20,在兩個數據集中單次的訓練時間為19 h。

2.3 實驗1:TABSA任務

基于目標方面的情感分析TABSA旨在識別句子中針對一個指定實體(target,aspect term)的一個指定方面(aspect category)的情感。例如:“這塊牛排的味道非常好吃,但價格有點貴。果汁既便宜又好喝”在給定的關于餐廳的目標方面集合{味道,服務,價格,位置,服務,裝修等}中表現出了對“牛排味道”“果汁味道”“果汁價格”這個方面的積極情感,對“牛排價格”這個方面的消極情感,模型需要正確識別出目標實體在目標方面的情感極性。相較于關于方面的情感分析ABSA 任務,TABSA 中可能出現的實體更多,預測的是實體-方面類別詞對的情感極性。

為了綜合評價本文模型,將它們與一系列基線和最先進的模型進行比較,如下所示:

(1)LR:一種具有多分類語法和位置標簽的邏輯回歸分類器。

(2)LSTM-Final[20]:Ruder等人使用分層雙向長短期記憶網絡(long short-term memory networks,LSTM)對評論中句子的相互依存關系進行建模。

(3)LSTM-Loc[21]:Tang 等人將目標位置相關聯的狀態融入特征的雙向長短期記憶網絡模型。

(4)LSTM+TA+SA[22]:Ma 等人在長短期記憶網絡中引入了目標層注意和句子層注意的分層注意機制。情感相關概念的常識知識被納入用于情感分類的深度神經網絡的端到端訓練中。

(5)SenticLSTM[22]:Ma 等人將SenticNet[23]的外部信息引入到模型之中,是LSTM+TA+SA 模型的升級版本。

(6)Dmu-Entnet[24]:Liu 等人受機器閱讀記憶增強模型的最新進展的啟發,提出了一種新的雙向Entnet[25]體系結構,利用外部“內存鏈”和延遲的內存更新機制來跟蹤實體。

(7)BERT-single[9]:Devlin 等人設計為通過聯合限制所有層的左右上下文來預先訓練來自未標記文本的深層雙向表征。僅使用BERT 對自然語言表征進行編碼后進行目標方面情感分析。

(8)BERT-pair-QA-M[10]:Sun 等人利用BERT 做神經表征編碼的基礎上,通過從方面詞構造一個助句,將方面情感分析任務轉換為問答。

(9)BERT-pair-NLI-B[10]:通過從方面詞構造一個助句,將方面情感分析任務轉換為自然語言推理。

(10)LCF-BERT[11]:Zeng等人使用語義-關系距離(SRD)的局部上下文-關注設計來丟棄無關的情感詞。

(11)LCFS-BERT[26]:Phan 等人結合詞性嵌入、基于依賴關系的嵌入和上下文嵌入來提高方面抽取器的性能。提出了句法相對距離來淡化不相關詞的負面影響,提高了方面情感分類器的準確性。

(12)Dual-MRC[27]:Mao等人基于三元組的抽取任務,構造了兩個機器閱讀理解(machine reading comprehension,MRC)問題,并通過聯合訓練兩個參數共享的BERT-MRC模型來解決端到端框架的所有子任務。

(13)DualGCN[28]:Li等人提出雙重圖卷積網絡模型,分別捕獲句法知識和語義相關性。

(14)CG-BERT[14]:Wu 等人基于上下文動態分配自注意力權重提出上下文引導的BERT 模型CGBERT,可以針對不同的上下文背景自適應地調節上下文語境對方面詞的影響。

(15)QACG-BERT[14]:Wu 等人對CG-BERT 模型進行改進,提出“準”注意力的CG-BRRT 模型,使得模型在學習的過程中支持值為負數的注意力分數。

(16)DFLGA-BERT:本文模型,基于雙特征融合注意力分別設計了局部與全局的特征抽取模塊,充分捕捉方面詞和上下文的語義關聯。并將一種改進的“準”注意力添加到DFLGA-BERT 中,使模型學習在注意力的融合中使用減性注意力以削弱文本噪聲產生的負面影響。

表2 展示了模型在Sentihood 數據集5 上的實驗結果。如表2 所示,在普通的基線模型中,基于特征工程的邏輯回歸分類器首先開始嘗試方面級情感分析任務。時間最早,但在情感分類上的效果卻出人意料得好,超過了許多不含BERT 加持的基線模型。但在傳統的機器學習方法中由于手動制作特征的復雜性,在不考慮人工成本的條件下依舊是一個不錯的選擇。在長短期記憶網絡問世之后,Ruder 等人[20]和Ma等人[22]先后利用分層雙向LSTM 以及將目標層注意和句子層的注意引入到LSTM中,模型整體在方面類別抽取子任務上的性能得到了提升。由于LSTM的結構比較簡單,且未考慮方面詞的有關信息,分類的效果依舊不是很理想。BERT-pair-QA-M 和BERTpair-NLI-B模型利用BERT模型在自然語言推理和問答任務上的優勢,巧妙地通過構造助句的方法,將情感分析任務轉換為問答任務和自然語言推理任務,在方面情感分析任務上的Acc 指標提升了0.07~0.11。LCFS-BERT、CG-BERT、QACG-BERT 也都設計了合適的網絡結構和子模塊來引導整個模型滿足方面詞情感分析任務的要求,充分發揮了BERT 強大的優勢,取得了令人矚目的成績。DFLGA-BERT 則是憑借整合局部特征和深度全局上下文特征的優勢,在情感分類的Acc和AUC上,都獲得了比上述基線更理想的結果。證明了整體模型在解決方面詞情感分析任務上的優秀能力。

表2 實驗結果對比(TABSA任務)Table 2 Comparison of experimental results(TABSA task) 單位:%

2.4 實驗2:ABSA任務

基于方面的情感分析任務ABSA 目的是給定文本以及文本中可能出現的方面,預測文本是否提到該方面詞,并預測該方面詞在文本中的情感極性。

在ABSA 任務中,將本文的DFLGA-BERT 模型與在SemEval-2014 數據集上表現優秀的幾個模型進行比較。在方面檢測任務中本文采用分類常用的Precision、Recall、F1 值作為衡量指標,在方面情感分析方面,本文采用Acc 作為評價指標,結果展示了模型在二分類(積極,消極)、三分類(積極,中性,消極)、四分類(積極,中性、消極、沖突)上的表現。實驗結果如表3所示。

表3 實驗結果對比(ABSA任務)Table 3 Comparison of experimental results(ABSA task) 單位:%

為了綜合評價本文模型,將它們與一系列基線和最先進的模型進行比較,如下所示:

(1)XRCE[29]:Brun 等人介紹了為SemEval-2014任務4開發的專門用于基于方面的情感分析的系統。該系統基于一個健壯的解析器,該解析器為不同的分類器提供信息,為不同的分類器提供專用于方面類別和方面類別極性分類的語言特征。

(2)NRC-Canada[30]:Kiritchenko等人基于SemEval-2014 任務4 設計的關于方面檢測以及方面情感分析的分類器。

其他對比模型同實驗1中模型,此處不予贅述。

表3 展示了各個模型在SemEval-2014 數據集上的表現。如表3 所示,XRCE 和NRC-Canada 模型是Brun 等人[29]和Kiritchenko 等人[30]基于SemEval-2014任務4 設計的關于方面類別檢測以及方面情感分析的分類器,雖然沒有用復雜的深度學習網絡,但依靠手工編碼特征依舊取得了不錯的成績,為之后的學者提供了可參考的實驗結果。Sun 等人[10]在利用BERT 做神經表征編碼的基礎上,通過從方面詞構造一個助句,將方面情感分析任務轉換為問答和自然語言推理,充分利用BERT 模型在分析句子對任務上天然的優勢。在二分類的情感分類任務上達到了95.4%的準確率,該模型的性能已近乎達到其潛在最優效果的極限。LCFS-BERT則基于依賴關系提出了句法相對距離來淡化不相關詞的負面影響,在三分類和四分類的任務上提升了1 個百分點。本文模型在方面詞檢測的精確度和召回率上都表現出了比基線模型更優的實驗結果,Macro-F1 分數比Wu 等人[14]的QACG-BERT 模型略低4E-4,在情感分類任務上也相對占優,證明了整體模型在解決方面詞情感分析任務上的優秀能力。

2.5 實驗結果分析

綜合兩個實驗來看,本文提出的基于雙特征融合注意力的方面情感分析模型,針對局部特征抽取和全局特征抽取分別設計了局部特征和全局特征的抽取模塊,能夠顯著提升BERT 在方面詞檢測和方面情感分析任務上的表現,在TABSA 任務和ABSA 任務上都有比較好的效果。其一,本文將模型的輸入處理成BERT 在處理文本分類任務時所要求的輸入格式,最大程度地利用BERT 在語義抽取方面的優勢。其二,ABSA 任務和TABSA 任務中由于有來自方面詞(aspect)和目標項(target)的額外信息,分類場景比普通的SA(sentiment analysis)任務更加復雜,直接微調傳統的BERT 預訓練模型并不能實現模型性能的增長。本文根據不同的上下文場景,設計局部特征抽取模塊減少注意力的感知范圍,屏蔽距離較遠的詞對方面詞產生的干擾,強化方面詞的范圍感知能力。同時設計全局特征抽取模塊,去彌補局部特征抽取時忽略的距離較遠但也和方面詞比較相關的詞。以內部的隱藏狀態作為上下文的特征向量,在不增加外語義信息的條件下深度抽取全局語義信息。其三,本文在特征融合階段采用多個條件層規范化的組合結構,豐富了語義特征的表達,避免了特征融合階段的特征損失。在方面詞的檢測和情感分類上都取得了相比于之前的基線模型更好的結果。

2.6 實驗參數分析

為了檢驗DFLGA-BERT模型學習到的全局參數的有效性,本文用訓練好的DFLGA-BERT 模型將測試集中的一個句子進行了自注意力和準注意力的可視化展示,如圖5所示。在這個句子中本文正確地預測了“book version”的情感極性為正,high 相對于方面詞version 也是一個積極情感的詞,因此在自注意力的計算中high的自注意力分數和hardcover都很高。但是就全句上下文語境而言,high與price更相關,并且表示負面的情感極性,因此可以看到在“準”注意力分數上high的分數接近負1.0,這也會在本文最終的關注度中將對應的注意分數減去,最終得到version更多相關于hardcover 并且情感極性為正。由于準注意力的存在,很明顯看到在特征融合之后部分詞的注意力分數為負,Tay等人[17]在論文“Compositional De-Attention Networks”第四章對自然語言處理任務的分析中得出結論,“準”注意力的使用能有效幫助模型學習在不同的上下文語境中分配合適的注意力(正向、零、負向),這些分別對應(增加注意力、忽略、降低注意力),因此方面詞會降低對“high”的關注度。這也證明了DFLGA-BERT模型能有效地排除大部分的噪聲干擾,能夠忽略輸入中一部分不相關的信息,有效提升后期情感分類任務的準確度。

圖5 測試集中對(book,version)詞對的注意力權重示例Fig.5 Example of attention weights extracted from test set of pair(book,version)

2.7 自注意力和“準”注意力對比實驗

從圖6 可知,在傳統的自注意力(attention)中,方面詞“book version”將注意力主要集中于上下文的“a hardcover”以及“a bit high”中,由于自注意力分數的計算受到softmax 函數的限制,注意力分數的數值會分布在[0,1]區間內。通俗地理解為方面詞會按照注意力分數的大小分配自身的自注意力,而所有上下文詞的自注意力分數都大于0,這表示它們或多或少都會“被關注”,因此才會造成一定的噪聲問題。例如圖中的例子,從自注意力的角度而言,“a hardcover”和“a bit high”的關注度都很高,那么“a bit high”也很有可能在最后進行情感分類的時候被誤認為是“book version”的觀點項,從而導致模型預測結果不準確。而從“準”注意力(de-attention)的角度而言,“準”注意力中學習了全局上下文的整體語義,它“學”到“a bit high”也飽含情感,但與“book version”在語境上不符,因此降低對它的關注度,最終會將注意力集中于“a hardcover”,將它作為情感分類的觀點項,這正是本文模型所追求的。

圖6 自注意力與“準”注意力可視化效果對比(book,version)Fig.6 Comparison of visualization between attention and de-attention(book,version)

2.8 SRD參數的選擇

為了探究不同的語義相關距離對DFLGA 模型的影響,以及尋求DFLGA 模型在各個數據集上的最佳SRD 閾值參數,本文在兩個數據集上進行了關于SRD 閾值a和序列距離以及依存距離的實驗,以評估在不同情況下的最佳語義相關距離和閾值a。相應模型和數據集的SRD 范圍為0 到8,如果SRD 閾值a為0,則局部上下文等于方面詞本身。結果如圖7 和圖8 所示,序列距離為Seq,依存距離為Deq。在本次的比較實驗中,除SRD 閾值外,所有的參數和超參數均一致。由于實驗結果波動,本文在每個數據集上進行了多次實驗,以得到的平均結果進行比較。由圖7 和圖8 可知,無論是在Sentihood 數據集還是SemEval-2014 數據集中,使用序列距離的效果都優于使用依存距離。當閾值為3 附近的時候取得本次實驗的最佳結果。

圖7 不同a下DFLGA的精度(Sentihood)Fig.7 Accuracy of DFLGA under different a(Sentihood)

圖8 不同a下DFLGA的精度(SemEval-2014)Fig.8 Accuracy of DFLGA under different a(SemEval-2014)

2.9 消融實驗

為了分析DFLGA-BERT 模型每個組件的重要性,本文設計了DFLGA-BERT 關于TABSA 任務和ABSA任務的消融實驗,實驗結果列于表4和表5。

表4 DFLGA-BERT消融實驗(TABSA任務)Table 4 DFLGA-BERT ablation experiment(TABSA task) 單位:%

表5 DFLGA-BERT消融實驗(ABSA任務)Table 5 DFLGA-BERT ablation experiment(ABSA task) 單位:%

由表4 和表5 可以清楚地看到,缺少了任意一個模塊,DFLGA 的效果都會出現明顯的下降。全局特征抽取模塊對模型整體的效果影響最大,這表明了全局語義特征對自然語言理解任務的重要性,相對于普通句中方面詞和情感指示詞都相距較近,比較容易判斷。最難判斷的句子往往是情感指示詞出現在模型意想不到的地方,甚至是局部特征抽取會直接忽略的地方,此時就只能依靠全局語義特征來進行判斷。在模型整體中,局部語義特征和全局語義特征相輔相成,全局語義特征能夠估計全面的語義但不夠突出,局部特征能充分捕捉鄰近的語義特征但容易忽略較遠的詞語,兩個特征抽取模塊都對DFLGA 模型非常關鍵。通過上述消融實驗,可以驗證DFLGA各個子模塊在本任務中的有效性。

3 結束語

本文針對當前方面詞情感分析任務研究中存在的不足,設計了DFLGA 模型。該模型首次將局部注意力模型LCF 與全局特征抽取的深度上下文感知網絡相結合,能夠高效地抽取指定方面詞的情感特征。全局和局部特征抽取器的設計使模型能夠兼顧全面的同時聚焦局部特征,同時注入“準”注意力來削弱文本中噪聲對分類的影響。為了加快模型的訓練獲得更好的結果,本文使用了BERT 的預訓練模型,在TABSA 任務的Sentihood 數據集5、ABSA 任務的SemEval 2014 中,進行了實驗驗證,取得了比之前的模型更好的結果。此外,本文還設計了消融實驗以驗證模型各組件的有效性。盡管DFLGA 模型在多個數據集上都有不錯的表現,但仍然存在一定的提升空間。在未來,將考慮使用額外的領域內語料資源來增強BERT 在該領域的語義表示能力,從而幫助模型獲得更優秀的情感判斷能力。

猜你喜歡
全局注意力語義
Cahn-Hilliard-Brinkman系統的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
讓注意力“飛”回來
語言與語義
落子山東,意在全局
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
“上”與“下”語義的不對稱性及其認知闡釋
認知范疇模糊與語義模糊
新思路:牽一發動全局
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合