论文解读:Semantic Neural Machine Translation using AMR
論文解讀:Semantic Neural Machine Translation using AMR
??機器翻譯主要得益于語義表征能力,為了緩解數(shù)據(jù)的稀疏性,作者提出一種神經(jīng)機器翻譯方法,利用AMR(Abstract Meaning Representation)作為語義增強,結(jié)合LSTM進(jìn)行端到端的學(xué)習(xí)。此模型較為簡單,因此做簡單介紹。
一、簡要信息
| 1 | 模型名稱 | semantic-nmt |
| 2 | 所屬領(lǐng)域 | 自然語言處理 |
| 3 | 研究內(nèi)容 | 神經(jīng)機器翻譯 |
| 4 | 核心內(nèi)容 | Att-BiLSTM, AMR,GRN |
| 5 | GitHub源碼 | https://github.com/freesunshine0316/semantic-nmt |
| 6 | 論文PDF | https://arxiv.org/abs/1902.07282) |
二、相關(guān)背景
??絕大多數(shù)的機器翻譯工作中,通常使用RNN或CNN用于捕捉句子的語義表征,通常其獲取的信息量較為發(fā)散(讓神經(jīng)網(wǎng)絡(luò)自己去挖掘句子中詞與詞之間的序列關(guān)系),往往機器翻譯的數(shù)據(jù)非常稀疏,少量的數(shù)據(jù)容易讓神經(jīng)網(wǎng)絡(luò)產(chǎn)生過擬合的學(xué)習(xí),因此絕大多數(shù)的神經(jīng)機器翻譯模型會添加額外的信息用于增強,例如帶有圖像的多模態(tài)機器翻譯,結(jié)合知識圖譜的機器翻譯等。本文則是利用句子的語法結(jié)構(gòu)來增強機器翻譯。
??通常語法結(jié)構(gòu)有依存關(guān)系樹,如下圖中(a)所示,其可以分析出主語謂語賓語,構(gòu)成簡單的事實,比如圖中的事實為John gave wife present。
另外就是AMR,其是基于依存關(guān)系樹生成的圖,其由Banarescu[1]提出。根結(jié)點為(a)中的起始點gave單詞,依次對應(yīng)相關(guān)的名詞,每個葉子結(jié)點則表示最終對應(yīng)的人名、事物或其修飾詞。因為名詞之間可能會存在語義關(guān)系,因此AMR是一個有向圖結(jié)構(gòu)。AMR具體詳細(xì)可見參考文獻(xiàn)[1],AMR可以通過一系列的工具包自動生成,例如JAMR。
三、提出的方法
??如圖所示:
作者提出的模型主要分為三個部分,編碼器包含兩個部分分別為基于注意力的長短期記憶神經(jīng)網(wǎng)絡(luò)(Att-BiLSTM)和基于圖遞歸網(wǎng)絡(luò)GRN的AMR編碼器;解析器則為自回歸模型。
1、Att-BiLSTM
??這一部分想必大家都已經(jīng)很熟悉了,代碼層面上則是一層帶有LSTM記憶單元的RNN網(wǎng)絡(luò)的輸出層通過加權(quán)求和形式,輸出為一個向量(對于一個句子),本文記做cm?1c_{m-1}cm?1?。
2、GRN based AMR Encoder
??GRN是一種利用時間序列的圖神經(jīng)網(wǎng)絡(luò),其輸入為一個拓?fù)浣Y(jié)構(gòu) G=(V,E)G=(V,E)G=(V,E),包括結(jié)點 VVV 和邊 EEE 。拓?fù)浣Y(jié)構(gòu)則為每個句子的AMR圖,每個結(jié)點 vjv_jvj? 用向量 aja^jaj 表示,初始化時為0向量。記 g=aj∣vj∈Vg={a^j}|v_j\in Vg=aj∣vj?∈V 表示所有結(jié)點向量的集合,或表示為一個矩陣。
??在訓(xùn)練GNN時,有兩種方法學(xué)習(xí)每個結(jié)點的表示,一種是基于圖卷積網(wǎng)絡(luò)GCN,一種是基于圖遞歸網(wǎng)絡(luò)GRN,它們分別借鑒了CNN和RNN的思想。本文使用的是GRN網(wǎng)絡(luò),簡單做一個介紹:
第 ttt 輪迭代就相當(dāng)于RNN中的第 ttt 個時間序列,每輪迭代主要包括上一輪迭代的隱狀態(tài)和當(dāng)前的外來數(shù)據(jù),其中外來數(shù)據(jù)即為AMR圖中每個結(jié)點的對應(yīng)的詞向量。
(1)外來數(shù)據(jù):為了保證輸入數(shù)據(jù)符合拓?fù)浣Y(jié)構(gòu),作者定義數(shù)據(jù)格式:
?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? 分別表示當(dāng)前的結(jié)點 vjv_jvj? 存在(不存在)三元組 (vi,l,vj)(v_i,l,v_j)(vi?,l,vj?) 中。需要注明的是,上述兩個公式是對結(jié)點 vjv_jvj? 的表示,循環(huán)所有三元組,只要三元組存在 vjv_jvj? 的累和到 ?j\phi_j?j? 中,否則累和到 ?^j\hat{\phi}_j?^?j? 中。
(2)上一狀態(tài)的隱狀態(tài):
ψ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? 的表示,
遞歸公示如圖所示,其本質(zhì)上是LSTM。
3、Decoder
??模型圖可見,當(dāng)預(yù)測某一個句子中的一個單詞時,根據(jù)上一個已預(yù)測的單詞的隱狀態(tài),有權(quán)重的選擇整個原始句子中重要的部份來預(yù)測下一個單詞,同時也有權(quán)重的選擇最后一個時刻 TTT 的AMR圖中重要的結(jié)點作為增強,作者在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?)?
預(yù)測部分則為: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? 。
參考文獻(xiàn):
【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進(jìn)行摘要式文本綜述
總結(jié)
以上是生活随笔為你收集整理的论文解读:Semantic Neural Machine Translation using AMR的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 视频压缩在线网站,视频压缩在线压缩,视频
- 下一篇: iOS 9 Storyboard 教程(