国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于BERT與記憶網(wǎng)絡(luò)的長文本方面級情感分析*

2022-02-28 13:56吳亞東褚琦凱付朝帥張貴宇
傳感器與微系統(tǒng) 2022年2期
關(guān)鍵詞:短句短語注意力

李 攀, 吳亞東, 褚琦凱, 付朝帥, 張貴宇

(1.四川輕化工大學(xué) 自動化與信息工程學(xué)院,四川 宜賓 644000;2.四川輕化工大學(xué) 計算機科學(xué)與工程學(xué)院,四川 宜賓 644000;3.四川輕化工大學(xué) 人工智能四川省重點實驗室, 四川 宜賓 644000;4.四川省大數(shù)據(jù)可視分析工程技術(shù)實驗室,四川 宜賓 644000)

0 引 言

方面級情感分析(aspect-based sentiment analysis,ABSA)區(qū)別與篇章級和句子級情感分析方法,目的是確定出語句中不同方面的情感極性,是一項細(xì)粒度情感分析方法[1]。例如:“這家店鋪的地理位置很好,但是口味很差”。當(dāng)方面詞給定為“位置”時,句子對應(yīng)的情感極性為積極,而當(dāng)方面詞給定為“口味”時,句子情感極性為消極。由于ABSA能實現(xiàn)多維度的情感挖掘,已被廣泛地運用在產(chǎn)品推薦和產(chǎn)品質(zhì)量反饋等方面。

方面級情感分析解決方法最開始是通過人工構(gòu)建特征,結(jié)合機器學(xué)習(xí)或者淺層神經(jīng)網(wǎng)絡(luò)去做分類任務(wù),這些方法不僅特征工程復(fù)雜,且需要大量的人工,缺乏泛化能力[2]。近年來,隨著注意力機制的出現(xiàn),ABSA方法大多開始結(jié)合單層或多層注意力機制來實現(xiàn)顯示方面詞與上下文的交互。在單層注意力方面,Ma D等人[3]提出了交互注意力網(wǎng)絡(luò)(interactive attention networks,IAN)模型,以交互式注意力機制計算上下文與方面詞的注意力得分。Wang Y等人[4]提出了基于注意力機制的長短時記憶網(wǎng)絡(luò)(attention-based LSTM with aspect embedding long short term memory,ATAE-LSTM)模型,用LSTM對目標(biāo)句和方面詞進(jìn)行合并編碼,采用注意力機制來獲取給定方面詞的目標(biāo)句特征向量表示。多層注意力與ABSA的結(jié)合,使得模型又提升了較高的性能。例如,Tang D等人[5]將記憶網(wǎng)絡(luò)(memory network,MemNet)應(yīng)用到ABSA任務(wù)中。其主要思想是采用具有外部記憶的注意力機制來捕捉每個與給定目標(biāo)方面相關(guān)的上下文詞。Huang B等人[6]將AOA(attention-over-attention)機制應(yīng)用到ABSA任務(wù)中,從行和列分別計算句子級與文檔級的注意力得分,增強了文本與方面詞的信息交互。杜成玉等人[7]以螺旋交互注意力機制實現(xiàn)上下文與方面詞交互,增強了目標(biāo)句與方面詞的語義表示。

隨著BERT[8]的出現(xiàn),大多數(shù)ABSA任務(wù)選擇將其作為句子的編碼模型,來獲取比Word2vec[9],Glove[10]等淺層詞嵌入更好的語義表達(dá)。在編碼方式上,Sun C等人[11]將ABSA任務(wù)轉(zhuǎn)化成句子對分類問題,采用構(gòu)造輔助句子對的方式將上下文與方面詞進(jìn)行聯(lián)合編碼,以編碼后的[CLS]向量作為情感分類特征。Gao Z等人[12]提出了TD-BERT(target dependent sentiment classification with BERT)模型,通過截取方面詞的特征編碼與[CLS]拼接后,作為最終的文本分類特征。Liu Y等人[13]構(gòu)造了多[CLS]的Token嵌入,每一個[CLS]向量代表該短句的分類特征,在摘要抽取任務(wù)上取得較好的表現(xiàn)。

