本申请涉及机器翻译技术领域,尤其涉及一种低频词翻译方法及装置。
背景技术:
随着科技的不断发展,机器翻译成为解决不同语言种族群体相互交流通信的一个重要研究课题,其中,低频词翻译效果的优劣,直接影响到机器翻译技术和应用能否顺利走向实用化、产业化。低频词是指在大规模双语平行语料库中频次稀疏、或从未出现的一类词语,依据频次程度的不同,在自然语言处理中,低频词通常也被称为未登录词(unknownwords)或集外词(outofvocabulary)。因低频词具有频率稀疏性、译文单一性等特点,低频词翻译一直是机器翻译研究工作中的重点和难点。
在现有的一种低频词翻译方法中,先将源文本中的低频词转换为通配符,然后对转换为通配符后的源文本进行翻译,从而得到目标文本,最后将目标文本中的通配符置换为原来对应的低频词,以形成最终完整译文。然而,该翻译方法虽然使得低频词能够得到翻译,但直接将低频词转换为通配符会造成源文本的语义信息不完整,进一步导致对其翻译后得到的目标文本不够通顺,即,存在译文流利度下降的问题。
技术实现要素:
本申请实施例的主要目的在于提供一种低频词翻译方法及装置,在对低频词所属文本进行翻译时,能够提高翻译结果的流利度。
本申请实施例提供了一种低频词翻译方法,包括:
生成源文本中的各个低频词分别对应的组合表征结果;其中,所述组合表征结果包括对应低频词的向量表征结果和/或对应低频词的翻译译文的向量表征结果,以及,对应低频词替换为通配符后所述通配符的向量表征结果;
根据各个低频词分别对应的组合表征结果对所述源文本进行翻译,得到目标文本。
可选的,所述根据各个低频词分别对应的组合表征结果对所述源文本进行翻译,包括:
对于各个低频词,将所述低频词对应的组合表征结果中的各个向量表征结果进行向量融合,得到所述低频词的最终表征结果;
根据各个低频词各自的最终表征结果,对所述源文本进行翻译。
可选的,所述将所述低频词对应的组合表征结果中的各个向量表征结果进行向量融合,得到所述低频词的最终表征结果,包括:
将所述低频词对应的组合表征结果中的各个向量表征结果进行加权计算,得到加权计算结果;
将所述加权计算结果进行非线性变换,得到所述低频词的最终表征结果。
可选的,按照下述方式生成所述对应低频词的向量表征结果:
利用对应低频词的各个子词的向量表征结果,生成对应低频词的向量表征结果。
可选的,所述利用对应低频词的各个子词的向量表征结果,生成对应低频词的向量表征结果,包括:
利用神经网络反向扫描对应低频词的各个子词,得到各个子词中的第一个子词的向量表征结果;
将第一个子词的向量表征结果,作为对应低频词的向量表征结果。
可选的,按照下述方式生成所述对应低频词的翻译译文的向量表征结果:
利用对应低频词的翻译译文的各个子词的向量表征结果,生成对应低频词的翻译译文的向量表征结果。
可选的,所述利用对应低频词的翻译译文的各个子词的向量表征结果,生成对应低频词的翻译译文的向量表征结果,包括:
利用神经网络反向扫描对应低频词的翻译译文的各个子词,得到各个子词中的第一个子词的向量表征结果;
将第一个子词的向量表征结果,作为对应低频词的翻译译文的向量表征结果。
可选的,所述通配符的向量表征结果中携带了对应低频词所属的样本语料的上下文语义信息。
本申请实施例还提供了一种低频词翻译装置,包括:
表征结果生成单元,用于生成源文本中的各个低频词分别对应的组合表征结果;其中,所述组合表征结果包括对应低频词的向量表征结果和/或对应低频词的翻译译文的向量表征结果,以及,对应低频词替换为通配符后所述通配符的向量表征结果;
低频词翻译单元,用于根据各个低频词分别对应的组合表征结果对所述源文本进行翻译,得到目标文本。
可选的,所述低频词翻译单元包括:
向量融合子单元,用于对于各个低频词,将所述低频词对应的组合表征结果中的各个向量表征结果进行向量融合,得到所述低频词的最终表征结果;
低频词翻译子单元,用于根据各个低频词各自的最终表征结果,对所述源文本进行翻译。
可选的,所述向量融合子单元包括:
加权计算子单元,用于将所述低频词对应的组合表征结果中的各个向量表征结果进行加权计算,得到加权计算结果;
非线性变换子单元,用于将所述加权计算结果进行非线性变换,得到所述低频词的最终表征结果。
可选的,所述表征结果生成单元,具体用于利用对应低频词的各个子词的向量表征结果,生成对应低频词的向量表征结果。
可选的,所述表征结果生成单元包括:
第一扫描子单元,用于利用神经网络反向扫描对应低频词的各个子词,得到各个子词中的第一个子词的向量表征结果;
第一生成子单元,用于将第一个子词的向量表征结果,作为对应低频词的向量表征结果。
可选的,所述表征结果生成单元,具体用于利用对应低频词的翻译译文的各个子词的向量表征结果,生成对应低频词的翻译译文的向量表征结果。
可选的,所述表征结果生成单元包括:
第二扫描子单元,用于利用神经网络反向扫描对应低频词的翻译译文的各个子词,得到各个子词中的第一个子词的向量表征结果;
第二生成子单元,用于将第一个子词的向量表征结果,作为对应低频词的翻译译文的向量表征结果。
可选的,所述通配符的向量表征结果中携带了对应低频词所属的样本语料的上下文语义信息。
本申请实施例还提供了一种低频词翻译设备,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述低频词翻译方法中的任意一种实现方式。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述低频词翻译方法中的任意一种实现方式。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述低频词翻译方法中的任意一种实现方式。
综上,本申请实施例提供的一种低频词翻译方法及装置,当获取到待翻译的源文本后,可以生成该源文本中的各个低频词分别对应的组合表征结果,关于每一低频词,该低频词对应的组合表征结果包括该低频词的向量表征结果和/或该低频词的翻译译文的向量表征结果、以及该低频词替换为通配符后该通配符的向量表征结果,之后,再根据各个低频词分别对应的组合表征结果对源文本进行翻译,从而得到目标文本。可见,相对于现有技术中直接将源文本中的低频词转换为通配符后进行翻译的方式,本申请实施例在对源文本进行翻译时,不但考虑了低频词对应替换的通配符的向量表征结果,还进一步考虑了该低频词和/或该低频词的翻译译文的向量表征结果,从而提高了源文本的语义信息的完整性,进而提高了其翻译结果的流利度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于rnn和attention的翻译模型示意图;
图2为本申请实施例提供的低频词翻译方法的流程示意图;
图3为本申请实施例提供的反向扫描子词序列的示意图;
图4为本申请实施例提供的根据各个低频词分别对应的组合表征结果对源文本进行翻译的流程示意图;
图5为本申请实施例提供的双曲正切函数tanh的函数图像示意图;
图6为本申请实施例提供的低频词与通配符的向量融合示意图;
图7为本申请实施例提供的低频词译文与通配符的向量融合示意图;
图8为本申请实施例提供的低频词、低频词译文与通配符的向量融合示意图;
图9为本申请实施例提供的低频词翻译装置的组成示意图。
具体实施方式
在介绍本申请实施例提供的低频词翻译方法之前,首选对本申请实施例可以使用的低频词翻译模型的结构和功能进行介绍。
本申请实施例使用的低频词翻译模型可以是基于神经网络和注意力机制(attention)的翻译模型、或是完全基于attention的翻译模型等。其中,本申请实施例不限制翻译模型中所使用的神经网络类型,比如,可以是循环神经网络(recurrentneuralnetwork,rnn)、或卷积神经网络(convolutionalneuralnetwork,cnn)等。
需要说明的是,为便于描述,本申请实施例将待翻译的文本定义为源文本,并将对源文本进行翻译后得到的译文定义为目标文本。
下面以基于rnn和attention的翻译模型为例,介绍翻译模型的工作过程,如图1所示,模型输入的源文本为x=(x1,x2,x3,...,xm),模型输出的目标文本为y=(y1,y2,y3,...,yn),其中,源文本和目标文本的长度分别是m和n,m和n分别表示源文本和目标文本中包含的子词个数。
该翻译模型包括三个模块,分别是基于双向rnn的编码模块(即encoder模块)、注意力模块(即attention模块)以及基于rnn的解码模型(即decoder模块),下面对每个模块的功能进行介绍。
一、encoder模块
encoder模块的作用是计算源文本中的每个词在该文本的上下文语境中的表征编码。具体地,对于源文本x=(x1,x2,x3,...,xm)中的每个词,可以通过词向量查表技术等得到每个词xi对应的向量表征结果vi,然后,基于第i个词的向量表征结果通过前向循环神经网络得到该第i个词看到历史词汇信息下的表征fi,并通过反向循环神经网络得到该第i个词看到未来词汇信息下的表征bi,最后将两者拼接起来[fi:bi]形成该第i个词的最终表征结果hi,其中,i=1、2、3......m。
其中,这里的循环神经网络既可以是普通的rnn,也可以是其改进结构,比如门控循环单元(gatedrecurrentunit,gru)或者长短期记忆网络(longshort-termmemory,lstm)。对于源文本中的每个词而言,由于其表征向量的计算既利用了前向历史信息也利用了反向未来信息,因此能够较好地基于该词所在的语境进行信息表示。
二、attention模块
attention模块的作用是计算第i个解码时刻所依赖的源文本的信息表征ci。假设上一时刻rnn解码隐含状态为si-1,则ci的计算方式具体描述如下:
其中,a(si-1,hj)是基于变量si-1和hj的一个通用函数,可以有多种实现方式。
可见,第i个解码时刻所生成的源文本的语义信息表征ci是源文本中每个词的表征结果hj的加权平均,而每个词的表征结果hj的加权系数αij决定了该词在当前时刻受到的关注度。
三、decoder模块
decoder模块的作用是基于每一时刻动态生成的源文本的向量表征ci和decoder模块前一时刻的状态si-1,采用rnn网络生成目标文本。具体计算方式如下:
si=f(xi-1,yi-1,ci)
其中,f(·)表示基于rnn的变换函数,rnn可以是普通结构,也可以是加入门控机制的gru或者lstm结构;p(yi=vk)表示yi是目标语言词表中第k个词的概率,bk(si)表示与第k个目标词相关的变换函数。
每个解码时刻在目标语言词表上的词概率计算完成之后,就可以通过比如beamsearch算法得到最终的解码序列,即目标文本y=(y1,y2,y3,...,yn),使得整个目标文本对应的输出概率p(y|x)最大。
接下来,将对本申请实施例提供的低频词翻译方法进行具体介绍。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
第一实施例
参见图2,为本实施例提供的低频词翻译方法的流程示意图,该方法包括以下步骤:
s201:生成源文本中的各个低频词分别对应的组合表征结果。
在本实施例中,将需要进行翻译的文本定义为源文本。
需要说明的是,本实施例不限制源文本的语种,比如源文本可以是中文文本、英文文本等;本实施例也不限制源文本的长度,比如源文本可以是词语、句子、篇章级文本等。
可以理解的是,基于源文本的长度,源文本中可能包括一个或多个低频词。本实施例不限制低频词的类型,其可以是命名实体、复杂名词短语或专业术语等。
在本实施例中,对于源文本中的每个低频词来讲,可以生成每一低频词各自对应的组合表征结果,在该组合表征结果中,可以包括对应低频词的向量表征结果和/或对应低频词的翻译译文的向量表征结果,以及,对应低频词替换为通配符unki后该通配符unki的向量表征结果。
具体来讲,需要将源文本中的每一低频词对应替换为一个通配符unki,基于此,在后续采用步骤s202对源文本进行翻译时,结合考虑了低频词本身以及该低频词对应的通配符unki的向量表征结果,或者,结合考虑了低频词在目标语言(即翻译后的语种)中的翻译译文以及该低频词对应的通配符unki的向量表征结果,或者,结合考虑了低频词本身、低频词在目标语言中的翻译译文以及该低频词对应的通配符unki的向量表征结果。也就是说,综合考虑低频词的通配符unki以及该低频本身和/或其译文的语义信息,对源文本进行翻译,能够有效提升翻译结果的准确度与流利度。
当需要利用低频词译文的向量表征结果对源文本进行翻译时,需要对低频词进行翻译,可以采用查找词表和模型翻译两种方式相结合的策略,对低频词进行翻译。具体来讲,对于双语低频词而言,由于其内部统计规律相对模糊且在训练语料中出现频率很低,导致在建模上存在一定的困难,因此,对低频词的翻译,可以优先使用查找词典的方式对低频词进行翻译,如果查找失败,则采用定制的低频词翻译模型对其进行翻译。
其中,关于查找词典的方式,可以依据机器翻译具体的应用场景和领域,预先构建一个低频词(包括实体、术语、专有名词等)词表,只要待查找的低频词命中该词表,就能保证返回的低频词译文完全正确、且符合特定情境。
但是,采用查找词典的方式进行低频词翻译,依赖词表构建的规模,可能出现不能命中的情况。在这种情况下,可以采用定制的低频词翻译模型,利用该模型输出概率最大的目标译文,作为低频词的翻译译文,具体地,可以采用字模型作为低频词翻译模型,用以解决低频词较短、且频次较低的问题,因为利用字模型可以提高模型训练数据中的建模单元的频率,从而大幅度提高低频词的翻译性能。例如,以“南京长江大桥”与其译文“nanjingyangtzeriverbridge”为例,在字模型下的双语形式为“南京长江大桥”与“[nanjing][yangtze][river][bridge]”。
接下来,对如何生成源文本中各个低频词分别对应的组合表征结果进行介绍,即,对于每一低频词,对“如何生成低频词的向量表征结果”、“如何生成低频词的翻译译文的向量表征结果”、以及“如何生成低频词对应的通配符的向量表征结果”进行介绍。具体如下:
一、按照下述方式生成低频词的向量表征结果
在本实施例的一种实现方式中,对于每一低频词,可以利用该低频词的各个子词的向量表征结果,生成该低频词的向量表征结果。
在本实现方式中,可以将该低频词切分为各个子词,这里不限制子词中的字个数,该子词可以包括一个字也可以包括多个字,对于每一子词来讲,该子词在源语言(即源文本所属的语种)中的频率可能较高、也可能较低,即,该子词可能是高频子词、也可能是低频子词。例如,对于“机器人”一词而言,假设“机器人”是低频词,而该低频词中的子词“机”和“器”通常在大规模语料库中共现的频次较高,但“机”、“器”和“人”三个字同时共现的频次可能相对较低,可以将“机器人”切分为子词“机器”和“人”,其中的“机器”和“人”为高频子词。基于此,在低频词中的子词频率较高的情况下,可以通过模型学习到该高频子词较优的向量表征结果,从而利用该低频词的各个子词的向量表征结果生成该低频词的向量表征结果时,该低频词的向量表征结果能准确的体现该低频词的语义信息。
更具体地,在本实现方式中,可以利用神经网络反向扫描该低频词的各个子词,得到各个子词中的第一个子词的向量表征结果,并将第一个子词的向量表征结果,作为该低频词的向量表征结果。
在实际实现时,可以采用长短时记忆(longshort-termmemory,lstm)网络反向扫描该低频词的子词序列,使得该子词序列的首个子词在该低频词的向量表征结果中占据重要信息。其中,lstm网络擅长对机器翻译中的自然语言进行建模,能够把任意长度的文本转化为特定维度的浮点数向量,同时记住文本中比较重要的单词,并能长期的保留记忆;lstm是循环神经网络(recurrentneuralnetwork,rnn)模型的一种特殊结构类型,增加了输入门、输出门、忘记门这三个控制单元,对进入lstm网络的信息,这三个门会对其进行判断后决定记忆、遗忘、输出的信息比例,可以有效解决神经网络中长距离依赖的问题。
基于此,若采用lstm网络反向扫描该低频词的子词序列,则能够保证首个子词在该低频词的向量表征结果中发挥最大的作用,以此保证该低频词的翻译结果与其上下文的衔接更为通顺流畅。
例如,如图3所示的反向扫描子词序列的示意图,以低频词sunk2(x6,x7,x8)及其向量表征结果
最终,lstm网络的输出向量
二、按照下述方式生成低频词的翻译译文的向量表征结果
在本实施例的一种实现方式中,对于每一低频词,可以利用该低频词的翻译译文的各个子词的向量表征结果,生成该低频词的翻译译文的向量表征结果。更具体地,在本实现方式中,可以利用神经网络反向扫描该低频词的翻译译文的各个子词,得到各个子词中的第一个子词的向量表征结果,并将第一个子词的向量表征结果,作为该低频词的翻译译文的向量表征结果。
在本实现方式中,可以按照上述“一、按照下述方式生成低频词的向量表征结果”的类似方式,生成该低频词的翻译译文的向量表征结果,即,将上述“低频词”替换为“低频词的翻译译文”,将上述“低频词的各个子词”替换为“低频词的翻译译文的各个子词”,从而按照上述方式生成该低频词的翻译文本的向量表征结果,具体方式在此不再赘述。
三、按照下述方式生成低频词对应的通配符的向量表征结果
在本实施例的一种实现方式中,对于每一低频词,该低频词对应的通配符的向量表征结果中携带了该低频词所属的样本语料的上下文语义信息。
在本实现方式中,由于可以采用预先构建的低频词翻译模型对源文本进行翻译,而在训练该低频词翻译模型时,需要利用大量的模型训练数据进行训练,在该模型训练数据中包含了大量的样本文本,在这些样本文本中,可以存在一个或多个样本文本中包含源文本中的该低频词,当将该低频词替换为相应的通配符unki后,可以初始化该通配符unki及其所属样本文本中的其它各个词语的词向量,并基于这些词向量训练该低频词翻译模型;在训练过程中,可以不断的更新该通配符unki的向量表征结果,使该通配符unki的向量表征结果中携带其所属样本文本的上下文的语义信息,当训练结束后,该通配符unki的向量表征结果则已固定。
基于此,当需要生成源文本中的该低频词对应的通配符unki的向量表征结果时,可以直接使用模型训练结束后得到的该通配符unki的向量表征结果。
s202:根据各个低频词分别对应的组合表征结果对源文本进行翻译,得到目标文本。
在本实施例中,当通过步骤s201得到各个低频词分别对应的组合表征结果后,可以基于各个低频词分别对应的组合表征结果、以及源文本中其它词语(除低频词以外的词语)各自的向量表征结果,对源文本进行翻译,这里,将源文本的翻译译文定义为目标文本。
其中,关于源文本中除低频词以外的其它词语,可以采用词向量生成方法直接生成这些词语的向量表征结果,当然,也可以按照上述“生成通配符的向量表征结果”的方式,生成这些词语的向量表征结果,即,在训练低频词翻译模型的过程中,得到这些词语的向量表征结果,对于这些词语中的每一词语,该词语的向量表征结果中携带了该词语所属的样本语料的上下文语义信息。
需要说明的是,在对源文本进行翻译时,可以采用现有或未来出现的翻译模型对源文本进行翻译,比如图1所示的基于rnn和attention的翻译模型、或者是基于cnn和attention的翻译模型、亦或是完全基于attention的翻译模型,等等。此外,本实施例不限制目标文本的语种,比如源文本为中文、则目标文本可以为英文。
还需要说明的是,本步骤s202的具体实现方式将在第二实施例中进行具体介绍。
综上,在本实施例提供的低频词翻译方法中,当获取到待翻译的源文本后,可以生成该源文本中的各个低频词分别对应的组合表征结果,关于每一低频词,该低频词对应的组合表征结果包括该低频词的向量表征结果和/或该低频词的翻译译文的向量表征结果、以及该低频词替换为通配符后该通配符的向量表征结果,之后,再根据各个低频词分别对应的组合表征结果对源文本进行翻译,从而得到目标文本。可见,相对于现有技术中直接将源文本中的低频词转换为通配符后进行翻译的方式,本实施例在对源文本进行翻译时,不但考虑了低频词对应替换的通配符的向量表征结果,还进一步考虑了该低频词和/或该低频词的翻译译文的向量表征结果,从而提高了源文本的语义信息的完整性,进而提高了其翻译结果的流利度。
此外,现有低频词翻译方法针对多个低频词(大于或等于3)可能会出现漏翻译的情况,而本实施例采用的低频词翻译方法,可以大大减少漏翻率,以及使得翻译得到的目标文本的上下文更顺滑。
第二实施例
需要说明的是,本实施例将对上述第一实施例中步骤s202的具体实现方式进行介绍。
参见图4,为本实施例提供的根据各个低频词分别对应的组合表征结果对源文本进行翻译的流程示意图,该方法包括以下步骤:
s401:对于各个低频词,将该低频词对应的组合表征结果中的各个向量表征结果进行向量融合,得到该低频词的最终表征结果。
在本实施例中,可以将每一低频词的组合表征结果中的两个或三个向量表征结果进行向量融合,通过向量融合得到每一低频词的最终表征结果。
现举例说明,假设源文本为x、目标文本为y,并假设源文本x和目标文本y分别包含的子词序列为:
x=(x1,x2,x3,x4,x5,x6,x7,x8,x9,...,xm)
y=(y1,y2,y3,y4,y5,y6,y7,y8,y9,...,yn)
其中,假设通过词频统计可以得出源文本x中的子词序列sunk1(x2,x3)与sunk2(x6,x7,x8)分别是待处理的两个低频词,可以通过第一实施例中介绍的查找词典或者模型翻译的方式,得到这两个低频词的译文,假设低频词sunk1(x2,x3)的译文是目标文本y中的子词序列tunk1(y2,y3,y4)、低频词sunk2(x6,x7,x8)的译文是目标文本y中的子词序列tunk2(y7,y8,y9)。
当采用通配符unki替换上述双语句对(x,y)中的低频词和低频词译文后,得到新的双语句对
其中,u1为用于替换低频词sunk1(x2,x3)的通配符,u2为用于替换低频词sunk2(x6,x7,x8)的通配符。
此时,存在以下三种向量融合方式:
融合方式1、可以将源文本x中的低频词sunk1(x2,x3)的向量表征结果与通配符u1的向量表征结果进行融合,从而得到低频词sunk1(x2,x3)的最终表征结果;同理,将源文本x中的低频词sunk2(x6,x7,x8)的向量表征结果与通配符u2的向量表征结果进行融合,从而得到低频词sunk2(x6,x7,x8)的最终表征结果。
融合方式2、可以将源文本x中的低频词sunk1(x2,x3)的翻译译文tunk1(y2,y3,y4)的向量表征结果与通配符u1的向量表征结果进行融合,从而得到低频词sunk1(x2,x3)的最终表征结果;同理,将源文本x中的低频词sunk2(x6,x7,x8)的翻译译文tunk2(y7,y8,y9)的向量表征结果与通配符u2的向量表征结果进行融合,从而得到低频词sunk2(x6,x7,x8)的最终表征结果。
融合方式3、可以将源文本x中的低频词sunk1(x2,x3)的向量表征结果、该低频词sunk1(x2,x3)的翻译译文tunk1(y2,y3,y4)的向量表征结果以及通配符u1的向量表征结果进行融合,从而得到低频词sunk1(x2,x3)的最终表征结果;同理,将源文本中x中的低频词sunk2(x6,x7,x8)的向量表征结果、该低频词sunk2(x6,x7,x8)的翻译译文tunk2(y7,y8,y9)的向量表征结果以及通配符u2的向量表征结果进行融合,从而得到低频词sunk2(x6,x7,x8)的最终表征结果。
在本实施例的一种实现方式中,本步骤s401具体可以包括:对于每一低频词,将该低频词对应的组合表征结果中的各个向量表征结果进行加权计算,得到加权计算结果,并将该加权计算结果进行非线性变换,得到该低频词的最终表征结果。
在本实现方式中,“非线性变换”的功能主要由激活函数(activationfunctions)实现,激活函数对人工神经网络模型学习、表示复杂和非线性的映射关系具有十分重要的作用,具体可以采用双曲正切函数tanh作为激活函数,其计算公式如下:
其中,该双曲正切函数tanh的函数图像如图5所示。
基于此,对于源文本中的每一低频词,当将该低频词对应的组合表征结果中的两个或三个向量表征结果进行加权计算后,可以采用双曲正切函数tanh对该加权计算结果进行非线性变换,并将该变换结果作为该低频词的最终表征结果。
采用双曲正切函数tanh进行非线性变换主要包括以下两点优点:
第一,当输入x的值较大或较小时,tanh的斜率将无限趋近于零。也就是说,当且仅当低频词对应的加权计算结果在一定的范围内时,经过tanh函数对其做非线性变换后才会有较大的梯度;反之,当低频词对应的加权计算结果超过一定的范围后,tanh函数因趋近于饱和而不再做出较大的响应,此时,tanh函数的作用是屏蔽了作为异常值的加权计算结果,而在低频词翻译模型的训练过程中,基于tanh函数的屏蔽作用,避免了因样本文本(属于模型训练数据)中低频词对应的加权计算结果过大或过小而对后续编码结果的输出、上下文向量的更新造成一定的偏置影响。
第二,从图5所示的tanh函数图像可以看出,该函数具有输出平滑、易于求导、输出以0为中心且介于(-1,1)之间等特性。上述特性保证了tanh函数的参数更新效率高,且能够将低频词对应的加权计算结果经过非线性变换后重新缩放到一定大小的范围内,这在神经网络等矩阵运算密集的场景下显得尤为重要。
为此,对于源文本中的每一低频词,可以将该低频词对应的组合表征结果中的各个向量表征结果,采用先加权计算再非线性变换的方式进行向量融合,从而得到该低频词的最终表征结果。接下来,继续基于上述例子,对上述三种向量融合方式进行具体介绍。
在上述融合方式1中,如图6所示的低频词与通配符的向量融合示意图,假设源文本x中包括两个低频词,分别为低频词sunk1(x2,x3)和sunk2(x6,x7,x8)。
假设低频词sunk1(x2,x3)的子词序列的向量表征结果为sunk1(v2,v3),利用sunk1(v2,v3)可以生成低频词sunk1(x2,x3)的向量表征结果
其中,wu,unk1、ws,unk1为权重。
可见,在低频词sunk1(x2,x3)的最终表征结果v1中,既包含了其通配符u1的向量表征结果
同样地,假设低频词sunk2(x6,x7,x8)的子词序列的向量表征结果为sunk2(v6,v7,v8),利用sunk2(x6,x7,x8)可以生成低频词sunk2(x6,x7,x8)的向量表征结果
其中,wu,unk2、ws,unk2为权重。
可见,在低频词sunk2(x6,x7,x8)的最终表征结果v2中,既包含了其通配符u2的向量表征结果
在上述融合方式2中,如图7所示的低频词译文与通配符的向量融合示意图,假设源文本x中包括两个低频词,分别为低频词sunk1(x2,x3)和sunk2(x6,x7,x8)。
假设低频词译文tunk1(y2,y3,y4)的子词序列的向量表征结果为tunk1(v2,v3,v4),利用tunk1(v2,v3,v4)可以生成低频词译文tunk1(y2,y3,y4)的向量表征结果vunk1(比如采用第一实施例中提及的lstm反向扫描的方式);此外,可以采用上述第一实施例中介绍的方法,得到低频词sunk1(x2,x3)对应的通配符u1的向量表征结果
其中,wu,unk1、wt,unk1为权重。
可见,在低频词sunk1(x2,x3)的最终表征结果v1中,既包含了其通配符u1的向量表征结果
同样地,假设低频词译文tunk2(y7,y8,y9)的子词序列的向量表征结果为tunk2(v7,v8,v9),利用tunk2(v7,v8,v9)可以生成低频词译文tunk2(y7,y8,y9)的向量表征结果vunk2(比如采用第一实施例中提及的lstm反向扫描的方式);此外,可以采用上述第一实施例中介绍的方法,得到低频词sunk2(x6,x7,x8)对应的通配符u2的向量表征结果
其中,wu,unk2、wt,unk2为权重。
可见,在低频词sunk2(x6,x7,x8)的最终表征结果v2中,既包含了其通配符u2的向量表征结果
在上述融合方式3中,如图8所示的低频词、低频词译文与通配符的向量融合示意图,假设源文本x中包括两个低频词,分别为低频词sunk1(x2,x3)和sunk2(x6,x7,x8)。
参见上述对融合方式1和融合方式2的介绍,可以得到低频词sunk1(x2,x3)的向量表征结果
同理,参见上述对融合方式1和融合方式2的介绍,可以得到低频词sunk2(x6,x7,x8)的向量表征结果
当采用融合方式3进行向量融合时,同时利用到了低频词语义信息在源语言和目标语言两个向量空间下的向量表征。由于低频词只是在某一种单语上出现频次较低,在双语翻译的另一端不一定满足频率较低的特性。因此,本融合方式3可以保证在低频词翻译模型的训练过程中,互补的抽取低频词在两种不同语言下的语义特征,从而有效缓解低频的翻译弊端,进而在实际翻译中,可以提高具有低频词的源文本的翻译质量。
此外,在低频词翻译模型的训练过程中,不但给定了低频词的向量表征结果,还给定了低频词的译文的向量表征结果,使得模型可以学习到一种拷贝机制,即,通过训练过程让模型学习到一种直接把低频词与其上下文的译文一起输出的翻译机制。例如,在对源文本进行翻译时,假设模型在编码过程中融入了低频词译文tunk1(y2,y3,y4)与tunk2(y7,y8,y9)的向量表征结果tunk1(v2,v3,v4)与tunk2(v7,v8,v9),而目标文本中同样存在低频词tunk1(y2,y3,y4)与tunk2(y7,y8,y9)。
需要说明的是,在上述三种融合方式中,权重越大,则表示该权重对应的向量表征结果在编码器输出结果中的影响作用越大。其中,这些权重值属于低频词翻译模型的自适应参数,是在模型训练过程中不断更新并在模型训练结束后得到的参数。
s402:根据各个低频词各自的最终表征结果,对源文本进行翻译,得到目标文本。
在本实施例中,当通过s401得到源文本中各个低频词各自的最终表征结果后,便可以根据各个低频词各自的最终表征结果以及源文本中其它词语的向量表征结果进行编码,从而基于编码结果对源文本进行翻译。由于该编码结果中不但融入了低频词的上下文语境信息、还融合了低频词自身和/或其译文的语义信息,因此,基于该编码结果对源文本进行翻译,可以提高翻译结果的准确性和流利度。
第三实施例
本实施例将对一种低频词翻译装置进行介绍,相关内容请参见上述方法实施例。
参见图9,为本申请实施例提供的一种低频词翻译装置的组成示意图,该装置900包括:
表征结果生成单元901,用于生成源文本中的各个低频词分别对应的组合表征结果;其中,所述组合表征结果包括对应低频词的向量表征结果和/或对应低频词的翻译译文的向量表征结果,以及,对应低频词替换为通配符后所述通配符的向量表征结果;
低频词翻译单元902,用于根据各个低频词分别对应的组合表征结果对所述源文本进行翻译,得到目标文本。
在本实施例的一种实现方式中,所述低频词翻译单元902包括:
向量融合子单元,用于对于各个低频词,将所述低频词对应的组合表征结果中的各个向量表征结果进行向量融合,得到所述低频词的最终表征结果;
低频词翻译子单元,用于根据各个低频词各自的最终表征结果,对所述源文本进行翻译。
在本实施例的一种实现方式中,所述向量融合子单元包括:
加权计算子单元,用于将所述低频词对应的组合表征结果中的各个向量表征结果进行加权计算,得到加权计算结果;
非线性变换子单元,用于将所述加权计算结果进行非线性变换,得到所述低频词的最终表征结果。
在本实施例的一种实现方式中,所述表征结果生成单元901,具体用于利用对应低频词的各个子词的向量表征结果,生成对应低频词的向量表征结果。
在本实施例的一种实现方式中,所述表征结果生成单元901包括:
第一扫描子单元,用于利用神经网络反向扫描对应低频词的各个子词,得到各个子词中的第一个子词的向量表征结果;
第一生成子单元,用于将第一个子词的向量表征结果,作为对应低频词的向量表征结果。
在本实施例的一种实现方式中,所述表征结果生成单元901,具体用于利用对应低频词的翻译译文的各个子词的向量表征结果,生成对应低频词的翻译译文的向量表征结果。
在本实施例的一种实现方式中,所述表征结果生成单元901包括:
第二扫描子单元,用于利用神经网络反向扫描对应低频词的翻译译文的各个子词,得到各个子词中的第一个子词的向量表征结果;
第二生成子单元,用于将第一个子词的向量表征结果,作为对应低频词的翻译译文的向量表征结果。
在本实施例的一种实现方式中,所述通配符的向量表征结果中携带了对应低频词所属的样本语料的上下文语义信息。
进一步地,本申请实施例还提供了一种低频词翻译设备,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述低频词翻译方法的任一种实现方法。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述低频词翻译方法的任一种实现方法。
进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述低频词翻译方法的任一种实现方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。