?

基于多特征融合編碼的神經網絡依存句法分析模型

2019-01-22 03:32劉明童張玉潔徐金安陳鈺楓
中文信息學報 2018年12期
關鍵詞:編碼向量單詞

劉明童,張玉潔,徐金安,陳鈺楓

(北京交通大學 計算機與信息技術學院,北京 100044)

0 引言

依存句法分析一直是自然語言處理中的關鍵技術之一,廣泛應用于機器翻譯[1]、信息抽取[2]和語義角色標注[3]等自然語言處理任務中。目前主流的依存句法分析框架主要包括基于轉移(transition-based)[4-5]和基于圖(graph-based)[6]的兩種模型。近年來,基于神經網絡的依存句法分析方法日益成為關注熱點,是自然語言處理的重要方向之一。本文主要針對基于轉移的依存句法分析模型的分析棧和決策層的表示方法開展研究。

早期的方法主要依賴人工定義特征模板提取依存分析過程中的特征[4-7]。主要問題是特征模板的構建需要大量專家知識,而且系統在特征提取上的計算代價較大[8]。后來,基于神經網絡的依存句法分析模型顯示出了優勢[9-12],研究者利用神經網絡建模分析棧、緩沖區和決策序列,通過神經網絡進行特征的自動提取,將依存分析過程中每一時刻各個部分對應的狀態表示為低維稠密的特征向量,不需要人工定義大量的特征模板,避免了復雜的特征工程?;谏窠浘W絡的模型主要研究分析過程中特征的表示和利用方法,已有模型[9-11]在局部信息和全局信息的表示上存在以下問題。一方面,沒有對單棵依存子樹獨立編碼表示,導致無法利用各個依存子樹的局部特征,而依存關系的判斷是針對當前兩個節點(節點可以是依存子樹根節點,也可以是單詞)預測正確的轉移動作,因此依存關系的建立需要直接考慮依存子樹的信息作為特征;另一方面,這些模型沒有對歷史生成的依存弧信息和轉移動作信息進行編碼,以致整個分析過程丟失了全局信息,而依存樹的建立需要從句子整體的視角考慮更多的全局特征[7]。為了利用更多的局部特征和全局特征,針對分析棧的表示,本文提出基于依存子樹和歷史已生成的依存弧表示分析棧,利用TreeLSTM網絡編碼依存子樹信息,利用LSTM網絡編碼歷史生成的依存弧序列,以更好地表示分析棧的局部信息和全局信息。針對決策層的表示,本文提出基于LSTM網絡的轉移動作序列預測,引入歷史決策動作信息作為特征輔助當前決策。

本文組織如下: 第1節介紹相關研究;第2節針對多特征融合編碼中的局部特征和全局特征,描述基于依存子樹和歷史生成依存弧的分析棧表示方法,以及基于LSTM網絡的轉移動作序列預測方法;第3節介紹依存句法分析模型的實現和訓練細節;第4節介紹評測實驗和結果分析;第5節對本文研究進行總結。

1 相關研究

在基于神經網絡的依存句法分析方面,Chen和Manning[9]利用神經網絡將單詞、詞性標簽和依存類型標簽表示為連續、低維、稠密的向量,只利用少量人工定義的特征模板,就比傳統完全基于特征模板的方法取得了更好的性能。該方法主要利用核心特征模板抽取局部特征作為決策輸入,其主要問題是沒有考慮依存子樹的局部特征,而且該方法沒有提供歷史分析信息參與決策。為了利用更多的歷史信息,Dyer[10]等人提出基于轉移的Stack-LSTM依存分析模型,Wang[12]等人進一步改進Stack-LSTM模型中依存子樹的編碼方法。Stack-LSTM模型采用三個單向的LSTM網絡編碼依存分析過程中的信息,將傳統的緩沖區、分析棧和轉移動作序列的歷史均記錄在LSTM單元中,使用LSTM的最后一個隱藏層表示作為決策輸入,最后利用多層感知機預測轉移動作。該方法實現了完全自動的特征提取,模型精度得到提升。其主要問題是利用LSTM累計的信息表示當前分析棧的狀態,無法表示依存子樹的局部特征,而依存關系的建立需要考慮節點所在依存子樹的信息。Kiperwasser和Goldberg[11]采用BiLSTM網絡獲取單詞的上下文特征表示,用分析棧棧頂的多個元素作為特征,考慮了依存子樹根節點單詞表示對轉移動作的影響,但是沒有考慮依存子樹的整體信息,也沒有考慮歷史分析信息,導致決策丟失了全局信息。針對這些問題,本文研究基于依存子樹和依存弧相結合的分析棧表示方法,同時研究歷史轉移動作信息的表示方法,通過多特征融合編碼,以有效利用分析過程中的局部特征和全局特征,改進轉移動作決策的精度。

