CN114330290A - 语言模型的训练方法及装置 - Google Patents

语言模型的训练方法及装置 Download PDF

Info

Publication number
CN114330290A
CN114330290A CN202011053142.6A CN202011053142A CN114330290A CN 114330290 A CN114330290 A CN 114330290A CN 202011053142 A CN202011053142 A CN 202011053142A CN 114330290 A CN114330290 A CN 114330290A
Authority
CN
China
Prior art keywords
vector
word
context
words
language
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011053142.6A
Other languages
English (en)
Inventor
庄毅萌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to CN202011053142.6A priority Critical patent/CN114330290A/zh
Publication of CN114330290A publication Critical patent/CN114330290A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

提供一种语言模型的训练方法及装置。该语言模型的训练方法包括:接收输入的训练数据,其中,训练数据包括给定词和所述给定词的上下文;基于所述给定词和所述给定词的上下文,生成训练数据在目标语言中的词的上下文相关向量的代理,并且基于所述给定词的上下文,生成训练数据在源语言中的上下文相关的词向量;基于词的上下文相关向量的代理和上下文相关的词向量确定源语言和目标语言的对齐概率作为损失函数;并且基于所述损失函数进行训练,从而实现跨语言对齐的目的,提高了语言模型的质量。

Description

语言模型的训练方法及装置
技术领域
本公开涉及自然语言处理技术领域。更具体地,本公开涉及一种语言模型的训练方法及装置。
背景技术
语言模型最早于2003年前后被提出,语言模型通过特定任务的训练学习自然语言中的统计规律与语义表示,预训练的语言模型可以被应用于其他自然语言处理任务(下游任务),例如机器阅读理解、文本分类、关系提取等等。
2018年谷歌提出掩码语言模型(masked language model),由于其在多种自然语言处理任务上可以取得超越前人方法的准确率,掩码语言模型已经成为迁移学习在自然语言处理上的一个里程碑式的方法。掩码语言模型的迁移学习过程分为两部分:预训练和微调。在掩码语言模型预训练中,通过掩码(掩盖)输入文本中的部分词语(或子词),然后利用Transformer模型预测缺失词语(或子词)的任务,掩码语言模型学习上下文相关的语义表示。在下游任务中,通过微调模型参数,利用预训练中学到的信息和下游任务训练中学到的信息以完成下游任务模型的训练。
基于不同语言的向量空间大致一致的假设,在多语言数据上预训练的语言模型可以在跨语言任务上得到不错的性能,但是预训练中没有对不同语言之前的词向量结构做限制。跨语言对齐的目标是获得不同语言在一个统一向量空间中的词向量。一个词在不同上下文中可能有对应于其上下文的不同的涵义。上下文相关向量的动态性使向量对齐更有挑战性。首先,预先定义的字典不再适用于映射在特定上下文中的跨语言同义词。其次,生成任意数量的上下文相关向量是计算昂贵的。因此,为了更好地跨语言迁移学习,语言模型生成的上下文相关向量被期望在不同语言中对齐。
发明内容
本公开的示例性实施例在于提供一种掩码语言模型的训练方法及装置。
根据本公开的示例性实施例,提供一种掩码语言模型的训练方法,包括:获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量;从待预测文本中选择将被执行掩码处理的文字;选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理;将经过掩码处理的待预测文本中的文字的向量输入掩码语言模型进行训练,以对掩码语言模型中的词向量和编码器进行更新。
可选地,选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理的步骤可包括:针对每个被选择的文字区间执行以下处理:从文字区间中的文字中选择向量将被执行词向量掩码处理的第一文字和向量将被执行位置向量掩码处理的第二文字;对第一文字的向量执行词向量掩码处理;对第二文字的向量执行位置向量掩码处理,其中,每个文字区间包括多个连续的文字。
可选地,从文字区间中的文字中选择向量将被执行词向量掩码处理的第一文字和向量将被执行位置向量掩码处理的第二文字的步骤可包括:按照预设比例,从文字区间中的文字中随机选择向量将被执行词向量掩码处理的第一文字和向量将被执行位置向量掩码处理的第二文字。
可选地,当在一个文字区间中相同的文字出现多次时,所述文字区间的第二文字中可最多包括一个所述相同的文字。
可选地,对第二文字的向量执行位置向量掩码处理的步骤可包括:以第一概率通过特殊占位符替代的方式替换位置向量,以第二概率通过位置向量随机替代的方式替换位置向量,以第三概率保持位置向量不变,其中,第一概率、第二概率和第三概率的和为100%。
可选地,所述向量还可包括掩码区域标识向量,用于标识被执行掩码处理的文字区间。
可选地,未被执行掩码处理的文字以及不同的被执行掩码处理的文字区间中的文字被设置不同的掩码区域标识向量,每个被执行掩码处理的文字区间中的全部文字的掩码区域标识向量相同,未被执行掩码处理的文字具有相同的掩码区域标识向量。
可选地,所述方法还可包括:通过掩码语言模型输出预测被执行位置向量掩码处理的文字的预测相对位置;基于被执行掩码处理的文字的预测向量和真实向量之间的差异以及被执行位置向量掩码处理的文字的预测相对位置和真实相对位置之间的差异,确定用于对掩码语言模型进行训练的目标函数;基于确定的目标函数对掩码语言模型进行训练。
可选地,所述目标函数可包括语义损失函数和相对位置损失函数,语义损失函数用于反映每个被执行词向量掩码处理的文字的预测词向量与真实词向量之间的差异,相对位置损失函数用于反映每个被执行掩码处理的文字区间中被执行位置掩码处理的文字的预测相对位置与真实相对位置之间的差异。
可选地,所述目标函数可表示为L(s)=LMLM(s)+LPOS(s),其中,LMLM(s)可表示向量损失函数,LPOS(s)可表示相对位置损失函数,其中,LPOS(s)=-∑i,jlog(P(xi<xj)),P(Xi<Xj)可表示文字i排在文字j前面的概率。
根据本公开的示例性实施例,提供一种掩码语言模型的训练方法,包括:获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量;将待预测文本中的文字的向量输入掩码语言模型,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新。
可选地,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新的步骤可包括:在固定词向量和编码器的情况下基于跨语言对齐的目标函数进行训练,得到更新的解码器;在固定编码器的情况下基于跨语言对齐的目标函数进行训练,得到更新的词向量和解码器。
可选地,跨语言对齐的目标函数表示为
Figure BDA0002710138420000031
其中,
Figure BDA0002710138420000032
wi表示目标子词/词(即输入句子对中存在的子词/词),p(wi)为该词的预测概率,向量z为解码器输出的语言对表示向量,wj为负采样的子词/词。
根据本公开的示例性实施例,提供一种掩码语言模型的训练方法,包括:获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量;从待预测文本中选择将被执行掩码处理的文字;选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理;将经过掩码处理的待预测文本中的文字的向量输入掩码语言模型,在固定解码器的情况下,对掩码语言模型中的词向量和编码器进行更新;将待预测文本中的文字的向量输入掩码语言模型,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新。
根据本公开的示例性实施例,提供一种语言模型的训练方法,包括:接收输入的训练数据,其中,训练数据包括给定词和所述给定词的上下文;基于所述给定词和所述给定词的上下文,生成训练数据在目标语言中的词的上下文相关向量的代理,并且基于所述给定词的上下文,生成训练数据在源语言中的上下文相关的词向量;基于词的上下文相关向量的代理和上下文相关的词向量确定源语言和目标语言的对齐概率作为损失函数;并且基于所述损失函数进行训练。
可选地,生成训练数据在目标语言中的上下文相关向量的代理的步骤可包括:获取所述给定词在目标语言中的映射词作为目标词;根据所述给定词在目标语言中的词频进行采样,得到多个负例词;并且基于目标词和所述多个负例词确定词的上下文相关向量的代理。
可选地,基于目标词和所述多个负例词确定上下文相关向量的代理的步骤可包括:通过查询代理向量矩阵,得到子词的上下文相关向量的代理;并且对子词的上下文相关向量的代理进行子词到词的变换,得到词的上下文相关向量的代理。
可选地,所述损失函数可表示为
Figure BDA0002710138420000041
其中,c表示上下文,i和j表示源语言词,i'表示i的目标词,d(wc,i,wj)表示wc,i和wj这两个向量之间的距离,d(wc,i,wi')表示wc,i和wi'这两个向量之间的距离,d表示向量wc,i、wi'和wj的向量维度。
可选地,所述方法还可包括:计算词在上下文中的平均向量,作为词的上下文相关向量的代理;并且将词的上下文相关向量的代理存储在代理向量矩阵中。
可选地,所述方法还可包括:根据
Figure BDA0002710138420000042
对代理向量矩阵中的词的上下文相关向量的代理进行更新,其中,α是超参数,ec,t表示上下文c中的子词t的上下文相关向量,
Figure BDA0002710138420000043
Figure BDA0002710138420000044
分别表示更新前和更新后的词的上下文相关向量的代理。
根据本公开的示例性实施例,提供一种掩码语言模型的训练装置,包括:向量获取单元,被配置为获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量;选择单元,被配置为从待预测文本中选择将被执行掩码处理的文字;掩码处理单元,被配置为选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理;和模型训练单元,被配置为将经过掩码处理的待预测文本中的文字的向量输入掩码语言模型进行训练,以对掩码语言模型中的词向量和编码器进行更新。
可选地,掩码处理单元可被配置为针对每个被选择的文字区间执行以下处理:从文字区间中的文字中选择向量将被执行词向量掩码处理的第一文字和向量将被执行位置向量掩码处理的第二文字;对第一文字的向量执行词向量掩码处理;对第二文字的向量执行位置向量掩码处理,其中,每个文字区间包括多个连续的文字。
可选地,当在一个文字区间中相同的文字出现多次时,所述文字区间的第二文字中可最多包括一个所述相同的文字。
可选地,掩码处理单元可被配置为:以第一概率通过特殊占位符替代的方式替换位置向量,以第二概率通过位置向量随机替代的方式替换位置向量,以第三概率保持位置向量不变,其中,第一概率、第二概率和第三概率的和为100%。
可选地,掩码处理单元可被配置为:按照预设比例,从文字区间中的文字中随机选择向量将被执行词向量掩码处理的第一文字和向量将被执行位置向量掩码处理的第二文字。
可选地,所述向量还可包括掩码区域标识向量,用于标识被执行掩码处理的文字区间。
可选地,未被执行掩码处理的文字以及不同的被执行掩码处理的文字区间中的文字被设置不同的掩码区域标识向量,每个被执行掩码处理的文字区间中的全部文字的掩码区域标识向量相同,未被执行掩码处理的文字具有相同的掩码区域标识向量。
可选地,所述装置还可包括模型训练单元,被配置为:通过掩码语言模型输出预测被执行位置向量掩码处理的文字的预测相对位置;基于被执行掩码处理的文字的预测向量和真实向量之间的差异以及被执行位置向量掩码处理的文字的预测相对位置和真实相对位置之间的差异,确定用于对掩码语言模型进行训练的目标函数;并且基于确定的目标函数对掩码语言模型进行训练。
可选地,所述目标函数可包括语义损失函数和相对位置损失函数,语义损失函数用于反映每个被执行词向量掩码处理的文字的预测词向量与真实词向量之间的差异,相对位置损失函数用于反映每个被执行掩码处理的文字区间中被执行位置掩码处理的文字的预测相对位置与真实相对位置之间的差异。
可选地,所述目标函数可表示为L(s)=LMLM(s)+LPOS(s),其中,LMLM(s)可表示向量损失函数,LPOS(s)可表示相对位置损失函数,其中,LPOS(s)=-∑i,jlog(P(xi<xj)),P(Xi<Xj)可表示文字i排在文字j前面的概率。
根据本公开的示例性实施例,提供一种掩码语言模型的训练装置,包括:向量获取单元,被配置为获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量;和模型训练单元,被配置为将待预测文本中的文字的向量输入掩码语言模型,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新。
可选地,模型训练单元可被配置为:在固定词向量和编码器的情况下基于跨语言对齐的目标函数进行训练,得到更新的解码器;在固定编码器的情况下基于跨语言对齐的目标函数进行训练,得到更新的词向量和解码器。
可选地,跨语言对齐的目标函数表示为
Figure BDA0002710138420000061
其中,
Figure BDA0002710138420000062
wi表示目标子词/词(即输入句子对中存在的子词/词),p(wi)为该词的预测概率,向量z为解码器输出的语言对表示向量,wj为负采样的子词/词。
根据本公开的示例性实施例,提供一种掩码语言模型的训练装置,包括:向量获取单元,被配置为获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量;选择单元,被配置为从待预测文本中选择将被执行掩码处理的文字;掩码处理单元,被配置为选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理;第一训练单元,被配置为将经过掩码处理的待预测文本中的文字的向量输入掩码语言模型,在固定解码器的情况下,对掩码语言模型中的词向量和编码器进行更新;和第二训练单元,被配置为将待预测文本中的文字的向量输入掩码语言模型,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新。
根据本公开的示例性实施例,提供一种语言模型的训练装置,包括:数据接收单元,被配置为接收输入的训练数据,其中,训练数据包括给定词和所述给定词的上下文;向量生成单元,被配置为基于所述给定词和所述给定词的上下文,生成训练数据在目标语言中的词的上下文相关向量的代理,并且基于所述给定词的上下文,生成训练数据在源语言中的上下文相关的词向量;损失函数确定单元,被配置为基于词的上下文相关向量的代理和上下文相关的词向量确定源语言和目标语言的对齐概率作为损失函数;和训练单元,被配置为基于所述损失函数进行训练。
可选地,向量生成单元可被配置为:获取所述给定词在目标语言中的映射词作为目标词;根据所述给定词在目标语言中的词频进行采样,得到多个负例词;并且基于目标词和所述多个负例词确定词的上下文相关向量的代理。
可选地,向量生成单元可被配置为:通过查询代理向量矩阵,得到子词的上下文相关向量的代理;并且对子词的上下文相关向量的代理进行子词到词的变换,得到词的上下文相关向量的代理。
可选地,所述损失函数可表示为
Figure BDA0002710138420000071
其中,c表示上下文,i和j表示源语言词,i'表示i的目标词,d(wc,i,wj)表示wc,i和wj这两个向量之间的距离,d(wc,i,wi')表示wc,i和wi'这两个向量之间的距离,d表示向量wc,i、wi'和wj的向量维度。
可选地,所述装置还可包括矩阵预定单元,被配置为:计算词在上下文中的平均向量,作为词的上下文相关向量的代理;并且将词的上下文相关向量的代理存储在代理向量矩阵中。
可选地,所述装置还可包括向量更新单元,被配置为:根据
Figure BDA0002710138420000072
对代理向量矩阵中的词的上下文相关向量的代理进行更新,其中,α是超参数,ec,t表示上下文c中的子词t的上下文相关向量,
Figure BDA0002710138420000073
Figure BDA0002710138420000074
分别表示更新前和更新后的词的上下文相关向量的代理。
根据本公开的示例性实施例,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现根据本公开的示例性实施例的掩码语言模型的训练方法。
根据本公开的示例性实施例,提供一种电子设备,包括:处理器;存储器,存储有计算机程序,当所述计算机程序被处理器执行时,实现根据本公开的示例性实施例的掩码语言模型的训练方法。
根据本公开的示例性实施例的掩码语言模型的训练方法及装置,通过获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量,待预测文本中选择将被执行掩码处理的文字,选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理,并且将经过掩码处理的待预测文本中的文字的向量输入掩码语言模型进行训练,从而提高了文字(例如,词语或子词)的预测确定性,进而减弱了掩码区域长度的限制。而更长的掩码区间有助于模型学到更多需要长时依赖的信息,从而提高了掩码语言模型的质量。此外,根据本公开的示例性实施例的掩码语言模型的训练方法及装置,还通过将待预测文本中的文字的向量输入掩码语言模型,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新,实现了跨语言对齐的训练。
根据本公开的示例性实施例的语言模型的训练方法及装置,通过接收包括给定词和所述给定词的上下文的训练数据,基于所述给定词和所述给定词的上下文,生成训练数据在目标语言中的词的上下文相关向量的代理,并且基于所述给定词的上下文,生成训练数据在源语言中的上下文相关的词向量,基于词的上下文相关向量的代理和上下文相关的词向量确定源语言和目标语言的对齐概率作为损失函数,并且基于所述损失函数进行训练,从而实现跨语言对齐的目的,提高了语言模型的质量。
将在接下来的描述中部分阐述本公开总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本公开总体构思的实施而得知。
附图说明
通过下面结合示例性地示出实施例的附图进行的描述,本公开的示例性实施例的上述和其他目的和特点将会变得更加清楚,其中:
图1示出一种掩码语言模型的预训练和微调的示意图;
图2示出掩码语言模型的预训练的输入的示意图;
图3示出根据本公开的示例性实施例的掩码语言模型的训练方法的流程图;
图4示出根据本公开的示例性实施例的选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理的示意图;
图5示出根据本公开的示例性实施例的选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理的另一示意图;
图6示出根据本公开的示例性实施例的掩码语言模型的训练方法的流程图;
图7示出根据本公开的示例性实施例的跨语言对齐的示意图;
图8示出根据本公开的示例性实施例的词级别的跨语言对齐的示意图;
图9示出根据本公开的示例性实施例的掩码语言模型的训练方法的流程图;
图10示出根据本公开的示例性实施例的语言模型的训练方法的流程图;
图11示出图10中的训练方法所适用的示例语言模型的示意图;
图12示出根据本公开的示例性实施例的掩码语言模型的训练装置的框图;
图13示出根据本公开的示例性实施例的掩码语言模型的训练装置的框图;
图14示出根据本公开的示例性实施例的掩码语言模型的训练装置的框图;
图15示出根据本公开的示例性实施例的语言模型的训练装置的框图;和图16示出根据本公开的示例性实施例的电子设备的示意图。
具体实施方式
现将详细参照本公开的示例性实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本公开。
图1示出一种掩码语言模型的预训练和微调的示意图。
图1的(a)示出掩码语言模型的预训练,掩码句子A和掩码句子B是输入的两句文本(也可以只输入一句,图示为两句),掩码句子A和掩码句子中的每个词为一个tok,其中,[CLS]和[SEP]是特殊占位符,用来表示整句语义和分割句子。灰色框中是Transformer模型。最上方是模型输出,输出对被掩码词语的预测。图1的(b)示出掩码语言模型的微调,掩码语言模型根据不同的下游任务结构有所不同,图1的(b)为机器阅读理解任务的掩码语言模型的结构。
图2示出掩码语言模型的预训练的输入的示意图。
在图2中,输入的文本为“my dog is cute”和“he likes playing”这两句话。输入的文本中的文字可以以词语或子词为单位。当在掩码语言模型中使用子词(比词更小的单元)为单位时,“playing”被拆成子词“play”和“##ing”。输入文本中的每个子词用向量来表示,向量包括词向量、片段向量和位置向量这三部分。
1、词向量:每个子词通过查表得到对应的词向量。
2、片段向量:两句话中的每句话对应一个片段向量,一共两个片段向量,第一句话的片段向量被标记为向量A,第二句话的片段向量被标记为向量B。
3、位置向量:每个子词按照顺序使用对应位置的位置向量。掩码语言模型的掩码体现在对输出词向量的掩码上,如图2中的叉子形状所示,部分子词的词向量被掩盖住,并用特殊占位符[MASK]替代。如何设计掩码策略是掩码语言模型的关键技术之一。
现有的掩码语言模型存在以下需要改善的地方:
1、最新的相关研究已经证实掩码连续区域更优于随机掩码子词,因此为了提升语言模型质量,掩码连续区域是一种可行的方案,但是在掩码区域内不同子词的语义不确定性是不一样的,区域中间部分的子词由于缺少可以参考的周边子词,因此语义的不确定性较高。一个直观的例子是,掩盖住文章中的一段话,人类通过上下文猜测被掩盖的内容时,掩盖部分的开头和结尾有邻近上下文参考,更确定也更容易猜对,而越往掩盖区域中部越需要参考猜测出来的开头和结尾,且距离可参考的未被掩盖的上下文更远,因此不确定性更大更难猜对。在语言模型的训练中,使语言模型学习不确定性大(熵高)的概率分布是困难的,而且这样的分布蕴含的有效信息有限。
2、由于问题1的存在,掩码区域长度受到限制,而短的掩码区域限制了模型学习长时依赖的能力。为了提升模型质量,需要增加掩码区域长度。
3、在标准的掩码语言模型中使用了位置向量,没有位置向量会导致模型准确度骤降,位置信息是掩码语言模型复原缺失语义不可或缺的线索。注意力可视化分析实验显示注意力分布主要集中在对角线上,也就是说语义的复原非常依赖位置线索提供局部信息。但是,参考人类由乱序词语复原句子的任务,人类复原句子更多靠的是语义的关联。
4、对于多语言的情况,现有的多语言掩码语言模型通常通过参数共享或语言拼接的方式实现对多语种的支持,但是缺少跨语言的语义对齐步骤。由于不同语言中存在同义或近似义的词语,如果不能用尽量相似的向量表示不同语言中的近义词,将难以得到统一的语言表示,影响预训练语言模型在下游任务上的性能,特别是低样本(Few-shot)任务。
图3示出根据本公开的示例性实施例的掩码语言模型的训练方法的流程图。
参照图3,在步骤S301,获取待预测文本中的文字的向量。这里,向量至少包括词向量和位置向量。
在本公开的示例性实施例中,文字可以以词语或子词为单位。待预测文本可包括至少一个单句和/或由多个句子组成的段落。
在本公开的示例性实施例中,向量还可包括片段向量。当待预测文本包括由多个句子组成的段落时,片段向量用于标识各个句子。例如,第一个句子中的每个子词的片段向量都是E1,如图2所示,句子A中的每个子词的片段向量都是EA,句子B中的每个子词的片段向量都是EB
在步骤S302,从待预测文本中选择将被执行掩码处理的文字。
在本公开的示例性实施例中,例如,如图2所示,“dog”、“is”、“cute”、“likes”和“play”被选择为将被执行掩码处理的文字,并且“dog is cute”为一个文字区间,“likesplay”为另一个文字区间。
在其他实施例中,步骤S301和步骤S302的顺序可以被互换,也可以被同时执行,本公开对步骤S301和步骤S302的执行顺序不进行限制。
在步骤S303,选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理。
图4示出根据本公开的示例性实施例的选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理的示意图。
在本公开的示例性实施例中,在选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理时,可针对每个被选择的文字区间(例如,“dog is cute”、“likesplay”)执行以下处理:从文字区间中的文字中选择向量将被执行词向量掩码处理的第一文字(例如,图4中的“dog”、“cute”和“likes”)和向量将被执行位置向量掩码处理的第二文字(例如,图4中的“is”和“play”);对第一文字(例如,图4中的“dog”、“cute”和“likes”)的向量执行词向量掩码处理;对第二文字(例如,图4中的“is”和“play”)的向量执行位置向量掩码处理。这里,每个文字区间包括多个连续的文字。这里,第一文字和第二文字之间可以有重复部分(或者重叠部分),或者第一文字和第二文字之间没有重复部分(或者重叠部分),本公开对此不进行限制。在本公开的示例性实施例中,在从文字区间中的文字中选择向量将被执行词向量掩码处理的第一文字和向量将被执行位置向量掩码处理的第二文字时,可按照预设比例(例如,50%),从文字区间中的文字中随机选择向量将被执行词向量掩码处理的第一文字(例如,图4中的“dog”、“cute”和“likes”)和向量将被执行位置向量掩码处理的第二文字(例如,图4中的“is”和“play”)。
在本公开的示例性实施例中,当在一个文字区间中相同的文字出现多次时,所述文字区间的第二文字中最多包括一个所述相同的文字。
在本公开的示例性实施例中,在对第二文字的向量执行位置向量掩码处理时,可以以第一概率通过特殊占位符替代的方式替换位置向量,以第二概率通过位置向量随机替代的方式替换位置向量,以第三概率保持位置向量不变。这里,第一概率、第二概率和第三概率的和为100%。
具体来说,如图4所示,除了对词向量做掩码外,随机地对部分位置向量做掩码。具体掩码策略如下,由于词向量的被掩码区域通常为连续多个子词组成的区间,为了增加区间中部位置的子词的的预测确定性,可随机地在该区间内选择一定比例(如50%)的子词,并且不对这部分子词的词向量执行掩码处理,而是对这部分子词的位置向量执行掩码处理,掩码方式类似词向量掩码,使用特殊占位符[POS_MASK]替代该位置的位置向量。值得注意的是,同一区间内可能存在多个相同的子词,如果对相同子词采取位置掩码将导致相同的输入向量,为了被避免此情况出现,选择位置掩码子词时我们不对相同子词多次选中。为了与词向量掩码策略保持一致,在做位置掩码时可以以80%的概率采用[POS_MASK]的方式替换位置向量,以10%的概率随机替换位置向量,10%的概率保持位置向量不变。
在本公开的示例性实施例中,向量还可包括掩码区域标识向量,用于标识被执行掩码处理的文字区间。
图5示出根据本公开的示例性实施例的选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理的另一示意图。
在本公开的示例性实施例中,未被执行掩码处理的文字以及不同的被执行掩码处理的文字区间中的文字被设置不同的掩码区域标识向量,每个被执行掩码处理的文字区间中的全部文字的掩码区域标识向量相同,未被执行掩码处理的文字具有相同的掩码区域标识向量。例如,在图5中,未被执行掩码处理的“[CLS]”、“my”、“[SEP]”、“he”、“##ing”和“[SEP]”的掩码区域标识向量都是E0,“dog”、“is”和“cute”的掩码区域标识向量都是E1,“likes”和“play”的掩码区域标识向量都是E2
具体来说,如图5所示,向量包括词向量、掩码区域标识向量和位置向量。通过增加掩码区域标识向量,可以增加掩码区间中子词的预测确定性。位置向量被掩码的子词可来自多个掩码区间,位置向量的缺失导致不能区分这些子词来自哪个掩码区间,致使预测确定性没有增加。为解决这个问题,如图5所示,增加掩码区域的标识向量。由于在图5中以单句输入为例进行说明,所有的子词的片段向量都相同,因此省略片段向量,从而向量包括词向量、掩码区域标识向量和位置向量。
在步骤S304,将经过掩码处理的待预测文本中的文字的向量输入掩码语言模型进行训练。
在本公开的示例性实施例中,还可首先通过掩码语言模型输出预测被执行位置向量掩码处理的文字的预测相对位置,然后基于被执行掩码处理的文字的预测向量和真实向量之间的差异以及被执行位置向量掩码处理的文字的预测相对位置和真实相对位置之间的差异,确定用于对掩码语言模型进行训练的目标函数,并且基于确定的目标函数对掩码语言模型进行训练。
在本公开的示例性实施例中,目标函数可包括语义损失函数和相对位置损失函数。这里,语义损失函数用于反映每个被执行词向量掩码处理的文字的预测词向量与真实词向量之间的差异,相对位置损失函数用于反映每个被执行掩码处理的文字区间中被执行位置掩码处理的文字的预测相对位置与真实相对位置之间的差异。
在本公开的示例性实施例中,目标函数可表示为L(s)=LMLM(s)+LPOS(s)。这里,LMLM(s)可表示向量损失函数,LPOS(s)可表示相对位置损失函数,LPOS(s)=-∑i,jlog(P(xi<xj)),P(Xi<Xj)表示文字i排在文字j前面的概率。
在本公开的示例性实施例中,由于提高了文字(例如,词语或子词)的预测确定性,因此减弱了掩码区域长度的限制,而更长的掩码区间有助于模型学到更多需要长时依赖的信息,从而提高了掩码语言模型的质量。因此,可将掩码区间的最大长度增加(例如,从10增加到30)。
图6示出根据本公开的示例性实施例的掩码语言模型的训练方法的流程图。
参照图6,在步骤S601,获取待预测文本中的文字的向量。这里,向量至少包括词向量和位置向量。
在步骤S602,将待预测文本中的文字的向量输入掩码语言模型,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新。
在本公开的示例性实施例中,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新时,可在固定词向量和编码器的情况下基于跨语言对齐的目标函数进行训练,得到更新的解码器,并且在固定编码器的情况下基于跨语言对齐的目标函数进行训练,得到更新的词向量和解码器。
在本公开的示例性实施例中,跨语言对齐的目标函数表示为
Figure BDA0002710138420000141
Figure BDA0002710138420000142
其中,
Figure BDA0002710138420000143
wi表示目标子词/词(即输入句子对中存在的子词/词),p(wi)为该词的预测概率,向量z为解码器输出的语言对表示向量,wj为负采样的子词/词。
在本公开的示例性实施例中,跨语言对齐的目的是将不同语言中的近义词对齐,即用相似的向量表示不同语言中的近义词。跨语言对齐的示意图如图7所示。在图7中,输入为一对平行语料(例如,同义的英语句子和中文句子),句子由词向量和位置向量构成,这里的输入向量序列不做掩码(即掩码概率为零)。两种语言的输入向量序列分别接入解码器,得到各自的语义表示向量。此处的解码器可以为例如标准的Transformer解码器,解码器的查询向量为随机初始化的固定数量(例如,但不限于,8个)的参数向量。解码器的键向量和值向量为输入的句子向量。解码器的输出为固定数量(例如,但不限于,8个)的语义表示向量。将两种语言的句子的表示向量按元素取平均值得到语言对表示向量,并将其用于恢复输入句子中的子词/词信息。
跨语言对齐可以为例如子词或词级别的跨语言对齐,即以不同粒度表示基本的语义对齐单位。在子词级别的跨语言对齐中,语言对表示向量用于预测输入句子中所包含的所有子词,预测方法与单语言的预测子词方式一致。在词级别的跨语言对齐任务中,语言对表示向量用于预测输入句子中所包含的所有单词,与子词级别的预测稍有不同,单词向量需要由子词向量拼接并连接一个两层的非线性全连接感知器得到,如图8所示。
图9示出根据本公开的示例性实施例的掩码语言模型的训练方法的流程图。
参照图9,在步骤S901,获取待预测文本中的文字的向量。这里,向量至少包括词向量和位置向量。
在步骤S902,从待预测文本中选择将被执行掩码处理的文字。
在步骤S903,选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理。
在步骤S904,将经过掩码处理的待预测文本中的文字的向量输入掩码语言模型,在固定解码器的情况下,对掩码语言模型中的词向量和编码器进行更新。
在步骤S905,将待预测文本中的文字的向量输入掩码语言模型,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新。
在本公开的示例性实施例中,待预测文本中的文字可以为子词或词级别。
在本公开的示例性实施例中,在在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新之前,可对掩码语言模型进行初始化。
在本公开的示例性实施例中,可对步骤S904和步骤S905交替进行多次,以提高训练效果。
基于不同语言的向量空间大致一致的假设,在多语言数据上预训练的语言模型可以在跨语言任务上得到不错的性能,但是预训练中没有对不同语言之前的词向量结构做限制。跨语言对齐的目标是获得不同语言在一个统一向量空间中的词向量。因此,为了更好的跨语言迁移学习,在本公开中尝试明确地利用向量对齐来建模向量空间中的跨语言结构。具体地,在本公开中期望语言模型生成的上下文相关向量在不同语言中对齐。一个词在不同上下文中可能有对应于其上下文的不同的涵义。上下文相关向量的动态性使向量对齐更有挑战性。首先,预先定义的字典不再适用于映射在特定上下文中的跨语言同义词。其次,生成任意数量的上下文相关向量是计算昂贵的。
图10示出根据本公开的示例性实施例的语言模型的训练方法的流程图。语言模型包括源语言部分和目标语言部分,源语言部分用于生成词级别的上下文相关词向量,目标语言部分用于计算目标语言的上下文相关向量的代理。
参照图10,在步骤S1001,接收输入的训练数据,其中,训练数据包括给定词和所述给定词的上下文。
在本公开的示例性实施例中,可给定一个词和其上下文用于训练。
在步骤S1002,基于给定词和给定词的上下文,生成训练数据在目标语言中的词的上下文相关向量的代理,并且基于给定词的上下文,生成训练数据在源语言中的上下文相关的词向量。
在本公开的示例性实施例中,在生成训练数据在目标语言中的上下文相关向量的代理时,可首先获取所述给定词在目标语言中的映射词作为目标词,根据所述给定词在目标语言中的词频进行采样,得到多个负例词,然后基于目标词和所述多个负例词确定词的上下文相关向量的代理。由于预先定义好的字典不再适用于对特定上下文中的跨语言同义词做映射,比如一个同形异义词的含义取决于其上下文。除此之外,对于一些小语种预定义的字典不可用。其他研究已经提出采用从平行语料中用无监督词对齐方法如fast-align提取词映射的方法。在本申请中,可遵循这种采用从平行语料中用无监督词对齐方法提取词映射的方法,来获得每个源语言词和其目标语言中的翻译词的映射关系。
在本公开的示例性实施例中,在基于目标词和所述多个负例词确定上下文相关向量的代理时,可首先通过查询代理向量矩阵,得到子词的上下文相关向量的代理,然后对子词的上下文相关向量的代理进行子词到词的变换,得到词的上下文相关向量的代理。具体来说,在本公开中句子被分割成子词,而子词不包含完整语义,所以对于语义对齐词级别的语义表示是必要的。这里我们通过公式wc,i=LN(W·[e1;...;em])进行子词到词的转换。这里,[e1;...;em]是词i对应子词向量的拼接,W∈Rd×md是可学习的变换矩阵,LN便是层标准化操作,用于保证数据稳定。为了保持语言模型中模块的简单,可使用线性变换而不是更通用的1维卷积。为了处理变长序列,可简单地填充子词到3个或者忽略子词数超过3个的词的对齐。
在本公开的示例性实施例中,还可预先计算词在上下文中的平均向量,作为词的上下文相关向量的代理,并且将词的上下文相关向量的代理存储在代理向量矩阵中。
图11示出图10中的训练方法所适用的示例语言模型的示意图。如图11所示,给定一个词(Hello,你好)和其上下文,可首先获得这个给定词在目标语言中的映射词并将映射词作为目标词。同时多个负例词根据其在目标语言中的词频采样得到。对于这些词的每一个,其上下文相关向量的代理通过查询代理向量矩阵和子词到词的变换得到。在源语言部分,源语言的上下文输入到语言模型中并生成上下文相关的子词向量,生成的上下文相关的子词向量再变换为上下文相关的词向量。
图11中的示例语言模型是基于Transformer的掩码语言模型。典型的Transformer语言模型的输入是一系列子词,比如子词、sentencepieces。子词构成上下文c。基于Transformer的语言模型内部结构包括多层的多头注意力机制和全连接前馈网络。上下文c中的子词t的上下文相关向量用ec,t表示。
具体来说,当在语言模型预训练中对齐一对词时,我们需要目标向量和一些负例词向量。但是上下文相关向量的动态性导致获取任意上下文相关向量变得困难,因为上下文相关向量需要在上下文中计算。为了解决这个问题,我们将et=Ec[ec,t],即子词在所有上下文中的平均向量,视作上下文相关向量的代理。词的上下文相关向量的代理自然地由其对于的子词的上下文相关向量经过子词到词的变换计算得到。上下文相关向量的代理的概念是受前人相关研究中得到的观察启发得到的,这个观察是一个子词的上下文相关表示在向量空间中聚集到一起,而远离其他子词。这里称之为代理而不是锚点,是因为上下文相关向量的代理在预训练中可保持更新。
在步骤S1003,基于词的上下文相关向量的代理和上下文相关的词向量确定源语言和目标语言的对齐概率作为损失函数。
在本公开的示例性实施例中,损失函数可表示为
Figure BDA0002710138420000171
其中,c表示上下文,i和j表示源语言词,i'表示i的目标词,d(wc,i,wj)表示wc,i和wj这两个向量之间的距离,d(wc,i,wi')表示wc,i和wi'这两个向量之间的距离,d表示向量wc,i、wi'和wj的向量维度。这里,由于向量是标准化的,因此距离除以根号d以保证数值稳定。
在步骤S1004,基于损失函数进行训练。
在本公开的示例性实施例中,还可根据
Figure BDA0002710138420000181
对代理向量矩阵中的词的上下文相关向量的代理进行更新,其中,α是超参数,ec,t表示上下文c中的子词t的上下文相关向量,
Figure BDA0002710138420000182
Figure BDA0002710138420000183
分别表示更新前和更新后的词的上下文相关向量的代理。具体来说,可通过滑动平均的方式维护一个代理向量矩阵。每次训练的前向计算之后,代理向量矩阵中的词的上下文相关向量的代理可通过公式
Figure BDA0002710138420000184
进行更新。
以上已经结合图1至图11对根据本公开的示例性实施例的语言模型的训练方法进行了描述。在下文中,将参照图12至图15对根据本公开的示例性实施例的语言模型的训练装置及其单元进行描述。
图12示出根据本公开的示例性实施例的掩码语言模型的训练装置的框图。
参照图12,掩码语言模型的训练装置包括向量获取单元121、选择单元122、掩码处理单元123和向量输入单元124。
向量获取单元121被配置为获取待预测文本中的文字的向量。这里,向量可至少包括词向量和位置向量。
选择单元122被配置为从待预测文本中选择将被执行掩码处理的文字。
掩码处理单元123被配置为选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理。
在本公开的示例性实施例中,掩码处理单元103可被配置为针对每个被选择的文字区间执行以下处理:从文字区间中的文字中选择向量将被执行词向量掩码处理的第一文字和向量将被执行位置向量掩码处理的第二文字;对第一文字的向量执行词向量掩码处理;对第二文字的向量执行位置向量掩码处理。这里,每个文字区间包括多个连续的文字。
在本公开的示例性实施例中,掩码处理单元103可被配置为:按照预设比例,从文字区间中的文字中随机选择向量将被执行词向量掩码处理的第一文字和向量将被执行位置向量掩码处理的第二文字。
在本公开的示例性实施例中,当在一个文字区间中相同的文字出现多次时,所述文字区间的第二文字中可最多包括一个所述相同的文字。
在本公开的示例性实施例中,掩码处理单元103可被配置为:以第一概率通过特殊占位符替代的方式替换位置向量,以第二概率通过位置向量随机替代的方式替换位置向量,以第三概率保持位置向量不变,其中,第一概率、第二概率和第三概率的和为100%。
在本公开的示例性实施例中,向量还可包括掩码区域标识向量,用于标识被执行掩码处理的文字区间。
在本公开的示例性实施例中,未被执行掩码处理的文字以及不同的被执行掩码处理的文字区间中的文字被设置不同的掩码区域标识向量,每个被执行掩码处理的文字区间中的全部文字的掩码区域标识向量相同,未被执行掩码处理的文字具有相同的掩码区域标识向量。
模型训练单元124被配置为将经过掩码处理的待预测文本中的文字的向量输入掩码语言模型进行训练,以对掩码语言模型中的词向量和编码器进行更新。
在本公开的示例性实施例中,掩码语言模型的训练装置还可包括模型训练单元(未示出),被配置为:通过掩码语言模型输出预测被执行位置向量掩码处理的文字的预测相对位置;基于被执行掩码处理的文字的预测向量和真实向量之间的差异以及被执行位置向量掩码处理的文字的预测相对位置和真实相对位置之间的差异,确定用于对掩码语言模型进行训练的目标函数;并且基于确定的目标函数对掩码语言模型进行训练。
在本公开的示例性实施例中,目标函数可包括语义损失函数和相对位置损失函数。这里,语义损失函数用于反映每个被执行词向量掩码处理的文字的预测词向量与真实词向量之间的差异,相对位置损失函数用于反映每个被执行掩码处理的文字区间中被执行位置掩码处理的文字的预测相对位置与真实相对位置之间的差异。
在本公开的示例性实施例中,目标函数可被表示为L(s)=LMLM(s)+LPOS(s)。这里,LMLM(s)表示向量损失函数,LPOS(s)表示相对位置损失函数,LPOS(s)=-∑i,jlog(P(xi<xj)),P(Xi<Xj)表示文字i排在文字j前面的概率。
此外,根据本公开的示例性实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现根据本公开的示例性实施例的掩码语言模型的训练方法。
图13示出根据本公开的示例性实施例的掩码语言模型的训练装置的框图。
参照图13,掩码语言模型的训练装置包括向量获取单元131和模型训练单元132。
向量获取单元131被配置为获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量。
模型训练单元132被配置为将待预测文本中的文字的向量输入掩码语言模型,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新。
在本公开的示例性实施例中,模型训练单元132可被配置为:在固定词向量和编码器的情况下基于跨语言对齐的目标函数进行训练,得到更新的解码器;在固定编码器的情况下基于跨语言对齐的目标函数进行训练,得到更新的词向量和解码器。
在本公开的示例性实施例中,跨语言对齐的目标函数表示为
Figure BDA0002710138420000201
Figure BDA0002710138420000202
其中,
Figure BDA0002710138420000203
wi表示目标子词/词(即输入句子对中存在的子词/词),p(wi)为该词的预测概率,向量z为解码器输出的语言对表示向量,wj为负采样的子词/词。
图14示出根据本公开的示例性实施例的掩码语言模型的训练装置的框图。
参照图14,掩码语言模型的训练装置包括向量获取单元141、选择单元142、掩码处理单元143、第一训练单元144和第二训练单元145。
向量获取单元141被配置为获取待预测文本中的文字的向量。这里,所述向量至少包括词向量和位置向量。
选择单元142被配置为从待预测文本中选择将被执行掩码处理的文字。
掩码处理单元143被配置为选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理。
第一训练单元144被配置为将经过掩码处理的待预测文本中的文字的向量输入掩码语言模型,在固定解码器的情况下,对掩码语言模型中的词向量和编码器进行更新。
第二训练单元145被配置为将待预测文本中的文字的向量输入掩码语言模型,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新。
图15示出根据本公开的示例性实施例的语言模型的训练装置的框图。
参照图15,语言模型的训练装置包括数据接收单元151、向量生成单元152、损失函数确定单元153和训练单元154。
数据接收单元151被配置为接收输入的训练数据。这里,训练数据包括给定词和所述给定词的上下文。
向量生成单元152被配置为基于所述给定词和所述给定词的上下文,生成训练数据在目标语言中的词的上下文相关向量的代理,并且基于所述给定词的上下文,生成训练数据在源语言中的上下文相关的词向量。
在本公开的示例性实施例中,向量生成单元152可被配置为:获取所述给定词在目标语言中的映射词作为目标词;根据所述给定词在目标语言中的词频进行采样,得到多个负例词;并且基于目标词和所述多个负例词确定词的上下文相关向量的代理。
在本公开的示例性实施例中,向量生成单元152可被配置为:通过查询代理向量矩阵,得到子词的上下文相关向量的代理;并且对子词的上下文相关向量的代理进行子词到词的变换,得到词的上下文相关向量的代理。
在本公开的示例性实施例中,所述装置还可包括矩阵预定单元(未示出),被配置为:计算词在上下文中的平均向量,作为词的上下文相关向量的代理;并且将词的上下文相关向量的代理存储在代理向量矩阵中。
损失函数确定单元153被配置为基于词的上下文相关向量的代理和上下文相关的词向量确定源语言和目标语言的对齐概率作为损失函数。
在本公开的示例性实施例中,损失函数可表示为
Figure BDA0002710138420000211
其中,c表示上下文,i和j表示源语言词,i'表示i的目标词,d(wc,i,wj)表示wc,i和wj这两个向量之间的距离,d(wc,i,wi')表示wc,i和wi'这两个向量之间的距离,d表示向量wc,i、wi'和wj的向量维度。
训练单元154被配置为基于所述损失函数进行训练。
在本公开的示例性实施例中,所述装置还可包括向量更新单元(未示出),被配置为:根据
Figure BDA0002710138420000212
对代理向量矩阵中的词的上下文相关向量的代理进行更新,其中,α是超参数,ec,t表示上下文c中的子词t的上下文相关向量,
Figure BDA0002710138420000213
Figure BDA0002710138420000214
分别表示更新前和更新后的词的上下文相关向量的代理。
在本公开的示例性实施例中,所述计算机可读存储介质可承载有一个或者多个程序,当所述计算机程序被执行时可实现以下步骤:获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量;从待预测文本中选择将被执行掩码处理的文字;选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理;将经过掩码处理的待预测文本中的文字的向量输入掩码语言模型进行训练。
在本公开的示例性实施例中,所述计算机可读存储介质可承载有一个或者多个程序,当所述计算机程序被执行时可实现以下步骤:获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量;将待预测文本中的文字的向量输入掩码语言模型,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新。
在本公开的示例性实施例中,所述计算机可读存储介质可承载有一个或者多个程序,当所述计算机程序被执行时可实现以下步骤:获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量;从待预测文本中选择将被执行掩码处理的文字;选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理;将经过掩码处理的待预测文本中的文字的向量输入掩码语言模型,在固定解码器的情况下,对掩码语言模型中的词向量和编码器进行更新;将待预测文本中的文字的向量输入掩码语言模型,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新。
在本公开的示例性实施例中,所述计算机可读存储介质可承载有一个或者多个程序,当所述计算机程序被执行时可实现以下步骤:接收输入的训练数据,其中,训练数据包括给定词和所述给定词的上下文;基于所述给定词和所述给定词的上下文,生成训练数据在目标语言中的词的上下文相关向量的代理,并且基于所述给定词的上下文,生成训练数据在源语言中的上下文相关的词向量;基于词的上下文相关向量的代理和上下文相关的词向量确定源语言和目标语言的对齐概率作为损失函数;并且基于所述损失函数进行训练。
计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储计算机程序的有形介质,该计算机程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读存储介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。计算机可读存储介质可以包含在任意装置中;也可以单独存在,而未装配入该装置中。
以上已经结合图12至图15对根据本公开的示例性实施例的语言模型的训练装置进行了描述。接下来,结合图16对根据本公开的示例性实施例的电子设备进行描述。
图16示出根据本公开的示例性实施例的电子设备的示意图。
参照图16,根据本公开的示例性实施例的电子设备16,包括存储器161和处理器162,所述存储器161上存储有计算机程序,当所述计算机程序被处理器162执行时,实现根据本公开的示例性实施例的掩码语言模型的训练方法。
在本公开的示例性实施例中,当所述计算机程序被处理器162执行时,可实现以下步骤:获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量;从待预测文本中选择将被执行掩码处理的文字;选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理;将经过掩码处理的待预测文本中的文字的向量输入掩码语言模型进行训练。
在本公开的示例性实施例中,当所述计算机程序被处理器162执行时,可实现以下步骤:获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量;将待预测文本中的文字的向量输入掩码语言模型,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新。
在本公开的示例性实施例中,当所述计算机程序被处理器162执行时,可实现以下步骤:获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量;从待预测文本中选择将被执行掩码处理的文字;选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理;将经过掩码处理的待预测文本中的文字的向量输入掩码语言模型,在固定解码器的情况下,对掩码语言模型中的词向量和编码器进行更新;将待预测文本中的文字的向量输入掩码语言模型,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新。
在本公开的示例性实施例中,当所述计算机程序被处理器162执行时,可实现以下步骤:接收输入的训练数据,其中,训练数据包括给定词和所述给定词的上下文;基于所述给定词和所述给定词的上下文,生成训练数据在目标语言中的词的上下文相关向量的代理,并且基于所述给定词的上下文,生成训练数据在源语言中的上下文相关的词向量;基于词的上下文相关向量的代理和上下文相关的词向量确定源语言和目标语言的对齐概率作为损失函数;并且基于所述损失函数进行训练。
本公开实施例中的电子设备可以包括但不限于诸如智能手表、移动电话、笔记本电脑、PDA(个人数字助理)、PAD(平板电脑)、台式计算机等的装置。图16示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
以上已参照图1至图16描述了根据本公开的示例性实施例的语言模型的训练方法及装置。然而,应该理解的是:图12至图15中所示的语言模型的训练装置及其单元可分别被配置为执行特定功能的软件、硬件、固件或上述项的任意组合,图16中所示的电子设备并不限于包括以上示出的组件,而是可根据需要增加或删除一些组件,并且以上组件也可被组合。
根据本公开的示例性实施例的掩码语言模型的训练方法及装置,通过获取待预测文本中的文字的向量,其中,所述向量至少包括词向量和位置向量,待预测文本中选择将被执行掩码处理的文字,选择性地对被选择的文字的向量中的词向量和位置向量执行掩码处理,并且将经过掩码处理的待预测文本中的文字的向量输入掩码语言模型进行训练,从而提高了文字(例如,词语或子词)的预测确定性,进而减弱了掩码区域长度的限制。而更长的掩码区间有助于模型学到更多需要长时依赖的信息,从而提高了掩码语言模型的质量。此外,根据本公开的示例性实施例的掩码语言模型的训练方法及装置,还通过将待预测文本中的文字的向量输入掩码语言模型,在固定词向量和编码器的情况下对掩码语言模型中的解码器进行更新,并且在固定编码器的情况下对掩码语言模型中的词向量和解码器进行更新,实现了跨语言对齐的训练。
根据本公开的示例性实施例的语言模型的训练方法及装置,通过接收包括给定词和所述给定词的上下文的训练数据,基于所述给定词和所述给定词的上下文,生成训练数据在目标语言中的词的上下文相关向量的代理,并且基于所述给定词的上下文,生成训练数据在源语言中的上下文相关的词向量,基于词的上下文相关向量的代理和上下文相关的词向量确定源语言和目标语言的对齐概率作为损失函数,并且基于所述损失函数进行训练,从而实现跨语言对齐的目的,提高了语言模型的质量。
尽管已经参照其示例性实施例具体显示和描述了本公开,但是本领域的技术人员应该理解,在不脱离权利要求所限定的本公开的精神和范围的情况下,可以对其进行形式和细节上的各种改变。

