一种翻译系统及其训练、应用方法以及相关设备与流程
未命名
09-27
阅读:77
评论:0
1.本技术涉及机器翻译领域,尤其涉及一种翻译系统及其训练、应用方法以及相关设备。
背景技术:
2.机器翻译是指将一种语言的语句翻译为具有相同含义的另一种语言的语句。机器翻译包括基于规则的机器翻译、基于统计的机器翻译和基于神经网络的机器翻译。基于神经网络的机器翻译今年来迅速崛起,相比于基于规则和基于统计的机器翻译,基于神经网络的机器翻译的模型构建更加简单,翻译也更加准确性。因此,如何提供一种基于神经网络的机器翻译系统是一个亟待解决的技术问题。
技术实现要素:
3.本技术提供一种翻译系统及其训练、应用方法以及相关设备,能够提高翻译系统的训练效率,节约计算资源,并能够提高翻译系统的可扩展性。
4.第一方面,本技术提供一种翻译系统的训练方法,该翻译系统包括第一语言模型和第二语言模型,其中,第一语言模型包括第一编码器、第一对齐编码器、第一对齐解码器和第一解码器,第二语言模型包括第二编码器、第二对齐编码器、第二对齐解码器和第二解码器,该方法包括:
5.获取基于第一语言的语料训练得到的第一语言的第一编码器和第一解码器,获取基于第二语言的语料训练得到的第一语言的第二编码器和第二解码器;其中,第一编码器用于对第一语言表述的语句进行编码,输出对应的向量,第一解码器用于对输入的向量进行解码,输出第一语言表述的语句;第二编码器用于对第二语言表述的语句进行编码,输出对应的向量,第二解码器用于对输入的向量进行解码,输出第二语言表述的语句;
6.基于平行语料对第一语言模型和第二语言模型进行联合训练,得到训练好的第一对齐编码器、训练好的第一对齐解码器、训练好的第二对齐编码器和训练好的第二对齐解码器,平行语料包括第一语言和第二语言的同义语句的集合;
7.其中,第一对齐编码器用于将第一编码器输出的向量转换到对齐向量空间,第二对齐编码器用于将第二编码器输出的向量转换到对齐向量空间;第一对齐解码器用于将第一对齐编码器的输出转换到第一解码器的输入对应的向量空间中,以使第一解码器对第一对齐解码器的输出进行解码,输出第一语言的语句;第二对齐解码器用于将第二对齐编码器的输出转换到第二解码器的输入的向量空间中,以使第二解码器对第二对齐解码器的输出进行解码,输出第二语言的语句。
8.通过构建本技术提供的翻译系统,在需要实现多种语言之间的相互翻译时,只需要先分别训练各种语言对应的单语言模型;然后在各个单语言模型的编码器和解码器之间增加对齐编码器和对齐解码器,构建本技术提供的翻译系统;最后通过平行语料训练构建的翻译系统,就可以得到训练好的能够实现多种语言之间相互翻译的翻译系统。从而在进
行翻译时,只需要将上述训练好的翻译系统中源语言对应的编码器和对齐编码器以及目标语言对应的解码器和对齐解码器进行组合,即可得到将源语言翻译为目标语言的翻译模型。例如实现a语言和b语言的相互翻译,只需要将训练好的翻译系统中,a语言对应的编码器和对齐编码器以及b语言对应的解码器和对齐解码器进行组合,即可得到将a语言翻译为b语言的模型;将b语言对应的编码器和对齐编码器以及a语言对应的解码器和对齐解码器进行组合,即可得到将b语言翻译为a语言的模型。
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.本技术提供的翻译方法,在进行翻译时,只需要将上述训练好的翻译系统中源语言对应的编码器和对齐编码器以及目标语言对应的解码器和对齐解码器进行组合,即可得
到将源语言翻译为目标语言的翻译模型。例如实现a语言和b语言的相互翻译,只需要将训练好的翻译系统中,a语言对应的编码器和对齐编码器以及b语言对应的解码器和对齐解码器进行组合,即可得到将a语言翻译为b语言的模型;将b语言对应的编码器和对齐编码器以及a语言对应的解码器和对齐解码器进行组合,即可得到将b语言翻译为a语言的模型。
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.处理模块,用于基于平行语料对第一语言模型和第二语言模型进行联合训练,得到训练好的第一对齐编码器、训练好的第一对齐解码器、训练好的第二对齐编码器和训练好的第二对齐解码器,平行语料包括第一语言和第二语言的同义语句的集合;
61.其中,第一对齐编码器用于将第一编码器输出的向量转换到对齐向量空间,第二对齐编码器用于将第二编码器输出的向量转换到对齐向量空间;第一对齐解码器用于将第一对齐编码器的输出转换到第一解码器的输入对应的向量空间中,以使第一解码器对第一
对齐解码器的输出进行解码,输出第一语言的语句;第二对齐解码器用于将第二对齐编码器的输出转换到第二解码器的输入的向量空间中,以使第二解码器对第二对齐解码器的输出进行解码,输出第二语言的语句。
62.在一种可能的实现方式中,上述处理模块具体用于,通过第一对齐编码器对第一编码器输出的第一语句对应的向量进行编码,以及通过第二对齐编码器对第二编码器输出的第二语句对应的向量进行编码,第一语句和第二语句是使用两种语言表述的具有相同语义的语句;基于第一对齐编码器的输出和第二对齐编码器的输出,更新第一对齐编码器的参数和第二对齐编码器的参数;通过第一对齐解码器对第一对齐编码器的输出进行解码,基于第一对齐解码器的输出和第一编码器的输出,更新第一对齐解码器的参数和第一对齐编码器的参数;通过第二对齐解码器对第二对齐编码器的输出进行解码,基于第二对齐解码器的输出和第二编码器的输出,更新第二对齐解码器的参数和第二对齐编码器的参数。
63.在一种可能的实现方式中,上述处理模块具体用于:基于第一对齐编码器的输出和第二对齐编码器的输出,更新第一对齐编码器的参数和第二对齐编码器的参数,包括:基于对齐编码器的输出和第二对齐编码器的输出,计算语义对齐损失,根据语义对齐损失更新第一对齐编码器的参数和第二对齐编码器的参数。
64.在一种可能的实现方式中,上述翻译系统还包括第三语言模型,第三语言模型包括第三编码器、第三对齐编码器、第三对齐解码器和第三解码器;上述获取模块,还用于获取基于第三语言的语料训练得到的第三语言的第三编码器和第三解码器;上述处理模块,还用于通过平行语料对第一语言模型、第二语言模型和第三语言模型进行联合训练,得到训练好的第一语言模型、第二语言模型和第三语言模型,平行语料包括第一语言、第二语言和第三语言的同义语句的集合;其中,第三对齐编码器用于将第三编码器输出的向量转换到对齐向量空间;第三对齐解码器用于将第三对齐编码器的输出转换到第三解码器的输入对应的向量空间,以使第三解码器对第三对齐解码器的输出进行解码,输出第三语言的语句。
65.在一种可能的实现方式中,上述处理模块具体用于:通过第一对齐编码器对第一编码器输出的第一语句对应的向量进行编码、通过第二对齐编码器对第二编码器输出的第二语句对应的向量进行编码以及通过第三对齐编码器对第三编码器输出的第三语句进行编码,第一语句、第二语句和第三语句是使用三种语言表述的具有相同语义的语句;基于第一对齐编码器的输出、第二对齐编码器的输出和第三对齐编码器的输出,更新第三对齐编码器的参数;通过第三对齐解码器对第三对齐编码器的输出进行解码,基于第三对齐解码器的输出和第三编码器的输出,更新第三对齐解码器的参数和第三对齐编码器的参数。
66.在一种可能的实现方式中,上述处理模块具体用于:通过第一对齐编码器对第一编码器输出的第一语句对应的向量进行编码、通过第二对齐编码器对第二编码器输出的第二语句对应的向量进行编码以及通过第三对齐编码器对第三编码器输出的第三语句进行编码,第一语句、第二语句和第三语句是使用三种语言表述的具有相同语义的语句;基于第一对齐编码器的输出、第二对齐编码器的输出和第三对齐编码器的输出,更新第一对齐编码器的参数、第二对齐编码器的参数和第三对齐编码器的参数;通过第一对齐解码器对第一对齐编码器的输出进行解码,基于第一对齐解码器的输出和第一编码器的输出,更新第一对齐解码器的参数和第一对齐编码器的参数;通过第二对齐解码器对第二对齐编码器的
输出进行解码,基于第二对齐解码器的输出和第二编码器的输出,更新第二对齐解码器的参数和第二对齐编码器的参数;通过第三对齐解码器对第三对齐编码器的输出进行解码,基于第三对齐解码器的输出和第三编码器的输出,更新第三对齐解码器的参数和第三对齐编码器的参数。
67.第五方面,本技术提供一种计算设备,包括处理器和存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器执行所述指令时,所述处理器执行如第一方面或第一方面任一种可能实现方式中的训练方法。
68.第六方面,本技术提供一种计算设备,包括处理器和存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器执行所述指令时,所述处理器执行如第二方面或第二方面任一种可能实现方式中的翻译方法。
69.第七方面,本技术提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当所述指令在服务器上运行时,使得服务器执行第一方面或第一方面任一种可能实现方式中的训练方法。
70.第八方面,本技术提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当所述指令在服务器上运行时,使得服务器执行第二方面或第二方面任一种可能实现方式中的翻译方法。
附图说明
71.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
72.图1为本技术实施例提供的一种翻译系统的示意图;
73.图2为本技术实施例提供的一种第一单语言模型的示意图;
74.图3为本技术实施例提供的一种翻译系统训练过程的示意图;
75.图4为本技术实施例提供的一种翻译模型的示意图;
76.图5为本技术实施例提供的另一种翻译模型的示意图;
77.图6是本技术实施例提供的另一种翻译系统的示意图;
78.图7是本技术实施例提供的另一种翻译系统训练过程的示意图;
79.图8是本技术实施例提供的另一种翻译模型的示意图;
80.图9是本技术实施例提供的另一种翻译模型的示意图;
81.图10是本技术实施例提供的一种翻译系统的训练方法的流程示意图;
82.图11是本技术实施例提供的一种计算设备的示意图;
83.图12是本技术实施例提供的一种计算设备集群的示意图。
具体实施方式
84.下面将结合附图,对本技术中的技术方案进行描述。
85.如图1所示,图1是本技术实施例提供的一种翻译系统的示意图,图1中以翻译系统能够实现两种语言的相互翻译为例,介绍本技术提供的翻译系统的训练方法。翻译系统包括第一语言模型和第二语言模型。第一语言模型包括第一编码器、第一对齐编码器、第一对
齐解码器和第一解码器;第二语言模型包括第二编码器、第二对齐编码器、第二对齐解码器和第二解码器。下面结合附图详细介绍对图1所示的翻译系统的训练方法。
86.在对该翻译系统进行训练时,首先需要对第一语言对应的第一单语言模型和第二语言对应的第二单语言模型进行预训练。其中,第一单语言模型包括上述第一编码器和上述第一解码器,第二单语言模型包括上述第二编码器和上述第二解码器。
87.在对第一单语言模型进行预训练时,如图2所示,首先获取第一语言的训练数据,将第一语言的一个输入序列(p1,p2,
…
,pk)输入第一编码器,第一编码器对输入的序列中的每个token进行编码,输出该输入序列对应的向量集合p={p1,p2,
…
,pk}。其中,输入序列是第一语言的训练数据中一个句子经过预处理后对应的序列,每个输入序列包括多个token,每个token对应向量集合中的一个向量,上述预处理包括分词。然后将该向量集合p输入到第一解码器,第一解码器对输入的向量集合中的每个向量进行解码,输出上述输入序列对应的输出序列通过输入序列和输出序列计算损失函数值,基于该损失函数值更新第一单语言模型的参数;或者根据一个批次(batch)的训练数据的损失函数值更新第一单语言模型的参数。基于第一语言的训练数据,通过多次迭代训练对上述第一单语言模型进行训练,直至第一单语言模型达到收敛条件,得到训练好的第一单语言模型。对于第二单语言模型,根据上述第一单语言模型相同的训练方法,基于第二语言的训练数据,通过多次迭代训练对上述第二单语言模型进行训练,直至第二单语言模型达到收敛条件,得到训练好的第二单语言模型。
88.在对第一单语言模型和第二单语言模型进行预训练得到训练好的第一单语言模型和训练好的第二单语言模型后,在第一单语言模型的第一编码器和第一解码器之间增加第一对齐编码器和第一对齐解码器,在第二单语言模型的第二编码器和第二解码器之间增加第二对齐编码器和第二对齐解码器,得到上述翻译系统。再根据平行语料对翻译系统中的第一对齐编码器、第一对齐解码器、第二对齐编码器和第二对齐解码器进行训练,得到训练好的能够进行两种语言相互翻译的翻译系统。其中,平行语料包括第一语言和第二语言的同义语句的集合,即平行语料中包括第一语言的语句和第二语言的语句,第一语言的每个语句均对应有具有相同语义的第二语言的翻译。
89.如图3所示,在对上述翻译系统进行训练时,首先将平行语料中第一语言的第一语句输入第一编码器,将平行语料中第二语言的第二语句输入第二编码器。其中,第一语句与第二语句是具有相同语义的语句的两种语言的表达。第一编码器对上述第一语句进行编码,输出第一语句对应的第一向量集合x,第二编码器对上述第二语句进行编码之后,输出第二语句对应的第二向量集合y。其中,第一向量集合x中的向量属于第一解码器的输入对应的向量空间,第二向量集合y中的向量属于第二解码器的输入对应的向量空间。第一编码器和第二编码器的输入输出能够表示为如下公式:
[0090][0091]
其中,enc表示第一编码器和第二编码器执行的编码操作,{x1,x2,
…
,xn}表示第一语句对应的第一序列,{y1,y2,
…
,ym}表示第二语句对应的第二序列,即第一序列包括n个token,第二序列包括m个token;{x1,x2,
…
,xn}表示第一向量集合x,{y1,y2,
…
,ym}表示第二
向量集合y;第一序列中的n个token与第一向量集合x中的n个向量一一对应,第二序列中的m个token与第二向量集合y中的m个向量一一对应,即x1是x1对应的特征向量,xi是xi对应的特征向量,y1是y1对应的特征向量,yj是yj对应的特征向量,xi与yj是维度相同的向量,i是小于或等于n的正整数,j是小于或等于m的正整数。
[0092]
需要说明的是,由于对第一语句和第二语句是不同语言的语句,并通过不同的编码器进行编码得到各自对应的向量集合,因此第一向量集合x中的向量和第二向量集合y中的向量是属于不同向量空间的向量。
[0093]
在第一编码器在输出第一向量集合x以及第二编码器在输出第二向量集合y之后,对第一向量集合x和第二向量集合y进行对齐操作,第一向量集合x进行对齐操作之后得到向量集合x
l
={x1,x2,...xn,x
n+1
,...x
l
},第二向量集合y进行对齐操作之后得到向量集合y
l
={y1,y2,...ym,y
m+1
,...y
l
},使得向量集合x
l
和向量集合y
l
具有相同数量的向量。例如对向量集合x和向量集合y分别进行padding操作,将向量集合x和向量集合y均转换为具有l个特征向量的集合。其中,padding操作可以是在第一向量集合x后补充l-n个全0向量,在第二向量集合y后补充l-m个全0向量;l大于或等于n,l大于或等于m。l能够根据平行语料中的训练数据进行设置,例如l可以是平行语料中最长序列包括的token的数量,l也可以是上述第一单语言模型或第二单语言模型能够编码或解码的最长序列包括的token的数量,即单语言模型一次允许输入的最长序列包括的token的数量。
[0094]
将第一向量集合x和第二向量集合y对齐之后,再将向量集合x
l
输入到第一对齐编码器,将向量集合y
l
输入到第二对齐编码器,第一对齐编码器将向量集合x
l
中的向量转换到对齐向量空间,第二对齐编码器将向量集合y
l
中的向量转换到上述对齐向量空间,将向量集合x
l
中的向量和向量集合y
l
中的向量都映射到对齐向量空间。第一对齐编码器对向量集合x
l
中的各个向量进行重新编码,得到第三向量集合xa,第二对齐编码器对向量集合y
l
中的各个向量进行重新编码,得到第四向量集合ya。其中,第三向量结合xa中的向量和第四向量集合ya中的向量都是对齐向量空间的向量。第一对齐编码器和第二对齐编码器执行的操作能够表示为如下(公式2):
[0095][0096]
其中,alienc表示第一对齐编码器和第二对齐编码器执行的编码操作,表示第三向量集合xa,表示第四向量集合ya;向量集合x
l
中的向量与第三向量集合xa中的向量一一对应,向量集合y
l
中的向量与第四向量集合ya中的向量一一对应。
[0097]
在通过上述第一对齐编码器得到第三向量集合xa,通过第二对齐编码器得到第四向量集合ya之后,根据第三向量集合xa和第四向量集合ya计算语义对齐损失la,语义对齐损失用于更新第一对齐编码器和第二对齐编码器的参数,其中,语义对齐损失满足如下(公式3)。
[0098][0099]
其中,是第四向量集合ya中的第i个向量,是第三向量集合xa中的第i个向
量。
[0100]
在通过上述第一对齐编码器得到第三向量集合xa,通过第二对齐编码器得到第四向量集合ya之后,再将上述第三向量集合xa输入第一对齐解码器,将第四向量集合ya输入第二对齐解码器,第一对齐解码器将第一对齐编码器的输出转换到第一解码器的输入对应的向量空间,第二对齐解码器将第二对齐编码器的输出转换到第二解码器的输入对应的向量空间。第一对齐解码器对第三向量集合xa中的各个向量进行转换,得到第五向量集合xd,第二对齐解码器对第四向量集合ya中的各个向量进行转换,得到第六向量集合yd。第一对齐解码器和第二对齐解码器执行的操作能够表示为如下(公式4):
[0101][0102]
其中,alidec表示第一对齐解码器和第二对齐解码器执行的解码操作。表示第五向量集合xd,表示第六向量集合yd。
[0103]
在得到第五向量集合xd和第六向量集合yd之后,需要根据第一向量集合x和第五向量集合xd计算第一语言模型对应的第一自编码损失,以及根据第二向量集合y和第六向量集合yd计算第二语言模型对应的自编码损失。其中,计算第一语言模型对应的第一自编码损失的目的是更新第一语言模型中第一对齐编码器和第一对齐解码器中的参数,以使第一语言模型中的第一对齐解码器输出的向量集合与第一编码器输出的向量集合的差异尽可能小;计算第二语言模型对应的第二自编码损失的目的是更新第二语言模型中第二对齐编码器和第二对齐解码器中的参数,以使第二语言模型的第二对齐解码器输出的向量集合与第二编码器输出的向量集合的差异尽可能小。
[0104]
由于第一语言模型的第一编码器输出的第一向量集合x只包括n个向量,第二语言模型的第一编码器输出的第二向量集合y只包括m个向量,因此需要对第一对齐解码器输出的第五向量集合xd和第二对齐编码器输出的第六向量集合yd中的l个向量进行处理,删除第五向量集合xd的目标位置上的向量和第六向量集合yd的目标位置上的向量。其中,目标位置是指上述对齐操作时增加的向量所在的位置。例如,上述对齐操作是在第一向量集合x后补充l-n个全0向量,则上述第五向量集合xd的目标位置为后面l-n个位置。
[0105]
删除第五向量集合xd的目标位置上的向量和第六向量集合yd的目标位置上的向量后,得到向量集合和向量结合根据第一向量集合x和向量集合xr计算第一语言模型对应的第一自编码损失,以及根据第二向量集合y和向量集合yr计算第二语言模型对应的第二自编码损失。其中,第一语言模型对应的第一自编码损失l
sx
和第二语言模型对应的第二自编码损失l
sy
的计算方法如下(公式5)所示。
[0106][0107]
其中,是向量集合xr中的第i个向量,xi是第一向量集合x中的第i个向量;是
向量集合yr中的第i个向量,yi是第二向量集合y中的第i个向量。
[0108]
根据一组平行语料(包括上述第一语句和第二语句),能够通过上述方法计算得到一句平行语料对应的语义对齐损失和自编码损失(包括第一自编码损失和第二自编码损失)。然后基于一组平行语料计算得到的语义对齐损失和第一自编码损失,更新第一语言模型中第一对齐编码器的参数,并根据第一自编码损失更新第一对齐解码器的参数;或者根据一个批次(batch)的平行语料对应的语义对齐损失和第一自编码损失,更新第一语言模型中第一对齐编码器的参数,并根据一个批次的平行语料对应的第一自编码损失更新第一对齐解码器的参数。基于一组平行语料计算得到的语义对齐损失和第二自编码损失,更新第二语言模型中第二对齐编码器的参数,并根据第二自编码损失更新第二对齐解码器的参数;或者根据一个批次(batch)的平行语料对应的语义对齐损失和第二自编码损失,更新第二语言模型中第二对齐编码器的参数;并根据一个批次的平行语料对应的第二自编码损失更新第二对齐解码器的参数。通过多次迭代训练对第一语言模型中的第一对齐编码器和第一对齐解码器进行训练,以及对第二语言模型中的第二对齐编码器和第二对齐解码器进行训练,直至第一语言模型和第二语言模型达到收敛条件,得到训练好的第一语言模型和训练好的第二语言模型。
[0109]
通过上述方法训练得到训练好的第一语言模型和训练好的第二语言模型,即得到训练好的能够实现两种语言之间相互翻译的翻译系统。在通过该翻译系统进行翻译的时,如果要将第一语言翻译为第二语言,则将上述第一编码器、第一对齐编码器、第二对齐解码器和第二解码器组成如图4所示的第一语言到第二语言的翻译模型。在进行翻译时,将以第一语言表述的第一源语句输入第一编码器,第一编码器对上述第一源语句进行编码后输出第一源语句对应的向量集合。其中,第一编码器输出的向量集合中的每个向量是第一解码器的输入对应的向量空间的向量。然后将第一源语句对应的向量集合输入到第一对齐编码器,第一对齐编码器将第一源语句对应的向量集合中的每个向量映射到对齐向量空间,得到第一特征向量集合。再将第一特征向量集合输入到第二对齐解码器,第二对齐解码器再将第一特征向量集合中对齐向量空间的向量映射到第二解码器的输入对应的向量空间。最后将得到的第二解码器的输入对应的向量空间的向量输入到第二解码器进行解码,输出对第一源语句进行翻译后得到的第一源语句对应的第二语言的翻译语句。
[0110]
如果要将第二语言翻译为第一语言,则将上述第二编码器、第二对齐编码器、第一对齐解码器和第一解码器组成如图5所示的第二语言到第一语言的翻译模型。在进行翻译时,将以第二语言表述的第二源语句输入第二编码器,第二编码器对上述第二源语句进行编码后输出第二源语句对应的向量集合。其中,第二编码器输出的向量集合中的每个向量是第二解码器的输入对应的向量空间的向量。然后将第二源语句对应的向量集合输入到第二对齐编码器,第二对齐编码器将第二源语句对应的向量集合中的每个向量映射到对齐向量空间,得到第二特征向量集合。再将第二特征向量集合输入到第一对齐解码器,第一对齐解码器再将第二特征向量集合中对齐向量空间的向量映射到第一解码器的输入对应的向量空间。最后将得到的第一解码器的输入对应的向量空间的向量输入到第一解码器进行解码,输出对第二源语句进行翻译后得到的第二源语句对应的第一语言的翻译语句。
[0111]
上面结合图1-图5详细介绍了如何训练能够实现两种语言相互翻译的翻译系统和如何运用训练好的翻译系统进行两种语言的翻译。应理解,对于更多种语言之间相互翻译
的翻译系统,同样能够通过上述方法进行训练及应用。下面以三种语言的翻译系统为例,介绍能够实现三种语言相互翻译的翻译系统的训练和应用。
[0112]
如图6所示,当需要训练能够进行三种语言之间相互翻译的翻译系统时,翻译系统包括第一语言模型、第二语言模型和第三语言模型。第一语言模型包括第一编码器、第一对齐编码器、第一对齐解码器和第一解码器;第二语言模型包括第二编码器、第二对齐编码器、第二对齐解码器和第二解码器;第三语言模型包括第三编码器、第三对齐编码器、第三对齐解码器和第三解码器。
[0113]
在对三种语言的翻译系统进行训练时,首先需要对第一语言对应的第一单语言模型、第二语言对应的第二单语言模型以及第三语言对应的第三单语言模型进行预训练。其中,第一单语言模型和第二单语言模型的训练方法可以参照上述图2相关的描述,在此不再赘述。第三单语言模型包括上述第三编码器和第三解码器。对于第三单语言模型,根据上述第一单语言模型相同的训练方法,基于第三语言的训练数据,通过多次迭代训练对上述第三单语言模型进行训练,直至第三单语言模型达到收敛条件,得到训练好的第三单语言模型。
[0114]
在对第一单语言模型、第二单语言模型和第三单语言模型进行预训练得到训练好的第一单语言模型、训练好的第二单语言模型和训练好的第三单语言模型之后,在第一单语言模型的第一编码器和第一解码器之间增加第一对齐编码器和第一对齐解码器,在第二单语言模型的第二编码器和第二解码器之间增加第二对齐编码器和第二对齐解码器,在第三单语言模型的第三编码器和第三解码器之间增加第三对齐编码器和第三对齐解码器,得到能够实现三种语言之间相互翻译的翻译系统。再根据平行语料对翻译系统中的第一对齐编码器和第一对齐解码器、第二对齐编码器和第二对齐解码器以及第三对齐编码器和第三对齐解码器进行训练,得到训练好的能够实现三种语言相互翻译的翻译系统。其中,平行语料是包括第一语言、第二语言和第三语言的同义语句的集合,即平行语料中包括第一语言的语句、第二语言的语句以及第三语料的语句,第一语言的每个语句均对应有具有相同语义的第二语言的翻译,同时对应有具有相同语义的第三语言的翻译。
[0115]
如图7所示,在对该翻译系统进行训练时,首先将平行语料中第一语言的第一语句输入第一编码器,将平行语料中第二语言的第二语句输入第二编码器,将平行语料中第三语言的第三语句输入第三编码器。其中,第一语句、第二语句以及第三语句是具有相同语义的语句的三种语言的表达。第一语句在输入第一编码器之后,第一语言模型对第一语句的处理过程与上述训练两种语言相互翻译的翻译系统时的处理过程相同,第二语句在输入第二编码器之后,第二语言模型对第二语句的处理过程与上述训练两种语言相互翻译的翻译系统时的处理过程相同。
[0116]
对于第三语言模型,将第三语句输入第三编码器,第三编码器对第三语句进行编码,输出第三语句对应的第七向量集合z={z1,z2,
…
,z
t
},对第七向量集合z进行对齐操作,将第七向量集合z转换为对包括l个向量的集合,得到向量集合z
l
,实现第一向量集合x、第二向量集合y以及第七向量集合z的对齐。然后将向量集合z
l
输入至第三对齐编码器,第三对齐编码器将向量集合z
l
中的向量映射到对齐向量空间,得到第八向量集合
[0117]
在通过第三对齐编码器得到第八向量集合za之后,根据第三向量集合xa、第四向量
集合ya和第八向量集合za计算语义对齐损失la,语义对齐损失用于更新第一对齐编码器、第二对齐编码器和第三对齐编码器的参数,其中,当翻译系统是实现三种语言相互翻译的系统时,语义对齐损失满足如下(公式6)。
[0118][0119]
其中,是第四向量集合za中的第i个向量。
[0120]
通过第三对齐编码器得到第八向量集合za之后,再将上述第八向量集合za输入第三对齐解码器,第三对齐解码器对第八向量集合za中的各个向量进行转换,得到第九向量集合从而将对齐向量空间的向量映射到第三解码器的输入对应的向量空间。
[0121]
由于第三语言模型的第三编码器输出的第七向量集合z只包括t个向量,因此需要对第三对齐解码器输出的第九向量集合zd中的l个向量进行处理,删除向量集合zd的目标位置上的向量。其中,目标位置是指对上述第七向量集合z进行对齐操作时增加的向量所在的位置。例如,上述对齐操作是在第七向量集合z后补充l-t个全0向量,则上述第九向量集合zd的目标位置为后面l-t个位置。
[0122]
删除第九向量集合zd的目标位置上的向量后,得到向量集合根据第七向量集合z和向量集合zr计算第三语言模型对应的第三自编码损失。其中,第一语言模型对应的第一自编码损失l
sx
和第二语言模型对应的第二自编码损失l
sy
的计算方法如上述(公式5)所示,第三语言模型的自编码损失l
sz
的计算方法如下(公式7)所示。
[0123][0124]
其中,是向量集合zr中的第i个向量,xi是第七向量集合z中的第i个向量。
[0125]
根据一组平行语料(包括上述第一语句、第二语句和第三语句),能够通过上述方法计算得到一组平行语料对应的语义对齐损失和自编码损失(包括第一自编码损失、第二自编码损失和第三自编码损失)。然后基于一组平行语料计算得到的语义对齐损失和第一自编码损失,更新第一语言模型中第一对齐编码器的参数,并根据第一自编码损失更新第一对齐解码器的参数;或者根据一个批次(batch)的平行语料对应的语义对齐损失和第一自编码损失,更新第一语言模型中第一对齐编码器的参数,并根据一个批次的平行语料对应的第一自编码损失更新第一对齐解码器的参数。基于一组平行语料计算得到的语义对齐损失和第二自编码损失,更新第二语言模型中第二对齐编码器的参数,并根据第二自编码损失更新第二对齐解码器的参数;或者根据一个批次(batch)的平行语料对应的语义对齐损失和第二自编码损失,更新第二语言模型中第二对齐编码器的参数;并根据一个批次的平行语料对应的第二自编码损失更新第二对齐解码器的参数。基于一组平行语料计算得到的语义对齐损失和第三自编码损失,更新第三语言模型中第三对齐编码器的参数,并根据第三自编码损失更新第三对齐解码器的参数;或者根据一个批次(batch)的平行语料对应的语义对齐损失和第三自编码损失,更新第三语言模型中第三对齐编码器的参数;并根据一个批次的平行语料对应的第三自编码损失更新第三对齐解码器的参数。
[0126]
通过多次迭代训练对第一语言模型中的第一对齐编码器和第一对齐解码器进行
训练,对第二语言模型中的第二对齐编码器和第二对齐解码器进行训练,以及对第三语言模型中的第三对齐编码器和第三对齐解码器进行训练,直至第一语言模型、第二语言模型和第三语言模型达到收敛条件,得到训练好的第一语言模型、训练好的第二语言模型和训练好的第三语言模型。
[0127]
需要说明的是,如果是在训练好的两种语言相互翻译的翻译系统的基础上,再训练上述能够进行三种语言相互翻译的翻译系统,可以不更新第一语言模型和第二语言模型的参数,仅对第三单语言模型进行预训练,然后再对第三对齐编码器和第三对齐解码器进行训练。即,不需要再对第一单语言模型和第二单语言模型进行训练,在对第三单语言模型进行训练之后,在通过平行语料训练第一语言模型、第二语言模型和第三语言模型,仅通过上述方法计算得到语义对齐损失和第三自编码损失,然后根据语义对齐损失和第三自编码损失更新第三对齐编码器的参数,根据第三自编码损失更新第三对齐解码器的参数。应理解,在训练好的两种语言相互翻译的翻译系统的基础上,再训练上述能够进行三种语言相互翻译的翻译系统,也可以再次根据语义对齐损失和第一自编码损失更新第一对齐编码器的参数,根据第一自编码损失更新第一对齐解码器的参数;并再次根据语义对齐损失和第二自编码损失更新第二对齐编码器的参数,根据第二自编码损失更新第二对齐解码器的参数;同时根据语义对齐损失和第三自编码损失更新第三对齐编码器的参数,根据第三自编码损失更新第三对齐解码器的参数。
[0128]
通过上述方法训练得到训练好的第一语言模型、训练好的第二语言模型和训练好的第三语言模型,即得到训练好的能够实现三种语言之间相互翻译的翻译系统。在通过该翻译系统进行翻译的时,实现第一语言和第二语言之间相互翻译的方法可以参照上述图4和图5相关的描述。如果要将第一语言翻译为第二语言,可以参照上述图4相关的描述,实现第一语言到第二语言的翻译。如果要将第二语言翻译为第一语言,可以参照上述图5相关的描述,实现第二语言到第一语言的翻译。应理解,能够实现三种语言之间相互翻译的翻译系统还能够实现第一语言和第三语言之间的相互翻译,以及第二语言与第三语言之间的相互翻译。
[0129]
本技术实施例中,实现第一语言和第三语言之间相互翻译以及第二语言和第三语言之间相互翻译的方法,与上述实现第一语言和第二语言之间相互翻译的方法相似。例如,要将第三语言翻译为第一语言,则将上述第三编码器、第三对齐编码器、第一对齐解码器和第一解码器组成如图8所示的第三语言到第一语言的翻译模型。在进行翻译时,将以第三语言表述的第三源语句输入第三编码器,第三编码器对上述第三源语句进行编码后输出第三源语句对应的向量集合。其中,第三编码器输出的向量集合中的每个向量是第三解码器的输入对应的向量空间的向量。然后将第三源语句对应的向量集合输入到第三对齐编码器,第三对齐编码器将第三源语句对应的向量集合中的每个向量映射到对齐向量空间,得到第三特征向量集合。再将第三特征向量集合输入到第一对齐解码器,第一对齐解码器将第三特征向量集合中对齐向量空间的向量映射到第一解码器的输入对应的向量空间。最后将得到的第一解码器的输入对应的向量空间的向量输入到第一解码器进行解码,输出对第三源语句进行翻译后得到的第三源语句对应的第一语言的翻译语句。
[0130]
如果要将第一语言翻译为第三语言,则将上述第一编码器、第一对齐编码器、第三对齐解码器和第三解码器组成如图9所示的第一语言到第三语言的翻译模型。在进行翻译
时,将以第一语言表述的第四源语句输入第一编码器,第一编码器对上述第四源语句进行编码后输出第四源语句对应的向量集合。其中,第一编码器输出的向量集合中的每个向量是第一解码器的输入对应的向量空间的向量。然后将第四源语句对应的向量集合输入到第一对齐编码器,第一对齐编码器将第四源语句对应的向量集合中的每个向量映射到对齐向量空间,得到第四特征向量集合。再将第四特征向量集合输入到第三对齐解码器,第三对齐解码器将第四特征向量集合中对齐向量空间的向量映射到第三解码器的输入对应的向量空间。最后将得到的第三解码器的输入对应的向量空间的向量输入到第三解码器进行解码,输出对第四源语句进行翻译后得到的第四源语句对应的第三语言的翻译语句。
[0131]
上面结合图6-图9详细介绍了如何训练能够实现三种语言相互翻译的翻译系统和如何运用训练好的翻译系统进行三种语言之间的相互翻译。应理解,对于更多种语言的相互翻译的翻译系统,同样能够通过上述过程进行训练和应用,并且在训练好的翻译系统的基础上增加一种语言的翻译时,训练过程可以参照上述在训练好两种语言相互翻译的翻译系统的基础上,训练三种语言相互翻译的翻译系统的过程,在此不再一一赘述。
[0132]
通过构建本技术提供的翻译系统,在需要实现多种语言之间的相互翻译时,只需要先分别训练各种语言对应的单语言模型;然后在各个单语言模型的编码器和解码器之间增加对齐编码器和对齐解码器,构建本技术提供的翻译系统;最后通过平行语料训练构建的翻译系统,就可以得到训练好的能够实现多种语言之间相互翻译的翻译系统。而在进行翻译时,只需要将上述训练好的翻译系统中源语言对应的编码器和对齐编码器以及目标语言对应的解码器和对齐解码器进行组合,即可得到将源语言翻译为目标语言的翻译模型。例如实现a语言和b语言的相互翻译,只需要将训练好的翻译系统中,a语言对应的编码器和对齐编码器以及b语言对应的解码器和对齐解码器进行组合,即可得到将a语言翻译为b语言的模型;将b语言对应的编码器和对齐编码器以及a语言对应的解码器和对齐解码器进行组合,即可得到将b语言翻译为a语言的模型。
[0133]
通过使用本技术提供的翻译系统,不需要分别训练一种语言到另一种语言的翻译模型,例如,要实现a语言与b语言之间的相互翻译,不需要分别训练将a语言翻译到b语言的模型,以及将b语言翻译到a语言的模型。能够提高翻译系统的训练效率,节约计算资源。
[0134]
另外,通过上述训练两种语言相互翻译的系统和训练三种语言相互翻译的系统可知,在训练好能够实现第一语言和第二语言这两种语言相互翻译的系统之后,如果要增加第三语言,实现三种语言之间的相互翻译,只需要单独训练第三语言对应的单语言模型,然后再将第一语言模型、第二语言模型和第三语言模型一起联合训练,即可得到能够实现三种语言之间相互翻译的模型,而不需要分别训练将第一语言翻译为第三语言的模型、将第三语言翻译到第一语言、将第二语言翻译到第三语言的模型以及将第三语言翻译到第二语言的模型。因此使用本技术提供的翻译模型,在进行扩展时,能够减少需要训练的模型数量,提高训练效率,提高系统的扩展性。
[0135]
下面结合附图10介绍本技术实施例提供的翻译系统的训练方法,该翻译系统包括第一语言模型和第二语言模型,其中,第一语言模型包括第一编码器、第一对齐编码器、第一对齐解码器和第一解码器,第二语言模型包括第二编码器、第二对齐编码器、第二对齐解码器和第二解码器。该方法包括:
[0136]
s101.获取基于第一语言的语料训练得到的第一语言的第一编码器和第一解码
器,获取基于第二语言的语料训练得到的第一语言的第二编码器和第二解码器。
[0137]
其中,第一编码器用于对第一语言表述的语句进行编码,输出对应的向量,第一解码器用于对输入的向量进行解码,输出第一语言表述的语句;第二编码器用于对第二语言表述的语句进行编码,输出对应的向量,第二解码器用于对输入的向量进行解码,输出第二语言表述的语句。
[0138]
通过第一语言的训练数据对第一单语言模型进行训练,得到训练好的第一编码器和训练好的第一解码器。通过第二语言的训练数据对第二单语言模型进行训练,得到训练好的第二编码器和训练好的第二解码器。通过第一语言的训练数据对第一单语言模型进行训练,以及通过第二语言的训练数据对第二单语言模型进行训练的训练过程能够参照上述图2相关的描述,在此不在赘述。获取训练好的第一单语言模型和训练好的第二单语言模型之后,能够在第一单语言模型的基础上构建上述第一语言模型,在第二单语言模型的基础上构建上述第二语言模型。
[0139]
s102.基于平行语料对第一语言模型和第二语言模型进行联合训练,得到训练好的第一对齐编码器、训练好的第一对齐解码器、训练好的第二对齐编码器和训练好的第二对齐解码器。
[0140]
在获取上述训练好的第一单语言模型和第二单语言模型之后,在第一编码器和第一解码器之间增加第一对齐编码器和第一对齐解码器,在第二编码器与第二解码器之间增加第二对齐编码器和第二对齐解码,得到上述第一语言模型和第二语言模型。然后通过平行语料对第一语言模型和第二语言模型进行训练,得到训练好的能够实现两种语言之间相互翻译的翻译系统。其中,通过平行语料对所述第一语言模型和所述第二语言模型进行训练的训练过程可以参照上述图3相关的描述,在此不再赘述。
[0141]
在得到训练好的第一语言模型和第二语言模型之后,在利用第一语言模型和第二语言模型进行翻译时,可以如图4和图5所示对第一语言模型和第二语言模型包括的编码器和解码器进行组合,实现第一语言到第二语言的翻译或者第二语言到第一语言的翻译。
[0142]
本技术提供的翻译系统的训练方法还可以用于训练能够实现三种或者三种以上语言相互翻译的翻译系统。对能够实现三种语言相互翻译的翻译系统的训练方法可以参照上述图6和图7的相关描述,在此不再赘述。
[0143]
对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
[0144]
本领域的技术人员根据以上描述的内容,能够想到的其他合理的步骤组合,也属于本发明的保护范围内。其次,本领域技术人员也应该熟悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
[0145]
参见图11,图11是本技术实施例提供的一种计算设备的示意图,该计算设备11包括:一个或者多个处理器110、通信接口111以及存储器112,所述处理器110、通信接口111以及存储器112通过总线113相互连接,其中,
[0146]
处理器110执行各种操作的具体实现可参照上述图10所示的方法实施例中的具体操作。或者执行图1-图5对应的训练两种语言相互翻译的翻译系统的过程和运用训练好的
翻译系统进行翻译的过程,或者执行图6-图9对应的训练三种语言相互翻译的翻译系统的过程和运用训练好的翻译系统进行翻译的过程,在此不再赘述。
[0147]
处理器110可以有多种具体实现形式,例如处理器110可以为中央处理器(central processing unit,cpu)或图像处理器(graphics processing unit,gpu),处理器110还可以是单核处理器或多核处理器。处理器110可以由cpu和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。处理器110也可以单独采用内置处理逻辑的逻辑器件来实现,例如fpga或数字信号处理器(digital signal processor,dsp)等。
[0148]
通信接口111可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,lin)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。本技术实施例中通信接口111具体可用于接收用户设备上传的训练数据、平行语料等。
[0149]
存储器112可以是非易失性存储器,例如,只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。存储器112也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
[0150]
存储器112也可用于存储程序代码和数据,以便于处理器110调用存储器112中存储的程序代码执行上述方法实施例中训练翻译系统的方法或者应用翻译系统进行翻译的方法。此外,计算设备11可能包含相比于图10展示的更多或者更少的组件,或者有不同的组件配置方式。
[0151]
总线113可以是快捷外围部件互连标准(peripheral component interconnect express,pcie)总线,或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线、统一总线(unifiedbus,ubus或ub)、计算机快速链接(computeexpresslink,cxl)、缓存一致互联协议(cachecoherentinterconnectforaccelerators,ccix)等。总线113可以分为地址总线、数据总线、控制总线等。总线113除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0152]
可选地,该计算设备11还可以包括输入/输出接口114,输入/输出接口114连接有输入/输出设备,用于接收输入的信息,输出操作结果。
[0153]
由于本技术提供的翻译系统中的各个模块可以分布式地部署在同一环境或者不
同环境中的多个计算设备11上,因此,本技术还提供一种如图12所示的计算设备集群,该计算设备集群包括多个计算设备11。
[0154]
上述每个计算设备11间通过通信网络建立通信通路。每个计算设备11上运行第一编码器、第一对齐编码器、第一对齐解码器、第一解码器、第二编码器、第二对齐编码器、第二对齐解码器和第二解码器中的任意一个或多个。例如,第一个计算设备11中运行有第一编码器、第一对齐编码器、第一对齐解码器、第一解码器;第二个计算设备11中运行有第二编码器、第二对齐编码器、第二对齐解码器、第二解码器。其中,任一计算设备11可以为云环境中的计算机(例如:服务器),或边缘数据中心中的计算机,或终端计算设备。
[0155]
本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在处理器上运行时,可以实现上述方法实施例中的方法步骤,所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例图3所示的具体操作,在此不再赘述。
[0156]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0157]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,ssd)。
[0158]
本技术实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本技术实施例系统中的模块可以根据实际需要进行划分、合并或删减。
[0159]
以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
技术特征:
1.一种翻译系统的训练方法,其特征在于,所述翻译系统包括第一语言模型和第二语言模型,所述第一语言模型包括第一编码器、第一对齐编码器、第一对齐解码器和第一解码器,所述第二语言模型包括第二编码器、第二对齐编码器、第二对齐解码器和第二解码器,所述方法包括:获取基于第一语言的语料训练得到的所述第一语言的第一编码器和所述第一解码器,获取基于第二语言的语料训练得到的所述第一语言的所述第二编码器和所述第二解码器;基于平行语料对所述第一语言模型和所述第二语言模型进行联合训练,得到训练好的第一对齐编码器、训练好的第一对齐解码器、训练好的第二对齐编码器和训练好的第二对齐解码器,所述平行语料包括所述第一语言和所述第二语言的同义语句的集合;其中,所述第一对齐编码器用于将所述第一编码器输出的向量转换到对齐向量空间,所述第二对齐编码器用于将所述第二编码器输出的向量转换到所述对齐向量空间;所述第一对齐解码器用于将所述第一对齐编码器的输出转换到所述第一解码器的输入对应的向量空间中,以使所述第一解码器对所述第一对齐解码器的输出进行解码,输出第一语言的语句;所述第二对齐解码器用于将所述第二对齐编码器的输出转换到所述第二解码器的输入的向量空间中,以使所述第二解码器对所述第二对齐解码器的输出进行解码,输出第二语言的语句。2.根据权利要求1所述的方法,其特征在于,所述基于平行语料对所述第一语言模型和所述第二语言模型进行联合训练,包括:通过第一对齐编码器对第一编码器输出的第一语句对应的向量进行编码,以及通过第二对齐编码器对第二编码器输出的第二语句对应的向量进行编码,所述第一语句和所述第二语句是使用两种语言表述的具有相同语义的语句;基于所述第一对齐编码器的输出和所述第二对齐编码器的输出,更新所述第一对齐编码器的参数和所述第二对齐编码器的参数;通过所述第一对齐解码器对所述第一对齐编码器的输出进行解码,基于所述第一对齐解码器的输出和所述第一编码器的输出,更新所述第一对齐解码器的参数和所述第一对齐编码器的参数;通过所述第二对齐解码器对所述第二对齐编码器的输出进行解码,基于所述第二对齐解码器的输出和所述第二编码器的输出,更新所述第二对齐解码器的参数和所述第二对齐编码器的参数。3.根据权利要求2所述的方法,其特征在于,所述基于所述第一对齐编码器的输出和所述第二对齐编码器的输出,更新所述第一对齐编码器的参数和所述第二对齐编码器的参数,包括:基于所述对齐编码器的输出和所述第二对齐编码器的输出,计算语义对齐损失,根据所述语义对齐损失更新所述第一对齐编码器的参数和所述第二对齐编码器的参数。4.根据权利要求1-3任一项所述的方法,其特征在于,所述翻译系统还包括第三语言模型,所述第三语言模型包括第三编码器、第三对齐编码器、第三对齐解码器和第三解码器;所述方法还包括:获取基于第三语言的语料训练得到的所述第三语言的第三编码器和所述第三解码器;所述通过平行语料对所述第一语言模型和所述第二语言模型进行训练,得到训练好的
所述第一语言模型和所述第二语言模型,包括:通过平行语料对所述第一语言模型、所述第二语言模型和所述第三语言模型进行联合训练,得到训练好的所述第一语言模型、训练好的所述第二语言模型和训练好的所述第三语言模型,所述平行语料包括所述第一语言、所述第二语言和所述第三语言的同义语句的集合;其中,所述第三对齐编码器用于将所述第三编码器输出的向量转换到所述对齐向量空间;所述第三对齐解码器用于将所述第三对齐编码器的输出转换到所述第三解码器的输入对应的向量空间,以使所述第三解码器对所述第三对齐解码器的输出进行解码,输出第三语言的语句。5.根据权利要求4所述的方法,其特征在于,通过平行语料对所述第一语言模型、所述第二语言模型和所述第三语言模型进行联合训练,包括:通过第一对齐编码器对第一编码器输出的第一语句对应的向量进行编码、通过第二对齐编码器对第二编码器输出的第二语句对应的向量进行编码以及通过第三对齐编码器对第三编码器输出的第三语句进行编码,所述第一语句、所述第二语句和所述第三语句是使用三种语言表述的具有相同语义的语句;基于所述第一对齐编码器的输出、所述第二对齐编码器的输出和所述第三对齐编码器的输出,更新所述第三对齐编码器的参数;通过所述第三对齐解码器对所述第三对齐编码器的输出进行解码,基于所述第三对齐解码器的输出和所述第三编码器的输出,更新所述第三对齐解码器的参数和所述第三对齐编码器的参数。6.一种翻译方法,其特征在于,包括:通过第一编码器对输入的第一语言的第一源语句进行编码,输出所述第一源语句对应的向量集合,所述第一源语句对应的向量集合中的向量属于第一解码器的输入对应的向量空间;通过第一对齐编码器将所述第一源语句对应的向量集合中的向量转换为对齐向量空间中的第一特征向量集合;通过第二对齐解码器将所述第一特征向量集合中的向量转换为第二解码器的输入对应的向量空间的向量;通过第二解码器对所述第二对齐解码器输出的向量进行解码,输出所述第一源语句对应的所述第二语言的翻译语句。7.根据权利要求6所述的方法,其特征在于,还包括:通过第二编码器对输入的所述第二语言的第二源语句进行编码,输出所述第二源语句对应的向量集合,所述第二源语句对应的向量集合中的向量属于所述第二解码器的输入对应的向量空间;通过第二对齐编码器将所述第二解码器的输入对应的向量集合中的向量转换为所述对齐向量空间中的第二特征向量集合;通过第一对齐解码器将所述第二特征向量集合中的向量转换为所述第一解码器的输入对应的向量空间的向量;通过第一解码器对所述第一解码器的输入对应的向量空间的向量进行解码,输出所述
第二源语句对应的所述第一语言的翻译语句。8.根据权利要求6或7所述的方法,其特征在于,还包括:通过第三编码器对输入的第三语言的第三源语句进行编码,输出所述第三源语句对应的向量集合,所述第三源语句对应的向量集合中的向量属于第三解码器的输入对应的向量空间;通过第三对齐编码器将所述第三解码器的输入对应的向量集合中的向量转换为所述对齐向量空间的第三特征向量集合;通过第一对齐解码器将所述第三特征向量集合中的向量转换为所述第一解码器的输入对应的向量空间的向量;通过第一解码器对所述第一解码器的输入对应的向量空间的向量进行解码,输出所述第三源语句对应的所述第一语言的翻译语句。9.根据权利要求6-8任一项所述的方法,其特征在于,还包括:通过所述第一编码器对输入的所述第一语言的第四源语句进行编码,输出所述第四源语句对应的向量集合,所述第四源语句对应的向量集合中的向量属于所述第一解码器的输入对应的向量空间;通过所述第一对齐编码器将所述第四源语句对应的向量集合中的向量转换为所述对齐向量空间的第四特征向量集合;通过第三对齐解码器将所述第四特征向量集合中的向量转换为所述第三解码器的输入对应的向量空间的向量;通过第三解码器对所述第三解码器的输入对应的向量空间的向量进行解码,输出所述第四源语句对应的所述第三语言的翻译语句。10.一种翻译系统,其特征在于,所述翻译系统包括第一编码器、第一对齐编码器、第二对齐解码器和第二解码器,其中,所述第一编码器,用于对输入的第一语言的第一源语句进行编码,输出所述第一源语句对应的向量集合,所述第一源语句对应的向量集合中的向量属于第一解码器的输入对应的向量空间;所述第一对齐编码器,用于将所述第一源语句对应的向量集合中的向量转换为对齐向量空间的第一特征向量集合;所述第二对齐解码器,用于将所述第一特征向量集合中的向量转换为第二解码器的输入对应的向量空间的向量;所述第二解码器,用于对所述第二解码器的输入对应的向量空间的向量进行解码,输出所述第一源语句对应的所述第二语言的翻译语句。11.根据权利要求10所述的系统,其特征在于,所述系统还包括第二编码器、第二对齐解码器、第一对齐解码器和第一解码器,其中,所述第二编码器,用于对输入的所述第二语言的第二源语句进行编码,输出所述第二源语句对应的向量集合,所述第二源语句对应的向量集合中的向量属于所述第二解码器的输入对应的向量空间;所述第二对齐编码器,用于将所述第二解码器的输入对应的向量集合中的向量转换为所述对齐向量空间的第二特征向量集合;
所述第一对齐解码器,用于将所述第二特征向量集合中的向量转换为所述第一解码器的输入对应的向量空间的向量;所述第一解码器,用于对所述第一语言对应的向量空间的向量进行解码,输出所述第二源语句对应的所述第一语言的翻译语句。12.根据权利要求10或11所述的系统,其特征在于,所述系统还包括第一对齐解码器和第一解码器、第三编码器和第三对齐编码器,其中,所述第三编码器,用于对输入的第三语言的第三源语句进行编码,输出所述第三源语句对应的向量集合,所述第三源语句对应的向量集合中的向量属于第三解码器的输入对应的向量空间;所述第三对齐编码器,用于将所述第三解码器的输入对应的向量集合中的向量转换为所述对齐向量空间的第三特征向量集合;所述第一对齐解码器,用于将所述第三特征向量集合中的向量转换为所述第一解码器的输入对应的向量空间的向量;所述第一解码器,用于对所述第一解码器的输入对应的向量空间的向量进行解码,输出所述第三源语句对应的所述第一语言的翻译语句。13.根据权利要求10-12任一项所述的系统,其特征在于,所述系统还包括第三对齐解码器和第三解码器,其中,所述第一编码器,还用于对输入的所述第一语言的第四源语句进行编码,输出所述第四源语句对应的向量集合,所述第四源语句对应的向量集合中的向量属于所述第一解码器的输入对应的向量空间;所述第一对齐编码器,还用于将所述第四源语句对应的向量集合中的向量转换为所述对齐向量空间的第四特征向量集合;所述第三对齐解码器,用于将所述第四特征向量集合中的向量转换为所述第三解码器的输入对应的向量空间的向量;所述第三解码器,用于对所述第三解码器的输入对应的向量空间的向量进行解码,输出所述第四源语句对应的所述第三语言的翻译语句。14.一种计算设备,其特征在于,包括处理器和存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器执行所述指令时,执行如权利要求1至5任一项所述的方法。15.一种计算设备,其特征在于,包括处理器和存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器执行所述指令时,执行如权利要求6至9任一项所述的方法。16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行如权利要求1至5任一项所述的方法。17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行如权利要求6至9任一项所述的方法。
技术总结
本申请提供一种翻译系统及其训练、应用方法与相关设备,该翻译系统包括第一语言模型和第二语言模型,第一语言模型包括第一编码器、第一对齐编码器、第一对齐解码器和第一解码器,第二语言模型包括第二编码器、第二对齐编码器、第二对齐解码器和第二解码器,通过平行语料对所述第一语言模型和所述第二语言模型进行训练,得到训练好的所述第一语言模型和所述第二语言模型;通过对训练好的第一语言模型和第二语言模型中的编码器和解码器进行组合,即可实现第一语言和第二语言之间的相互翻译。通过使用本申请提供的翻译系统,能够提高翻译系统的训练效率,节约计算资源,并能够提高翻译系统的可扩展性。译系统的可扩展性。译系统的可扩展性。
技术研发人员:史佳欣 常建龙 宁可 陈鑫 张恒亨 田奇
受保护的技术使用者:华为云计算技术有限公司
技术研发日:2022.03.11
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/