2 基于多特征融合編碼的神經網絡依存句法分析

我們提出基于多特征融合編碼的神經網絡依存句法分析模型,采用基于轉移的依存句法分析框架,主要框圖如圖1所示。下面從分析棧表示方法、緩沖區表示方法和轉移動作序列表示方法三個模塊詳細介紹我們的模型。

圖1 本文提出的基于多特征融合編碼的神經網絡依存句法分析模型

2.1 基于轉移的依存句法分析器

基于轉移的依存句法分析框架[4-5]由以下三部分組成: 分析棧S(stack)存放已完成的依存子樹,每個元素存放依存子樹的根節點;緩沖區B(buffer)存放待分析句子的單詞序列;依存弧A(dependency arcs)存放已生成的依存關系(head-modifier pairs)。分析棧棧頂的第一個元素定義為右焦點詞,分析棧棧頂的第二個元素定義為左焦點詞,它們分別是兩顆子樹的根節點。三種動作的定義如下:

① SHIFT: 將緩沖區的第一個元素移入分析棧中。

② LEFT-ARC(l): 針對棧頂兩個元素,建立左焦點詞依存于右焦點詞的依存關系。

③ RIGHT-ARC(l): 針對棧頂兩個元素,建立右焦點詞依存于左焦點詞的依存關系。

依存關系的建立發生在左焦點詞和右焦點詞之間,即子樹的根節點。一旦LEFT-ARC(l)或RIGHT-ARC(l)動作發生,兩個焦點詞中的一個會成為另一個的子節點,即生成一棵依存子樹。由此,依存句法分析轉換成轉移動作決策問題,基于當前分析狀態的信息預測下一步轉移動作,其核心是依存分析狀態的表示和利用,分析狀態包括分析棧、緩沖區、依存弧以及轉移動作序列。本文的工作集中在基于神經網絡的分析狀態表示方法,通過設計神經網絡結構有效地提取和利用分析狀態作為特征,用于轉移動作決策。

2.2 分析棧表示方法

分析棧狀態包括依存子樹(dependency subtrees)和歷史已生成的依存弧(head-modifier pairs)。對此,我們提出基于TreeLSTM網絡的依存子樹表示方法和基于LSTM網絡的依存弧序列表示方法。

(1)基于TreeLSTM的依存子樹表示方法

我們設計基于TreeLSTM[13]神經網絡的結構對已完成的每棵依存子樹單獨編碼,通過門控制機制(gate mechanism)選擇輸入信息,在合成子樹表示時選擇性地關注諸如動詞、名詞等重要節點,從而更好地編碼依存子樹的表示。已有的分析棧表示方法[10]累計LSTM的最后一個隱藏層向量表示整個分析棧的狀態,該結構無法利用依存子樹的信息。同時,已有方法[10]采用Recursive Neural Network(RecNN)編碼依存子樹,該結構在處理較深的依存子樹時會出現梯度消失的風險。在此,我們關注每棵依存子樹的信息,對于新建立依存關系的頭節點和修飾節點,我們定義hhead和chead為建立依存關系的頭節點的隱藏層向量和記憶單元向量,定義hmodi和cmodi為建立依存關系的修飾節點的隱藏層向量和記憶單元向量。對于新合成的依存子樹,定義hst和cst為依存子樹根節點的隱藏層向量和記憶單元向量,hst和cst的計算如式(1)~式(3)所示。

(2)基于LSTM的依存弧序列表示方法

我們提出基于LSTM網絡的依存弧序列表示方法,對已生成的歷史依存弧序列編碼作為全局特征。具體地,當一個依存弧生成時,我們將頭節點和修飾節點作為LSTM[14]網絡的輸入,利用LSTM網絡的門控機制選擇性的記憶歷史信息的特性,累計已生成的依存弧信息,得到全局特征表示輔助轉移動作決策。依存弧序列編碼計算如式(4)所示。

其中,hhead和hmodi分別表示頭節點和修飾節點對應的隱藏層向量。

由此,我們用TreeLSTM對依存子樹編碼獲取局部特征,用LSTM對依存弧序列編碼獲取全局特征,通過增加對分析棧中局部特征和全局特征的編碼表示獲取更多特征參與轉移動作預測。

2.3 基于LSTM的轉移動作序列表示方法

