掌桥专利:专业的专利平台
掌桥专利
首页

一种基于图网络的多语言翻译的词表初始化方法及装置

文献发布时间:2023-06-19 19:28:50


一种基于图网络的多语言翻译的词表初始化方法及装置

技术领域

本发明涉及机器翻译技术领域,尤其涉及的是一种基于图网络的多语言翻译的词表初始化方法及装置。

背景技术

神经机器翻译即使用神经网络构建模型来端到端地实现机器翻译功能。现阶段效果表现最佳的神经网络结构为Transformer结构。

多语言机器翻译(Multilingual Machine Translation),即使用一个机器翻译模型完成多种语言之间的互相翻译。多语言机器翻译相对于为每一种语言对训练一个翻译模型的方式来说,总体的模型参数量大幅度降低,所以可以有效减轻部署的空间占用和增加翻译效率。

然而,现有的多语言机器翻译模型需要构建及训练大量的词表,不仅需要花费很多的训练时间,而且,由于一些语言的双语语料不足,导致训练后的多语言机器翻译模型输出的翻译准确率较低。

因此,现有技术还有待改进。

发明内容

本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种基于图网络的多语言翻译的词表初始化方法及装置,以解决现有的多语言机器翻译模型翻译准确率低的技术问题。

本发明解决技术问题所采用的技术方案如下:

第一方面,本发明提供一种基于图网络的多语言翻译的词表初始化方法,包括:

根据每种语言对应的双语词典、词语及词元的分解构成关系,构建每种语言与核心语言之间的词表映射异质图;

根据异质图神经网络和对比学习算法,在所述词表映射异质图上学习不同语言词表与核心语言词表之间的词元映射关系;

将多语言机器翻译任务中的核心语言词表的词元利用核心语言BERT模型的词表进行初始化,并根据所述词元映射关系将其他语言映射到所述核心语言BERT模型的词表空间,完成所述多语言机器翻译任务中所有词元的初始化。

在一种实现方式中,所述根据每种语言对应的双语词典、词语及词元的分解构成关系,构建每种语言与核心语言之间的词表映射异质图,包括:

针对每种语言分别训练对应的词表;

根据每种语言对应的词表和双语词典,构建每种语言与所述核心语言之间的词表映射异质图。

在一种实现方式中,所述针对每种语言分别训练对应的词表,包括:

根据BPE算法将每种语言中所有词语拆分为词元;

统计所有词元相邻出现的概率,将概率最大的词元进行拼接,生成新子词;

根据所有生成的新子词得到每种语言对应的词表。

在一种实现方式中,所述根据每种语言对应的词表和双语词典,构建每种语言与所述核心语言之间的词表映射异质图,包括:

将词表中所有的词元和对应的双语词典中的词语设为所述词表映射异质图的节点;

在所述词表映射异质图中加入同一语言词元与词语之间的包含关系;

在所述词表映射异质图中加入不同语言之间具有相同指代含义的双语对应关系;

在所述词表映射异质图中加入同一语言词元与词元之间的子串关系;

根据所加入的映射关系得到所述词表映射异质图。

在一种实现方式中,所述词表映射异质图为有向异质图:

其中,

在一种实现方式中,所述根据异质图神经网络和对比学习算法,在所述词表映射异质图上学习不同语言词表与核心语言词表之间的词元映射关系,包括:

根据所述异质图神经网络和所述对比学习算法,以不同角度在所述词表映射异质图上学习各词元节点的表示,得到各词元节点对应的嵌入表示和向量。

在一种实现方式中,所述以不同角度在所述词表映射异质图上学习各词元节点的表示,包括:

基于网络模式角度学习各词元节点与周边节点之间的连接关系。

在一种实现方式中,所述以不同角度在所述词表映射异质图上学习各词元节点的表示,还包括:

基于元路径角度学习各词元节点与周边节点之间的路径连接关系。

在一种实现方式中,所述将多语言机器翻译任务中的核心语言词表的词元利用核心语言BERT模型的词表进行初始化,并根据所述词元映射关系将其他语言映射到所述核心语言BERT模型的词表空间,包括:

利用图空间的表示学习所述核心语言和其他语言之间的对应关系;

根据对应关系将所述核心语言的表示与其他语言的表示映射在所述BERT模型的嵌入层空间;

利用学习到的每种语言词元表示进行合并,初始化所述多语言机器翻译任务的词表。

在一种实现方式中,所述利用图空间的表示学习所述核心语言和其他语言之间的对应关系,包括:

