一种基于多维度数据分析和语义的中英语料库校对方法与流程

文档序号:12719596阅读:348来源:国知局

本发明属于统计机器翻译技术领域,尤其涉及一种基于多维度数据分析和语义的中英语料库校对方法。



背景技术:

统计机器翻译主要包括翻译模型和语言模型两大部分,其中翻译模型由双语平行语料库训练而来,语言模型由目标语言单语语料训练而来,统计机器翻译引擎的质量在很大程度上取决于用来训练的双语平行语料库的质量。国外有研究表明,经过校对的高质量的1000万句对的双语语料和未经校对的8000万句对的语料所训练出来的引擎翻译质量相当。由于双语平行语料一般数量庞大,动辄数千万甚至上亿句对,而且来源复杂。

综上所述,现有技术的存在的问题是:双语平行语料数量来源复杂造成校对不正确和不整齐。



技术实现要素:

本发明的目的在于提供一种基于多维度数据分析和语义的中英语料库校对方法,旨在解决双语平行语料数量来源复杂造成校对不正确和不整齐的问题。

本发明是这样实现的,一种基于多维度数据分析和语义的中英语料库校对方法,所述基于多维度数据分析和语义的中英语料库校对方法为:利用规则机器翻译引擎,将语料库中的英语句子翻译成中文;然后此中文和语料库中的中文句子进行匹配;根据匹配率,辅以距离、长度、编号多维度数据分析特征,找出不匹配的句对,留下准确的句对,从而校对出正确的语料库。

进一步,所述基于多维度数据分析和语义的中英语料库校对方法具体包括以下步骤:

检查英文句子中是否存在汉字,通过汉字内码表,自动取出英文句子中存在汉字的句子;

检查英中句子长度是否匹配,计算英文句子的长度和汉语句子的长度的比值,其中英文句子长度就是句子中英文字符的数量,汉语句子长度就是句子中汉字的数量,就是然后设定一个阈值,超出该阈值范围的不匹配,阈值比值范围为:0.4≤阈值比值≤6;

检查句子是否超长,计算句子中英文句子的长度和汉语句子的长度,用于统计机器翻译训练的句子中,汉语句子长度大于500或英语句子长度大于800为超长句子,去掉;

检查汉语句子中的英文是否太多,计算汉语句子中英文字符的数量,用于统计机器翻译训练的句子,训练出的翻译模型为中英短语对,一个汉语句子中含有非汉字和标点的字符数超过40,将非汉字和标点去掉;

检查汉语句子中汉字是否太少,计算汉语句子中汉字的数量,用于统计机器翻译训练的句子,训练出的翻译模型是中英短语对,汉语句子中汉字数量少于2,该句子不合格;

检查圆括号是否匹配,首先检查英文句子的圆括号是否配对,然后检查汉语句子的圆括号是否配对,再检查英文句子和汉语句子双方的圆括号是否配对;计算英文句子中左圆括号的数量,再计算英文句子中右圆括号的数量,看两者数量是否相等;计算汉语句子中左圆括号的数量,再计算汉语句子中右圆括号的数量,看两者数量是否相等;计算英语句子中左圆括号的数量,再计算汉语句子中左圆括号的数量,看两者数量是否相等;计算英语句子中右圆括号的数量,再计算汉语句子中右圆括号的数量,看两者数量是否相等;

检查方括号是否匹配,首先检查英文句子的方括号是否配对,然后检查汉语句子的方括号是否配对,再检查英文句子和汉语句子双方的方括号是否配对;

检查句首项目符号与编号是否匹配,对原文和译文部分句首项目符号与编号不匹配的进行校正;如果原文句首有项目符号与编号,而译文句首没有项目符号与编号,则将原文的句首项目符号与编号删除掉;如果译文句首有项目符号与编号,而原文句首没有项目符号与编号,则将译文的句首项目符号与编号删除掉;

检查数字是否正确,检查语料库中数字是否错误,以及检查原译文数字不相匹配的错误;采用查找关键词“C:D:D||C:D:D||C:^D1&&!E:^D1”的方法,找出问题句对;其中C:代表在汉语句子中查找,D代表任意数字,为多个数字;D:D代表数字,:为数字的模式,^代表句首,D1代表一个数字;||为逻辑或运算,&&为逻辑与运算,!为逻辑非运算;C:^D1&&!E:^D1表示汉语句子以数字开始,同时其对应英文句子不是以数字开始;

检查各种乱码,根据汉字的内码表和提取一个全部由乱码组成的关键字文件检查各种乱码;

