论文解读: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^2Ttanh(WaaTi+W^ssm+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=1Nexp(ϵ^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,iaTi 。
参考文献:
【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相关推荐
- OOV问题-论文笔记《Neural Machine Translation of Rare Words with Subwords Units》- ACL2016
原论文链接: https://arxiv.org/abs/1508.07909 参考paperweekly关于分词的一个总结:https://zhuanlan.zhihu.com/p/22700538 ...
- 论文阅读——Unsupervised Neural Machine Translation with Indirect Supervision
带有间接监督的无监督神经机器翻译(未开源) https://arxiv.org/pdf/2004.03137.pdf 虽然使用单语数据进行无监督神经机器翻译 UNMT 可以取得不错的结果,但是与监督 ...
- [论文阅读]Neural Machine Translation By Jointly Learning to Align and Translate
文章目录 前言 摘要 一.神经机器翻译 1.机器翻译 2.基于RNN的Encoder-Decoder架构 二.文章贡献 三.模型架构 1.译码器:整体概述 2.编码器:用于注释序列的双向RNN 四.实 ...
- 复现有道NLPCC-2018 CGEC:A Neural Machine Translation Approach to Chinese Grammatical Error Correction
有道NLPCC-2018 CGEC任务论文:A Neural Machine Translation Approach to Chinese Grammatical Error Correction ...
- 通过BPE解决OOV问题----Neural machine Translation of Rare Words with Subword Units
Neural machine Translation of Rare Words with Subword Units 动机和创新点 BPE算法 BPE算法应用 BPE改进算法 前面的两篇facebo ...
- 《Neural Machine Translation by Jointly Learning to Align and Translate》阅读笔记
个人总结 本文最大贡献是提出了注意力机制,相比于之前 NMT(Neural Machine Translation) 把整个句子压缩成一个固定向量表示的方法,对不同位置的目标单词计算每个输入的不同权重 ...
- 论文解读:On The Alignment Problem In Multi-Head Attention-Based Neural Machine Translation
论文解读:On The Alignment Problem In Multi-Head Attention-Based Neural Machine Translation 机器翻译是自然语言处理 ...
- 【机器翻译】《Nearest Neighbor Knowledge Distillation for Neural Machine Translation》论文总结
<Nearest Neighbor Knowledge Distillation for Neural Machine Translation>https://arxiv.org/pdf/ ...
- 【机器翻译】《Gradient-guided Loss Masking for Neural Machine Translation》论文总结
<Gradient-guided Loss Masking for Neural Machine Translation>https://arxiv.org/pdf/2102.13549. ...
最新文章
- BestCoder Round #68 (div.2) 1002 tree
- VS2013无法启动IIS Express Web的解决办法
- littlevgl 透明按钮_张家港3-10吨叉车日租价格透明2020
- 计算机中年级排名怎么操作,智学网如何查看年级排名 智学网看年级排名方法【详解】...
- c语言讲输入退回缓冲区_开始之前的结束-如何不退回输入错误的用户电子邮件...
- Linux 下的 sleep
- [转载] 在IPython中重新加载模块 importlib
- Android下最简单的Audio Player
- php面向对象开发技术 课本,PHP面向对象编程-高级技术书 - php
- c php数据,PHP如何与C进行数据交互
- Tomcat的作用(自用)
- 基于机器学习的DNS隐蔽隧道检测方法与实现
- 神经网络算法处理器设计,神经网络是机器算法吗
- python文件的打开模式有几种_以下选项中,不是Python打开文件模式的是( )_学小易找答案...
- 浙大计算机专业博士后,博士后 - 浙江大学系统医学研究中心
- Kafka事务使用和编程示例/实例
- pytdx 调用沪深300 所有股票实时行情
- 《水经注地图服务》新版发布
- 《人性的弱点》卡耐基
- python过去电脑网关不可用怎么办_住宅网关不可用