论文解读:Semantic Neural Machine Translation using AMR
論文解讀:Semantic Neural Machine Translation using AMR
??機器翻譯主要得益于語義表征能力,為了緩解數據的稀疏性,作者提出一種神經機器翻譯方法,利用AMR(Abstract Meaning Representation)作為語義增強,結合LSTM進行端到端的學習。此模型較為簡單,因此做簡單介紹。
一、簡要信息
| 1 | 模型名稱 | semantic-nmt |
| 2 | 所屬領域 | 自然語言處理 |
| 3 | 研究內容 | 神經機器翻譯 |
| 4 | 核心內容 | Att-BiLSTM, AMR,GRN |
| 5 | GitHub源碼 | https://github.com/freesunshine0316/semantic-nmt |
| 6 | 論文PDF | https://arxiv.org/abs/1902.07282) |
二、相關背景
??絕大多數的機器翻譯工作中,通常使用RNN或CNN用于捕捉句子的語義表征,通常其獲取的信息量較為發散(讓神經網絡自己去挖掘句子中詞與詞之間的序列關系),往往機器翻譯的數據非常稀疏,少量的數據容易讓神經網絡產生過擬合的學習,因此絕大多數的神經機器翻譯模型會添加額外的信息用于增強,例如帶有圖像的多模態機器翻譯,結合知識圖譜的機器翻譯等。本文則是利用句子的語法結構來增強機器翻譯。
??通常語法結構有依存關系樹,如下圖中(a)所示,其可以分析出主語謂語賓語,構成簡單的事實,比如圖中的事實為John gave wife present。
另外就是AMR,其是基于依存關系樹生成的圖,其由Banarescu[1]提出。根結點為(a)中的起始點gave單詞,依次對應相關的名詞,每個葉子結點則表示最終對應的人名、事物或其修飾詞。因為名詞之間可能會存在語義關系,因此AMR是一個有向圖結構。AMR具體詳細可見參考文獻[1],AMR可以通過一系列的工具包自動生成,例如JAMR。
三、提出的方法
??如圖所示:
作者提出的模型主要分為三個部分,編碼器包含兩個部分分別為基于注意力的長短期記憶神經網絡(Att-BiLSTM)和基于圖遞歸網絡GRN的AMR編碼器;解析器則為自回歸模型。
1、Att-BiLSTM
??這一部分想必大家都已經很熟悉了,代碼層面上則是一層帶有LSTM記憶單元的RNN網絡的輸出層通過加權求和形式,輸出為一個向量(對于一個句子),本文記做cm?1c_{m-1}cm?1?。
2、GRN based AMR Encoder
??GRN是一種利用時間序列的圖神經網絡,其輸入為一個拓撲結構 G=(V,E)G=(V,E)G=(V,E),包括結點 VVV 和邊 EEE 。拓撲結構則為每個句子的AMR圖,每個結點 vjv_jvj? 用向量 aja^jaj 表示,初始化時為0向量。記 g=aj∣vj∈Vg={a^j}|v_j\in Vg=aj∣vj?∈V 表示所有結點向量的集合,或表示為一個矩陣。
??在訓練GNN時,有兩種方法學習每個結點的表示,一種是基于圖卷積網絡GCN,一種是基于圖遞歸網絡GRN,它們分別借鑒了CNN和RNN的思想。本文使用的是GRN網絡,簡單做一個介紹:
第 ttt 輪迭代就相當于RNN中的第 ttt 個時間序列,每輪迭代主要包括上一輪迭代的隱狀態和當前的外來數據,其中外來數據即為AMR圖中每個結點的對應的詞向量。
(1)外來數據:為了保證輸入數據符合拓撲結構,作者定義數據格式:
?j=∑(i,j,l)∈Ein(j)xi,jl\phi_j = \sum_{(i,j,l)\in E_{in}(j)}x_{i,j}^l?j?=(i,j,l)∈Ein?(j)∑?xi,jl?
?^j=∑(j,k,l)∈Eout(j)xj,kl\hat{\phi}_j = \sum_{(j,k,l)\in E_{out}(j)}x_{j,k}^l?^?j?=(j,k,l)∈Eout?(j)∑?xj,kl?
其中 xi,jlx_{i,j}^lxi,jl? 表示三元組 (vi,l,vj)(v_i,l,v_j)(vi?,l,vj?) 的向量表示, xi,jl=W([el;evi])+bx_{i,j}^l=W([e_l;e_{v_i}])+bxi,jl?=W([el?;evi??])+b ,EinE_{in}Ein? 和 EoutE_{out}Eout? 分別表示當前的結點 vjv_jvj? 存在(不存在)三元組 (vi,l,vj)(v_i,l,v_j)(vi?,l,vj?) 中。需要注明的是,上述兩個公式是對結點 vjv_jvj? 的表示,循環所有三元組,只要三元組存在 vjv_jvj? 的累和到 ?j\phi_j?j? 中,否則累和到 ?^j\hat{\phi}_j?^?j? 中。
(2)上一狀態的隱狀態:
ψj=∑(i,j,l)∈Ein(j)at?1i\psi_j = \sum_{(i,j,l)\in E_{in}(j)}a_{t-1}^iψj?=(i,j,l)∈Ein?(j)∑?at?1i?
ψ^j=∑(j,k,l)∈Eout(j)at?1k\hat{\psi}_j = \sum_{(j,k,l)\in E_{out}(j)}a_{t-1}^kψ^?j?=(j,k,l)∈Eout?(j)∑?at?1k?
其中 at?1ia_{t-1}^iat?1i? 表示上一時刻 vjv_jvj? 的表示,
遞歸公示如圖所示,其本質上是LSTM。
3、Decoder
??模型圖可見,當預測某一個句子中的一個單詞時,根據上一個已預測的單詞的隱狀態,有權重的選擇整個原始句子中重要的部份來預測下一個單詞,同時也有權重的選擇最后一個時刻 TTT 的AMR圖中重要的結點作為增強,作者在AMR圖輸出部分和LSTM一樣堆疊了一個Attention,公式如下:
?^m,i=v^2Ttanh(WaaTi+W^ssm+b^2)\hat{\epsilon}_{m,i}=\hat{v}_2^{\mathbb{T}}tanh(W_aa_{T}^{i}+\hat{W}_ss_m+\hat{b}_2)?^m,i?=v^2T?tanh(Wa?aTi?+W^s?sm?+b^2?)
α^m,i=exp(?^m,u)∑j=1Nexp(?^m,u)\hat{\alpha}_{m,i} = \frac{exp(\hat{\epsilon}_{m,u})}{\sum_{j=1}^{N}exp(\hat{\epsilon}_{m,u})}α^m,i?=∑j=1N?exp(?^m,u?)exp(?^m,u?)?
預測部分則為:Pvocab=softmax(V[sm,cm?1,c^m?1])P_{vocab} = softmax(V[s_m,c_{m-1},\hat{c}_{m-1}])Pvocab?=softmax(V[sm?,cm?1?,c^m?1?]),其中 c^m?1=∑i=1Nα^m,iaTi\hat{c}_{m-1}=\sum_{i=1}^{N}\hat{\alpha}_{m,i}a_{T}^{i}c^m?1?=∑i=1N?α^m,i?aTi? 。
參考文獻:
【1】Banarescu, Laura & Bonial, Claire & Cai, Shu & Georgescu, Madalina & Griffitt, Kira & Hermjakob, Ulf & Knight, Kevin & Koehn, Philipp & Palmer, Martha & Schneider, Nathan. (2013). Abstract Meaning Representation for Sembanking. 178-186.
【2】利用AMR進行摘要式文本綜述
總結
以上是生活随笔為你收集整理的论文解读:Semantic Neural Machine Translation using AMR的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 视频压缩在线网站,视频压缩在线压缩,视频
- 下一篇: iOS 9 Storyboard 教程(