机器翻译方法、装置及存储介质与流程
未命名
07-27
阅读:122
评论:0
1.本技术涉及人工智能技术领域:
:,尤其涉及一种机器翻译方法、装置及存储介质。
背景技术:
::2.目前基于神经网络的机器翻译技术取得了突破性进展,并超越了传统的统计机器翻译,成为主流的机器翻译技术。但是,目前的翻译系统并没有对译文长度进行有效控制,导致在模型输出完译文前,译文的长度是不可知的。3.随着全场景、可穿戴设备的普及,各种设备的屏幕显示大小、各种应用的显示区域多种多样,对于翻译结果的呈现提出了新的要求,像手表、增强现实(augmentedreality,ar)眼镜等显示屏幕小的设备,可供显示的区域面积较小,需要展示的信息更加密集,翻译的结果要短一些;像平板、智慧屏等屏幕大的设备,有充分的显示区域面积,则对翻译结果的长度要求不高。所以针对全场景设备,需要一种可控译文长度的机器翻译系统,能够根据需要生成长度可控的译文。一个句子的表达方式多种多样,通过句式的变化、实体的简写和别名、语句表达上的省略等手段,可以做到在不损失句子质量的情况下,对译文长度做到可控。4.相关技术中,针对控制译文长度的问题,可以采用如下方法:在模型训练阶段,根据双语数据中每句话的目标语言和源语言的字符数比值,通过设置两个阈值:上限阈值tmax,下限阈值tmin,将训练数据中每对句子根据如下规则分成三类:比值小于tmin的数据在源语言句首增加标签《short》。比值大于tmax的数据在源语言句首增加标签《long》。比值在tmin和tmax之间的数据在源语言句首增加标签《norm》。也即是将训练数据根据长度比值划分为三个领域,将控制译文长度的问题转换为领域适配问题。5.在模型推理解码即翻译阶段,根据实际需求,在源语言句首添加不同类型的标签进行解码。《short》标签会使得模型倾向于解码出长度较短的句子,《normal》标签会使得模型倾向于解码出长度相当的句子,《long》标签会使得模型倾向于解码出长度较长的句子。6.但是在上述方法中,虽然不同的标签能够翻译出长度不同的译文,但是依然不能对译文的长度做到准确控制。技术实现要素:7.有鉴于此,提出了一种机器翻译方法、装置及存储介质。本技术实施例通过根据目标显示区域的区域信息和原文信息确定目标译文长度,从而生成长度可控的目标译文信息,解决了相关技术中译文显示效果不佳的问题,可以适配不同的显示区域,保证了机器翻译结果的显示效果。8.第一方面,本技术的实施例提供了一种机器翻译方法,所述方法包括:9.获取源语言的原文信息;10.根据目标显示区域的区域信息和所述原文信息,确定目标译文长度,所述目标显示区域为用于显示译文信息的区域;11.根据所述原文信息和所述目标译文长度,调用机器翻译模型输出得到目标语言的目标译文信息,所述目标语言不同于所述源语言,所述目标译文信息的长度小于或等于所述目标译文长度;12.在所述目标显示区域中显示所述目标译文信息。13.在该实现方式中,获取源语言的原文信息,根据目标显示区域的区域信息和原文信息,确定目标译文长度,目标显示区域为用于显示译文信息的区域,根据原文信息和目标译文长度,调用机器翻译模型输出得到目标语言的目标译文信息,目标译文信息的长度小于或等于目标译文长度,并在目标显示区域中显示目标译文信息,即生成长度可控的目标译文信息,解决了相关技术中译文显示效果不佳的问题,可以适配不同的显示区域,保证了机器翻译结果的显示效果。14.在一种可能的实现方式中,所述根据目标显示区域的区域信息和所述原文信息,确定目标译文长度,包括:15.获取所述目标显示区域的区域尺寸和字体尺寸;16.根据所述区域尺寸和所述字体尺寸,确定最大文本长度,所述最大文本长度为所述目标显示区域中显示的字符数量或子词数量的上限值;17.根据所述最大文本长度和所述原文信息,确定所述目标译文长度。18.在该实现方式中,获取目标显示区域的区域尺寸和字体尺寸;根据区域尺寸和字体尺寸,确定最大文本长度,最大文本长度为目标显示区域中显示的字符数量或子词数量的上限值;根据最大文本长度和原文信息,确定目标译文长度;使得根据场景,即不同设备的显示区域的区域尺寸,确定目标译文长度,进一步保证了不同设备上的翻译显示效果。19.在另一种可能的实现方式中,所述根据所述最大文本长度和所述原文信息,确定所述目标译文长度,包括:20.根据所述原文信息,预测对应的译文信息的第一译文长度;21.当所述第一译文长度小于或等于所述最大文本长度,将所述第一译文长度确定为所述目标译文长度;22.当所述第一译文长度大于所述最大文本长度时,将所述第一译文长度的预设比例确定为所述目标译文长度,所述目标译文长度小于所述第一译文长度。23.在该实现方式中,根据原文信息,预测对应的译文信息的第一译文长度;当第一译文长度小于或等于最大文本长度,将第一译文长度确定为目标译文长度;当第一译文长度大于最大文本长度时,将第一译文长度的预设比例确定为目标译文长度;使得译文长度智能匹配设备的目标显示区域,进一步提高设备上翻译显示效果。24.在另一种可能的实现方式中,所述方法还包括:25.当所述目标显示区域的区域尺寸发生调整时,根据调整后的所述目标显示区域的区域尺寸和所述原文信息,确定第二译文长度,所述第二译文长度不同于所述目标译文长度;26.根据所述原文信息和所述第二译文长度,调用所述机器翻译模型输出得到第二译文信息,所述第二译文信息的长度小于或等于所述第二译文长度,所述第二译文信息不同于所述目标译文信息;27.在所述目标显示区域中显示所述第二译文信息。28.在该实现方式中,当目标显示区域的区域尺寸发生调整时,根据调整后的目标显示区域的区域尺寸和原文信息,确定第二译文长度,第二译文长度不同于目标译文长度;根据原文信息和第二译文长度,调用机器翻译模型输出得到第二译文信息,第二译文信息的长度小于或等于第二译文长度,第二译文信息不同于目标译文信息;在目标显示区域中显示第二译文信息;提供了一种屏幕自适应的机器翻译系统,根据目标显示区域的调整变化,重新进行翻译,调整译文信息的长度,从而得到适配调整后的目标显示区域的译文信息。29.在另一种可能的实现方式中,所述机器翻译模型为基于掩码机制的非自回归翻译(non-autoregressivetranslation,nat)模型。30.在该实现方式中,基于掩码机制的非自回归翻译模型的技术特点,能够生成完全长度可控的译文信息。31.在另一种可能的实现方式中,所述方法还包括:32.获取多个样本原文;33.对于每个所述样本原文,生成对应的不同长度的多个样本译文,每个所述样本译文与所述样本原文组成伪双语语料;34.根据生成的多组所述伪双语语料,训练所述机器翻译模型;35.其中,所述样本原文的语言为所述源语言和所述目标语言中的一种,所述样本译文的语言为所述源语言和所述目标语言中的另一种。36.在该实现方式中,获取多个样本原文;对于每个样本原文,生成对应的不同长度的多个样本译文,每个样本译文与样本原文组成伪双语语料;根据生成的多组伪双语语料,训练机器翻译模型;提出了长度多样性的数据增强方法,增加对于同一样本原文的不同长度的多个样本译文,给模型提供多种解码选项,即通过增加训练数据的多样性的表达方式,让模型更容易学习不同表达形式的译文信息,提升了模型的翻译质量。37.在另一种可能的实现方式中,所述样本原文的语言为所述源语言,所述样本译文的语言为所述目标语言,所述对于每个所述样本原文,生成对应的不同长度的多个样本译文,包括:38.对于每个所述样本原文,分别采用不同的长度标签进行解码,得到对应的不同长度的多个所述样本译文,所述长度标签指示所述样本译文的长度范围。39.在该实现方式中,对于每个样本原文,分别采用不同的长度标签进行解码,得到对应的不同长度的多个样本译文,长度标签指示样本译文的长度范围;提出了基于长度标签编码的数据增强方法,增加了伪双语语料的多样性表达。40.在另一种可能的实现方式中,所述样本原文的语言为所述目标语言,所述样本译文的语言为所述源语言,所述对于每个所述样本原文,生成对应的不同长度的多个样本译文,包括:41.对于每个所述样本原文,采用随机采样方式进行解码,得到对应的不同长度的多个所述样本译文。42.在该实现方式中,对于每个样本原文,采用随机采样方式进行解码,得到对应的不同长度的多个样本译文;提出了使用多轮次基于随机采样的数据增强的方法,增加了伪双语语料的多样性表达。43.第二方面,本技术的实施例提供了一种机器翻译装置,所述装置包括:44.获取单元,用于获取源语言的原文信息;45.确定单元,用于根据目标显示区域的区域信息和所述原文信息,确定目标译文长度,所述目标显示区域为用于显示译文信息的区域;46.输出单元,用于根据所述原文信息和所述目标译文长度,调用机器翻译模型输出得到目标语言的目标译文信息,所述目标语言不同于所述源语言,所述目标译文信息的长度小于或等于所述目标译文长度;47.显示单元,用于在所述目标显示区域中显示所述目标译文信息。48.在一种可能的实现方式中,所述确定单元,还用于:49.获取所述目标显示区域的区域尺寸和字体尺寸;50.根据所述区域尺寸和所述字体尺寸,确定最大文本长度,所述最大文本长度为所述目标显示区域中显示的字符数量或子词数量的上限值;51.根据所述最大文本长度和所述原文信息,确定所述目标译文长度。52.在另一种可能的实现方式中,所述确定单元,还用于:53.根据所述原文信息,预测对应的译文信息的第一译文长度;54.当所述第一译文长度小于或等于所述最大文本长度,将所述第一译文长度确定为所述目标译文长度;55.当所述第一译文长度大于所述最大文本长度时,将所述第一译文长度的预设比例确定为所述目标译文长度,所述目标译文长度小于所述第一译文长度。56.在另一种可能的实现方式中,所述装置还包括:重新翻译单元;所述重新翻译单元,用于:57.当所述目标显示区域的区域尺寸发生调整时,根据调整后的所述目标显示区域的区域尺寸和所述原文信息,确定第二译文长度,所述第二译文长度不同于所述目标译文长度;58.根据所述原文信息和所述第二译文长度,调用所述机器翻译模型输出得到第二译文信息,所述第二译文信息的长度小于或等于所述第二译文长度,所述第二译文信息不同于所述目标译文信息;59.在所述目标显示区域中显示所述第二译文信息。60.在另一种可能的实现方式中,所述机器翻译模型为基于掩码机制的nat模型。61.在另一种可能的实现方式中,所述装置还包括:训练单元;所述训练单元,用于:62.获取多个样本原文;63.对于每个所述样本原文,生成对应的不同长度的多个样本译文,每个所述样本译文与所述样本原文组成伪双语语料;64.根据生成的多组所述伪双语语料,训练所述机器翻译模型;65.其中,所述样本原文的语言为所述源语言和所述目标语言中的一种,所述样本译文的语言为所述源语言和所述目标语言中的另一种。66.在另一种可能的实现方式中,所述样本原文的语言为所述源语言,所述样本译文的语言为所述目标语言,所述训练单元,还用于:67.对于每个所述样本原文,分别采用不同的长度标签进行解码,得到对应的不同长度的多个所述样本译文,所述长度标签指示所述样本译文的长度范围。68.在另一种可能的实现方式中,所述样本原文的语言为所述目标语言,所述样本译文的语言为所述源语言,所述训练单元,还用于:69.对于每个所述样本原文,采用随机采样方式进行解码,得到对应的不同长度的多个所述样本译文。70.第三方面,本技术的实施例提供了一种机器翻译装置,所述装置包括:71.处理器;72.用于存储处理器可执行指令的存储器;73.其中,所述处理器被配置为执行所述指令时实现第一方面或第一方面的任意一种可能的实现方式提供的方法。74.第四方面,本技术的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现第一方面或第一方面的任意一种可能的实现方式提供的方法。75.第五方面,本技术的实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机可读代码,或者承载有所述计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在计算设备中运行时,所述计算设备中的处理器执行第一方面或第一方面的任意一种可能的实现方式提供的方法。附图说明76.包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本技术的示例性实施例、特征和方面,并且用于解释本技术的原理。77.图1示出了本技术一个示例性实施例提供的计算设备的结构示意图。78.图2示出了本技术一个示例性实施例提供的机器翻译方法的流程图。79.图3示出了本技术一个示例性实施例提供的机器翻译方法涉及的原理示意图。80.图4示出了本技术一个示例性实施例提供的机器翻译模型的模型训练和推理过程的原理示意图。81.图5示出了本技术一个示例性实施例提供的非自回归翻译模型的模型结构的示意图。82.图6示出了本技术一个示例性实施例提供的基于长度标签编码的模型结构的示意图。83.图7示出了本技术一个示例性实施例提供的非自回归解码过程的示意图。84.图8示出了本技术一个示例性实施例提供的非自回归解码过程的示意图。85.图9示出了本技术一个示例性实施例提供的机器翻译方法的界面示意图。86.图10示出了本技术另一个示例性实施例提供的机器翻译方法的界面示意图。87.图11示出了本技术另一个示例性实施例提供的机器翻译方法的界面示意图。88.图12示出了本技术一个示例性实施例提供的机器翻译装置的框图。具体实施方式89.以下将参考附图详细说明本技术的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。90.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。91.另外,为了更好的说明本技术,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本技术同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本技术的主旨。92.首先,对本技术实施例涉及的一些名词进行介绍。93.1、源语言:待翻译的句子的语言,比如中翻英的中文是源语言。94.2、目标语言:翻译结果的语言,即对源语言进行翻译后得到的语言,比如中翻英的英文是目标语言。95.3、双语数据:互为翻译的数据,比如中文句子和对应的英文句子。96.4、单语数据:单个语言的数据,比如中文数据或英文数据。97.5、长度标签:词表中一个特定的单词,用于指示原文和译文的长度大小关系。98.6、子词:通过分词工具,对单词切分后的新的单词形态。99.相关技术中,还提供了一种基于掩码机制的非自回归神经机器翻译技术,可以实现并行解码。采用标准的机器翻译模型架构即transformer架构,主要特点分为两方面:一方面,在源端引入译文长度预测模块,能够基于原文的信息预测译文的长度,用于目标端的推理。另一方面,在目标端引入掩码机制,对目标端的单词进行掩码处理。在训练和推理过程中,模型并行地预测所有目标端被掩码处理的单词。100.在推理时,首先预测译文的单词个数;其次通过多次迭代预测提升译文质量,最开始将所有目标端的单词进行掩码预测,并对所有预测的单词结果进行置信度评估,将预测的置信度低的单词重新掩码,再进行迭代预测,直到所有单词的有较好置信度或者达到迭代次数上限。101.但是在上述方法中,译文长度预测的模块是不可控的,并不能有效地控制译文的长度。102.而本技术实施例提供了一种机器翻译方法,根据目标显示区域的区域信息和原文信息确定目标译文长度,从而生成长度可控的目标译文信息,解决了相关技术中译文显示效果不佳的问题,可以适配不同的显示区域,保证了机器翻译结果的显示效果。对多设备来说,实现了一次训练,多屏自动适配的效果。103.本技术实施例提供了一种机器翻译方法,执行主体为计算设备。请参考图1,其示出了本技术一个示例性实施例提供的计算设备的结构示意图。104.该计算设备可以是终端或者服务器。终端包括移动终端或者固定终端,比如终端可以是智能手机、智能手表、智能手环、平板电脑、膝上型便携计算机和台式计算机等等。服务器可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。105.如图1所示,计算设备包括处理器10、存储器20以及通信接口30。本领域技术人员可以理解,图1中示出的结构并不构成对该计算设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:106.处理器10是计算设备的控制中心,利用各种接口和线路连接整个计算设备的各个部分,通过运行或执行存储在存储器20内的软件程序和/或模块,以及调用存储在存储器20内的数据,执行计算设备的各种功能和处理数据,从而对计算设备进行整体控制。处理器10可以由cpu实现,也可以由图形处理器(graphicsprocessingunit,gpu)实现。107.存储器20可用于存储软件程序以及模块。处理器10通过运行存储在存储器20的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统21、获取单元22、确定单元23、输出单元24、显示单元25和至少一个功能所需的应用程序(比如神经网络训练等)等;存储数据区可存储根据计算设备的使用所创建的数据等。存储器20可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(staticrandomaccessmemory,sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom),可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom),可编程只读存储器(programmableread-onlymemory,prom),只读存储器(readonlymemory,rom),磁存储器,快闪存储器,磁盘或光盘。相应地,存储器20还可以包括存储器控制器,以提供处理器10对存储器20的访问。108.其中,处理器10通过运行获取单元22执行以下功能:获取源语言的原文信息;处理器10通过运行确定单元23执行以下功能:根据目标显示区域的区域信息和原文信息,确定目标译文长度,目标显示区域为用于显示译文信息的区域;处理器10通过运行输出单元24执行以下功能:根据原文信息和目标译文长度,调用机器翻译模型输出得到目标语言的目标译文信息,目标语言不同于源语言,目标译文信息的长度小于或等于目标译文长度;处理器10通过运行显示单元25执行以下功能:在目标显示区域中显示目标译文信息。109.下面,采用几个示例性实施例对本技术实施例提供的机器翻译方法进行介绍。110.请参考图2,其示出了本技术一个示例性实施例提供的机器翻译方法的流程图,本实施例以该方法用于图1所示的计算设备中来举例说明。该方法包括以下几个步骤。111.步骤201,获取源语言的原文信息。112.计算设备获取输入的源语言的原文信息,原文信息为待翻译的原文信息。原文信息可以以文字方式或以图片方式或语音方式输入,本技术实施例对此不加以限定。113.步骤202,根据目标显示区域的区域信息和原文信息,确定目标译文长度,目标显示区域为用于显示译文信息的区域。114.计算设备调用计算设备的显示信息,显示信息包括目标显示区域的区域信息,根据目标显示区域的区域信息和原文信息,确定目标译文长度。其中,目标显示区域为计算设备中用于显示翻译结果即译文信息的区域。115.可选的,目标显示区域的区域信息包括目标显示区域的区域尺寸和字体尺寸,计算设备获取目标显示区域的区域尺寸和字体尺寸;根据区域尺寸和字体尺寸,确定最大文本长度,最大文本长度为目标显示区域中显示的字符数量或子词数量的上限值;根据最大文本长度和原文信息,确定目标译文长度。116.可选的,目标显示区域的区域信息包括目标显示区域的最大文本长度。117.可选的,最大文本长度为目标显示区域中一次性显示的字符数量或子词数量的上限值。118.在一种可能的实现方式中,计算设备根据最大文本长度和原文信息,确定目标译文长度,包括:根据原文信息,预测对应的译文信息的第一译文长度;当第一译文长度小于或等于最大文本长度,将第一译文长度确定为目标译文长度;当第一译文长度大于最大文本长度时,将第一译文长度的预设比例确定为目标译文长度,目标译文长度小于第一译文长度。也就是说,当第一译文长度大于最大文本长度时,引入长度惩罚系数即预设比例,将第一译文长度乘以预设比例后进行相应的减小;不管减小后的译文长度是否大于最大文本长度,仍然将减小后的译文长度确定为目标译文长度。119.其中,预设比例为大于0且小于1的数值。可选的,预设比例是默认设置的,或者是自定义设置的。本技术实施例对此不加以限定。120.比如,目标显示区域显示的最大文本长度为30,预设比例为0.8,其中,长度单位均为“子词”。若预测的第一译文长度为20,即小于30,则确定待翻译的目标译文长度为20;若预测的第一译文长度为40,即大于30,则确定待翻译的目标译文长度为40*0.8=32。本技术实施例对此不加以限定。121.在另一种可能的实现方式中,计算设备根据最大文本长度和原文信息,确定目标译文长度,包括:根据原文信息,预测对应的译文信息的第一译文长度;当第一译文长度小于或等于最大文本长度,将第一译文长度确定为目标译文长度;当第一译文长度大于最大文本长度且小于第一阈值时,将最大文本长度确定为目标译文长度,第一阈值大于最大文本长度;当第一译文长度大于或等于第一阈值时,将第一译文长度的预设比例确定为目标译文长度,目标译文长度小于第一译文长度。其中,预设比例为大于0且小于1的数值。122.可选的,第一阈值是根据最大文本长度确定的。比如,最大文本长度为30个子词,第一阈值为50个子词。123.示意性的,计算设备根据原文信息,调用译文预测模型输出得到译文信息的第一译文长度。译文预测模型为基于原文信息预测对应的译文长度的神经网络模型。124.比如,目标显示区域显示的最大文本长度为30,第一阈值为50,预设比例为0.8,其中,长度单位均为“子词”。若预测的第一译文长度为40,即大于30且小于50,则确定待翻译的目标译文长度为30;若预测的第一译文长度为100,即大于50,则确定待翻译的目标译文长度为100*0.8=80。本技术实施例对此不加以限定。125.步骤203,根据原文信息和目标译文长度,调用机器翻译模型输出得到目标语言的目标译文信息,目标语言不同于源语言,目标译文信息的长度小于或等于目标译文长度。126.计算设备获取预先训练完成的机器翻译模型,将原文信息和目标译文长度输入至机器翻译模型中,输出得到目标语言的目标译文信息。比如,源语言为中文,目标语言为英文。127.可选的,原文信息也称为原文句子,目标译文信息也称为目标译文句子。128.可选的,计算设备将原文信息和目标译文长度输入至机器翻译模型中,进行迭代解码。当解码的所有子词的置信度均高于置信度阈值或者达到最大迭代次数后,解码完成,输出目标语言的目标译文信息。129.可选的,置信度阈值或者最大迭代次数是默认设置的,或者是自定义设置的。本技术实施例对此不加以限定。130.可选的,机器翻译模型为基于掩码机制的nat模型。本技术实施例对此不加以限定。131.可选的,本技术实施例提供的机器翻译模型的训练过程包括但不限于如下几个步骤:获取多个样本原文;对于每个样本原文,生成对应的不同长度的多个样本译文,每个样本译文与样本原文组成伪双语语料;根据生成的多组伪双语语料,训练机器翻译模型;其中,样本原文的语言为源语言和目标语言中的一种,样本译文的语言为源语言和目标语言中的另一种。132.可选的,样本原文的语言为源语言,样本译文的语言为目标语言,对于每个样本原文,生成对应的不同长度的多个样本译文,包括:对于每个样本原文,分别采用不同的长度标签进行解码,得到对应的不同长度的多个样本译文,长度标签指示样本译文的长度范围。133.可选的,样本原文的语言为目标语言,样本译文的语言为源语言,对于每个样本原文,生成对应的不同长度的多个样本译文,包括:对于每个样本原文,采用随机采样方式进行解码,得到对应的不同长度的多个样本译文。134.需要说明的是,本技术实施例提供的机器翻译模型的训练过程可参考下面实施例中的相关细节,在此先不介绍。135.步骤204,在目标显示区域中显示目标译文信息。136.计算设备在目标显示区域中显示目标译文信息,目标译文信息的长度小于或等于目标译文长度。137.在一个示意性例子中,如图3所示,计算设备获取中文的原文信息“人工智能的未来是什么?”,根据目标显示区域的区域尺寸和原文信息确定译文长度为“50个字符”,然后计算设备根据原文信息和译文长度“50个字符”,调用非自回归翻译模型(包括编码器和解码器)输出得到小于或等于“50个字符”的英文的译文信息。138.可选的,当目标显示区域的区域尺寸发生调整时,根据调整后的目标显示区域的区域尺寸和原文信息,确定第二译文长度,第二译文长度不同于目标译文长度;根据原文信息和第二译文长度,调用机器翻译模型输出得到第二译文信息,第二译文信息的长度小于或等于第二译文长度,第二译文信息不同于目标译文信息;在目标显示区域中显示第二译文信息。139.对于同样的原文信息,在不同设备(比如智能手机、智能手表、平板电脑等),模型翻译的译文信息会随目标显示区域的大小变化。140.对于同样的原文信息,在同一个应用中,通过调整应用的目标显示区域的大小,模型翻译的译文信息会随着目标显示区域的变化,动态调整译文信息,用以适配目标显示区域。141.本技术实施例提供的机器翻译方法可以使用在各种翻译设备和服务中,提供译文长度可控的翻译,做到当显示区域大小变化时,显示不同的翻译结果。本技术实施例是适配设备全场景的系统,能够在不同设备根据使用场景来自动的调整译文生成的情况,改善显示效果。142.如图4所示,其示出了本技术一个示例性实施例提供的机器翻译模型的模型训练和推理过程的原理示意图。143.在模型训练阶段,计算设备使用长度标签编码的方式训练自回归翻译模型。计算设备获取源语言单语数据,使用多种不同的长度标签进行解码,生成不同长度的目标语言译文,与源语言单语构成伪双语语料。使用标准transformer模型训练自回归解码的机器翻译模型。对于目标语言单语数据,使用随机采样解码方式进行解码,生成伪造的源语言译文,与目标语言单语构成伪双语语料。将以上两个步骤生成的伪双语语料用于训练基于条件掩码语言模型(conditionalmaskedlanguagemodels,cmlm)的非自回归翻译模型。其中,自回归翻译模型和非自回归翻译模型均包括编码器和解码器。144.在模型解码阶段,采用“遮掩-预测”解码机制进行逐步优化,提高模型解码出的译文效果。比如,计算设备获取待翻译数据即源语言的原文信息,根据设备中用于显示翻译结果的显示区域的尺寸和原文信息计算译文长度,将原文信息和计算出的译文长度输入至非自回归翻译模型中,输出得到长度小于或等于译文长度的目标语言的译文。145.由于自回归解码神经机器翻译在对目标语言进行解码时,当前词的预测依赖于前面已解码词的信息,因此,只能逐词地进行预测;而非自回归翻译对目标语言的每个词独立地进行预测,能一次性地预测出整个目标语言句子。146.可选的,非自回归翻译模型的模型结构如图5所示,非自回归翻译模型包括编码器和解码器,编码器和标准transformer结构相同,但解码器的自注意力层有改动,解码器的自注意力层和编码是一致的。模型训练时,对目标语言的训练数据按照概率随机进行掩码,也即是将某些目标语言的词用“面具(英文:mask)”替换,模型的训练目标为预测这些“面具”。147.可选的,基于长度标签编码的模型结构如图6所示,假定给定双语数据《x,y》,样本原文为x,句子长度为lx,样本译文为y,句子长度为ly;s含有m个词x1,x2,…,xn,对应的单词编码分别为ex1,ex2,…,exn。该当前句对应的样本译文含有m个词y1,y2,…,ym。计算设备根据双语数据的句长和如下公式将数据分为三种类型,对应的标签为tshort,tnormal,tlong,对应的编码分别为eshort,enormal,elong。将对应的标签编码加入到所有的原文单词编码ex1,ex2,…,exn,采用如下公式计算长度标签,从而使用该长度标签编码方法训练机器翻译模型:[0148][0149]在进行推理时,同一句原文信息分别使用不同的标签编码进行解码,会得到多种不同长度的翻译结果,增加译文的多样性。使用tshort的标签编码会解码出相对较短的句子;使用tlong的标签编码会解码出相对较长的句子,使用tnormal会解码出长度适中的句子。[0150]可选的,随机采样解码的方法,包括:基于top-k随机采样的解码是指在模型解码阶段,每次不选用概率最高的单词作为答案,而是使用随机采样的方式从最高概率的k个中随机选出。同一句原文信息通过这种方式解码进行多次解码,会得到多种不同长度的翻译结果,增加译文的多样性。[0151]可选的,基于cmlm的非自回归解码过程包括但不限于如下几个步骤:给定一个源语言的原文信息即句子s,该句子s包括n个词,分别为x1,x2,…,xn,计算设备根据源语言的句子,计算出译文的单词个数为m。然后将目标语言句子置为m个特殊标记[mask],模型同时对m个[mask]进行预测,预测出目标语言句子中的所有词,并同时对所有词进行置信度打分。如图7所示,原文信息为x1,x2,…,x8,预测的译文长度为6,解码器的译文输入为6个artificialintelligence?thefutureofartificialintelligenceisasunpredictableastomorrow'smarketchangesareunpredictable.”当目标显示区域1101的区域尺寸发生调整时,根据调整后的目标显示区域1102的区域尺寸对原文信息重新进行翻译,得到适配目标显示区域1102的译文信息2,并在目标显示区域1102中显示该译文信息2“whatisthefutureofai?wecan'tpredictai'sfutureaslikewecan'tpredicttomorrow'smarketchanges.”[0159]综上所述,本技术实施例提供了一种机器翻译方法,在一方面,提供了一种指定译文长度的非自回归翻译模型。在解码阶段,将基于cmlm的非自回归翻译模型的长度预测模块修改为指定译文长度的方式。充分利用了基于条件掩码的非自回归解码翻译模型的技术特点,能够生成完全长度可控的译文信息。在另一方面,提供了一种屏幕自适应的机器翻译系统,根据不同设备的用于显示译文信息的显示区域大小,调整译文长度,使得译文长度智能匹配目标显示区域,提升不同智能设备上翻译显示效果。在另一方面,提出了长度多样性的数据增强方法,增加对于同一语句的不同表达方式,给模型提供多种解码选项。通过增加训练数据的多样性的表达方式,让模型更容易学习不同表达形式的译文信息,提升译文信息的质量。在另一方面,提出了基于长度标签编码的数据增强方法,增加了伪双语语料的多样性表达。在另一方面,提出了使用多轮次基于随机采样的数据增强的方法,增加了伪双语语料的多样性表达。[0160]下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。[0161]请参考图12,其示出了本技术一个示例性实施例提供的机器翻译装置的框图。该装置可以通过软件、硬件或者两者的结合实现成为计算设备的全部或者一部分。该装置可以包括:获取单元1210、确定单元1220、输出单元1230和显示单元1240。[0162]获取单元1210,用于获取源语言的原文信息;[0163]确定单元1220,用于根据目标显示区域的区域信息和原文信息,确定目标译文长度,目标显示区域为用于显示译文信息的区域;[0164]输出单元1230,用于根据原文信息和目标译文长度,调用机器翻译模型输出得到目标语言的目标译文信息,目标语言不同于源语言,目标译文信息的长度小于或等于目标译文长度;[0165]显示单元1240,用于在目标显示区域中显示目标译文信息。[0166]在一种可能的实现方式中,确定单元1230,还用于:[0167]获取目标显示区域的区域尺寸和字体尺寸;[0168]根据区域尺寸和字体尺寸,确定最大文本长度,最大文本长度为目标显示区域中显示的字符数量或子词数量的上限值;[0169]根据最大文本长度和原文信息,确定目标译文长度。[0170]在另一种可能的实现方式中,确定单元1220,还用于:[0171]根据原文信息,预测对应的译文信息的第一译文长度;[0172]当第一译文长度小于或等于最大文本长度,将第一译文长度确定为目标译文长度;[0173]当第一译文长度大于最大文本长度时,将第一译文长度的预设比例确定为目标译文长度,目标译文长度小于第一译文长度。[0174]在另一种可能的实现方式中,该装置还包括:重新翻译单元;重新翻译单元,用于:[0175]当目标显示区域的区域尺寸发生调整时,根据调整后的目标显示区域的区域尺寸和原文信息,确定第二译文长度,第二译文长度不同于目标译文长度;[0176]根据原文信息和第二译文长度,调用机器翻译模型输出得到第二译文信息,第二译文信息的长度小于或等于第二译文长度,第二译文信息不同于目标译文信息;[0177]在目标显示区域中显示第二译文信息。[0178]在另一种可能的实现方式中,机器翻译模型为基于掩码机制的nat模型。[0179]在另一种可能的实现方式中,该装置还包括:训练单元;训练单元,用于:[0180]获取多个样本原文;[0181]对于每个样本原文,生成对应的不同长度的多个样本译文,每个样本译文与样本原文组成伪双语语料;[0182]根据生成的多组伪双语语料,训练机器翻译模型;[0183]其中,样本原文的语言为源语言和目标语言中的一种,样本译文的语言为源语言和目标语言中的另一种。[0184]在另一种可能的实现方式中,样本原文的语言为源语言,样本译文的语言为目标语言,训练单元,还用于:[0185]对于每个样本原文,分别采用不同的长度标签进行解码,得到对应的不同长度的多个样本译文,长度标签指示样本译文的长度范围。[0186]在另一种可能的实现方式中,样本原文的语言为目标语言,样本译文的语言为源语言,训练单元,还用于:[0187]对于每个样本原文,采用随机采样方式进行解码,得到对应的不同长度的多个样本译文。[0188]需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。[0189]本技术的实施例提供了一种机器翻译装置,所述装置包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述各个实施例中由计算设备执行的方法。[0190]本技术的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述各个实施例中由计算设备执行的方法。[0191]本技术的实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机可读代码,或者承载有所述计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述各个实施例中由计算设备执行的方法。[0192]计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(randomaccessmemory,ram)、只读存储器(readonlymemory,rom)、可擦式可编程只读存储器(electricallyprogrammableread-only-memory,eprom或闪存)、静态随机存取存储器(staticrandom-accessmemory,sram)、便携式压缩盘只读存储器(compactdiscread-onlymemory,cd-rom)、数字多功能盘(digitalvideodisc,dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。[0193]这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。[0194]用于执行本技术操作的计算机程序指令可以是汇编指令、指令集架构(instructionsetarchitecture,isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(localareanetwork,lan)或广域网(wideareanetwork,wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(field-programmablegatearray,fpga)或可编程逻辑阵列(programmablelogicarray,pla),该电子电路可以执行计算机可读程序指令,从而实现本技术的各个方面。[0195]这里参照根据本技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本技术的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。[0196]这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。[0197]也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。[0198]附图中的流程图和框图显示了根据本技术的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。[0199]也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或asic(applicationspecificintegratedcircuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。[0200]尽管在此结合各实施例对本技术进行了描述,然而,在实施所要求保护的本技术过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。[0201]以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本
技术领域:
:的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本
技术领域:
:的其它普通技术人员能理解本文披露的各实施例。当前第1页12当前第1页12
技术特征:
1.一种机器翻译方法,其特征在于,所述方法包括:获取源语言的原文信息;根据目标显示区域的区域信息和所述原文信息,确定目标译文长度,所述目标显示区域为用于显示译文信息的区域;根据所述原文信息和所述目标译文长度,调用机器翻译模型输出得到目标语言的目标译文信息,所述目标语言不同于所述源语言,所述目标译文信息的长度小于或等于所述目标译文长度;在所述目标显示区域中显示所述目标译文信息。2.根据权利要求1所述的方法,其特征在于,所述根据目标显示区域的区域信息和所述原文信息,确定目标译文长度,包括:获取所述目标显示区域的区域尺寸和字体尺寸;根据所述区域尺寸和所述字体尺寸,确定最大文本长度,所述最大文本长度为所述目标显示区域中显示的字符数量或子词数量的上限值;根据所述最大文本长度和所述原文信息,确定所述目标译文长度。3.根据权利要求2所述的方法,其特征在于,所述根据所述最大文本长度和所述原文信息,确定所述目标译文长度,包括:根据所述原文信息,预测对应的译文信息的第一译文长度;当所述第一译文长度小于或等于所述最大文本长度,将所述第一译文长度确定为所述目标译文长度;当所述第一译文长度大于所述最大文本长度时,将所述第一译文长度的预设比例确定为所述目标译文长度,所述目标译文长度小于所述第一译文长度。4.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:当所述目标显示区域的区域尺寸发生调整时,根据调整后的所述目标显示区域的区域尺寸和所述原文信息,确定第二译文长度,所述第二译文长度不同于所述目标译文长度;根据所述原文信息和所述第二译文长度,调用所述机器翻译模型输出得到第二译文信息,所述第二译文信息的长度小于或等于所述第二译文长度,所述第二译文信息不同于所述目标译文信息;在所述目标显示区域中显示所述第二译文信息。5.根据权利要求1至4任一所述的方法,其特征在于,所述机器翻译模型为基于掩码机制的非自回归翻译nat模型。6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:获取多个样本原文;对于每个所述样本原文,生成对应的不同长度的多个样本译文,每个所述样本译文与所述样本原文组成伪双语语料;根据生成的多组所述伪双语语料,训练所述机器翻译模型;其中,所述样本原文的语言为所述源语言和所述目标语言中的一种,所述样本译文的语言为所述源语言和所述目标语言中的另一种。7.根据权利要求6所述的方法,其特征在于,所述样本原文的语言为所述源语言,所述样本译文的语言为所述目标语言,所述对于每个所述样本原文,生成对应的不同长度的多
个样本译文,包括:对于每个所述样本原文,分别采用不同的长度标签进行解码,得到对应的不同长度的多个所述样本译文,所述长度标签指示所述样本译文的长度范围。8.根据权利要求6所述的方法,其特征在于,所述样本原文的语言为所述目标语言,所述样本译文的语言为所述源语言,所述对于每个所述样本原文,生成对应的不同长度的多个样本译文,包括:对于每个所述样本原文,采用随机采样方式进行解码,得到对应的不同长度的多个所述样本译文。9.一种机器翻译装置,其特征在于,所述装置包括:获取单元,用于获取源语言的原文信息;确定单元,用于根据目标显示区域的区域信息和所述原文信息,确定目标译文长度,所述目标显示区域为用于显示译文信息的区域;输出单元,用于根据所述原文信息和所述目标译文长度,调用机器翻译模型输出得到目标语言的目标译文信息,所述目标语言不同于所述源语言,所述目标译文信息的长度小于或等于所述目标译文长度;显示单元,用于在所述目标显示区域中显示所述目标译文信息。10.一种机器翻译装置,其特征在于,所述装置包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现权利要求1-8任意一项所述的方法。11.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1-8中任意一项所述的方法。12.一种计算机程序产品,所述计算机程序产品包括计算机可读代码,或者承载有所述计算机可读代码的非易失性计算机可读存储介质,其特征在于,当所述计算机可读代码在计算设备中运行时,所述计算设备中的处理器执行权利要求1-8任意一项所述的方法。
技术总结
本申请涉及人工智能技术领域,尤其涉及一种机器翻译方法、装置及存储介质。所述方法包括:获取源语言的原文信息;根据目标显示区域的区域信息和原文信息,确定目标译文长度,目标显示区域为用于显示译文信息的区域;根据原文信息和目标译文长度,调用机器翻译模型输出得到目标语言的目标译文信息,目标语言不同于源语言,目标译文信息的长度小于或等于目标译文长度;在目标显示区域中显示目标译文信息。本申请实施例通过根据目标显示区域的区域信息和原文信息确定目标译文长度,从而生成长度可控的目标译文信息,解决了相关技术中译文显示效果不佳的问题,可以适配不同的显示区域,保证了机器翻译结果的显示效果。保证了机器翻译结果的显示效果。保证了机器翻译结果的显示效果。
技术研发人员:李宗耀 魏代猛 商恒超 郭嘉鑫 赵艳青
受保护的技术使用者:华为技术有限公司
技术研发日:2023.03.22
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
