Motivation:
依存句法分析在句法分析和語義消歧任務上發揮着重要的作用。在此之前決策式的分析方法(deterministic parsing)大部分都是語言心理學家考慮的問題,而這種方法在消歧任務上有很大優勢,因此本文提出一種數據驅動的依存句法分析方法——基於轉移的決策式分析方法用來替代傳統的做法。將生成句法樹的任務轉換成生成操作序列的任務。
基本概念:
一顆依存樹應該滿足以下形式約束:
Single head:即句子中的每個單詞只有一個入邊;
Acyclic:依存圖或依存樹中不能出現循環結構;
Connected:圖中任意兩個結點之間通過有限的邊可以連接;
Projective:假設這條邊連接的是wi和wj,其中i<j,它的中心詞是head(是wi,wj中的一個)。如果對於i和j之間的每一個詞,都存在一條從head到它的路徑,那麼這條邊就滿足Projective性質。
總體流程:
先看一個整個算法執行的步驟:
- 我們目前有的是預料(如下圖)和句法解析算法(下面介紹)
原始數據
- 然後用句法解析算法對語料進行處理生成一系列的操作,原始數據加上操作纔是訓練數據(這裏纔是訓練數據);
- 根據訓練數據生成一個解析器(parser);
- 測試數據放入解析器生成一系列的操作,有了這些操作就相當於得到句法樹;
- 計算attachment score,判斷生成句法樹的質量。
解析算法:
這部分算法用來根據語料生成訓練數據,對於如何根據訓練數據生成模型文章中並沒有提到。參考其他資料可以發現,大部分都是利用SVM或最大熵訓練解析器(parser)。
- Baseline:
- S/R:
If the node on top of the stack can be a transitive head of the next input token then Shift; otherwise Reduce.
- S/RA:
preferring a Shift over a Right-Arc in congurations where the token on top of the stack is a verb and the next token could be a post-modier of this verb but could also be a pre-modier of a following token.例如下圖所示情況。
實驗結果:
可以發現模型越複雜,效果越好。
啓發:
- 在選擇操作時,使用更復雜的優先級算法;
- 除上面4個約束以外,考慮其他約束;
- 改動不同生成parser的模型。