張 璞,陳 韜+,陳 超,王 永
(1.重慶郵電大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,重慶 400065;2.重慶郵電大學(xué) 經(jīng)濟(jì)管理學(xué)院,重慶 400065)
評價對象抽取是情感分析中的一項(xiàng)重要研究任務(wù)[1,2],已有研究大多采用基于傳統(tǒng)機(jī)器學(xué)習(xí)的方法和基于規(guī)則的方法。前一類方法通常利用條件隨機(jī)場等序列標(biāo)注模型來進(jìn)行評價對象抽取[3],需要依賴于人工標(biāo)注數(shù)據(jù),標(biāo)注代價很高[4]。后一類方法則主要通過對文本進(jìn)行解析,歸納總結(jié)出一系列規(guī)則和模板來識別和抽取評價對象[5]。
深度學(xué)習(xí)方法是機(jī)器學(xué)習(xí)中一種多層的表征學(xué)習(xí)方法[6],近幾年開始應(yīng)用于自然語言處理領(lǐng)域[7],通過深層次的學(xué)習(xí),可以獲得淺層學(xué)習(xí)無法獲取的特征,有助于幫助許多任務(wù)的開展。Ozan Irsoy等[8]通過建立雙向循環(huán)神經(jīng)網(wǎng)絡(luò)模型,計(jì)算詞語在不同標(biāo)簽上的分布概率得到情感文本中的評價對象。Arzoo Katiyar等[9]通過構(gòu)建雙向長短時記憶網(wǎng)絡(luò)(BiLSTM)對評價對象和搭配關(guān)系進(jìn)行抽取,取得了較好的結(jié)果。此外,研究者們還將遞歸神經(jīng)網(wǎng)絡(luò)及循環(huán)神經(jīng)網(wǎng)絡(luò)等模型也用于微博評價對象抽取研究中[10,11]。
微博評價對象抽取研究大多在英文微博上進(jìn)行,在中文微博上的研究還比較少。本文提出了一種基于深度學(xué)習(xí)的中文微博評價對象抽取方法,通過利用雙向長短時記憶網(wǎng)絡(luò)來建立模型,并利用注意力機(jī)制來將注意力集中于更具價值的信息上,最后結(jié)合條件隨機(jī)場模型尋找最優(yōu)標(biāo)注路徑。實(shí)驗(yàn)驗(yàn)證了本文方法的有效性。
深度學(xué)習(xí)是一種新興的機(jī)器學(xué)習(xí)方法,通過建立神經(jīng)網(wǎng)絡(luò)來分析和使用不同種類的數(shù)據(jù),廣泛應(yīng)用于各類領(lǐng)域。隨著深度學(xué)習(xí)方法在自然語言領(lǐng)域的快速發(fā)展,許多深度學(xué)習(xí)模型被應(yīng)用于評價對象抽取任務(wù)中。循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN)是一種可用于處理序列數(shù)據(jù)的深度學(xué)習(xí)模型,網(wǎng)絡(luò)結(jié)構(gòu)由輸入層、輸出層、隱含層組成。在處理數(shù)據(jù)時,序列中當(dāng)前單元的輸出值與歷史單元的輸出有關(guān)系,它會對歷史信息進(jìn)行記憶并應(yīng)用于當(dāng)前的輸出計(jì)算中。長短時記憶網(wǎng)絡(luò)(long short term memory,LSTM)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),它緩解了普通循環(huán)神經(jīng)網(wǎng)絡(luò)處理序列數(shù)據(jù)時的梯度消失和長期依賴等問題。LSTM通過被稱作為“門”的結(jié)構(gòu)來去除或者增加信息到當(dāng)前單元。LSTM單元中有輸入門、遺忘門、輸出門,如圖1所示。進(jìn)入單元的信息中,只有符合要求的信息才會留下,不符的信息則通過遺忘門被遺忘。
圖1 LSTM單元結(jié)構(gòu)
在序列標(biāo)注任務(wù)中,僅僅使用歷史信息去計(jì)算當(dāng)前單元的輸出值的效果是有限的。雙向長短時記憶網(wǎng)絡(luò)承繼雙向循環(huán)神經(jīng)網(wǎng)絡(luò)模型的思想,對每一個訓(xùn)練序列向前和向后設(shè)計(jì)兩個LSTM。這個結(jié)構(gòu)提供給輸出層輸入序列中每一個元素的過去和未來的上下文信息。正向LSTM捕獲了上文的特征信息,而反向LSTM捕獲了下文的特征信息,這樣相對單向LSTM來說能夠捕獲更多的特征信息,對于許多序列標(biāo)注任務(wù)是非常重要的。
條件隨機(jī)場(condition random field,CRF)是一種條件概率分布模型,在一組隨機(jī)變量輸入給定的情況下,該模型能輸出另一組隨機(jī)變量的條件概率分布。在自然語言處理的許多領(lǐng)域,如序列標(biāo)注、詞性標(biāo)注、中文分詞、命名實(shí)體識別等都有比較好的應(yīng)用效果。
CRF中的關(guān)鍵問題主要涉及到特征函數(shù)的選擇、參數(shù)估計(jì)、模型推斷3方面。不同特征函數(shù)的選擇對模型性能的影響較大;CRF在訓(xùn)練過程中常使用極大似然估計(jì)(MLE)方法估計(jì)和優(yōu)化參數(shù);在模型推斷方面,常使用前向后向法或者維特比(Viterbi)算法來進(jìn)行推斷。郝志峰等[12]提出了一種基于條件隨機(jī)場模型進(jìn)行評價對象識別的方法。該方法綜合考慮了微博文本內(nèi)容的句法依賴關(guān)系進(jìn)行統(tǒng)計(jì)建模,通過向常見的條件隨機(jī)場模型中添加全局變量節(jié)點(diǎn)的方法,識別并提取文本中的顯性情感對象和隱形情感對象。
注意力機(jī)制(attention mechanism)是深度學(xué)習(xí)中的研究熱點(diǎn),其核心思想是根據(jù)內(nèi)容的關(guān)鍵程度選擇性地分配注意力。注意力機(jī)制通過計(jì)算注意力概率分布,可以使得文本中關(guān)鍵內(nèi)容對于整體的影響更明顯,對于已有的深度學(xué)習(xí)模型具有很好的增強(qiáng)效果。自Mnih等[13]在RNN模型上使用了注意力機(jī)制后,注意力機(jī)制的應(yīng)用變得廣泛起來了,在序列學(xué)習(xí)任務(wù)上具有較大的提升作用。Zhou等[14]提出了一種基于注意力機(jī)制的跨語言情感分類模型。該模型通過構(gòu)建雙向長短時記憶網(wǎng)絡(luò)模型,并從單詞級別和句子級別來利用注意力機(jī)制,實(shí)現(xiàn)源語言和目標(biāo)語言的跨語言情感分類,取得了良好的效果。
本文提出了一種基于雙向長短時記憶網(wǎng)絡(luò),融合了條件隨機(jī)場和注意力機(jī)制的評價對象抽取方法,其模型結(jié)構(gòu)如圖2所示。
圖2 本文方法的模型結(jié)構(gòu)
模型共分為五層,分別是輸入層、BiLSTM層、注意力機(jī)制處理層、CRF層、輸出層,下面將詳細(xì)敘述每層的設(shè)計(jì)。
輸入層:輸入層的主要作用是將文本處理成模型可接受輸入的形式,即進(jìn)行詞嵌入(word embedding)處理,將文本中的單詞向量化。Word2Vec是一種可以進(jìn)行高效率詞嵌入學(xué)習(xí)的工具,其中包括Skip-Gram和CBOW兩種模型。本文使用Skip-Gram模型處理數(shù)據(jù),將數(shù)據(jù)向量化之后輸入到BiLSTM層。
BiLSTM層:BiLSTM層構(gòu)建雙向的LSTM層,其中,正向LSTM可以獲得上文的特征信息,反向LSTM可以獲得下文的特征信息。輸入層輸入的向量xt經(jīng)過LSTM單元的過程中,在時刻t時會按式(1)~式(6)計(jì)算輸入門、輸出門、遺忘門3個門的值和整個單元的狀態(tài)值(輸出向量)
it=σWiht-1+Uixt+bi
(1)
ft=σWfht-1+Ufxt+bf
(2)
(3)
(4)
ot=σWoht-1+Uoxt+bo
(5)
ht=ot⊙tanhct
(6)
(7)
注意力機(jī)制處理層:該層通過計(jì)算注意力概率分布,可以突出關(guān)鍵內(nèi)容對于整體的貢獻(xiàn),增強(qiáng)標(biāo)簽序列的表述能力。經(jīng)過BiLSTM層處理的輸入集合可表示為H={h1,h2,…h(huán)i,hj…,hn},hi代表輸入集合中第i個元素的向量值。輸入集合的注意力分配概率權(quán)重值可由式(8)、式(9)獲得
(8)
(9)
(10)
CRF層:CRF層對于輸入的語句向量序列進(jìn)行建模,通過動態(tài)規(guī)劃進(jìn)行計(jì)算得到的最優(yōu)路徑進(jìn)行標(biāo)注。令X={x1,x2,…,xn}表示輸入到CRF層的向量序列,Y={y1,y2,…,yn}則表示對應(yīng)于輸入序列每個元素的標(biāo)注結(jié)果序列,令Y(X)表示輸入序列所有可能形成的序列,例如句子的長度為n,用于標(biāo)注的標(biāo)簽有B-target、I-target、B-expression、I-expression、O等5個,則Y(X)的大小為5n。鏈?zhǔn)紺RF計(jì)算的就是輸入序列在所有可能形成的標(biāo)注序列Y(X)上的概率分布,在訓(xùn)練階段,每個標(biāo)注序列的分?jǐn)?shù)可由式(11)得到
(11)
其中,n表示輸入序列的大小,Tyi-1,yi表示位置i-1的標(biāo)簽到位置i的標(biāo)簽的狀態(tài)轉(zhuǎn)移得分,φi,yi表示位置i標(biāo)注為標(biāo)簽yi得分。
通過指數(shù)函數(shù)和歸一化處理可將分?jǐn)?shù)轉(zhuǎn)化為概率,即概率分布,如式(12)所示
(12)
訓(xùn)練時由于訓(xùn)練數(shù)據(jù)都是已標(biāo)注的,根據(jù)先驗(yàn)知識,用極大似然估計(jì)方法來優(yōu)化模型參數(shù),對數(shù)似然函數(shù)如式(13)
lθ=∑tlogpy|x;θ
(13)
θ為優(yōu)化的模型參數(shù)。
測試時通過維特比算法可以動態(tài)規(guī)劃地尋找最優(yōu)路徑,通過式(14)可獲得
ymax=arg maxpy|x|y∈YX
(14)
輸出層:輸出層將根據(jù)最優(yōu)標(biāo)注路徑輸出序列的標(biāo)簽,用于結(jié)果分析。
模型首先需要按批次將經(jīng)過預(yù)處理的數(shù)據(jù)輸入,將數(shù)據(jù)做向量化處理;通過BiLSTM層處理輸入的向量化數(shù)據(jù),按式(1)~式(6)計(jì)算單向隱藏層狀態(tài),按式(7)更新雙向狀態(tài);然后按式(8)~式(10)來添加注意力處理機(jī)制,計(jì)算數(shù)據(jù)的注意力分配概率分布;最后通過CRF層對輸入序列按式(11)~式(14)進(jìn)行序列標(biāo)注;循環(huán)上述訓(xùn)練過程結(jié)束后,得到訓(xùn)練模型。
本文實(shí)驗(yàn)使用的數(shù)據(jù)集為手工標(biāo)注的2377條新浪微博文本,其中涉及熱點(diǎn)新聞、國家政策、熱播電影等話題。實(shí)驗(yàn)結(jié)果使用準(zhǔn)確率、召回率、F1值作為評價標(biāo)準(zhǔn)。
CRF:由于CRF在情感評論對象抽取任務(wù)中應(yīng)用廣泛,本文選用CRF作為對比方法。
LSTM:LSTM作為一種適合處理序列數(shù)據(jù)的深度學(xué)習(xí)模型,本文選用LSTM作為對比方法。
BiLSTM:作為LSTM的改進(jìn)模型,為了驗(yàn)證雙向LSTM模型的提升作用,本文將其選為對比方法。
BiLSTM-CRF:該方法在BiLSTM模型的基礎(chǔ)上加入了CRF層,為了驗(yàn)證傳統(tǒng)機(jī)器學(xué)習(xí)模型與深度學(xué)習(xí)模型融合后的效果,本文將其選為對比方法。
3.3.1 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理過程主要包括中文分詞、去除文本中的停用詞、無用字符(例如“#”“@”)等,并通過人工去除少數(shù)只有表情符號、圖片或超鏈接的一些無效微博。除手工標(biāo)注數(shù)據(jù)集外,本文還通過微博API接口額外獲取了30多萬條微博文本作為無標(biāo)注數(shù)據(jù)集,經(jīng)過預(yù)處理之后,在數(shù)據(jù)集上使用Word2Vec中的Skip-gram模型進(jìn)行詞向量的預(yù)學(xué)習(xí)。學(xué)習(xí)過程中采用默認(rèn)的參數(shù)設(shè)置。
3.3.2 模型參數(shù)設(shè)置
訓(xùn)練階段,通過選用一部分?jǐn)?shù)據(jù)作為驗(yàn)證集,在驗(yàn)證集上進(jìn)行調(diào)參,最終選用的模型參數(shù)見表1。
表1 模型參數(shù)
表1中,state size表示LSTM單元的初始狀態(tài)大小,epoch size表示訓(xùn)練集全部進(jìn)行訓(xùn)練的次數(shù),dropout值用于防止過擬合現(xiàn)象的出現(xiàn),批次尺寸表示的是訓(xùn)練時每次從訓(xùn)練集中取的樣本數(shù)量。
3.3.3 實(shí)驗(yàn)步驟
CRF方法的實(shí)驗(yàn)步驟如下:
(1)確定標(biāo)注集為{B-TAR,M-TAR,E-TAR,B-EXP,M-EXP,E-EXP,O},采取字標(biāo)注方式。
(2)將數(shù)據(jù)進(jìn)行預(yù)處理,調(diào)整數(shù)據(jù)格式轉(zhuǎn)換成CRF模型所需要的輸入格式。
(3)確定模型的特征模板,并根據(jù)特征模板得到特征函數(shù),對訓(xùn)練集進(jìn)行學(xué)習(xí)得到模型文件。使用訓(xùn)練生成的模型文件對測試語料進(jìn)行標(biāo)注,產(chǎn)生識別結(jié)果,計(jì)算實(shí)驗(yàn)結(jié)果。所使用特征模板見表2。
表2 CRF特征模板
基于深度學(xué)習(xí)方法的實(shí)驗(yàn)步驟如下:
(1)在對評測樣例數(shù)據(jù)全面分析的基礎(chǔ)上,確定標(biāo)注集合為{B-TAR,M-TAR,E-TAR,B-EXP,M-EXP,E-EXP,O},采取字標(biāo)注方式。
(2)調(diào)整數(shù)據(jù)格式轉(zhuǎn)換成模型所需要的輸入格式,并生成實(shí)驗(yàn)的訓(xùn)練語料和測試語料。
(3)通過初始化參數(shù)、建立神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),設(shè)置激活函數(shù)、輔以dropout方法防止過擬合等步驟建立模型,將訓(xùn)練集輸入到構(gòu)建的模型當(dāng)中進(jìn)行循環(huán)學(xué)習(xí),優(yōu)化參數(shù)得到相應(yīng)的模型文件。
(4)使用生成的模型文件對測試集進(jìn)行標(biāo)注,產(chǎn)生標(biāo)注結(jié)果,統(tǒng)計(jì)實(shí)驗(yàn)結(jié)果。
本文統(tǒng)計(jì)各模型標(biāo)注結(jié)果的準(zhǔn)確率、召回率、F1值,最終實(shí)驗(yàn)結(jié)果見表3。
下面將根據(jù)對比實(shí)驗(yàn)的設(shè)置,逐一分析表3的實(shí)驗(yàn)結(jié)果。
3.4.1 傳統(tǒng)方法與深度學(xué)習(xí)方法的對比
從表3可以看出CRF方法的實(shí)驗(yàn)結(jié)果中準(zhǔn)確率和召回率均比較低,分別只有58.6%和40%,原因是CRF考慮的是局部特征,一旦要求抽取的對象較為復(fù)雜,前后跨度較大時便會有所不足,會導(dǎo)致評價對象抽取不完整,從而影響性能。相對而言LSTM模型在準(zhǔn)確率和召回率均優(yōu)于CRF,分別為62.5%和45.4%,主要因?yàn)長STM學(xué)習(xí)能力更強(qiáng),LSTM能夠獲得到有效的上下文信息,所以能夠抽取出更加完整的情感對象,獲得的結(jié)果更好。
表3 實(shí)驗(yàn)結(jié)果
3.4.2 LSTM和雙向LSTM的對比
從表3可以看出雙向LSTM的準(zhǔn)確率和召回率兩方面均略優(yōu)于單向LSTM,分別為63.1%和46.6%。單向LSTM只能利用文本中的歷史信息計(jì)算當(dāng)前單元的狀態(tài),雙向LSTM模型通過實(shí)現(xiàn)兩個方向相反的LSTM結(jié)構(gòu),相對而言能獲取更多的上下文特征信息,所以在準(zhǔn)確率和召回率方面均有所提高。
3.4.3 單類模型和融合模型的對比
從表3可以看出融合了CRF模型和BiLSTM模型的BiLSTM-CRF模型相比單一模型而言在F1值上獲得了更好的性能。這說明該模型能有效結(jié)合CRF模型和BiLSTM模型處理序列數(shù)據(jù)的優(yōu)勢。
從表3中可以看出本文模型相比于其它方法而言獲得了最好結(jié)果,這說明了本文方法的有效性。相比BiLSTM-CRF模型而言,在F1值上獲得了1.1%的提升,這說明了本文模型中采用注意力機(jī)制的有效性。這是因?yàn)槠胀ǖ腖STM模型雖然能夠有效地利用上下文信息,但是隨著序列的不斷增長,仍然存在長程記憶問題,而本文模型融合了注意力機(jī)制,通過提高長序列中關(guān)鍵詞語的重要性,有效的緩解信息丟失問題,能夠抽取出長序列中不易抽取出的對象,從而提升性能。
本文提出了一種深度學(xué)習(xí)模型來進(jìn)行微博評價對象抽取方法,首先構(gòu)建雙向長短時記憶網(wǎng)絡(luò)將評價對象抽取任務(wù)轉(zhuǎn)化為序列標(biāo)注任務(wù),同時結(jié)合注意力機(jī)制,計(jì)算注意力分配概率分布,最后利用CRF模型對輸入序列尋找最優(yōu)標(biāo)注路徑,實(shí)驗(yàn)結(jié)果表明了本文方法的有效性。
在下一步的工作中,考慮到卷積神經(jīng)網(wǎng)絡(luò)(convolutio-nal neural network,CNN)在自然語言處理中的廣泛應(yīng)用,將繼續(xù)研究如何將其結(jié)合到本文提出的模型當(dāng)中,進(jìn)一步提升性能。