在图空间计算每一个核心语言的词元和一种其他语言所有词元的相似度,得到一个相似度矩阵;

根据所述相似度矩阵计算所述核心语言和其他语言之间的相近的词元的集合。

第二方面,本发明提供一种基于图网络的多语言翻译的词表初始化装置,包括:

词表映射异质图模块,用于根据每种语言对应的双语词典、词语及词元的分解构成关系,构建每种语言与核心语言之间的词表映射异质图;

词元映射关系模块,用于根据异质图神经网络和对比学习算法,在所述词表映射异质图上学习不同语言词表与核心语言词表之间的词元映射关系;

词元初始化模块,用于将多语言机器翻译任务中的核心语言词表的词元利用核心语言BERT模型的词表进行初始化,并根据所述词元映射关系将其他语言映射到所述核心语言BERT模型的词表空间,完成所述多语言机器翻译任务中所有词元的初始化。

第三方面,本发明提供一种终端,包括:处理器以及存储器,所述存储器存储有基于图网络的多语言翻译的词表初始化程序,所述基于图网络的多语言翻译的词表初始化程序被所述处理器执行时用于实现如第一方面所述的基于图网络的多语言翻译的词表初始化方法的操作。

第四方面,本发明还提供一种介质,所述介质为计算机可读存储介质,所述介质存储有基于图网络的多语言翻译的词表初始化程序,所述基于图网络的多语言翻译的词表初始化程序被处理器执行时用于实现如第一方面所述的基于图网络的多语言翻译的词表初始化方法的操作。

本发明采用上述技术方案具有以下效果:

本发明根据每种语言对应的双语词典、词语及词元的分解构成关系,可以构建每种语言与核心语言之间的词表映射异质图;并且,根据异质图神经网络和对比学习算法,可以在词表映射异质图上学习不同语言词表与核心语言词表之间的词元映射关系;以及通过将多语言机器翻译任务中的核心语言词表的词元利用核心语言BERT模型的词表进行初始化,并根据词元映射关系将其他语言映射到核心语言BERT模型的词表空间,完成多语言机器翻译任务中所有词元的初始化。本发明利用构建词元异质图的方式来完成不同语言词元的映射来初始化词元,提高了多语言机器翻译模型的翻译准确率,同时也加快了模型收敛速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1是本发明的一种实现方式中基于图网络的多语言翻译的词表初始化方法的流程图。

图2是本发明的一种实现方式中面向多语言机器翻译的基于异质图神经网络的词表初始化的示意图。

图3是本发明的一种实现方式中终端的功能原理图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

示例性方法

现有的多语言机器翻译模型需要构建及训练大量的词表,不仅需要花费很多的训练时间,而且,由于一些语言的双语语料不足,导致训练后的多语言机器翻译模型输出的翻译准确率较低。

针对上述技术问题,本实施例中提供了一种基于图网络的多语言翻译的词表初始化方法,本实施例中利用构建词元异质图的方式来完成不同语言词元的映射来初始化词元,提高了多语言机器翻译模型的翻译准确率,同时也加快了模型收敛速度。

如图1所示,本发明实施例提供一种基于图网络的多语言翻译的词表初始化方法,包括以下步骤:

步骤S100,根据每种语言对应的双语词典、词语及词元的分解构成关系,构建每种语言与核心语言之间的词表映射异质图。

在本实施例中,该基于图网络的多语言翻译的词表初始化方法应用于终端上,该终端包括但不限于:计算机等设备。

在神经网络任务中,一个合适的数据初始化方法一般会有效地降低模型学习参数的时间并一定程度上提升模型的效果,在多语言机器翻译的场景中,优秀的初始化方法需要拉近不同语言词表中具有相同含义的词元之间的距离。现阶段的机器翻译模型的词表一般基于子词粒度,跨语言的子词直接对齐是十分困难的,所以本实施例中提出利用跨语言的双语词典来构建词元异质图来进行子词级别的对齐;其中,异质图是指图中节点类型数和边的类型数之和大于二的图。异质图神经网络即面向异质图构建的图神经网络。

在本实施例中,目的是为多语言机器翻译任务提供一个优秀的词表初始化,进而提出了利用构建词元异质图的方式来完成不同语言词元的映射来初始化词元,一定程度上提升模型的效果和加快模型收敛速度。

