第十三章 机器翻译
存在问题
- 词的歧义
- 词序
- 句法歧义
几种常见的翻译模式
- 直接翻译法:词对词的对齐翻译方式。从源语言的表层句子出发,将词或固定词组直接置换成目标语言的对应成分,这种方式的最大缺陷就在于语言和语言之间可能不存在一一对应关系。同时
词的歧义
也是一个问题。这个需要参照上下文才能确定这个词改如何翻译。词序也有问题,句法转换
可以解决这个问题,将其用手工定义的规则转换成一颗树,然后在这棵树上生成目标语言。这里面也存在句法歧义
的问题。 - 语义转换方法:将原文转换为语义表示形式,然后在这个基础上生成目标语言。但通常会导致译文生涩难懂。
- 中间语言转换:中间语言独立于任何语言。这样在开发多语言翻译系统的时候是非常方便的,针对每个语言只需要开发一个分析模块和生成模块。但设计这样的中间语言是一件难度非常大的事情。
文本对齐
可以拿多语言国家政府的官方文件作为平行语料库。
句子对齐河段落对齐
简单地说句子对齐就是将源语言中的一组句子和目标语言中的一组句子进行对应的过程。每组句子可以为空,也可以额外加入对应源语言中不存在的句子或者删除原有的句子,我们称这两组对应的句子为一个句珠(bead)。
如何判定对齐:如果出现有个别词语对齐,则不能说它们是对齐的,但是如果是有任何子句对应出现,就可以判定句子之间的对齐关系。
有可能会出现交叉对应的情况,也就是一组的第一句话和另一组的第二句话有关系。因此有必要区分对齐(alignment)和对应(correspondence)之间的差别。对齐不允许交叉。
基于长度的对齐算法
这个方法的基本思想是,假设源语言和目标语言的句子长度存在比例关系,即原文中过的短句对应于目标语言中的短句,长句对应于长句。
$\arg\max_A P(A|S,T)==\arg\max_A P(A,S,T)$
目标是找出让这个概率值最大的A,其中A为对齐方式,S代表源语言,T代表目标语言。
这就转换成一个动态规划问题了,找出最小耗费函数。
因此我们需要找到每种对齐方式的耗费函数。
加强版的可以增加一些词锚(lexical anchor)概念,即利用一些有固定译法的单词或者短语结构,删除在语料中没有充分对齐的段落。
但是当对齐不同语系的文本的时候,算法的效果并不是很令人满意。
基于信号处理技术的偏移位置对齐算法
大致思想
基于信号处理方法的偏移位置对齐算法没有试图对齐句子,而是在平行文本中利用位置偏移量的概念,即源文本中一定位置的文本和目标语言中一定位置的文本是大致对齐的
Church(1993)的方法
利用同源词信息(e.g.不同语言中的词由于借鉴或者来源于同一种祖先语言而具有的相同特征。因为OCR识别输出文本经常以后段落分割标记、标点符号以及诸如脚注、表等文本信息。
Church首先将源语言和目标语言连接起来,构建一个点阵图。坐标(x,y)
处的点表示连接文本中位置x
与位置y
处的文本匹配,将4-gram
作为匹配的最小单位。
Fung and McKeown(1994)
适用范围
- 无需考虑句子的边界
- 双语文本只是局部对齐,即源语言和目标语言文本之间存在很多没有对齐的段落
- 与具体的语言无关
做法:
- 先导出一个小规模的双语词典,词典提供一些对齐的基点。每个词对应一个信号,用到达向量表示,标记了词的不同出现位置之间的词数。例如一个词出现了4次,位置向量为(1,263,267,519),那么词的到达向量事(262,4,252)。
- 动态时间伸缩(Dynamic Time Warping)。