綜上所述,大多數(shù)ABSA模型在處理長文本時,以上下文或方面詞的平均向量或拼接后的首位[CLS]向量作為分類特征,都會造成信息損失。此外,在面對隱式方面詞的場景,基于方面詞嵌入與融合位置加權(quán)信息的方式便不再適用了。為此,本文研究了一種基于BERT表示的記憶網(wǎng)絡(luò)(BERT-deep memory network,BDMN)模型。通過構(gòu)造多[CLS]的Token嵌入方式來降低處理長文本時信息損失,同時采用結(jié)合注意力機制的記憶網(wǎng)絡(luò)結(jié)構(gòu)捕獲句子的深層方面語義表示,以提升模型在含隱式方面詞及長文本情形下的方面情感分析性能。

1 方面級情感分析模型

1.1 基于BERT的多[CLS]嵌入模型

受Liu Y等人[13]的啟發(fā),為了獲取到多語句編碼,將長句切割為多個短句的形式,分別使用[CLS]和[SEP]字符進(jìn)行包裹,最后用同樣的方式整合方面短語,并與全部編碼后的短句進(jìn)行拼接,便將一個長句編碼成由多個句子組成的方式。模型整體結(jié)構(gòu)如圖1所示。

圖1 基于BERT的多[CLS]結(jié)構(gòu)模型

從圖1可以看出,模型主要由輸入層,Mark層,BERT以及情感分類層組成。對比于原始的BERT模型,模型在Input,Token,Segment三個嵌入的表示都不相同,只有位置編碼與原BERT一致。為了區(qū)分不同的短句,本文沿用原BERT的Segment編碼方式,將切割后的短句(包含[CLS]和[SEP])用0,1編碼區(qū)分。針對每一個句子長度以及切割后的短句長度不一致,增加了Mark層輸入,該層主要是記錄句子中所有短句中的[CLS]與[SEP]字符位置,便于對每個短句中的特征向量進(jìn)行抽取和屏蔽。

1.2 記憶網(wǎng)絡(luò)層

基于上述BERT的輸出結(jié)構(gòu)上,本文設(shè)計了一種基于記憶網(wǎng)絡(luò)的注意力機制結(jié)構(gòu),用以捕獲目標(biāo)句與方面詞間的重要信息,結(jié)構(gòu)如圖2所示。

圖2 基于BERT的記憶網(wǎng)絡(luò)結(jié)構(gòu)

為了得到句子的深層語義表示,本文采用了多個計算層(hops)進(jìn)行記憶的疊加,每一個計算層都包含一個注意力機制[14]和線性層,整個計算流程如式(1)、式(2)所示

(1)

(2)

式(1)中,hg∈dBERT表示更新注意力記憶后的方面短語表示,g為當(dāng)前計算層數(shù),F(xiàn)C表示全連接層。式(2)中,colm為長度為m,值為1的列向量,?表示將平鋪成與相同的維度。

(3)

(4)

(5)

在第一個計算層(hop1)中,將方面短語的Acls作為輸入,通過注意力機制選擇記憶h中重要的部分,之后,將注意力層的輸出和Acls的線性變換相加,作為下一層的輸入。在經(jīng)過多個計算層之后,得到了每個短句更新記憶后的情感特征向量,其更能表示句子中不同部分對特定方面的情感貢獻(xiàn)。最后,將所有短句的情感特征向量ei堆疊在一起得到最終的文本情感表示E=[e1,e2,…,en]∈dn×dBERT。

1.3 分類層

由于訓(xùn)練樣本中各類別數(shù)據(jù)存在不均衡的情況。為此,本文選用Focal Loss作為訓(xùn)練時的損失函數(shù),其在多分類場景下的計算公式如式(6)~式(8)所示[15]

yt=SoftMax(E)

(6)

CE(yt)=ytruelog(yt)

(7)

(8)

式中αi用于調(diào)節(jié)多分類時各類別的權(quán)重占比,取值范圍在[0,1]。γ為一個可調(diào)節(jié)的參數(shù),用于降低簡單樣本的損失值,使得模型更關(guān)注于樣本數(shù)量較少的類。在多分類場景下,αi的計算流程如下

(9)

(10)

式中ci為類別樣本,ki為各個類別樣本占比。

2 實驗設(shè)計與結(jié)果分析

2.1 實驗數(shù)據(jù)

