ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第十六篇:机器翻译

2021-06-19 18:58:20  阅读:409  来源: 互联网

标签:第十六 翻译 解码 机器翻译 MT 解码器 模型


目录

介绍

为什么?

MT很难

大纲

统计机器翻译

早期机器翻译

统计MT

语言 vs 翻译模型

如何学习LM和TM?

翻译模型

对齐

对齐的复杂性

统计 MT:总结

神经机器翻译

介绍

神经机器翻译 

训练神经机器翻译

语言模型训练损失

神经 MT 训练损失 

训练 

测试时解码

曝光偏差

贪心解码

穷举搜索解码

Beam Search波束搜索解码

什么时候停止? 

神经 MT:总结

注意力机制

注意力

带注意力的编码器-解码器 

变体

注意力:总结

评估

机器翻译评估

最后


介绍

• 机器翻译 (MT) 是将文本从一种源语言翻译成另一种目标语言的任务

为什么?

• 消除语言障碍
• 使任何人都可以访问任何语言的信息
• 但翻译是一个经典的“人工智能难”挑战
    ‣ 翻译后难以保留原文的意思和流畅度

MT很难

• 不仅仅是简单的逐字翻译
• 结构变化,例如语法和语义
• 多词翻译、成语
• 性别、案例等的变化
• 缺少信息(例如,确定词)

大纲

• 统计机器翻译
• 神经机器翻译
• 注意力机制
• 评估

 

统计机器翻译

早期机器翻译

• 始于 1950 年代初
• 在冷战的推动下将俄语翻译成英语
• 基于规则的系统
    ‣ 使用双语词典将俄语单词映射为英语单词
• 目标:5 年内每小时翻译 1-2 百万字

统计MT

• 给定法语句子 f,目标是找到最好的英语句子 e

• 使用贝叶法则分解为两个组件

语言 vs 翻译模型

• P(e): 语言模型
     ‣ 学习如何写流利的英文文本

• P(f|e):翻译模型
    ‣ 学习如何将单词和短语从英语翻译成法语

如何学习LM和TM?

• 语言模型:
    ‣ 大型单语语料库中的文本统计
• 翻译模型:
    ‣ 平行语料库中的词共现
‣ 即英法句对

平行语料库

• 多种语言的一种文本
• 人工翻译制作

翻译模型

• 如何从平行文本中学习P(f|e)?
• 我们只有句对; 平行文本中的单词未对齐

对齐

• 想法:将词对齐作为潜在变量引入模型

• 使用期望最大化 (EM) 等算法进行学习(例如 GIZA++)

对齐的复杂性

有些词被丢弃并且没有对齐

一对多对齐

多对一对齐

多对多对齐

统计 MT:总结

• 2010 年代之前 NLP 的一个非常受欢迎的研究领域
• 大量特征工程
• 最先进的系统非常复杂
    ‣ 难维护
    ‣ 新语言对需要大量努力


神经机器翻译

介绍

• 神经机器翻译是一种新的机器翻译方法
• 使用单个神经模型直接从源转换为目标
• 需要平行文本
• 架构:编码器-解码器模型
    ‣ 第一个 RNN 对源语句进行编码
    ‣ 第二个 RNN 解码目标句子

这个向量对整个源语句进行编码; 它用作解码器 RNN 的初始状态

神经机器翻译 

• 解码器 RNN 可以解释为条件语言模型
    ‣ 语言模型:根据目标句子 y 中的前一个词预测下一个词
    ‣ 条件Conditional:预测也以源句 x 为条件

训练神经机器翻译

 • 需要并行语料库,就像统计 MT 一样
• 训练下一个词预测,就像语言模型一样!

语言模型训练损失

L1 指的是‘cow’的负对数概率,其余的类同

神经 MT 训练损失 

训练 

• 在训练期间,我们有目标句子
• 因此,我们可以从目标句子中输入正确的单词,一次一个步骤

测试时解码

• 但是在测试时,我们没有目标句子(这就是我们要预测的!)
• argmax:每一步取概率最高的词

曝光偏差

• 描述训练和测试之间的差异
• 训练:在每一步中始终拥有真实的标记
• 测试:在每一步使用自己的预测
• 结果:模型无法从自身错误中恢复

贪心解码

• argmax 解码也称为贪婪解码
• 问题:不保证最佳概率 P(y | x)

穷举搜索解码

• 为了找到最优 P(y|x) ,我们需要在每一步都考虑每个词来计算所有可能序列的概率
• O(V^{n}); V = 词汇量; n = 句子长度
• 成本太高,不可行

Beam Search波束搜索解码

• 不是在每一步都考虑所有可能的单词,而是考虑 k 个最佳单词
• 也就是说,我们跟踪迄今为止产生最佳部分翻译(假设)的前 k 个单词

• k = 波束宽度(通常为 5 到 10)
• k = 1 = 贪婪解码
• k = V = 穷举搜索解码

上图中,波束宽度,k=2

什么时候停止? 

• 解码时,我们在生成<end> 令牌时停止
• 但是多个假设可能会在不同的时间步终止他们的句子
• 我们存储已终止的假设,并继续探索尚未终止的假设
• 通常我们还会设置可以生成的最大句子长度(例如 50 个单词)

神经 MT:总结

• 单一端到端模型
    ‣ 统计 MT 系统有多个子组件
• 更少的特征工程
• 可以产生源句中没有的新细节(幻觉)


注意力机制

• 对于很长的源句子,编码向量不太可能捕获句子中的所有信息
• 这会造成信息瓶颈

注意力

• 对于解码器,在每个时间步都允许它“注意”源句中的单词

带注意力的编码器-解码器 

• 编码器隐藏状态:


• 解码器隐藏状态:

• 对于解码器中的每个时间步,关注每个隐藏状态以产生注意力权重:

• 对注意力权重应用 softmax 以获得有效的概率分布:

• 计算编码器隐藏状态的加权和:

• 连接c_{t}s_{t}并预测下一个单词

变体

• 注意力:
    ‣ 点积:


    ‣ 双线性:


    ‣ 添加:


c_{t}可以注入到当前状态 ( s_{t}) 或输入词 ( y_{t})

注意力:总结

• 通过允许解码器直接访问源句子词来解决信息瓶颈问题
• 提供某种形式的可解释性
‣ 注意力权重可以看作是词对齐
• 大多数最先进的 NMT 系统都使用注意力机制,比如谷歌翻译


评估

机器翻译评估

• BLEU:计算“参考”翻译和生成的翻译之间的 n-gram 重叠
• 通常计算 1 到 4 gram

BP指的是惩罚短输出的“简洁惩罚”,就是翻译的太短,惩罚

最后

• 统计机器翻译
• 神经机器翻译
    ‣ 现在使用 Transformers 而不是 RNN
• 具有注意力架构的编码器-解码器是一种通用架构,可用于其他任务
    ‣ 摘要(第 20 课)
    ‣ 其他生成任务,如对话生成

今天的内容就到这里了,辛苦大家观看!感谢!有问题随时评论哦

标签:第十六,翻译,解码,机器翻译,MT,解码器,模型
来源: https://blog.csdn.net/flying_1314/article/details/118056993

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有