机器翻译

机器翻译

链接: 数据集 提取码: 6cgu

《Neural Machine Translation by Jointly Learning to Align and Translate》
—基于联合学习对齐和翻译的神经机器翻译
作者:Dzmitry Bahdanau ,KyungHyun Cho,Yoshua Bengio
单位:不来梅雅克布大学,蒙特利大学
发表会议:ICLR 2015

补充:最早将注意力机制引入机器翻译的论文

  • 1.一 论文导读
  • 2.二 论文精读
  • 3.三 代码实现
  • 4.四 问题思索

一 论文导读

1.机器翻译简介
2.神经机器翻译相关技术
3.前期知识

1.机器翻译简介

  • 机器翻译,又称自动翻译,是利用计算机将一种自然语言(源程序)转换为另一种自然语言(目标语言)的过程
  • 它是计算语言学的一个分支,是人工智能的终极目标之一,具有重要的科学研究价值。
  • 同时具有重要的实用价值。随着经济全球化及互联网的飞速发展,机器翻译技术在促进政治、经济、文化交流方面起到越来越重要的作用。

机器翻译的出现早于人工智能概念的提出,有着漫长的发展过程(滑稽,对于计算机历史)
大致分为三个阶段
1980:基于规则的翻译
1990:基于统计的翻译
2013:基于神经网络的翻译

一 基于规则的机器翻译
基于规则的机器翻译,是最古老也是见效最快的一种翻译方式。
根据翻译的方式可以分为:

  • 直接基于词的翻译
  • 结构转换的翻译
  • 中间语翻译

大致流程:
输入–》词性分析–》词典查询–》语序调整–》输出

二 基于统计的方法

  • 基本思想:通过对大量的平行语料进行统计分析,构建统计翻译模型,进而使用此模型进行翻译。
  • 核心问题:为翻译过程建立概率模型
  • 大致流程:输入–》基于词的翻译–》查询语料库–》统计概率–》输出

机器翻译_第1张图片
由于现实中句子的多变性,引入了隐变量

  • 隐变量:生产过程中不可观测的随机变量
  • 隐变量对数线性模型:在隐式语言结构上设计特征
  • 关键问题:如何设置特征函数

机器翻译_第2张图片
三 基于神经网络的机器翻译

  • 基于神经网络的机器翻译:通过学习大量成对的语料让神经网络自己学习语言的特征,找到输入和输出之间的关系。
  • 核心思想:端到端
  • 2014年,Kyunghyun Cho 和Sutskever先后提出一种端到端的模型,直接对输入和输出建立联系,前者讲其模型命名为Encoder-Decoder模型,后者将其命名为Sequence-to-Sequence

机器翻译_第3张图片

2.神经机器翻译相关技术

基于神经网络的机器翻译:

  • 基本思想:利用神经网络实现自然语言的映射
  • 核心问题:条件概率建模
    在这里插入图片描述
  • yn:当前目标语言词
  • x:源语言句子
  • y

机器翻译_第4张图片
没有引入隐变量z,而是马尔可夫分解,变成每个词的生成,N表示目标语言的长度,yn代表第n个词,x代表句子

如何对条件概率机械能建模?
机器翻译_第5张图片
句子的向量表示:
利用RNN计算句子的向量表示
(深度学习的革命变化之一就是改变了信息的表达方式,用的是连续的数字,向量等表达信息,区别于传统的离散表达)

机器翻译_第6张图片
编码器-解码器框架:
利用RNN实现源语言的编码和目标语言的解码(带来了一种信息传递的新方式)
机器翻译_第7张图片

  • 优点:利用长短时记忆处理长距离依赖
  • 缺点:任意长度的句子都编码为固定维度的向量

如何解决这个问题呢?总而引入了一种具有革命性的思想:注意力机制
引入注意力机制:
机器翻译_第8张图片

3.前期知识
1.概论论
2.RNN
3.机器翻译的概念
4.注意力机制的思想,注意力机制的分类和实现方式

二 论文精读

1.论文整体框架
2.传统模型讲解
3.小结
4.RNNsearch模型
5.注意力机制其他应用
6.实验和结果
7.讨论和总结

1.论文整体框架

0.摘要

1.介绍
2.背景:神经机器翻译
3.学习对齐和翻译模型
4.实验设置
5.实验结果
6.相关工作
7.结论

2.传统模型讲解

一 任务定义:

  • 该模型采用1到k编码的字向量的源语言句子作为输入:
    在这里插入图片描述
  • 并输出由1到k编码的字向量的目标语言句子
    在这里插入图片描述
  • 任务目标:评估函数 :
    在这里插入图片描述
    具体实例如下:
    机器翻译_第9张图片
    二 编码器-解码器框架
    神经网络的作用:直接学习条件分布(端到端)
    通过大量学习成对语料,让神经网络自己学到特征,找到输入和输出之间的关系

机器翻译_第10张图片
这种模型思想的论文来源:《Learning phrase representations using RNN encoder-decoder for statistical machine translation》

—学习使用RNN编码器-解码器进行统计机器翻译的短语表示
模型名称:RNNenc

本文的模型就是以RNNenc为基线进行改进的。

  • 编码器

机器翻译_第11张图片

X:表示一个输入的句子的序列
ht:表示t时间生成句子的隐藏状态
f:表示非线性函数

在这里插入图片描述
c:表示从句子序列中生成的上下文向量
q:表示非线性函数
大致结构如下图:
机器翻译_第12张图片

  • 解码器:
    在这里插入图片描述
    y:表示生成一个句子的序列
    在这里插入图片描述
    在这里插入图片描述
    St表示循环神经网络的隐层状态

h:表示编码器的隐层状态
s:表示解码器的隐层状态
j:表示编码器的输入
i:表示解码器的输入

