1.本发明涉及人工智能的自然语言处理领域,尤其涉及一种机器翻译模型的训练方法、语言翻译方法及设备。
背景技术:2.神经机器翻译近年来迅速崛起。相比统计机器翻译而言,神经机器翻译从模型上来说相对简单,它主要包含两个部分,一个是编码器,一个是解码器。编码器是把源语言经过一系列的神经网络的变换之后,表示成一个高维的向量。解码器负责把这个高维向量再重新解码(翻译)成目标语言。
3.神经机器翻译模型的训练离不开大规模、高质量的双语平行数据。双语平行数据通常是请人工译员进行翻译所得到的,构建大规模双语平行数据需要耗费巨大的人力资源和时间成本。
4.然而,双语平行数据中源自不同语言的所覆盖的内容有明显的差异,将该差异称作语言覆盖偏差。通过神经机器翻译模型翻译得到的译文的忠实度与语言覆盖偏差密切相关。因此,双语平行数据中语言覆盖偏差的存在,将会影响通过双语平行数据训练得到的神经机器翻译模型的性能。
技术实现要素:5.本技术实施例提供一种机器翻译模型的训练方法、语言翻译方法及设备,应用该机器翻译模型的训练方法可以消除由于双语平行数据库中源自不同语言的双语平行性句对之间存在的语言覆盖偏差对机器翻译模型产生的影响,从而提升应用该方法训练得到的机器翻译模型的性能。
6.第一方面,本技术实施例提供了一种机器翻译模型的训练方法,包括:获取双语平行数据库,所述双语平行数据库包括多组双语平行句对,所述双语平行句对为由源语言数据和目标语言数据构成的内容对齐的数据,所述双语平行数据库包括第一双语平行数据库;
7.将所述第一双语平行数据库中的多组双语平行句对划分为源自源语言数据和源自目标语言数据,其中,属于所述源自源语言数据的双语平行句对中的目标语言数据是基于源语言数据翻译得到的,属于所述源自目标语言数据的双语平行句对中的源语言数据是基于目标语言数据翻译得到的;
8.通过所述源自源语言数据训练第一机器翻译模型,所述第一机器翻译模型用于将源语言翻译为目标语言。
9.其中,所述将所述第一双语平行数据库中的多个双语平行句对划分为源自源语言数据和源自目标语言数据,包括:
10.从所述第一双语平行数据库中获取待处理平行句对;
11.根据待处理平行句对覆盖的内容,确定待处理平行句对的数据类型,所述数据类
型包括所述源自源语言数据和所述源自目标语言数据。
12.其中,所述根据待处理平行句对覆盖的内容,确定待处理平行句对的数据类型,包括:
13.根据所述待处理平行句对中的源语言数据确定所述待处理平行句对中的源语言数据来源于源语言的第一概率;
14.根据所述待处理平行句对中的目标语言数据的内容确定所述待处理平行句对中的目标语言数据来源于目标语言的第二概率;
15.根据所述第一概率和所述第二概率之间的偏差确定所述待处理平行句对的数据类型。
16.其中,所述根据所述第一概率和所述第二概率之间的偏差确定所述待处理平行句对的数据类型,具体包括:
17.根据所述第一概率和所述第二概率之间的偏差确定所述待处理平行句对的评分,所述评分用于确定所述待处理平行句对的数据类型;
18.当所述评分大于目标阈值时,确定所述待处理平行句对属于源自源语言数据;
19.当所述评分小于目标阈值时,确定所述待处理平行句对属于源自目标语言数据。
20.其中,根据所述待处理平行句对中的源语言数据确定所述待处理平行句对中的源语言数据来源于源语言的第一概率,包括:将所述待处理平行句对中的源语言数据输入到第一语言模型中,确定所述第一概率,所述第一语言模型用于确定所述待处理平行句对中的源语言数据在源语言中出现的概率,所述第一语言模型是通过源语言单语数据库训练得到的模型;
21.根据所述待处理平行句对中的目标语言数据的内容确定所述待处理平行句对中的目标语言数据是源自目标语言的第二概率,包括:将所述待处理平行句对中的目标语言数据输入到第二语言模型中,确定所述待第二概率,所述第二语言模型用于确定所述待处理平行句对中的目标语言数据在目标语言中出现的概率,所述第二语言模型为通过目标语言单语数据库训练得到的模型。
22.其中,在通过所述源自源语言数据训练第一机器翻译模型之前,所述方法还包括:
23.使用所述双语平行数据库训练初始机器翻译模型,得到所述第一机器翻译模型。
24.其中,在通过所述源自源语言数据训练第一机器翻译模型之前,所述方法还包括:
25.获取单语数据库,所述单语数据库包括多条语言为目标语言的原文本;
26.将所述单语数据库中的每一条原文本输入到所述第二机器翻译模型中,得到所述每一条原文本对应的源语言翻译文本,所述第二机器翻译模型是通过所述第一双语平行数据库训练得到的,所述第二机器翻译模型用于将目标语言翻译为源语言;
27.将所述多条语言为目标语言的原文本和所述多条语言为目标语言的原文本分别对应的源语言翻译文本组成的多组伪平行句对添加至所述双语平行数据库。
28.其中,在通过所述源自源语言数据训练第一机器翻译模型之前,所述方法还包括:
29.获取单语数据库,所述单语数据库包括多条语言为源语言的原文本;
30.将所述单语数据库中的每一条原文本输入到所述第三机器翻译模型中,得到所述每一条原文本对应的目标语言翻译文本,所述第三机器翻译模型是通过所述第一双语平行数据库训练得到的,所述第三机器翻译模型用于将源语言翻译为目标语言;
31.将所述多条语言为源语言的原文本和所述多条语言为源语言的原文本分别对应的目标语言翻译文本组成的多组伪平行句对添加至所述双语平行数据库。
32.第二方面,本技术实施例提供一种语言翻译方法,包括:
33.接收待翻译数据,所述待翻译数据为源语言数据;
34.将待翻译数据输入到机器翻译模型中,得到所述待翻译数据对应的目标语言数据,所述机器翻译模型是通过如第一方面或者第一方面的各种可选实现方式中提供的方法训练得到的第一机器翻译模型。
35.第三方面,本技术实施例提供一种机器翻译模型的训练装置,包括:
36.获取单元,用于获取双语平行数据库,所述双语平行数据库包括多组双语平行句对,所述双语平行句对为由源语言数据和目标语言数据构成的内容对齐的数据,所述双语平行数据库包括第一双语平行数据库;
37.划分单元,用于将所述第一双语平行数据库中的多组双语平行句对划分为源自源语言数据和源自目标语言数据,其中,属于所述源自源语言数据的双语平行句对中的目标语言数据是基于源语言数据翻译得到的,属于所述源自目标语言数据的双语平行句对中的源语言数据是基于目标语言数据翻译得到的;
38.训练单元,用于通过所述源自源语言数据训练第一机器翻译模型,所述第一机器翻译模型用于将源语言翻译为目标语言。
39.第四方面,本技术实施例提供一种语言翻译装置,包括:
40.接收单元,用于接收待翻译数据,所述待翻译数据为源语言数据;
41.翻译单元,用于将所述待翻译数据翻译为其对应的目标语言数据,所述翻译单元包括机器翻译模型,所述机器翻译模型是通过如第一方面或者第一方面的各种可选实现方式中提供的机器模型的训练方法训练得到的第一机器翻译模型。
42.第五方面,本技术实施例提供一种计算机设备,其特征在于,包括:一个或多个处理器、一个或多个存储器,所述一个或多个存储器分别与所述一个或多个处理器耦合;所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;
43.所述处理器用于调用所述计算机指令执行:如第一方面或者第一方面的各种可选实现方式中提供的机器模型的训练方法。
44.第六方面,本技术实施例提供一种计算机设备,其特征在于,包括:一个或多个处理器、一个或多个存储器,所述一个或多个存储器分别与所述一个或多个处理器耦合;所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;
45.所述处理器用于调用所述计算机指令执行:如第二方面提供的语言翻译方法。
46.第七方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如第一方面或者第一方面的各种可选实现方式中提供的机器翻译模型的训练方法。
47.第八方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如第二方面所述的语言翻译方法。
48.第九方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算
机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面或者第一方面的各种可选实现方式中提供的方法。
49.第十方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第二方面提供的语言翻译方法。
50.本技术实施例提供的一种机器翻译模型的训练方法,对第一双语平行数据库中的数据进行划分,划分为源自源语言数据和源自目标语言数据,通过源自源语言数据对初始机器翻译模型进行微调,得到微调后的机器翻译模型,应用该微调后的机器翻译模型进行翻译任务,能够消除由于不同语言的数据之间存在的语言覆盖偏差对机器翻译模型的影响,从而提高通过该方法训练得到的机器翻译模型的性能,应用该模型可以得到译文质量和忠实度较高的译文。
附图说明
51.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
52.图1a是本技术实施例提供的一种计算机系统的结构示意图;
53.图1b是本技术实施例提供的一种机器翻译模型的训练方法的流程示意图;
54.图2是本技术实施例提供的应用一种划分数据类型的方法得到的划分准确率的结果的示意图;
55.图3
‑
图5是本技术实施例提供的通过划分后的数据进行训练得到的几种机器模型的翻译表现结果的示意图;
56.图6是本技术实施例提供的另一种机器翻译模型的训练方法的流程示意图;
57.图7是本技术实施例提供的应用一种机器翻译模型的训练方法的训练得到的模型的翻译表现结果的示意图;
58.图8是本技术实施例提供的另一种机器翻译模型的训练方法的流程示意图;
59.图9是本技术实施例提供的另一种机器翻译模型的训练方法的流程示意图;
60.图10是本技术实施例提供的应用几种机器翻译模型的得到的译文质量的结果示意图;
61.图11a是本技术实施例提供的一种机器翻译模型的训练装置的结构示意图;
62.图11b是本技术实施例提供的一种语言翻译装置的结构示意图;
63.图12是本技术实施例提供的一种语言翻译设备的结构示意图;
64.图13是本技术实施例提供的一种机器翻译模型的训练设备的结构示意图。
具体实施方式
65.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
66.首先,为便于理解,在介绍本技术实施例提供的机器翻译模型的训练方法之前,下面介绍本技术发明例所涉及的相关术语。
67.dl:deep learning,深度学习,是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。
68.nn:neural network,神经网络,在机器学习和认知科学领域的一种模仿生物神经网络结构和功能的深度学习模型。
69.dnn:deep neural network,深度神经网络,网络结构较深的神经网络,深度学习中的核心模型。
70.nmt:neural machine translation,神经机器翻译,最新一代基于神经网络的机器翻译技术。
71.bleu:机器翻译评测的标准方法,该值越高表示效果越好。
72.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
73.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
74.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
75.自然语言处理(nature language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
76.机器翻译,是指通过计算机将一种自然语言(源语言)的句子翻译为另一种自然语言(目标语言)的句子的翻译方式。通常,机器翻译是通过训练好的机器翻译模型将源语言的句子翻译为目标语言的句子。示例性的,源语言为中文,目标语言为英文,源语言的句子为“我是一个学生。”,通过机器翻译模型将该句子翻译为“iamastudent.”。其中,机器翻译模型可以是通过大量的双语平行句对训练而成的。
77.双语平行句对,由源语言数据和其对应的目标语言数据构成的内容对齐的数据,这里“内容对齐”是指源语言数据的内容和目标语言数据的内容具有翻译关系、意思表达一致。
78.在本技术实施例中,双语平行句对可以划分为两类,分别是源自源语言数据和源自目标语言数据。
79.其中,源自源语言数据指的是由源语言的创作者先产生文本,再由人类译员翻译到目标语言,构成内容对齐的双语平行句对。也就是说,属于源自源语言数据的双语平行句对中的目标语言数据是基于源语言数据翻译得到的。
80.其中,源自目标语言数据指的是由目标语言的创作者先产生文本,然后通过反向的翻译方向由人类译员翻译到源语言,构成内容对齐的双语平行句对。也就是说,属于源自目标语言数据的双语平行句对中的源语言数据是基于目标语言数据翻译得到的。
81.语言覆盖偏差,源自不同语言的数据所覆盖的内容有明显的差异,将这种差异称作语言覆盖偏差。例如,源自中文的数据中可以包括“云南、张三、李四、大闸蟹、巴城”等具有中文特征的内容,而源自英文的数据中可以包括“california、national basketball association、birmingham”等具有英文特征的内容。
82.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
83.通过本技术实施例提供的机器翻译模型的训练方法训练得到的机器翻译模型可以用于如下场景:
84.(1)机器翻译
85.在该应用场景下,采用本技术实施例提供的方法所训练的机器翻译模型可以用于电子词典应用程序、电子书应用程序、网页浏览应用程序、社交应用程序、图文识别应用程序等支持翻译功能的应用程序中。当上述应用程序接收到待翻译数据时,机器翻译模型根据输入的待翻译数据,输出翻译结果。示例性的,待翻译数据包括文本类型、图片类型、音频类型和视频类型的内容中的至少一种。
86.(2)对话问答
87.在该应用场景下,采用本技术实施例提供的方法所训练的机器翻译模型可以应用于智能终端或智能家居等智能设备中。以智能终端中设置的虚拟助理为例,该虚拟助理的自动回答功能是通过本技术实施例提供的机器翻译模型的训练方法训练得到的及翻译模型实现的。用户向虚拟助理提出有关翻译的问题,当虚拟助理接收到用户输入的问题时(用户输入的问题可以是通过语音或文字输入的形式实现),机器翻译模型分局输入的问题,输出翻译结果,智能设备将翻译结果转换为语音或文字的形式,通过虚拟助理反馈给用户。
88.上述仅以两种场景为例进行说明,本技术实施例提供的方法还可以用于其他的应用场景,如提取文本摘要,本技术实施例对具体的应用场景不作限定。
89.本技术实施例提供的机器翻译模型的训练方法和语言翻译方法可以应用于具有较强数据处理能力的计算机设备中。在一些实施例中,本技术实施例提供的机器翻译模型的训练方法和语言翻译方法可以应用于个人计算机、工作站或服务器中,即可以通过个人
计算机、工作站或服务器实现机器翻译以及训练机器翻译模型。
90.下面介绍本技术实施例提供的一种计算机系统,请参阅图1a,图1a为一种计算机系统的结构示意图,该计算机系统包括数据库10、训练设备11和执行设备12,执行设备12中可以包括第一设备110和第二设备120。
91.其中,数据库10包括不同语言的双语平行数据库、单语数据库,其中的数据可以作为样本数据用于机器翻译模型的训练。
92.训练设备11可以为服务器、工作站、个人电脑等设备,用于通过从数据库10获取到的数据训练机器翻译模型。具体的,训练设备11可以获取第一双语平行数据库,然后将所述第一双语平行数据库中的多组双语平行句对划分为源自源语言数据和源自目标语言数据,进而通过源自源语言数据训练第一机器翻译模型,第一机器翻译模型用于将源语言翻译为目标语言。在一些实施例中,训练设备还可以通过第一双语平行数据库训练的机器翻译模型对从数据库10中获取的单语数据库中的单语数据进行翻译,得到伪平行句对,并将得到的伪平行句对添加到数据库10中。
93.执行设备12可以存储上述训练设备11训练的机器翻译模型,执行设备12中的第一设备110与服务器之间通过通信网络进行传输。
94.其中,第一设备110中安装有支持翻译功能的应用程序,该应用程序可以是电子词典应用程序、电子书阅读应用程序、网页浏览应用程序、社交应用程序等。第一设备110可以是智能手机、智能手表、平板电脑、笔记本电脑、智能机器人等终端设备。
95.第二设备120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、内容分发网络、以及大数据和人工智能平台等基础云计算服务的云服务器。在一些实施例中,第二设备120是第一设备110中应用程序的后台服务器。
96.在一些实施例中,本技术实施例提供的语言翻译方法可以由第二设备120执行。当第一设备110获取待翻译数据后,可以通过通信网络发送至第二设备120,第二设备120接收到待翻译数据后执行上述语言翻译的方法,得到翻译结果,进一步地,第二设备120将该翻译结果发送至第一设备110,第一设备110将翻译结果通过应用程序展示。
97.在另一些实施例中,第一设备110和第二设备120可以是同一设备,本技术实施例提供的语言翻译方法也可以由该设备执行,本技术实施例不作限定。
98.应理解,在一些实施例中,训练设备11和执行设备12可以是同一设备,该设备可以执行机器翻译模型的训练工作和语言翻译工作,本技术实施例对该设备的功能不作限定。
99.本技术实施例提供的方案涉及人工智能的自然语言处理技术,具体通过如下实施例进行说明:
100.请参见图1b,是本技术实施例提供的一种机器翻译模型的训练方法的流程示意图。该机器翻译模型的训练方法可以由上述图1a中的训练设备11执行,本技术实施例以上述图1a中的训练设备11执行为例进行说明,如图1b所示,该机器翻译模型的训练方法包括但不限于以下步骤:
101.s1、获取双语平行数据库,该双语平行数据库包括第一双语平行数据库。
102.双语平行数据库包括多组双语平行句对。双语平行句对为由源语言数据和目标语言数据构成的内容对齐的数据。也就是说,在双语平行数据库中,每条源语言数据都有与之
对应的目标语言数据。
103.在一些实施例中,双语平行数据库为第一双语平行数据库,该第一双语平行数据库中包括多组双语平行句对,多组双语平行句对为源自源语言数据或源自目标语言数据,即每组双语平行句对中的一种语言数据是由人类译员翻译得到的。
104.在另一些实施例中,双语平行数据库包括第一双语平行数据库和伪平行句对,伪平行句对为翻译单语数据库中的第一语言原文本和通过机器翻译模型翻译第一语言原文本得到的第二语言文本组成的句对。
105.s2、将第一双语平行数据库中的双语平行句对划分为源自源语言数据和源自目标语言数据。
106.在一种实现中,s2可以包括但不限于以下步骤:
107.s21、从第一双语平行数据库中获取待处理平行句对。
108.s22、根据待处理平行句对覆盖的内容,确定待处理平行句对的数据类型,所数据类型包括源自源语言数据和源自目标语言数据。
109.不同语言所覆盖的内容分布不同,即在待处理平行句对中,源语言数据和目标语言数据所覆盖的内容分布不同,因此,可以通过源语言数据和目标语言数据所覆盖的内容分布之间的偏差确定该待处理平行句对的数据类型。
110.在具体的实施方式中,根据待处理平行句对覆盖的内容,确定待处理平行句对的数据类型,可以包括以下过程:
111.s221、通过源语言单语数据库训练第一语言模型,第一语言模型用于确定双语平行句对中的源语言数据在源语言中出现的概率。
112.s222、将待处理平行句对中的源语言数据输入到第一语言模型中,得到待处理平行句对中的源语言数据来源于源语言的第一概率。
113.s223、通过目标语言单语数据库训练第二语言模型,第二语言模型用于确定双语平行句对中的目标语言数据在目标语言中出现的概率。
114.s224、将所述待处理平行句对中的目标语言数据输入到第二语言模型中,得到待处理平行句对中的目标语言数据来源于目标语言的第二概率。
115.s225、根据第一概率和第二概率之间的偏差确定待处理平行句对的数据类型。
116.在一些实现方式中,s225可以包括以下过程:根据第一概率和第二概率之间的偏差确定待处理平行句对的评分,评分用于确定所述待处理平行句对的数据类型;当该评分大于目标阈值时,确定待处理平行句对属于源自源语言数据;当该评分小于目标阈值时,确定待处理平行句对属于源自目标语言数据。
117.在另一些实施方式中,s225也可以通过其他方式实现,例如,比较第一概率与第二概率的大小,当第一概率大于第二概率时,则确定待处理平行句对属于源自源语言数据,当第一概率小于第二概率时,待处理平行句对属于源自目标语言数据。
118.下面描述s221
‑
s224中根据不同语言所覆盖的内容分布来检测待处理平行句对的数据类型的原理。具体地,可以使用表示源语言所覆盖的内容分布,表示目标语言所覆盖的内容分布。给定待处理平行句对<x,y>,其被源语言或目标语言覆盖的概率可以表示为:
[0119][0120][0121]
可以使用一个评分来量化以上两个概率的差:
[0122][0123]
其中由于和仅和语言有关,而与待处理平行句对<x,y>无关,所以当源语言和目标语言给定时,c为常数。可以得到,分数值越高的平行句对有更高的概率属于源自源语言的数据,评分值越低的平行句对有更高的概率属于源自目标语言的数据。为了刻画与可以使用源语言单语数据库与目标语言单语数据库分别训练基于自注意力机制的语言模型:第一语言模型与第二语言模型并且使用语言模型的概率来估计与具体地,令具体地,令则上述评分可以表示为:
[0124][0125]
语言模型训练结束后,可以通过一个小规模的已知数据类型的双语平行数据库确定c的值。
[0126]
应理解,第一语言模型和第二语言模型可以为上述基于自注意力机制的语言模型,也可以为基于其他任意架构的语言模型,如基于循环神经网络的语言模型、基于卷积神经网络的语言模型。
[0127]
其中,语言模型为通过大量的样本数据以极大似然估计的方法训练得到的语言模型。通过语言模型确定一种语言数据来源于该语言的概率的原理如下,一个语言模型通常构建为字符串s的概率分布p(s),这里的p(s)实际上反映的是s作为一个句子出现的概率。这里的概率指的是组成字符串的这个组合,在训练语料中出现的似然。假设训练语料来自于人类的语言,那么可以认为这个概率是输入的一句话是否是人类的语言的概率。语言模型可以包括输入层、投影层、隐藏层和输出层。字符串s由多个词组成,在输入层使用独热(one
‑
hot)向量的形式来表示每个词,在投影层中将每个独热向量转换为另一种词向量,连接以创建矩阵e,然后将该矩阵展平并通过隐藏层进一步转换为隐藏向量,最后根据隐藏向量使用softmax函数计算并输出字符串s的概率分布。其中,句子(字符串)s的概率可以为该句子中每个词在该句子中出现的概率之积,可以根据输入的句子中的一个词预测该词的后一个词在该句子中出现的概率。
[0128]
例如,以单语数据库为中文单语数据库为例,说明语言模型的训练过程。示例性的,以句子“我有一个梦想”为一个样本数据训练语言模型的过程可以是:首先构造目标模型,该目标模型包括输入层,投影层,隐藏层和输出层;然后将“我有一个梦想”输入至该目标模型中,经过输入层,投影层,隐藏层和输出层,最后输出该模型预测“我有一个梦想”这
句话的概率,模型在训练过程中被指导最大化此概率。以此方式,将中文单语数据库中的每一条数据输入至目标模型中,经过训练,得到优化后的目标模型,即为训练完成的语言模型。
[0129]
示例性的,如图2所示,通过上述s2所描述的确定双语平行句对的数据类型的方法分别对英语
‑
汉语(en
‑
zh)平行数据库、英语
‑
日语(en
‑
ja)平行数据库和英语
‑
德语(en
‑
de)平行数据库中的数据进行划分,得到如图2所示的划分准确率。其中,方法ft为现有的基于卷积神经网络文本分类方法,方法ours为本技术实施例中s2所描述的方法,对三种数据库中的数据进行划分的准确率用f1值来表示,f1值越高,表示对数据的划分准确率越高。
[0130]
当将双语数据库中的数据划分完之后,可以通过划分好的数据训练机器翻译模型。具体的,可以根据数据类型训练三种机器翻译模型:(1)通过源自目标语言数据训练得到的模型1;(2)通过源自源语言数据训练得到的模型2;(3)不加区分数据类型,通过第一双语数据库训练得到的模型3。
[0131]
示例性的,分别以英语
‑
汉语(en
‑
zh)平行数据库、英语
‑
日语(en
‑
ja)平行数据库和英语
‑
德语(en
‑
de)平行数据库中的数据为训练样本训练对应的上述三种机器翻译模型。从译文整体质量、翻译忠实度、翻译流畅度三个方面对每个模型的翻译表现进行评估,得到如图3
‑
图5的结果。
[0132]
如图3所示,第一列data origin表示为机器翻译模型的训练样本的数据类型,target表示源自目标语言数据,source表示源自源语言数据,both表示不区分数据类型地使用语平行数据库中的全部的数据。其中,从第二列起,每列bleu值中的粗体表示该列分数的最高分,下划线标出的分数表示该列的第二高分,bleu值表示译文的质量,该值越高表示译文的质量越好。示例性的,en
‑
zh表示英文与中文互译,第二列表示以英文为源语言,中文为目标语言,以第二列为例,则target对应的分数33.2表示以源自中文的数据训练得到的模型翻译的译文质量,source对应的分数36.5表示以源自英文的数据训练得到的模型翻译的译文质量,both对应的分数36.6表示不加区分源自中文或源自英文的数据,以en
‑
zh双语平行数据库中的全部的数据训练得到的模型翻译的译文质量。则由图3中的每列的各bleu值可知,仅使用源自源语言数据训练得到的模型与不区分数据类型地使用语平行数据库中的全部的数据训练得到的模型在译文质量上相差较小,并且仅使用源自源语言数据训练得到的模型的译文质量也取得过最高分,由此可知,仅使用源自源语言数据训练得到的模型的在译文质量上的翻译表现较好。
[0133]
如图4所示,第一列data origin表示为机器翻译模型的训练样本的数据类型,target表示源自目标语言数据,source表示源自源语言数据,both表示不区分数据类型地使用语平行数据库中的全部的数据。其中,从第二列起,每列的f
‑
measure值中的粗体表示该列分数的最高分,下划线标出的分数表示该列的第二高分,f
‑
measure值标识译文的忠实度,该值越高说明译文的忠实度越高。这里以第一双语平行数据库为en
‑
zh双语平行数据库为例,示例性的,en
→
zh表示英文为源语言,中文为目标语言,en
←
zh表示中文为源语言,英文为目标语言,分别确定名词(noun)、动词(verb)和形容词或副词(adj)这些实词的f
‑
measure值。则由图4可知,仅使用源自源语言数据训练得到的模型的译文的忠实度取得多次最高分,由此可知,在译文的忠实度上,仅使用源自源语言数据训练得到的模型在三种模型的表现最好。而使用源自目标语言数据训练得到的模型在译文的忠实度上表现较差(f
‑
measure值相对于其他两种模型较低),而且,如图5中的第四列至第七列的分数,不区分数据类型地使用语平行数据库中的全部的数据训练得到的模型相比于仅使用源自源语言数据训练得到的模型的f
‑
measure值较低,说明不加区分地使用额外的源自目标语言数据训练得到的模型未能提高译文的忠实度。
[0134]
如图5所示,翻译的流畅度是由语言模型的困惑度(即ppl)来衡量的,ppl越低,流畅度越好。diff指一个模型对应的ppl相对于“both”对应的ppl的相对变化。“no.abs.”表示没有对实词进行抽象,“count.abs.”表示将所有实词用相应的词性标签进行抽象。以wmt20en
‑
zh双语平行数据库为例,训练的三种模型在流畅度的表现如图5所示,当将待翻译的文本中的所有实词用相应的词性标签进行抽象后,以源自源语言数据训练的模型的译文流畅度相对于不区分数据类型地使用语平行数据库中的全部的数据训练得到的模型的译文流畅度的变化也很小,+1.4%和+2.2%,因此可以说明当将所有实词用相应的词性标签进行抽象后,仅使用源自源语言数据训练的模型在译文的流畅度上也有较好的表现。
[0135]
应理解,双语平行数据库中的双语平行句对都是由人类译员将一种语言(第一语言)的句子翻译为另一种语言(第二语言)的句子,将双语平行句对的第一语言作为该双语平行句对的原始语言(即该双语平行句对源自哪种语言)。由于前人的工作忽视了数据的原始语言对神经机器翻译模型的影响,大多数大规模双语平行数据库中的双语平行句对的原始语言信息在数据构建与整理的过程中都丢失了。由上述的通过不同的原始语言的数据(源自源语言数据和源自目标语言数据)训练的模型的表现可知,由于双语平行数据库中的大量的双语平行句对的原始语言不同,通过不加区分地使用不同原始语言的数据训练机器翻译模型翻译的译文的质量、忠实度等较差,因此,根据双语平行句对的原始语言可以将双语平行数据库中的双语平行句对划分为源自源语言数据和源自目标语言数据,针对划分好的数据可以进一步训练机器翻译模型,提高机器翻译模型的性能。
[0136]
s3、通过源自源语言数据训练第一机器翻译模型。
[0137]
在本技术实施例中,通过源自源语言数据训练第一机器翻译模型可以通过以下几种实现方式实现,下面具体地描述s3的几种实现方式的过程。
[0138]
实现方式1:以第一双语平行数据库中划分好的源自源语言数据作为训练样本,训练得到第一机器翻译模型。具体的,以源自源语言数据中的源语言数据作为输入,目标语言数据作为输出训练第一机器翻译模型。
[0139]
实现方式2:首先以未划分数据类型的第一双语平行数据库训练第一机器翻译模型,然后通过划分好的源自源语言数据对训练好的第一机器翻译模型进行微调。
[0140]
具体的,请参阅图6,图6为实现方式2的流程示意图。
[0141]
其中,上述s3可以包括图6中的以下步骤:
[0142]
s301、通过第一双语平行数据库训练得到第一机器翻译模型。
[0143]
将未划分数据类型的第一双语平行数据库中的双语平行句对作为训练样本,以每一组的双语平行句对中的源语言数据作为输入,目标语言数据作为输出,训练得到初始机器翻译模型,也称为第一机器翻译模型。
[0144]
s302、通过源自源语言数据微调第一机器翻译模型。
[0145]
以划分好的源自源语言数据中的源语言数据作为输入,目标语言数据作为输出,训练通过s301中训练得到的第一机器翻译模型,得到微调后的第一机器翻译模型。
[0146]
其中,可以理解的,对机器翻译模型的微调为通过部分数据进一步地对机器翻译模型进行训练。
[0147]
下面描述通过实现方式2所描述的方法训练得到第一机器翻译模型的翻译表现,示例性的,以源自不同语言的数据对其分别对应的第一机器翻译模型进行微调,使用微调后的第一机器翻译模型进行翻译,应用译文质量(bleu值)来表征模型的翻译表现。如图7所示,图7为六个翻译方向(en
‑
zh、zh
–
en、en
‑
ja、ja
–
en、en
‑
de、de
–
en,其中,en
‑
zh表示英文en为源语言,中文zh为目标语言)上,使用第一双语数据库训练的第一机器模型和微调第一机器翻译模型后的bleu值。其中,baseline对应的行中的数值表示六个翻译方向上使用的第一双语平行数据库训练的第一机器模型的bleu值,tune对应的行中的数值表示六个翻译方向上使用源自不同语言的数据对其分别对应的第一机器模型进行微调后的模型的bleu值,average表示每行数值的平均值。则由图可知,在六个翻译方向上,使用源自源语言数据微调后的模型的bleu值相对于没有微调的第一机器翻译模型的bleu值较高,说明通过上述实现方式2所描述的方法训练得到的翻译模型能够提高译文质量。
[0148]
实现方式3:请参阅图8,图8为本技术实施例提供的另一种机器翻译模型的训练方法的流程示意图,其中,上述s3可以包括图8中的以下步骤:
[0149]
s31a、获取单语数据库,该单语数据库包括多条语言为目标语言的原文本。
[0150]
s32a、将单语数据库中的每一条语言为目标语言的原文本输入到第二机器翻译模型,得到每一条原文本对应的源语言翻译文本,第二机器翻译模型用于将目标语言翻译为源语言。
[0151]
其中,第二机器翻译模型为通过第一双语平行数据库训练得到的机器翻译模型,可以通过输入第一双语平行数据库每组双语平行句对中的目标语言数据,输出其对应的源语言数据的方式进行训练。
[0152]
在一些实施例中,当得到单语数据库的多条目标语言的原文本和其分别对应的源语言翻译文本后,对每一条目标语言的原文本和其对应的源语言翻译文本组成的伪平行句对加上指示信息,例如标签bt(意为反向翻译)。其中,反向翻译表示由目标语言翻译为源语言。
[0153]
s33a、将单语数据库中的多条目标语言的原文本和其分别对应的源语言翻译文本组成的多组伪平行句对添加至双语平行数据库。
[0154]
s34a、通过双语平行数据库训练得到第一机器翻译模型。
[0155]
s35a、通过源自源语言数据微调第一机器翻译模型。该过程可以参见上述实现方式1中s302的相关描述,此处不再赘述。
[0156]
实现方式4:请参阅图9,图9为本技术实施例提供的另一种机器翻译模型的训练方法的流程示意图,其中,上述s3可以包括图9中的以下步骤:
[0157]
s31b、获取单语数据库,该单语数据库包括多条语言为源语言的原文本。
[0158]
s32b、将单语数据库中的每一条语言为源语言的原文本输入到第三机器翻译模型,得到每一条原文本对应的目标语言翻译文本,第三机器翻译模型用于将源语言翻译为目标语言。
[0159]
其中,第三机器翻译模型为通过第一双语平行数据库训练得到的,可以通过输入第一双语平行数据库每组双语平行句对中的源语言数据,输出其对应的目标语言数据的方
式进行训练。
[0160]
在一些实施例中,当得到单语数据库的多条源语言的原文本和其分别对应的目标语言翻译文本后,对每一条源语言的原文本和其对应的目标语言翻译文本组成的伪平行句对加上指示信息,例如标签ft(意为正向翻译)。其中,正向翻译表示由源语言翻译为目标语言。
[0161]
s33b、将单语数据库中的多条语言为源语言的原文本和其分别对应的目标语言翻译文本组成的多条伪平行句对添加至双语平行数据库。
[0162]
s34b、通过双语平行数据库训练得到第一机器翻译模型。
[0163]
s35b、通过源自源语言数据微调第一机器翻译模型。该过程可以参见上述实现方式1中s302的相关描述,此处不再赘述。
[0164]
在实现方式3和实现方式4中,根据目标语言单语数据库和通过第一双语平行数据库训练得到的机器翻译模型确定多组伪平行句对,并将该多组伪平行句对添加至双语平行数据库,这样,通过新增伪平行句对的双语平行数据库训练初始机器翻译模型,相比于仅使用第一双语平行数据库训练的初始机器翻译模型,可以通过伪平行句对的特征充分训练机器翻译模型,增强机器翻译模型的性能。而且,当针对伪平行句对添加上指示信息后,通过双语平行数据库训练第一机器翻译模型的表现更好。
[0165]
示例性的,下面说明以英文为目标语言或源语言时,通过上述实现方式2、实现方式3和实现方式4训练得到的机器翻译模型的翻译表现(以译文质量bleu值表征)。如图10所示,表中monolingual表示单语,bilingual表示双语;x
→
en表示:x为源语言,英文(en)为目标语言,表示由不同源语言翻译为英文;en
→
x表示:英文(en)为源语言,x为目标语言,表示由英文翻译为不同目标语言;tagging表示在通过单语数据得到的伪平行数据对上添加标签,如(bt或ft);fine
‑
tune表示使用源自源语言数据对初始机器翻译模型进行微调。第1行表示通过第一双语平行数据库训练得到的第一模型的译文质量(bleu),第2行表示通过源自源语言数据微调上述第一模型后得到的第二模型的译文质量,第3行表示通过第一平行数据库和未添加指示信息(也称为标签)的伪平行句对训练得到的第三模型的译文质量,第4行表示通过第一平行数据库和添加了指示信息(也称为标签)的伪平行句对训练得到的第四模型的译文质量,第5行表示通过源自源语言数据微调上述第三模型后得到的第五模型的译文质量,第6行示通过源自源语言数据微调上述第四模型后得到的第六模型的译文质量。其中,第3
‑
6行表示通过包括应用英文(en)单语数据库获得的伪平行句对的双语平行数据库训练得到的模型的译文质量,框101内的blue值表示通过包括反向翻译单语数据库得到的伪平行句对的双语平行数据库训练得到的机器翻译模型的译文质量,框102内的blue值表示通过包括正向翻译单语数据库得到的伪平行句对的双语平行数据库训练得到的机器翻译模型的译文质量,ave表示平均值。从图中可知,通过源自源语言数据微调的机器翻译模型(第二模型、第五模型、第六模型)分别比其对应的未使用源自源语言数据微调的机器翻译模型(第一模型、第三模型、第四模型)的译文翻译质量高。
[0166]
上述机器翻译模型的训练方法,对第一双语平行数据库中的数据进行划分,划分为源自源语言数据和源自目标语言数据,通过源自源语言数据对初始机器翻译模型进行微调,得到微调后的机器翻译模型,应用该微调后的机器翻译模型进行翻译任务,能够消除由于不同语言的数据之间存在的语言覆盖偏差对机器翻译模型的影响,从而提高通过该方法
训练得到的机器翻译模型的性能,应用该模型可以得到译文质量和忠实度较高的译文。
[0167]
下面介绍本技术实施例提供的一种语言翻译方法,该方法可以包括:
[0168]
计算机设备接收待翻译数据,该待翻译数据为源语言数据。
[0169]
计算机设备将待翻译数据输入到机器翻译模型中,得到上述待翻译数据对应的目标语言数据。该过程可以是,首先应用机器翻译模型对输入的待翻译数据进行词嵌入处理,得到映射中间向量;进而根据映射中间向量之间的依赖关系对映射中间向量进行拟合,得到拟合后的向量;最后,通过机器翻译模型中的解码器对拟合后的向量进行解码,得到解码后的向量,从而输出翻译结果。其中,该机器翻译模型可以是通过上述图1b、或图6、或图8、或图9任一种机器翻译模型的训练方法训练得到的第一机器翻译模型。其中,机器翻译模型的相关描述可以参见上述图1b、或图6、或图8、或图9的描述,此处不再赘述。
[0170]
请参见图11a,图11a为本技术实施例提供的一种机器翻译模型的训练装置1100的结构示意图。该机器翻译模型的训练装置可以应用于上述图1a中的训练设备11,该机器翻译模型的训练装置可以包括:
[0171]
获取单元1101,用于获取双语平行数据库,所述双语平行数据库包括多组双语平行句对,所述双语平行句对为由源语言数据和目标语言数据构成的内容对齐的数据,所述双语平行数据库包括第一双语平行数据库;
[0172]
划分单元1102,用于将所述第一双语平行数据库中的多组双语平行句对划分为源自源语言数据和源自目标语言数据,其中,属于所述源自源语言数据的双语平行句对中的目标语言数据是基于源语言数据翻译得到的,属于所述源自目标语言数据的双语平行句对中的源语言数据是基于目标语言数据翻译得到的;
[0173]
训练单元1103,用于通过所述源自源语言数据训练第一机器翻译模型,所述第一机器翻译模型用于将源语言翻译为目标语言。
[0174]
其中,划分单元1102的具体功能实现可以参见上述s2中s21、s221
‑
s225的相关描述;训练单元1103的具体功能实现可以参见上述s3中实现方式1
‑
4的相关描述,这里不再赘述。
[0175]
请参见图11b,图11b为本技术实施例提供的一种语言翻译装置的结构示意图。该语言翻译装置可以应用于上述图1a中的执行设备12,该语言翻译装置可以包括:
[0176]
接收单元1201,用于接收待翻译数据,所述待翻译数据为源语言数据;
[0177]
翻译单元1202,用于将待翻译数据翻译为其对应的目标语言数据,翻译单元1202中包括机器翻译模型,该机器翻译模型是通过上述图1b、或图6、或图8、或图9的任一种机器翻译模型的训练方法训练得到的机器翻译模型。
[0178]
请参见图12,图12是本技术实施例提供的一种语言翻译设备的结构示意图。如图12所示,该语言翻译设备1000可以对应于上述图1a所示的计算机系统中的第二设备120或第一设备110,该语言翻译设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述语言翻译设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(display)、键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi
‑
fi接口)。存储器1004可以是高速ram存储器,也可以是非不稳定的存储器(non
‑
volatile memory),例如至少一个磁盘
存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图12所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
[0179]
在如图12所示的语言翻译设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现通过上述图1b、或图6、或图8、或图9所示的任一种机器翻译模型的训练方法训练得到的模型进行的翻译任务,训练方法这里不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
[0180]
此外,这里需要指出的是:本技术实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的语言翻译设备1000所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行上述语言翻译方法,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。
[0181]
请参见图13,图13是本技术实施例提供的一种机器翻译模型的训练设备的结构示意图。如图13所示,该机器翻译模型的训练设备2000可以包括:处理器2001,网络接口2004和存储器2005,此外,上述机器翻译模型的训练设备2000还可以包括:用户接口2003,和至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。其中,用户接口2003可以包括显示屏(display)、键盘(keyboard),可选用户接口2003还可以包括标准的有线接口、无线接口。网络接口2004可选的可以包括标准的有线接口、无线接口(如wi
‑
fi接口)。存储器2004可以是高速ram存储器,也可以是非不稳定的存储器(non
‑
volatile memory),例如至少一个磁盘存储器。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。如图13所示,作为一种计算机可读存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
[0182]
在如图13所示的机器翻译模型的训练设备2000中,网络接口2004可提供网络通讯功能;而用户接口2003主要用于为用户提供输入的接口,可以包括显示屏,显示屏可以将处理器2001执行的指令获得的结果进行显示,例如显示模型训练的进度以及显示待翻译数据的翻译结果等;而处理器2001可以用于调用存储器2005中存储的设备控制应用程序,以实现上述图1b、或图6、或图8、或图9任一种机器翻译模型的训练方法,相关描述这里不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
[0183]
应当理解,本技术实施例中所描述的机器翻译模型的训练设备2000可执行前文行上述图1b、或图6、或图8、或图9任一种机器翻译模型的训练方法,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
[0184]
此外,这里需要指出的是:本技术实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的机器翻译模型的训练设备2000所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行上述图1b、或图6、或图8、或图9任一种机器翻译模型的训练方法,因此,相关描述这里不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。
[0185]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read
‑
only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0186]
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。