由于基于轉移的依存分析框架是一種局部的決策式處理方法,因此需要更多的全局信息幫助句法結構消歧,我們分別累計依存弧和轉移動作的歷史信息獲取全局特征,參與轉移動作決策。

2.4 緩沖區表示方法

我們設計基于BiLSTM的緩沖區表示方法,對構成句子的所有單詞進行累計的表示,即使單詞移除緩沖區,信息也不會丟失,從而避免了單向LSTM編碼方式丟失移出緩沖區單詞信息的問題[10]。為了獲取更加豐富的上下文信息表示單詞特征,我們結合LSTM每一時刻的隱藏層向量ht和記憶單元向量ct表示緩沖區中的每一個單詞如式(9),式(10)所示。

3 模型訓練和實施細節

我們利用上面提出的多特征融合編碼方法,搭建神經網絡依存句法分析模型,模型的訓練目標和實施細節描述如下。

首先,我們利用端到端的方法訓練整個模型。目標函數采用交叉熵損失函數,添加l2正則化項防止過擬合,通過超參數λ調整目標函數權重,如式(11)所示。

其中,θ表示模型中所有的參數。在選取轉移動作時,我們只計算當前狀態下有效的動作,例如,當分析棧中元素為空、緩沖區存在單詞時,只能執行SHIFT轉移動作。最終,在訓練階段,每一步決策按照標準的動作執行分析操作;在測試階段,我們采用貪心決策算法選取當前概率最大的動作執行分析操作。

在此,我們添加“ROOT”詞表示根節點,“NULL”詞表示可能用到的無效特征組合(例如,分析棧中元素個數小于3時),未登錄詞通過高斯采樣得到。

最后,關于模型實施具體細節描述如下。我們設置預訓練的詞向量為300維,可學習的詞向量為30維,詞性標簽向量為50維,所有的ReLU層為300維。設置BiLSTM、LSTM和TreeLSTM結構的隱藏層為300維。在實驗中,預訓練的詞向量保持固定不變。我們采用Adam[16]優化算法用于模型參數學習,設置初始學習率α為5E-4,β1為0.9,β2為0.999。在每一輪迭代中,學習率α以ρ=0.95的頻率衰減。設置l2正則化強度為1E-6,訓練batch的大小為8。為了防止過擬合,我們使用了dropout[17]正則化技術,設置詞向量輸入層的drop率為0.2,BiLSTM輸出層的drop率為0.5,ReLU層輸出層的drop率為0.07。我們對預訓練的詞向量和最終整合的詞向量使用了batch normalization[18]正則技術。其中,dropout層作用在batch normalization層之后。

4 評測實驗與結果分析

為了驗證本文所提方法的有效性,我們在漢語數據上進行了評測實驗。

4.1 實驗數據

本文使用賓州漢語樹庫CTB5作為實驗數據,我們采用了標準的數據劃分[9],利用標注數據中的分詞和詞性標簽進行依存句法分析,表1給出了CTB5漢語數據的統計信息。

表1 CTB5漢語數據統計信息

4.2 評測實驗結果

實驗過程中,我們使用UAS和LAS兩種評測指標評價模型的性能,和先前工作一致,評測結果不考慮標點符號[9],利用開發集選擇性能最好的模型參數用于測試階段。我們和已有公開發表的基于轉移的漢語依存句法分析系統進行了性能比較,比較結果如表2所示。UAS和LAS兩種評測指標定義如下。

表2 和已有基于轉移的漢語依存分析系統的性能比較結果

續表

① 不考慮依存弧類型的依存正確率(unlabeled attachment score, UAS): 修飾關系正確的單詞(包括根節點對應的單詞)數量占總詞數的百分比。

② 考慮依存弧類型的依存正確率(labeled attachment score, LAS): 修飾關系和依存弧類型都正確的單詞(包括根節點對應的單詞)數量占總詞數的百分比。

從表2的結果可以看出,相比于Dyer提出的Stack-LSTM依存句法分析系統[10],我們的模型在UAS和LAS評測指標上分別取得了0.6和1.1個百分點的提高。相比于Kiperwasser 和Goldberg的依存句法分析系統[11],我們的模型在UAS和LAS評測指標上分別取得了0.2和0.7點的提高。和已有模型的比較結果表明,本文提出的基于多特征融合編碼的依存分析模型,對依存子樹局部特征、歷史依存弧信息和歷史決策動作信息的編碼對于改進依存句法分析性能的有效性。最終,通過引入更多的局部信息和全局信息參與轉移動作決策,我們的模型達到87.8%的UAS得分和86.8%的LAS得分,為目前公開的基于轉移的系統中最好的性能。

