依存句法解析:基於深層雙仿射注意力的神經網絡依存解析(Deep Biaffine Attention for Neural Dependency Parsing)

【代碼實現】基於tensorflow2.2實現,直接運行在goole colab,見github倉庫.

【參考文獻】
1. Deep Biaffine Attention for Neural Dependency Parsing - 中文筆記
2. DEEP BIAFFINE ATTENTION FOR NEURAL DEPENDENCY PARSING


Introduction

使用基於圖的方法解析依存句法,對句中每次詞找到head以及其到head的依存標籤,因此針對圖的依存句法解析需解決兩個問題:

  • 不定類別分類,哪兩個節點連接弧?
  • 固定類別分類,弧的標籤是什麼?

本文使用 雙仿射分類器 分別預測依存關係(arc)和依存標籤(label),在英語PTB數據集中0.957 UAS, 0.941 UAS,使之成爲graph-based依存句法解析的基準模型,文中也介紹模型一些超參數對模型效果的影響。

模型的以下特點:

  • 使用雙仿射注意力機制,而不是使用傳統基於MLP注意力機制的單仿射分類器,或雙線性分類器;
  • 第一次嘗試使用MLP對LSTM的輸出進行降維,再輸入至仿射層;

Deep Biaffine Attention

雙仿射層的作用

本文提出的雙仿射注意力機制可看作爲傳統的單仿射分類器,即使用stacked LSTM輸出的MLP線性變換RU(1)RU^{(1)}替換權重矩陣WW,線性變換Ru(2)R\boldsymbol u^{(2)}替換偏置項b\boldsymbol b,arc雙仿射分類器如下所示:

雙仿射分類器使用雙線性層,比傳統使用兩層線性層和一個非線性激活單元的MLP網絡更簡單,同時,arc雙仿射分離器對兩種概率直接建模:

  • rju(2)\boldsymbol r_j^\top\boldsymbol u^{(2)},結點jj接受任意依賴的先驗概率;
  • rjU(1)ri\boldsymbol r_j^\top U^{(1)}\boldsymbol r_i,結點jj接受單詞ii依賴的概率;

同樣地,使用另一個label雙仿射分類器預測單詞與其頭結點(glod or predicted,訓練時來自於真實頭結點,預測時來源於arc分類器輸出的最可能頭結點)間的依賴標籤:

式中U(1)U^{(1)}是維度爲Rm×d×d\R^{m\times d \times d}的高階張量(m是標籤個數,d是biaffine輸入維度),label雙仿射分類器對以下概率建模:

  • 結點ii被貼上特定依存標籤的可能性;
  • 結點ii頭結點jj被貼上特定依存標籤的可能性;
  • 給定特定頭結點jj下,結點ii被貼上特定依存標籤的可能性;

arc分類器是不定類別分類器,類別數與序列長度有關,label分類器是固定類別分類器,類別數等於所有可能的依存關係數。


MLP層的作用

MLP層使用較小維度輸出,可對LSTM輸出降維後再輸入至仿射層,避免過擬合。

LSTM層的輸出狀態需要攜帶足夠的信息,如識別其頭結點,找到其依賴項,排除非依賴項,分配自身及其所有依賴的依存標籤,而且還需要把其它任何相關信息傳遞至前或後單元。對這些不必要的信息進行訓練會降低訓練速度,而且還有過擬合的風險。

使用MLP對LSTM輸出降維,並使用雙仿射變換,可解決這一問題!具體地說,使用兩個獨立的MLP網絡對stacked BiLSTM輸出重新編碼,分別得到單詞的dephead向量。

我們稱以上網絡結構爲深層雙仿射注意力機制。在預測依存樹時,與其它基於圖的依存句法解析模型一樣,將每個單詞在arc分類器輸出分數最高的單詞作爲其頭結點(本文也驗證了MST算法)。

理解Attention
式6得到的arc分數向量可理解爲,單詞ii自身dep向量對句中其它任意單詞head向量的注意力分數,酷似attention!


矩陣乘法等價形式
若將偏置項u\boldsymbol u放入參數矩陣U(1)U^{(1)},並同時考慮所有單詞的arc,則arc分類器的等價形式爲
S(arc)=H(archead)[U(1)u(2)][H(arcdep)1] S^{(arc)}= H^{(arc-head)} \begin{bmatrix} U^{(1)}\\ \boldsymbol u^{(2)} \end{bmatrix} \begin{bmatrix} H^{(arc-dep)} & 1 \end{bmatrix}

若序列長度爲d(包含root節點後的長度),則S(arc)Rd×dS^{(arc)}\in\R^{d\times d},可用於可變類別分類。


模型超參數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章