神经机器翻译(Neural machine translation, NMT)学习笔记
神经机器翻译(Neural machine translation, NMT)是最近提出的机器翻译方法。与传统的统计机器翻译不同,NMT的目标是建立一个单一的神经网络,可以共同调整以最大化翻译性能。最近提出的用于神经机器翻译的模型经常属于编码器-解码器这种结构,他们将源句子编码成固定长度的矢量,解码器从该矢量生成翻译。在本文中,我们推测使用固定长度向量是提高这种基本编码器-解码器架构性能的瓶颈,提出让模型从源语句中自动寻找和目标单词相关的部分,而不是人为的将源语句显示分割进行关系对应。采用这种新方法,我们实现了与现有最先进的基于短语的系统相媲美的英文到法文翻译的翻译性能。
之前的NMT在处理长句子的时候会有些困难,尤其是比训练数据集更长的文本。随着数据句子长度增加,基本的编码解码器表现会急剧下降。
谷歌开放GNMT教程:如何使用TensorFlow构建自己的神经机器翻译系统
GitHub 链接:https://github.com/tensorflow/nmt
1. 关于神经机器翻译
以词组为基础的传统翻译系统将源语言句子拆分成多个词块,然后进行词对词的翻译。这使得翻译输出结果流畅性大打折扣,远远不如人类译文。而我们会通读整个源语言句子,了解句子含义,然后输出翻译结果。神经机器翻译(NMT)竟然可以模仿人类的翻译过程。
编码器-解码器结构----神经机器翻译的通用方法实例。编码器将源语言句子转换成[意义]向量,然后通过解码器输出翻译结果。
具体来说,神经机器翻译系统首先使用编码器读取源语言句子,构建一个[思想]向量,即代表句义的一串数字;然后使用解码器处理该容器,并输出翻译结果,如上图所示。这就是我们通常所说的编码器-解码器结构。神经机器翻译用这种方法解决以词组为基础的传统翻译系统遇到的翻译问题;神经机器翻译能够捕捉语言中的长距离依赖结构,如词性一致,句法结构等,然后输出流利度更高的翻译结果,正如谷歌神经机器翻译系统已经做到的那样。
NMT模型在具体的结构中会发生变化。对于序列数据而言,最好的选择是循环神经网络(RNN),这也被大多数NMT模型采用。通常情况下,编码器和解码器都可使用循环神经网络。但是循环神经网络模型在下列情况中发生变化:
(1)方向性(directionality),单向或双向;
(2)深度,单层或多层;
(3)类型,通常是vanilla(普通) RNN、长短期记忆(Long Short-term Memory, LSTM),或门控循环单元(gated recurrent unit, GRU).
本教程中,我们将以单向的深度多层RNN(deep multi-layer RNN)为例,它使用LSTM作为循环单元。模型实例如下图所示。
上图中,「<s>」代表解码过程开始,「</s>」代表解码过程结束。
我们在该实例中构建了一个模型,将源语言句子[I am a student]翻译成目标语言「Je suis étudiant」。该NMT模型包括两个循环神经网络:编码器RNN,在不预测的情况下将输入的源语言单词进行编码;解码器,在预测下一个单词的条件下处理目标句子。
2. 安装该教程
首先确保已经安装TensorFlow。然后再将本教程的代码clone☞本地。
3. 训练-如何构建我们第一个NMT系统
一个NMT模型具体代码的核心----model.py
在网络的底层,编码器和解码器RNN接收到以下收入:首先是原句子,然后是从编码到解码模式的过渡边界符号「<s>」,最后是目标语句。
对于训练来说,我们将为系统提供以下张量,它们是以时间为主(time-major)的格式,并包括了单词索引:
- encoder_inputs [max_encoder_time, batch_size]:源输入词。
- decoder_inputs [max_decoder_time, batch_size]:目标输入词。
- decoder_outputs [max_decoder_time, batch_size]:目标输出词,这些是 decoder_inputs 按一个时间步向左移动,并且在右边有句子结束符。
为了更高的效率,我们一次用多个句子(batch_size)进行训练。
神经机器翻译(Neural machine translation, NMT)学习笔记相关推荐
- NMT(神经机器翻译Neural Machine Translation)常用术语
神经机器翻译Neural Machine Translation的常用术语:
- 论文阅读笔记:Frequency-Aware Contrastive Learning for Neural Machine Translation
论文链接:https://arxiv.org/abs/2112.14484 author={Zhang, Tong and Ye, Wei and Yang, Baosong and Zhang, L ...
- 【Paper】Effective Approaches to Attention-based Neural Machine Translation
论文原文:PDF 论文年份:2015 论文被引:4675(2020/11/08) 7232(2022/03/26) 论文作者:Minh-Thang Luong et.al. 文章目录 Abstract ...
- 论文阅读(三):Text2Sign: Towards Sign Language Production using Neural Machine Translation and GAN
Abstract 概述:我们提出了一种新的方法,利用最近的发展神经机器翻译(NMT),生成对抗性网络(GANs)和运动生成来生成手语.我们的系统能够从口语句子中生成手语视频.与当前依赖于大量注释数据的 ...
- 注意力机制Effective Approaches to Attention-based Neural Machine Translation
Effective Approaches to Attention-based Neural Machine Translation nlp三大顶会:ACL.EMCNLP.NACL 学起于思,思起于疑 ...
- neural machine translation by jointly learning to align and translate
1.论文出处 Dzmitry Bahdanau, KyungHyun Cho, Yoshua Bengio, "neural machine translation by jointly l ...
- nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)
<Neural Machine Translation by Jointly Learning to Align and Translate>--基于联合学习对齐和翻译的神经机器翻译 作者 ...
- 《Effective Approaches to Attention-based Neural Machine Translation》—— 基于注意力机制的有效神经机器翻译方法
目录 <Effective Approaches to Attention-based Neural Machine Translation> 一.论文结构总览 二.论文背景知识 2.1 ...
- [持续更新] 神经机器翻译论文汇总 Papers on Neural Machine Translation
[持续更新] 神经机器翻译论文汇总 Papers on Neural Machine Translation 源文地址 :http://polarlion.github.io/nmt/2017/02/ ...
最新文章
- spring boot请求后缀匹配的操作
- 关于kafka生产者相关监控指标的理解(未解决)
- 大牛书单 | 读书日,他们最近看了这些书
- 【渝粤题库】陕西师范大学201491 法学导论作业
- 判断平台是windows还是linux,用这个方法就行了
- jdk安装包_第一章(第1节):安装JDK
- android gpu linux,Arm发布针对Mali GPU的Android Linux Vulkan用户空间驱动(HiKey 960,Firefly-RK3288主板)...
- 计算机系统-内存的最小存储单元
- 浮动元素经常和标准流父级搭配使用(HTML、CSS)
- 图像处理基础(二)_OpenCV命名规则
- ubuntu20.4 安装配置teamviewer
- Expression Tree 扩展MVC中的 HtmlHelper 和 UrlHelper
- oracle12c备份与恢复,Oracle Database12c Oracle RMAN备份与恢复(第4版)
- FRP内网穿透访问家中的NAS和路由器后台
- java rrd 读取_rrd4j的使用详解1–数据保存入rrd文件 | 学步园
- 车载网络: ECU (电子控制单元)
- 树莓派小爱同学、天猫精灵、智能音箱、百度语音极速版、百度语音标准版、语音识别、语音合成终极方案
- [英语阅读]经济不景气金融从业者外遇增多
- 实习日记——Day2
- Win7 vista 界面美化
热门文章
- 天马杯-NLP赛道(科技新闻分类与摘要)赛后总结
- 思科无线POC测试要包含哪些测试项
- 【浅墨著作】 OpenCV3编程入门 内容简介 勘误 配套源代码下载
- error: Package requirements (sqlite3 > 3.7.4) were not met:
- 从1.0到4.0,酒类新零售还能跑出几个1919和酒仙网?
- Android 广告图片 全屏图片适配方案的思路
- CRMEB单商户标准版上线了!
- 区块链数字货币应用场景不同决定了价值空间
- 他如何从一位专车司机成功变身CEO?
- 盘点:20位近两年新任“院士校长”!