4.3 模型各個部分有效性分析

我們分析了模型中各個部分對最終依存句法分析精度的影響,實驗結果展示在表3中。

表3 模型各個部分有效性分析結果

從表3的實驗結果來看,移除我們模型中的任何一部分(1)~(5)都會降低依存分析的精度,由此證明了我們所提模型中各個部分的有效性。針對分析棧的表示,當移除基于TreeLSTM編碼的依存子樹表示(1)時,模型沒有利用單棵依存子樹的信息作為特征預測轉移動作,只利用了子樹根節點單詞基于上下文的BiLSTM隱藏層表示參與決策,模型性能在UAS和LAS評測指標上都下降了0.5個百分點,這一結論表明了依存子樹的信息在轉移動作預測中的重要性,同時也表明了在預測兩個節點之間的依存關系時局部特征需要考慮單棵依存子樹節點的完整信息。當移除基于LSTM編碼的歷史依存弧序列表示(2)時,模型性能在UAS和LAS評測指標上分別下降了0.4和0.5個百分點, 這表明引入歷史依存弧的信息作為全局特征用于決策,提高了轉移動作預測精度。

針對決策層的表示,當移除基于LSTM的轉移動作預測(3),僅利用MLP作為預測函數時,模型性能在UAS和LAS上分別下降了0.4和0.3個百分點。由此可以發現LSTM比MLP在預測轉移序列上更為有效,因為LSTM可以傳遞歷史轉移動作和分析狀態的信息, 從而引入更多的全局特征用于當前決策。

針對緩沖區表示,當我們移除基于BiLSTM的單詞特征表示層(4),僅利用詞向量表示緩沖區每一個元素時,模型性能在UAS和LAS評價指標上分別下降了4.3和5.1個百分點,由此表明依存句法分析需要從句子整體考慮更多的上下文信息。最終,實驗結果表明,本文提出的基于TreeLSTM網絡編碼依存子樹和基于LSTM網絡編碼依存弧序列的表示方法,以及基于LSTM網絡編碼的轉移動作序列預測模型,通過多特征融合編碼,將更多依存分析中的局部特征和全局特征用于轉移動作決策,有效提高了依存句法分析的精度。

4.4 不同依存類型的LAS分析

本節針對模型結構對依存分析性能的影響,分別調查了不同類型依存弧的LAS精度,在CTB測試集上的實驗結果如圖2所示。

圖2 模型結構對不同依存類型的LAS影響結果

從圖2的結果來看,root和vmod依存類型的精度較低,表明了這類依存關系較難正確預測。在移除基于TreeLSTM網絡的依存子樹表示時,圖2 的結果展示了利用依存子樹作為特征預測轉移動作提高了幾乎所有依存類型的精度,進一步表明了編碼依存子樹信息對依存關系預測的重要性。同時,圖2的結果也表明利用更多的歷史分析信息作為全局特征,包括歷史生成的依存弧信息、歷史轉移動作信息,有效提高了模型在prd、obj和pmod依存類型上的精度。在移除BiLSTM的模型中,圖2展示了各類依存關系的精度都呈現了明顯的性能下降,這表明基于上下文特征的單詞表示,在依存關系預測中有十分重要的作用。

5 總結

本文提出基于多特征融合編碼的神經網絡依存句法分析模型,采用基于轉移的依存句法分析框架。本文基于依存子樹和歷史依存弧信息表示分析棧,設計基于TreeLSTM網絡編碼各個依存子樹和基于LSTM網絡編碼依存弧序列,以更好地表示分析棧的狀態。同時,設計基于LSTM網絡編碼轉移動作序列,引入了歷史轉移動作的信息輔助當前決策。最終,在決策時,我們融合了依存子樹信息、緩沖區單詞信息、歷史依存弧信息和歷史轉移動作信息用于當前轉移動作預測,有效結合了局部特征和全局特征。實驗結果表明本文所提模型明顯提高了依存句法分析的精度。針對未來的研究工作,我們需要利用無標注數據獲取更多的依存句法訓練數據,以提高模型泛化能力。同時,可以結合基于搜索的技術,如beam-search,進一步改進模型性能。

猜你喜歡
編碼向量單詞
向量的分解
基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達圖像配準
聚焦“向量與三角”創新題
《全元詩》未編碼疑難字考辨十五則
子帶編碼在圖像壓縮編碼中的應用
單詞連一連
Genome and healthcare
看圖填單詞
向量垂直在解析幾何中的應用
向量五種“變身” 玩轉圓錐曲線
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合