王 昆,鄭 毅,方書雅,劉守印
(華中師范大學(xué)物理科學(xué)與技術(shù)學(xué)院,武漢 430079)
(*通信作者電子郵箱syliu@mail.ccnu.edu.cn)
情感分析(Sentiment Analysis,SA)是自然語言處理(Natural Language Processing,NLP)中一個(gè)非常重要的子領(lǐng)域。近些年在學(xué)術(shù)界獲得廣泛的關(guān)注,在現(xiàn)實(shí)中也具有重要的應(yīng)用前景[1]。
實(shí)際生活中,用戶在互聯(lián)網(wǎng)上產(chǎn)生的文本中包含的情感是復(fù)雜的、多方面的,用戶在一段文本中會表達(dá)出在不同方面的不同情感傾向?;谶@個(gè)事實(shí),Liu[2]提出了方面級情感分析(Aspect-Based Sentiment Analysis,ABSA)任務(wù),旨在分類出文本在不同方面所包含的情感,實(shí)現(xiàn)文本的多維度情感理解功能。但是,因?yàn)锳BSA 任務(wù)的復(fù)雜性,人工提取文本中的方面及其表達(dá)的情感非常困難,所以相關(guān)數(shù)據(jù)集稀缺,初期的工作主要集中在如何提取方面的研究[3]。近幾年,Pontiki 等[4-5]在SemEval比賽中增加了基于ABSA 的子任務(wù),同時(shí)給出了短文本ABSA 數(shù)據(jù)集,于是開始有大量的學(xué)者針對ABSA 任務(wù)中方面信息利用和情感上下文問題提出各種解決方法。目前ABSA 任務(wù)的主流解決方案包括早期復(fù)雜的特征工程方法[6-7]以及近期的神經(jīng)網(wǎng)絡(luò)算法[8-11]。已有研究結(jié)果表明,神經(jīng)網(wǎng)絡(luò)算法優(yōu)于特征工程方法[1]。在神經(jīng)網(wǎng)絡(luò)算法中,Wang 等[8]首次基于注意力機(jī)制和長短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)提出ATAE-LSTM(ATtention-based LSTM with Aspect Embedding)模型,利用方面語義來搜尋文本中與之相關(guān)位置的內(nèi)容,在短文本ABSA 數(shù)據(jù)集上性能優(yōu)于單純的LSTM[12]。Ma等[9]注意到方面及其上下文的協(xié)調(diào)性,在ATAELSTM 的基礎(chǔ)上進(jìn)一步提出了交互式注意力模型(Interactive Attention Network,IAN),考慮了文本與方面語義之間的交互,進(jìn)一步提升了情感分類正確率。Huang 等[10]注意到IAN的池化層忽略了文本與方面中的每個(gè)詞之間的相互關(guān)系,提出了沒有池化層的AOA-LSTM(Attention Over Attention LSTM)模型,取得了比IAN 更優(yōu)的分類結(jié)果。Xue 等[11]首次提出結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[13]和門控機(jī)制[14]的GCAE(Gated Convolutional network with Aspect Embedding)模型,利用門控單元從文本中篩選出與方面相關(guān)的信息,取得了更高的正確率。
雖然關(guān)于方面級情感分析的帶標(biāo)簽數(shù)據(jù)稀缺,但是非方面級情感分析的標(biāo)記數(shù)據(jù)集很豐富,Chen 等[15]提出將轉(zhuǎn)移膠囊網(wǎng)絡(luò)(Transfer Capsule Network,TransCap)用于將遷移非方面級情感分析中的知識到方面級情感分類,自此該領(lǐng)域的研究開始傾向于使用遷移學(xué)習(xí)算法。同時(shí),隨著語言模型的不斷發(fā)展,Devlin 等[16]提出的文本預(yù)訓(xùn)練模型BERT(Bidirectional Encoder Representation from Transformers)在處理文本分類任務(wù)中表現(xiàn)出色,摒棄了卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),使用雙向Transformer[17]搭建整體網(wǎng)絡(luò),預(yù)訓(xùn)練過程中能夠從淺入深地學(xué)習(xí)到語言中包含的語法語義[18]。BERT 同樣適用于ABSA 任務(wù),Sun 等[1]利用方面來構(gòu)建疑問句,并結(jié)合BERT 模型提出BERT-pair-QA-M 等模型,實(shí)驗(yàn)結(jié)果表明在短文本ABSA 數(shù)據(jù)集上比使用神經(jīng)網(wǎng)絡(luò)算法的分類結(jié)果更優(yōu)。Gao 等[19]在BERT 的基礎(chǔ)上提出TD-BERT 模型,通過抽取BERT編碼層特定位置的特征進(jìn)行方面級情感分類,進(jìn)一步提升分類性能,表明BERT在特征提取方面具有優(yōu)越性能。
在長文本ABSA 任務(wù)上,由于在方面上表達(dá)的情感信息只存在于該方面相關(guān)的語句中,因此如何挖掘文本中與方面有關(guān)的上下文是一個(gè)非常重要的挑戰(zhàn)。袁丁等[20]基于GCAE,提出了CNN-GCAE 模型,利用字詞向量聯(lián)合模型對數(shù)據(jù)進(jìn)行預(yù)處理,克服了GCAE 模型在數(shù)據(jù)預(yù)處理方面的不足,提高了在長文本AI Challenger2018 細(xì)粒度情感分析比賽數(shù)據(jù)集上的召回率[20]。
以上現(xiàn)有的神經(jīng)網(wǎng)絡(luò)算法仍然存在如下問題:首先,基于循環(huán)神經(jīng)網(wǎng)絡(luò)的模型仍然存在一定的梯度消失,而基于卷積神經(jīng)網(wǎng)絡(luò)的模型沒有考慮到文本的時(shí)序關(guān)系,在長文本ABSA任務(wù)上的泛化能力較差;其次,因?yàn)锽ERT 的最長輸入序列長度固定,超過這個(gè)長度將被直接截?cái)?,被截?cái)嗟奈谋究赡苋匀痪哂袥]有被利用的信息。所以,對于長文本還需要進(jìn)一步的數(shù)據(jù)處理,神經(jīng)網(wǎng)絡(luò)模型的性能還有進(jìn)一步提升的空間。同時(shí),AI Challenger2018 細(xì)粒度情感分析比賽數(shù)據(jù)集上將方面分為粗粒度方面和細(xì)粒度方面兩個(gè)層次,對于粒度方面的利用研究目前還在初步階段,如何把現(xiàn)有的模型應(yīng)用在這個(gè)數(shù)據(jù)集上是一個(gè)挑戰(zhàn)。
針對以上問題,本文提出文本篩選和改進(jìn)BERT 的算法來處理長文本的ABSA 任務(wù)。該算法首先利用文本篩選網(wǎng)絡(luò)(Text Filter Network,TFN)對文本中的每個(gè)語句進(jìn)行粗粒度方面的分類,得到部分語句,再對部分語句按次序進(jìn)行組合,輸入到BERT-Pair-ATT 情感分類模型中進(jìn)行訓(xùn)練和預(yù)測。BERT-Pair-ATT 模型使用句子對的方式來處理輸入。因?yàn)樵糂ERT 模型直接將每個(gè)位置點(diǎn)的輸出進(jìn)行平均得到特征向量,沒有體現(xiàn)出每個(gè)位置的重要程度,所以本文在BERT 的頂層增加一個(gè)注意力層,對BERT 的輸出特征賦予不同的權(quán)重。實(shí)驗(yàn)結(jié)果表明,使用本文算法在長文本方面情感分析數(shù)據(jù)集上的結(jié)果比原始BERT高0.58%。本文主要工作為:
1)設(shè)計(jì)了文本篩選網(wǎng)絡(luò)TFN,利用LSTM來提取層次方面中粗粒度方面的文本特征,同時(shí)結(jié)合了注意力機(jī)制來對文本中每個(gè)部分進(jìn)行特征加權(quán),最終篩選出和粗粒度方面相關(guān)的文本(部分語句),對數(shù)據(jù)進(jìn)行充分的預(yù)處理。
2)先利用TFN 對原始文本進(jìn)行一次文本篩選,再將帶有方面信息的文本(部分語句)連同細(xì)粒度方面同時(shí)輸入至BERT-Pair-ATT 中進(jìn)行特征提取,BERT-Pair-ATT 模型充分提取方面中包含的語義特征,提高了長文本ABSA任務(wù)的性能。
本文重點(diǎn)研究長文本在粗粒度和細(xì)粒度兩個(gè)層次下所包含的情感。對于一段文本,需要分類出在預(yù)定義的粗粒度方面下的每個(gè)細(xì)粒度方面所包含的4 種情感趨勢。情感趨勢的集合表示為E={“未提及”,“積極”,“中性”,“消極”}。統(tǒng)一起見,本文將文本表示為S,S可以由單個(gè)字符char的集合來表示,即Sc={char1,char2,…,charc_num};經(jīng)過jieba 分詞軟件分詞可以在詞word的角度表示為Sw={word1,word2,…,wordw_num};經(jīng)過分句之后在句子sent上表示為句子的組合Ss={sent1,sent2,…,sents_num},其中c_num、w_num和s_num分別為文本的包含的字符總數(shù)、單詞總數(shù)和句子總數(shù)。Ss經(jīng)過一定方法篩選之后的集合表示為Sf={sf1,sf2,…,sfm},m為Sf中句子總數(shù),Sf為Ss的子集。粗粒度方面(Coarse Aspect)表示為CA={CA1,CA2,…,CAp},細(xì)粒度方面(Fine Aspect)表示為FA={FA1,F(xiàn)A2,…,F(xiàn)Aq},其中p、q代表的集合中方面的總數(shù),F(xiàn)A集合中的元素是將CA中元素進(jìn)一步細(xì)粒度劃分得到的。
本文的算法框架如圖1 所示,分為兩個(gè)步驟:第一步首先對數(shù)據(jù)集中的原始文本進(jìn)行分句算法處理得到句子組合Ss={sent1,sent2,…,sents_num}。為保證句子的次序,依次將每個(gè)句子與每個(gè)粗粒度方面的組合{senti,CAr}輸入至TFN 模型中判斷這個(gè)句子是否與此粗粒度方面相關(guān),相關(guān)則輸出1,反之輸出0,其中r為CA 中第r個(gè)粗粒度方面。最終得到所有相關(guān)語句的集合Sf={sf1,sf2,…,sfm},其中m≤s_num;當(dāng)所有語句都與粗粒度方面無關(guān)時(shí),選取原始文本,此時(shí)m=s_num。這一步能夠壓縮數(shù)據(jù)集中文本的長度,增強(qiáng)數(shù)據(jù)在第二步的信息效度。第二步利用基于BERT 的BERT-Pair-ATT 模型進(jìn)行方面級情感分類,其輸入采用句子對的方式,第一個(gè)文本為Sf中句子按照次序組合起來的新文本,第二個(gè)文本為CAr層次下的每個(gè)FA,例如“位置”層次下的“交通是否便利”,輸出為情感趨勢E中的類標(biāo)簽。
圖1 本文算法框架Fig.1 Framework of proposed algorithm
TFN 模型的任務(wù)是對數(shù)據(jù)集的文本中的每個(gè)句子按照與之相關(guān)的粗粒度方面進(jìn)行正確分類,篩選出對于第二步有分類價(jià)值的部分語句。本文設(shè)計(jì)的TFN 模型整體框架如圖2 所示。主要包含了詞嵌入層、兩個(gè)LSTM 編碼器[12]、注意力層和二分類器模塊。本文利用詞嵌入模型Word2Vec[21-22]在原始語料庫上預(yù)先訓(xùn)練出一個(gè)領(lǐng)域相關(guān)的詞嵌入模型作為詞嵌入層的模型參數(shù),大小為v×d,v為詞匯表的大小,d為詞嵌入的維度。通過LSTM 模型分別對句子和粗粒度方面文本建模,分別得到大小為h×l和h×c的對應(yīng)嵌入向量,其中h為LSTM的隱藏層的維度,l、c分別為分句后語句和粗粒度方面在詞層面的長度。利用注意力機(jī)制,得到原始文本與粗粒度方面的注意力權(quán)重。最后用權(quán)重與句嵌入向量相乘的結(jié)果作為分類器的特征向量輸入,分類出這個(gè)句子是否和粗粒度方面是相關(guān)的。以下將具體介紹單獨(dú)模塊細(xì)節(jié)。
圖2 TFN模型架構(gòu)Fig.2 TFN model architecture
1.3.1 LSTM編碼器
如圖3所示的LSTM 結(jié)構(gòu)[12],分別對語句以及粗粒度方面建模。輸入的語句由l個(gè)詞組成{ws1,ws2,…,ws}l,粗粒度方面由c個(gè)詞組成{wa1,wa2,…,wac}。輸入至詞嵌入層,得到每個(gè)詞的向量表示wi∈Rd,對于沒有出現(xiàn)在詞表中的詞,本文使用U(-0.25,0.25)的均勻分布隨機(jī)初始化,然后通過LSTM 網(wǎng)絡(luò)得到語句的張量表示Sh=[hs1,hs2,…,hsl],Sh∈Rh×l以及粗粒度方面的張量表示F=[ha1,ha2,…,hac],F(xiàn)∈Rh×c,其中hk為LSTM的隱藏層在每一個(gè)時(shí)間點(diǎn)k上的輸出,LSTM 的隱藏層的輸出具體的計(jì)算公式如式(1)~(6)所示:
其中:ik、fk、ok分別為輸入門、遺忘門和輸出門在k時(shí)刻的輸出;和cellk分別為k時(shí)刻的中間量和狀態(tài)量;Wi、Wf、Wo、Wc為權(quán)重矩陣;bi、bf、bo、bc為偏置向量;σ為Sigmoid函數(shù);“⊙”符號為矩陣對應(yīng)元素相乘。
圖3 LSTM結(jié)構(gòu)Fig.3 LSTM structure
1.3.2 注意力模塊
注意力機(jī)制在情感分析中廣泛應(yīng)用,在情感分析任務(wù)中有很多模型中都嵌入了注意力機(jī)制[8-10]。本文提出一種基于注意力機(jī)制的架構(gòu),將粗粒度方面的信息與原始文本同時(shí)考慮進(jìn)來,共同計(jì)算對于語句中每個(gè)詞的注意力分?jǐn)?shù)。在方面情感分析中,Wang 等[8]證明了方面對于相關(guān)任務(wù)的重要性,并且本文認(rèn)為除了文本整體的語義,一些和粗粒度方面相關(guān)的詞或者詞組能夠有效地幫助分類相關(guān)方面,所以本文提出使用注意力機(jī)制來學(xué)習(xí)文本中不同詞對于粗粒度方面的權(quán)重。粗粒度方面的句嵌入F通過均值池化層進(jìn)行處理得到favg∈Rh×1,即如式(7)所示:
通過將Sh和favg作為注意力模塊的輸入,可以得到favg對于Sh中的每個(gè)時(shí)間點(diǎn)輸出的注意力權(quán)重weight∈Rn×1,本文注意力模塊的相似度計(jì)算準(zhǔn)則為尺度點(diǎn)乘,按照式(8)計(jì)算權(quán)重:
其中softmax函數(shù)為指數(shù)歸一化函數(shù),定義如式(9)所示:
利用權(quán)重向量weight對句嵌入向量Sh進(jìn)行加權(quán)并與粗粒度方面的語義嵌入向量favg進(jìn)行拼接(concatenate)得到最終的特征表示y∈R2h×1,如式(10)所示:
1.3.3 分類器
分類器包含了兩層前饋神經(jīng)網(wǎng)絡(luò):第一層使用大小為h的全連接層學(xué)習(xí)參數(shù)W1∈R2h×h;第二層使用大小為2 的全連接層學(xué)習(xí)另一組權(quán)重W2∈Rh×2。y輸入至這兩層前饋網(wǎng)絡(luò)得到輸出特征向量v,最終對v進(jìn)行softmax 運(yùn)算得到輸出output,公式如式(11)~(12)所示:
BERT是一種語言表征模型,在大型的語料庫上進(jìn)行預(yù)訓(xùn)練,然后利用預(yù)訓(xùn)練模型的模型參數(shù)在其他的NLP 任務(wù)上進(jìn)行微調(diào)。BERT-Pair-ATT 模型基于BERT 原始模型進(jìn)行改進(jìn),具體的模型結(jié)構(gòu)如圖4所示。
圖4 BERT-pair-ATT模型架構(gòu)Fig.4 BERT-pair-ATT model architecture
Sun 等[1]提出構(gòu)造疑問句的方式來處理ABSA 任務(wù),并且得到了性能提升,同時(shí)本文數(shù)據(jù)集中的細(xì)粒度方面都具有疑問句的形式,例如“交通是否便利”,因?yàn)檫@種數(shù)據(jù)形式,所以BERT-Pair-ATT 將文本語句作為第一個(gè)文本,細(xì)粒度方面作為第二個(gè)文本作為輸入。BERT-Pair-ATT 的輸出與標(biāo)準(zhǔn)的BERTBASE[16]結(jié)構(gòu)不同,BERTBASE的結(jié)構(gòu)將首位的特征作為分類特征,利用這個(gè)分類特征輸入至全連接層來分類至具體的類別,而本文利用注意力機(jī)制,對所有的位置的特征進(jìn)行處理,在其上添加注意力層,隨機(jī)初始化兩個(gè)矩陣W3∈Rb×b,W4∈Rb×1來學(xué)習(xí)所有位置上的哪些特征對于分類的任務(wù)更加有價(jià)值,其中b為BERT 模型隱層維度,W3、W4在訓(xùn)練過程中不斷調(diào)整學(xué)習(xí)所有位置的輸出中與分類任務(wù)更為相關(guān)的部分。注意力層的分?jǐn)?shù)計(jì)算見式(13),其中,EB為BERT 的編碼層的輸出,EB∈RL×b。式(14)~(15)將score權(quán)重與編碼器的輸出相乘得到加權(quán)的特征feature,再將每個(gè)位置的特征加權(quán)平均得到最終的分類特征,并輸入到全連接層進(jìn)行分類。全連接層的權(quán)重為W3∈Rb×4,偏置為b3,最終得到預(yù)測的情感標(biāo)簽label。
實(shí)驗(yàn)采用AI Challenger 2018 比賽中的細(xì)粒度情感分析數(shù)據(jù)集。此數(shù)據(jù)集為目前國內(nèi)最大的公開中文方面情感分析數(shù)據(jù)集,其中訓(xùn)練集和測試集分別含有10.5 萬和1.5 萬條餐飲評論,文本為段落級別的長文本,并且每段文本給出了6 個(gè)粗粒度方面(“位置”“服務(wù)”“價(jià)格”“環(huán)境”“菜品”“其他”)和總計(jì)20 個(gè)細(xì)粒度方面的4 類情感(“未提及”:-2,“中性”:0,“積極”:1,“消極”:-1)。作為模型驗(yàn)證,實(shí)驗(yàn)選取其中的“位置”粗粒度下的“交通是否便利”“距離商圈遠(yuǎn)近”“是否容易尋找”3 個(gè)細(xì)粒度方面進(jìn)行分析。由于任務(wù)是多標(biāo)簽分類,最終數(shù)據(jù)集的數(shù)量按照細(xì)粒度方面的數(shù)目擴(kuò)展3 倍至31.5 萬和4.5萬條,訓(xùn)練集的數(shù)量統(tǒng)計(jì)如表1所示。
表1 訓(xùn)練集上的標(biāo)簽統(tǒng)計(jì)Tab.1 Label statistics on training set
表2 中展示了從訓(xùn)練集中隨機(jī)選取一個(gè)評論文本及其在“位置”粗粒度方面下的情感傾向值。對于其中的評論文本樣例,在“位置”粗粒度方面下,僅提及其中關(guān)于商圈的信息,所以在其層次下的各個(gè)細(xì)粒度方面下的情感只在“商圈是否遠(yuǎn)近”上表達(dá)一種積極的情感,并未提及其他方面。樣例具體的情感傾向標(biāo)簽如表2所示。
表2 數(shù)據(jù)集評論文本樣例Tab.2 Sample of review text in dataset
TFN 模型的訓(xùn)練數(shù)據(jù)來源于AI Challenger 2018比賽中的細(xì)粒度情感分析數(shù)據(jù)集。評論文本由多個(gè)評論句組成。為了利用原始數(shù)據(jù)集中的粗粒度方面的信息來提取出與之相關(guān)的評論句,假設(shè)一段評論文本在一個(gè)粗粒度下的任意一個(gè)細(xì)粒度方面上的情感標(biāo)簽不為“未提及”,則表明這段評論文本中至少有一個(gè)評論句在提及這個(gè)粗粒度方面?;谶@個(gè)假設(shè),本文算法利用詞向量來計(jì)算原文中所有詞與粗粒度詞之間的余弦相似度來篩選出最相關(guān)的詞,提取出該詞所在的句子作為正類,同時(shí)隨機(jī)選取該粗粒度下的細(xì)粒度方面下全部都為“未提及”的評論中的評論句作為負(fù)類,這一類語句并沒有在提及這個(gè)粗粒度方面。經(jīng)過上述算法的處理,最終得到針對“位置”粒度的檢測數(shù)據(jù)集,匯總的數(shù)據(jù)集的標(biāo)簽統(tǒng)計(jì)如表3。為了保證數(shù)據(jù)集的完整性,采用了大約相同數(shù)目的標(biāo)簽分布。
表3 TFN模型數(shù)據(jù)集標(biāo)簽統(tǒng)計(jì)Tab.3 Label statistics of TFN model dataset
由表1 可見數(shù)據(jù)集的標(biāo)簽具有分布不平衡的特性。因?yàn)樵诓黄胶鈹?shù)據(jù)集上正確率不能準(zhǔn)確衡量數(shù)量少的類別上的分類性能,而macro-F1 能夠客觀準(zhǔn)確計(jì)算每一個(gè)類別上的分類性能,所以實(shí)驗(yàn)采用macro-F1 值來對模型的分類性能進(jìn)行評價(jià)。首先在四類情感標(biāo)簽上分別計(jì)算出F1值,然后對每個(gè)標(biāo)簽上的F1 進(jìn)行加權(quán)平均得到最終模型在本文數(shù)據(jù)集上的macro-F1值,這樣可以有效抑制數(shù)據(jù)不平衡對評價(jià)值的影響。F1的計(jì)算公式如式(16)~(18)所示:
其中:i表示在第i個(gè)情感標(biāo)簽上的計(jì)算的評價(jià)指標(biāo);R為召回率(Recall);P為精準(zhǔn)率(Precision);TP為正類情感標(biāo)簽被模型預(yù)測為正類的樣本數(shù)量(True Positive);FN為正類情感標(biāo)簽被模型預(yù)測為負(fù)類的樣本數(shù)量(False Negative);FP為負(fù)類情感標(biāo)簽被模型預(yù)測為正類的樣本數(shù)量(False Positive)。最終的macro-F1指標(biāo)計(jì)算公式如式(19):
實(shí)驗(yàn)將TFN+BERT-Pair-ATT 與如下相關(guān)模型進(jìn)行對照實(shí)驗(yàn):
1)GCAE[11]。它是一種卷積網(wǎng)絡(luò)結(jié)合門控機(jī)制的深度學(xué)習(xí)網(wǎng)絡(luò),通過門控機(jī)制來模擬注意力機(jī)制篩選出屬性相關(guān)的信息作為特征。
2)ATAE-LSTM[8]。該模型將屬性的詞嵌入分別添加至評論文本作為LSTM 的輸入以及LSTM 的隱藏層作為注意力函數(shù)的輸入,最終將注意力層的輸出與LSTM 隱藏層的加權(quán)和作為分類器的特征。
3)IAN[9]。利用交互式的注意力網(wǎng)絡(luò)處理ABSA 任務(wù),作為對比,本文將任務(wù)中的在原文本出現(xiàn)的屬性替換為預(yù)定義的類別屬性,即“交通是否便利”“距離商圈遠(yuǎn)近”“是否容易尋找”,從而使得IAN能夠適用于本文任務(wù)。
4)AOA-LSTM[10]。該模型包含了兩個(gè)雙向長短時(shí)記憶網(wǎng)絡(luò)(Bi-LSTM)以及AOA 模塊,借鑒了注意力機(jī)制的思想。同樣的本文將屬性修改為預(yù)定義的屬性以適用于本文任務(wù)作為對比。
5)BERT-Single。只考慮原始文本,采用全原始連接層進(jìn)行微調(diào),因?yàn)槲谋緦?yīng)了多個(gè)標(biāo)簽,針對每個(gè)標(biāo)簽進(jìn)行訓(xùn)練與驗(yàn)證。
6)BERT-Pair。輸入評論文本以及細(xì)粒度方面作為句子對分類任務(wù),并只采用原始的全連接的方式進(jìn)行微調(diào)。
前四類模型的文本嵌入層采用Word2Vec 算法來預(yù)訓(xùn)練參數(shù),后兩類模型采用BERT文本表示法。
實(shí)驗(yàn)中所有的模型都基于PyTorch[23]深度學(xué)習(xí)框架,使用4 塊1080TiGPU 進(jìn)行訓(xùn)練推理。Word2Vec 的詞嵌入維度d為300,詞典的大小v為20 000。TFN 使用的LSTM 隱層維度為300,在訓(xùn)練中使用Adam 優(yōu)化器(Adaptive Moment Estimation),學(xué)習(xí)率設(shè)置為0.001,β1=0.9,β2=0.99,訓(xùn)練過程中的批處理大小為256,全局迭代5次,為了防止過擬合,在網(wǎng)絡(luò)的每一層加入Dropout[24],丟棄概率(Dropout rate)為0.2。前四類對比模型都使用Adam 優(yōu)化器,學(xué)習(xí)率為0.001,批處理大小設(shè)置為32,迭代次數(shù)設(shè)置為10。BERT-Single、BERTPair 以及BERT-Pair-ATT 都使用BERTBASE作為基礎(chǔ)模型架構(gòu),表4 為基于BERTBASE的文本表示法的相關(guān)模型的訓(xùn)練參數(shù)設(shè)置,且在預(yù)訓(xùn)練初期使用warm-up 技巧進(jìn)行預(yù)熱[16]。以上所有的模型要優(yōu)化的損失函數(shù)全部為負(fù)指數(shù)的似然函數(shù)-log(P(y|x)),其中(x,y)為(輸入,目標(biāo)標(biāo)簽)。
表4 BERT參數(shù)設(shè)置Tab.4 BERT parameter setting
TFN 訓(xùn)練過程中在訓(xùn)練集和測試集上的top1 正確率如圖5 所示,由于加入Dropout,訓(xùn)練集上的正確率低于測試集,最終TFN在測試集上的最高正確率為92.82%。
圖5 TFN訓(xùn)練中top1正確率曲線Fig.5 Top1 accuracy curves in TFN training
實(shí)驗(yàn)的相關(guān)模型都經(jīng)過10次實(shí)驗(yàn),取10次中最好的結(jié)果保存得到表5 實(shí)驗(yàn)結(jié)果。由表5 中的數(shù)據(jù)可以在本文數(shù)據(jù)集上得到一些結(jié)論:1)除了BERT-Single 模型,其他使用BERT為基礎(chǔ)文本表示法的模型比CNN 或者循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)文本表示法的模型表現(xiàn)更加優(yōu)異;2)本文提出的BERT-Pair-ATT 模型比BERT-Pair 模型在macro-F1 上高出0.27%,并且在每個(gè)標(biāo)簽下的F1 都有提升;3)本文提出的文本篩選和BERT-Pair-ATT 的模型架構(gòu)能夠提升傳統(tǒng)的單模型的性能,其中TFN+BERT-Pair-ATT 模型取得了最高的結(jié)果,使單模型BERT-Pair-ATT 的macro-F1 再次提升0.31%。
由于BERT-Single沒有利用方面中的信息,導(dǎo)致最終的分類結(jié)果不佳。在考慮利用方面之后,BERT-Pair 模型在macro-F1 上提高了4.14%。BERT 預(yù)訓(xùn)練語言模型因?yàn)轭A(yù)先在大型語料庫上進(jìn)行充分訓(xùn)練,已經(jīng)學(xué)習(xí)到了語言中的相關(guān)信息,因此最終的訓(xùn)練結(jié)果基于都優(yōu)于基于Word2Vec表示法的相關(guān)模型;并且使用了句子對方式用于長文本方面情感分析任務(wù)上的BERT 模型,只需要訓(xùn)練一個(gè)模型參數(shù)就能夠帶來性能上的提升。對于長文本的處理,本文算法采取的是神經(jīng)網(wǎng)絡(luò)來策略截短,而不是使用注意力機(jī)制來自適應(yīng)地選取,此方式能夠降低BERT 模型的計(jì)算開銷,將輸入控制在BERT的限制長度內(nèi),同時(shí)也能夠保留充足的信息,所以使用TFN模型來預(yù)處理數(shù)據(jù)集,增強(qiáng)了BERT 的輸入文本信息的有效性,使性能進(jìn)一步提升。
表5 不同模型的實(shí)驗(yàn)結(jié)果對比Tab.5 Experimental results comparison of different models
本文利用文本篩選和改進(jìn)BERT 算法來處理長文本方面情感分析任務(wù)。首先基于原始數(shù)據(jù)集的標(biāo)簽構(gòu)造新的數(shù)據(jù)集用來訓(xùn)練文本篩選模型TFN,其次,利用TFN 模型篩選出評論中粗粒度方面相關(guān)的部分語句,然后使用句子對方式作為BERT的輸入方式,并且在輸出層進(jìn)一步添加注意力層。通過與相關(guān)深度學(xué)習(xí)模型的對比分析,本文模型能進(jìn)一步提升長文本ABSA任務(wù)的性能。
本文通過TFN 模型對語句進(jìn)行篩選,其正確率還需要進(jìn)一步提升,接下來的工作中將結(jié)合主題模型進(jìn)一步提高長文本處理能力,得到更加準(zhǔn)確的文本篩選模型,從而提升整體算法的性能。