论文解读: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相关推荐

  1. OOV问题-论文笔记《Neural Machine Translation of Rare Words with Subwords Units》- ACL2016

    原论文链接: https://arxiv.org/abs/1508.07909 参考paperweekly关于分词的一个总结:https://zhuanlan.zhihu.com/p/22700538 ...

  2. 论文阅读——Unsupervised Neural Machine Translation with Indirect Supervision

    带有间接监督的无监督神经机器翻译(未开源) https://arxiv.org/pdf/2004.03137.pdf 虽然使用单语数据进行无监督神经机器翻译 UNMT 可以取得不错的结果,但是与监督 ...

  3. [论文阅读]Neural Machine Translation By Jointly Learning to Align and Translate

    文章目录 前言 摘要 一.神经机器翻译 1.机器翻译 2.基于RNN的Encoder-Decoder架构 二.文章贡献 三.模型架构 1.译码器:整体概述 2.编码器:用于注释序列的双向RNN 四.实 ...

  4. 复现有道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 ...

  5. 通过BPE解决OOV问题----Neural machine Translation of Rare Words with Subword Units

    Neural machine Translation of Rare Words with Subword Units 动机和创新点 BPE算法 BPE算法应用 BPE改进算法 前面的两篇facebo ...

  6. 《Neural Machine Translation by Jointly Learning to Align and Translate》阅读笔记

    个人总结 本文最大贡献是提出了注意力机制,相比于之前 NMT(Neural Machine Translation) 把整个句子压缩成一个固定向量表示的方法,对不同位置的目标单词计算每个输入的不同权重 ...

  7. 论文解读:On The Alignment Problem In Multi-Head Attention-Based Neural Machine Translation

    论文解读:On The Alignment Problem In Multi-Head Attention-Based Neural Machine Translation   机器翻译是自然语言处理 ...

  8. 【机器翻译】《Nearest Neighbor Knowledge Distillation for Neural Machine Translation》论文总结

    <Nearest Neighbor Knowledge Distillation for Neural Machine Translation>https://arxiv.org/pdf/ ...

  9. 【机器翻译】《Gradient-guided Loss Masking for Neural Machine Translation》论文总结

    <Gradient-guided Loss Masking for Neural Machine Translation>https://arxiv.org/pdf/2102.13549. ...

最新文章

  1. BestCoder Round #68 (div.2) 1002 tree
  2. VS2013无法启动IIS Express Web的解决办法
  3. littlevgl 透明按钮_张家港3-10吨叉车日租价格透明2020
  4. 计算机中年级排名怎么操作,智学网如何查看年级排名 智学网看年级排名方法【详解】...
  5. c语言讲输入退回缓冲区_开始之前的结束-如何不退回输入错误的用户电子邮件...
  6. Linux 下的 sleep
  7. [转载] 在IPython中重新加载模块 importlib
  8. Android下最简单的Audio Player
  9. php面向对象开发技术 课本,PHP面向对象编程-高级技术书 - php
  10. c php数据,PHP如何与C进行数据交互
  11. Tomcat的作用(自用)
  12. 基于机器学习的DNS隐蔽隧道检测方法与实现
  13. 神经网络算法处理器设计,神经网络是机器算法吗
  14. python文件的打开模式有几种_以下选项中,不是Python打开文件模式的是( )_学小易找答案...
  15. 浙大计算机专业博士后,博士后 - 浙江大学系统医学研究中心
  16. Kafka事务使用和编程示例/实例
  17. pytdx 调用沪深300 所有股票实时行情
  18. 《水经注地图服务》新版发布
  19. 《人性的弱点》卡耐基
  20. python过去电脑网关不可用怎么办_住宅网关不可用

热门文章

  1. 【K8S 三】部署 metrics-server 插件
  2. CStyle足迹:一个BIOS人的成长日记之开篇
  3. 跨平台剪贴板同步工具盘点
  4. Java实现手机号码归属地
  5. 如何从Linux下载一个文件到本地
  6. 互联网金融平台功能分析及微服务架构设计
  7. 聊聊benchmark测试
  8. java实现超级玛丽游戏
  9. css3从入门到熟练运用(三):炫目字体,多样背景和渐变颜色,神奇边框
  10. 仿某鸟云前台 智简魔方IDC财务管理系统