一种机器翻译自动评测方法及其***
技术领域
本发明涉及自然语言处理领域,更具体地说,本发明涉及一种机器翻译自动评测方法。
背景技术
机器翻译(Machine Translation,MT)是利用计算机把一种自然语言转变成另一种自然语言的过程,用以完成这一过程的软件叫做机器翻译***。对机器翻译***翻译质量的评测是整个自然语言领域核心和关键的部分。近几年来,在自然语言研究领域中,评测问题越来越受到广泛的重视。机器翻译评测对于机器翻译的研究和发展具有重要意义:机器翻译***的开发者可以通过评测得知***存在的问题而不断改进;***集成者可以根据评测结果来选择性能好的***集成到软件平台之中;用户也可以根据评测报告选择满足自己需求的产品;而对于机器翻译的研究人员来说,评测能够给他们的技术发展方向提供最可靠的依据。
目前,机器翻译评测通常采用人工评测或自动评测。对机器翻译***进行人工评测代价高昂,需要花费大量的人力和时间,而且人工评测具有难以保持一致性的缺点。机器翻译自动评测技术通过使用存储在计算机内的软件对机器翻译***进行自动的评价,具有迅速、反馈及时等优点,并且能够保证评价的一致性,对于机器翻译的研究和应用具有重要的意义。
当前的机器翻译自动评测方法都是基于机器翻译***的输出译文与预先指定的参考译文之间的字符串匹配的,也就是在参考译文中查找在输出译文中出现的字符串。对于匹配到的字符串的处理方式有很多种,基于N-gram共现的方法是目前机器翻译自动评测技术中的主要方法。基于N-gram共现的方法主要有两种:BLEU和NIST。BLEU对于单个句子的评分常常为零,区分度较差。NIST的优点是考虑了信息量,对词的信息粒度具有区分度,缺点是生成的分值只具有相对意义,不能够绝对地评判译文质量的优劣。同时BLEU和NIST限制了每一个匹配子片断的最大长度(最新版本为9)。
发明内容
本发明的目的是提供一种新的机器翻译自动评测方法,该方法使用熵作为机器翻译***输出译文的评测指标,并且该方法能够产生一个具有绝对意义的评测结果。
为了实现上述发明目的,本发明提供的机器翻译自动评测方法,包括如下步骤:
1)在至少一篇参考译文中查找所述输出译文的匹配子片断,所述匹配子片断在所述输出译文中为离散分布的匹配字符串;匹配子片断的长度为li,i=1~n,其中n为所述输出译文中匹配子片断的个数;
2)根据匹配子片断计算熵
其中
是匹配子片段的总长度;所述熵H作为所述输出译文的评价指标。
作为本发明的进一步改进,还包括如下步骤:
3)计算长度惩罚系数
其中,Lcan是所述输出译文的长度,L
ref
是所述至少一篇参考译文的平均长度;
4)计算匹配比例惩罚系数
5)根据熵H、长度惩罚系数LP和匹配比例惩罚系数r计算评测得分segScore=a-H*LP*r,其中a为在1.1~1.5范围内取值的参数,优选取值为1.2;所述评测得分segScore作为所述输出译文的评价指标。
本发明还提供一种机器翻译自动评测***,用于对机器翻译***的输出译文与设定的至少一篇参考译文进行处理,该***包括一计算机,所述计算机包括:
子片断搜索模块,用于在所述至少一篇参考译文内搜索所述输出译文的匹配子片断;
长度计算模块,用于计算子片断搜索模块搜索出的匹配子片断的长度,以及计算所有匹配子片断的总长度;其中,匹配子片断的长度为li,i=1~n,其中n为所述输出译文中匹配子片断的个数;
是匹配子片段的总长度;
熵模块,用于根据匹配子片断计算熵
长度惩罚模块,用于计算长度惩罚系数
其中,Lcan是所述输出译文的长度,L
ref
是所述至少一篇参考译文的平均长度;
匹配比例惩罚模块,用于计算匹配比例惩罚系数
评测得分计算模块,用于根据熵H、长度惩罚系数LP和匹配比例惩罚系数r计算评测得分:segScore=a-H*LP×r,其中a为在1.1~1.5范围内取值,优选取值为1.2。
本发明的机器翻译自动评测方法和***用熵来表征匹配子片断的分布情况,直接采用熵或者采用引入惩罚措施后的一个评分作为评价***输出译文质量的指标。由于熵作为一个统计量本身是事物不确定性的度量,将其用于机器翻译自动评测时,可以反映匹配子片断的分布情况。熵值越低,说明匹配子片断的分布越集中,译文与参考译文的匹配程度就越高,译文质量就越好;熵值越高,说明匹配子片断的分布越分散,译文与参考译文的匹配程度越低,译文质量就越差。所以,用熵作为译文质量的评价指标,可以较好地反映输出译文的质量。本发明还针对熵引入适当的惩罚措施,以避免***输出译文过长或过短,或者匹配比例多少而导致评测不当的问题。进一步的,采用熵或者采用引入惩罚措施后的一个评分作为评价***输出译文质量的指标时,其指标具有绝对意义。最后,本发明在计算熵时,并不限制各个匹配子片断的长度li,克服了现有的基于N-gram共现的方法需要限制匹配子片断长度的缺点,因此其应用更加灵活和广泛。
附图说明
图1是本发明的机器翻译自动评测方法的流程图;
图2是本发明一个实施例中匹配片断和匹配子片断的示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细描述。
对于一个机器翻译自动评测***,通常是用一个带有特定程序的计算机来实现。对于同一篇待翻译文章,由机器翻译***对该文章完成翻译并输出译文,专业翻译人员也对该文章完成翻译作为参考译文。机器翻译***提供的输出译文以及翻译人员提供的参考译文均存储在前述带有程序的计算机内,该计算机的程序完成对机器翻译***的输出译文的评测。在本发明中,机器翻译自动评测***中计算机程序的流程图如图1所示。
类似于大多数基于匹配的机器翻译自动评测方法,例如基于N-gram共现和基于计算调和平均数的方法,本发明的自动评测方法也要首先分析机器翻译***的输出译文相对于参考译文的匹配。如图1所示,在本发明中,首先在步骤10中查找匹配子片断。在本发明中,匹配片断和匹配子片断是指输出译文相对于参考译文匹配到的字符串。在一般情况下,***输出译文和参考译文不是完全相同的,因此这些匹配到的字符串在***输出译文中必然离散分布,中间被没有匹配到的字符串隔开,将这些离散分布的匹配字符串称之为匹配片断。
虽然匹配片断内部的每个词在位置上是前后连接的,但是对于有多个参考译文的情况,匹配片断可能不是作为一个整体匹配到,而是有一部分是在一个参考译文中匹配到,另外一部分是在另一个参考译文中匹配到。将在多参考译文的情况下在单个参考译文中匹配到的字符串称之为匹配子片断,在多个参考译文中匹配到的字符串称之为匹配片断。对于匹配片断中的子片断,优先保留长度最长的子片断。如果两个子片断有交叠部分,则优先保留较长子片断,另一个则被截去交叠部分长度。这样就保证了子片断之间没有交叠部分。
对于匹配片断和匹配子片断的含义在图2的例子中可以理解得更清楚。如图2所示,箭头之上的四行表示***输出译文和四个参考译文分别匹配的情况。图中带黑点的空格表示匹配到的词,而不带黑点的空格表示未匹配到的词。箭头之下的一行表示输出译文和四个参考译文最终的匹配情况。如图2所示,在箭头之下的一行中,由连续三个带①的空格和一个带②的空格组成了一个匹配片断A,该匹配片断A是由多个在四个参考译文中匹配到的字片断(即图2中带黑点的空格)组成的;并且,在该匹配片断A中,最长的子片断a1由连续三个带①的空格组成,它对应着图2中第一行中最左边的连续三个带黑点的空格,因此这三个带①的空格作为一个匹配子片断a1,而匹配片断A剩下一个带②的空格为匹配子片断a2。同样的,在箭头之下的一行中,由连续四个带③的空格和一个带④的空格组成了一个匹配片断B,在该匹配片断B中,最长的子片断b1由连续四个带③的空格组成,它对应着图2中第二行中从右往左数第2~5个连续四个带黑点的空格,因此这四个带③的空格作为一个匹配子片断b1,而匹配片断B剩下一个带④的空格为匹配子片断b2。总之,在图2所示的例子中,输出译文和四个参考译文的匹配包括两个匹配片断A和B,也可以说包括四个匹配子片断a1、a2、b1、和b2。在随后的描述中可知,在本发明中计算熵时采用的是匹配子片断。
在本发明中,对于输出译文相对于参考译文的匹配子片断的搜索是通过计算机的一个子片断搜索模块来实现的。该模块用存储在计算机中的程序来实现,这对于本领域中的技术人员来说是很容易实现的。
图1的步骤11中,本发明使用熵来表征这些匹配子片断的分布情况。设***输出译文相对于参考译文共有n个匹配子片断,每个子片断的长度为li(i=1~n)。则
匹配子片断的总长度L为:
熵H为:
如果***输出译文与参考译文完全相同,那么H=0;如果完全不相同,那么可规定H=+∞。***输出译文质量越高,其对应的H越小。根据熵H可以基本上判断译文的质量。
在本发明中,匹配子片断长度li的计算和所有匹配子片断的总长度L的计算是通过计算机的一个长度计算模块来实现的。而熵H的计算是通过计算机的一个熵模块来实现的。长度计算模块和熵模块用存储在计算机中的程序来实现,这对于本领域中的技术人员来说是很容易实现的。
如果***输出译文的长度过长或者过短,那么这样计算出来的熵也许不能反映出译文的真实质量。因此,作为本发明的进一步改进,在步骤12中引入了长度惩罚措施:
其中,LP为长度惩罚系数,Lcan是***输出译文的长度,L
ref
是参考译文的平均长度。
如果***输出译文匹配得很少,那么也可能得到较低的H,因此在步骤13中对于匹配过少也要进行匹配比例惩罚:
其中,r为匹配比例惩罚系数。
采用长度惩罚措施和匹配比例惩罚措施后,在步骤14中计算译文质量评分,公式如下:
segScore=a-H*LP×r,
其中,segScore是引入惩罚措施后的评分,a是一个经验参数,其取值在1.1~1.5范围内调整,优选取值为a=1.2。引入惩罚措施后,segScore的分值在0~1之间变化,***输出译文质量越高,其对应的segScore越大。
在本发明中,长度惩罚系数LP、匹配比例惩罚系数r以及译文质量评分segScore的计算是分别通过计算机的长度惩罚模块、匹配比例惩罚模块和评测得分计算模块来实现的,这些模块用存储在计算机中的程序来实现,这对于本领域中的技术人员来说是很容易实现的。