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