本实施例中通过双语词典、词语及词元的分解构成关系来为每种多语言机器翻译和英语之间构建词表映射异质图,然后利用异质图神经网络和对比学习,在异质图上学习到不同语言词表和英语词表之间的词元映射关系,最后多语言机器翻译任务中的英语词表的词元通过语言模型BERT的词表嵌入层表示来初始化,其他语言的利用这些图空间学到的映射关系来映射到BERT的词表空间,完成多语言机器翻译词表中所有词元的初始化。

具体地,在本实施例的一种实现方式中,步骤S100包括以下步骤:

步骤S101,针对每种语言分别训练对应的词表。

如图2所示,本实施例中需要针对每种语言分别训练词表;现有的自然语言处理任务一般都会在训练之前构建一张词表,词表的基本构成单位是词元(即Token)。在模型训练时,将输入的自然语言分词(即Tokenize)后再通过词表映射成嵌入表示再进行训练,每个词元对应一个嵌入表示(即embedding,一个向量)。词表一般是单词粒度的,即一个单词就是一个token,比如“apple”,但是这种单词粒度的表示导致在测试时遇见一些训练时没见过的单词(即未登录词)的情况。为了减少这种情况,可以使用子词粒度的词表,即一个子词表示成一个嵌入表示,如“apple”可以表示成“app”和“le”,当遇见没见过的词就可以通过生成子词来拼接成一个新词。

具体地,在本实施例的一种实现方式中,步骤S101包括以下步骤:

步骤S101a,根据BPE算法将每种语言中所有词语拆分为词元;

步骤S101b,统计所有词元相邻出现的概率,将概率最大的词元进行拼接,生成新子词;

步骤S101c,根据所有生成的新子词得到每种语言对应的词表。

本实施例中使用子词训练BPE算法。BPE算法主要的训练方式是首先将所有词拆分成字符(character)级别,然后统计所有字符相邻出现的概率,将概率最大的进行拼接,生成新的子词,迭代这个过程,直到迭代次数满足要求或者词表满足要求的大小。

具体地,在本实施例的一种实现方式中,步骤S100包括以下步骤:

步骤S102,根据每种语言对应的词表和双语词典,构建每种语言与所述核心语言之间的词表映射异质图。

在本实施例中,根据这些词表以及双语词典(即跨语言词之间的映射关系词典,如“apple”和“苹果”)来为每种语言和核心语言构建词表映射异质图;其中,核心语言可以是英语、葡萄牙语等语言,本实施例中以英语作为示例进行说明。

为了解决未登录词的问题,现阶段的词表一般都是子词粒度,使得不同语言之间的子词很难构建语义上的关系,所以,本实施例中引入双语词典来完成子词之间的映射。本实施例中将跨语言的词表映射图定义为一个有向异质图

具体地,在本实施例的一种实现方式中,步骤S102包括以下步骤:

步骤S102a,将词表中所有的词元和对应的双语词典中的词语设为所述词表映射异质图的节点;

步骤S102b,在所述词表映射异质图中加入同一语言词元与词语之间的包含关系;

步骤S102c,在所述词表映射异质图中加入不同语言之间具有相同指代含义的双语对应关系;

步骤S102d,在所述词表映射异质图中加入同一语言词元与词元之间的子串关系;

步骤S102e,根据所加入的映射关系得到所述词表映射异质图。

如图2所示,假定多语言机器翻译涉及的语言是为中文、英文和日文,以此为背景构建词表映射异质图,本实施例中需要为英语和汉语,英语和日语分别构建词表映射异质图。

在本实施例中,词表映射图(一种有向异质图)具体构建方式为:

首先,将所有的的词表中的子词和双语词典中的词作为词表映射图的节点;

