2008-7-712008-7-72002-12-6NLP课题组例会报告统计机器翻译简介冯志伟zwfengde@hotmail.com2008-7-72002-12-6NLP课题组例会报告Vauquois的MT金字塔2008-7-722008-7-72002-12-6NLP课题组例会报告直接机器翻译法2008-7-72002-12-6NLP课题组例会报告转换机器翻译法2008-7-732008-7-72002-12-6NLP课题组例会报告中间语言机器翻译法2008-7-72002-12-6NLP课题组例会报告统计机器翻译的分类基于平行概率语法的统计机器翻译模型基于噪声信道理论的统计机器翻译模型IBM的PeterBrown等人首先提出目前影响昀大几乎成为统计机器翻译的同义词基于昀大熵的统计机器翻译模型源于基于特征的自然语言理解Och提出,获ACL2002昀佳论文2008-7-742008-7-72002-12-6NLP课题组例会报告统计机器翻译的优缺点优点无需人工编写规则,利用语料库直接训练得到机器翻译系统;(但可以使用语言资源)系统开发周期短;鲁棒性好;译文质量好;缺点时空开销大;数据稀疏问题严重;对语料库依赖性强;算法研究不成熟。2008-7-72002-12-6NLP课题组例会报告基于平行概率语法的统计机器翻译模型基本思想两种语言建立一套平行的语法规则,规则一一对应两套规则服从同样的概率分布句法分析的过程决定了生成的过程主要模型Alshawi的基于HeadTransducer的MT模型—中心词转录机SynchronousContext-FreeGrammar(SCFG)--同步上下文无关语法)吴德恺的InverseTransductionGrammar(ITG)--反向转录语法f1幻灯片8f1feng,2007-6-212008-7-752008-7-72002-12-6NLP课题组例会报告HeadTransducerMT(1)HeadTransducer(中心词转录机)是一种DefiniteStateAutomata(有限状态自动机)。一个转录的定义:q,q’,w,v,α,β,cq:输入状态,q’:输出状态;w:输入符号,v:输出符号;α:输入位置,β:输出位置;c:转录的权重(代价)。与一般的有限状态识别器的区别:每一条边上不仅有输入,而且有输出;不是从左至右输入,而是从中心词往两边输入2008-7-72002-12-6NLP课题组例会报告输入符号w和输出符号v2008-7-762008-7-72002-12-6NLP课题组例会报告HeadTransducerMT(2)a:a0:00:0b:ba:a-1:+1b:b-1:+1例子:一个可以将任何中心词{a,b}组成的串及其前后词转录的HeadTransducer2008-7-72002-12-6NLP课题组例会报告HeadTransducerMT(3)HeadTransducerMT(3)want0:00:0QuieroI:to-1:+1ε:ε-1:+1例子:IwanttomakeacollectcallQuierohacerunallamadadecobrar2008-7-772008-7-72002-12-6NLP课题组例会报告HeadTransducerMT(4)HeadTransducerMT(4)make0:00:0hacerwant:collect-1:+1Quiero:decobrar-1:+1例子:IwanttomakeacollectcallQuierohacerunallamadadecobrar2008-7-72002-12-6NLP课题组例会报告HeadTransducerMT(5)collectdecobrarUnallamada:εa:call例子:IwanttomakeacollectcallQuierohacerunallamadadecobrar2008-7-782008-7-72002-12-6NLP课题组例会报告HeadTransducerMT(6)2008-7-72002-12-6NLP课题组例会报告HeadTransducerMT(7)所有的语言知识(词典、规则)都表现为HeadTransducer;HeadTransducer可以嵌套:一个HeadTransducer的边是另一个的识别结果;纯统计的训练方法;对齐的结果是依存树,不使用词性和短语类标记;搜索算法类似于Chart句法分析器。2008-7-792008-7-72002-12-6NLP课题组例会报告基于形式结构(formalstructure)的语法SynchronousContext-FreeGrammar(SCFG,同步上下文无关语法)InversionTransductionGrammar(ITG,反向转录语法)proposedbyWuDekai(1997,1998)2008-7-72002-12-6NLP课题组例会报告SCFG同步上下文无关语法Formulated:TwoCFGsG1,G2andtherecorrespondencesOrP:12(,,)SCFGGG=∝(,,,S)SCFGNTP=(,,)ABαβ→→∝(,,)Xαβ→∝2008-7-7102008-7-72002-12-6NLP课题组例会报告SCFG:anexample2008-7-72002-12-6NLP课题组例会报告SCFG:derivation2008-7-7112008-7-72002-12-6NLP课题组例会报告反向转录语法-ITGSCFGsinwhichthelinksbetweennon-terminalsinaproductionarerestrictedtotwopossibleconfigurations:Inverted(反向)Straight(正向)AnyITGcanbeconvertedintoaSCFGofranktwo.2008-7-72002-12-6NLP课题组例会报告括号式转录语法(BracketingTransductionGrammar–BTG)2008-7-7122008-7-72002-12-6NLP课题组例会报告InversionTransductionGrammar(1)ThegamewillstartonWednesday.比赛星期三开始。.SBNPBVPPPVPThe/egame/比赛will/estart/开始on/eWednesday/星期三S./。2008-7-72002-12-6NLP课题组例会报告InversionTransductionGrammar(2)规则形式:A→[BC]A→BCA→x/y产生源语言和目标语言串分别为:BCBC:词序相同,表示为[BC]BCCB:词序交换,表示为BCx/y:词典,例如:boy/男孩2008-7-7132008-7-72002-12-6NLP课题组例会报告ITG规则S[SJ]S[BNPVP]VPBVPPPDetthe/εNgame/比赛Auxwill/εVstart/开始Prepon/εNWednesday/星期三2008-7-72002-12-6NLP课题组例会报告噪声信道模型2008-7-7142008-7-72002-12-6NLP课题组例会报告噪声信道模型-cont假设目标语言文本T是由一段源语言文本S经过某种奇怪的编码得到的,那么翻译的目标就是要将T还原成S,这也就是就是一个解码的过程。注意,源语言S是噪声信道的输入语言,目标语言T是噪声信道的输出语言,与整个机器翻译系统的源语言和目标语言刚好相反。下面,我们仍然按照习惯把机器翻译中的源语言记为S,目标语言记为T。SP(S)P(T|S)T2008-7-72002-12-6NLP课题组例会报告统计机器翻译基本方程式P.Brown称上式为统计机器翻译基本方程式语言模型:P(T)翻译模型:P(S|T)语言模型反映“T像一个句子”的程度:流利度翻译模型反映“T像S”的程度:忠实度联合使用两个模型效果好于单独使用翻译模型,因为后者不考虑流利度,容易导致一些不好的译文。ˆargmax()(|)TTPTPST=2008-7-7152008-7-72002-12-6NLP课题组例会报告语言模型与翻译模型考虑汉语动词“打”的翻译:有几十种对应的英语词译文:打人,打饭,打鱼,打毛衣,打猎,打草稿,……如果直接采用翻译模型,就需要根据上下文建立复杂的上下文条件概率模型如果采用噪声信道思想,只要建立简单的翻译模型,可以同样达到目标词语选择的效果:翻译模型:不考虑上下文,只考虑单词之间的翻译概率语言模型:根据单词之间的同现选择昀好的译文词2008-7-72002-12-6NLP课题组例会报告统计机器翻译的三个问题三个问题:语言模型P(T)的参数估计翻译模型P(S|T)的参数估计解码(搜索)算法2008-7-7162008-7-72002-12-6NLP课题组例会报告语言模型把一种语言理解成是产生一个句子的随机事件语言模型反映的是一个句子在一种语言中出现的概率语言模型N元语法P(T)=p(w0)*p(w1|w0)*…*p(wn|wn-1…wn-N)链语法:可以处理长距离依存关系PCFG:要使用句法标记2008-7-72002-12-6NLP课题组例会报告引入隐含变量:对齐A(alignment)翻译模型与对齐(|)(,|)APSTPSAT=∑P(S|T)的计算转化为P(S,A|T)的估计对齐:建立源语言句子和目标语言句子的词与词之间的对应关系2008-7-7172008-7-72002-12-6NLP课题组例会报告IBMModel对P(S,A|T)的估计IBMModel1仅考虑词对词的互译概率IBMModel2加入了词的位置变化(词序)的概率IBMModel3加入了一个词翻译成多个词(多义词)的概率IBMModel4IBMModel52008-7-72002-12-6NLP课题组例会报告IBMModel3对于句子中每一个英语单词e,选择一个产出率φ,其概率为n(φ|e);对于所有单词的产出率求和得到m-prime;按照下面的方式构造一个新的英语单词串:删除产出率为0的单词,复制产出率为1的单词,复制两遍产出率为2的单词,依此类推,产出率2的英语单词是多义词,这样,含有多义词的单词串就会被多次复制,形成不同的法语串;在这m-prime个单词的每一个后面,决定是否插入一个空单词NULL,插入和不插入的概率分别为p1和p0;φ0为插入的空单词NULL的个数。设m为目前的总单词数:m-prime+φ0;根据概率表t(f|e),将每一个单词e替换为法语单词f;对于不是由空单词NULL产生的每一个法语单词(它们是单义词),根据概率表d(j|i,l,m),赋予一个位置。这里j是法语单词在法语串中的位置,i是产生当前这个法语单词的对应英语单词在英语句子中的位置,l是英语串的长度,m是法语串的长度;如果任何一个目标语言位置被多重登录(含有一个以上单词),则返回失败;给空单词NULL产生的单词(它们是多义词)赋予一个法语单词的位置。这些位置必须是空位置(没有被占用)。任何一个赋值都被认为是等概率的,概率值为1/φ0。昀后,读出后选的各个法语串,法语串的概率为上述每一步概率的乘积,概率昀大的法语串为翻译结果。2008-7-7182008-7-72002-12-6NLP课题组例会报告翻译模型的参数训练ViterbiTraining(对比:EMTraining)1.给定初始参数;2.用已有的参数求昀好(Viterbi)的对齐;3.用得到的对齐重新计算参数;4.回到第二步,直到收敛为止。IBMModel1:存在全局昀优IBMModel2~5:不存在全局昀优,初始值取上一个模型训练的结果2008-7-72002-12-6NLP课题组例会报告统计机器翻译的解码借鉴语音识别的搜索算法:堆栈搜索参数空间极大,搜索不能总是保证昀优从错误类型看,只有两种:模型错误: