范守祥,姚俊萍+,李曉軍,馬可欣
(1.火箭軍工程大學 301教研室,陜西 西安 710025;2.61486部隊,上海 200072)
方面信息提取的目標是從給定原始文本序列中提取表征實體、實體屬性或反映實體某一側面的信息。方面信息是情感信息的直接受體,通常為一個詞語或短語。比如在筆記本電腦評論“They don’t just look good; they deliver excellent performance.”中,“look”和“performance”分別表征了筆記本電腦兩個不同側面且被賦予正向的情感極性,故應作為方面信息提取出來。目前已出現許多不同類型的提取方法,如基于主題模型的方法[1-3]以及基于條件隨機場的方法[4,5]等。隨著深度學習在各個領域的廣泛運用與發展,基于深度學習的方面信息提取方法[6-9]正受到越來越多的關注,并且取得不錯的成果。
在使用深度學習方法進行方面信息提取時,常作為序列標注任務,重點是使模型能夠自動提取有用特征,比如Yin等[10]通過在詞向量空間中構建詞與詞之間的句法依賴路徑向量,將句法依賴信息融入到詞的最終特征表示中,Ma等[11]用序列到序列的生成模型將目標詞的語義特征、上下文特征、文本整體語義特征以及前詞標簽特征等融入到目標詞最終特征表示中。除上述特征外,目標詞以及前詞的詞性信息對于判斷目標詞是否為方面信息具有重要價值。比如在上例中,如果知道“performance”為名詞,“excellent”為形容詞,獲取修飾關系,將能夠更加高效判斷“performance”為方面信息。目前,方面信息提取任務中存在兩個突出問題:一是如何將包括詞性信息在內的各類信息更有效融入到最終特征表示中,比如當前多數研究是將詞性信息嵌入到詞向量中,構造包含詞性特征的向量空間,但利用效果不明顯。二是如何解決錯誤傳遞問題。當前大多詞性或句法解析系統準確率不高,且評論語言具有隨意性,存在省略表達、語法錯誤、拼寫錯誤等多種問題,會進一步降低詞性解析準確率,融入此類特征有可能造成特征混亂,甚至產生負面效果。
本文提出一種基于編碼器-解碼器架構的序列標注反饋模型,針對上述第一個問題,在Ma等[11]提出方法基礎上,模擬人對事物做出判斷時融入各類信息且不斷擇優選擇的過程,將目標詞標簽分類特征分成語義特征、詞性特征、依賴特征3類構成,并利用雙路編解碼、門控機制等策略,對各類信息進行多次融合,生成依賴詞性特征以及不依賴詞性特征的兩類特征表示,并利用該特征分別進行目標詞類別判斷,最后在兩類判斷結果的基礎上再次進行結果選擇,得出最佳判斷結果。針對第二個問題,提出一種數據增強與反饋方法,在訓練模型時,利用類似遺傳算法的思想,通過對判斷錯誤的樣本進行隨機刪詞、隨機交換詞語位置以及隨機交換當前錯誤樣本與其余訓練樣本中詞語3種方式,生成新訓練樣本,融入到下一輪訓練過程中,增加拼寫錯誤、語法錯誤、隨機錯誤以及簡化語言表達等語言表達形式的樣本數量,彌補訓練樣本不平衡問題,提高模型對各類語言形式的適應能力。實驗結果表明,通過上述模型設計與訓練方式的改進,訓練效果得到較大提升。
近年來,基于神經網絡的深度學習方法在自然語言處理各領域任務中得到廣泛應用,如機器翻譯、問答系統、情感分析、文本摘要等等。亦有許多基于深度學習的方法被提出,用以解決方面信息提取任務。在這些方法中,常使用基于RNN(recurrent neural network)、CNN(convolutional neural network)、注意力機制(attention mechanism)、預訓練詞嵌入(pretrained word embedding)等模型和技術?;谏疃葘W習方法可以自動捕獲詞、短語或句子的特征而不需要人為設計。比如Poria等[6]將CNN引入到方面提取任務中,Liu等[7]提出一種基于RNN的判別模型,將不同語料訓練出的詞嵌入作為不同類型RNN的輸入,展示出利用神經網絡方法提取方面信息的有效性。
目前使用基于深度學習的方法進行方面信息提取主要有以下3種思路。①利用預訓練詞嵌入本身被編碼的語義信息。詞的編碼表示是使用神經網絡處理自然語言問題的基礎,早期使用獨熱編碼(one-hot)表示詞語的方式不僅造成嚴重的數據稀疏問題,且無法很好表達詞語的含義以及詞語之間的關系。通過大量文本資源訓練得出的詞嵌入能較好保留詞語的語義特征,且語義相近的詞語在詞嵌入空間中位置較為接近,能有效保留詞語間的關系。比如He等[8]提出一種無監督模型,使用獨立的方面詞嵌入重構句子表示,并將其與原始句子表示之間的差異作為最小化目標,學習得到方面信息詞嵌入,依據方面信息詞嵌入與原始詞嵌入在同一詞嵌入空間中的特點,通過距離找到合理的方面信息。②利用句子中詞語間的句法依賴關系。句法依賴信息是句子中不同成分之間的依賴關系,方面信息往往是特定句法依賴結構中的特定成分。比如Yin等[10]提出在詞嵌入空間中,通過學習依賴路徑向量將兩個詞聯系起來,構建包含詞嵌入、目標詞的線性上下文表示、依賴路徑上下文表示等特征,并作為CRF(conditional random field)的輸入提取方面信息。③利用觀點信息和方面信息共現特征。方面信息是觀點表達對象這一事實表明,方面信息和觀點信息經常同時出現在一個完整表達中,缺少其中一項的另一項都不能稱為方面信息或者觀點信息,利用方面信息和觀點信息的共現關系可以加強兩者提取效果。比如,Wang等[9]提出一種多層注意力網絡,每一層都使用一對注意力機制分別學習方面信息和觀點信息的特征,且兩者間相互學習注意力權值;Li等[12]使用兩個帶有記憶模塊的LSTM(long short-term memory)網絡分別處理方面信息和觀點信息抽取,觀點和方面之間的關系則通過兩個網絡的記憶模塊間的信息交互建立。