Claims (14)

1.一种语言模型的训练方法,所述语言模型包括源语言部分和目标语言部分,所述方法包括:
接收输入的训练数据,其中,训练数据包括给定词和所述给定词的上下文;
基于所述给定词和所述给定词的上下文,生成训练数据在目标语言中的词的上下文相关向量的代理,并且基于所述给定词的上下文,生成训练数据在源语言中的上下文相关的词向量;
基于词的上下文相关向量的代理和上下文相关的词向量确定源语言和目标语言的对齐概率作为损失函数;并且
基于所述损失函数进行训练。
2.根据权利要求1所述的方法,其中,生成训练数据在目标语言中的上下文相关向量的代理的步骤包括:
获取所述给定词在目标语言中的映射词作为目标词;
根据所述给定词在目标语言中的词频进行采样,得到多个负例词;并且
基于目标词和所述多个负例词确定词的上下文相关向量的代理。
3.根据权利要求2所述的方法,其中,基于目标词和所述多个负例词确定上下文相关向量的代理的步骤包括:
通过查询代理向量矩阵,得到子词的上下文相关向量的代理;并且
对子词的上下文相关向量的代理进行子词到词的变换,得到词的上下文相关向量的代理。
4.根据权利要求1所述的方法,其中,所述损失函数表示为
Figure FDA0002710138410000011
其中,c表示上下文,i和j表示源语言词,i'表示i的目标词,d(wc,i,wj)表示wc,i和wj这两个向量之间的距离,d(wc,i,wi')表示wc,i和wi'这两个向量之间的距离,d表示向量wc,i、wi'和wj的向量维度。
5.根据权利要求1所述的方法,还包括:
计算词在上下文中的平均向量,作为词的上下文相关向量的代理;并且
将词的上下文相关向量的代理存储在代理向量矩阵中。
6.根据权利要求5所述的方法,还包括:
根据
Figure FDA0002710138410000021
对代理向量矩阵中的词的上下文相关向量的代理进行更新,
其中,α是超参数,ec,t表示上下文c中的子词t的上下文相关向量,
Figure FDA0002710138410000022
Figure FDA0002710138410000023
分别表示更新前和更新后的词的上下文相关向量的代理。
7.一种语言模型的训练装置,所述语言模型包括源语言部分和目标语言部分,所述装置包括:
数据接收单元,被配置为接收输入的训练数据,其中,训练数据包括给定词和所述给定词的上下文;
向量生成单元,被配置为基于所述给定词和所述给定词的上下文,生成训练数据在目标语言中的词的上下文相关向量的代理,并且基于所述给定词的上下文,生成训练数据在源语言中的上下文相关的词向量;
损失函数确定单元,被配置为基于词的上下文相关向量的代理和上下文相关的词向量确定源语言和目标语言的对齐概率作为损失函数;和
训练单元,被配置为基于所述损失函数进行训练。
8.根据权利要求7所述的装置,其中,向量生成单元被配置为:
获取所述给定词在目标语言中的映射词作为目标词;
根据所述给定词在目标语言中的词频进行采样,得到多个负例词;并且
基于目标词和所述多个负例词确定词的上下文相关向量的代理。
9.根据权利要求8所述的装置,其中,向量生成单元被配置为:
通过查询代理向量矩阵,得到子词的上下文相关向量的代理;并且
对子词的上下文相关向量的代理进行子词到词的变换,得到词的上下文相关向量的代理。
10.根据权利要求7所述的装置,其中,所述损失函数表示为
Figure FDA0002710138410000024
其中,c表示上下文,i和j表示源语言词,i'表示i的目标词,d(wc,i,wj)表示wc,i和wj这两个向量之间的距离,d(wc,i,wi')表示wc,i和wi'这两个向量之间的距离,d表示向量wc,i、wi'和wj的向量维度。
11.根据权利要求7所述的装置,还包括矩阵预定单元,被配置为:
计算词在上下文中的平均向量,作为词的上下文相关向量的代理;并且
将词的上下文相关向量的代理存储在代理向量矩阵中。
12.根据权利要求11所述的装置,还包括向量更新单元,被配置为:
根据
Figure FDA0002710138410000031
对代理向量矩阵中的词的上下文相关向量的代理进行更新,
其中,α是超参数,ec,t表示上下文c中的子词t的上下文相关向量,
Figure FDA0002710138410000032
Figure FDA0002710138410000033
分别表示更新前和更新后的词的上下文相关向量的代理。
13.一种存储有计算机程序的计算机可读存储介质,其中,当所述计算机程序被处理器执行时,实现权利要求1至6中任一项所述的语言模型的训练方法。
14.一种电子设备,包括:
处理器;
存储器,存储有计算机程序,当所述计算机程序被处理器执行时,实现权利要求1至6中任一项所述的语言模型的训练方法。
CN202011053142.6A 2020-09-29 2020-09-29 语言模型的训练方法及装置 Pending CN114330290A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011053142.6A CN114330290A (zh) 2020-09-29 2020-09-29 语言模型的训练方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011053142.6A CN114330290A (zh) 2020-09-29 2020-09-29 语言模型的训练方法及装置

