翻译方法和装置的制造方法

文档序号:9396855阅读:613来源:国知局
翻译方法和装置的制造方法
【技术领域】
[0001]本发明涉及语言处理技术领域,尤其涉及一种翻译方法和装置。
【背景技术】
[0002]机器翻译的目标是给定某种语言的文本,由机器将其自动翻译成另一种语言的形式。比如,用户输入了一段中文北京的出租车司机很热情”,机器翻译系统可以将其自动翻译为英文或其它语言的文字。
[0003]现有技术中,存在很多机器翻译的方法,循环神经网络(Recurrent NeuralNetwork ;以下简称:RNN)是其中的一种。RNN是一种统计翻译的方法,其翻译的主体过程可以被视为一个搜索过程:机器通过某种方式“理解” 了用户的输入之后,在英文词空间中搜索:找到多种可能的翻译候选,并为每个翻译候选给出一个概率得分。最后,选择其中得分最高的一个或多个候选,将其作为翻译结果返回。
[0004]相比其他的机器翻译方法,RNN的翻译质量较好,但RNN存在的问题是计算量大,需要相对较长的时间才能完成翻译。

【发明内容】

[0005]本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。
[0006]为此,本发明的第一个目的在于提出一种翻译方法。该方法可以改进RNN的搜索过程,减少扩展的候选词的个数,从而提升搜索速度,减少翻译用时。
[0007]本发明的第二个目的在于提出一种翻译装置。
[0008]为了实现上述目的,本发明第一方面实施例的翻译方法,包括:获取队列中得分最高的候选词,对所述得分最高的候选词进行扩展;从所述得分最高的候选词的扩展结果与所述得分最高的候选词对应栈的下一栈已有的候选词中,选择得分最高的N个候选词,N ^ 2,N为整数;将选择的N个候选词保存在所述得分最高的候选词对应栈的下一栈中,并更新所述队列中的候选词。
[0009]本发明实施例的翻译方法,获取队列中得分最高的候选词,对得分最高的候选词进行扩展,从所述得分最高的候选词的扩展结果与上述得分最高的候选词对应栈的下一栈已有的候选词中,选择得分最高的N个候选词,然后将选择的N个候选词保存在上述得分最高的候选词对应栈的下一栈中,并更新上述队列中的候选词,由于每次仅对队列中得分最高的候选词进行扩展,因此可以改进RNN的搜索过程,减少扩展的候选词的个数,提升了搜索速度,减少了翻译用时。
[0010]为了实现上述目的,本发明第二方面实施例的翻译装置,包括:获取模块,用于获取队列中得分最高的候选词;扩展模块,用于对所述获取模块获取的得分最高的候选词进行扩展;选择模块,用于从所述得分最高的候选词的扩展结果与所述得分最高的候选词对应栈的下一栈已有的候选词中,选择得分最高的N个候选词,N多2,N为整数;保存模块,用于将所述选择模块选择的N个候选词保存在所述得分最高的候选词对应栈的下一栈中;更新模块,用于更新所述队列中的候选词。
[0011]本发明实施例的翻译装置,获取模块获取队列中得分最高的候选词,扩展模块对得分最高的候选词进行扩展,选择模块从上述得分最高的候选词的扩展结果与上述得分最高的候选词对应栈的下一栈已有的候选词中,选择得分最高的N个候选词,然后保存模块将选择的N个候选词保存在上述得分最高的候选词对应栈的下一栈中,并由更新模块更新上述队列中的候选词,由于每次仅对队列中得分最高的候选词进行扩展,因此可以改进RNN的搜索过程,减少扩展的候选词的个数,提升了搜索速度,减少了翻译用时。
[0012]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0013]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0014]图1为本发明翻译方法一个实施例的流程图;
[0015]图2为本发明翻译方法另一个实施例的流程图;
[0016]图3为本发明翻译方法再一个实施例的流程图;
[0017]图4为本发明翻译方法的翻译过程一个实施例的示意图;
[0018]图5为本发明翻译装置一个实施例的结构示意图;
[0019]图6为本发明翻译装置另一个实施例的结构示意图。
【具体实施方式】
[0020]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0021]图1为本发明翻译方法一个实施例的流程图,如图1所示,该翻译方法可以包括:
[0022]步骤101,获取队列中得分最高的候选词,对上述得分最高的候选词进行扩展。
[0023]本实施例中,在RNN原有的栈结构的基础上引入一个队列,上述队列用于保存所有待扩展的候选词,上述队列中的候选词按照得分由高到低的顺序排列。
[0024]步骤102,从上述得分最高的候选词的扩展结果与上述得分最高的候选词对应栈的下一栈已有的候选词中,选择得分最高的N个候选词。
[0025]其中,N彡2,N为整数。
[0026]步骤103,将选择的N个候选词保存在上述得分最高的候选词对应栈的下一栈中,并更新上述队列中的候选词。
[0027]具体地,更新上述队列中的候选词可以为:将上述得分最高的候选词从上述队列中删除,并将上述选择的N个候选词保存在上述队列中;以及从上述队列中删除上述得分最高的候选词对应桟的下一桟原有的候选词中未包含在上述选择的N个候选词中的候选
Τ.κ| ο
[0028]也就是说,本实施例中,在对第一个词的候选词进行扩展之后,在以后的每次扩展时,只获取上述队列中得分最高的候选词,仅对上述队列中得分最高的候选词进行扩展,如果当前得分最高的候选词所对应的栈为i,那么当前得分最高的候选词的扩展结果将与栈i+Ι中已有的候选词放在一起,从中选择得分最高的N个候选词重新放入栈i+1中,同时将已扩展的候选词(即上述当前得分最高的候选词)从上述队列中删除,并将上述选择的N个候选词保存在上述队列中;以及从上述队列中删除栈i+Ι已有的候选词中未包含在上述选择的N个候选词中的候选词,这是由于从当前得分最高的候选词的扩展结果与栈i+Ι中已有的候选词中选择N个得分最高的候选词时,有可能删除栈i+Ι中原有的候选词,所以需要从上述队列中删除栈i+Ι原有的候选词中未包含在上述选择的N个候选词中的候选词。
[0029]进一步地,更新上述队列中的候选词之后,如果从上述队列中获取的得分最高的候选词为结束标记,则确定获得了上述待翻译文本的一个候选翻译结果,并结束扩展。也就是说,当从上述队列中获取的得分最高的候选词为E0S,即当前要扩展的得分最高的候选词为句子结束标记时,可以确定获得了上述待翻译文本的一个候选翻译结果,并结束扩展。
[0030]本实施例中,使用栈的结构描述候选词间的关系。位于栈I中的是第一个词的候选,位于栈i中的是第i个词的候选。候选词之间的连线表示了每个词的前缀。当扩展到“E0S”时,可以通过候选词之间的连线由后至前找出组成上述待翻译文本的一个候选翻译结果的所有候选词。
[0031]上述翻译方法中,获取队列中得分最高的候选词,对得分最高的候选词进行扩展,从所述得分最高的候选词的扩展结果与上述得分最高的候选词对应栈的下一栈已有的候选词中,选择得分最高的N个候选词,然后将选择的N个候选词保存在上述得分最高的候选词对应栈的下一栈中,并更新上述队列中的候选词,由于每次仅对队列中得分最高的候选词进行扩展,因此可以改进RNN的搜索过程,减少扩展的候选词的个数,提升了搜索速度,减少了翻译用时。
[0032]图2为本发明翻译方法另一个实施例的流程图,本实施例中,步骤101之前,还可以包括:
[0033]步骤201,通过获得的高维向量进行计算,为每个目标语言的候选词进行打分,获取得分最高的N个候选词作为待翻译文本中第一个词的候选词。
[0034]其中,N彡2,N为整数。上述目标语言是指要将待翻译文本翻译成的语言。
[0035]本实施例中,为每个目标语言的候选词进行打分具体为:为每个目标语言得候选词进行概率打分,分值一般为O?I之间的数值。
[0036]步骤202,将第一个词的候选词保存到队列和上述第一个词对应的栈中。
[0037]本实施例中,在原有的栈结构的基础上引入一个队列,上述队列用于保存所有待扩展的候选词,上述队列中的候选词按照得分由高到低的顺序排列。
[0038]图3为本发明翻译方法再一个实施例的流程图,本实施例中,步骤201之前,还可以包括:
[0039]步骤301,接收用户输入的翻译请求。
[0040]具体地,上述翻译请求可以包括文本翻
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1