一种基于双数组搜索树的机器翻译方法和装置制造方法

文档序号:6487492阅读:112来源:国知局
一种基于双数组搜索树的机器翻译方法和装置制造方法
【专利摘要】本发明提供了一种基于双数组搜索树的机器翻译方法和装置,所述方法包括:依据翻译记忆库构造翻译记忆单元,并依据翻译记忆单元中的源语言句子建立双数组检索树,双数组检索树的每个节点对应一个所述源语言句子中的源语言词语;接收待翻译的初始源语言句子;依据所述初始源语言句子在所述双数组搜索树中查询满足编辑距离的候选源语言句子;从所述翻译记忆单元中获取与所述候选源语言句子对应的候选目标语言句子;按照预设的展示条件将所述候选目标语言句子发送至客户端进行展示。采用本发明的方法和装置,可以实现即能提高检索效率又能节省计算机存储资源的目的。同时,本发明应用于电子商务领域时也能够满足用户在电子商务领域的特殊翻译需求。
【专利说明】一种基于双数组搜索树的机器翻译方法和装置
【技术领域】
[0001]本申请涉及互联网数据处理领域,特别涉及一种基于双数组搜索树的机器翻译方法和装置。
【背景技术】
[0002]机器翻译(machine translation)又称为自动翻译,是利用计算机把一种自然源语言转变为另一种自然目标语言的过程,一般指自然语言之间句子和全文的翻译。机器翻译技术是指将一种语言句子翻译成为另一种语言句子的技术,一般包括基于单词的直接翻译技术,基于统计模型的翻译技术以及基于翻译记忆的翻译技术等。
[0003]其中,基于单词的直接翻译技术一般是将一种语言句子中的单词分别直接翻译为另一种语言的单词,其中会采用一些规则和词典等技术;基于统计模型的翻译技术以词法分析,句法分析,语义分析等自然语言处理技术为基础,通过对双语平行语料建立语言模型和翻译模型等方法,从而根据该模型将一种语言句子翻译为另一种语言句子;基于翻译记忆的翻译技术一般是根据已有的互为翻译的平行语料作为翻译记忆库,通过搜索和匹配技术,将一种语言句子翻译为翻译记忆库中另一种语言句子。
[0004]现有技术中,一般的机器翻译系统在进行机器翻译时,针对用户输入的待翻译成目标语言的源语言句子,由于存储翻译记忆库中的存储数据量很大,并且占用较大的计算机存储资源,因此,在向用户提供目标语言句子的时候,就会因为要从海量数据中进行源语言句子的查询而导致效率较低的现象。
[0005]进一步的,现有技术虽然满足了用户通常的需要,但由于其通用的性质,仍不能满足不同领域、不同目的特定翻译需求。例如,电子商务领域中的商品信息等。
[0006]总之,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能够创新的提出一种基于双数组搜索树的机器翻译方法,以解决现有技术中由于翻译记忆库的存储数量海量导致的翻译效率较为低下且占用计算机存储资源的技术问题,进一步的,还能满足用户在特定领域的翻译需求。

【发明内容】

