一般来说,机器翻译的技术路线通常可以分为以下几大类。
基于规则的机器翻译(Rule-Based Machine Translation,RBMT)是一种传统的机器翻译方法,其基本思想是将翻译任务分解为一系列规则,然后利用这些规则进行翻译。
RBMT系统通常由3部分组成:分析器、转换器和生成器。分析器用于将源语言句子转换为一种中间语言表示;转换器将中间语言表示转换为目标语言表示;生成器负责将目标语言表示转换为目标语言句子。
RBMT系统的优点在于翻译结果可解释性强、翻译质量稳定等。但其局限性也很明显,主要表现在以下几个方面。
规则的设计需要耗费大量时间和精力,且难以覆盖所有语言现象。
RBMT系统的翻译能力依赖规则的质量,若规则有误或缺失,则翻译质量将会受到影响。
RBMT系统往往不能处理语言的复杂结构和模糊语义,例如省略、指代、歧义等。
基于记忆的机器翻译(Memory-Based Machine Translation,MBMT)是一种基于存储翻译片段的机器翻译方法。MBMT系统的基本思想是利用存储库中的双语翻译片段,将其作为“记忆”来辅助翻译。
MBMT系统通常由两部分组成:存储库和翻译引擎。存储库中保存了大量的双语翻译片段,翻译引擎则利用这些片段来生成新的翻译结果。翻译引擎通常会在句子的翻译过程中,从存储库检索相应的翻译片段,然后对其进行组合和调整,以生成新的翻译结果。
MBMT系统的优点在于其能够快速生成翻译结果,在一些特定领域中的翻译质量较高。但其局限性也很明显,主要表现在以下几个方面。
MBMT系统的翻译能力依赖于存储库中的翻译片段质量和覆盖范围,若片段质量不高或范围不够广泛,翻译结果将受到影响。
MBMT系统难以处理未知词汇和生僻语言现象。
MBMT系统无法对未知语言现象进行有效的处理。
基于实例的机器翻译(Example-Based Machine Translation,EBMT)是一种基于实例的机器翻译方法,其基本思想是通过对翻译例句的学习和存储,快速生成新的翻译结果。
EBMT系统通常由两部分组成:存储库和翻译引擎。存储库保存了大量的双语翻译例句,翻译引擎则利用这些例句来生成新的翻译结果。
EBMT系统的优点是翻译速度快、翻译结果质量稳定等。但其局限性也很明显,主要表现在以下几个方面。
EBMT系统的翻译能力依赖于存储库中的例句质量和覆盖范围,若例句质量不高或范围不够广泛,翻译结果将受到影响。
EBMT系统难以处理未知词汇和生僻语言现象。
EBMT系统无法对未知语言现象进行有效的处理。
近年来,随着深度学习技术的发展,NMT(Neural Machine Translation,神经机器翻译)已逐渐成为主流。NMT能够自动从大量的双语语料中学习到源语言和目标语言之间的映射关系,且能够更好地处理未知词汇和语言现象。因此,EBMT虽然在一些特定领域中仍然有应用,但在整个机器翻译领域中的地位已逐渐下降。
基于统计的机器翻译(Statistical Machine Translation,SMT)的基本思想是,通过对大量的平行语料进行统计分析,构建统计翻译模型,然后利用该模型进行翻译。最初的统计翻译方法是基于噪声信道模型建立起来的。该方法认为,一种语言的句子 T (信道意义上的输入)因经过一个噪声信道而发生变形,并在信道的另一端呈现为另一种语言的句子 S (信道意义上的输出)。实际上,翻译问题就是根据观察到的句子 S ,恢复最有可能的输入句子 T 。
SMT系统通常由两部分组成:训练模型和翻译引擎。训练模型利用大量的平行语料,构建翻译模型,包括语言模型、翻译模型和调序模型等。翻译引擎则利用这些模型,对输入的源语言句子进行翻译,并输出目标语言句子。
SMT的优点在于其能够利用大量的平行语料进行训练,从而生成较为准确的翻译模型。但其局限性也很明显,主要表现在以下几个方面。
SMT系统往往无法处理复杂的语言结构和模糊的语义,如省略、指代、歧义等。
SMT系统在翻译低频词和未知词汇时表现较差。
SMT系统往往高度依赖平行语料的质量和规模。
如今的机器翻译已经从早期基于词的模型过渡到基于短语的翻译模型,并正在融合句法信息等,以进一步提高翻译的精确性。
与基于记忆的方法类似,用人工神经网络的方法也可以实现从源语言句子到目标语言句子的映射。不过NMT是基于深度神经网络的,这为机器翻译提供了一种端到端的解决方案,在研究社区中受到了越来越多的关注,并且近几年已逐渐应用到了产业中。NMT使用基于RNN(循环神经网络)的编码器-解码器框架对整个翻译过程建模。在训练过程中,它会最大化目标语句对给定源语句的似然函数。在测试的时候,给定一个源语句 x ,它会寻找目标语言中的一个语句 y * ,以最大化条件概率 P ( x | y )。由于目标语句的可能数目是指数级的,找到最优的 y * 是NP-hard的。因此通常会使用束搜索(Beam Search)找到合理的 y 。在神经网络机器翻译中,束搜索是一种基于概率的搜索算法,用于在词汇表中查找最佳的翻译结果。具体来说,对于每个输入源语言句子,束搜索通过神经网络计算出其对应的目标语言句子中每个单词的概率分布,然后选择概率最高的若干个单词作为可能的翻译结果。束搜索算法中的“束”或者“梁”即(Beam)是一个宽度为 K 的参数。在每个时间步中,束搜索会将前一步得出的 K 个可能结果,按照其概率大小进行排序,并保留概率最大的 K 个结果,将它们作为新的可能结果输入下一步搜索。这样,随着时间的推进,束搜索会逐渐缩小翻译结果的范围,最终得出 K 个可能的完整语句,作为最终翻译结果。在NMT中,翻译结果往往有多种可能,而且预测会不可避免地会存在误差,而束搜索算法是一个可靠的解决方案,它可以使网络输出尽可能地接近最优解,提高翻译准确性。