|
![]() ![]() ![]() ![]() ![]() |
|
![]() ![]() |
中国在线翻译网>>译典论坛>> |
您是本主题第 3003 个阅读者
==
回贴倒排
|
作者
|
主题: 浅谈机器翻译之瓶颈及目前的研发趋势(二) [] |
![]() (三)问题 自然语言处理最大的难处,在于自然语言本身相当复杂,会不停变迁,常有新词及新的用法加入,而且例外繁多。因此机器翻译遇到的主要问题,可以归纳为两大项:(1)文句中歧义(Ambiguity);(2)语法不合设定(Ill-formedness)现象。自然语言的语法和语意中,不时会出现歧义和不明确之处,需依靠其他的信息加以判断。这些所谓的“其他信息”,有些来自上下文(包括同一个句子或前后的句子),也有些是来自是阅读文字的人之间共有的背景知识。以下将分别说明这两项问题。 3.1. 歧义 所谓歧义,就是一个句子可以有许多不同的可能解释。很多时候我们对歧义的出现浑然不觉。例如“The farmer’s wife sold the cow because she needed money.”这个句子,一般人都可以正确指出此处的“she”代表的是“wife”,但是在句法上,“she”指的也可能是“cow”。虽然人类依照常识能判断出正确的句意,但是对于依照文法规则来理解句子的电脑来说,这是一个含有歧义的句子。 在分析句子时,几乎在每一个层次上(如断词、句法分析、语意分析等),都有可能出现歧义。单字的解释往往会因前后的文字而异。此外,判断句子真义时需要的线索,也可能来自不同的范围。下面这三个句子在单字的字义判断上虽有歧义,但仅依靠句子的其他部分,即可得到进行判断所需的充分信息:
第一句和第二句很明显,句中的动词就是可分动词片语turn on,因此我们可以轻易判断出第二句句末的 on是动词片语turn on的一部分。但是在开头与第二句完全相同的第三句中,同样位置的on却是介系词片语on the table的一部分,与turn完全无关。由此可知,一个字在句子中扮演的角色,必须要参考完整的信息后才能确定。 但有的句子若是抽离上下文单独来看,则无法判定确切的句意。例如下面两个句子:
第一个句子,说的究竟是“他这个人不相信任何人”,还是“任何人都不相信他”?第二个句子,说的究竟是“我用望远镜看到一个男孩在公园里”、“我看到一个男孩带着望远镜在公园里”、“我在公园里用望远镜看到一个男孩”还是“我在公园里看到一个男孩带着望远镜”?若是没有上下文的信息,应该没有人可以确定。 还有些句子,甚至需要用到文章当中没有明言的信息。它们虽然没有形诸文字,但读者仍然可依循背景知识,察知文句应有的涵义。以下面这两个句子为例:
两个句子的句法完全相同,差别仅有“four”和“forty”一字。但是读者却可轻易的了解,第一个句子的“four”是用来修饰“baby”,而第二个句子的“forty”是用来修饰“mother”。读者之所以能下意识地判断出正确答案,凭借的不只是文字的字面意义和语法,还要再加上生活在人类社会中的常识,了解“baby”和“mother”的合理年龄范围。而这种“常识”,正好就是电脑最欠缺,也最难学会的部分。 我们在征求译者时,通常会要求译者对稿件涉及的专业领域拥有一定的素养,为的就是避免在这种“常识”问题上出错。这并不是一本专有名词字典可以解决的。就像上面所举的例子一样,字典并不会列出四岁以下的人不可能是母亲,那是读者早该知道的。机器翻译势必要面对的难题之一,就是如何让电脑得到或学习这些“常识”。我们必须能够用电脑可以理解的方式,把知识呈现出来,包括一般性的常识,和特殊领域的专业知识。 由于在分析过程中,一般是依循断词、语法分析、语意分析等程序进行。但往往在做前一步骤时,就需要后面尚未执行之步骤所产生的信息。例如在断词时,常常也需要使用句法及语意的信息来协助判断。因此在机器翻译的过程中,若采用线性流水式的处理程序(Pipelined Architecture),则前面的模块经常无法作出确定性的(Deterministic)判断,而须尽量多保留候选者,让后面的模块处理。因此,最终判断的时机应尽量延后,待累积足够信息后,再决定要使用的译法。这样才不会在信息尚未完整的时候,就把正确的译法排除到考虑范围之外。 3.2. 不合设定的语法 另外,虽然所有的语言都有语法,但一般我们所谓的语法,其实是一些语言学家,针对目前拥有的语料,所归纳出的一些规则。这些规则不见得完整,往往也有许多例外。再加上语言是一直在变迁的,因此我们无法要求语言的使用者,每字每句都合乎这些人订定的文法,自然也难以避免这些状况发生在我们所要处理的翻译稿件中。这些不合设定语法的例子包括不明的字汇,如拼错的字或新产生的专有名词,和旧有字汇的新用法。例如“Please xerox a copy for me.”这样的句子,即将复印机大厂Xerox的公司名称当作动词“复印”来使用。 这些状况有些来自于单纯的疏失,例如错字、漏字、赘字、转档或传输时产生的乱码,或是不慎混入的标签(tag),也有些是已经获得接受的新字汇和新语法。理想的机器翻译系统,必须能够适当地处理这些不合设定语法的问题。 除了字汇以外,在语句的层次也有可能出现不合文法的情形。例如“Which one?”之类的短句,在句法层次违反了传统的英文文法,因为句中没有动词,不合乎许多文法课本对句子的定义。而“My car drinks gasoline like water.”这样的句子,也违反了一般认为动词“drink”的主词必须是生物的设定。 (四)解决方法 欲解决上述的歧义或语法不合设定问题,在在需要大量且琐碎的知识。这些大量知识的呈现、管理、整合以及获取,将是建立机器翻译系统时的最大挑战。我们不但要将这些包含在语言学之内(intra-linguistic)、跨语言学的(inter-linguistic),以及超乎语言学之外(extra-linguistic)的知识抽取、表达出来,用以解决上述的语法错误和歧义问题,还要维护这个庞大的知识库。 此外,由上文可知,光是依靠专业领域的字典,仍然无法解决各领域的特殊问题。我们真正需要的,是各相关领域的专业知识。因此,我们要建立的知识库必须包罗万象,涵盖各领域、各层面的知识。这些知识不但范围广大,而且杂乱琐碎,要将它建立完善,本身就是一项艰巨的工作。事实上,知识的取得是机器翻译系统开发上最大的瓶颈。也因此,若要解决机器翻译的问题,一定要有成本合宜且全面性的知识获取方式,并兼顾多人合建系统时的一致性(Consistency)问题。 通常知识的获取方式,和我们表现知识的方式有很大的关联。表现知识的方式可以有不同的形式。例如一般的英文常识告诉我们,冠词后面不会出现动词。要表现这项知识,我们可以使用条列式的规则:“若某字是冠词,则下一个字不可能是动词”,也可以使用机率式的描述:“若某字是冠词,则下一个字是动词的机率为零”。这两种不同的知识表达方式,会衍生出以下两种不同的机器翻译策略。当然除此之外,常用的还有储存大量例句的例句式(Example-Based)系统,将不在此详述。有兴趣的读者,可自行查阅等相关文献。 4.1. 规则库方式 规则库系统系由事先以人力建立好的大量规则所构成。进行翻译的时候,电脑即依据这些规则,进行是与否的二择判断,以决定分析、转换和生成步骤中,最后被标明的答案。这种作法也是早期大多数机器翻译系统所采行的作法。 规则库方式的优点在于贴近人类的直觉,因此容易了解,而且可以直接承袭现有的语言学知识和理论,充分运用前人研究的结果。相较于下文中提及的参数化方式,规则库方式耗用的电脑硬件资源也比较少。但是相对的,规则库方式也有它的缺点。规则库系统是一连串是与否的二择,但是自然语言中却处处可以见到违反规则的例外。因此,当遇到复杂且较无规律的状况时,规则库方式往往就需要引用大量繁琐的规则来处理。但规则的总数越多,维护起来就越困难。而且只要出现少部分无法精确区隔的例外情况,就会大幅降低整体的性能。例如若每个规则在进行判断时的正确率可达90%,则经过20次判断之后,错误逐渐累积,其正确率就有可能锐减为12%(0.9的20次方)。因此规则库方式一般说来仅适用于较为常规的状况。 此外,规则库式翻译系统的建立和维护完全须仰赖人力,这也是一项很大的缺点。首先,在现代社会中,大量人力代表昂贵的金钱,而且人的能力有其局限,例如一般人在脑中能同时处理的事项,通常只有5到9项。因此在作修正时,往往无法同时考虑到规则库中所有的规则,和是否适用于所有的语料。可是,若要提升全系统的性能,就必须对系统作整体的考察,否则就很可能会产生所谓的“翘翘板效应”(即某个范围内的性能提升,反而使另一个范围内的性能下降),而无助于提升整个翻译系统的性能。 上述这些缺点,使得规则库翻译系统的建立、维护和扩充十分不便。当系统的复杂度达到一定的水准后,翻译质量往往就很难再行提升。这是因为规则库方式的复杂度,在增加到某个程度后,就很可能会超乎人力所能维护的范围之外。所以其性能常常在达到70%至80%的正确率后即停滞不前,很难更上一层楼。这些难题主要是来自于自然语言的特性,以及规则库方式本身的缺陷。所以要突破这个瓶颈,我们可能得换个方式下手。 ppppp
|