卜令梅, 陳 黎, 盧永美, 于中華
(四川大學(xué)計(jì)算機(jī)學(xué)院, 成都 610065)
情感分析的目的是識別人們在文本中表達(dá)的態(tài)度.隨著互聯(lián)網(wǎng)的快速發(fā)展,從網(wǎng)絡(luò)上海量的評論信息中獲取用戶的情感傾向[1,2],有很大的商業(yè)價(jià)值和研究價(jià)值.早期的情感分析研究主要聚焦于文檔級和句子級,通常假設(shè)一段文本只針對一個(gè)方面(aspect),并對給定的文本整體判斷其情感極性.事實(shí)上,一段文本中經(jīng)常包含多個(gè)不同方面,每個(gè)方面的情感傾向可能不相同,因此,情感分析的研究熱點(diǎn)逐漸由粗粒度轉(zhuǎn)向細(xì)粒度,其中方面級情感分析(Aspect-Based Sentiment Analysis,ABSA)是細(xì)粒度情感分析的一項(xiàng)重要研究任務(wù).
早期的ABSA被視作方面抽取[3-6]和極性分類[7-11]兩個(gè)獨(dú)立的子任務(wù),并采用流水線的方法將兩個(gè)子任務(wù)結(jié)合起來獲取方面-情感極性對,但是存在錯(cuò)誤傳播問題.此外,在進(jìn)行方面抽取時(shí),無法利用極性信息,影響抽取效果.為了克服上述缺點(diǎn),最新的解決方案是使用單詞級(token)序列標(biāo)注和基于跨度(span,是句子的一個(gè)片段,由起始詞和結(jié)尾詞標(biāo)記.)的聯(lián)合分類方法.文獻(xiàn)[12-14]分別針對方面抽取和極性分類使用不同的標(biāo)注體系,利用序列標(biāo)注模型進(jìn)行ABSA任務(wù),這種方法可以捕捉方面和情感之間的相互作用,然而此方法對那些由多個(gè)單詞構(gòu)成的方面,要為每個(gè)單詞分別進(jìn)行極性標(biāo)注,所以面臨情感不一致問題.如圖1所示的實(shí)例中,針對包含兩個(gè)單詞的方面garlic knots,極性分類器可能會將garlic標(biāo)注為積極(positive),而knots標(biāo)注為消極(negative),從而導(dǎo)致整個(gè)garlic knots的情感極性有歧義.基于span的方法[15-17]通過預(yù)測整個(gè)方面的極性避免了情感不一致問題.然而在針對候選span使用的{ TPOS, TNEG, TNEU, O }標(biāo)簽體系中,TPOS、TNEG和TNEU分別表示候選跨度是具有積極、消極和中性的方面,而O表示候選span不是一個(gè)有效的方面,這使得標(biāo)簽體系存在異質(zhì)問題,導(dǎo)致模型難以為兩個(gè)相關(guān)但不同的子任務(wù)捕捉相應(yīng)的信息.此外,雖然上述方法捕捉了一個(gè)句子中各個(gè)方面之間的相互作用,但它們忽略了不同方面極性對之間的相互關(guān)聯(lián),這種關(guān)聯(lián)對一個(gè)句子中所有方面的極性判斷至關(guān)重要.
圖1 方面級情感分析實(shí)例Fig.1 An example of ABSA
為了捕捉一個(gè)句子中所有方面極性對之間的相關(guān)性,本文受關(guān)系抽取技術(shù)[18-20]的啟發(fā),將ABSA任務(wù)視為一元關(guān)系抽取,其中方面看成實(shí)體,其對應(yīng)的極性作為關(guān)系,利用關(guān)系抽取技術(shù)生成方面-情感極性對,提出利用關(guān)系抽取技術(shù)聯(lián)合識別文本中方面-情感極性對(Employing Relation Extraction to Aspect-Polarity Pairs Generation,REAPP)的模型.本文在3個(gè)公開的基準(zhǔn)數(shù)據(jù)集進(jìn)行了一系列實(shí)驗(yàn).結(jié)果表明,本文的模型提高了方面級情感分析任務(wù)的性能,同時(shí)也驗(yàn)證了利用方面極性對之間的關(guān)聯(lián)能夠提高ABSA任務(wù)的性能.
本文的貢獻(xiàn)主要有兩方面:(1) 將ABSA任務(wù)歸結(jié)為一元關(guān)系抽取問題,捕捉文本中不同方面極性對之間的相互作用,克服了現(xiàn)有方法中存在的情感不一致和標(biāo)簽異質(zhì)問題;(2) 在3個(gè)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),驗(yàn)證了本文模型的性能.
早期的ABSA先進(jìn)行方面抽取再為給定的方面進(jìn)行情感極性分類,這種分離模型的做法應(yīng)用受限,目前聯(lián)合兩個(gè)子任務(wù)已經(jīng)成為研究熱點(diǎn).2013年,Mitchell等[12]首先嘗試使用條件隨機(jī)場(Conditional Random Fields,CRF)為聯(lián)合標(biāo)簽進(jìn)行序列標(biāo)注,同時(shí)與流水線方法進(jìn)行了對比,但實(shí)驗(yàn)表明聯(lián)合標(biāo)簽并沒有比流水線方法效果更佳.2015年,Zhang等[13]在Mitchell等[12]的基礎(chǔ)上,進(jìn)一步引入神經(jīng)網(wǎng)絡(luò)模型,然而也沒能驗(yàn)證端到端方法比流水線方法更具優(yōu)越性.此后,Li等[14]意識到之前的做法面對由多個(gè)單詞構(gòu)成的方面時(shí),由于為每個(gè)單詞預(yù)測的情感極性可能不一致而導(dǎo)致該方面的情感歧義問題,于是在為當(dāng)前單詞進(jìn)行標(biāo)注時(shí)利用了之前單詞的嵌入信息進(jìn)行緩解,然而這種方法并不能完全避免情感不一致問題.所以在2019年,研究者開始將方面看成一個(gè)span,用基于span的方法避免上述情感不一致問題.Hu等[15]提出使用兩個(gè)基于span的分類器識別span的起始位置和結(jié)束位置,然后針對整個(gè)span進(jìn)行極性分類.但該工作對span起始位置和結(jié)束位置的識別是獨(dú)立進(jìn)行的,只能通過啟發(fā)式算法為二者進(jìn)行配對.Lin等[17]為了避免丟失正確的方面,改進(jìn)了Hu等[15]的啟發(fā)式算法,首先通過匹配預(yù)測結(jié)果中最接近的起始和結(jié)束位置獲取候選span,然后通過拓展策略確定正確span,雖然進(jìn)行了更有效的開始和結(jié)束位置配對,但仍舊獨(dú)立進(jìn)行起始位置和結(jié)束位置的識別工作,沒有從根本上解決二者的配對問題.Zhou等[16]枚舉候選span并調(diào)用多分類器從{TPOS, TNEG, TNEU, O}中確定候選span的類別,顯然該集合包含的異質(zhì)分類標(biāo)簽會影響分類性能.
為了解決現(xiàn)有的ABSA研究存在的問題,本文提出將ABSA任務(wù)視為一元關(guān)系抽取的過程,將方面視為實(shí)體,使用span的方式進(jìn)行表示,其對應(yīng)的極性視為關(guān)系,方面-情感極性對則表示為(方面起始位置,方面結(jié)束位置,情感極性)三元組.
給定一個(gè)句子S={w1,w2,…,wn},每個(gè)句子由n個(gè)單詞組成,本文的任務(wù)是根據(jù)輸入的句子自動識別S中所有的評價(jià)對象以及情感極性,即輸出集合Y={ 表1 REAPP的輸入輸出例子Tab.1 An example for input and output of REAPP 本文提出的REAPP模型由三層組成,如圖 2所示.第一層為嵌入層,負(fù)責(zé)利用詞嵌入初始化句子中的所有單詞;第二層為編碼層,根據(jù)詞嵌入進(jìn)行句子分析,捕捉句子中所有單詞之間的相互作用,生成單詞的上下文表達(dá);最后一層是解碼層,注意力機(jī)制為解碼層提供上下文表達(dá),解碼層在每個(gè)時(shí)序步中生成三元組. 圖2 REAPP模型結(jié)構(gòu)圖Fig.2 The architecture of REAPP model (1) (2) 其中,Wu為待學(xué)習(xí)的參數(shù);et為當(dāng)前時(shí)刻通過注意力計(jì)算得到的上下文向量,計(jì)算如式(3)~(6)所示. (3) βt,i=vPtanh(mt+nt,i) (4) (5) (6) 其中,WP,bP,WQ和vP均為待學(xué)習(xí)的參數(shù).在得到解碼器t時(shí)刻的狀態(tài)后,模型開始解碼,解碼過程主要包含3個(gè)步驟:t%3=1時(shí)開始解碼新的三元組,生成評價(jià)對象的起始位置;t%3=2時(shí)生成評價(jià)對象的結(jié)束位置;t%3=0時(shí)預(yù)測情感極性,一個(gè)完整的三元組總是需要經(jīng)歷這3個(gè)時(shí)刻,具體進(jìn)行哪個(gè)操作由t對3取余的結(jié)果確定,模型會循環(huán)執(zhí)行這一系列操作,直到生成表示結(jié)束的三元組. 生成起始位置時(shí)(t%3=1),需考慮生成NA三元組的可能,且在ABSA任務(wù)中每個(gè)方面只需要生成一次,所以本文引入向量Ms∈Rn來屏蔽已經(jīng)拷貝過的方面,計(jì)算起始位置概率分布的過程如圖 3和式(7)~(10)所示. 圖3 方面起始位置識別Fig.3 Start position identification of an aspect (7) (8) (9) ps=softmax([Ms?qs;qNA]) (10) 其中,Ws,bs,WNA和bNA均為待學(xué)習(xí)的參數(shù). 生成結(jié)束位置時(shí)(t%3=2),其起始位置已經(jīng)明確,本文引入另一個(gè)向量Me∈Rn確保結(jié)束位置在起始位置之后,其他操作與t%3=1類似,計(jì)算結(jié)束位置概率分布的過程如圖4和式(11)~(13)所示. 圖4 方面結(jié)束位置識別Fig.4 End position identification of an aspect (11) (12) pe=softmax([Ms?qe?Me;qNA]) (13) 其中,We,be均為待學(xué)習(xí)的參數(shù). 圖5 方面極性分類Fig.5 Polarity classification of an aspect (14) (15) pr=softmax([qr;qSNA]) (16) 其中,Wr,br,WSNA和bSNA均為待學(xué)習(xí)的參數(shù). (17) 本文在3個(gè)ABSA任務(wù)公開的數(shù)據(jù)集LAPTOP、REST和TWITTER[12]上驗(yàn)證了REAPP模型的有效性.為了便于比較,本文采用與Zhou等[16]相同的數(shù)據(jù)劃分,其中TWITTER使用十折交叉驗(yàn)證,實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì)如表2所示.本文使用的評價(jià)指標(biāo)包括精確率、召回率、F1得分和準(zhǔn)確率.此外,只有當(dāng)預(yù)測的方面與黃金標(biāo)注完全一致才認(rèn)為是正確的方面. 表2 實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì)Tab.2 Statistics of the datasets 本文使用glove.840B.300d初始化詞嵌入(nlp.stanford.edu/projects/glove/),而解碼器使用的詞嵌入是隨機(jī)初始化的,此外,本文使用Stanford CoreNLP toolkit對句子中的單詞進(jìn)行POS標(biāo)注(stanfordnlp.github.io/CoreNLP/),POS嵌入的維度是50.本文使用50個(gè)大小為3的濾波器,字符級編碼維度為50.輸入句子的上下文編碼是通過兩個(gè)堆疊的Bi-LSTM學(xué)習(xí)的,正向和反向的維度都是150維,解碼端的LSTM維度設(shè)置為300.本文的學(xué)習(xí)率設(shè)置為0.001,batch大小為32,dropout設(shè)置為0.5,使用Adam優(yōu)化器. 本文對比的模型包括以下較先進(jìn)的方法: (1) CRF-pipelined,joint,collapsed(2013)[12]:一種基于情感詞典和手工構(gòu)建特征的CRF序列標(biāo)記方法; (2) NN-CRF-pipelined,joint,collapsed(2015)[13]:一種頂層使用CRF序列標(biāo)注捕捉標(biāo)簽相關(guān)性的淺層網(wǎng)絡(luò)模型; (3) UNIFIED(2019)[14]:一種使用聯(lián)合標(biāo)簽的基于Bi-LSTM進(jìn)行序列標(biāo)注的方法; (4) TAG-pipelined,joint,collapsed(2019)[15]:一種以BERT為編碼器,基于CRF進(jìn)行序列標(biāo)注的模型; (5) Zhou-SPAN(2019)[16]:集中基于span的聯(lián)合方法,使用span制導(dǎo)的注意力機(jī)制獲取每個(gè)span的情感信息; (6) Hu-SPAN-pipelined,joint,collapsed(2019)[15]:一種以BERT為編碼器的基于span的方法,提出將起始位置和結(jié)束位置配對的啟發(fā)式算法; (7) SPRM(2020)[17]:對Hu-SPAN-joint[15]的改進(jìn),為每個(gè)子任務(wù)設(shè)計(jì)私有編碼器以及聯(lián)合編碼器,以捕獲兩個(gè)任務(wù)之間的關(guān)聯(lián)信息. 在3個(gè)基準(zhǔn)數(shù)據(jù)集上,方面-情感極性對抽取的實(shí)驗(yàn)結(jié)果如表3所示,從表3可看出,無論是與序列標(biāo)注的方法相比,還是與基于span的方法相比,本文模型都表現(xiàn)最佳.SPAN-pipeline (2019)的F1值比TAG-pipeline (2019)在3個(gè)數(shù)據(jù)集上分別提升了1.55%、0.94%和3.43%,可以看出基于span的方法比序列標(biāo)注方法更有優(yōu)勢,因?yàn)槠溽槍φ麄€(gè)span進(jìn)行情感分類,有效避免了序列標(biāo)注方法給多個(gè)單詞構(gòu)成的方面所帶來的情感歧義問題.而本文方法除了針對整個(gè)span進(jìn)行極性分類,還使用序列模型捕捉文本中不同方面-情感極性對之間的相互作用,提出的REAPP模型比效果最好的序列標(biāo)注模型TAG-pipeline (2019)在3個(gè)數(shù)據(jù)集上的F1值分別提高了2.79%、6.09%和6.26%,而和基于span的模型SPRM (2020)相比,雖然在REST數(shù)據(jù)集上,本文的召回率較低,但精確率比SPRM高出了3.21%,在3個(gè)數(shù)據(jù)集上的F1值分別超出0.58%、0.90%和1.07%. 表3 方面-極性對抽取實(shí)驗(yàn)結(jié)果Tab.3 Comparison of different methods’ results on three datasets 為了分析模型在方面抽取的性能,本文計(jì)算了REAPP在3個(gè)數(shù)據(jù)集上方面抽取的F1得分,和序列標(biāo)注以及基于span的方法進(jìn)行對比,如圖6. 圖6 方面抽取對比結(jié)果Fig.6 The results of aspect extraction 從圖6的實(shí)驗(yàn)結(jié)果可以看出,本文的模型在LAPTOP、REST和TWITTER數(shù)據(jù)集上的F1值分別為84.93%、87.16%和74.31%,比SPRM(2020)的F1值提高了0.21%、0.45%、4.46%,這證明本文模型對方面的識別是有效的.此外還可以發(fā)現(xiàn),SPRM雖然在LAPTOP和REST上表現(xiàn)較好,但是在TWITTER上表現(xiàn)較SPAN-pipeline模型和本文的模型差很多,這說明SPRM和SPAN-pipeline二者采用的啟發(fā)式規(guī)則不能自適應(yīng)所有的數(shù)據(jù)集,而本文的模型可以適應(yīng)句子長度的變化,在識別評價(jià)對象時(shí)受其影響較小. 對于REAPP模型在情感極性分類上的性能,本文針對所有被正確識別出的方面,計(jì)算情感極性分類的準(zhǔn)確率(Acc),在3個(gè)數(shù)據(jù)集上和效果最好的情感分類器進(jìn)行對比,結(jié)果如圖 7所示. 圖7 情感極性分類對比結(jié)果Fig.7 The results of polarity classification 由實(shí)驗(yàn)結(jié)果可知,本文的模型在LAPTOP、REST和TWITTER數(shù)據(jù)集上的準(zhǔn)確率分別是81.52%、90.82%和79.12%,是目前在3個(gè)數(shù)據(jù)集上極性分類效果最好的模型. 本文提出了REAPP模型,與當(dāng)前序列標(biāo)注方法和基于span的模型不同,利用了句子中方面-情感極性對之間的關(guān)系,捕捉方面抽取和極性分類兩個(gè)子任務(wù)之間的相互作用.此外極性預(yù)測針對整個(gè)方面,從而避免了現(xiàn)有單詞級序列標(biāo)注方法存在的情感極性不一致問題和基于span方法中標(biāo)簽體系的異質(zhì)問題.在3個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)表明,本文模型優(yōu)于現(xiàn)有的最好方法. 目前本文在進(jìn)行情感極性預(yù)測時(shí),計(jì)算注意力的方式和位置識別相同,接下來,本文考慮在預(yù)測情感極性時(shí),使用方面制導(dǎo)的注意力機(jī)制以更好的捕捉特定方面的情感信息.此外,通過表3還可以看出,不論是REAPP模型還是其他兩類模型,召回率相對精確率都較低,這說明預(yù)測的方面數(shù)量較少,后續(xù)本文會嘗試解決這個(gè)問題.|0≤s≤e3.2 提出的模型
3.3 嵌入層
3.4 編碼層
3.5 解碼層
4 實(shí)驗(yàn)與結(jié)果
4.1 實(shí)驗(yàn)數(shù)據(jù)
4.2 實(shí)驗(yàn)設(shè)置
4.3 基線模型
4.4 結(jié)果分析
4.5 方面抽取結(jié)果分析
4.6 極性分類結(jié)果分析
5 結(jié) 論