讨论了实现机器翻译所需要的语言 资源之后,我们可以在、 这时候我们可以开始正式讨论。
那么主要的机器翻译的一些实验方法 首先是基于转换的方法,所谓 transfer-based.
那么它的理论基础呢是乔姆斯基的形式化转换语法,基于中间语言的方法,这是一种
大家都比较,就是说
崇拜或者说认为是一种最高的理想的一种转换方法,当然也有一些人做过实践
但是他的难度确实是非常高的,待会我们再进行讨论,基于实例的方法,
诶,这个,前面讲这个翻译记忆库的时候,不是已经,
大家已经让大家看到了这个基于实例的这个用途了吗,也就是说一个句子 和你现在要翻译的句子很像,系统输出给你,译员
你作为译员看,啊,挺像的,改改不一样的地方就输出出去。
那么我下面一个问题是,我把这个不像的部分再找另外一个例句 使专门翻译这个不像的部分给出了一种翻译方法
那么把这两个部分合并在一起,是不是就能够输出一个正确的记忆翻译结果呢?
那么,EBMT是这种方法的、 就是说的是这种方法。
基于统计的方法,待会我们再仔细地展开讨论,它是完全 排除了或者说它倾向于排除
传统语言学家的这种扮演的角色而代之以纯数学的处理技巧和方法。
那么,所有的这些方法都会复合在一起进行运用,而不是说
只能使用一种方法来做机器翻译的,那就是所谓的复合方法 Hybrid.
我们首先来看这个机器翻译的三角架构。
一个原文的词汇,然后是它的意义。
这是目标语言的词汇,然后是对源语言的分析。
源语言句子的这个分析得到这个语义,然后再对这个语义进行 合成,最后得到这个目标语言,然后中间是转换过程,这是
集词转换,一些转换方法, rule
base的转换方法,然后是层次越高转换的方法可能会 这个越深,那么不同的学者可能
他们对于这个机器翻译的三角架构的认知啊, 可能是略有不同的,咱们看另外一个版本,那么这是斯坦福的老师
他们在讲自然语言的处理的时候给出来的一个转换三角。
他和刚才那个版本基本上是一样的,但他更强调了 一点,就是他的层次的、 层次观可能更清楚一些。
比如他说词汇的直接的转换、 然后是语法的这个转换,然后最高层是语义的转换。
注意刚才看到的这个1,版本1和版本2,它的
最高的这个三角形的顶点都是所谓的语义和中间语言。
也就是说中间语言,刚才我们说了中间语言是种最、 大家努力的理想或者最高级的方法。
但是能不能实现不太清楚,但是它是确实是高级反应在这个地方,也就是说我们的中间语- 言其实是
在基于语法和语义分析之后得到的一个结果。
那么这个的难度大家可以想象的到,这个是相当高的。
就是要直接从词汇的后面看到它的概念的存在,
这个难度可能是最大的,这个是我们从基于转换的基于方法开始讨论起吧。
这个是基于转换的方法,我们先做 词形的一些分析,词汇的变换,然后
进行这个语法结构的分析语法结构的转换。
然后拼接做完的这个词汇转换的结果。
然后进行相关的规则,比如说形态的一些调整,最后得到输出结果。
也就是说简单的说,就是一个分析、 转换、 生成的一个连续步骤。
对于句子要生成源语言的句法树, 对于这个规则要进行顺序的调整。
词汇变换之后要进行和刚才句法结果进行合并,
然后按照语言学的规则进行形态的调整,最后得到
输出结果,需要的资源呢,语言学家在基于转换的机器翻译中间
扮演的最重要的角色,那么源语言的分析器是必要的 翻译词典、
转换规则这么几个部分呢,最后组合在一起。
咱们看一个转换实例吧,这么空空荡荡的说可能不太容易懂。
我昨天买了书,这是一个中文的 源语言的句子,首先做语法分析,我就不给大家画这个树了。
大家自己可以画的出来,首先是主语,然后是谓语,然后是宾语,然后是
这个时间状语,转换变成S V O
adv 时间状语,那么时间状语也可以前置,变成 adv
S V O 直接进行这个句法的转换,词汇嵌入之后
就变成I buy book yesterday.
加入词形的规则,这个词形"书"这个遇到麻烦了.
前面已经讨论过了,这个书到底是,汉语并不 进行明确的限定,这个句子是正确的,但在英语中必须
进行明确限定句子才能正确,那么你既可以翻译成a book 也可以翻译成books.
最后进行时态的修正,既然说到这个时间状语是
yesterday,那么按照这个规则,如果是过去的时间
就必须使用过去式的话,那么把这个buy转换成bought, 于是整个句子就变换完成了。
那么基于转换的机器翻译方法,其中比较重要的
是两个步骤啦,一个是形态分析,也就是说
我不对这个源语言的句法做出一个很清晰明确的一个判断的话,恐怕
是不能做这个转换的,因为这是转换的前提啊,但是可惜的是目前来说
人类语言的千变万化导致我们语言学家给出来的这种分析工具
并不能百分百的把这个源语言的分析能够做好,大概 英语可能分析正确率高一点,可能目前七八十,
然后汉语可能,公平的说也就是五六十,大概这个范围。
在这么低的一个语言分析的转换可靠性之下,转换 就是一件比较空的事情了,但是转换,
就算是源语言全分析对了,转换就一定能够成功吗? 我们用的这个理论基础体系是乔姆斯基的所谓的上下文无关语法。
就算引入概率那也还是基本上是上下文无关的。
但是我们所有做翻译的同学,你们都知道不可能
这个语言真的是上下文无关,一个词在一个前后的一个
几个词和一个句法结构中间,在一个句子中间、 在一个几个句子中间,在一个段落、
在篇章、 在整个的语域、 语境、 语篇中间可能都会有
这个影响,那么机器翻译呢,其实是比较大的忽略了这一点。
特别是转换的这种机器翻译方法,这个是完全忽略了,而统计机器翻译、 统计机器翻译中间
现在有已经有这个研究,尝试着把语篇的这个 语篇的这些分析
加到了这个统计式机器翻译中间去。
并且得到了,在翻译结果上面得到了一些改善。
还是挺有趣的一些研究,比如说中科院计算所,他们做的研究就挺不错的。
那么继续回到我们的转换这个问题上来,说、 刚才说了
上下文无关语法这个理论的前提可能会有问题。
下面一个,我们刚才说了句法层次转换有 规则,然后词汇转换有规则,前处理规则,后处理规则。
不同的部分有不同的部分的规则库,一个规则库 中间有很多条的规则,那么这些规则互相的冲突之后,
如何调整,到底谁占优? 这就是一个问题,那么下面一个是
这个规则库或者说所有的这种机器翻译,因为北大做机器翻译做的
年头也很多了,讲过很多当年的开发中的一些故事,一开始
基本上经过程序员和语言学家的共同努力之后
搭出了一个机器翻译的一个基础框架,比如说转换语法的一些表达方法,正态表达式的使用,
自己的一些语言提取的一些做法,然后词典的一些使用, 啊,这个是最困难的时间,过去之后,开始进入规则写作状态。
规则一天天增加,机器翻译的质量一天天在改善。
越来越好,高兴的不得了,但是到了一定的阶段之后
就会发现每天都在干无用功,今天你增加两条规则,却发现明天一跑测试程序,
发现这新增加的规则和过去写的规则冲突了,于是要增加第三条规则去解决这个冲突。
当你这个规则和解决冲突的规则
越来越多的时候,解决冲突的规则本身又引发了冲突,还要再写更多的规则,甚至这个规则的- 顺序因为
我们在、 机器在处理的时候肯定是按顺序去进行这个规则的寻找、
查询和匹配的, 那么哪条规则在前哪条规则在后对于翻译质量,今天把这条规则放在前面
这个文本的翻译质量挺好的,明天换篇文章就得把这个规则顺序
规则本身都调整一番,这样子他们有一句俗话,叫做按下葫芦起来瓢
就变成了所有的最后阶段,就是语言学家和程序员
为了这个规则打架占据了全部的时间和精力,于是这个系统就算是开发完成了 不用再开发了,反正做也做不再好了。
这个就是规则的一个系统的一个 基于转换方法的一个最大的一个困境所在。
那么下面一个问题就是说,能不能使用 统计的方法比如说用统计机器翻译来帮助我们去
寻找规则啊,能不能用数理分析的一些方法来找到这些规则呢 看起来有人做过这些研究,但是
具体未来会怎样,我们现在也很难说 这个是基于规则机器翻译方法
它的一些这个问题,其中谈到这个语言生成的时候啊,这个其他
系统的一些知识也并不太好引入,比如说,我们把一些转换
这个放在这了,我们现在引入了一个领域知识,这个领域知识告诉我,比如说是化学领域的 那么这化学领域的这些知识怎么表达成为语言学家或者说
机器翻译这种工具所能够使用的 这些规则,看起来问题还是存在的
中间语言,刚才我们说了中间语言它的最大的一个要点就是 看看右边这个图,所有的语言像
某一种人造的或者某一种天然语言进行转换 然后这种语言呢再转换为目标语言
对比左边这种六个语言对,就是六个语言之间两两互译 和六个语言对之间两两互译的第二种中间语言方法
哪种系统更简洁,可以说是一目了然的 中间语言的魅力在这个地方,那它难度也在这个地方,为什么?
就是因为这个中间语言的构造是一个非常大的 一个困难所在。
我们可以去思考一下这个问题啊,虽然
说中间语言有了之后,设置中间语言之后,无论是分析器还是转换器,它的数量都
得到了很大程度上的一个控制和约束,但是 我们人类语言的这种复杂性能不能够用
用一种语言来表达,比如说中文和 英文之间,我们找到
就算是我们假设英文是我们的中间语言,这个英文能不能完全地把中文
给覆盖住,显然不可能的,同样道理,中文也不能覆盖 英文,这两个之间就没有存在一个完全的子集的关系
那么其他有哪种语言可能是另外一种语言的一种 子集呢,只可能是一些文化传统可能比较弱
然后语言的产生年代可能比较轻,或者比较强的这种就是传承关系的这些语言
那么有可能有这种覆盖关系,但是在人类的普通语言之间 或者说主流、
主要语言之间,有悠久文化历史的语言之间,是不可能有这种覆盖关系的 那么下面,自然语言做不到这一点,那么人工语言能做到吗?
如果我们真能做到这点的话,能创造出这种我们心目中理想的中间语言的话
那可以这么说吧,我们人类知识计算,知识 检索,所有的知识方面的这些问题,或者人工智能的终极
目标已经达到了,这个现在看起来还是一件非常大的一个
困难,做出来这个中间语言很困难,那么想把一个人类的这种语言
做一个分析器一直分析到挖掘到语义这个层级,然后把它分析
并且把分析结果用中间语言来表达,这个难度恐怕也是不小的
同样的,如果要能做出这个分析器来的话
那语言做好是前提,然后分析做好,语言做好,那么我们所有的事情都解决了 事实上做不到。
那么从中间语言 向任何一种人类的自然语言进行生成,看起来目前难度也挺大
所以中间语言是一种美好的理想