0
本文作者: 奕欣 | 2017-11-21 16:47 | 專題:AAAI 2018 |
雷鋒網(wǎng)AI科技評論按:本文轉(zhuǎn)載自微信公眾號 哈工大SCIR ,雷鋒網(wǎng)獲授權(quán)轉(zhuǎn)載。
值得一提的是,本周五(11 月 24 日)晚上 8 點,第一作者王宇軒將在雷鋒網(wǎng)旗下頻道AI慕課學院(http://www.mooc.ai/)進行第 34 期的 GAIR 大講堂直播,主題為《AAAI論文解讀:基于轉(zhuǎn)移的語義依存圖分析》,掃描本文底部海報AI科技評論二維碼,添加社長微信,備注「王宇軒」即可。
論文作者:王宇軒,車萬翔,郭江,劉挺
本文介紹的工作來源于我實驗室錄用于 AAAI 2018 的論文《A Neural Transition-Based Approach for Semantic Dependency Graph Parsing》。
語義依存圖是近年來提出的對樹結(jié)構(gòu)句法或語義表示的擴展,它與樹結(jié)構(gòu)的主要區(qū)別是允許一些詞擁有多個父節(jié)點,從而使其成為有向無環(huán)圖(direct edacyclic graph,DAG)。(我實驗室在 SemEval-2012 上組織了世界上最早的語義依存(樹)分析技術(shù)評測,并隨后將其擴展到語義依存圖,在 SemEval-2016 上組織了相關(guān)評測。圖 1 和圖 2 分別給出同一句話的句法依存樹和語義依存圖的例子,更多有關(guān)中文語義依存圖的信息可以參考 http://mp.weixin.qq.com/s/bvm6sISUsUEhOpTOV-NxSg)
因此要獲得句子的語義依存圖,就需要對這種 DAG 進行分析。然而目前大多數(shù)工作集中于研究依存樹結(jié)構(gòu),少有人研究如何對 DAG 進行分析。
本文提出一種基于轉(zhuǎn)移的分析器,使用 list-based arc-eager 算法的變體對依存圖進行分析,并提出了兩種有效的神經(jīng)網(wǎng)絡(luò)模塊,分別用于獲得轉(zhuǎn)移系統(tǒng)中緩存和子圖更好的表示。該系統(tǒng)在中英數(shù)據(jù)集上都取得了很好的結(jié)果,并且還能通過簡單的模型融合方法進一步提高性能。
圖 1 句法依存樹
圖 2 語義依存圖
目前依存樹分析領(lǐng)域兩大主流方法分別是基于轉(zhuǎn)移(Transition-based)和基于圖(Graph-based)的依存分析?;趫D的算法將依存分析建模為在有向完全圖中求解最大生成樹的問題?;谵D(zhuǎn)移的依存分析算法將句子的解碼過程建模為一個有限自動機問題(類比編譯器中的句法分析組件)。
本文中,我們選擇了基于轉(zhuǎn)移的依存分析方法。這種方法從起始轉(zhuǎn)移狀態(tài)開始,不斷地執(zhí)行轉(zhuǎn)移動作從一個狀態(tài)進入另一個狀態(tài),最終達到終結(jié)狀態(tài),并將終結(jié)狀態(tài)對應(yīng)的樹(或圖)作為分析結(jié)果。轉(zhuǎn)移狀態(tài)包括一個保存正在處理中的詞的棧(Stack),一個保存待處理詞的緩存(Buffer),和一個記錄已經(jīng)生成的依存弧的存儲器。轉(zhuǎn)移動作通常包括如移進、規(guī)約并生成依存弧等。數(shù)據(jù)驅(qū)動的基于轉(zhuǎn)移依存句法分析的目標是訓練一個分類器。這個分類器對給定轉(zhuǎn)移狀態(tài)預(yù)測下一步要執(zhí)行的轉(zhuǎn)移動作。
如圖 2 所示,依存圖與依存樹有兩種主要區(qū)別。
第一,依存圖中存在交叉弧。傳統(tǒng)轉(zhuǎn)移算法需要通過添加緩存機制來解決交叉弧的問題。Choi 等人 2013 年提出的 List-based Arc-eager 算法 [1] 就是這樣一思路的代表。List-based Arc-eager 算法在前文介紹的轉(zhuǎn)移系統(tǒng)基礎(chǔ)上,增加了一個雙向隊列(Deque)用于保存暫時跳過的詞,來生成交叉弧。
第二,依存圖中的詞可能存在多個父節(jié)點。導致傳統(tǒng)轉(zhuǎn)移算法無法產(chǎn)生依存圖的主要原因是:這些算法為了保證了最終生成的是一棵依存樹,往往規(guī)定一旦找到了一個詞的父節(jié)點,這個詞就應(yīng)立即被規(guī)約。為了使我們的轉(zhuǎn)移算法能夠產(chǎn)生依存圖結(jié)構(gòu),我們在 Choi 等人的基礎(chǔ)上修改了轉(zhuǎn)移動作的執(zhí)行條件,使得找到父節(jié)點的詞緩存在雙向隊列中而不被規(guī)約,這為接下來的轉(zhuǎn)移動作找到該詞的其它父節(jié)點提供了可能,從而生成語義依存圖。圖 3 給出用修改后的算法生成語義依存圖的具體流程。
圖 3 修改后的 List-based Arc-eager 算法生成語義依存圖的流程
解決了轉(zhuǎn)移系統(tǒng)的問題,接下來就需要選擇一個合適的分類器在每個轉(zhuǎn)移狀態(tài)下預(yù)測出下一步要執(zhí)行的轉(zhuǎn)移動作。我們選擇了 Dyer 等人在 2015 年提出的 Stack-LSTM[2] 作為基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)來學習轉(zhuǎn)移系統(tǒng)中的棧、雙向隊列、緩存和歷史轉(zhuǎn)移動作序列中的信息。(關(guān)于 Stack LSTM 的具體介紹可以參考 http://mp.weixin.qq.com/s/QvHTUAicgf257wQwkRn3cQ)
為了更好地獲得轉(zhuǎn)移狀態(tài)的表示,我們在上述結(jié)構(gòu)的基礎(chǔ)上提出了 2 個有效的神經(jīng)網(wǎng)絡(luò)模塊——Bi-LSTM Subtraction 和 Incremental Tree-LSTM,分別對轉(zhuǎn)移過程中的緩存和子圖進行建模。圖 4 給出了該模型的整體結(jié)構(gòu)圖。
圖 4 依存圖分析器模型整體結(jié)構(gòu)圖
Dyer 等人的模型中簡單地使用從右向左的單向 LSTM 的最后一個隱層狀態(tài)向量表示緩存中的所有信息。這種方法不但無法獲取緩存之外的詞(已被移入棧中或規(guī)約)的信息,也損失了從左向右的上下文信息。而且,我們認為只用一個隱層狀態(tài)向量是無法很好地表示整個緩存中的信息的。因此,我們將緩存看作一個段,并用段頭和段尾的表示的差來表示整個段。此外,為了獲得緩存之外詞的信息,我們首先將整個句子輸入雙向 LSTM 中,用每個詞對應(yīng)的隱層狀態(tài)向量作為其表示 [3]。
圖 5 Bi-LSTM Subtraction 結(jié)構(gòu)圖
例如圖 5 中計算緩存的表示時,先用「吃飯」的正向 LSTM 表示減去「太」的正向 LSTM 表示,獲得該段正向的表示,再用「太」的反向 LSTM 表示減去「吃飯」的反向 LSTM 表示,獲得該段反向的表示。二者拼接起來作為此時緩存的表示。
Dyer 等人的模型中使用基于依存的遞歸神經(jīng)網(wǎng)絡(luò)(RecNN)來計算轉(zhuǎn)移過程中的子結(jié)構(gòu),在處理較深的子結(jié)構(gòu)時,這種方法可能會遇到梯度消失問題。為了解決該問題,我們利用 Tree-LSTM[4] 對這些子結(jié)構(gòu)進行建模。圖 6 顯示了我們提出的 Incremental Tree-LSTM 與基于依存的 RecNN 的區(qū)別。RecNN 通過遞歸地組合一個個父節(jié)點-子節(jié)點對來構(gòu)建子圖,而 Tree-LSTM 則能同時合并一個節(jié)點及其所有子節(jié)點。
圖 6 Incremental Tree-LSTM 與基于依存的遞歸神經(jīng)網(wǎng)絡(luò)對比
由于基于轉(zhuǎn)移的依存圖分析的特點,我們使用的 Tree-LSTM 與一般的 Tree-LSTM 有兩點不同。首先,顯然該任務(wù)中需要建模的子結(jié)構(gòu)不一定是樹。但好在我們處理的依存圖不包括環(huán),因此仍然能夠使用 LSTM。更重要的是,與一般的 Tree-LSTM 能夠同時獲得一個節(jié)點的所有子節(jié)點不同,在基于轉(zhuǎn)移的依存分析中,一個節(jié)點的子節(jié)點是逐個被找到的,因此我們需要不斷利用 Tree-LSTM 更新父節(jié)點信息。具體來說,對于一個詞,每當找到它的一個新子節(jié)點,就要將其所有已經(jīng)找到的子節(jié)點和其本身的表示輸入 Tree-LSTM 中計算它的新表示。例如圖 7 中的子圖構(gòu)建流程如下:
(1)用 Tree-LSTM 合并 A 和 B 的表示并將結(jié)果作為 A 的新表示;
(2)合并 B 和 C 的表示并將結(jié)果作為 B 的新表示;
(3)合并 A、D 的表示和 B 當前的表示(b+c)并將結(jié)果作為 A 的新表示。
圖 7 Incremental Tree-LSTM 中子圖的遞增式構(gòu)建
我們的系統(tǒng)能通過一個簡單的模型融合方法進一步提高性能。具體來說,就是在訓練時使用不同隨機初始化種子訓練多個模型。在預(yù)測時,用這些模型算出的分數(shù)之和來選擇接下來的轉(zhuǎn)移動作。
我們的系統(tǒng)在中英文數(shù)據(jù)集上都獲得了很好的實驗結(jié)果,表 1 是 SemEval-2016 Task 9 中文數(shù)據(jù)集上的實驗結(jié)果。該數(shù)據(jù)集分為兩部分,分別是新聞集(NEWS)和小學課本集(TEXTBOOKS),前者句子較長、較復(fù)雜,后者句子較短、較簡單。該評測的評價指標中最重要的兩個分別是弧標簽的 F 值(LF)和有多父節(jié)點的詞的弧標簽的 F 值(NLF)。
表中前 5 個是其他參賽系統(tǒng),2-stage (Ding et al. 2014) 是我們重新實現(xiàn)的 Ding 等人在 2014 年提出的一個兩步方法 [5],先用傳統(tǒng)依存樹分析器生成樹結(jié)構(gòu),再用 SVM 分類器從規(guī)則產(chǎn)生的候選弧集合中選出一些弧加入其中從而得到依存圖結(jié)構(gòu)。BS-IT 是我們的系統(tǒng)。實驗結(jié)果表明我們的系統(tǒng)在兩個數(shù)據(jù)集的各項評測指標中都明顯超過其他系統(tǒng)。
表 2 中列出了測試 BS 和 IT 模塊效果的實驗,結(jié)果表明二者都能為基礎(chǔ)系統(tǒng)帶來性能提升。而二者同時使用時對系統(tǒng)性能提升更明顯。
本文提出了一個基于轉(zhuǎn)移的語義依存圖分析方法,利用 List-based Arc-eager 算法的變體實現(xiàn)了有向無環(huán)圖的生成。此外,本文還提出了兩種有效的神經(jīng)網(wǎng)絡(luò)模塊用于學習轉(zhuǎn)移系統(tǒng)中重要部分的表示。在中英數(shù)據(jù)集上的實驗結(jié)果證明了該方法的有效性。
[1] Choi J D, McCallum A. Transition-based Dependency Parsingwith Selectional Branching[C]. Proceedings of the 51thAnnual Meeting of the Association for Computational Linguistics. 2013: 1052-1062.
[2] Dyer C, Ballesteros M, Ling W, et al. Transition-based Dependency Parsingwith Stack Long Short-Term Memory[C]. Proceedingsof Annual Meeting on Association forComputational Linguistics. 2015: 334–343.
[3] Kiperwasser E, Goldberg Y. Simple and Accurate DependencyParsing Using Bidirectional LSTM Feature Representations [J]. Transactions ofthe Association for Computational Linguistics. 2016: 313-327.
[4] Tai K S,Socher R, Manning C D. Improved Semantic Representations from Tree-StructuredLong Short-Term Memory Networks[C]. Proceedings of the 53rd Annual Meeting ofthe Association for Computational Linguistics and the 7th International JointConference on Natural Language Processing. 2015: 1556-1566.
[5] Ding Y,Shao Y, Che W, et al. Dependency graph based Chinese semantic parsing [M]. ChineseComputational Linguistics and Natural Language Processing Based on NaturallyAnnotated Big Data. Springer, Cham, 2014: 58-69.
本周五(11月24日)晚上8點,第一作者王宇軒將在雷鋒網(wǎng)旗下頻道AI慕課學院(http://www.mooc.ai/)進行第34期的GAIR大講堂直播,主題為《AAAI論文解讀:基于轉(zhuǎn)移的語義依存圖分析》,掃描海報二維碼添加社長微信,備注「王宇軒」即可。
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。