NLP 学习笔记 04 (Machine Translation)
来源:互联网 发布:淘宝有些东西不能评价 编辑:程序博客网 时间:2024/05/17 09:11
all is based on the open course nlp on coursera.org week 5,week 6 lecture
-------------------------------------------------------------------------------------------------------------------------------
时间匆匆啊,最近都比较忙,nlp这门课我在苦苦跟随,倒不是很难,就是平时有些忙,清明三天又因为一个比赛废了,有空了可能会写一篇推荐系统的东西,贴贴代码什么的~~下面还是做笔记吧
-------------------------------------------------------------------------------------------------------------------------------
①.Week5
相关资料:http://www.cs.columbia.edu/~mcollins/courses/nlp2011/notes/ibm12.pdf
1.Challenge
2.Direct Machine Translation
3.The Noisy Channel Model
4.IBM 1 Model
5.IBM Model 2
我们先介绍一下Model 2中引入的新的元素:
6.EM Training of Models 1 and 2
②:Week 6
ps:这渣排版。。。。。写得我伤心
1.Introduction
这样我们将一个翻译拆分成了数个对应的短语的翻译,那么这样一个短语翻译(上面每个括号内的部分)的概率同样也可以用统计求得到:
当然这不是phrase模型的全部,我们对每一个翻译都有一个评分,我们用一个例子来说明:
这是翻译第一个短语的得分,等式右边的第一个部分叫做“语言模型”的得分,表示翻译后的语句是否是合法的英语,第二个部分叫“短语模型”,如你所见是单单这个短语翻译的得分,第三项叫做“失真模型”表示这个翻译的惩罚值,那个现在为0的地方是被翻译部分移动到现在位置的位移(直白点说就是原句被打乱的程度),如果原句的结构太乱了,会给以一定惩罚值。另一个例子:
为了方便,我们在这里重新定义一下所有的东西,一个“基于短语的翻译模型”包括三个东西:
1.短语模型,也就是上面的t,我们重新 给出一个符号g来描述:
2.一个三元语言模型.这和上面是一样的
3.一个失真模型,有一个distortion parameter:η(是负数)
对于每个短语p,有这样一些东西,分别表示p开始的标号,结束的标号和对应翻译出来的英语短句
除此之外我们还有g(p)表示这个短语的得分
如果一些列的短语联合起来就可以翻译成一个句子,我们称之为一个derivation,一个derivation y有一些列的短语
比如对于这个句子:
可能会有一个y:
一个合法的derivation要满足以下几个条件:
1.每个词只能翻译一次,也就是所有的短语的s(p)和t(p)定义的区间是不能重叠的
2.跨度不能太大,要保证:
一大坨,什么东西呢,其实就是每个短语之间不能相差太远,d使我们设定的常数,比如为4
这样一步是为了在合理的范围内减小搜索的空间,比如上面那个y的例子,第一个和第二个短语之间的距离就是|3+1-7|=3,比选定的d=4小,所以是合法的
这样一个derivation我们同样给它一个得分:
h是以前提到的三元语言模型,由一坨q构成~~~~
2.Decoding Algorithm: Definitions
一个状态的定义:(e1, e2, b, r,α )e1和e2是两个英文单词,表示翻译的最后两个单词b是一个长度为n的二进制序列,如果第i号位置为1,表示该单词已经被翻译了r表示最后一个被翻译的单词的序号α表示到目前为止该翻译的得分eg:表示前三个单词已经被翻译且最后两个词为must 和also,,其得分为-2.5相等函数的定义:如果q和q‘相等则返回true,相等的条件是:next 函数的定义:next(q,p),其中q是一个状态,p是一个翻译的短语,nect函数返回q状态加入p项短语后的状态,,假设为q’,则有:ph(q)函数的定义:返回一系列的翻译短语,并且对于状态q来说是合法的,也就是状态q加入这些短语后每个词只翻译了一次,以及它的失真在规定范围内:Add(Q, q', q, p)函数的定义是:将状态q加入短语p后的状态q‘加入到集合Q中,集合Q是一系列的状态具体的伪代码如下:一句话描述:有该状态存在则更新最优得分,无该状态存在则加入,用bp来记录反向指针beam(Q)函数的定义:选择Q的的一个子集,Q是一个集合,包含一系列的状态首先得到集合中最优的得分:(注:应该是max而不是argmax)然后:搞了半天,Q到底是什么呢?对于一个待翻译的句子,长度为n,我们设定Q0……Qn表示翻译了(0…n)个词的状态集合Decoding alogrithm的过程就是:最后返回Qn中最高得分的状态,然后用bp指针一步步得到翻译出来的句子即可。
- NLP 学习笔记 04 (Machine Translation)
- NLP - Machine Translation
- 【nlp论文阅读】Adversal Neural Machine Translation
- Neural Machine Translation论文阅读笔记
- 无监督神经机器翻译(UNSUPERVISED NEURAL MACHINE TRANSLATION)学习笔记
- NLP 学习笔记 01
- NLP学习笔记
- NLP学习笔记1
- NLP学习笔记01
- NLP学习笔记
- [NLP]CS224n学习笔记一:NLP介绍
- [论文阅读笔记] Massive Exploration of Neural Machine Translation Architectures
- machine translation links
- Interactive Machine Translation
- Adversarial Neural Machine Translation
- RSTP Role Translation State Machine
- Statistical Machine Translation Tutorial Reading
- dual learning for machine translation
- 【Android基础】Activity的启动模式(android:launchMode)
- java读写大全
- 矩阵变换:沿任意轴旋转及其推导
- VMware 修复 Ubuntu 启动不了问题
- Android Phone分析
- NLP 学习笔记 04 (Machine Translation)
- 给指定元素的后面追加内容 原生js
- CBitmap,HBitmap,Bitmap区别及联系
- 第6周-项目1-改错
- 学习日记-泛型
- Google, FaceBook, Amazon 加州求职记
- 查看windows开机时间
- 狮子让一只豹子管理10只狼
- WPF(Binding集合对象数据源)