圖1 模型總體結構
本文提出一種基于編碼器-解碼器架構的序列標注反饋模型,由編碼器、解碼器以及數據增強與反饋組件三部分組成。在編碼器中,利用雙層雙向GRU(gated recurrent unit)網絡對詞向量與詞性向量分別進行編碼,得到融合上下文的詞與詞性的向量特征表示;在解碼器中,構建了雙路解碼組件以及門控信息融合單元,分別對目標詞標簽進行解碼,而后融合兩路解碼結果并再次解碼,得到最終最優標簽解碼結果;在數據增強與反饋組件中,按照預定樣本生成規則,對模型判斷錯誤的樣本進行新樣本生成,并反饋到下一輪訓練樣本中。這一部分,將分別對模型中的編碼器、解碼器中的雙路解碼組件、雙路門控信息融合單元,以及數據增強與反饋組件進行詳細描述,模型整體結構如圖1所示。
方面信息提取是在給定含有方面信息及對應情感表達的文本序列
S={x1,x2,…,xn}
(1)
條件下,提取方面信息
A={xn-i,xn-i+1,…,xn-i+k}(k≤i)
(2)
的問題。為便于模型描述,文中使用w={w1,w2,…,wn} 表示文本序列對應詞向量序列,使用p={p1,p2,…,pn} 表示文本序列對應的詞性向量序列,使用y={y1,y2,…,yn} 表示文本序列對應的標簽索引序列,采用 {B,I,O} 三級方面信息分類方案,其它符號說明見圖1注釋。
在編碼器中,使用兩個獨立的雙層雙向GRU網絡分別對詞性量和詞性向量進行編碼。GRU網絡是循環神經網絡的一種,可以有效保留序列信息,并且可以解決梯度消失與爆炸問題。編碼器依次讀取文本序列中每一個詞語對應詞向量與詞性向量,輸出目標詞的輸出向量及隱狀態向量
(3)
(4)

