机器翻译—统计建模与深度学习方法—3
机器翻译阅读笔记-3
- 第三章 基于词的机器翻译模型
- 1 什么是基于词的机器翻译模型
- 2 构建一个简单的机器翻译系统
- 2.1 如何进行翻译?
- 2.2 基本框架
- 2.4 句子级翻译模型
- 2.5 解码
- 3 基于词的翻译建模
- 3.1 噪声信道模型
- 3.2 统计机器翻译的三个基本问题
- 4 IBM模型1-2
- 5 IBM模型3-5及隐马尔可夫模型
- 5.1 基于产出率的翻译模型
- 5.2 隐马尔可夫模型(HMM)
- 5.3 IBM模型问题
第三章 基于词的机器翻译模型
1 什么是基于词的机器翻译模型
在翻译一个句子时,可以把其中的每个单词翻译成对应的目标语言单词,然后调整这些目标语言单词的顺序,最后得到翻译结果。
过程分为三个步骤:
- 分析:将源语言的句子切分成能够处理的最小单元。简单来说就是分词
- 转换:把每个单词,从源语言单词翻译成目标语言单词
- 生成:整合句子,变成通顺且合语法的句子
2 构建一个简单的机器翻译系统
2.1 如何进行翻译?
人工翻译流程有两个方面:
- 翻译知识的学习:首先列出源语言句子中单词的候选翻译有哪些、
- 运用知识生成译文:运用学习到的翻译知识,得到新句子中每个单词的译文,并处理常见的搭配等问题。
机器翻译流程:
- 给定计算机一个翻译词典,计算机可以把每个翻译结果看作是对目标语言单词的排列组合。
- 设计一种统计模型,给每个翻译结果一个可能性,可能性越高的结果作为最终的翻译结果。
2.2 基本框架
系统包括两个步骤:
- 训练:从双语平行数据中学习翻译模型,记为 P(t|s),其中 s 表示源语言句子,t 表示目标语句子。P(t|s) 表示把 s 翻译为 t 的概率。
- 解码:尽可能搜索更多的翻译结果,然后用训练好的模型对每个翻译结果进行打分,得分最高的作为结果输出。
单词翻译概率:源语言单词和目标语言译文构成正确翻译的可能性
2.4 句子级翻译模型
P(t|s)表示给出源语言句子s的情况下,译文为t的概率。
词对齐描述了平行句对中单词之间的对应关系,之间用虚线连接成为词对齐连接,可以将这些连接构成集合表示,即A = {(1,1),(2,4),(3,5),(4,2)(5,3)}。
则g(s,t)被定义为s句中的单词和t句中的单词的翻译概率的乘积,并且这两个单词之间必须有对齐连接。
因此,词对齐越准确,翻译模型的打分越高。
但上述中没有考虑词序信息的问题,这显然影响我们的翻译质量。为解决这个问题,使用到n-gram语言模型,用来在统计机器翻译中确保流畅的翻译结果。
运用语言模型,将语言模型得到的概率P(t)和g(s,t)相乘,得到新的g(s,t),这样便同时考虑了准确性和流畅度。
2.5 解码
解码:对于新输入的句子,生成最佳译文的过程。
如果是按照对每个单词翻译成若干候选词,翻译结果还会涉及到顺序的调整,如果按照上一节的方法进行搜索,那搜索空间是非常大的。因此需要一个高效的搜索算法。
本节使用一种贪婪的解码算法,将解码分为若干步,每步只翻译一个单词,并且保留当前“最好”的结果,直至所有单词被翻译完。但此方法不能保证搜索到全局最优的结果。
3 基于词的翻译建模
问题:如何处理空翻译?如何对调序问题进行建模?如何用更严密的数学模型描述翻译过程?如何对更加复杂的统计模型进行训练?
针对上述问题,本节关于IBM统计机器翻译模型。
3.1 噪声信道模型
IBM模型的基础是噪声信道模型。
在噪声信道模型中,源语言句子 s 被看作是由目标语言句子 t 经过一个有噪声的信道得到的。若已知 s 和信道,可以通过 P(t|s) 得到 t 的信息,这个求 t 的过程也叫作解码。如下:
再结合贝叶斯准则,机器翻译的目标被重新定义为:给定源语言句子 s,寻找这样的目标语言译文 t,它使得翻译模型 P(s|t) 【表示给定目标句 t 生成源句 s 的概率】和语言模型 P(t) 【目标句 t 出现的可能性】乘积最大,公式如下:
IBM模型由翻译模型P(s|t)和语言模型P(t)组成,这样可以很好的对译文的流畅度进行评价。
3.2 统计机器翻译的三个基本问题
- 建模:如何建立 P(s|t) 和 P(t) 的数学模型。核心。
- 训练:如何获得 P(s|t) 和 P(t) 所需的参数。即从数据中得到模型的
最优参数。 - 解码:如何完成搜索最优解的过程。即完成 argmax。
IBM模型的词对齐有两个特性:
- 一个源语言单词只能对应一个目标语单词,即源 : 目的=1:1或n:1。这样减少建模的复杂度。
- 源语言单词可以翻译为空。对应到t0(空对齐)。
IBM模型将句子翻译的概率转化成为词对齐生成的概率。即
将上式进一步分解,使用链式法则得到如下:
m:源句子s的长度
s1^(j-1)表示前j-1个源语言单词
a1^(j-1)表示前j-1个源语言的词对齐
4 IBM模型1-2
3中把翻译问题定义为对译文和词对齐同时进行生成的问题。其中存在两个问题:
- 如何遍历所有的词对齐【解决:数学或工程技巧】
- 如何计算P(aj | a1^(j-1), s1^(j-1), m, t)复杂概率值。【解决:假设化简】
为解决上述问题,IBM模型1假设:
- P(m|t) ≡ ε。即源句长度的声称该来服从均匀分布
- P(aj | a1^(j-1), s1^(j-1), m, t) ≡ 1/(length+1)。length为译文长度。即每个词对齐概率服从均匀分布
- P(sj | a1^(j-1), s1^(j-1), m, t) ≡ f(sj | taj)【词汇翻译概率】。即源单词sj的生成概率依赖与其对齐的译文单词。
IBM模型2假设:
- P(m|t) ≡ ε。即源句长度的声称该来服从均匀分布
- P(sj | a1^(j-1), s1^(j-1), m, t) ≡ f(sj | taj)【词汇翻译概率】。即源单词sj的生成概率依赖与其对齐的译文单词。
- 词对齐有倾向性。要与源语单词的位置和目标语单词的位置有关。
训练:在给定的数据集上调整参数,使得目标函数的值达到最大或最小。
此时的参数,是该模型在该目标函数下的最优解。
5 IBM模型3-5及隐马尔可夫模型
5.1 基于产出率的翻译模型
由于模型1/2不能对多个源语言单词对齐到同一个目标语单词的情况很好的描述。
基于产出率的翻译模型将译文生成源文的过程分解为:
- 确定每个目标语言单词生成源语言单词的个数。即产出率或繁衍率。
- 决定译文中每个单词生成的源语言单词都是什么。形成一个源语言单词列表。
- 把各组源语言单词列表中的每个单词放到合适的位置。完成译文到源语言句子的生成。
实例如下:
5.2 隐马尔可夫模型(HMM)
本质为一个概率模型,用来描述一个含有隐含参数的马尔可夫过程。即是用来描述一个系统,它隐含状态的转移和可见状态的概率。
隐含状态和可见状态之间存在着输出,隐含状态间存在着转移。
例子:假设有三枚质地不同的硬币 A、B、C,这三个硬币抛出正面的概率分别为 0.3、0.5、0.7。之后开始抛硬币,随机从三个硬币里挑一个,挑到每一个硬币的概率都是 1/3。不停的重复上述过程,会得到一串硬币的正反序列,如:抛硬币 6 次,得到:正正反反正反。
则“正正反反正反”为可见状态链,所用硬币的序列如CBABCA为隐含状态链。隐马尔可夫模型示意图如下:
HMM包含三个问题:
- 估计:给定模型(硬币种类和转移概率),根据可见状态链(抛硬币的结果),计算在该模型下得到这个结果的概率(涉及前后向算法)。
- 参数学习:给定硬币种类(隐含状态数量),根据多个可见状态链(抛硬币
的结果),估计模型的参数(转移概率)。 - 解码问题:即给定模型(硬币种类和转移概率)和可见状态链(抛硬币的结果),计算在可见状态链的情况下,最可能出现的对应的状态序列。
HMM词对齐模型认为,词语之间的对齐概率取决于对齐位置的差异,而不是本身词语所在位置。HMM词对齐模型的数据描述为:
其中HMM的对齐概率为:
5.3 IBM模型问题
- 词对齐及对称化:一个汉语单词对应多个英语单词的翻译情况。
方法一:反向训练,合并源语言单词,再正向训练。反向训练即把英语当做待翻译语言,汉语当做目标语言训练。
方法二:双向对齐后进行词对齐对称化。正向反向同时训练。 - Deficiency:翻译模型会把一部分概率分配给一些根本不存在的源语言字符串。
- 句子长度:IBM模型更倾向于选择长度短的目标语言句子。
这是一种系统偏置,为消除偏置,可以通过在模型中增加一个短句子惩罚引子,在抵消掉模型对短句子的倾向性。
机器翻译—统计建模与深度学习方法—3相关推荐
- 机器翻译:统计建模与深度学习方法
前言 机器翻译:统计建模与深度学习方法 Machine Translation: Statistical Modeling and Deep Learning Methods 推荐一本来自东北大学自然 ...
- 机器翻译中的多语言语言建模与翻译质量提升:从基于统计方法到深度学习方法
作者:禅与计算机程序设计艺术 随着越来越多的语言被翻译成计算机可以理解的语言,机器翻译成为一个重要研究课题.在机器翻译中,语言模型是重要的组成部分.语言模型是一个概率分布,用来描述某个输入序列的可能性 ...
- 简明深度学习方法概述 Deep Learning:Methods and Application
简明深度学习方法概述 Deep Learning:Methods and Application 人工智能 小林子 7个月前 (03-05) 2558℃ 0评论 作者:@神一手golden ...
- Deep Learning简明深度学习方法概述
说明:本文主要是翻译整理Li Deng 和 Dong Yu所著的<Deep Learning:Methods and Application>文章并没有全文翻译,而是一个总结并加入个人理解 ...
- 论文阅读:(2020版)A Survey on Deep Learning for Named Entity Recognition 命名实体识别中的深度学习方法
A Survey on Deep Learning for Named Entity Recognition 命名实体识别中的深度学习方法 目录 A Survey on Deep Learning f ...
- 在鱼眼和全向视图图像的深度学习方法
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:黄浴 https://zhuanlan.zhihu.com/p/88675419 本文仅做学术分 ...
- 温故而知新,6位顶级CV科学家聚首:计算机视觉中的深度学习方法vs传统方法...
来源:AI科技评论 作者:Mr Bear 编辑:青暮 2021 年 10 月 13 日,来自麻省理工学院.加州大学伯克利分校.伊利诺伊大学香槟分校.华盛顿大学.帝国理工学院的六名顶级人工智能科学家.计 ...
- 2023最新车道线综述!近五年文章全面盘点(几何建模/机器学习/深度学习)
点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[车道线检测]技术交流群 后台回复[车道线综述]获取基于检测.分割.分类.曲线拟合等近几 ...
- 指纹识别综述(10): 深度学习方法
指纹识别综述系列 1.导论:2.指纹传感器:3.特征提取:4.匹配:5.分类与检索:6.现场指纹识别: 7.指纹合成: 8.唯一性: 9.指纹系统安全:10.深度学习方法:11.专利. 本文会不定期更 ...
最新文章
- 把路由器啥啥从 啥啥写入 NVRAM 的命令是 (53) 。【两道题】【不知道对不对,哈哈】
- js更改html元素颜色,HTML - 使用JS根据值更改文本的颜色
- java学习与总结:计算机网络
- MyCat学习:使用MySQL搭建主从复制(双主双从模式)
- fastjson字段改名/设置别名
- Nodejs学习事件模块
- 通过人与人的交互,反思软件系统与软件系统之间的集成交互问题
- 老刘在微软Ignite China大会上聊低代码
- mysql with parser_三十分钟成为 Contributor | 提升 TiDB Parser 对 MySQL 8.0 语法的兼容性...
- 一起来玩AZURE SQL(一)AZURE SQL 介绍
- BZOJ4423: [AMPPZ2013]Bytehattan
- python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'解决办法
- 华为eNSP静态路由原理与配置实例详解
- 某天是星期几 + 三目运算符的一些错误操作解释
- 大数据在高校的应用场景_大数据在高校教育信息化的应用
- java可以开发安卓app吗,Java开发者必看
- 【题解】P3387 【模板】缩点
- 封装composer包包
- 探秘 App Clips
- CAD制图软件使用心得(第三期)