第十六篇:机器翻译
Posted flying_1314
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十六篇:机器翻译相关的知识,希望对你有一定的参考价值。
目录
介绍
• 机器翻译 (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 = 句子长度
• 成本太高,不可行
Beam Search波束搜索解码
• 不是在每一步都考虑所有可能的单词,而是考虑 k 个最佳单词
• 也就是说,我们跟踪迄今为止产生最佳部分翻译(假设)的前 k 个单词
• k = 波束宽度(通常为 5 到 10)
• k = 1 = 贪婪解码
• k = V = 穷举搜索解码
上图中,波束宽度,k=2
什么时候停止?
• 解码时,我们在生成<end> 令牌时停止
• 但是多个假设可能会在不同的时间步终止他们的句子
• 我们存储已终止的假设,并继续探索尚未终止的假设
• 通常我们还会设置可以生成的最大句子长度(例如 50 个单词)
神经 MT:总结
• 单一端到端模型
‣ 统计 MT 系统有多个子组件
• 更少的特征工程
• 可以产生源句中没有的新细节(幻觉)
注意力机制
• 对于很长的源句子,编码向量不太可能捕获句子中的所有信息
• 这会造成信息瓶颈
注意力
• 对于解码器,在每个时间步都允许它“注意”源句中的单词
带注意力的编码器-解码器
• 编码器隐藏状态:
• 解码器隐藏状态:
• 对于解码器中的每个时间步,关注每个隐藏状态以产生注意力权重:
• 对注意力权重应用 softmax 以获得有效的概率分布:
• 计算编码器隐藏状态的加权和:
• 连接和并预测下一个单词
变体
• 注意力:
‣ 点积:
‣ 双线性:
‣ 添加:
• 可以注入到当前状态 ( ) 或输入词 ( )
注意力:总结
• 通过允许解码器直接访问源句子词来解决信息瓶颈问题
• 提供某种形式的可解释性
‣ 注意力权重可以看作是词对齐
• 大多数最先进的 NMT 系统都使用注意力机制,比如谷歌翻译
评估
机器翻译评估
• BLEU:计算“参考”翻译和生成的翻译之间的 n-gram 重叠
• 通常计算 1 到 4 gram
BP指的是惩罚短输出的“简洁惩罚”,就是翻译的太短,惩罚
最后
• 统计机器翻译
• 神经机器翻译
‣ 现在使用 Transformers 而不是 RNN
• 具有注意力架构的编码器-解码器是一种通用架构,可用于其他任务
‣ 摘要(第 20 课)
‣ 其他生成任务,如对话生成
今天的内容就到这里了,辛苦大家观看!感谢!有问题随时评论哦
以上是关于第十六篇:机器翻译的主要内容,如果未能解决你的问题,请参考以下文章