在雙路解碼組件中,重點解決解碼過程中的信息依賴問題,生成目標詞的標簽依賴特征。直覺上,在目標詞分類特征形成過程中,目標詞的語義特征、整體語義特征、前詞標簽特征、前詞詞性特征等都能夠影響目標詞的特征表示,在Ma等[11]設計的方法中使用了前3類特征,詞性特征對于解碼目標詞特征表示具有重要作用,同時這種作用是動態的,在面對不同的語言表達時,詞性信息所起的作用強弱不同。所以,基于對詞性信息的這一認識,構建了兩路解碼組件,一路用以形成包含詞性信息的依賴特征,另一路則相反,最終通過兩路信息融合出能夠體現詞性信息不同作用的依賴特征表示。在使用編碼器-解碼器架構時,其突出優點是可以對文本進行預先編碼,獲得文本的整體語義信息,同時可以作為記憶模塊在解碼過程中隨時調用記憶信息,這些信息可滿足解碼過程中所需各類信息。整個模塊從編碼器獲取目標詞條件下的整體語義信息、詞性信息以及隱狀態信息,同時輸入前詞標簽信息,得到解碼輸出信息及隱狀態信息
(5)
(6)

雙路門控信息融合單元重在解決生成目標詞特征表示問題,該特征表示包含目標詞語義信息、詞性信息、依賴信息,3類信息通過合并門進行融合。同樣生成兩路分別包含與不包含詞性信息的目標詞表示特征。這兩路表示特征分別進行目標詞標簽分類判斷,得出依賴詞性信息與不依賴詞性信息的兩個一級分類結果,再通過參數矩陣控制兩類結果融合,最終產生目標詞的二級分類結果,這樣建模突出了詞性特征對最終結果的影響是一種具有強弱控制的影響。計算過程如下
(7)
(8)
(9)
(10)
P(yt|y1∶t-1,w,p)=softmax(W9(W7rt+W8r′t)+b2)
(11)
其中,gt∈Rnd為信息合并門,由目標詞語義特征、依賴特征、詞性特征以及變化矩陣控制,經過門方向的歸一化后得到;rt∈Rnd為一級分類結果,經由目標詞各gt信息控制門控制信息流入量后計算得到;P(yt|y1∶t-1,w,p) 表示目標詞最終標簽類別概率分布,經兩路一級分類結果與相應控制矩陣進一步控制信息融合比例后得到,W1-W9以及b0-b2均為可學習參數。
最終,通過最小化負對數似然損失對整個模型進行訓練
(12)
式中:y′t表示標準標注類別索引值,θ表示模型中所有可學習參數??v觀整個模型,將決定一個詞標簽類別的信息分為語義信息、詞性信息、依賴信息3類,在信息流動過程中,多次進行信息融合,旨在保證模型在判斷目標詞標簽分類結果過程中,對各類信息具有控制與學習的能力。
在利用詞性信息進行方面信息提取時,詞性解析錯誤將傳遞到最終的特征表示中,嚴重影響模型對詞性信息的利用水平,甚至阻礙模型判斷準確率的提升。為降低這種錯誤傳遞問題對模型的不良影響,提出數據增強與反饋組件。該組件工作于訓練流程中,是提升模型對判斷錯誤樣本中語言模式理解認識能力、強化模型提取方面信息關鍵特征能力的重要組件。通過深入觀察分析評論文本發現:評論文本在語言表述形式上具有極大靈活性,體現在經常出現簡化表達、錯誤表達等現象。一方面,這些現象是造成詞性解析錯誤的重要原因,另一方面,也應該看到,這類樣本雖無法借助詞性信息助力得到模型的正確判斷,卻能夠得到人類的正確理解。比如對表1中原始樣本經過簡化、亂序、變異轉換后,得到的樣本出現表達不完整,存在語法錯誤等問題,但并不影響對其整體含義的認識以及方面信息的判斷。對于評論表達的這個認識啟示我們,對于模型判斷錯誤的樣本,可以通過人為構造簡化、亂序、變異甚至錯誤的表達生成新的訓練樣本,增加與錯誤樣本相關語言模式樣本數量,加強模型對類似樣本語言模式的認識能力,降低模型在處理此類樣本時對詞性信息的依賴程度。具體的,對訓練集中模型判斷錯誤的樣本采用如下樣本生成機制。

