范守祥,姚俊萍+,李曉軍,馬可欣
(1.火箭軍工程大學(xué) 301教研室,陜西 西安 710025;2.61486部隊,上海 200072)
方面信息提取的目標是從給定原始文本序列中提取表征實體、實體屬性或反映實體某一側(cè)面的信息。方面信息是情感信息的直接受體,通常為一個詞語或短語。比如在筆記本電腦評論“They don’t just look good; they deliver excellent performance.”中,“l(fā)ook”和“performance”分別表征了筆記本電腦兩個不同側(cè)面且被賦予正向的情感極性,故應(yīng)作為方面信息提取出來。目前已出現(xiàn)許多不同類型的提取方法,如基于主題模型的方法[1-3]以及基于條件隨機場的方法[4,5]等。隨著深度學(xué)習在各個領(lǐng)域的廣泛運用與發(fā)展,基于深度學(xué)習的方面信息提取方法[6-9]正受到越來越多的關(guān)注,并且取得不錯的成果。
在使用深度學(xué)習方法進行方面信息提取時,常作為序列標注任務(wù),重點是使模型能夠自動提取有用特征,比如Yin等[10]通過在詞向量空間中構(gòu)建詞與詞之間的句法依賴路徑向量,將句法依賴信息融入到詞的最終特征表示中,Ma等[11]用序列到序列的生成模型將目標詞的語義特征、上下文特征、文本整體語義特征以及前詞標簽特征等融入到目標詞最終特征表示中。除上述特征外,目標詞以及前詞的詞性信息對于判斷目標詞是否為方面信息具有重要價值。比如在上例中,如果知道“performance”為名詞,“excellent”為形容詞,獲取修飾關(guān)系,將能夠更加高效判斷“performance”為方面信息。目前,方面信息提取任務(wù)中存在兩個突出問題:一是如何將包括詞性信息在內(nèi)的各類信息更有效融入到最終特征表示中,比如當前多數(shù)研究是將詞性信息嵌入到詞向量中,構(gòu)造包含詞性特征的向量空間,但利用效果不明顯。二是如何解決錯誤傳遞問題。當前大多詞性或句法解析系統(tǒng)準確率不高,且評論語言具有隨意性,存在省略表達、語法錯誤、拼寫錯誤等多種問題,會進一步降低詞性解析準確率,融入此類特征有可能造成特征混亂,甚至產(chǎn)生負面效果。
本文提出一種基于編碼器-解碼器架構(gòu)的序列標注反饋模型,針對上述第一個問題,在Ma等[11]提出方法基礎(chǔ)上,模擬人對事物做出判斷時融入各類信息且不斷擇優(yōu)選擇的過程,將目標詞標簽分類特征分成語義特征、詞性特征、依賴特征3類構(gòu)成,并利用雙路編解碼、門控機制等策略,對各類信息進行多次融合,生成依賴詞性特征以及不依賴詞性特征的兩類特征表示,并利用該特征分別進行目標詞類別判斷,最后在兩類判斷結(jié)果的基礎(chǔ)上再次進行結(jié)果選擇,得出最佳判斷結(jié)果。針對第二個問題,提出一種數(shù)據(jù)增強與反饋方法,在訓(xùn)練模型時,利用類似遺傳算法的思想,通過對判斷錯誤的樣本進行隨機刪詞、隨機交換詞語位置以及隨機交換當前錯誤樣本與其余訓(xùn)練樣本中詞語3種方式,生成新訓(xùn)練樣本,融入到下一輪訓(xùn)練過程中,增加拼寫錯誤、語法錯誤、隨機錯誤以及簡化語言表達等語言表達形式的樣本數(shù)量,彌補訓(xùn)練樣本不平衡問題,提高模型對各類語言形式的適應(yīng)能力。實驗結(jié)果表明,通過上述模型設(shè)計與訓(xùn)練方式的改進,訓(xùn)練效果得到較大提升。
近年來,基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習方法在自然語言處理各領(lǐng)域任務(wù)中得到廣泛應(yīng)用,如機器翻譯、問答系統(tǒng)、情感分析、文本摘要等等。亦有許多基于深度學(xué)習的方法被提出,用以解決方面信息提取任務(wù)。在這些方法中,常使用基于RNN(recurrent neural network)、CNN(convolutional neural network)、注意力機制(attention mechanism)、預(yù)訓(xùn)練詞嵌入(pretrained word embedding)等模型和技術(shù)。基于深度學(xué)習方法可以自動捕獲詞、短語或句子的特征而不需要人為設(shè)計。比如Poria等[6]將CNN引入到方面提取任務(wù)中,Liu等[7]提出一種基于RNN的判別模型,將不同語料訓(xùn)練出的詞嵌入作為不同類型RNN的輸入,展示出利用神經(jīng)網(wǎng)絡(luò)方法提取方面信息的有效性。
目前使用基于深度學(xué)習的方法進行方面信息提取主要有以下3種思路。①利用預(yù)訓(xùn)練詞嵌入本身被編碼的語義信息。詞的編碼表示是使用神經(jīng)網(wǎng)絡(luò)處理自然語言問題的基礎(chǔ),早期使用獨熱編碼(one-hot)表示詞語的方式不僅造成嚴重的數(shù)據(jù)稀疏問題,且無法很好表達詞語的含義以及詞語之間的關(guān)系。通過大量文本資源訓(xùn)練得出的詞嵌入能較好保留詞語的語義特征,且語義相近的詞語在詞嵌入空間中位置較為接近,能有效保留詞語間的關(guān)系。比如He等[8]提出一種無監(jiān)督模型,使用獨立的方面詞嵌入重構(gòu)句子表示,并將其與原始句子表示之間的差異作為最小化目標,學(xué)習得到方面信息詞嵌入,依據(jù)方面信息詞嵌入與原始詞嵌入在同一詞嵌入空間中的特點,通過距離找到合理的方面信息。②利用句子中詞語間的句法依賴關(guān)系。句法依賴信息是句子中不同成分之間的依賴關(guān)系,方面信息往往是特定句法依賴結(jié)構(gòu)中的特定成分。比如Yin等[10]提出在詞嵌入空間中,通過學(xué)習依賴路徑向量將兩個詞聯(lián)系起來,構(gòu)建包含詞嵌入、目標詞的線性上下文表示、依賴路徑上下文表示等特征,并作為CRF(conditional random field)的輸入提取方面信息。③利用觀點信息和方面信息共現(xiàn)特征。方面信息是觀點表達對象這一事實表明,方面信息和觀點信息經(jīng)常同時出現(xiàn)在一個完整表達中,缺少其中一項的另一項都不能稱為方面信息或者觀點信息,利用方面信息和觀點信息的共現(xiàn)關(guān)系可以加強兩者提取效果。比如,Wang等[9]提出一種多層注意力網(wǎng)絡(luò),每一層都使用一對注意力機制分別學(xué)習方面信息和觀點信息的特征,且兩者間相互學(xué)習注意力權(quán)值;Li等[12]使用兩個帶有記憶模塊的LSTM(long short-term memory)網(wǎng)絡(luò)分別處理方面信息和觀點信息抽取,觀點和方面之間的關(guān)系則通過兩個網(wǎng)絡(luò)的記憶模塊間的信息交互建立。
圖1 模型總體結(jié)構(gòu)
本文提出一種基于編碼器-解碼器架構(gòu)的序列標注反饋模型,由編碼器、解碼器以及數(shù)據(jù)增強與反饋組件三部分組成。在編碼器中,利用雙層雙向GRU(gated recurrent unit)網(wǎng)絡(luò)對詞向量與詞性向量分別進行編碼,得到融合上下文的詞與詞性的向量特征表示;在解碼器中,構(gòu)建了雙路解碼組件以及門控信息融合單元,分別對目標詞標簽進行解碼,而后融合兩路解碼結(jié)果并再次解碼,得到最終最優(yōu)標簽解碼結(jié)果;在數(shù)據(jù)增強與反饋組件中,按照預(yù)定樣本生成規(guī)則,對模型判斷錯誤的樣本進行新樣本生成,并反饋到下一輪訓(xùn)練樣本中。這一部分,將分別對模型中的編碼器、解碼器中的雙路解碼組件、雙路門控信息融合單元,以及數(shù)據(jù)增強與反饋組件進行詳細描述,模型整體結(jié)構(gòu)如圖1所示。
方面信息提取是在給定含有方面信息及對應(yīng)情感表達的文本序列
S={x1,x2,…,xn}
(1)
條件下,提取方面信息
A={xn-i,xn-i+1,…,xn-i+k}(k≤i)
(2)
的問題。為便于模型描述,文中使用w={w1,w2,…,wn} 表示文本序列對應(yīng)詞向量序列,使用p={p1,p2,…,pn} 表示文本序列對應(yīng)的詞性向量序列,使用y={y1,y2,…,yn} 表示文本序列對應(yīng)的標簽索引序列,采用 {B,I,O} 三級方面信息分類方案,其它符號說明見圖1注釋。
在編碼器中,使用兩個獨立的雙層雙向GRU網(wǎng)絡(luò)分別對詞性量和詞性向量進行編碼。GRU網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)的一種,可以有效保留序列信息,并且可以解決梯度消失與爆炸問題。編碼器依次讀取文本序列中每一個詞語對應(yīng)詞向量與詞性向量,輸出目標詞的輸出向量及隱狀態(tài)向量
(3)
(4)
在雙路解碼組件中,重點解決解碼過程中的信息依賴問題,生成目標詞的標簽依賴特征。直覺上,在目標詞分類特征形成過程中,目標詞的語義特征、整體語義特征、前詞標簽特征、前詞詞性特征等都能夠影響目標詞的特征表示,在Ma等[11]設(shè)計的方法中使用了前3類特征,詞性特征對于解碼目標詞特征表示具有重要作用,同時這種作用是動態(tài)的,在面對不同的語言表達時,詞性信息所起的作用強弱不同。所以,基于對詞性信息的這一認識,構(gòu)建了兩路解碼組件,一路用以形成包含詞性信息的依賴特征,另一路則相反,最終通過兩路信息融合出能夠體現(xiàn)詞性信息不同作用的依賴特征表示。在使用編碼器-解碼器架構(gòu)時,其突出優(yōu)點是可以對文本進行預(yù)先編碼,獲得文本的整體語義信息,同時可以作為記憶模塊在解碼過程中隨時調(diào)用記憶信息,這些信息可滿足解碼過程中所需各類信息。整個模塊從編碼器獲取目標詞條件下的整體語義信息、詞性信息以及隱狀態(tài)信息,同時輸入前詞標簽信息,得到解碼輸出信息及隱狀態(tài)信息
(5)
(6)
雙路門控信息融合單元重在解決生成目標詞特征表示問題,該特征表示包含目標詞語義信息、詞性信息、依賴信息,3類信息通過合并門進行融合。同樣生成兩路分別包含與不包含詞性信息的目標詞表示特征。這兩路表示特征分別進行目標詞標簽分類判斷,得出依賴詞性信息與不依賴詞性信息的兩個一級分類結(jié)果,再通過參數(shù)矩陣控制兩類結(jié)果融合,最終產(chǎn)生目標詞的二級分類結(jié)果,這樣建模突出了詞性特征對最終結(jié)果的影響是一種具有強弱控制的影響。計算過程如下
(7)
(8)
(9)
(10)
P(yt|y1∶t-1,w,p)=softmax(W9(W7rt+W8r′t)+b2)
(11)
其中,gt∈Rnd為信息合并門,由目標詞語義特征、依賴特征、詞性特征以及變化矩陣控制,經(jīng)過門方向的歸一化后得到;rt∈Rnd為一級分類結(jié)果,經(jīng)由目標詞各gt信息控制門控制信息流入量后計算得到;P(yt|y1∶t-1,w,p) 表示目標詞最終標簽類別概率分布,經(jīng)兩路一級分類結(jié)果與相應(yīng)控制矩陣進一步控制信息融合比例后得到,W1-W9以及b0-b2均為可學(xué)習參數(shù)。
最終,通過最小化負對數(shù)似然損失對整個模型進行訓(xùn)練
(12)
式中:y′t表示標準標注類別索引值,θ表示模型中所有可學(xué)習參數(shù)??v觀整個模型,將決定一個詞標簽類別的信息分為語義信息、詞性信息、依賴信息3類,在信息流動過程中,多次進行信息融合,旨在保證模型在判斷目標詞標簽分類結(jié)果過程中,對各類信息具有控制與學(xué)習的能力。
在利用詞性信息進行方面信息提取時,詞性解析錯誤將傳遞到最終的特征表示中,嚴重影響模型對詞性信息的利用水平,甚至阻礙模型判斷準確率的提升。為降低這種錯誤傳遞問題對模型的不良影響,提出數(shù)據(jù)增強與反饋組件。該組件工作于訓(xùn)練流程中,是提升模型對判斷錯誤樣本中語言模式理解認識能力、強化模型提取方面信息關(guān)鍵特征能力的重要組件。通過深入觀察分析評論文本發(fā)現(xiàn):評論文本在語言表述形式上具有極大靈活性,體現(xiàn)在經(jīng)常出現(xiàn)簡化表達、錯誤表達等現(xiàn)象。一方面,這些現(xiàn)象是造成詞性解析錯誤的重要原因,另一方面,也應(yīng)該看到,這類樣本雖無法借助詞性信息助力得到模型的正確判斷,卻能夠得到人類的正確理解。比如對表1中原始樣本經(jīng)過簡化、亂序、變異轉(zhuǎn)換后,得到的樣本出現(xiàn)表達不完整,存在語法錯誤等問題,但并不影響對其整體含義的認識以及方面信息的判斷。對于評論表達的這個認識啟示我們,對于模型判斷錯誤的樣本,可以通過人為構(gòu)造簡化、亂序、變異甚至錯誤的表達生成新的訓(xùn)練樣本,增加與錯誤樣本相關(guān)語言模式樣本數(shù)量,加強模型對類似樣本語言模式的認識能力,降低模型在處理此類樣本時對詞性信息的依賴程度。具體的,對訓(xùn)練集中模型判斷錯誤的樣本采用如下樣本生成機制。
表1 樣本形式變換示例
(1)刪除詞:隨機刪除樣本中除方面信息以外的詞語,通過參數(shù)α控制刪除單詞數(shù)量比例,模擬樣本的簡化或錯誤表達形式;
(2)交換詞:隨機交換樣本中除方面信息以外的詞語,通過參數(shù)β控制交換單詞數(shù)量比例,模擬樣本的亂序或錯誤表達形式;
(3)變異詞:隨機將樣本中除方面信息以外詞語與剩余訓(xùn)練樣本中除方面信息以外詞語進行交換,通過參數(shù)γ控制變異單詞數(shù)量比例,模擬樣本的同義或錯誤表達形式。
通過上述3種方式為每個判斷錯誤訓(xùn)練樣本生成3個新樣本,反饋到下一輪訓(xùn)練樣本中。由于采用隨機樣本生成方式經(jīng)過變換產(chǎn)生的新樣本很可能出現(xiàn)無法理解或與原始樣本相矛盾的情況,為降低此類生成樣本對模型的不良影響,每輪訓(xùn)練僅對排除新增樣本的原始訓(xùn)練樣本進行樣本生成與反饋操作,使模型每輪次訓(xùn)練盡可能學(xué)習符合原始文本語言模式的特征,提高模型對判斷錯誤樣本相關(guān)表述的理解能力。
本實驗沿用目前在方面信息提取任務(wù)領(lǐng)域廣泛使用的兩個數(shù)據(jù)集,分別是SemEval-2014任務(wù)4[13]中的Laptop評論數(shù)據(jù)集和SemEval-2016任務(wù)5[14]中的Restaurant評論數(shù)據(jù)集,詳情參見表2。所有評論數(shù)據(jù)均標記有根據(jù)字母位置索引定位的方面信息,使用NLTK(natural language toolkit)將文本分割為單詞序列,使用斯坦福大學(xué)的自然語言處理工具包Stanford-CoreNLP對評論文本進行詞性解析,獲取單詞詞性信息,并從訓(xùn)練數(shù)據(jù)集中隨機抽取150個訓(xùn)練樣本作為驗證數(shù)據(jù)集。
表2 樣本數(shù)據(jù)信息統(tǒng)計
為提高模型通用性與實驗可對比性,詞向量采用Glove.840B.300 d預(yù)訓(xùn)練詞向量初始化,詞性向量以及標簽類別向量均采用隨機初始化,向量維度設(shè)定為300。編碼器GRU網(wǎng)絡(luò)隱層大小設(shè)定為300,解碼器GRU網(wǎng)絡(luò)隱層大小設(shè)定為600。使用Adam[15]優(yōu)化算法更新模型參數(shù),學(xué)習率設(shè)定為0.001。采用dropout策略防止參數(shù)過擬合,dropout率設(shè)定為0.5,batch大小設(shè)定為24。
為充分評估模型的有效性,將與下列方法進行對比:
(1)RNCRF[16]:基于句法依賴樹構(gòu)建遞歸神經(jīng)網(wǎng)絡(luò),學(xué)習詞語表示特征,并作為條件隨機場的輸入特征,判斷詞語標簽類別;
(2)MIN[12]:基于LSTM的多任務(wù)學(xué)習模型,設(shè)計有記憶模塊,并通過記憶模塊間的信息交互同時提取方面和情感信息;
(3)CMLA[9]:耦合多層注意力模型,通過多層注意力機制分別提取方面與情感信息特征,并通過交互學(xué)習提升彼此特征表示能力;
(4)Glove-CNN[17]:利用詞向量本身蘊含的信息以及多層CNN構(gòu)建簡單模型,提取方面信息特征;
(5)HAST[18]:從LSTM構(gòu)建的記憶中提取方面檢測歷史以及觀點摘要信息,并以此強化當前方面信息檢測能力;
(6)seq2seq4ATE[11]:基于序列到序列的生成模型,借助文本整體語義特征以及前詞標簽依賴特征等信息解碼目標詞標簽特征。
本文提出方法與對比方法性能情況見表3。從表中可以看出,所有方法都存在Laptop評論數(shù)據(jù)測試結(jié)果好于 Restaurant 評論數(shù)據(jù)測試結(jié)果情況,這可能與多方面因素有關(guān),比如Laptop評論數(shù)據(jù)中存在大量通用表述的方面信息,比如“Operating System”“Screen”等,這些方面信息較容易被模型習得,而Restaurant評論數(shù)據(jù)中除了一部分通用表述方面信息以外還存在大量低頻方面信息,比如具體餐品名稱“Lemon Chicken”、“Honey Walnut Prawns”,這些餐品名稱在形式上以不規(guī)則短語為主,規(guī)律性較難被模型掌握;另外樣本數(shù)據(jù)的不平衡性也可能是導(dǎo)致這種現(xiàn)象的原因之一。
表3 方法性能對比統(tǒng)計(F1/%)
在RNCRF方法中使用了句法解析以及詞性信息,使得Laptop評論數(shù)據(jù)測試結(jié)果較好,但是在Restaurant評論數(shù)據(jù)表現(xiàn)出所列方法中最低性能水平,體現(xiàn)出模型對Restaurant評論數(shù)據(jù)識別能力較差,與本文提出方法相比,在兩個數(shù)據(jù)集上分別存在3.82%和6.34%的差距,說明模型利用句法及詞性信息不夠充分,應(yīng)對句法以及詞性解析錯誤的能力較弱。
MIN、CMLA、HAST這3種方法均利用了方面信息與觀點信息之間的依賴關(guān)系提升方面信息的提取效果,其中MIN、CMLA明確用到顯式觀點標記信息,HAST使用了隱含觀點信息,3種方法均表現(xiàn)出不錯的效果,但是某些情況下,觀點信息可能會導(dǎo)致方面信息的誤判,比如在“Most of them were either too big, too noisy and too slow after 2 years”中,評論者并未明確提出方面信息,只是說明了一種普遍的現(xiàn)象,但是其中出現(xiàn)了很多具有強烈負面觀點的信息,使模型在利用這些信息時易產(chǎn)生錯誤判斷,此時需要通過文本整體語義做出更準確判斷。本文雖未借鑒上述方法利用觀點信息,但是在構(gòu)造依賴信息時融入了文本整體語義信息,同時利用了目標詞語義信息、詞性信息等,使整體性能比上述方法有較大提升。
Glove-CNN利用通用詞向量本身的蘊含的語義信息以及CNN的特征抽取能力提取方面信息,優(yōu)勢在于模型簡單計算高效;seq2seq4ATE與本文提出模型最為接近,均采用了編碼器-解碼器的模型架構(gòu),不同之處在于本文將詞性信息多次融入到最終的特征表示中,且模擬人類進行文本語義理解的方式,融合各方信息綜合判斷目標詞的標簽類別,在兩個數(shù)據(jù)集上分別比seq2seq4ATE提升1.6%和0.92%,取得所有對比方法中最佳性能。
為進一步驗證本文提出方法有效性,進行了相關(guān)消融實驗,主要包括排除樣本生成實驗(OURS-w/o-SG)、單路解碼實驗(OURS-w/o-DD)、排除門控機制實驗(OURS-w/o-WOG),具體實驗結(jié)果見表4。
表4 消融實驗結(jié)果
從表4中,可以明顯看出,將本文所提出方法簡化后,所得到的實驗結(jié)果在兩個實驗數(shù)據(jù)集上均有所下降,表明本文提出方法的各模塊均有效提高方面信息提取整體性能,具有重要作用;其次,可以看到,在排除樣本生成以后,模型在兩個數(shù)據(jù)集上的實驗結(jié)果出現(xiàn)較大下降,分別達到了3.1%、3.34%,可認為將詞性信息加入模型后,由于詞性解析系統(tǒng)本身正確率不高以及評論語言表達隨意性等問題造成的詞性解析結(jié)果錯誤,使模型的性能受到很大影響,說明樣本生成對模型整體表現(xiàn)具有重要作用;最后,在排除門控機制實驗中,Restaurant評論數(shù)據(jù)測試結(jié)果下降1.99%,性能降低較為明顯,而在相應(yīng)的Laptop評論數(shù)據(jù)測試中僅下降0.66%,說明門控機制可以較為有效的應(yīng)對復(fù)雜方面信息識別。
此外,對于本文提出的數(shù)據(jù)增強與反饋機制,進行了兩組實驗,分別為Glove-CNN、seq2seq4ATE兩種方法添加了數(shù)據(jù)增強與反饋機制,結(jié)果顯示數(shù)據(jù)增強與反饋機制在方面信息提取任務(wù)中表現(xiàn)出普遍有效性的傾向。具體實驗結(jié)果見表5。
表5 樣本生成對比實驗結(jié)果
通過上述各實驗數(shù)據(jù)可以看出:①3種樣本生成控制參數(shù)普遍控制在0.3-0.5之間時產(chǎn)生當前條件下最好實驗結(jié)果,在隨機生成條件下,樣本生成參數(shù)過大會使生成樣本嚴重偏離可能的真實語言現(xiàn)象,而過小會降低生成樣本的演化水平;②不同方法、不同數(shù)據(jù)集下生成最好實驗結(jié)果的樣本生成參數(shù)略有不同,可能是由于不同模型對不同數(shù)據(jù)集樣本提取的特征有所不同,且產(chǎn)生的錯誤樣本不同造成的。
本文針對方面信息提取任務(wù),提出一種基于編碼器-解碼器架構(gòu)的序列標注反饋模型,并將文本分類特征劃分為語義特征、詞性特征、依賴特征3類特征組成。實驗結(jié)果表明,本文采用的雙路編解碼、門控機制等策略對語義、詞性、標簽等信息的融合起到至關(guān)重要的作用,有效提高模型對各類信息的利用水平;所采用的數(shù)據(jù)增強與反饋機制,強化了模型對錯誤分類樣本的認識能力,同時對模型提取信息特征起到有益促進作用。在未來工作中,我們將繼續(xù)對特征的融合表示方式進行研究,并進一步對樣本生成機制進行研究,轉(zhuǎn)變隨機生成為有限控制生成,探索樣本隨機生成下的規(guī)律性。