本文采用AI Challenger 2018細(xì)粒度情感分析數(shù)據(jù)集進(jìn)行訓(xùn)練測試。為與其他文獻(xiàn)一致,選擇了“位置”粗粒度下“交通是否便利”、“距離商圈遠(yuǎn)近”和“是否容易尋找”3個細(xì)粒度方面的數(shù)據(jù)。由于數(shù)據(jù)中的“未提及”類別樣本數(shù)目過多,剔除了3個細(xì)粒度方面標(biāo)簽均為未提及的樣本以及標(biāo)點符號間文本過長無意義的樣本。數(shù)據(jù)詳情分布如表1所示。

表1 數(shù)據(jù)集分布詳細(xì)

2.2 參數(shù)設(shè)置及評價指標(biāo)

本文所有模型均使用Tensorflow2.2框架搭建,4張內(nèi)存為12G TITAN顯卡共同訓(xùn)練。操作系統(tǒng)Window10,軟件環(huán)境為Pycharm。

由于不同類別樣本數(shù)目差異較大,無法用準(zhǔn)確率來衡量模型的好壞,為此選用宏平均F1值(Macro_F1)作為評價指標(biāo)[16]。模型參數(shù)設(shè)置如表2所示。

表2 參數(shù)設(shè)置

2.3 對比模型

所有的對比試驗均采用BERT作為詞向量模型,遷移至BERT下游,與BERT共同微調(diào)訓(xùn)練。由于本文針對的是隱式方面短語,若原文中使用了方面位置加權(quán),則去除這一部分的特征向量。

BERT-Single[11]:BERT編碼后的首位[CLS]向量作為情感分類特征。

AOA[6]:按行和列分別計算方面詞與上下文的注意力得分,句子的方面短語表示作為情感特征向量進(jìn)行分類。

IAN[3]:以方面短語的平均向量為方面詞嵌入向量,交互計算上下文與方面短語的注意力得分。

MemNet[5]:方面短語的平均向量為方面詞嵌入向量,以句子向量作為外部記憶,多次與方面詞嵌入計算注意力得分。

ATAE[4]:方面短語的平均向量作為方面詞嵌入向量,與BERT編碼后的首位[CLS]向量計算注意力得分。

BERT-Pair[11]:首位[CLS]向量作為情感分類特征,直接輸入SoftMax進(jìn)行情感分類。

HAN[7]:方面短語的平均向量作為初始化方面嵌入向量,以螺旋迭代的方式計算上下文與方面詞嵌入的注意力得分。

Multi:拼接所有短句的[CLS]向量作為情感分類特征。

2.4 實驗結(jié)果分析

所有模型都經(jīng)過4次實驗后,取平均值。各個類別的F1值與宏平均F1如表3所示。

表3 各個類別F1與宏平均F1值對比(括號內(nèi)為注意力層數(shù))

以上所有基于BERT的下游模型中,本文方法效果最好,Macro_F1值達(dá)到了69.63 %。BERT-Single的Macro_F1最低,說明以句子的[CLS]向量作為情感特征不能很好地代表整個句子的語義信息。對比BERT-Single, BERT-Pair,BERT-Multi-3個模型,使用多[CLS]結(jié)構(gòu)作為分類特征比使用單句高1.1 %,比句子對高0.81 %,說明多句輸入更能完整保存句子的語義特征。此外,使用注意力機制的模型最少都比BERT-Single高0.31 %,說明注意力機制能有效地提升模型的性能。對比HAN,MemNet,IAN三者,前2者M(jìn)acro_F1分別比IAN高0.05 %,0.12 %,說明使用多層注意力機制要比單層注意力機制模型效果要好,但不是注意力層數(shù)越多,模型性能越好。對比AOA與MemNet,AOA在使用了2層注意力的情況下反而比MemNet(3層)高0.23 %,表明使用字符級的注意力機制比以方面短語的平均向量為方面嵌入更能捕獲方面短語的上下文表示信息。另外從整體來看,模型的F1值高低主要由句子是否有明顯的情感特征字符決定。中性類的F1值為所有類別最低,主要是由于該類別的數(shù)據(jù)量較少,且無明顯的情感字符,使得分類較為困難。同樣數(shù)據(jù)量較少的消極類,由于存在較為明顯的情感傾向字符使得分類性能遠(yuǎn)高于中性類。以多[CLS]結(jié)構(gòu)為輸入的BERT-Multi和本文模型在中性類的F1值都高于其它模型,進(jìn)一步說明多[CLS]結(jié)構(gòu)更能挖掘出句子的方面情感特征。本文模型與BERT-Multi相比,除未提及類基本持平外,其余的各個類別的F1值均高于Multi,其中消極類高0.77 %,中性類高1.08 %,積極類高0.73 %,這也表明基于記憶網(wǎng)絡(luò)更新后的特征向量能更深一步地表示句子的方面情感特征。