[0007]本申请所要解决的技术问题是提供一种基于双数组搜索树的机器翻译方法,用以解决现有技术中由于翻译记忆库的存储数量海量导致的翻译效率较为低下且占用计算机存储资源的技术问题,进一步的,还能满足用户在特定领域的翻译需求。
[0008]本申请还提供了一种基于双数组搜索树的机器翻译装置,用以保证上述方法在实际中的实现及应用。
[0009]为了解决上述问题,本申请公开了一种基于双数组搜索树的机器翻译方法,包括:依据翻译记忆库构造翻译记忆单元,所述翻译记忆库包括互为翻译对的源语言句子和目标语言句子,并依据所述翻译记忆单元中的源语言句子建立双数组检索树,所述双数组检索树的每个节点对应一个所述源语言句子中的源语言词语;该方法包括:[0010]接收待翻译的初始源语言句子;
[0011]依据所述初始源语言句子在所述双数组搜索树中查询满足编辑距离的候选源语言句子;
[0012]从所述翻译记忆单元中获取与所述候选源语言句子对应的候选目标语言句子;
[0013]按照预设的展示条件将所述候选目标语言句子发送至客户端进行展示。
[0014]优选的,所述依据翻译记忆库构造翻译记忆单元,具体包括:
[0015]对翻译记忆库的源语言句子按顺序进行分词,得到源语言词语;
[0016]对所述源语言词语按顺序进行编码,得到与源语言词语一一对应的源词语编码;
[0017]对所述目标语言句子进行编码,得到与所述目标语言句子一一对应的目标句子编码;
[0018]将所述源语言词语编码和目标句子编码对应保存为翻译记忆单元中。
[0019]优选的,所述依据翻译记忆单元建立双数组检索树,具体包括:
[0020]按照所述源语言词语的编码顺序,对所述翻译记忆单元中的源语言句子进行排序;所述排序的规则为:首先根据源语言句子的第N个词语编码进行升序排序,在所述第N词语编码相同的情况下,按照第N+1个词语编码进行升序排序,其中,所述N为大于或等于I的自然数;
[0021]将所述源语言句子中的首层词语集按照排序结果分别作为所述双数组检索树的根节点的第一级孩子结点;其中,所述首层词语集即是各个源语言句子的第一个词语的集合;
[0022]参考源语言句子的每个句子中词语出现的顺序,对应为所述第一级孩子节点确定下级所有的第N级孩子结点;其中,N大于或等于2 ;
[0023]在每个源语言句子对应的最后一级孩子节点后设置当前句子的结束标识,以生成双数组检索树。
[0024]优选的,所述依据所述初始源语言句子在所述双数组搜索树中查询满足编辑距离的候选源语言句子,具体包括:
[0025]依据预设的编辑距离确定所述双数组搜索树中符合条件的目标源语言句子的长度集合;
[0026]选择所述长度集合中最小的长度值作为当前长度值,并依据所述当前长度值从所述双数组检索树中确定所述源语言句子对应的目标源语言句子的子集合;
[0027]判断所述长度集合中是否存在未确定子集合的其他长度值,如果是,则按照从小到大的顺序获取次小的长度值作为所述当前长度值,并执行所述依据所述当前长度值从所述双数组检索树中确定所述源语言句子对应的目标源语言句子的子集合的步骤,直至所述长度集合中的所有长度值都确定子集合;
[0028]将所述源语言句子对应的目标语言句子的所有子集合确定为所述候选源语言句子。
[0029]优选的,所述从所述翻译记忆单元中获取与所述候选源语言句子对应的候选目标语言句子,具体包括:
[0030]依据所述候选源语言句子确定与其对应的候选源语言词语编码;
[0031]依据所述候选源语言词语编码确定对应的候选目标语言句子编码;[0032]获取所述候选目标语言句子编码对应的候选目标语言句子。
[0033]优选的,所述将所述候选目标语言句子发送至客户端进行展示,具体包括:
[0034]从所述候选目标语言句子中确定与所述初始源语言句子最匹配的精确目标语言句子;
[0035]将所述精确目标语言句子发送至客户端以向用户进行展示。
[0036]本申请公开了一种基于双数组搜索树的机器翻译装置,包括:
[0037]构造翻译记忆单元模块,用于依据翻译记忆库构造翻译记忆单元,所述翻译记忆库包括互为翻译对的源语言句子和目标语言句子;
[0038]建立双数组检索树模块,用于依据所述翻译记忆单元中的源语言句子建立双数组检索树,所述双数组检索树的每个节点对应一个所述源语言句子中的源语言词语;
[0039]接收源语言句子模块,用于接收待翻译的初始源语言句子;
[0040]查询候选源语言句子模块,用于依据所述初始源语言句子在所述双数组搜索树中查询满足编辑距离的候选源语言句子;
[0041]获取候选目标语言句子模块,用于从所述翻译记忆单元中获取与所述候选源语言句子对应的候选目标语言句子;
[0042]发送展示模块,用于按照预设的展示条件将所述候选目标语言句子发送至客户端进行展示。
[0043]优选的,所述构造翻译记忆单元模块具体包括:
[0044]分词子模块,用于对翻译记忆库的源语言句子按顺序进行分词,得到源语言词语;
[0045]词语编码子模块,用于对所述源语言词语按顺序进行编码,得到与源语言词语一一对应的源词语编码;
[0046]句子编码子模块,用于对所述目标语言句子进行编码,得到与所述目标语言句子 对应的目标句子编码;
[0047]保存子模块,用于将所述源语言词语编码和目标句子编码对应保存为翻译记忆单元中。
[0048]优选的,所述建立双数组检索树模块具体包括:
[0049]排序子模块,用于按照所述源语言词语的编码顺序,对所述翻译记忆单元中的源语言句子进行排序;所述排序的规则为:首先根据源语言句子的第N个词语编码进行升序排序,在所述第N词语编码相同的情况下,按照第N+1个词语编码进行升序排序,其中,所述N为大于或等于I的自然数;
[0050]确定第一级孩子节点子模块,用于将所述源语言句子中的首层词语集按照排序结果分别作为所述双数组检索树的根节点的第一级孩子结点;其中,所述首层词语集即是各个源语言句子的第一个词语的集合;
[0051]确定第N级孩子结点子模块,用于参考源语言句子的每个句子中词语出现的顺序,对应为所述第一级孩子节点确定下级所有的第N级孩子结点;其中,N大于或等于2 ;
[0052]设置结束标识子模块,用于在每个源语言句子对应的最后一级孩子节点后设置当前句子的结束标识,以生成双数组检索树。
[0053]优选的,所述查询候选源语言句子模块具体包括:[0054]确定长度集合子模块,用于依据预设的编辑距离确定所述双数组搜索树中符合条件的目标源语言句子的长度集合;
[0055]确定子集合子模块,用于选择所述长度集合中最小的长度值作为当前长度值,并依据所述当前长度值从所述双数组检索树中确定所述源语言句子对应的目标源语言句子的子集合;
[0056]判断子模块,用于判断所述长度集合中是否存在未确定子集合的其他长度值;
[0057]触发子模块,用于在所述判断子模块的结果为是的情况下,按照从小到大的顺序获取次小的长度值作为所述当前长度值,触发所述判断子模块;
[0058]确定候选源语言句子的子模块,用于将所述源语言句子对应的目标语言句子的所有子集合确定为所述候选源语言句子。
[0059]优选的,所述获取候选目标语言句子模块具体包括:
[0060]确定候选源语言词语编码的子模块,用于依据所述候选源语言句子确定与其对应的候选源语言词语编码;
[0061]确定候选目标语言句子编码的子模块,用于依据所述候选源语言词语编码确定对应的候选目标语言句子编码;
[0062]获取子模块,用于获取所述候选目标语言句子编码对应的候选目标语言句子。
[0063]优选的,所述发送展示模块,具体包括:
[0064]确定精确目标语言句子的子模块,用于从所述候选目标语言句子中确定与所述初始源语言句子最匹配的精确目标语言句子;
[0065]发送子模块,用于将所述精确目标语言句子发送至客户端以向用户进行展示。
[0066]与现有技术相比,本申请包括以下优点:
[0067]在本申请实施例中,由于基于双数组检索树来实现翻译记忆库中源语言句子的存储,所以在检索与初始源语言句子相似的候选源语言句子的时候,可以比现有技术更快的确定候选源语言句子,并且因为双数组检索树在存储时也比数据表更节省空间,从而实现即能提高检索效率又能节省计算机存储资源的目的。
[0068]同时,本申请应用于电子商务领域时也能够满足用户在电子商务领域的特殊翻译需求。
[0069]当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
【专利附图】

