羅雨蒙, 林煜明
(桂林電子科技大學(xué) 廣西可信軟件重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004)
人根據(jù)句子中的觀點(diǎn)核心信息能得出其想要表達(dá)的主要思想、情感。隨著在線評(píng)論數(shù)據(jù)爆炸式地增長(zhǎng),靠人工方法去閱讀并提取其中的觀點(diǎn)核心信息,以判斷商品是否值得購(gòu)買是十分困難的。近幾年,越來越多的研究者對(duì)于如何自動(dòng)地從評(píng)論語句中獲取觀點(diǎn)核心信息展開了廣泛地研究。
從句子中提取出觀點(diǎn)核心信息是基于方面的情感分析(aspect-based sentiment analysis,簡(jiǎn)稱ABSA)[1]的一項(xiàng)基礎(chǔ)任務(wù)。該任務(wù)旨在從評(píng)論句中成對(duì)抽取出方面項(xiàng)和觀點(diǎn)項(xiàng)(pair-wise aspect and opinion terms extraction,簡(jiǎn)稱PAOTE),方面項(xiàng)描述評(píng)論人對(duì)什么目標(biāo)/方面表達(dá)了觀點(diǎn),觀點(diǎn)項(xiàng)指評(píng)論人用什么的詞表達(dá)觀點(diǎn)。例如,在評(píng)論句子“這款手機(jī)外觀好看,續(xù)航久,我很喜歡。”中,“外觀”和“續(xù)航”為方面項(xiàng)(或稱觀點(diǎn)目標(biāo)),“好看”和“久”分別為方面項(xiàng)相對(duì)應(yīng)的觀點(diǎn)項(xiàng),〈外觀,好看〉和〈續(xù)航,久〉為方面-觀點(diǎn)項(xiàng)對(duì)。
目前相關(guān)技術(shù)是把從評(píng)論句子中提取出的方面-觀點(diǎn)項(xiàng)對(duì)當(dāng)作抽取任務(wù)來做,其中包含大量詞性、語法、規(guī)則等復(fù)雜的標(biāo)簽,或者是枚舉出所有不同跨度的詞,會(huì)產(chǎn)生大量的負(fù)樣本。本文將方面-觀點(diǎn)項(xiàng)對(duì)的抽取任務(wù)轉(zhuǎn)換為方面-觀點(diǎn)項(xiàng)對(duì)的生成任務(wù),提出一種基于Seq2Seq(sequence-to-sequence)模型[2]的端到端生成框架來成對(duì)生成方面-觀點(diǎn)項(xiàng)對(duì),無需復(fù)雜的標(biāo)注或者大量的負(fù)樣本。采用大型預(yù)訓(xùn)練模型BART[3]的編碼器和解碼器作為Seq2Seq模型的編碼器和解碼器,在解碼時(shí)結(jié)合指針機(jī)制生成方面-觀點(diǎn)項(xiàng)對(duì)序列。
相對(duì)于粗粒度(如文檔級(jí)、句子等)的情感分析,細(xì)粒度的情感分析能夠提供更準(zhǔn)確和深入的用戶觀點(diǎn)信息。方面項(xiàng)和觀點(diǎn)項(xiàng)的成對(duì)抽取是細(xì)粒度的情感分析任務(wù)的一項(xiàng)子任務(wù)。
早期的方面項(xiàng)和觀點(diǎn)項(xiàng)的聯(lián)合抽取主要采用基于規(guī)則的方法[4-6],這類方法的抽取效果主要依賴于人工預(yù)定義的規(guī)則或句法模板。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,深度神經(jīng)網(wǎng)絡(luò)常被用于聯(lián)合抽取方面詞和觀點(diǎn)詞,如基于遞歸神經(jīng)網(wǎng)絡(luò)的方法[7]、多任務(wù)學(xué)習(xí)[8]、注意力網(wǎng)絡(luò)[9]和圖學(xué)習(xí)[10]等。一些研究者將規(guī)則和神經(jīng)網(wǎng)絡(luò)模型結(jié)合,實(shí)現(xiàn)方面詞和觀點(diǎn)詞的聯(lián)合抽取。Dai等[11]在標(biāo)注樣本的依賴解析結(jié)果上自動(dòng)挖掘抽取規(guī)則,將這些規(guī)則作為弱監(jiān)督標(biāo)注樣本,并結(jié)合少量人工標(biāo)注樣本訓(xùn)練BiLSTM-CRF模型抽取方面詞和觀點(diǎn)詞。Wu等[12]將一階邏輯規(guī)則整合到深度神經(jīng)網(wǎng)絡(luò)中,使模型能根據(jù)這些規(guī)則糾正錯(cuò)誤的預(yù)測(cè)結(jié)果。
上述方法雖然能實(shí)現(xiàn)方面項(xiàng)和觀點(diǎn)項(xiàng)的抽取,但卻忽略了方面項(xiàng)與觀點(diǎn)項(xiàng)之間的對(duì)應(yīng)關(guān)系。為了解決該問題,Chen等[13]提出一個(gè)雙通道遞歸網(wǎng)絡(luò)分別抽取方面詞和觀點(diǎn)詞,并通過一個(gè)同步單元維持通道的同步性實(shí)現(xiàn)觀點(diǎn)詞對(duì)抽取。Pereg等[14]通過語法敏感的自注意力機(jī)制將外部的語法信息整合到BERT[15]中,并利用外部知識(shí)和BERT 內(nèi)在知識(shí)的融合實(shí)現(xiàn)跨領(lǐng)域方面詞和觀點(diǎn)詞對(duì)抽取。Li等[16]設(shè)計(jì)一種多跳雙記憶交互機(jī)制來捕獲方面詞和觀點(diǎn)詞的潛在關(guān)系。上述工作將抽取看作序列標(biāo)注問題,這種方法通常由于標(biāo)簽組合爆炸導(dǎo)致搜索空間過大,并且難以處理一個(gè)句子中方面詞和觀點(diǎn)詞間一對(duì)多和多對(duì)多的情況。為此,Zhang等[17]提出了一個(gè)基于跨度的多任務(wù)框架來同時(shí)提取方面項(xiàng)及其對(duì)應(yīng)的觀點(diǎn)項(xiàng)。他們受到之前研究[18-19]的激勵(lì),提出的框架首先使用基本編碼器學(xué)習(xí)單詞級(jí)表示,然后列舉輸入句子中所有可能的跨度。通過共享生成的跨度表示,可以在跨度邊界和類標(biāo)簽的監(jiān)督下提取方面項(xiàng)和觀點(diǎn)項(xiàng)。同時(shí),成對(duì)關(guān)系可以通過計(jì)算跨度-跨度對(duì)應(yīng)來識(shí)別。因其未能捕獲重疊的方面-觀點(diǎn)對(duì)結(jié)構(gòu)之間的底層共享交互,Wu等[20]提出了一種基于span圖的聯(lián)合PAOTE模型,并在此基礎(chǔ)上提出了一種邊緣增強(qiáng)的句法圖卷積網(wǎng)絡(luò)(ESGCN),該網(wǎng)絡(luò)可以同時(shí)對(duì)語法依賴邊和相應(yīng)的標(biāo)簽進(jìn)行編碼,以增強(qiáng)方面和觀點(diǎn)術(shù)語的提取和配對(duì)。Wu等[21]還通過結(jié)合豐富的句法知識(shí)來增強(qiáng)方面-觀點(diǎn)成對(duì)抽取。
本研究將方面-觀點(diǎn)項(xiàng)對(duì)的抽取任務(wù)轉(zhuǎn)換為方面-觀點(diǎn)項(xiàng)對(duì)的生成任務(wù),提出一種基于Seq2Seq模型的端到端生成框架來直接成對(duì)生成方面-觀點(diǎn)項(xiàng)對(duì),無需大量的標(biāo)注樣本進(jìn)行訓(xùn)練,也不會(huì)產(chǎn)生大量的負(fù)樣本,提升了模型的訓(xùn)練效率。
首先對(duì)生成式的方面-觀點(diǎn)項(xiàng)的成對(duì)抽取任務(wù)進(jìn)行定義,然后介紹所提方法,采用BART模型和指針機(jī)制相結(jié)合的方式來生成方面-觀點(diǎn)詞對(duì)的序列表示。
給定一個(gè)長(zhǎng)度為N的輸入句子X={x1,x2,…,xN},本文的任務(wù)是提取所有的方面-觀點(diǎn)項(xiàng)對(duì)Y={as1,ae1,os1,oe1,p,…,asi,aei,osi,oei,p},其中:as,ae分別表示方面項(xiàng)開始的索引和方面項(xiàng)結(jié)束的索引;os,oe分別表示觀點(diǎn)項(xiàng)開始的索引和觀點(diǎn)項(xiàng)結(jié)束的索引;p表示方面-觀點(diǎn)詞對(duì)之間的間隔標(biāo)記。一個(gè)評(píng)論句子中可能包含多對(duì)方面-觀點(diǎn)項(xiàng)對(duì)。
由于本文以生成式的方式表述PAOTE任務(wù),可以將目標(biāo)函數(shù)看成
其中:X為輸入句子;Y為目標(biāo)句;m為目標(biāo)句的長(zhǎng)度;當(dāng)t為0時(shí),y0表示“句子開始”的控制標(biāo)記。
將方面-觀點(diǎn)項(xiàng)對(duì)的抽取任務(wù)轉(zhuǎn)換為文本生成任務(wù),在基于Seq2Seq模型上結(jié)合指針機(jī)制來生成成對(duì)的方面-觀點(diǎn)項(xiàng)對(duì),并采用大型預(yù)訓(xùn)練模型BART的編碼器和解碼器作為Seq2Seq模型的編碼器和解碼器,模型結(jié)構(gòu)如圖1所示。該模型主要由三大部分組成:seq2seq的編碼器、解碼器以及指針機(jī)制。其中編碼器模塊接收文本輸入,將文本的所有信息處理成向量傳遞給解碼器模塊;解碼器模塊結(jié)合全文的信息和上一時(shí)間步的輸出,再通過指針機(jī)制得到下一時(shí)間步的輸入文本的位置索引的概率分布,選取得分最高的索引作為下一時(shí)間步的輸出。
圖1 模型結(jié)構(gòu)
2.2.1 編碼器
編碼器在預(yù)訓(xùn)練階段能很好地結(jié)合上下文的信息。BART模型是一個(gè)結(jié)合雙向編碼和自回歸的大型預(yù)訓(xùn)練模型,其主要采用了2種策略。首先使用任意噪聲來破壞原文本,然后讓模型學(xué)習(xí)重構(gòu)原文本,使用掩碼替換文本段,從而破壞文本。再用雙向編碼器編碼被破壞的文本,然后再使用自回歸解碼器計(jì)算原始文本的似然值。因此該模型更加適合于生成任務(wù)。將句子開頭標(biāo)記〈s〉和句子結(jié)束標(biāo)記〈/s〉分別添加在X的開頭和結(jié)尾。
在編碼器部分,首先將句子X輸入進(jìn)編碼器編碼成向量
其中:E∈RN×D;N為句子長(zhǎng)度;D為隱藏層維度。
因?yàn)橹羔槞C(jī)制是完全依賴輸入序列,將其中得分最高的位置索引作為輸出,所以本文直接將方面-觀點(diǎn)詞對(duì)之間的間隔標(biāo)記PAOTE添加在句子后面,以便指針機(jī)制做選擇。隨后得到位置信息向量E1,將向量E與E1進(jìn)行拼接成E2;將E2進(jìn)行多頭自注意力計(jì)算,最后得到每個(gè)詞與句子所有信息的向量E3。
其中,⊕表示向量的拼接。編碼器將所得到的詞向量E3傳給解碼器。
2.2.2 解碼器
解碼器中含有掩碼矩陣,遮擋了下文,更適用于生成任務(wù),其每層都與編碼器最后隱藏層做一次交叉注意力操作,使其能在每個(gè)時(shí)間步都能獲得不同時(shí)刻的側(cè)重信息。為了得到每個(gè)時(shí)間步輸入文本的位置索引概率分布Pt=P(yt|X,Y<t),在解碼器部分,首先將向量E3和當(dāng)前所生成的文本信息處理成向量,再通過解碼器解碼得到最后的隱藏狀態(tài)
其中,[;]表示向量在第一維進(jìn)行連接。
指針機(jī)制主要實(shí)現(xiàn)輸出序列完全源自于輸入序列。注意力計(jì)算出下一時(shí)間步輸入序列每個(gè)元素的概率,輸入序列產(chǎn)生的最大權(quán)重的位置索引作為編碼器的輸出。隱藏狀態(tài)ht和包含所有信息的向量E3通過指針機(jī)制,得到輸入序列中每個(gè)元素的概率分布
隨后選取概率最高的位置索引作為下一時(shí)間步輸出。
在訓(xùn)練階段,采用教師強(qiáng)制法,該方法多用于機(jī)器翻譯、文本摘要等深度語言模型的訓(xùn)練階段。該方法不使用上一時(shí)間步的輸出來作為下一時(shí)間步的輸出,而是直接使用目標(biāo)序列中對(duì)應(yīng)的上一項(xiàng)作為下一時(shí)間步的輸入。如輸入句為:“〈s〉Great performance and quality.〈/s〉PAOTE”,目標(biāo)句為:“〈s〉performance great PAOTE quality great PAOTE”,
將“〈s〉”輸入模型,讓模型生成下一個(gè)單詞,假設(shè)它生成了“the”,但是本文期望它生成“performance”,教師強(qiáng)制法就是在計(jì)算了誤差之后,丟棄“the”這個(gè)輸出,直接將“performance”作為下一時(shí)間步的輸入,以此類推。此方法可以有效解決緩慢收斂和不穩(wěn)定的問題。
使用負(fù)對(duì)數(shù)似然損失法,損失函數(shù)
其中,t、P分別表示真實(shí)值和預(yù)測(cè)值。在最后的推理過程中,本文使用自回歸的方式生成目標(biāo)序列。
在4個(gè)公開的ABSA 數(shù)據(jù)集上評(píng)估該模型,其包含餐館和筆記本2種不同類型的數(shù)據(jù)。該數(shù)據(jù)集是由Fan等[22]標(biāo)注,14lap和14res來源于Semeval 2014 Task 4,15res來源于Semeval 2015 Task 12,16res來源于Semeval 2016 Task 5。如表1所示,其中列舉了不同數(shù)據(jù)集中的評(píng)論句數(shù)量和方面-觀點(diǎn)詞對(duì)的數(shù)量。
表1 數(shù)據(jù)集
采用BART-Large模型,在所有實(shí)驗(yàn)中,BARTLarge的編碼器和解碼器各有12層,與BERT-Large和RoBERTa-Large模型的transformer層數(shù)相同。模型未使用任何其他嵌入,且在優(yōu)化過程中對(duì)BART模型進(jìn)行了微調(diào)。在所有的數(shù)據(jù)集上采用召回率R、精確率P和F1值3個(gè)指標(biāo)來對(duì)模型進(jìn)行評(píng)估。使用傾斜三角學(xué)習(xí)率預(yù)熱。實(shí)驗(yàn)均在NVIDIA Tesla V100顯卡(顯存容量16 GiB,顯存帶寬900 Gbit/s,CUDA核心5120)上進(jìn)行,使用的超參數(shù)詳情如表2所示。
表2 超參數(shù)
1)GTS-BERT(Wu等[23]):一種基于網(wǎng)格標(biāo)注的方法提取方面-觀點(diǎn)詞對(duì)模型。
2)Span Mlt[17]:一種基于跨度的多任務(wù)學(xué)習(xí)模型,對(duì)方面-觀點(diǎn)詞對(duì)進(jìn)行成對(duì)的抽取。
3)Dual-MRC[24]:一種采用機(jī)器閱讀理解(machine reading comprehension,簡(jiǎn)稱MRC)方式,由2個(gè)MRC組成的聯(lián)合訓(xùn)練框架,用于解決方面和觀點(diǎn)術(shù)語的提取和配對(duì)問題。
4)ESGCN[21]:一種結(jié)合豐富的句法知識(shí)來增強(qiáng)方面-觀點(diǎn)成對(duì)抽取的模型。
本模型與其他基線模型在4個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果比較如表3所示。
表3 實(shí)驗(yàn)結(jié)果
從實(shí)驗(yàn)結(jié)果來看,本模型在14lap、15res、16res這3個(gè)數(shù)據(jù)集上的表現(xiàn)均優(yōu)于其他基線模型,尤其是在15res數(shù)據(jù)集上的性能比最佳的基線模型提升了3.74%,在14res數(shù)據(jù)集上的表現(xiàn)也比大部分基線模型優(yōu)異。
在不進(jìn)行任何標(biāo)注、不產(chǎn)生大量負(fù)樣本的情況下,采用簡(jiǎn)單的Seq2Seq模型,端到端地解決了方面-觀點(diǎn)詞對(duì)提取的問題,性能也得到了顯著的提升。與ESGCN模型相比,結(jié)果在3個(gè)數(shù)據(jù)集上均表現(xiàn)優(yōu)異,證明BART模型已經(jīng)習(xí)得一定的句法知識(shí),還能提供更多的有效信息。
針對(duì)在14res數(shù)據(jù)集上效果不佳的問題,可簡(jiǎn)單地使用評(píng)論句中包含方面-觀點(diǎn)詞對(duì)的數(shù)量來斷定句子的復(fù)雜程度。根據(jù)分析,14res數(shù)據(jù)集中含有3對(duì)及以上對(duì)方面-觀點(diǎn)詞對(duì)的評(píng)論句數(shù)量占比較大,訓(xùn)練集中占23.88%,而其他數(shù)據(jù)集中只有14%左右。14res數(shù)據(jù)集中存在多種復(fù)雜情況,如一對(duì)多、多對(duì)一、觀點(diǎn)項(xiàng)出現(xiàn)在方面項(xiàng)之前以及一些人腦也難以判斷的情況。本模型在這些復(fù)雜的評(píng)論句中無法很好地處理方面詞和觀點(diǎn)詞、方面詞和方面詞與觀點(diǎn)詞和觀點(diǎn)詞之間的相互依賴關(guān)系,導(dǎo)致在復(fù)雜的評(píng)論句中無法正確地提取所有的方面-觀點(diǎn)詞對(duì)。
研究不同的學(xué)習(xí)率和束寬是否對(duì)模型性能有影響。首先研究不同學(xué)習(xí)率對(duì)模型的影響,在16res數(shù)據(jù)集上對(duì)于每個(gè)大小不同束寬,采用不同的學(xué)習(xí)率進(jìn)行實(shí)驗(yàn),結(jié)果如圖2所示,顯示不同的學(xué)習(xí)率對(duì)模型的性能影響較大。在束寬大小不同的情況下,學(xué)習(xí)率為2×10-5時(shí),性能是最佳的。
圖2 學(xué)習(xí)率
由于本文的框架是基于生成的,隨后研究在預(yù)測(cè)階段,束寬是否會(huì)影響模型性能。束搜索是一種常用的搜索算法,束寬為k表示選取當(dāng)前概率最大的k個(gè)詞作為候選輸出序列。結(jié)果如圖3所示,顯示束搜索對(duì)模型性能的影響較小。
圖3 束搜索
將方面-觀點(diǎn)項(xiàng)對(duì)的抽取任務(wù)轉(zhuǎn)換為文本生成任務(wù),采用一個(gè)帶有指針機(jī)制的Seq2Seq模型來成對(duì)生成方面-觀點(diǎn)項(xiàng)對(duì),無需復(fù)雜的標(biāo)注或生成大量的負(fù)樣本,使解決方面-觀點(diǎn)項(xiàng)對(duì)抽取問題的方式更接近人類的邏輯和習(xí)慣。根據(jù)Seq2Seq模型的特點(diǎn),采用大型預(yù)訓(xùn)練模型BART 的編碼器和解碼器作為Seq2Seq模型的編碼器和解碼器,在解碼時(shí)采用指針機(jī)制生成方面-觀點(diǎn)詞對(duì)序列。實(shí)驗(yàn)結(jié)果表明,本模型在14lap、15res、16res這3個(gè)數(shù)據(jù)集上均優(yōu)于其他的模型。針對(duì)在超長(zhǎng)且情況復(fù)雜的評(píng)論句中含有多對(duì)方面-觀點(diǎn)項(xiàng)對(duì)的提取效果不佳的問題,將會(huì)是下一步研究的重點(diǎn)。