自然语言处理(第14课 机器翻译1、2/5)

一、学习目标

1.了解机器翻译相关历史及相关原理

2.学习基于统计的机器翻译

二、机器学习概论

        我们课程接近尾声,所以用机器翻译为例子,可以整合NLP之前讲过的几乎所有知识,用以回顾已学的知识。

1.为什么要搞机器学习

        (1)如果世界用一种语言,就不需要翻译。而世界上的语言多种多样,为了交流,就需要翻译。

        (2)其他:

2.机器学习概念与历史

        机器学习的概念:

        相关历史:

        (1)1930s,“翻译机”,或者叫机器脑专利出现:

        (2)1946年,计算机诞生:

        (3)1949年,W.Weaver提出机器翻译,并给出4种假设性实现方法:

        (注:另外两种是:将语言翻译看成词语的替换、将语言当作是一种逻辑表达)

        (4)1954年,第一个MT系统,俄语->英语。

        (5)1964年,ALPAC报告宣称机器翻译遇到了难以克服的语义障碍。自此MT乃至整个AI领域陷入低迷。

        (6)1976年,复苏:

        (7)1990-1999年,IBM1-5模型相继问世,进入繁荣。

        (8)2014,注意力机制诞生。

        总结而言,整体历史流程如下:

        而从模型的范式的变化过程来看,其历史为:

 3.机器翻译的困难

4.机器翻译的现状

        虽然现在的大模型翻译的结果确实相比之前更好,但问题是:也没提高多少。根据过去70多年的经历,人们总结如下:

5.基本翻译方法

        本课先讲黄色部分,其中统计翻译方法将会细讲。

        (1)直接转换法:

        (2)基于规则的翻译方法:

        一个成功的案例:就是前面讲到过的天气预告翻译系统。

        优缺点:

        (3)基于中间语言的翻译方法:

        实际上,现在的神经网络学习技术也是一种基于中间语言的方法。只是这个中间语言是词向量表,一个数字化的语言。在早期,对中间语言的定义有两种:(1)是一种中间转换格式,(2)一种实际语言,通过网络数据统计出的通用网络语言。

        其优缺点有:

        (4)基于实例的翻译方法:

        优缺点:

        总结:这几种方法之间的关系:(我称之为:机器翻译金字塔)

三、统计机器翻译

        基于统计的机器翻译,其主要核心原理是词语的共现,当我们有一个很大的双语平行语料库时,即使我不懂两个句子的意思,我可以根据所有两个句子中总是同时出现的两个单词,来认为二者是相互翻译的单词。整体流程如下:

        重点是模型的训练原理:首先是根据贝叶斯公式,将模型分为两个部分:

       整体的训练过程和需要解决的问题就是:

        其中问题(1)是比较简单的,只要统计训练数据中的目标语言,就可以得到:

        关键在于问题(2)

1.翻译概率p(S|T)的计算

        比如有如下翻译对:

        可以翻译,除了一对一翻译外,还会有一对多、一对零现象,当然也会有多对一情况,想要计算翻译概率,显然需要考虑词之间的对应关系,于是引入对位模型:

        引入A后,其是一个隐变量,我们的翻译变为:

        上面有说明A的设置,a的下标表示源语言第几个词,a的数量表示目标语言的第几个词。比如如下例子:

        之后,就是对翻译概率的完整定义:

        第一个概率计算由T语言判断源语言的单词数有m个的概率,第二个概率计算从T到S的对位关系A的概率有多少,第三个概率计算源语言是哪些词组成的句子的概率。

        将第二项和第三项可以进行展开,之后便可以根据假设性条件设计出IBM模型(就是历史上讲过的IBM模型):

        由于IBM越往后越难,这里只讲述IBM-1模型:

2.IBM-1

        IBM-1提出了三个假设条件:

        第一个假设认为p(m|T)恒等于一个极小值,即认为源语言的目标词数量是任意的,都有可能。第二个假设则认为对应关系概率也是一个等值,只与目标句子的长度有关。第三个假设认为源语言的一个词,只与其对应的目标语言单词有关。整合之后,我们的翻译概率变为:

        以一个例子说明:

        可以看到十分的简化,只需要对第三个概率进行建模就行。加上我们约束函数,再用拉格朗日法消去约束条件,得到:

        对整体求导=0,得到:

        整理一下,就能得到我们的最优解:

        之后,我们就可以使用EM算法来优化求解最后的p(s|t)。

        最后再补充一下IBM各个模型的区别:(重点记忆1-3)

3.基于短语的翻译模型

        之所以要由词转向短语,显然是因为词有明显的问题:

         例如词义消歧问题中:

        而如果使用短语,就可以使用上下文信息来判断这里的“是”应该翻译为“is”。我们想达到的目标是:

        需要注意的是:这里所说的短语是指一个连续词串,而不是语言学定义的短语。

        基于短语的翻译模型将翻译概率划分为4个部分:

        (1)短语划分模型:

        第一个模型是一个简单的模型:

        (2)短语翻译模型:

        其有两个问题:如何学习短语翻译规则和如何估计短语翻译概率。其中问题一有分两步:双语句对词语对齐、短语翻译规则抽取。问题二后面再讲。

        双语句对词语对齐方法是IBM模型的做法,就是将两个句子中的词语对一一对应起来:

        做出如下表格:

        然后进行第二步:短语翻译规则抽取。其主要目标是找到所有对齐一致性的短语:

        以例子来说明,左图出现了跨段现象,所以不认为是一个词语,而右图这样才是一个短语。遍历的时候课设置最大短语长度是多少(不然,就会使整个句子都划分成一个短语,不利于我们优化)。

        然后是问题二,如何估计短语翻译概率:

        例子如下:

         (3)短语调序模型:

        有两种实现方法:

 

         (4)目标语言模型:

        这一块可以用各种模型,例如IBM-1那样,进行词之间的共现来训练。这里没有细讲。

        (5)总结

        规则越少,说明模型所需的先验知识越少,模型更强,但也可能导致模型最终的效果不好。

4.短语模型的解码算法

        解码讲的就是如何求解出一个输入对应的翻译输出。一个方法是柱搜索:

        例如如下一个例子:

        我们可以将所有的翻译候选放在一起:

        然后从左到右拓展,显然,这个树会很大,我们可以只保留暂时最大概率的前n个点:

        5.总结

        与前面机器翻译金字塔中的各个方法对比,统计学的方法应该是直接翻译法的一种拓展,自此,我们的金字塔发生了变化:

四、总结

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值