【附图说明】
[0070]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0071]图1是本申请的一种基于双数组搜索树的机器翻译方法实施例的流程图;
[0072]图2是本申请方法实施例中步骤101的流程图;
[0073]图3是本申请方法实施例中步骤102的流程图;
[0074]图4为本申请方法实施例中表7所示的翻译记忆单元所对应的双数组检索树的结构示意图;[0075]图5是本申请方法实施例中步骤104的流程图;
[0076]图6为本申请方法实施例中步骤105的流程图;
[0077]图7为本申请方法实施例中步骤107的流程图;
[0078]图8是本申请的一种基于双数组搜索树的机器翻译装置实施例的结构框图;
[0079]图9为本申请装置实施例中构造翻译记忆单元模块801的结构示意图;
[0080]图10为本申请装置实施例中建立双数组检索树模块802的结构示意图;
[0081]图11为本申请装置实施例中查询候选源语言句子模块804的结构示意图;
[0082]图12为本申请装置实施例中获取候选目标语言句子模块805的结构示意图;
[0083]图13为本申请装置实施例中发送展示模块806的结构示意图。
【具体实施方式】
[0084]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0085]本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
[0086]本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0087]本申请的主要思想之一可以包括,先依据翻译记忆库构造包括互为翻译对的源语言句子和目标语言句子翻译记忆单元,并依据所述翻译记忆单元中的源语言句子建立双数组检索树,该双数组检索树的每个节点对应一个所述源语言句子中的源语言词语,因此,针对待翻译的初始源语言句子,可以依据该初始源语言句子在双数组搜索树中查询满足编辑距离的候选源语言句子,并从所述翻译记忆单元中获取与候选源语言句子对应的候选目标语言句子,再按照预设的展示条件将所述候选目标语言句子发送至客户端进行展示。可见,由于本申请中将源语言句子构造成了双数组检索树,所以在检索与初始源语言句子相似的候选源语言句子的时候,可以比现有技术更快的确定候选源语言句子,并且因为双数组检索树在存储时也比数据表更节省空间,从而实现即能提高检索效率又能节省计算机存储资源的目的。
[0088]参考图1,示出了本申请一种基于双数组搜索树的机器翻译方法实施例的流程图,可以包括以下步骤:
[0089]步骤101:依据翻译记忆库构造翻译记忆单元,所述翻译记忆库包括互为翻译对的源语言句子和目标语言句子。
[0090]在本申请实施例中,翻译记忆用来表示平行的双语中互为翻译的两种语言语句形成的一个句对,翻译记忆库则是保存了这些句对的数据结构;而源语言句子表示翻译记忆中的某一种语言的句子,也表示用户在翻译过程中输入的需要翻译的语句;目标语言句子是相对于源语言句子而言的,表示翻译记忆的另一种语言的句子,也表示用户在翻译过程中希望得到的翻译结果语句。
[0091]在本实施例中,需要依据翻译记忆库中互为翻译对的源语言句子和目标语言句子构造翻译记忆单元,其中,翻译记忆单元是包括源语言词语编码和目标句子编码的数据结构,具体的,参考图2所示,为在实际应用中所述步骤101的流程图,本步骤101具体可以包括:
[0092]步骤201:对翻译记忆库的源语言句子按顺序进行分词,得到源语言词语;
[0093]首先,按照翻译记忆库中源语言句子出现的顺序,可以对源语言句子中的词语依次进行分词,从而得到有顺序的源语言词语。假设存在表1所示的简单的翻译记忆库:
[0094]表1
[0095]
【权利要求】
1.一种基于双数组搜索树的机器翻译方法,其特征在于,依据翻译记忆库构造翻译记忆单元,所述翻译记忆库包括互为翻译对的源语言句子和目标语言句子,并依据所述翻译记忆单元中的源语言句子建立双数组检索树,所述双数组检索树的每个节点对应一个所述源语言句子中的源语言词语;该方法包括: 接收待翻译的初始源语言句子; 依据所述初始源语言句子在所述双数组搜索树中查询满足编辑距离的候选源语言句子; 从所述翻译记忆单元中获取与所述候选源语言句子对应的候选目标语言句子; 按照预设的展示条件将所述候选目标语言句子发送至客户端进行展示。
2.根据权利要求1所述的方法,其特征在于,所述依据翻译记忆库构造翻译记忆单元,具体包括: 对翻译记忆库的源语言句子按顺序进行分词,得到源语言词语; 对所述源语言词语按顺序进行编码,得到与源语言词语一一对应的源词语编码; 对所述目标语言句子进行编码,得到与所述目标语言句子一一对应的目标句子编码; 将所述源语言词语编码和目标句子编码对应保存为翻译记忆单元中。
3.根据权利要求2所述的方法,其特征在于,所述依据翻译记忆单元建立双数组检索树,具体包括: 按照所述源语言词语的编码顺序,对所述翻译记忆单元中的源语言句子进行排序;所述排序的规则为:首先根据源语言句子的第N个词语编码进行升序排序,在所述第N词语编码相同的情况下,按照第N+1个词语编码进行升序排序,其中,所述N为大于或等于I的自然数; 将所述源语言句子中的首层词语集按照排序结果分别作为所述双数组检索树的根节点的第一级孩子结点;其中,所述首层词语集即是各个源语言句子的第一个词语的集合;参考源语言句子的每个句子中词语出现的顺序,对应为所述第一级孩子节点确定下级所有的第N级孩子结点;其中,N大于或等于2 ; 在每个源语言句子对应的最后一级孩子节点后设置当前句子的结束标识,以生成双数组检索树。
4.根据权利要求3所述的方法,其特征在于,所述依据所述初始源语言句子在所述双数组搜索树中查询满足编辑距离的候选源语言句子,具体包括: 依据预设的编辑距离确定所述双数组搜索树中符合条件的目标源语言句子的长度集合; 选择所述长度集合中最小的长度值作为当前长度值,并依据所述当前长度值从所述双数组检索树中确定所述源语言句子对应的目标源语言句子的子集合; 判断所述长度集合中是否存在未确定子集合的其他长度值,如果是,则按照从小到大的顺序获取次小的长度值作为所述当前长度值,并执行所述依据所述当前长度值从所述双数组检索树中确定所述源语言句子对应的目标源语言句子的子集合的步骤,直至所述长度集合中的所有长度值都确定子集合; 将所述源语言句子对应的目标语言句子的所有子集合确定为所述候选源语言句子。
5.根据权利要求2所述的方法,其特征在于,所述从所述翻译记忆单元中获取与所述候选源语言句子对应的候选目标语言句子,具体包括: 依据所述候选源语言句子确定与其对应的候选源语言词语编码; 依据所述候选源语言词语编码确定对应的候选目标语言句子编码; 获取所述候选目标语言句子编码对应的候选目标语言句子。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述将所述候选目标语言句子发送至客户端进行展示,具体包括: 从所述候选目标语言句子中确定与所述初始源语言句子最匹配的精确目标语言句子; 将所述精确目标语言句子发送至客户端以向用户进行展示。
7.一种基于双数组搜索树的机器翻译装置,其特征在于,该装置包括: 构造翻译记忆单元模块,用于依据翻译记忆库构造翻译记忆单元,所述翻译记忆库包括互为翻译对的源语言句子和目标语言句子; 建立双数组检索树模块,用于依据所述翻译记忆单元中的源语言句子建立双数组检索树,所述双数组检索树的每个节点对应一个所述源语言句子中的源语言词语;` 接收源语言句子模块,用于接收待翻译的初始源语言句子; 查询候选源语言句子模块,用于依据所述初始源语言句子在所述双数组搜索树中查询满足编辑距离的候选源语言句子; 获取候选目标语言句子模块,用于从所述翻译记忆单元中获取与所述候选源语言句子对应的候选目标语言句子; 发送展示模块,用于按照预设的展示条件将所述候选目标语言句子发送至客户端进行展示。
8.根据权利要求7所述的装置,其特征在于,所述构造翻译记忆单元模块具体包括: 分词子模块,用于对翻译记忆库的源语言句子按顺序进行分词,得到源语言词语; 词语编码子模块,用于对所述源语言词语按顺序进行编码,得到与源语言词语一一对应的源词语编码; 句子编码子模块,用于对所述目标语言句子进行编码,得到与所述目标语言句子一一对应的目标句子编码; 保存子模块,用于将所述源语言词语编码和目标句子编码对应保存为翻译记忆单元中。
9.根据权利要求8所述的装置,其特征在于,所述建立双数组检索树模块具体包括: 排序子模块,用于按照所述源语言词语的编码顺序,对所述翻译记忆单元中的源语言句子进行排序;所述排序的规则为:首先根据源语言句子的第N个词语编码进行升序排序,在所述第N词语编码相同的情况下,按照第N+1个词语编码进行升序排序,其中,所述N为大于或等于I的自然数; 确定第一级孩子节点子模块,用于将所述源语言句子中的首层词语集按照排序结果分别作为所述双数组检索树的根节点的第一级孩子结点;其中,所述首层词语集即是各个源语言句子的第一个词语的集合; 确定第N级孩子结点子模块,用于参考源语言句子的每个句子中词语出现的顺序,对应为所述第一级孩子节点确定下级所有的第N级孩子结点;其中,N大于或等于2 ;设置结束标识子模块,用于在每个源语言句子对应的最后一级孩子节点后设置当前句子的结束标识,以生成双数组检索树。
10.根据权利要求9所述的装置,其特征在于,所述查询候选源语言句子模块具体包括: 确定长度集合子模块,用于依据预设的编辑距离确定所述双数组搜索树中符合条件的目标源语言句子的长度集合; 确定子集合子模块,用于选择所述长度集合中最小的长度值作为当前长度值,并依据所述当前长度值从所述双数组检索树中确定所述源语言句子对应的目标源语言句子的子集合; 判断子模块,用于判断所述长度集合中是否存在未确定子集合的其他长度值; 触发子模块,用于在所述判断子模块的结果为是的情况下,按照从小到大的顺序获取次小的长度值作为所述当前长度值,触发所述判断子模块; 确定候选源语言句子的子模块,用于将所述源语言句子对应的目标语言句子的所有子集合确定为所述候选源语言句子。
11.根据权利要求8所述的装置,其特征在于,所述获取候选目标语言句子模块具体包括: 确定候选源语言词语编码的子模块,用于依据所述候选源语言句子确定与其对应的候选源语言词语编码; 确定候选目标语言句子编码的子模块,用于依据所述候选源语言词语编码确定对应的候选目标语言句子编码; 获取子模块,用于获取所述候选目标语言句子编码对应的候选目标语言句子。
12.根据权利要求7~11所述的装置,其特征在于,所述发送展示模块,具体包括: 确定精确目标语言句子的子模块,用于从所述候选目标语言句子中确定与所述初始源语言句子最匹配的精确目标语言句子; 发送子模块,用于将所述精确目标语言句子发送至客户端以向用户进行展示。
【文档编号】G06F17/30GK103577394SQ201210270419
【公开日】2014年2月12日 申请日期:2012年7月31日 优先权日:2012年7月31日
【发明者】张永刚, 吴克文, 廖剑, 林锋 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1