表1 樣本形式變換示例
(1)刪除詞:隨機刪除樣本中除方面信息以外的詞語,通過參數α控制刪除單詞數量比例,模擬樣本的簡化或錯誤表達形式;
(2)交換詞:隨機交換樣本中除方面信息以外的詞語,通過參數β控制交換單詞數量比例,模擬樣本的亂序或錯誤表達形式;
(3)變異詞:隨機將樣本中除方面信息以外詞語與剩余訓練樣本中除方面信息以外詞語進行交換,通過參數γ控制變異單詞數量比例,模擬樣本的同義或錯誤表達形式。
通過上述3種方式為每個判斷錯誤訓練樣本生成3個新樣本,反饋到下一輪訓練樣本中。由于采用隨機樣本生成方式經過變換產生的新樣本很可能出現無法理解或與原始樣本相矛盾的情況,為降低此類生成樣本對模型的不良影響,每輪訓練僅對排除新增樣本的原始訓練樣本進行樣本生成與反饋操作,使模型每輪次訓練盡可能學習符合原始文本語言模式的特征,提高模型對判斷錯誤樣本相關表述的理解能力。
本實驗沿用目前在方面信息提取任務領域廣泛使用的兩個數據集,分別是SemEval-2014任務4[13]中的Laptop評論數據集和SemEval-2016任務5[14]中的Restaurant評論數據集,詳情參見表2。所有評論數據均標記有根據字母位置索引定位的方面信息,使用NLTK(natural language toolkit)將文本分割為單詞序列,使用斯坦福大學的自然語言處理工具包Stanford-CoreNLP對評論文本進行詞性解析,獲取單詞詞性信息,并從訓練數據集中隨機抽取150個訓練樣本作為驗證數據集。

表2 樣本數據信息統計
為提高模型通用性與實驗可對比性,詞向量采用Glove.840B.300 d預訓練詞向量初始化,詞性向量以及標簽類別向量均采用隨機初始化,向量維度設定為300。編碼器GRU網絡隱層大小設定為300,解碼器GRU網絡隱層大小設定為600。使用Adam[15]優化算法更新模型參數,學習率設定為0.001。采用dropout策略防止參數過擬合,dropout率設定為0.5,batch大小設定為24。
為充分評估模型的有效性,將與下列方法進行對比:
(1)RNCRF[16]:基于句法依賴樹構建遞歸神經網絡,學習詞語表示特征,并作為條件隨機場的輸入特征,判斷詞語標簽類別;
(2)MIN[12]:基于LSTM的多任務學習模型,設計有記憶模塊,并通過記憶模塊間的信息交互同時提取方面和情感信息;
(3)CMLA[9]:耦合多層注意力模型,通過多層注意力機制分別提取方面與情感信息特征,并通過交互學習提升彼此特征表示能力;
(4)Glove-CNN[17]:利用詞向量本身蘊含的信息以及多層CNN構建簡單模型,提取方面信息特征;
(5)HAST[18]:從LSTM構建的記憶中提取方面檢測歷史以及觀點摘要信息,并以此強化當前方面信息檢測能力;
(6)seq2seq4ATE[11]:基于序列到序列的生成模型,借助文本整體語義特征以及前詞標簽依賴特征等信息解碼目標詞標簽特征。
本文提出方法與對比方法性能情況見表3。從表中可以看出,所有方法都存在Laptop評論數據測試結果好于 Restaurant 評論數據測試結果情況,這可能與多方面因素有關,比如Laptop評論數據中存在大量通用表述的方面信息,比如“Operating System”“Screen”等,這些方面信息較容易被模型習得,而Restaurant評論數據中除了一部分通用表述方面信息以外還存在大量低頻方面信息,比如具體餐品名稱“Lemon Chicken”、“Honey Walnut Prawns”,這些餐品名稱在形式上以不規則短語為主,規律性較難被模型掌握;另外樣本數據的不平衡性也可能是導致這種現象的原因之一。