Publications (1)

Publication Number Publication Date
CN114330290A true CN114330290A (zh) 2022-04-12

Family

ID=81011552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011053142.6A Pending CN114330290A (zh) 2020-09-29 2020-09-29 语言模型的训练方法及装置

Country Status (1)

Country Link
CN (1) CN114330290A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114896959A (zh) * 2022-04-15 2022-08-12 合肥工业大学 中日词语自动对齐方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114896959A (zh) * 2022-04-15 2022-08-12 合肥工业大学 中日词语自动对齐方法和系统

Similar Documents

Publication Publication Date Title
Tan et al. Neural machine translation: A review of methods, resources, and tools
CN112487182B (zh) 文本处理模型的训练方法、文本处理方法及装置
US11210306B2 (en) Dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system
CN110737758B (zh) 用于生成模型的方法和装置
Liu et al. Learning to generate questions by learningwhat not to generate
US11741109B2 (en) Dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system
KR102382499B1 (ko) 번역 방법, 타깃 정보 결정 방법, 관련 장치 및 저장 매체
Diao et al. Black-box prompt learning for pre-trained language models
Rastogi et al. Multi-task learning for joint language understanding and dialogue state tracking
Rastogi et al. Weighting finite-state transductions with neural context
Mirowski et al. Dependency recurrent neural language models for sentence completion
US20160328386A1 (en) Generating distributed word embeddings using structured information
US20170351663A1 (en) Iterative alternating neural attention for machine reading
US20210232948A1 (en) Question responding apparatus, question responding method and program
RU2721190C1 (ru) Обучение нейронных сетей с использованием функций потерь, отражающих зависимости между соседними токенами
Salesky et al. Optimizing segmentation granularity for neural machine translation
US11423237B2 (en) Sequence transduction neural networks
Miao et al. A generative framework for simultaneous machine translation
RU2712101C2 (ru) Предсказание вероятности появления строки с использованием последовательности векторов
CN113779225B (zh) 实体链接模型的训练方法、实体链接方法及装置
Baas et al. Transfusion: Transcribing speech with multinomial diffusion
Yang et al. Hanoit: Enhancing context-aware translation via selective context
CN114330290A (zh) 语言模型的训练方法及装置
WO2020162240A1 (ja) 言語モデルスコア計算装置、言語モデル作成装置、それらの方法、プログラム、および記録媒体
Wang et al. Classification-based RNN machine translation using GRUs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20220412

WD01 Invention patent application deemed withdrawn after publication