3 分析與討論

3.1 記憶網(wǎng)絡(luò)層數(shù)對模型的影響

本文從模型的訓(xùn)練時長以及各類別的F1值2個方面進(jìn)行對比,實驗結(jié)果如表4所示。

表4 不同注意力層數(shù)對本文模型的影響

表4為不同層數(shù)對應(yīng)的類別F1,Macro_F1值以及訓(xùn)練時間比。其中時間比是以1個記憶網(wǎng)絡(luò)層為基礎(chǔ),不同記憶層的運行時長是通過與單個記憶網(wǎng)絡(luò)層的時間比值換算得出。分析發(fā)現(xiàn),隨著記憶網(wǎng)絡(luò)層數(shù)的增加,模型的Macro_F1值并未一直上升,在層數(shù)為3時Macro_F1最高,表明模型已經(jīng)學(xué)習(xí)到了足夠的方面特征表示。當(dāng)網(wǎng)絡(luò)層數(shù)為4層時性能反而開始下降,當(dāng)為5層時結(jié)果還低于單個計算層,同時模型的訓(xùn)練時長提高了1.74倍。由于層數(shù)2與層數(shù)3之間差別不大,為了更好地同其他多層注意力模型進(jìn)行對比,本文采用的網(wǎng)絡(luò)層數(shù)為3。

3.2 注意力可視化

將不同記憶層與方面計算的注意力權(quán)重進(jìn)行了可視化,以顏色的深淺表示當(dāng)前字符的方面注意力值,顏色越深,注意力值越大,結(jié)果如圖3所示。

圖3 記憶層注意力權(quán)重的可視化

圖3中這句話在方面為“交通是否便利”的情感極性是積極的。在第一層注意力時模型已經(jīng)將與方面相關(guān)的“交通”這一關(guān)鍵詞進(jìn)行了加強表示,但并未將表示積極情感的“便利”一詞找出。在第二層注意力中,雖然“交通”與“便利”這2個相關(guān)詞較其他詞來說權(quán)重較大,但沒有得到充分的強調(diào),其周圍詞的權(quán)重也得到了增加,產(chǎn)生較多的噪聲。在第三層注意力時,對“交通很便利”這個短句進(jìn)行了加權(quán),同時“是”一詞的權(quán)重也得到了加強,并判斷為積極。從整體來看,隨著注意力層數(shù)的增加,與方面相關(guān)的關(guān)鍵詞“交通”以及情感傾向詞“便利”的權(quán)重越來越大,這表明本文的方法能夠有效地找出句子中情感信息較大的詞,從而得到更好的方面特征表示。

4 結(jié) 論

本文設(shè)計了BDMN模型來解決含隱式方面詞與長文本場景下的方面情感分析任務(wù)。模型通過重新構(gòu)造BERT的輸入,以多短句輸入的方式從BERT中獲取上下文的初始化向量,并將其作為初始記憶與方面短語的[CLS]向量進(jìn)行充分注意力交互,增強注意力記憶。設(shè)計了多組對比實驗,結(jié)果表明:本文模型的性能在眾多基于BERT的下游任務(wù)中獲得了最好的效果,從而證明了模型能夠有效降低在處理長文本時上下文與方面詞交互的信息損失,提高分類性能。接下來將就如何有效篩選短句、挖掘出更好的句子向量以及提高注意力得分幾個方面開展研究,以減少錯誤的加權(quán)信息,進(jìn)一步提高模型的分類性能。

猜你喜歡
短句短語注意力
短句,讓表達(dá)更豐富
讓注意力“飛”回來
如何培養(yǎng)一年級學(xué)生的注意力
短句—副詞+謂語
短句—謂語+賓語
A Beautiful Way Of Looking At Things
《健民短語》一則
長句變短句方法例談