如果有了对齐语料,同义词挖掘任务,可以认为对齐语料是机器翻译中的原文和译文,目标要把词进行对齐,也就是得到alignment ,然后从中提取出可以作为同义词的短语或者词。
机器翻译的问题定义:e代表英语(长度为l),f代表法语(长度为m),把f翻译为e。其中:
统计机器翻译基本方程式– 翻译模型 P(F|E):表示“译文e 像原文f 的程度”。不考虑上下文,只考虑单词之间的翻译概率。主要建模和参数估计。
– 语言模型P(E):表示“e像一个句子的程度”,根据单词之间的同现选择最好的译文词。主要建模和参数估计。
翻译模型的建模
引入alignment,一个alignment就是一个长度为m的序列,可以将f中的每一个词映射到e中,为了完善,我们会为e额外增加一个序号0,用来表示映射为空。
翻译概率P(F|E)的计算转化为对齐概率P(F,A|E)的估计。 多个词可以映射到一个词,f 的词也可以映射为空无论哪种模型,通用的抽象框架都是一样的。分为两步,先根据e和m得到某个对齐方式a的概率P(a|e,m),然后根据这个a计算对应外语句子f的概率P(f|a,e,m)。
a为alignment以下公式的含义为,在给定译文e,原文长度m的条件下,以某对齐方式得到原文f 的概率。
在Model 1 中,认为所有对齐方式是等可能的,确定了某对齐方式后,将词逐个映射时,彼此相互独立。
IBM model1其中,t 函数的含义是每个f词汇对应所alignment的e词汇的概率。(只与两个词相关,且彼此相互独立)
e根据a,翻译为f 的概率 翻译概率Model1 的参数估计:两个词的翻译概率 t(f|e),实际上是一个翻译概率表,给出了每一个源语言单词翻译成任何一个目标语言单词的概率。且满足归一性的约束条件。也就是源语言中的词一定可以翻译为目标语言的某个词。因此这是一个,有约束的参数估计问题,最优化的目标是使得训练语料库中的所有翻译概率最大。参数估计时,引入拉格朗日乘子,使最优化目标和约束条件放到一个表达式中,变成无约束的极值问题,求导,使导数为0,求得概率。但是求导后,两边都存在未知数无法直接计算。因此看做一个迭代的公式,设定初值,反复迭代,用EM算法计算得到最后的参数值。
–一旦我们得到了一组参数t (f |e),我们就可以计算所有的词语对齐的概率P (F,A|E);
–有了每个词语对齐的概率P (F,A|E),我们就可以计算新的t (f |e)的值,就是所有的出现词语链接(e,f )的词语对齐概率之和,并对e进行归一化。
Model2 中,词语对齐只与源语言长度、目标语言的长度和两个词的位置有关,与其他因素无关。
IBM model2 归一化条件Model3
对翻译概率的建模更复杂,1. 首先根据源语言词语的繁殖概率,确定每个源语言词翻译成多少个目标语言词;2. 根据每个源语言词语的目标语言词数,将每个源语言词复制若干次;3. 将复制后得到的每个源语言词,根据翻译概率,翻译成一个目标语言词;4. 根据调序概率,将翻译得到的目标语言词重新调整顺序,得到目标语言句子。
EM、 Viterbi训练
E步骤需要穷尽所有可能的对齐, 通常这会带来极大的计算量 可以快速收敛实际上,Model1、Model2 存在简化的迭代公式,可以直接计算下一次的参数;Model 3、4、5的翻译模型公式
无法化简,理论上应该进行EM迭代,计算量太大,选择用viterbi 算法计算。
https://blog.csdn.net/dark_scope/article/details/8774000
http://www.hankcs.com/nlp/michael-collins-machine-translation.html
https://mp.weixin.qq.com/s/sREYZGiK2OmuETrPdeJptA
网友评论