语义校对,对语料库进行语义校对是本发明的重点,方法是采用英汉规则机器翻译引擎对句对中的英文句子进行翻译,得到中文译文,然后将该译文和该句对中的中文进行相似度计算,相似度低于某个阈值的认为是不合格句对。

进一步,检查各种乱码中,采用两种方法检查乱码,具体包括:

第一种方法检查乱码为:根据汉字的内码表,找出语料库中含有乱码的句对;

第二种方法检查乱码为:提取一个全部由乱码组成的关键字文件,然后在语料库中查找这些乱码关键字,若出现超过两次,则该句对为乱码句对。

进一步,所述基于多维度数据分析和语义的中英语料库校对方法包括:采用贝叶斯分类方法来将语料库中的双语句对分成两类:准确的双语句对和不准确的双语句对,然后将其中不准确双语句对过滤掉;

假设双语句对t可由n个相互独立的特征V={v1,v2,...,vn}确定,t属于类别ci(i=1,2)的概率为P(ci|t),那么当ci使得P(ci|V)获得最大值时,t就属于ci类;这样,求出P(ci|V)的最大值,确定统计短语t所处的类别;

根据贝叶斯公式:

由于各类别的先验概率是未知的,因此,通常假设各类别的出现概率相同,即P(c1)=P(c2),这样对于公式1取最大值就转换成只需要求P(V|ci)最大,在各特征间不存在依赖关系的情况下有

依据上述公式2获得双语句对所处的类别,从而依此确定是否过滤该双语句对。

进一步,所述特征包括:

双语句对的英文句子中是否存在汉字;

双语句对中英中句子长度是否匹配;

双语句对的句子是否超长;

双语句对的汉语句子中英文是否太多;

双语句对的汉语句子中汉字是否太少;

双语句对的圆括号是否匹配;

双语句对的方括号是否匹配;

双语句对的句首项目符号与编号是否匹配;

双语句对中的数字是否正确;

双语句对中是否存在乱码。

本发明采用多维度数据分析外加语义分析相结合的方法,可保证校对后的语料库既整齐,又正确。本发明采用对语料库进行语义校对的方法,并利用了规则机器翻译引擎的翻译结果。

附图说明

图1是本发明实施例提供的基于多维度数据分析和语义的中英语料库校对方法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例提供的基于多维度数据分析和语义的中英语料库校对方法,所述基于多维度数据分析和语义的中英语料库校对方法为:利用规则机器翻译引擎,将语料库中的英语句子翻译成中文;然后此中文和语料库中的中文句子进行匹配;根据匹配率,辅以距离、长度、编号多维度数据分析特征,找出不匹配的句对,留下准确的句对,从而校对出正确的语料库。

采用贝叶斯分类方法来将语料库中的双语句对分成两类:准确的双语句对和不准确的双语句对,然后将其中不准确双语句对过滤掉;

假设双语句对t可由n个相互独立的特征V={v1,v2,...,vn}确定,t属于类别ci(i=1,2)的概率为P(ci|t),那么当ci使得P(ci|V)获得最大值时,t就属于ci类;这样,求出P(ci|V)的最大值,确定统计短语t所处的类别;

根据贝叶斯公式:

由于各类别的先验概率是未知的,因此,通常假设各类别的出现概率相同,即P(c1)=P(c2),这样对于公式1取最大值就转换成只需要求P(V|ci)最大,在各特征间不存在依赖关系的情况下有

依据上述公式2获得双语句对所处的类别,从而依此确定是否过滤该双语句对。

所述特征包括:

双语句对的英文句子中是否存在汉字;

双语句对中英中句子长度是否匹配;

双语句对的句子是否超长;

双语句对的汉语句子中英文是否太多;

双语句对的汉语句子中汉字是否太少;

双语句对的圆括号是否匹配;

双语句对的方括号是否匹配;

双语句对的句首项目符号与编号是否匹配;

双语句对中的数字是否正确;

双语句对中是否存在乱码。

下面结合附图对本发明的应用原理作进一步描述。

如图1所示,本发明的基于多维度数据分析和语义的中英语料库校对方法,具体包括以下步骤:

S101:检查英文句子中是否存在汉字,对于中英双语句对来说,英语中是不能存在汉字的,所以可以通过汉字内码表,来自动取出英文句子中存在汉字的句子。

S102:检查英中句子长度是否匹配。这可以计算英文句子的长度和汉语句子的长度的比值,然后设定一个合理的阈值,超出阈值范围的认为不匹配,因为一般互译英文句子比汉语句子长,故可以设定该比值小于0.4为不匹配的句子,该比值大于6也为不匹配的句子。