整体框架结构图:
机器翻译_第13张图片

机器翻译_第14张图片
RNNenc模型效果:
机器翻译_第15张图片
从上右图中可以看出深度学习较好解决了语法不同,意思相同的问题

在机器翻译领域,使用Seq2Seq模型在英法翻译任务中表现接近技术的最先进水平,比传统的词袋模型效果要好。

RNNenc模型存在问题

  • 必须记住整个句子序列的语义信息
  • 把无论长度多长的句子都编码成固定向量,这样限制了翻译过程中长句子的表示
  • 与人类翻译时的习惯不同,人们不会在生成目标语言翻译时关注源语言句子的每个单词(不“信达雅”)

下图展示了长句上的不足
机器翻译_第16张图片
基于以上缺点提出了本文的模型

  • 提出一种新的神经机器翻译模型RNNsearch模型

  • 编码器:采用双向循环神经网络:
    隐藏状态同时对当前单词前面和后面的信息编码

  • 解码器:提出一种扩展(注意力)模型
    注意力机制:对输入的隐藏状态求权重

机器翻译_第17张图片
(补充:我觉得注意力机制的本质就是提高某一部分(你想要的部分)权重,当然这个大家都理解,难点在于怎么做到的,其实想理解怎么做到的,一般没什么思绪,其实你可以先把重心点放在模型的权重是如何产生的上面)

3.小结

  • 摘要:论文高度概括,包含作者研究思路
  • 介绍:简述论文背景,定义问题,发现现有解决问题方法弊端,提出改进模型,展示改进模型的实验效果
  • 神经机器翻译编码器-解码器框架,基于该框架的基线模型RNNenc,各部分组成及原理

4.RNNsearch模型

一 传统模型 VS 改进模型

RNNenc

  • 将整个输入语句编码成一个固定长度的向量
  • 使用单向循环神经网络RNN

RNNsearch

  • 将输入的句子编码成变长向量序列
  • 在编码翻译时,自适应的选择这些向量的子集
  • 使用双向循环神经网络(Bi-RNN)

机器翻译_第18张图片
RNNsearch模型编码器:

  • 前向RNN:

输入:在这里插入图片描述
输出:在这里插入图片描述

  • 后向RNN

输入:在这里插入图片描述
输出:在这里插入图片描述

  • 连接
    在这里插入图片描述
    模块结构图:
    机器翻译_第19张图片
    RNNsearch模型解码器
  • 目标端词yi的条件概率:
    在这里插入图片描述
  • Si表示i时间的隐层状态:
    在这里插入图片描述
    与RNNenc模型不同点:
    c–>ci

注意力思想:
思想:集中关注上下文
就是只关注相关的上下文,
is关注dog,因为dog时动词
chasing关注is和dog,因为动物才有chase的现在进行时
注意力机制的思想在本质上改变了信息传递的方式
在之前任何一个单词的出现都依赖前后有限个数词的影响,靠的越近影响越大,这显然是不科学的,而注意力机制改变了这一现状,它赋予每个单词同等的机会,当然也有一定的相关性。
机器翻译_第20张图片
注意力机制的计算公式

  • 计算上下文向量Ci:机器翻译_第21张图片
  • 权重(注意力分数)αij:机器翻译_第22张图片
  • 对齐模型:在这里插入图片描述
    模块结构图:
    机器翻译_第23张图片
    计算步骤:
  • 计算注意力分数(对齐模型)αij
  • 计算带有注意力分数的上下文信息Ci
  • 生成新的隐层状态输出Si
  • 计算新的目标语言输出yi
    机器翻译_第24张图片
    整体框架结构:
    机器翻译_第25张图片
    模型实例:
    下图中间的虚线很明显展示了每个节点都有机会对最后的输出节点进行影响
    机器翻译_第26张图片

5.注意力机制其他应用

  • “看图说话”:为图片生成自动文本描述

机器翻译_第27张图片

6.实验和结果

  • 实验模型:RNN search 和RNNenc
  • 实验任务:从英语(源语言)到法语(目标语言)的翻译
  • 数据集:WMT‘14 数据集
  • 对比实验:分别取最大长度30和最大长度50的句子长度进行实验
  • 实验评估标准:Bleu

Bleu:一种文本评估算法,用来评估机器翻译跟专业人工翻译之间的对应关系

核心思想:机器翻译越接近人工翻译,质量越好

经过bleu算法得出的分数可以作为机器翻译质量的其中一个指标
机器翻译_第28张图片
接下来是对比实验的结果:RNNsearch模型在长句子上表现优异
机器翻译_第29张图片
机器翻译_第30张图片
对齐模型的分析:显示了注意力机制的权重矩阵,白色越相关,注意力机制传递信息的优越
机器翻译_第31张图片

7.讨论和总结

  • 注意力机制能够提升多少性能?
    Luong等人证明使用不同注意力机制计算会导致不同的结果

  • 双向循环神经网络能够提升多少性能?
    Luong等人证明使用单向lstm和使用计算注意力分数具有同样的效果

  • 有其他注意力分数计算方法吗?
    Luong等人证明提出其他的注意力分数计算方法
    相关论文介绍:
    机器翻译_第32张图片

  • 论文的主要创新点:

A :提出一种新的神经机器翻译方法
1.没有将输入编码到固定维度
2.采用注意力机制

B:适用于其他结构化的输入输出问题
C: 一些设计的选择出于实际的考虑,后续做了很多权衡的分析

参考论文:
机器翻译_第33张图片

三 代码实现

四 问题思索

  1. 简述你理解的机器翻译。

  2. 简述你学习到的神经机器翻译过程。

你可能感兴趣的:(机器翻译)