首页 时空订制

字体:16+-

因为“黑箱”难题,我和莫妮卡关于机器翻译的研究一个学期不到就碰了壁。

起初一切还很顺利。我们分析了二十世纪的几种商业翻译软件,这些软件的原理大多很简单,连我也能理解。无非是先将一个句子拆解成一个个词组,再根据辞典把这些词组翻成目标语言,然后根据目标语言的句法规则将词组重新组合,就得到了翻译的结果。这种方法对于简单的句子尚且可行,但用它翻译一些习语时,总是免不了要闹笑话。因为目标语言中可能并没有类似的表述。

对此,一些翻译软件开发者想了一些对策,比如说为专有名词、习语和固定的表达方式建立语料库,软件进行翻译时会先检索语料库中是否有匹配的内容。这样的做法的确让翻译的准确度和流畅性都有所提高,但是,词义消歧仍是一个难题。特别是当一个词在源语言和目标语言中并不等价的时候,就会引出很多麻烦来。

一个最常被举到的例子是英语的“sheep”和法语的“mouton”。在英语里,“sheep”指的是绵羊,而法语的“mouton”不仅可以指“绵羊”,也可以指“羊肉”(英语中的mutton),两个词并不等价。为了检验一个翻译软件是否能有效地消除歧义,我会设计一个包含类似“mouton”这样的单词的法语句子,让软件生成英语的译文。那些采用最传统原理的软件几乎只会把“mouton”翻成“sheep”,而并不会考虑语义是否恰当。所以,有开发者设计了一套统计学方法来消除歧义。比较常见的方法是:先制作两种语言的平行语料库,然后进行统计,从而发现“mouton”和草地、牧羊犬或羊毛等词一起出现时,一般要翻译成“sheep”;而与表示吃或烹饪的动词出现在一起时,则要翻译成“mutton”。

之后莫妮卡又分析了一些二十一世纪初的机器翻译软件。有些软件使用了大量的统计学方法,通过隐变量和对数线性模型来实现翻译(这些术语都是莫妮卡告诉我的,我也不确定自己的表述是否准确)。这部分的工作我几乎没有参与。她试图教会我线性代数的基本知识,我也努力了一番,不过最后还是放弃了。有一天,她把伦敦大学的一位讲师请到了会议室,向她请教了一些高维空间中的线性不可分问题。而我能做的,只是站在一边泡红茶罢了。