其次,在词表映射图中加入同一语言词元和词语之间的包含关系。通过构建词表时每种语言的tokenizer(即词元分词器,词表构建时的产物,一种语言一个,可以将一个该种语言的词或者句子根据词表划分成一组token,如将“apple”划分成“##app”和“le”),将双语词典中的所有词进行分词,如对词A进行分词,得到子词集合A_set,则该词A和子词集合A_set中的所有token都有包含关系,即同一语言词元和词语之间的包含关系。

再次,在词表映射图中加入不同语言词语之间具有相同指代含义的双语对应关系。这种关系通过双语词典加入,双语词典对应的词之间自然加入这种关系,如“apple”和“苹果”。

最后,在词表映射图中加入相同语言中词元和词元之间的子串关系。针对每种语言的词表分表添加,遍历整个词表中的token,通过动态规划的方式判断词元之间的包含关系,如果一个词元完全包含另一个词元(如“application”包含“appli”),则他们之间存在子串关系。

经过以上4步,根据不同语言的词表和双语词典(即英语和其他语言的双语词典)构建完成了词表映射图(即英语和其他语言的词表映射图)。

在本实施例中,节点的类型有两种:双语词典中的不同语言的词语,如图中的“apple”,“苹果”等;每种语言词表中的词元,即子词,如图中的“#app”,“#苹果”等。

词表映射异质图中的关系包含三种:同一语言词元和词语之间的包含关系,如图2中所示,英语词语“apple”包含英语词元“#app”和英语词元“le”;不同语言词语之间具有相同指代含义的双语对应关系,如英语词语“apple”和汉语词语“苹果”之间的关系;相同语言中词元和词元之间的子串关系,如英语词元“#app”和英语词元“#ap”之间存在子串关系。

如图1所示,在本发明实施例的一种实现方式中,基于图网络的多语言翻译的词表初始化方法还包括以下步骤:

步骤S200,根据异质图神经网络和对比学习算法,在所述词表映射异质图上学习不同语言词表与核心语言词表之间的词元映射关系。

在本实施例中,需要完成为构建完成的异质图中的所有节点学习表示(即一个节点对应得到一个嵌入表示,一个向量)。主要是为了学习图中词元节点的表示,用于后续关系的学习。本实施例中采用的图表示学习方法是基于对比学习的异质图表示方法。

具体地,在本实施例的一种实现方式中,步骤S200包括以下步骤:

步骤S201,根据所述异质图神经网络和所述对比学习算法,以不同角度在所述词表映射异质图上学习各词元节点的表示,得到各词元节点对应的嵌入表示和向量。

在本实施例中,采用的对比学习是一种学习方法,在这里是使得相似节点的表示尽可能近,使得不相似节点的表示尽可能远;该对比学习法主要通过以下两个角度构建模型,计算对比学习的代价函数(即基于正负例),然后梯度下降进行训练。参数包括节点的表示和一些全链接层参数等。

具体地,在本实施例的一种实现方式中,步骤S201包括以下步骤:

步骤S201a,基于网络模式角度学习各词元节点与周边节点之间的连接关系;

步骤S201b,基于元路径角度学习各词元节点与周边节点之间的路径连接关系。

在本实施例中,为每种语言和英语构建异质图之后,需要在每个图上学习到节点的表示,即基于对比学习的异质图自监督表示学习的方式来学习词元的表示。

此方法从两个角度学习图中核心节点的表示(本实施例中异质图的核心节点为所有词元节点

网络模式角度下,关注的是核心节点和周边节点之间的连接关系,本实施例中涉及到双语词典中的所有词语节点(本实施例中将英语的词语节点标记为

元路径角度下,关注的是核心节点和核心节点之间的路径连接关系,本实施例中将元路径定义为

如图1所示,在本发明实施例的一种实现方式中,基于图网络的多语言翻译的词表初始化方法还包括以下步骤:

步骤S300,将多语言机器翻译任务中的核心语言词表的词元利用核心语言BERT模型的词表进行初始化,并根据所述词元映射关系将其他语言映射到所述核心语言BERT模型的词表空间,完成所述多语言机器翻译任务中所有词元的初始化。

在本实施例中,神经网络在训练之前,需要给神经网络中的参数一个初始化,然后再利用梯度下降等方式进行参数更新。一般的神经网络采用随机初始化的方式;本实施例中的初始化涉及BERT模型,BERT模型是一个预训练语言模型,其也涉及到词表问题,本实施例中将训练之后的英语BERT的词表表示拿来做多语言机器翻译英语词表的初始化。

具体地,在本实施例的一种实现方式中,步骤S300包括以下步骤:

步骤S301,利用图空间的表示学习所述核心语言和其他语言之间的对应关系;

步骤S302,根据对应关系将所述核心语言的表示与其他语言的表示映射在所述BERT模型的嵌入层空间;

步骤S303,利用学习到的每种语言词元表示进行合并,初始化所述多语言机器翻译任务的词表。

在本实施例中,基于图网络的方法获取了在图空间中英语词元的表示

具体地,在本实施例的一种实现方式中,步骤S301包括以下步骤:

步骤S301a,在图空间计算每一个核心语言的词元和一种其他语言所有词元的相似度,得到一个相似度矩阵;

步骤S301b,根据所述相似度矩阵计算所述核心语言和其他语言之间的相近的词元的集合。

在本实施例中,利用相似度矩阵学习到英语和其他语言之间的对应关系;

如图2所示,首先在图空间计算每一个英语词元和一种其他语言所有词元的相似度,得到一个相似度矩阵

其中,

其中,

针对多语言机器翻译中的每种语言(除核心语言英语)做如上的操作,得到每种语言涉及词表中词元的表示,到此即可以利用学习到的每种语言词元表示进行合并来初始化多语言机器翻译的词表。

在设计异质图时,也可以针对所有语言一起构建一个异质图,但当原模型语言足够多的时候,所构建的映射异质图会十分庞大,训练代价不断提升。为了避免这种情况,本实施例中可以简化映射异质图,设置一个核心语言即英语,其他语言只需要和核心语言分别映射即可。

本实施例通过上述技术方案达到以下技术效果:

本实施例根据每种语言对应的双语词典、词语及词元的分解构成关系,可以构建每种语言与核心语言之间的词表映射异质图;并且,根据异质图神经网络和对比学习算法,可以在词表映射异质图上学习不同语言词表与核心语言词表之间的词元映射关系;以及通过将多语言机器翻译任务中的核心语言词表的词元利用核心语言BERT模型的词表进行初始化,并根据词元映射关系将其他语言映射到核心语言BERT模型的词表空间,完成多语言机器翻译任务中所有词元的初始化。本实施例利用构建词元异质图的方式来完成不同语言词元的映射来初始化词元,提高了多语言机器翻译模型的翻译准确率,同时也加快了模型收敛速度。

示例性设备

基于上述实施例,本发明还提供一种基于图网络的多语言翻译的词表初始化装置,包括:

词表映射异质图模块,用于根据每种语言对应的双语词典、词语及词元的分解构成关系,构建每种语言与核心语言之间的词表映射异质图;

词元映射关系模块,用于根据异质图神经网络和对比学习算法,在所述词表映射异质图上学习不同语言词表与核心语言词表之间的词元映射关系;

词元初始化模块,用于将多语言机器翻译任务中的核心语言词表的词元利用核心语言BERT模型的词表进行初始化,并根据所述词元映射关系将其他语言映射到所述核心语言BERT模型的词表空间,完成所述多语言机器翻译任务中所有词元的初始化。

基于上述实施例,本发明还提供一种终端,其原理框图可以如图3所示。

该终端包括:通过系统总线连接的处理器、存储器、接口、显示屏以及通讯模块;其中,该终端的处理器用于提供计算和控制能力;该终端的存储器包括存储介质以及内存储器;该存储介质存储有操作系统和计算机程序;该内存储器为存储介质中的操作系统和计算机程序的运行提供环境;该接口用于连接外部设备,例如,移动终端以及计算机等设备;该显示屏用于显示相应的信息;该通讯模块用于与云端服务器或移动终端进行通讯。

该计算机程序被处理器执行时用以实现基于图网络的多语言翻译的词表初始化方法的操作。

本领域技术人员可以理解的是,图3中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种终端,其中,包括:处理器和存储器,存储器存储有基于图网络的多语言翻译的词表初始化程序,基于图网络的多语言翻译的词表初始化程序被处理器执行时用于实现如上的基于图网络的多语言翻译的词表初始化方法的操作。

在一个实施例中,提供了一种存储介质,其中,存储介质存储有基于图网络的多语言翻译的词表初始化程序,基于图网络的多语言翻译的词表初始化程序被处理器执行时用于实现如上的基于图网络的多语言翻译的词表初始化方法的操作。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。

综上,本发明提供了一种基于图网络的多语言翻译的词表初始化方法及装置,方法包括:根据每种语言对应的双语词典、词语及词元的分解构成关系,构建每种语言与核心语言之间的词表映射异质图;根据异质图神经网络和对比学习算法,在词表映射异质图上学习不同语言词表与核心语言词表之间的词元映射关系;将多语言机器翻译任务中的核心语言词表的词元利用核心语言BERT模型的词表进行初始化,并根据词元映射关系将其他语言映射到核心语言BERT模型的词表空间,完成多语言机器翻译任务中所有词元的初始化。本发明利用构建词元异质图的方式来完成不同语言词元的映射来初始化词元,提高了多语言机器翻译模型的翻译准确率,同时也加快了模型收敛速度。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

相关技术
  • 一种基于shell脚本的虚拟机网络初始化方法
  • 基于多语言机器翻译模型的翻译方法、装置、设备和介质
  • 一种基于低频词表示增强的汉越神经机器翻译的方法
技术分类

06120115921754