发明内容
本发明所要解决的技术问题是提供一种从双语句对获取词对译文的方法及系统,提高译文生成效率,提高译文结果的准确度。
为了解决上述问题,本发明公开了一种从双语句对获取词对译文的方法,包括步骤:
A、接收待处理词条;
B、根据待处理词条从双语句对索引资源库中检索出候选双语句对;
C、从所述检索结果中选择2组双语句对,获取所述2组双语句对中与待处理词条语言类型相同句的最长公共子串;
D、判断所述子串是否与待处理词条一致,如果不一致,则再次从检索结果中选择2组双语句对,重复步骤C;如果一致,则:
E、获取所述2组双语句对中对应句的最长公共子串,该最长公共子串即为所述待处理词条的译文。
进一步,还包括:
F、重复步骤C,直至任意2组双语句对都被处理过;
G、对全部最长公共子串,按照频度由高到低排序,根据预定阈值确定候选子串。进一步,还包括:
获取双语句对资源;
对所述双语句对资源进行预处理;
根据预处理后的双语句对建立索引,形成双语句对索引资源库。
其中,所述建立索引的具体过程为:
采用倒排索引法对所述双语句对建立索引。
进一步,获取所述双语句对对应句的最长公共子串后,还包括:
将所述子串插入译文列表;
对译文进行整理、排序、筛选;
输出所述处理后的译文。
进一步,接收待处理词条后还包括步骤:
对所述待处理词条进行分词处理。
进一步,从双语句对索引资源库中检索出候选双语句对后,还包括步骤:
根据字串包含算法过滤所述候选双语句对,形成更精确的检索结果。
本发明公开了另一种从双语句对获取词对译文的方法,包括:
接收待处理中文词条;
根据待处理中文词条从双语句对索引资源库中检索出候选双语句对;
从所述检索结果中选择2组双语句对,获取所述2组双语句对的中文句的最长公共子串;
判断所述子串是否与待处理词条一致,如果不一致,则再次从检索结果中选择2组双语句对,重复上一步骤;如果一致,则:
获取所述2组双语句对的英文句的最长公共子串,该最长公共子串即为所述待处理中文词条的英文译文。
进一步,接收待处理中文词条后还包括步骤:
对所述待处理中文词条进行分词处理。
本发明还公开了另一种从双语句对获取词对译文的方法,包括:
接收待处理英文词条;
根据待处理英文词条从双语句对索引资源库中检索出候选双语句对;
从所述检索结果中选择2组双语句对,获取所述2组双语句对的英文句的最长公共子串;
判断所述子串是否与待处理词条一致,如果不一致,则再次从检索结果中选择2组双语句对,重复上一步骤;如果一致,则:
获取所述2组双语句对的中文句的最长公共子串,该最长公共子串即为所述待处理英文词条的中文译文。
其中,根据改进的最长公共子串算法获取2组双语句对的英文句的最长公共子串。
进一步,还包括:
获取双语句对资源;
对所述双语句对资源进行预处理;
根据预处理后的双语句对建立索引,形成双语句对索引资源库。
其中,所述建立索引的具体过程为:
采用倒排索引法对所述双语句对建立索引。
本发明还公开了一种从双语句对获取词对译文的系统,包括:
接收单元,用于接收待处理词条;
检索单元,用于根据待处理词条从双语句对索引资源库中检索出候选双语句对;
子串获取单元,用于从检索结果中选择2组双语句对,获取所述2组双语句对中与待处理词条语言类型相同句的最长公共子串;
判断单元,用于判断所述子串是否与待处理词条一致,如果不一致,则再次从检索结果中选择2组双语句对,调用子串获取单元;
第一生成单元,用于获取所述2组双语句对中对应句的最长公共子串,该最长公共子串即为所述待处理词条的译文。
进一步,还包括索引生成单元,所述索引生成单元包括:
获取单元,用于获取双语句对资源;
处理单元,用于对双语句对资源进行预处理;
第二生成单元,用于根据预处理后的双语句对建立索引,形成双语句对索引资源库。
进一步,还包括:
分词处理单元,用于对待处理词条进行分词处理。
进一步,还包括:
过滤单元,用于根据字串包含算法过滤所述候选双语句对,形成更精确的检索结果。
进一步,还包括:
译文处理单元,用于对译文进行整理、排序、筛选;
译文输出单元,用于输出处理后的译文。
进一步,还包括:
第二判断单元,用于判断检索结果中的任意2组双语句对是否都被处理完毕,如还有未处理完毕的双语句对,则再次调用子串获取单元、判断单元、第一生成单元;
译文生成单元,用于对所述获取的全部最长公共子串,按照频度由高到低排序,根据预定阈值确定候选子串,输出所述候选子串为词对译文。与现有技术相比,本发明具有以下优点:
本发明利用索引的方式减少了数据处理的工作量,不需要对全部双语句子进行数遍处理,对于每个待处理词条,通过检索技术,仅仅处理少量与待处理词条相关的双语句子即可获得相应译文,提高了获取译文的效率;并且,由于仅仅考察局部信息,避免了传统统计词对齐方法中考察全局信息而受到较多的干扰,因此,本方法获得的译文更为精准。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、以及包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明中所述词对/词条可以是一个词组,也可以是多个词组,还可以是一个单词或一个短语。
本发明可以适用于各种双语转换的情景,如中英转换、中韩转换、德英转换、德法转换......,为了便于理解,本发明中以中英转换为例进行说明,可以理解,其并不构成对本发明应用场景的限制,对于其他语种,基于同样的原理一样可以适用。
参照图2,示出了本发明一种从双语句对获取词对译文的方法第一实施例的流程图,包括步骤:
步骤201、接收待处理词条。
所述词条可以是一个词组,也可以是多个词组,还可以是一个单词或一个短语,所述词条可以是中文也可以是英文,当然,也可以是其他语言类别,如日本语、朝鲜语、德语、法语等,都可以基于本发明同样的原理而获取相应的译文。
步骤203、根据待处理词条从索引资源库中检索出候选双语句对。
当待处理词条是一个单词时,可以不需要对所述待处理词条进行处理,直接以所述接收的待处理词条为目标在索引资源库中检索。
当待处理词条为词组或短语时或其他需要处理的情形时,在步骤203之前还进一步包括:
步骤202、对所述待处理词条进行分词处理。
众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。例如,英文句子“I am astudent”,用中文则为“我是一个学生”。计算机可以很简单通过空格知道student是一个单词,但是不能很容易明白“学”、“生”两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词,就是中文分词。例如,我是一个学生,分词的结果是:我是一个学生。
下面介绍一些常用的中文分词方法:
1、基于字符串匹配的分词方法:是指按照一定的策略将待分析的汉字串与一个预置的机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。实际使用的分词系统,都是把机械分词作为一种初分手段,还需通过利用各种其它的语言信息来进一步提高切分的准确率。
2、基于特征扫描或标志切分的分词方法:是指优先在待分析字符串中识别和切分出一些带有明显特征的词,以这些词作为断点,可将原字符串分为较小的串再来进机械分词,从而减少匹配的错误率;或者将分词和词类标注结合起来,利用丰富的词类信息对分词决策提供帮助,并且在标注过程中又反过来对分词结果进行检验、调整,从而提高切分的准确率。
3、基于理解的分词方法:是指通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息。
4、基于统计的分词方法:是指,中文信息中由于字与字相邻共现的频率或概率能够较好的反映成词的可信度,所以可以对语料中相邻共现的各个字的组合的频度进行统计,计算它们的互现信息,以及计算两个汉字X、Y的相邻共现概率。互现信息可以体现汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可认为此字组可能构成了一个词。这种方法只需对语料中的字组频度进行统计,不需要切分词典。
利用索引的目的是减少计算的规模,提高效率。本发明采用倒排索引法,以“相互依赖”为例,分词处理后为“相互依赖”,然后再进行倒排检索。假设“相互”出现的句子有{5,99,101,238,1185,1382,1497},“依赖”出现的句子有{7,11,99,238,1100,1382},通过求并集即可知道“相互”“依赖”共同出现的句子有{99,238,1382}。
进一步,进行初步检索以后,再对所述检索结果进行进一步的处理,如再结合位置信息,通过“相互”与“依赖”出现的前后关系,还可以缩小范围。利用倒排索引能够有效地缩小处理范围,提高效率。
进一步,根据字串包含算法过滤所述候选双语句对,形成更精确的检索结果。比如待处理词条为“相互依赖”,如果中文中的表述为“...相互依存和依赖...”,虽然能够检索出来,但是不满足字串包含算法,必须过滤掉。
步骤204、从所述检索结果中选择2组双语句对,获取所述2组双语句对中与待处理词条语言类型相同句的最长公共子串。
当待处理词条为中文时,则获取双语句对中中文句的最长公共子串,当待处理句对为英文时,则获取双语句对中英文的最长公共子串,即获取与待处理词条语言类型相同句的最长公共子串。
对符合条件的双语句对,选择2组双句对,根据最长公共子串算法(LCS)获取2组双语句对中2组中文句对的公共子串,根据改进的最长公共子串算法(ILCS)获取2组双语句对中2组英文句对的公共子串。LCS是求两个字符串最长公共子串的算法。利用一个矩阵来记录两个字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0。然后求出对角线最长的1序列,其对应的位置就是最长匹配子串的位置。改进的最长公共子串算法将在后面进行详细的介绍。
步骤205、判断所述子串是否与待处理词条一致,如果不一致,则再次重复步骤204;如果一致,则进入步骤206。
当待处理词条为中文时,判断所述2组双语句对中中文句对的最长公共子串是否与待处理词条一致,如果不一致,则重复步骤204,再次选择两组双语句对,获取中文句对的子串,如果一致,则进入步骤206。当待处理词条为英文时,判断所述2组英文句对的最长公共子串是否与待处理词条一致,如果不一致,则重复步骤204,再次选择两组双语句对,获取英文句对的子串,如果一致,则进入步骤206。
步骤206、获取所述2组双语句对的对应句的最长公共子串。
当待处理词条与双语句对中相同类型语言句的最长公共子串一致时,则获取所述2组双语句对对应句的最长公共子串,如双语句对为中英句对,待处理词条为中文时,则获取英文句子的最长公共子串;当双语句对为德法句对,待处理词条为德文时,则获取法文句子的最长公共子串。
当子串与待处理词条一致时,则获取对应2组句子的最长公共子串,中文根据最长公共子串算法获取,英文、德文等不需要分词的句子则根据改进的最长公共子串获取。所述对应2组句子的子串即为待处理词条相应的译文。
本实施例所述技术方案是以索引资源库已经存在为前提的,建立双语句对的索引资源库是本发明的前提条件。下面对本发明建立索引资源库的技术方案进行一个详细描述,参照图3、示出了本发明中索引资源库建立方法的流程图,包括步骤:
步骤301、获取双语句对资源。
获取双语句对资源的方法有很多,如可以从互联网在线获取,也可以通过人工输入,还有其他很多种方法,本发明不对此进行一一限定。
步骤302、对所述双语句对资源进行预处理。
预处理的目的是将文本规范化,去除无用、干扰的信息。预处理的具体方式根据实际需要进行限定,在本发明实施例中,预处理主要包括:中文全半角转换、中文自动分词、英文tokenizing、英文大小写同一处理、编码乱码过滤等。
步骤303、根据预处理后的双语句对建立索引,形成索引资源库。
建立索引有很多种方法,如倒排索引方法、hashing mask方法,本发明实施例优选采用倒排索引方法建立索引,下面通过实例对采用倒排索引法建立索引的过程进行介绍。
假设有两个句子1和2:
句子1的内容为:Tom lives in Guangzhou,I live in Guangzhou too.
句子2的内容为:He once lived in Shanghai.
1)由于倒排索引是基于关键词索引和查询的,首先需要获取这两个句子的关键词,需要进行如下处理措施:
a、先要确定字符串中的所有单词,即分词,分词技术在前面已经进行介绍,为了节约篇幅,在此不再予以详述。
b、句子中的“in”,“once”“too”等词没有什么实际意义,中文中的“的”“是”等字通常也无具体含义,过滤掉所述不代表概念的词。
c、通常希望查询“He”时能把含“he”,“HE”的句子也找出来,对所有单词统一大小写。
d、通常希望查询“live”时能把含“lives”,“lived”的句子也找出来,所以需要把“lives”,“lived”还原成“live”。
e、句子中的标点符号通常不表示某种概念,也可以过滤掉。
经过所述处理后:句子1的所有关键词为:[tom][live][guangzhou][i][live][guangzhou];句子2的所有关键词为:[he][live][shanghai]
2)有了关键词后,开始建立倒排索引。上面的对应关系是:“句子号”对“句子中所有关键词”。倒排索引将所述关系倒过来,变成:“关键词”对“拥有该关键词的所有句子号”。句子1,2经过倒排后变成:
关键词句子号
guangzhou1
he2
i 1
live1,2
shanghai2
tom1
通常仅知道关键词在哪些句子中出现还不够,我们还需要知道关键词在句子中出现次数和出现的位置,通常有两种位置:a)字符位置,即记录该词是句子中第几个字符(优点是关键词亮显时定位快);b)关键词位置,即记录该词是句子中第几个关键词(优点是节约索引空间、词组(phase)查询快),倒排检索中记录的就是这种位置。
加上“出现频率”和“出现位置”信息后,所述索引结构变为:
关键词句子号[出现频率]出现位置
guangzhou1[2]3,6
he2[1]1
i1[1]4
live1[2],2[1]2,5,2
shanghai2[1]3
tom1[1]1
以live这行为例说明所述索引结构:live在句子1中出现了2次,句子2中出现了一次,它的出现位置为“2,5,2”这表示什么呢?结合句子号和出现频率来分析,句子1中出现了2次,那么“2,5”就表示live在句子1中出现的两个位置,句子2中出现了一次,剩下的“2”就表示live是句子2中第2个关键字。
通过以上方案建立索引后,如果需要查找哪些句子中含有live时,只需要获取该关键词对应的句子号1,2即可。
通过建立索引资源库以及结合索引技术,有利于快速检索,提高效率。
在本发明实施例中,改进的最长公共子串算法是针对英文字符串匹配子串的算法,下面描述其算法:
输入:句子s1,s2
输出:最长公共词串c
#01 切词,产生词序列:v1←切词分析(s1),v2←切词分析(s2)
#02 记录词个数:m←length(v1),n←length(v2)
#03 初始化:L[0..m]=0,CL[0..n]=0,total_len←0
#04 for i←1tom
#05 for j←1ton
#06 if v1[i-1]≠v2[j-1]then
#07 L[i,j]=0;CL[i,j]=0;
#08 else
#09 L[i,j]=word_length(v1[i-1])+L[i-1,j-1]
#10 CL[i,j]=1+CL[i-1,j-1]
#11 ifL[i,j]之total_len then
#12 total_len←L[i,j]
#13 len←CL[i,j]
#14 answer←i
#15 fori←0 to len-1
#16 common=common+v1[answer-len+i]+""。
产生与待处理词条对应的译文后,为了得到更好的结果,还可以包括以下步骤:
将所述子串插入译文列表。
对译文进行整理、排序、筛选。
去除抽取译文中的首尾多余标点、空格等符号。对译文进行排序,计算疑问列表中同一译文出现的次数,然后按照次数由高到低对译文进行排序。本发明仅仅认为字符串相同的译文为同一译文。当然,判断标准不应局限于本发明所述的方法,比如认为大小写不敏感的单词即为相同,或者认为所有单词原形相同即可,或者认为某些冠词(如the,a)不影响判别单词相同等,皆适用于本发明。
译文筛选,筛选有多种方法,本发明优选采用以下2种:一是利用“停用词词表”过滤译文,停用词词表可以人为指定,通常为“the”,“of”,“of the”等常见虚词或虚词组合;第二种是根据排序和排序的分值筛选,低于某一值或者某一百分比的部分被舍弃。
输出所述处理后的译文。
参照图4,示出了本发明一种从双语句对获取词对译文的方法第二实施例的流程图,所述实施例中待处理词条为中文,包括步骤:
步骤401、接收待处理中文词条。
所述词条可以是一个词组,也可以是多个词组,还可以是一个单词或一个短语。
步骤403、根据待处理中文词条从索引资源库中检索出候选双语句对。
当待处理词条是一个中文单词时,可以不需要对所述待处理词条进行处理,直接以所述接收的待处理词条为目标在索引资源库中检索。
当待处理词条为词组或短语时或其他需要处理的情形时,在步骤403之前还进一步包括:
步骤402、对所述待处理中文词条进行分词处理。所述分词处理技术在前面已进行了详细描述,为了篇幅考虑,在此不再介绍。
根据待处理中文词条从索引资源库中检索出候选双语句对后,为了提高效率和精确度,还可以进行进一步的处理,因此还可以包括步骤:过滤所述候选双语句对。即要求所述待处理词条必须是双语句对中文句的字串(字串包含算法),如果不满足,则过滤掉。
步骤404、从所述检索结果中选择2组双语句对,获取所述2组双语句对的中文句的最长公共子串,进入步骤405。
步骤405、判断所述子串是否与待处理词条一致,如果不一致,则再次从检索结果中选择2组双语句对,重复步骤404;如果一致,则进入步骤406。
假设选择的2组句对为(c1,e1)和(c2,e2),先判断c1与c2的最长公共子串(根据LCS算法)是否与待处理中文词条一致,如果不一致,则再次选择2组句对,重复步骤404。如果c1与c2的最长公共子串与待处理中文词条一致,则进入步骤406。
步骤406、获取所述2组双语句对的英文句的最长公共子串。
根据改进的最长公共子串算法(iLCS)获取所述符合条件的2组双语句对中的英文句的子串,所述子串即为待处理中文词条的英文译文。
本实施例所述技术方案是以索引资源库已经存在为前提的,建立双语句对的索引资源库是本发明的前提条件。因此,在本发明实施例中,还可以包括建立双语句对索引资源库的步骤,所述详细过程已经在前面描述过,因此不再介绍。
参照图5,示出了本发明一种从双语句对获取词对译文的方法第三实施例的流程图,所述实施例中待处理词条为英文,包括步骤:
步骤501、接收待处理英文词条。
所述词条可以是一个词组,也可以是多个词组,还可以是一个单词或一个短语。
步骤503、根据待处理英文词条从索引资源库中检索出候选双语句对。
当待处理词条是一个英文单词时,可以不需要对所述待处理词条进行处理,直接以所述接收的待处理词条为目标在索引资源库中检索。
当待处理词条为词组或短语时或其他需要处理的情形时,在步骤503之前还进一步包括:
步骤502、对所述待处理英文词条进行分词处理。由于英文单词都是以空格隔开的,因此对英语词组进行分词是很容易实现的。
步骤504、从所述检索结果中选择2组双语句对,获取所述2组双语句对的英文句的最长公共子串,进入步骤505。
根据改进的最长公共子串算法(iLCS)获取所述2组双语句对的英文句的最长公共子串。
步骤505、判断所述子串是否与待处理英文词条一致,如果不一致,则再次从检索结果中选择2组双语句对,重复步骤504;如果一致,则进入步骤506。
假设选择的2组句对为(c1,e1)和(c2,e2),先判断e1与e2的最长公共子串是否与待处理英文词条一致,如果不一致,则再次选择2组句对,重复步骤504。如果e1与e2的最长公共子串与待处理英文词条一致,则进入步骤506。
步骤506、获取所述2组双语句对的中文句的最长公共子串。
根据最长公共子串算法(LCS)获取所述符合条件的2组双语句对中的中文句的子串,所述子串即为待处理英文词条的中文译文。
本实施例所述技术方案是以索引资源库已经存在为前提的,建立双语句对的索引资源库是本发明的前提条件。因此,在本发明实施例中,还可以包括建立双语句对索引资源库的步骤,所述详细过程已经在前面描述过,因此不再介绍。
参照图6,示出了本发明一种从双语句对获取词对译文的方法第四实施例的流程图,其与本发明方法第一实施例的不同之处在于:获取多个子串,并选择频率高的几个子串作为最佳词对译文输出,包括步骤:
步骤601、接收待处理词条。
所述词条可以是一个词组,也可以是多个词组,还可以是一个单词或一个短语,所述词条可以是中文也可以是英文,当然,也可以是其他语言类别,如日本语、朝鲜语、德语、法语等,都可以基于本发明同样的原理而获取相应的译文。
步骤603、根据待处理词条从索引资源库中检索出候选双语句对。
当待处理词条是一个单词时,可以不需要对所述待处理词条进行处理,直接以所述接收的待处理词条为目标在索引资源库中检索。
当待处理词条为词组或短语时或其他需要处理的情形时,在步骤603之前还进一步包括:
步骤602、对所述待处理词条进行分词处理。
步骤604、从所述检索结果中选择2组双语句对,获取所述2组双语句对中与待处理词条语言类型相同句的最长公共子串。
当待处理词条为中文时,则获取双语句对中中文句的最长公共子串,当待处理句对为英文时,则获取双语句对中英文的最长公共子串,即获取与待处理词条语言类型相同句的最长公共子串。
步骤605、判断所述子串是否与待处理词条一致,如果不一致,则再次重复步骤604;如果一致,则进入步骤606。
当待处理词条为中文时,判断所述2组双语句对中中文句对的最长公共子串是否与待处理词条一致,如果不一致,则重复步骤604,再次选择两组双语句对,获取中文句对的子串,如果一致,则进入步骤606。当待处理词条为英文时,判断所述2组英文句对的最长公共子串是否与待处理词条一致,如果不一致,则重复步骤604,再次选择两组双语句对,获取英文句对的子串,如果一致,则进入步骤606。
步骤606、获取所述2组双语句对的对应句的最长公共子串。
当待处理词条与双语句对中相同类型语言句的最长公共子串一致时,则获取所述2组双语句对对应句的最长公共子串,如双语句对为中英句对,待处理词条为中文时,则获取英文句子的最长公共子串;当双语句对为德法句对,待处理词条为德文时,则获取法文句子的最长公共子串。
当子串与待处理词条一致时,则获取对应2组句子的最长公共子串,中文根据最长公共子串算法获取,英文、德文等不需要分词的句子则根据改进的最长公共子串获取。所述对应2组句子的子串即为待处理词条相应的译文。
步骤607、判断检索结果中是否所有任意2组双语句对都被处理过。
如果任意两组双语句对都被处理过,则结束,如果还有没被处理过,则重复步骤604、605、606,直至检索结果中的所有双语句对都处理完毕。假设检索结果中共有N双语句对,可以得知,需要处理N*(N-1)/2次才能处理完毕。
步骤608,确定候选子串,输出所述子串为词对译文。
对于所有产生的最长公共子串,按照频度由高到低排序,并且预设一个阈值,当频度大于或等于所述阈值时,则作为候选子串输出,输出所述子串为词对译文,当频度少于预设阈值时,说明其并不一定是精确的词对译文,则可以进行其他处理,如丢弃不输出。所述预设阈值可以是任意自然数,如2、3......。
本实施例所述技术方案是以索引资源库已经存在为前提的,建立双语句对的索引资源库是本发明的前提条件。建立索引资源库已经在前面进行了详细描述,在此不再进行介绍。
对照图7,示出了本发明一种从双语句对获取词对译文系统第一实施例的结构框图,包括:
接收单元701、用于接收待处理词条。
检索单元702、用于根据待处理词条从索引资源库中检索出候选双语句对。
子串获取单元703、用于从检索结果中选择2组双语句对,获取所述2组双语句对中与待处理词条语言类型相同句的最长公共子串。
判断单元704、用于判断所述子串是否与待处理词条一致,如果不一致,则再次从检索结果中选择2组双语句对,调用子串获取单元。
第一生成单元705、用于获取所述2组双语句对中对应句的最长公共子串。
下面对本系统的工作原理及工作过程进行一个介绍:
接收单元701接收待处理词条,所述词条可以是一个词组,也可以是多个词组,还可以是一个单词或一个短语,所述词条可以是中文也可以是英文,当然,也可以是其他语言类别,如日本语、朝鲜语、德语、法语等。检索单元702根据所述接收单元接收的待处理词条从索引资源库中检索出候选双语句对。子串获取单元703从检索结果中选择2组双语句对,获取所述2组双语句对中与待处理词条语言类型相同句的最长公共子串。当待处理词条为中文时,则获取双语句对中中文句的最长公共子串,当待处理句对为英文时,则获取双语句对中英文的最长公共子串,即获取与待处理词条语言类型相同句的最长公共子串。对符合条件的双语句对,选择2组双句对,根据最长公共子串算法(LCS)获取2组双语句对中2组中文句对的公共子串,根据改进的最长公共子串算法(ILCS)获取2组双语句对中2组英文句对的公共子串。LCS是求两个字符串最长公共子串的算法。利用一个矩阵来记录两个字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0。然后求出对角线最长的1序列,其对应的位置就是最长匹配子串的位置。判断单元704判断所述子串是否与待处理词条一致,如果不一致,则再次从检索结果中选择2组双语句对,调用子串获取单元。重新获取所述2组双语句对中与待处理词条语言类型相同句的最长公共子串。如果判断单元704判断所述子串是与待处理词条一致,则第一生成单元705获取所述2组双语句对中对应句的最长公共子串。
本实施例所述技术方案是以索引资源库已经存在为前提的,建立双语句对的索引资源库是本发明的前提条件。
在本发明一种从双语句对获取词对译文系统的第二实施例中,除了包括接收单元、检索单元、子串获取单元、判断单元、第一生成单元外,还包括第二判断单元,译文生成单元。所述第二判断单元用于判断检索结果中的任意2组双语句对是否都被处理完毕。如还有未处理完毕的双语句对,则再次调用子串获取单元、判断单元、第一生成单元。所述译文生成单元,用于对所有获取的最长公共子串进行选择,当子串频度大于或等于预设阈值时,将所述子串作为词对译文输出,当频度少于预设阈值时,则不输出所述子串为译文。
参照图8,示出了本发明一种从双语句对获取词对译文系统第三实施例的结构框图,在本发明一种从双语句对获取词对译文系统第三实施例中,除了包括接收单元、检索单元、子串获取单元、判断单元、第一生成单元外,还包括索引生成单元,所述索引生成单元包括:
获取单元801、用于获取双语句对资源。
获取双语句对资源的方法有很多,如可以从互联网在线获取,也可以通过人工输入,还有其他很多种方法,本发明不对此进行一一限定。
处理单元802、用于对双语句对资源进行预处理。
预处理的目的是将文本规范化,去除无用、干扰的信息。预处理的具体方式根据实际需要进行限定,在本发明实施例中,预处理主要包括:中文全半角转换、中文自动分词、英文tokenizing、英文大小写同一处理、编码乱码过滤等。
第二生成单元803、用于根据预处理后的双语句对建立索引,形成索引资源库。
建立索引有很多种方法,如倒排索引方法、hashing mask方法,本发明实施例优选采用倒排索引方法建立索引。
在本发明一种从双语句对获取词对译文系统第四实施例中,除了包括接收单元、检索单元、子串获取单元、判断单元、第一生成单元、索引生成单元外,还可以包括分词处理单元,用于对待处理词条进行分词处理。以及过滤单元,用于根据字串包含算法过滤所述候选双语句对,形成更精确的检索结果。和译文处理单元,用于对译文进行整理、排序、筛选。译文输出单元,用于输出处理后的译文。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本发明所提供的一种从双语句对获取词对译文的方法和系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。