表3 方法性能對比統計(F1/%)
在RNCRF方法中使用了句法解析以及詞性信息,使得Laptop評論數據測試結果較好,但是在Restaurant評論數據表現出所列方法中最低性能水平,體現出模型對Restaurant評論數據識別能力較差,與本文提出方法相比,在兩個數據集上分別存在3.82%和6.34%的差距,說明模型利用句法及詞性信息不夠充分,應對句法以及詞性解析錯誤的能力較弱。
MIN、CMLA、HAST這3種方法均利用了方面信息與觀點信息之間的依賴關系提升方面信息的提取效果,其中MIN、CMLA明確用到顯式觀點標記信息,HAST使用了隱含觀點信息,3種方法均表現出不錯的效果,但是某些情況下,觀點信息可能會導致方面信息的誤判,比如在“Most of them were either too big, too noisy and too slow after 2 years”中,評論者并未明確提出方面信息,只是說明了一種普遍的現象,但是其中出現了很多具有強烈負面觀點的信息,使模型在利用這些信息時易產生錯誤判斷,此時需要通過文本整體語義做出更準確判斷。本文雖未借鑒上述方法利用觀點信息,但是在構造依賴信息時融入了文本整體語義信息,同時利用了目標詞語義信息、詞性信息等,使整體性能比上述方法有較大提升。
Glove-CNN利用通用詞向量本身的蘊含的語義信息以及CNN的特征抽取能力提取方面信息,優勢在于模型簡單計算高效;seq2seq4ATE與本文提出模型最為接近,均采用了編碼器-解碼器的模型架構,不同之處在于本文將詞性信息多次融入到最終的特征表示中,且模擬人類進行文本語義理解的方式,融合各方信息綜合判斷目標詞的標簽類別,在兩個數據集上分別比seq2seq4ATE提升1.6%和0.92%,取得所有對比方法中最佳性能。
為進一步驗證本文提出方法有效性,進行了相關消融實驗,主要包括排除樣本生成實驗(OURS-w/o-SG)、單路解碼實驗(OURS-w/o-DD)、排除門控機制實驗(OURS-w/o-WOG),具體實驗結果見表4。

表4 消融實驗結果
從表4中,可以明顯看出,將本文所提出方法簡化后,所得到的實驗結果在兩個實驗數據集上均有所下降,表明本文提出方法的各模塊均有效提高方面信息提取整體性能,具有重要作用;其次,可以看到,在排除樣本生成以后,模型在兩個數據集上的實驗結果出現較大下降,分別達到了3.1%、3.34%,可認為將詞性信息加入模型后,由于詞性解析系統本身正確率不高以及評論語言表達隨意性等問題造成的詞性解析結果錯誤,使模型的性能受到很大影響,說明樣本生成對模型整體表現具有重要作用;最后,在排除門控機制實驗中,Restaurant評論數據測試結果下降1.99%,性能降低較為明顯,而在相應的Laptop評論數據測試中僅下降0.66%,說明門控機制可以較為有效的應對復雜方面信息識別。
此外,對于本文提出的數據增強與反饋機制,進行了兩組實驗,分別為Glove-CNN、seq2seq4ATE兩種方法添加了數據增強與反饋機制,結果顯示數據增強與反饋機制在方面信息提取任務中表現出普遍有效性的傾向。具體實驗結果見表5。

表5 樣本生成對比實驗結果
通過上述各實驗數據可以看出:①3種樣本生成控制參數普遍控制在0.3-0.5之間時產生當前條件下最好實驗結果,在隨機生成條件下,樣本生成參數過大會使生成樣本嚴重偏離可能的真實語言現象,而過小會降低生成樣本的演化水平;②不同方法、不同數據集下生成最好實驗結果的樣本生成參數略有不同,可能是由于不同模型對不同數據集樣本提取的特征有所不同,且產生的錯誤樣本不同造成的。
本文針對方面信息提取任務,提出一種基于編碼器-解碼器架構的序列標注反饋模型,并將文本分類特征劃分為語義特征、詞性特征、依賴特征3類特征組成。實驗結果表明,本文采用的雙路編解碼、門控機制等策略對語義、詞性、標簽等信息的融合起到至關重要的作用,有效提高模型對各類信息的利用水平;所采用的數據增強與反饋機制,強化了模型對錯誤分類樣本的認識能力,同時對模型提取信息特征起到有益促進作用。在未來工作中,我們將繼續對特征的融合表示方式進行研究,并進一步對樣本生成機制進行研究,轉變隨機生成為有限控制生成,探索樣本隨機生成下的規律性。