多语言的句向量的获取方法和多语言的编码器的训练方法与流程
未命名
07-22
阅读:115
评论:0
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.图1是根据本公开一个实施例的多语言的句向量的获取方法的流程图;
42.图2是根据本公开一个实施例的多语言的编码器的训练方法的流程图;
43.图3是根据本公开一个实施例的多语言的编码器的训练方法的流程图;
44.图4是根据本公开一个实施例的多语言的编码器的训练方法的示意图;
45.图5是根据本公开一个实施例的多语言的编码器的训练方法的流程图;
46.图6是根据本公开一个实施例的多语言的编码器的训练方法的示意图;
47.图7是根据本公开一个实施例的多语言的句向量的获取装置的结构图;
48.图8是根据本公开一个实施例的多语言的编码器的训练装置的结构图;
49.图9是用来实现本公开实施例的方法的电子设备的框图。
具体实施方式
50.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
51.本公开实施例涉及计算机视觉、深度学习等人工智能技术领域。
52.人工智能(artificial intelligence),英文缩写为ai。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
53.自然语言处理(natural language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。自然语言处理主要应用于机器翻译、舆情监测、自动摘要、观点提取、文本分类、问题回答、文本语义对比、语音识别、中文ocr等方面。
54.机器学习技术用于专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习技术是人工智能核心,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。
55.下面结合参考附图描述本公开的多语言的句向量的获取方法和多语言的编码器的训练方法。
56.图1是根据本公开一个实施例的多语言的句向量的获取方法的流程图,如图1所示,该方法包括以下步骤:
57.s101,将待处理语句输入到多语言的目标编码器中进行特征提取,获取待处理语
句的句向量。
58.其中,多语言的目标编码器由以下多语言的编码器的训练方法训练得到:
59.获取样本语句对,样本语句对包括源语句和源语句对应的参考语句,源语句为多种候选语言中任一候选语言下的语句,参考语句为目标语言下的语句;
60.由多语言的编码器对输入的源语句进行处理,获取源语句的第一语句嵌入向量;
61.根据第一语句嵌入向量和参考语句,获取第一融合语句向量;
62.由解码器对输入的第一融合语句向量进行处理,获取第一语句向量,并根据第一语句向量获取第一预测语句;
63.根据第一预测语句和参考语句对编码器进行调整,并使用下一样本语句对继续对调整后的编码器进行训练,直至训练结束得到多语言的目标编码器。
64.本公开实施例中,将待处理语句输入到多语言的目标编码器中进行特征提取,获取待处理语句的句向量,极大提升了低资源语言的性能,可以将不同语言相同语义的句子映射到隐空间的相近位置,学习更好的多语言句向量表示,从而提升多语言句向量对齐质量,在高资源语言和低资源语言上都具有良好的整体性能,适合实际多语言数据挖掘业务的落地应用。
65.需要说明的是,关于多语言的编码器的训练方法在接下来的实施例中进一步详细说明。
66.图2是根据本公开一个实施例的多语言的编码器的训练方法的流程图,如图2所示,该方法包括以下步骤:
67.s201,获取样本语句对,样本语句对包括源语句和源语句对应的参考语句,源语句为多种候选语言中任一候选语言下的语句,参考语句为目标语言下的语句。
68.在一些实施方式中,候选语言可以是日语、德语、中文等多种语言,目标语言可以是英文。在一些实施方式中,候选语言可以是日语、德语、英文文等多种语言,目标语言可以是中文。
69.以样本语句对中,源语句为中文语句,参考语句为英文语句为例进行说明,例如,源语句可以为“我是一个学生”,源语句对应的参考语句可以是“i am a student”。
70.以样本语句对中,源语句为英文语句,参考语句为中文语句为例进行说明,例如,源语句可以为“the weather is good today”,源语句对应的参考语句可以是“今天天气很好”。
71.s202,由多语言的编码器对输入的源语句进行处理,获取源语句的第一语句嵌入向量。
72.本公开实施例中,多语言的编码器即为多语言的句向量模型。
73.在一些实施方式中,多语言的编码器包括第一自注意力层、第一前馈网络层和池化层,由编码器中的第一自注意力层、第一前馈网络层和池化层逐层对源语句进行处理,获取源语句的第一语句嵌入向量。
74.s203,根据第一语句嵌入向量和参考语句,获取第一融合语句向量。
75.在一些实施方式中,将第一语句嵌入向量和参考语句进行拼接,获取第一融合语句向量。
76.s204,由解码器对输入的第一融合语句向量进行处理,获取第一语句向量,并根据
第一语句向量获取第一预测语句。
77.在一些实施方式中,解码器包括第二自注意力层和第二前馈网络层,由解码器中的第二自注意力层和第二前馈网络层逐层对输入的第一融合语句向量进行处理,获取第一语句向量。
78.进一步地,将第一语句向量输入归一化(softmax)层,获取第一预测语句。
79.s205,根据第一预测语句和参考语句对编码器进行调整,并使用下一样本语句对继续对调整后的编码器进行训练,直至训练结束得到多语言的目标编码器。
80.在一些实施方式中,根据第一预测语句和参考语句获取损失函数,对编码器进行调整,以得到调整后的编码器。例如,根据第一预测语句和参考语句获取交叉熵损失函数和散度损失函数,对编码器进行反向调整,以得到调整后的编码器。
81.在一些实施方式中,使用下一样本语句对继续对调整后的编码器进行训练,直至训练结束得到多语言的目标编码器。
82.在一些实施方式中,若达到预设的迭代次数或损失函数收敛至预设的损失阈值,确定完成编码器的训练,得到多语言的目标编码器。
83.本公开实施例中,由多语言的编码器对输入的源语句进行处理,获取源语句的第一语句嵌入向量;根据第一语句嵌入向量和参考语句,获取第一融合语句向量;由解码器对输入的第一融合语句向量进行处理,获取第一语句向量,并根据第一语句向量获取第一预测语句;根据第一预测语句和参考语句对编码器进行调整,得到多语言的目标编码器,本公开实施例可以将不同语言相同语义的句子映射到隐空间的相近位置,学习更好的多语言句向量表示,从而提升多语言句向量对齐质量,在高资源语言和低资源语言上都具有良好的整体性能。
84.图3是根据本公开一个实施例的多语言的编码器的训练方法的流程图,如图3所示,该方法包括以下步骤:
85.s301,获取样本语句对,样本语句对包括源语句和源语句对应的参考语句,源语句为多种候选语言中任一候选语言下的语句,参考语句为目标语言下的语句。
86.关于步骤s301的内容可以参见上述实施例中的相关介绍,此处不再赘述。
87.需要说明的是,编码器包括第一自注意力层、第一前馈网络层和池化层。
88.s302,由第一自注意力层对参考语句进行编码,获取参考语句对应的第一候选语句向量。
89.在一些实现中,对参考语句进行分词处理后输入编码器,首先经过第一自注意力层(self-attention layer),第一自注意力层可以帮助编码器在编码具体单词时查看句子中的其他单词。
90.s303,由第一前馈网络层对第一候选语句向量进行非线性变换,获取第二候选语句向量。
91.第一自注意力层输出的第一候选语句向量会进入到第一前馈网络层。第一前馈网络层独立作用于每个位置的分词。
92.s304,由池化层对第二候选语句向量进行池化操作,获取第一语句嵌入向量。
93.对第二候选语句向量进行最大池化操作(max pooling),获取第一语句嵌入向量。
94.s305,将第一语句嵌入向量和参考语句的向量表示进行拼接,获取第一融合语句
向量。
95.在一些实施方式中,对参考语句进行分词处理,获取多个分词。针对多个分词中的任一分词,将第一语句嵌入向量与分词的向量表示进行拼接,获取第一融合语句向量。
96.s306,由第二自注意力层对第一融合语句向量进行编码,获取第三候选语句向量。
97.s307,由第二前馈网络层对第三候选语句向量进行非线性变换,获取第一语句向量。
98.在一些实施方式中,第二自注意力层与第一自注意力层结构相同,第一前馈网络层与第二前馈网络层结构相同。在一些实施方式中,第二自注意力层与第一自注意力层结构不相同,第一前馈网络层与第二前馈网络层结构不相同。本公开实施例对此不作限制。
99.本公开实施例中,关于第二自注意力层、第二前馈网络层的内容可以参见第一自注意力层、第一前馈网络层的内容。需要说明的是,由于交叉注意力层(cross attention)中没有考虑句向量,本公开实施例中的解码器未引入交叉注意力层,由此可以显式的把句向量表示在机器翻译任务里,句向量就有了“不同语言相同语义的句子所对应的句向量相似”的特性。
100.s308,根据第一语句向量获取第一预测语句。
101.s309,根据第一预测语句和参考语句对编码器进行调整,并使用下一样本语句对继续对调整后的编码器进行训练,直至训练结束得到多语言的目标编码器。
102.关于步骤s308~步骤s309的内容可以参见上述实施例中的相关介绍,此处不再赘述。
103.本技术实施例中,对根据源语句获取第一预测语句的内容进一步进行介绍,图4是根据本公开一个实施例的多语言的编码器的训练方法的示意图,如图4所示,本技术实施例中,以源语句为“我是一个学生”,源语句对应的参考语句是“i am a student”为例进行说明,本公开实施例中,对“我是学生”进行分词处理后,获取到“我”、“是”、“学生”三个分词,由编码器的第一自注意力层对“我”、“是”、“学生”三个分词进行编码,获取参考语句对应的第一候选语句向量,由编码器的第一前馈网络层对第一候选语句向量进行非线性变换,获取第二候选语句向量,由编码器的池化层对第二候选语句向量进行池化操作,获取第一语句嵌入向量。进一步地,将第一语句嵌入向量和参考语句任一分词的向量表示进行拼接,本公开实施例中,对“i am a student”进行分词处理后,获取到“i”、“am”、“a”、“student”四个分词,另外,以“《bos》”表示句首(beginning of sentence)标识,将第一语句嵌入向量分别拼接在“《bos》”、“i”、“am”、“a”、“student”的特征表示之后,获取第一融合语句向量。再将第一融合语句向量输入解码器,由解码器的第二自注意力层对第一融合语句向量进行特征提取,获取第三候选语句向量,由解码器的第二前馈网络层对第三候选语句向量进行非线性变换,获取第一语句向量。将第一语句向量输入归一化层,获取第一预测语句,即“i am a student《eos》”,其中,“《eos》”表示句尾(end of sentence)标识。
104.本公开实施例可以将不同语言相同语义的句子映射到隐空间的相近位置,学习更好的多语言句向量表示,从而提升多语言句向量对齐质量,在高资源语言和低资源语言上都具有良好的整体性能,适合实际多语言数据挖掘业务的落地应用。
105.图5是根据本公开一个实施例的多语言的编码器的训练方法的流程图,如图5所示,该方法包括以下步骤:
106.s501,获取样本语句对,样本语句对包括源语句和源语句对应的参考语句,源语句为多种候选语言中任一候选语言下的语句,参考语句为目标语言下的语句。
107.s502,由多语言的编码器对输入的源语句进行处理,获取源语句的第一语句嵌入向量。
108.s503,根据第一语句嵌入向量和参考语句,获取第一融合语句向量。
109.s504,由解码器对输入的第一融合语句向量进行处理,获取第一语句向量,并根据第一语句向量获取第一预测语句。
110.关于步骤s501~步骤s504的内容可以参见上述实施例中的相关介绍,此处不再赘述。
111.s505,基于第一预测语句和参考语句进行交叉熵损失运算,获取第一损失函数。
112.本公开实施例中,第一损失函数即为交叉熵损失cross-entropy函数。
113.s506,基于第一预测语句和参考语句进行散度损失运算,获取第二损失函数。
114.获取第一预测语句至参考语句的第一概率分布,获取第二预测语句至参考语句的第二概率分布。基于第一概率分布和第二概率分布进行散度损失运算,获取第二损失函数。
115.其中,第二预测语句根据参考语句获取,根据参考语句获取第二预测语句的过程,包括:由编码器对输入的参考语句进行处理,获取参考语句对应的第二语句嵌入向量,根据第二语句嵌入向量和参考语句获取第二融合语句向量,由解码器对输入的第二融合语句向量进行处理,获取第二语句向量,并根据第二语句向量获取第二预测语句。
116.需要说明的是,根据参考语句获取第二预测语句的过程可以参见根据源语句获取第一参考语句的过程,此处不再赘述。
117.s507,基于第一损失函数和/或第二损失函数对编码器进行调整,获取调整后的编码器。
118.在一些实现中,基于第二损失函数对编码器进行调整,获取调整后的编码器。在一些实现中,基于第一损失函数和第二损失函数对编码器进行调整,获取调整后的编码器。
119.s508,使用下一样本语句对继续对调整后的编码器进行训练,直至训练结束得到多语言的目标编码器。
120.关于步骤s508的内容可以参见上述实施例中的相关介绍,此处不再赘述。
121.图6是根据本公开一个实施例的多语言的编码器的训练方法的示意图,如图6所示,一方面,由编码器对输入的源语句进行处理,获取源语句对应的第一语句嵌入向量,根据第一语句嵌入向量和参考语句获取第一融合语句向量,由解码器对输入的第一融合语句向量进行处理,获取第一语句向量,并根据第一语句向量获取第一预测语句。另一方面,由编码器对输入的参考语句进行处理,获取参考语句对应的第二语句嵌入向量,根据第二语句嵌入向量和参考语句获取第二融合语句向量,由解码器对输入的第二融合语句向量进行处理,获取第二语句向量,并根据第二语句向量获取第二预测语句。基于第一预测语句和参考语句的独热(one-hot)表示进行交叉熵损失运算,获取第一损失函数,基于第一预测语句、第二预测语句和参考语句进行散度损失运算(例如kl散度运算),获取第二损失函数。将第一损失函数和第二损失函数之和确定为目标损失函数,并基于目标损失函数对编码器进行调整,获取调整后的编码器。
122.可选地,可以采用如下公式获取第一损失函数:
[0123][0124]
其中,l
ce
表示第一损失函数,x表示源语句,y表示参考语句,表示参考语句的独热表示,l(...)表示交叉熵损失运算,θ表示模型参数,f(x,y;θ)表示第一预测语句。
[0125]
可选地,可以采用如下公式获取第二损失函数:
[0126]
l
kl
(θ)=kl(f(x,y;θ)||f(y,y;θ))
[0127]
其中,l
kl
(θ)表示第二损失函数,kl(...)表示kl散度损失运算,f(y,y;θ)表示第二预测语句。
[0128]
可选地,本公开实施例引入跨语言语义一致性正则化方法,可以采用如下公式获取目标损失函数:
[0129]
l
crossconst
(θ)=l
ce
(θ)+αl
kl
(θ)
[0130]
其中,α表示超参数,l
crossconst
(θ)表示目标损失函数。
[0131]
本公开实施例引入跨语言语义一致性正则化方法,极大提升了低资源语言的性能,可以将不同语言相同语义的句子映射到隐空间的相近位置,学习更好的多语言句向量表示,从而提升多语言句向量对齐质量,在高资源语言和低资源语言上都具有良好的整体性能,适合实际多语言数据挖掘业务的落地应用。
[0132]
图7是根据本公开一个实施例的多语言的句向量的获取装置的结构图,如图7所示,多语言的句向量的获取装置700包括:
[0133]
句向量获取模块710,用于将待处理语句输入到多语言的目标编码器中进行特征提取,获取待处理语句的句向量。
[0134]
其中,多语言的目标编码器根据多语言的编码器的训练装置800训练得到,多语言的编码器的训练装置800包括:
[0135]
第一获取模块810,用于获取样本语句对,样本语句对包括源语句和源语句对应的参考语句,源语句为多种候选语言中任一候选语言下的语句,参考语句为目标语言下的语句;
[0136]
第一处理模块820,用于由多语言的编码器对输入的源语句进行处理,获取源语句的第一语句嵌入向量;
[0137]
第二获取模块830,用于根据第一语句嵌入向量和参考语句,获取第一融合语句向量;
[0138]
第二处理模块840,用于由解码器对输入的第一融合语句向量进行处理,获取第一语句向量,并根据第一语句向量获取第一预测语句;
[0139]
调整模块850,用于根据第一预测语句和参考语句对编码器进行调整,并使用下一样本语句对继续对调整后的编码器进行训练,直至训练结束得到多语言的目标编码器。
[0140]
本公开实施例极大提升了低资源语言的性能,可以将不同语言相同语义的句子映射到隐空间的相近位置,学习更好的多语言句向量表示,从而提升多语言句向量对齐质量,在高资源语言和低资源语言上都具有良好的整体性能,适合实际多语言数据挖掘业务的落地应用。
[0141]
图8是根据本公开一个实施例的多语言的编码器的训练装置的结构图,如图8所示,多语言的编码器的训练装置800包括:
[0142]
第一获取模块810,用于获取样本语句对,样本语句对包括源语句和源语句对应的参考语句,源语句为多种候选语言中任一候选语言下的语句,参考语句为目标语言下的语句;
[0143]
第一处理模块820,用于由多语言的编码器对输入的源语句进行处理,获取源语句的第一语句嵌入向量;
[0144]
第二获取模块830,用于根据第一语句嵌入向量和参考语句,获取第一融合语句向量;
[0145]
第二处理模块840,用于由解码器对输入的第一融合语句向量进行处理,获取第一语句向量,并根据第一语句向量获取第一预测语句;
[0146]
调整模块850,用于根据第一预测语句和参考语句对编码器进行调整,并使用下一样本语句对继续对调整后的编码器进行训练,直至训练结束得到多语言的目标编码器。
[0147]
在一些实施方式中,第二获取模块830,还用于:
[0148]
将第一语句嵌入向量和参考语句的向量表示进行拼接,获取第一融合语句向量。
[0149]
在一些实施方式中,第二获取模块830,还用于:
[0150]
对参考语句进行分词处理,获取多个分词;
[0151]
针对多个分词中的任一分词,将第一语句嵌入向量与分词的向量表示进行拼接,获取第一融合语句向量。
[0152]
在一些实施方式中,编码器包括第一自注意力层、第一前馈网络层和池化层,第一处理模块820,还用于:
[0153]
由第一自注意力层对参考语句进行编码,获取参考语句对应的第一候选语句向量;
[0154]
由第一前馈网络层对第一候选语句向量进行非线性变换,获取第二候选语句向量;
[0155]
由池化层对第二候选语句向量进行池化操作,获取第一语句嵌入向量。
[0156]
在一些实施方式中,解码器包括第二自注意力层和第二前馈网络层,第二处理模块840,还用于:
[0157]
由第二自注意力层对第一融合语句向量进行编码,获取第三候选语句向量;
[0158]
由第二前馈网络层对第三候选语句向量进行非线性变换,获取第一语句向量。
[0159]
在一些实施方式中,调整模块850,还用于:
[0160]
基于第一预测语句和参考语句进行交叉熵损失运算,获取第一损失函数;
[0161]
基于第一预测语句和参考语句进行散度损失运算,获取第二损失函数;
[0162]
基于第一损失函数和/或第二损失函数对编码器进行调整,获取调整后的编码器。
[0163]
在一些实施方式中,调整模块850,还用于:
[0164]
获取第一预测语句至参考语句的第一概率分布;
[0165]
获取第二预测语句至参考语句的第二概率分布,第二预测语句根据参考语句获取;
[0166]
基于第一概率分布和第二概率分布进行散度损失运算,获取第二损失函数。
[0167]
在一些实施方式中,根据参考语句获取第二预测语句的过程,包括:
[0168]
由编码器对输入的参考语句进行处理,获取参考语句对应的第二语句嵌入向量;
[0169]
根据第二语句嵌入向量和参考语句获取第二融合语句向量;
[0170]
由解码器对输入的第二融合语句向量进行处理,获取第二语句向量,并根据第二语句向量获取第二预测语句。
[0171]
本公开实施例可以将不同语言相同语义的句子映射到隐空间的相近位置,学习更好的多语言句向量表示,从而提升多语言句向量对齐质量,在高资源语言和低资源语言上都具有良好的整体性能。
[0172]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0173]
图9是用来实现本公开实施例的电子设备的框图。该电子设备可以实现本公开实施例的多语言的编码器的训练方法或多语言的句向量的获取方法,电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0174]
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
[0175]
设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0176]
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如多语言的编码器的训练方法或多语言的句向量的获取方法。例如,在一些实施例中,多语言的编码器的训练方法或多语言的句向量的获取方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的多语言的编码器的训练方法或多语言的句向量的获取方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行多语言的编码器的训练方法或多语言的句向量的获取方法。
[0177]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实
现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0178]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0179]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0180]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0181]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0182]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0183]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0184]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明
白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
技术特征:
1.一种多语言的句向量的获取方法,其中,包括:将待处理语句输入到多语言的目标编码器中进行特征提取,获取所述待处理语句的句向量;其中,所述多语言的目标编码器由以下训练方法训练得到:获取样本语句对,所述样本语句对包括源语句和所述源语句对应的参考语句,所述源语句为多种候选语言中任一候选语言下的语句,所述参考语句为目标语言下的语句;由多语言的编码器对输入的所述源语句进行处理,获取所述源语句的第一语句嵌入向量;根据所述第一语句嵌入向量和所述参考语句,获取第一融合语句向量;由解码器对输入的所述第一融合语句向量进行处理,获取第一语句向量,并根据所述第一语句向量获取第一预测语句;根据所述第一预测语句和所述参考语句对所述编码器进行调整,并使用下一样本语句对继续对调整后的编码器进行训练,直至训练结束得到所述多语言的目标编码器。2.一种多语言的编码器的训练方法,其中,包括:获取样本语句对,所述样本语句对包括源语句和所述源语句对应的参考语句,所述源语句为多种候选语言中任一候选语言下的语句,所述参考语句为目标语言下的语句;由多语言的编码器对输入的所述源语句进行处理,获取所述源语句的第一语句嵌入向量;根据所述第一语句嵌入向量和所述参考语句,获取第一融合语句向量;由解码器对输入的所述第一融合语句向量进行处理,获取第一语句向量,并根据所述第一语句向量获取第一预测语句;根据所述第一预测语句和所述参考语句对所述编码器进行调整,并使用下一样本语句对继续对调整后的编码器进行训练,直至训练结束得到多语言的目标编码器。3.根据权利要求2所述的方法,其中,所述根据所述第一语句嵌入向量和所述参考语句,获取第一融合语句向量,包括:将所述第一语句嵌入向量和所述参考语句的向量表示进行拼接,获取所述第一融合语句向量。4.根据权利要求3所述的方法,其中,所述将所述第一语句嵌入向量和所述参考语句的向量表示进行拼接,获取所述第一融合语句向量,包括:对所述参考语句进行分词处理,获取多个分词;针对所述多个分词中的任一分词,将所述第一语句嵌入向量与所述分词的向量表示进行拼接,获取所述第一融合语句向量。5.根据权利要求2所述的方法,其中,所述编码器包括第一自注意力层、第一前馈网络层和池化层,所述由多语言的编码器对输入的所述源语句进行处理,获取所述源语句的第一语句嵌入向量,包括:由所述第一自注意力层对所述参考语句进行编码,获取所述参考语句对应的第一候选语句向量;由所述第一前馈网络层对所述第一候选语句向量进行非线性变换,获取所述第二候选语句向量;
由所述池化层对所述第二候选语句向量进行池化操作,获取所述第一语句嵌入向量。6.根据权利要求2-5任一项所述的方法,其中,所述解码器包括第二自注意力层和第二前馈网络层,所述由解码器对输入的所述第一融合语句向量进行处理,获取第一语句向量,包括:由所述第二自注意力层对所述第一融合语句向量进行编码,获取第三候选语句向量;由所述第二前馈网络层对所述第三候选语句向量进行非线性变换,获取所述第一语句向量。7.根据权利要求6所述的方法,其中,所述根据所述第一预测语句和所述参考语句对所述编码器进行调整,包括:基于所述第一预测语句和所述参考语句进行交叉熵损失运算,获取第一损失函数;基于所述第一预测语句和所述参考语句进行散度损失运算,获取第二损失函数;基于所述第一损失函数和/或所述第二损失函数对所述编码器进行调整,获取调整后的编码器。8.根据权利要求7所述的方法,其中,所述基于所述第一预测语句和所述参考语句进行散度损失运算,获取第二损失函数,包括:获取所述第一预测语句至所述参考语句的第一概率分布;获取第二预测语句至所述参考语句的第二概率分布,所述第二预测语句根据所述参考语句获取;基于所述第一概率分布和所述第二概率分布进行散度损失运算,获取所述第二损失函数。9.根据权利要求8所述的方法,其中,根据所述参考语句获取第二预测语句的过程,包括:由所述编码器对输入的所述参考语句进行处理,获取所述参考语句对应的第二语句嵌入向量;根据所述第二语句嵌入向量和所述参考语句获取第二融合语句向量;由所述解码器对输入的所述第二融合语句向量进行处理,获取第二语句向量,并根据所述第二语句向量获取所述第二预测语句。10.一种多语言的句向量的获取装置,其中,包括:句向量获取模块,用于将待处理语句输入到多语言的目标编码器中进行特征提取,获取所述待处理语句的句向量;其中,所述多语言的目标编码器根据多语言的编码器的训练装置训练得到,所述多语言的编码器的训练装置包括:第一获取模块,用于获取样本语句对,所述样本语句对包括源语句和所述源语句对应的参考语句,所述源语句为多种候选语言中任一候选语言下的语句,所述参考语句为目标语言下的语句;第一处理模块,用于由多语言的编码器对输入的所述源语句进行处理,获取所述源语句的第一语句嵌入向量;第二获取模块,用于根据所述第一语句嵌入向量和所述参考语句,获取第一融合语句向量;
第二处理模块,用于由解码器对输入的所述第一融合语句向量进行处理,获取第一语句向量,并根据所述第一语句向量获取第一预测语句;调整模块,用于根据所述第一预测语句和所述参考语句对所述编码器进行调整,并使用下一样本语句对继续对调整后的编码器进行训练,直至训练结束得到多语言的目标编码器。11.一种多语言的编码器的训练装置,其中,包括:第一获取模块,用于获取样本语句对,所述样本语句对包括源语句和所述源语句对应的参考语句,所述源语句为多种候选语言中任一候选语言下的语句,所述参考语句为目标语言下的语句;第一处理模块,用于由多语言的编码器对输入的所述源语句进行处理,获取所述源语句的第一语句嵌入向量;第二获取模块,用于根据所述第一语句嵌入向量和所述参考语句,获取第一融合语句向量;第二处理模块,用于由解码器对输入的所述第一融合语句向量进行处理,获取第一语句向量,并根据所述第一语句向量获取第一预测语句;调整模块,用于根据所述第一预测语句和所述参考语句对所述编码器进行调整,并使用下一样本语句对继续对调整后的编码器进行训练,直至训练结束得到多语言的目标编码器。12.根据权利要求11所述的装置,其中,所述第二获取模块,还用于:将所述第一语句嵌入向量和所述参考语句的向量表示进行拼接,获取所述第一融合语句向量。13.根据权利要求12所述的装置,其中,所述第二获取模块,还用于:对所述参考语句进行分词处理,获取多个分词;针对所述多个分词中的任一分词,将所述第一语句嵌入向量与所述分词的向量表示进行拼接,获取所述第一融合语句向量。14.根据权利要求11所述的装置,其中,所述编码器包括第一自注意力层、第一前馈网络层和池化层,所述第一处理模块,还用于:由所述第一自注意力层对所述参考语句进行编码,获取所述参考语句对应的第一候选语句向量;由所述第一前馈网络层对所述第一候选语句向量进行非线性变换,获取所述第二候选语句向量;由所述池化层对所述第二候选语句向量进行池化操作,获取所述第一语句嵌入向量。15.根据权利要求11-14任一项所述的装置,其中,所述解码器包括第二自注意力层和第二前馈网络层,所述第二处理模块,还用于:由所述第二自注意力层对所述第一融合语句向量进行编码,获取第三候选语句向量;由所述第二前馈网络层对所述第三候选语句向量进行非线性变换,获取所述第一语句向量。16.根据权利要求15所述的装置,其中,所述调整模块,还用于:基于所述第一预测语句和所述参考语句进行交叉熵损失运算,获取第一损失函数;
基于所述第一预测语句和所述参考语句进行散度损失运算,获取第二损失函数;基于所述第一损失函数和/或所述第二损失函数对所述编码器进行调整,获取调整后的编码器。17.根据权利要求16所述的装置,其中,所述调整模块,还用于:获取所述第一预测语句至所述参考语句的第一概率分布;获取第二预测语句至所述参考语句的第二概率分布,所述第二预测语句根据所述参考语句获取;基于所述第一概率分布和所述第二概率分布进行散度损失运算,获取所述第二损失函数。18.根据权利要求17所述的装置,其中,根据所述参考语句获取第二预测语句的过程,包括:由所述编码器对输入的所述参考语句进行处理,获取所述参考语句对应的第二语句嵌入向量;根据所述第二语句嵌入向量和所述参考语句获取第二融合语句向量;由所述解码器对输入的所述第二融合语句向量进行处理,获取第二语句向量,并根据所述第二语句向量获取所述第二预测语句。19.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1中所述的方法或执行权利要求2-9任一项所述的方法。20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1所述的方法或执行根据权利要求2-9任一项所述的方法。
技术总结
本公开提供了多语言的句向量的获取方法和多语言的编码器的训练方法,涉及人工智能、自然语言处理、机器学习等技术领域。该方法包括:将待处理语句输入到多语言的目标编码器中进行特征提取,获取句向量;目标编码器由以下训练方法训练得到:获取源语句及其参考语句;由多语言的编码器对源语句进行处理,获取第一语句嵌入向量;根据第一语句嵌入向量和参考语句,获取第一融合语句向量;由解码器对第一融合语句向量进行处理,以获取第一预测语句;根据第一预测语句和参考语句对编码器进行调整,得到多语言的目标编码器。本公开可以学习更好的多语言句向量表示,从而提升多语言句向量对齐质量,在高资源语言和低资源语言上都具有良好的整体性能。好的整体性能。好的整体性能。
技术研发人员:高鹏至 张力文 何中军 李芝 吴华
受保护的技术使用者:北京百度网讯科技有限公司
技术研发日:2023.04.13
技术公布日:2023/7/20
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种模拟低空直升机靶的制作方法 下一篇:一种用于计算机软件研发的辅助装置