S103:检查句子是否超长,用于统计机器翻译训练的句子,如果太长是不太合适的,所以可以去掉,比如汉语句子长度大于500或英语句子长度大于800的可认为超长。

S104:检查汉语句子中英文是否太多,用于统计机器翻译训练的句子,训练出的翻译模型是中英短语对,如果短语对中的汉语部分存在太多英文就会有副作用,所以需要将这些句子去掉,一般认为一个汉语句子中含有非汉字和标点的字符数超过40认为英文太多了。

S105:检查汉语句子中汉字是否太少,用于统计机器翻译训练的句子,训练出的翻译模型是中英短语对,如果句对得汉语句子中汉字太少,该句子就没有什么意义,一般认为汉语句子中汉字数量少于2,该句子就不合格。

S106:检查圆括号是否匹配,首先检查英文句子的圆括号是否配对,然后检查汉语句子的圆括号是否配对,再检查英文句子和汉语句子双方的圆括号是否配对。

S107:检查方括号是否匹配,首先检查英文句子的方括号是否配对,然后检查汉语句子的方括号是否配对,再检查英文句子和汉语句子双方的方括号是否配对。

S108:检查句首项目符号与编号是否匹配,有许多语料来源于微软Word文档,会出现原文和译文部分句首项目符号与编号不匹配的情况,有时候原文有编号,而译文没编号,有时候则反之,有时候原译文编号数字不相等,这些都需要校正过来。

S109:检查数字是否正确。语料库中经常出现“数字:数字”这类型的错误,以及原译文数字不相匹配的错误。

S110:检查各种乱码,有两种方法检查乱码,一是根据汉字的内码表,可以找出语料库中含有乱码的句对,二是提取一个全部由乱码组成的关键字文件,然后在语料库中查找这些乱码关键字,如果出现超过2次,则该句对基本就是乱码句对。

S111:语义校对,采用英汉规则机器翻译引擎对句对中的英文句子进行翻译,得到中文译文,然后将该译文和该句对中的中文进行相似度计算,相似度低于某个阈值的认为是不合格句对。

下面结合具体实施例对本发明的应用原理作进一步描述。

1)、检查英文句子中是否存在汉字。

根据汉字内码表,汉字由双字节组成,共有4种情况为汉字,1、第一个字节内码范围为[0x81,0xa0]并且第二个字节内码范围为[0x40,0xfe]的为汉字;2、第一个字节内码范围为[0xaa,0xaf]并且第二个字节内码范围为[0x40,0xa0]的为汉字;3、第一个字节内码范围为[0xb0,0xf7]并且第二个字节内码范围为[0x40,0xfe]的为汉字;4、第一个字节内码范围为[0xf8,0xfe]并且第二个字节内码范围为[0x40,0xa0]的为汉字。以此就可以判断英文句子中是否存在汉字,并去除不合格的句对,如下所示例子:

汽包里的连续The continuous blowdown device of steam drum could maintain certain salt content of furnace water.

汽包里的连续排污装置能保持炉水的含盐量一定。

2)检查英中句子长度是否匹配。

计算英文句子的长度和汉语句子的长度的比值,小于0.4为或大于6的为不匹配的句子,如下述句子:

??Sudden drops less than limited value of the oil level in oil tank,or the lubricating oil pressure drops to 0.05MPa and cannot stop the falling.

--油箱油位突然下降至下限时。

3)检查句子是否超长。

汉语句子长度大于500或英语句子长度大于800的可认为超长。

4)检查汉语句子中英文是否太多。

一个汉语句子中含有非汉字和标点的字符数超过40认为英文太多了,如下述句子,中文部分全是英文或数字。

Peak withstand of current transformer:KD=(Icn/Ie)*√(tj/t)=2.5X10000/200/1.07=135

电流互感器动稳定:KD=(Icn/Ie)*√(tj/t)=2.5X10000/200/1.07=135

5)检查汉语句子中汉字是否太少。

一般认为汉语句子中汉字数量少于2,该句子就不合格,如,如下述句子中汉字数量为零:

%D8`7I4g0K0Y0j9s'

%D8`7I4g0K0Y0j9s'。

本发明采用多维度数据分析外加语义分析相结合的方法,可保证校对后的语料库既整齐,又正确。

本发明采用对语料库进行语义校对的方法,并利用了规则机器翻译引擎的翻译结果。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1