算法翻译,是每个单词在不同的语境中有不同的意思,根据计算机语法规则来翻译句子。
ATTEBSC算法最先被成功地应用于从“英语—土尔其语”句对库中自动抽取翻译模板, 则将该算法及其改进应用于从英语—汉语”句对库中自动抽取翻译模板。
多策略分析的复杂长句翻译处理算法在实用机器翻译系统的研究开发中,复杂长句的翻 译处理是其面临的一个主要难题。提出一种多语种通用的基于多策略分析的复杂长句翻译处理算法,该算法通过基于实例模式匹配和规则分析相结合的方法,综合利用源语言句子中多种相关的语言特征,包括语法语义特征、句子长度、标点符号、功能词以及上下文语境条件等对复杂长句进行切分简化处理和译文的复合生成。另一方面,通过对不同语种设计相同的知识表示形式,实现该算法对不同语种翻译系 统的通用性。1
设计考虑针对造成句子复杂的因素,我们在设计处理算法时基于以下几个方面的考虑:
1、综合利用多种相关语言特征知识:在进行句子切分处理时,切分点的选择尽量综合利用诸如:句子长度、标点、功能词、上下文语境条件等多方面的因素,以使切分开的句子各部分在长度上是适中的,表达的结构和意义上是相对完整的,从而保证对句子各个部分翻译处理的效果。
2、多语种通用:对于多语机器翻译系统来说,不同语种的翻译系统都会存在对复杂长句的处理问题。因此,在进行复杂长句切分处理算法的设计时,要考虑到算法对不同语种翻译系统的通用性,通过设计相同的数据结构和算法机制,配套以不同的语种知识库,实现算法的多语种通用性。
3、同时考虑句子的切分简化和译文的复合生成处理:翻译的最终目的是得到目标语言的翻译结果。因此,在进行多策略的切分处理时,同时要考虑到切分的各个部分译文的复合生成问题。另一方面,切分实例模式的建立以生成为导向 ,从而可以得到较好的翻译结果。1
基于多策略分析的复杂长句翻译处理算法由于自然语言的复杂性,基于单一策略的分析处理算法很难处理好对复杂长句的翻译处理。为此,提出了一种基于多策略分析的复杂长句翻译处理算法,该算法通过基于实例模式匹配和规则分析的方法的结合,基于一种多知识一体化的知识表示形式,从而实现对多语种通用的综合利用句子的多种相关语言特征,包括长度、标点、功能词以及上下文语境条件对复杂长句进行切分简化处理和译文的复合生成的翻译处理算法。1
知识表示
在描述的复杂长句的翻译处理中,涉及的知识主要有二种类型:一种类型是多知识一体化表示的规则知识(包括字典知识和归约规则知识);另一种类型是多知识一体化表示的长句切分简化处理的实例模式知识,其表示形式包括如下几个部分:
:主要指明相应模式的类型,包括:并排列型、从属修饰型和插入语型;
:用于说明源文句子中的一些特征条件,对不同的模式类型,源文模式所表达的意义有所不同。对于并排列型,源文模式描述的是长句切分点的特征串,如:“,which”、“,that”等;对于插入语型,源文模式描述的是插入成分的特征串,如:“that is to say”等;对于从属修饰型,源文模式是一个含有特征化结构成分的多种特征知识一体化表示的模式;
:用于说明该模式使用时应该满足的上下文语境条件,可以是对切分点前后部分的长度限制、句式限制等;
:用于说明该模式相应的译文生成模式或译文串,以实现对切分开的各个部分的译文拼合生成顺序。1
算法描述
基于上述知识表示形式,提出的复杂长句的切分简化处理算法为:对于任一个输入的源文句子,逐个扫描每一个成分(词或标点符号),并以该成分的基本形式(如英文单词的原形)检索系统的长句切分简化处理实例模式库,如果该模式库中存在符合条件的模式,则进行相应的处理,具体的算法描述如下
设当前处理的源语言句子SourceSent为:w1w2w3 … …wn
(wi可以是一个源语言单词、数字、特殊符号或标点符号等语言成分)
(1)设循环变量i的初始值为:i=1;设当前翻译的句子的起始位置s=1;转(2);
(2)如果i等于n,则把ws+1…wn进行基于规则的分析转换生成相应的译文,返回;否则从SourceSent中读取成分wi,并用这个成分到长句切分简化处理实例模式库进行检索,如果存在符合条件的实例模式,则转(3),否则,i=i+1;并转(2);
(3)如果符合条件的实例模式的类型是排列型,则转(4),否则,如果符合条件的实例模式是插入型模式,则转(5),否则转(6);
(4)把当前的输入句子SourceSent以wi为界进行切分,先对该成分左边的部分w1w2w3…wi-1进行基 于规则的分析转换生成相应的译文,同时置:s=i;i=i;并把从wi+1开始的剩余部分继续转(2)处理并生成相应的译文,最后与前半部分的译文合并形成整个输入句子的译文;
(5)把当前的输入句子SourceSent以wi为界进行插入语成分的提取,并对提取的插入成分wiwi+1…wj进行基于规则的分析转换生成一个独立成分IS(independent structure)和相应的译文。然后,再对输入w1w2w3…wi-1 IS wj +1…wn 进行基于规则的分析转换并生成相应的译文,最后把IS的对应译文替换译文模式中的IS;
(6)把当前的输入句子SourceSent与符合条件的候选模式的源文模式进行近似匹配分析,最后根据该模式的解模式生成相应的译文。1
句子比较的英汉翻译模板自动提取算法模板的自动抽取算法对机器翻译的研究具有重要意义。从面向英汉翻译的角度出发,对基于句子比较的翻译模板抽取(ATTEBSC)算法及其改进开展了比较研究,结果发现传统ATTEBSC算法在处理大规模语料库时运行效率较低,而且产生的无用模板比例较高,其中一个重要原因是没有事先对双语对齐语料库进行分类处理。通过相似性分析对句子进行聚类处理后再运行ATTEBSC算法,则发现该算法的运行效率和有用模板的比例都获得了较大的提高。2
翻译模板抽取算法的改进详细论述了ATTEBSC算法,不难看出该算法能够从具有相同或相近句子结构的句对中学习出较好的模板,但是从句子结构相去甚远的句对中学习出的模板一般质量较差甚至毫无用处。例如:如果句对由一个主谓宾结构句和一个强调句构成,那么算法就很难学出较好的模板。因此在进行模板抽取前,有必要从大规模语料库中把具有相似结构的句子对进行聚类。为提高ATTEBSC算法的效率,所使用的聚类方法应避免进行复杂的句法、语法分析。通过使用标志结构的比较实现句子对的启发式聚类分析。
标志结构是一组描述句子对特征参数,其中包括:英语句首标志headSign、英语句中标志midSign、英语句尾标志tail-Sign、英语子句个数eSubSentNum、汉语子句个数cSubSent-Num、英语单词个数eWordsNum和汉语单词个数cWordsNum,它们的含义分别解释如下:
(1)headSign参数用于标识英语句子句首特征,汉语句子语法过于复杂,因此忽略相应的汉语译句分析。在具体应用中,该参数对各种英语句型句首的前几个单词编号,如:What(What疑问句):headSign=1;If(假设句):headSign=2;There be:headSign=3等,每种编号表示一种英语句型;所有不属于以上类型的句子规定缺省参数值为0。
(2)midSig参数:大量的英语句型的特征词并不在句子两端,如定语从句中,标志that,which,whose等位于句中,这种词用midSign参数表示,如:util、so、before、as soon as等,编号方法同上。同样,该参数只用于标识英语句子。
(3)tailSign参数用于标识英语句子的句尾特征,即标点符号。例如:“?”表示问句;“。”表示陈述句;“!”表示感叹句等,分别对其编号,编号方法同上。
(4)eSubSentNum参数:将具有不同分句数的两个句子相比较,会产生不好的模板,因此设置该字段表示英语的子句数,子句数通过“,”或“;”判断,因此该参数的值就是句子中逗号或分号的个数加一。
(5)cSubSentNum参数:汉语句子的子句数,该字段赋值方法同上。
(6)eWordsNum参数:用于记录英语句子的单词数。如果两个相比较的句子句长相差太多,则难于抽取到有价值的翻译模板;如果英语句子的句长和对应的汉语译句的句长相差太多,通常也难于抽取到有价值的翻译模板。因此设置该参数用以记录句子长度。
(7)cWordsNum参数:用于记录汉语句子的字数。2
实验结果利用PIII1.4G和128M内存的计算机在Windows2000Server下实现C#编写的ATTEBSC算法。为验证该算法的性能,分别在5000句对和10000句对的两个语料库上运行了所实现的算法,测试结果见ATTEBSC算法的性能测试,其中系统1是对ATTEBSC算法的直接实现,而系统2是对语料库聚类后再实现ATTEB-SC算法。
从ATTEBSC算法的性能测试结果不难看出,系统2的模板抽取效率和准确率比系统1有显著提高。由于使用托管语言编程,因此系统1和系统2的运行速度受到较大影响;另外,由于使用xml文件组织数据,而且使用DOM解析器进行数据分析,因此当语料规模较大时,系统1和系统2运行速度将受到严重影响。正在设法采用SAX解析器提高系统1和系统2的运行速度。2
本词条内容贡献者为:
李嘉骞 - 博士 - 同济大学