一种语言模型的训练方法及装置与流程

文档序号:17741084发布日期:2019-05-24 20:06阅读:164来源:国知局
一种语言模型的训练方法及装置与流程

本申请涉及计算机技术领域,尤其涉及一种语言模型的训练方法及装置。



背景技术:

语言模型可以对一段文本的概率进行估计,即,描述一个字符串属于自然语言的概率。语言模型可以使用在许多自然语言处理方面的应用,比如,语音识别、机器翻译、词性标注、句法分析、以及资讯检索,等等。

然而,现有的语言模型的效果还不够理想,因此,如何提高语言模型的效果是目前丞待解决的技术问题。



技术实现要素:

本申请实施例的主要目的在于提供一种语言模型的训练方法及装置,能够提升语言模型的效果。

本申请实施例提供了一种语言模型的训练方法,包括:

获取语言模型的训练数据,所述训练数据包括大量的样本文本;

将所述样本文本进行分词处理,得到每一分词的分词标签,所述分词标签包括对应分词中的每一字在对应分词中的位置信息;

根据所述样本文本中每一分词的分词标签,对所述语言模型进行训练。

可选的,所述根据所述样本文本中每一分词的分词标签,对所述语言模型进行训练,包括:

将所述样本文本中的每一字作为目标字;

生成所述样本文本中每一目标字的标签向量,所述标签向量表征了对应目标字所属分词的分词标签中包含的对应目标字的相关信息;

根据所述样本文本中每一目标字的标签向量,对所述语言模型进行训练。

可选的,所述根据所述样本文本中每一目标字的标签向量,对所述语言模型进行训练,包括:

获取所述样本文本中每一目标字的字向量;

将所述样本文本中同一目标字的字向量和标签向量进行向量融合,得到第一融合向量;

根据所述样本文本中每一目标字的第一融合向量,对所述语言模型进行训练。

可选的,所述将所述样本文本中同一目标字的字向量和标签向量进行向量融合,包括:

将所述样本文本中同一目标字的标签向量,插入所述同一目标字的字向量的预设位置处;

或者,将所述样本文本中同一目标字的标签向量,替换所述同一目标字的字向量中的向量元素。

可选的,所述根据所述样本文本中每一分词的分词标签,对所述语言模型进行训练,包括:

将所述样本文本中的每一分词作为目标分词;

生成所述样本文本中每一目标分词的标签向量,所述标签向量表征了对应目标分词的分词标签的信息;

根据所述样本文本中每一目标分词的标签向量,对所述语言模型进行训练。

可选的,所述根据所述样本文本中每一目标分词的标签向量,对所述语言模型进行训练,包括:

获取所述样本文本中每一目标分词的词向量;

将所述样本文本中同一目标分词的词向量和标签向量进行向量融合,得到第二融合向量;

根据所述样本文本中每一目标分词的第二融合向量,对所述语言模型进行训练。

可选的,所述将所述样本文本中同一目标分词的词向量和标签向量进行向量融合,包括:

将所述样本文本中同一目标分词的标签向量,插入所述同一目标分词的分词向量的预设位置处;

或者,将所述样本文本中同一目标分词的标签向量,替换所述同一目标分词的分词向量中的向量元素。

可选的,所述分词标签还包括对应分词属于分词时的概率。

本申请实施例还提供了一种语言模型的训练装置,包括:

训练数据获取单元,用于获取语言模型的训练数据,所述训练数据包括大量的样本文本;

分词标签获得单元,用于将所述样本文本进行分词处理,得到每一分词的分词标签,所述分词标签包括对应分词中的每一字在对应分词中的位置信息;

语言模型训练单元,用于根据所述样本文本中每一分词的分词标签,对所述语言模型进行训练。

可选的,所述语言模型训练单元包括:

目标字获得子单元,用于将所述样本文本中的每一字作为目标字;

第一向量生成子单元,用于生成所述样本文本中每一目标字的标签向量,所述标签向量表征了对应目标字所属分词的分词标签中包含的对应目标字的相关信息;

第一语言模型训练子单元,用于根据所述样本文本中每一目标字的标签向量,对所述语言模型进行训练。

可选的,所述第一语言模型训练子单元包括:

字向量获取子单元,用于获取所述样本文本中每一目标字的字向量;

第一向量融合子单元,用于将所述样本文本中同一目标字的字向量和标签向量进行向量融合,得到第一融合向量;

第一模型训练子单元,用于根据所述样本文本中每一目标字的第一融合向量,对所述语言模型进行训练。

可选的,所述第一向量融合子单元具体用于:

将所述样本文本中同一目标字的标签向量,插入所述同一目标字的字向量的预设位置处;

或者,将所述样本文本中同一目标字的标签向量,替换所述同一目标字的字向量中的向量元素。

可选的,所述语言模型训练单元包括:

目标分词获得子单元,用于将所述样本文本中的每一分词作为目标分词;

第二向量生成子单元,用于生成所述样本文本中每一目标分词的标签向量,所述标签向量表征了对应目标分词的分词标签的信息;

第二语言模型训练子单元,用于根据所述样本文本中每一目标分词的标签向量,对所述语言模型进行训练。

可选的,所述第二语言模型训练子单元包括:

词向量获取子单元,用于获取所述样本文本中每一目标分词的词向量;

第二向量融合子单元,用于将所述样本文本中同一目标分词的词向量和标签向量进行向量融合,得到第二融合向量;

第二模型训练子单元,用于根据所述样本文本中每一目标分词的第二融合向量,对所述语言模型进行训练。

可选的,所述第二向量融合子单元具体用于:

将所述样本文本中同一目标分词的标签向量,插入所述同一目标分词的分词向量的预设位置处;

或者,将所述样本文本中同一目标分词的标签向量,替换所述同一目标分词的分词向量中的向量元素。

可选的,所述分词标签还包括对应分词属于分词时的概率。

本申请实施例还提供了一种语言模型的训练设备,包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述语言模型的训练方法中的任意一种实现方式。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述语言模型的训练方法中的任意一种实现方式。

本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述语言模型的训练方法中的任意一种实现方式。

本申请实施例提供的一种语言模型的训练方法及装置,在获取到包括大量样本文本的语言模型训练数据后,可以将这些样本文本进行分词处理,以得到每一分词的分词标签,其中,分词标签包括对应分词中的每一字在对应分词中的位置信息,接着,可以根据这些样本文本中每一分词的分词标签,对语言模型进行训练。可见,本申请实施例将样本文本的分词标签作为训练数据对语言模型进行训练,使得训练语言模型所使用的数据更为全面,从而能够降低语言模型的ppl值,提升了语言模型的效果。

附图说明

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

图1为本申请实施例提供的一种语言模型的训练方法的流程示意图;

图2为本申请实施例提供的根据样本文本中每一分词的分词标签对语言模型进行训练的流程示意图之一;

图3为本申请实施例提供的根据样本文本中每一分词的分词标签对语言模型进行训练的流程示意图之二;

图4为本申请实施例提供的一种语言模型的训练装置的组成示意图。

具体实施方式

目前,在自然语言处理领域,人们通常喜欢使用神经网络来训练语言模型,用以完成语音识别、机器翻译、词性标注、句法分析、以及资讯检索等语言处理任务,这是因为在使用神经网络进行语言模型的训练时,全程无需人工参与训练,即可获得较好的语言模型的训练结果。

然而,上述整个语言模型的训练过程是不可见的,人们很难解释出训练过程中可能出现的各种现象的原因,并且,在现有的利用神经网络进行语言模型训练的过程中,往往会忽视一些有用的信息(如分词过程中产生的分词标签等中间信息),造成模型的训练效果不够理想。

具体来讲,当利用分词方法(如基于词典的分词方法)对文本进行分词处理时,人人往往只关注到分词结果是否为文本中包含的各个分词,若是,则可以将各个分词中每个字的字向量或每个词的词向量这一表征文本基本语义信息的特征,作为语言模型的输入数据,用以对语言模型进行训练,但却往往忽视了在利用分词方法进行分词处理过程中产生的其它有用信息,比如文本中每个字在其所属分词中的位置信息,即分词标签信息。所以,在现有的利用神经网络进行语言模型的训练过程中,这种仅将表征文本基本语义信息的特征(文本中每个字的字向量或每个词的词向量)作为输入数据进行训练的方式,训练所使用的输入数据不够全面,导致语言模型的训练结果不够理想。

为解决上述缺陷,本申请实施例提供了一种语言模型的训练方法,在获取到包括大量样本文本的训练数据后,可以对这些样本文本进行分词处理,并在处理过程中得到每一分词的分词标签,其中,分词标签包括对应分词中的每一字在对应分词中的位置信息,接着,可以根据这些样本文本中每一分词的分词标签,对语言模型进行训练。可见,相比于现有的仅利用表征文本基本语义信息的特征(文本中每个字的字向量或每个词的词向量)进行语言模型训练的方法,本申请将对样本文本进行分词处理过程中产生的分词标签作为输入数据对语言模型进行训练,即,将分词处理过程中产生的分词标签这种中间信息转化为了数据形式并加入到训练语言模型的输入数据中,使得训练语言模型所使用的输入数据更为全面,从而能够降低语言模型的迷惑度(perplexity,简称ppl)值,提升了语言模型的效果。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

第一实施例

参见图1,为本实施例提供的一种语言模型的训练方法的流程示意图,该方法包括以下步骤:

s101:获取语言模型的训练数据,其中,该训练数据包括大量的样本文本。

在本实施例中,将采用本实施例进行语言模型训练的任一文本定义为样本文本。并且,本实施例不限制样本文本的语种类型,比如,样本文本可以是中文文本、或英文文本等;本实施例也不限制样本文本的长度,比如,样本文本可以是句子文本、也可以是篇章文本;本实施例也不限制样本文本的来源,比如,样本文本可以是采访、会议、演讲、辩论等应用场景对应识别出的文本。

在本实施例中,可以将获取到的各个样本文本,构成用于训练语言模型的训练数据,用以通过后续步骤实现对语言模型的训练。

s102:对于每一样本文本,将该样本文本进行分词处理,得到每一分词的分词标签,其中,该分词标签包括对应分词中的每一字在对应分词中的位置信息。

在本实施例中,通过步骤s101获取到语言模型的训练数据后,可以利用现有或未来出现的分词方法对训练数据中的样本文本进行分词处理。例如,首先可以使用最小熵算法基于公文语料(即语言材料)构建专用词典,然后,利用该词典对训练数据中的样本文本进行分词,但是,由于样本文本中的一些词语可能并不存在于该词典中,若仅依靠该词典进行分词,可能无法准确获得分词结果,此时,可以利用基于隐马尔可夫模型(hiddenmarkovmodel,简称hmm)的统计方法对样本文本进行进一步分词,以实现对样本文本的准确分词,并在分词过程中,得到每一分词的分词标签。

具体来讲,就是将样本文本作为输入数据,输入至基于hmm的分词模型进行分词,通过该模型,输出该样本文本中每一分词对应的分词标签,分词标签包括了对应分词中每一字在对应分词中的位置信息,对于每一字的位置信息,可以表示为b(begin)、m(middle)、e(end)、s(single)中的一种。其中,b(begin)表示该字在对应分词中的开始位置,即词首位置;m(middle)表示该字在对应分词中的中间位置,即词中位置;e(end)表示该字在对应分词中的结束位置,即词尾位置;s(single)表示该字自身就是一个词,即单字成词,也就是说,s表示该字在对应分词(即,该字本身)中时,既在词首位置、也在词中位置、亦在词尾位置。

举例说明:假设将样本文本“我来到清华大学”作为输入数据,输入至基于hmm的分词模型进行分词,通过该模型,可以输出的各个分词的分词标签组合为“sbebmme”,每一分词标签表示了对应分词中相应字在对应分词中的位置信息,如输出的分词标签“s”表示了单字成词的“我”,“s”后的“b”表示了分词“来到”中的字“来”在分词“来到”中的位置信息,即词首位置,依次类推,可以得到该样本文本对应的各个分词标签,以及该样本文本的分词结果“我来到清华大学”。

需要说明的是,一种可选的实现方法中,对于每一分词对应的分词标签,该分词标签还包括了对应分词属于分词时的概率(即,属于分词的可能性大小)。

在本实现方式中,分词标签不仅可以包括对应分词中的每一字在对应分词中的位置信息,还可以包括对应分词属于分词时的概率,定义为alpha。具体来讲,本步骤s102中,当利用现有或未来出现的分词方法对样本文本进行分词处理时,比如,当利用基于hmm的分词模型和/或基于词典的分词方法对样本文本进行分词处理时,在分词处理的过程中,即可得到每一分词属于一个实际分词的概率(即,属于一个实际分词的可能性大小)。举例说明:通过将样本文本“我来到清华大学”作为输入数据,输入至基于hmm的分词模型进行分词后,通过该模型输出的分词“我”的分词标签,不仅可以包括“s”,还可以包括分词“我”属于一个实际分词时的概率alpha,比如,当alpha的取值为90%时,则表明“我”属于一个实际分词时的概率为90%,即,“我”有90%的可能性属于分词。

s103:根据该样本文本中每一分词的分词标签,对语言模型进行训练。

在本实施例中,通过步骤s102得到样本文本中每一分词的分词标签后,进一步可以根据该分词标签,对语言模型进行训练,具体来讲,可以将样本文本中每一分词的分词标签与分词结果共同作为输入数据,输入至语言模型对其进行训练,具体地,可以将样本文本中每一分词的分词标签转换为标签向量、与样本文本中每个字的字向量或每个分词的词向量,共同作为输入数据,输入至语言模型对其进行训练。

通过引入大量样本文本的每一分词的分词标签作为输入数据对语言模型进行训练,可以有效降低语言模型的ppl值,在实验数据中显示,可以将ppl值从22降低到12,即,将语言模型的ppl值降低了45%,从而提升了语言模型的效果。

其中,ppl值指的是用于衡量语言模型效果好坏的指标,主要是根据每个分词来估计属于自然语言的一句话出现的概率,具体计算公式如下:

其中,n表示句子的长度,即,词的个数;p(wi)表示第i个词的概率,比如,第一个词的概率即为p(w1|w0),而w0表示句子的起始词,可以用占位符表示;ppl(s)表示根据每个词来估计属于自然语言的一句话s出现的概率,由上述公式(1)可知,ppl(s)越小,则表明p(wi)值越大,从而表明属于自然语言的一句话s出现概率就越高,进而表明语言模型的效果越好。

需要说明的是,本步骤s103可以包括两种具体实现方式,这两种具体实现方式将分别在第二实施例和第三实施例中介绍。

综上,本实施例提供的语言模型的训练方法,在获取到包括大量样本文本的语言模型训练数据后,可以将这些样本文本进行分词处理,以得到每一分词的分词标签,其中,分词标签包括对应分词中的每一字在对应分词中的位置信息,接着,可以根据这些样本文本中每一分词的分词标签,对语言模型进行训练。可见,本申请实施例将样本文本的分词标签作为训练数据对语言模型进行训练,使得训练语言模型所使用的数据更为全面,从而能够降低语言模型的ppl值,提升了语言模型的效果。

第二实施例

通常情况下,可以利用训练数据中的每一样本文本,分别通过上述步骤s103对语言模型进行一轮训练,通过多轮训练后得到最终的语言模型。需要说明的是,本实施例将对上述步骤s103的具体实现方式进行介绍,并对使用本轮的样本文本(该样本文本中的各个字)进行模型训练的训练方式进行说明,使用其它样本文本的训练方式与之类似,不再一一赘述。

参见图2,其示出了本实施例提供的根据样本文本中每一分词的分词标签对语言模型进行训练的流程示意图之一,该流程包括以下步骤:

s201:将样本文本中的每一字作为目标字。

在本实施例中,为了能够根据样本文本中每一分词的分词标签(分词标签包括对应分词中的每一字在对应分词中的位置信息),对语言模型进行训练,首先可以将样本文本中的每一字定义为目标字,然后通过后续步骤对每一目标字进行处理,以根据处理结果实现对语言模型的训练。

s202:生成样本文本中每一目标字的标签向量,其中,该标签向量表征了对应目标字所属分词的分词标签中包含的对应目标字的相关信息。

在本实施例中,当通过步骤s102得到样本文本中每一分词的分词标签后,由于分词标签包括对应分词中的每一目标字在对应分词中的位置信息,因此,可以根据每一目标字在所属分词中的位置信息,生成每一目标字对应的标签向量。具体地,可以将每一目标字的位置信息转换为四维向量,作为其对应的标签向量。

在一种实现方式中,关于每一目标字的标签向量,该标签向量表征了对应目标字所属分词的分词标签中包含的对应目标字在所属分词中的位置信息。

举例说明:仍以样本文本“我来到清华大学”为例,其各个分词对应的分词标签组合为“sbebmme”,分别对应各个目标字。其中,“b”对应的四维标签向量可以为[1,0,0,0]、“m”对应的四维标签向量可以为[0,1,0,0]、“e”对应的四维标签向量可以为[0,0,1,0]、“s”对应的四维标签向量可以为[0,0,0,1]。

在另一种实现方式中,关于每一目标字的标签向量,该标签向量不但表征了对应目标字所属分词的分词标签中包含的对应目标字在所属分词中的位置信息,还携带了对应目标字所属分词属于一个实际分词时的概率。具体地,可以将每一目标字的位置信息转换为上述由1和0组成的四维向量后,将该四维向量中值为1的向量元素与对应目标字所属分词属于分词时的概率alpha相乘(即1*alpha),并将相乘后的四维向量作为对应目标字的标签向量。

举例说明:基于上述举例,样本文本“我来到清华大学”中的目标字“我”的分词标签不仅包括了表征其位置信息的“s”,还可以包括目标字“我”属于一个实际分词时的概率alpha,假设该alpha的取值为90%,则表明目标字“我”属于一个实际分词时的概率为90%,从而可以在将其对应的位置信息转换为四维向量[0,0,0,1]后,还可以将该四维向量中值为1的向量元素与目标字“我”对应的分词(即单字成词的“我”)属于一个实际分词时的概率alpha(90%)相乘,即1*90%,从而得到四维向量[0,0,0,0.9],并将该四维向量[0,0,0,0.9]作为目标字“我”对应的标签向量。

需要说明的是,在本实施例中,也可以将样本文本中每一目标字对应的位置信息转换为其它维度形式的多维向量。例如,位置信息“b”对应的标签向量既可以表示为四维向量[1,0,0,0],也可以该四维向量[1,0,0,0]中的每一维度值扩展为4维,表示为16维向量[1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0]。

s203:根据样本文本中每一目标字的标签向量,对语言模型进行训练。

在本实施例中,通过步骤s202生成样本文本中每一目标字的标签向量后,可以对每一目标字的标签向量进行数据处理,并根据处理结果对语言模型进行训练,具体来讲,在本实施例的一种实现方式中,本步骤s203可以包括以下步骤a1-a3:

步骤a1:获取样本文本中每一目标字的字向量。

在本实现方式中,为了根据样本文本中每一目标字的标签向量,实现对语言模型的训练,首先可以获取到样本文本中每一目标字的字向量,比如,可以在进行语言模型训练之前,利用现有或未来出现的向量生成方法,生成每一目标字对应的128维的字向量。

步骤a2:将样本文本中同一目标字的字向量和标签向量进行向量融合,得到第一融合向量。

在本实现方式中,通过步骤a1获取样本文本中每一目标字的字向量,以及通过步骤s202生成样本文本中每一目标字的标签向量后,可以将样本文本中同一目标字的字向量和标签向量进行向量融合,以得到第一融合向量,再通过后续步骤a3实现对语言模型的训练。其中,将样本文本中同一目标字的字向量和标签向量进行向量融合的方式可以包括以下两种:

第一种向量融合方式是,将样本文本中同一目标字的标签向量,插入同一目标字的字向量的预设位置处。举例说明:假设目标字的向量为128维,可以用[a1,a2,...,a128]来表示,且该目标字对应的标签向量为[1,0,0,0],则可以将该目标字的标签向量[1,0,0,0],插入该目标字的字向量的预设位置处,形成一个132维的向量,比如可以插入到该目标字的字向量的起始位置处,则融合后的向量即为[1,0,0,0,a1,a2,...,a128]。

需要说明的是,上述第一种向量融合方式中的“预设位置”可根据实际情况进行设置,本申请对此不进行限定,并且,在每轮训练过程中,按照上述第一种向量融合方式对每一目标字进行向量融合时,“预设位置”应该是一致的,比如对于每一目标字,均可以将该目标字的标签向量插入到该目标字的字向量的起始位置处,或者,均可以将该目标字的标签向量插入到该目标字的字向量的结尾位置处等,以保证训练数据的格式一致性。

第二种向量融合方式是,将样本文本中同一目标字的标签向量,替换同一目标字的字向量中的向量元素。举例说明:仍假设目标字的向量为128维,仍可以用[a1,a2,...,a128]来表示,且该目标字对应的标签向量为[1,0,0,0],则可以将该目标字的标签向量[1,0,0,0],替换该目标字的字向量中的向量元素,使得替换后的向量仍为一个128维的向量,比如可以替换该目标字的字向量的前四维向量元素,则融合后的向量即为[1,0,0,0,a5,a6,...,a128]。

需要说明的是,上述第二种向量融合方式中的被替换的向量元素的位置可根据实际情况进行设置,本申请对此不进行限定,并且,在每轮训练过程中,按照上述第二种向量融合方式对每一目标字进行向量融合时,替换的向量元素的位置应该是一致的,比如对于每一目标字,均可以将该目标字的标签向量替换该目标字的字向量的前四维向量元素,或者,均可以将该目标字的标签向量替换该目标字的字向量的后四维向量元素等,以保证训练数据的格式一致性。

步骤a3:根据样本文本中每一目标字的第一融合向量,对语言模型进行训练。

在本实现方式中,通过步骤a2将样本文本中同一目标字的字向量和标签向量进行向量融合,得到第一融合向量后,可以将样本文本中每一目标字的第一融合向量作为输入数据,输入至语言模型,基于模型输出结果对模型参数进行更新,从而完成对语言模型的本轮训练。

综上,本实施例将样本文本中的每一字的字向量与其对应的标签向量进行融合,生成了融合后的第一融合向量,从而在利用该第一融合向量,对语言模型进行训练时,能够使得训练语言模型所使用的数据更为全面,进而提升语言模型的效果。

第三实施例

通常情况下,可以利用训练数据中的每一样本文本,分别通过上述步骤s103对语言模型进行一轮训练,通过多轮训练后得到最终的语言模型。需要说明的是,本实施例将对上述步骤s103的具体实现方式进行介绍,并对使用本轮的样本文本(该样本文本中的各个词)进行模型训练的训练方式进行说明,使用其它样本文本的训练方式与之类似,不再一一赘述。

参见图3,其示出了本实施例提供的根据样本文本中每一分词的分词标签对语言模型进行训练的流程示意图之二,该流程包括以下步骤:

s301:将样本文本中的每一分词作为目标分词。

在本实施例中,为了能够根据样本文本中每一分词的分词标签(分词标签包括对应分词中的每一字在对应分词中的位置信息),对语言模型进行训练,首先可以将样本文本中的每一分词定义为目标分词,然后通过后续步骤对每一目标分词进行处理,以根据处理结果实现对语言模型的训练。

s302:生成样本文本中每一目标分词的标签向量,其中,该标签向量表征了对应目标分词的分词标签的信息。

在本实施例中,当通过步骤s102得到样本文本中每一目标分词的分词标签后,可以根据每一目标分词对应的分词标签,生成每一目标分词的标签向量,比如,可以将每一目标分词对应的分词标签转换为多维向量,作为其对应的标签向量。

在一种实现方式中,关于每一目标分词的标签向量,该标签向量表征了对应目标分词的分词标签中的关于各个字的位置信息。

举例说明:仍以样本文本“我来到清华大学”为例,其各个分词对应的分词标签组合为“sbebmme”,分词结果为“我来到清华大学”,其中,分词标签共有be、bme、s三种形式。其中,基于第二实施例中每一字的标签向量的四维表示形式,可以使“be”对应的标签向量为[1,0,0,0,0,0,1,0]、使“bme”对应的标签向量为[1,0,0,0,0,1,0,0,0,0,1,0]、使“s”对应的标签向量为[0,0,0,1],这样,即得到了样本文本中每一目标分词的标签向量。

在另一种实现方式中,关于每一目标分词的标签向量,该标签向量不但表征了对应目标分词的分词标签中的关于各个字的位置信息,还携带了对应目标分词属于一个实际分词时的概率。具体地,可以将每一目标分词对应的分词标签转换为上述由1和0组成的多维向量后,再将该多维向量中值为1的向量元素与对应目标分词属于分词时的概率alpha相乘(即1*alpha),并将相乘后的多维向量作为对应目标分词的标签向量。

举例说明:基于上述举例,样本文本“我来到清华大学”中的目标分词“我”的分词标签不仅包括了表征其位置信息的“s”,还可以包括目标分词“我”属于一个实际分词时的概率alpha,假设该alpha的取值为95%,则表明目标分词“我”属于一个实际分词时的概率为95%,从而可以在将其对应的分词标签转换为四维向量[0,0,0,1]后,还可以将该四维向量中值为1的向量元素与目标分词“我”属于一个实际分词时的概率alpha(95%)相乘,即1*95%,从而得到四维向量[0,0,0,0.95],并将该四维向量[0,0,0,0.95]作为目标分词“我”对应的标签向量。同理,“be”对应的8维向量以及“bme”对应的12维向量,也将各自向量中的“1”与相应的alpha相乘后作为标签向量。

需要说明的是,在本实施例中,也可以将样本文本中每一目标分词对应的分词标签转换为其它维度形式的多维向量。例如,分词标签“be”对应的标签向量既可以表示为八维向量[1,0,0,0,0,0,1,0],也可以将该八维向量[1,0,0,0,0,0,1,0]中的每一维度值扩展为4维,表示为32维向量[1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0]。

s303:根据样本文本中每一目标分词的标签向量,对语言模型进行训练。

在本实施例中,通过步骤s302生成样本文本中每一目标分词的标签向量后,可以对每一目标分词的标签向量进行数据处理,并根据处理结果对语言模型进行训练,具体来讲,在本实施例的一种实现方式中,本步骤s303可以包括以下步骤b1-b3:

步骤b1:获取样本文本中每一目标分词的词向量。

在本实现方式中,为了根据样本文本中每一目标分词的标签向量,实现对语言模型的训练,首先可以获取到样本文本中每一目标分词的词向量,比如,可以在进行语言模型训练之前,利用现有或未来出现的向量生成方法,生成每一目标分词(假设目标分词由两个字组成)对应的256维的词向量。

步骤b2:将样本文本中同一目标分词的词向量和标签向量进行向量融合,得到第二融合向量。

在本实现方式中,通过步骤b1获取样本文本中每一目标分词的词向量,以及通过步骤s302生成样本文本中每一目标分词的标签向量后,可以将样本文本中同一目标分词的词向量和标签向量进行向量融合,以得到第二融合向量,再通过后续步骤b3实现对语言模型进行训练。其中,将样本文本中同一目标分词的词向量和标签向量进行向量融合的方式可以包括以下两种:

第一种向量融合方式是,将样本文本中同一目标分词的标签向量,插入同一目标分词的分词向量的预设位置处。举例说明:假设目标分词的词向量为256维,可以用[b1,b2,...,b256]来表示,且该目标分词对应的标签向量为“be”对应的标签向量[1,0,0,0,0,0,1,0],则可以将该目标分词的标签向量[1,0,0,0,0,0,1,0],插入该目标分词的分词向量的预设位置处,形成一个264维的向量,比如可以插入到该目标分词的分词向量的起始位置处,则融合后的向量即为[1,0,0,0,0,0,1,0,b1,b2,...,b256]。

需要说明的是,上述第一种向量融合方式中的“预设位置”可根据实际情况进行设置,本申请对此不进行限定,并且,在每轮训练过程中,按照上述第一种向量融合方式对每一目标分词进行向量融合时,“预设位置”应该是一致的,比如对于每一目标分词,均可以将该目标分词的标签向量插入到该目标分词的分词向量的起始位置处,或者,均可以将该目标分词的标签向量插入到该目标分词的分词向量的结尾位置处等,以保证训练数据的格式一致性。

第二种向量融合方式是,将样本文本中同一目标分词的标签向量,替换同一目标分词的分词向量中的向量元素。举例说明:仍假设目标分词的词向量为256维,仍可以用[b1,b2,...,b256]来表示,且该目标分词对应的标签向量仍为“be”对应的标签向量[1,0,0,0,0,0,1,0],则可以将该目标分词的标签向量[1,0,0,0,0,0,1,0],替换该目标分词的分词向量中的向量元素,使得替换后的向量仍为一个256维的向量,比如可以替换该目标分词的分词向量的前八维向量元素,则融合后的向量即为[1,0,0,0,0,0,1,0,b9,b10,...,b256]。

需要说明的是,上述第二种向量融合方式中被替换的向量元素的位置可根据实际情况进行设置,本申请对此不进行限定,并且,在每轮训练过程中,按照上述第二种向量融合方式对每一目标分词进行向量融合时,替换的向量元素的位置应该是一致的,比如对于每一目标分词,均可以将该目标分词的标签向量替换该目标分词的分词向量的前八维向量元素,或者,均可以将该目标分词的标签向量替换该目标分词的分词向量的后八维向量元素等,以保证训练数据的格式一致性。

步骤b3:根据样本文本中每一目标分词的第二融合向量,对语言模型进行训练。

在本实现方式中,通过步骤b2将样本文本中同一目标分词的词向量和标签向量进行向量融合,得到第二融合向量后,可以将样本文本中每一目标分词的第二融合向量作为输入数据,输入至语言模型,基于模型输出结果对模型参数进行更新,从而完成对语言模型的本轮训练。

综上,本实施例将样本文本中的每一分词的词向量与其对应的标签向量进行融合,生成了融合后的第二融合向量,从而在利用该第二融合向量,对语言模型进行训练时,能够使得训练语言模型所使用的数据更为全面,进而提升语言模型的效果。

第四实施例

需要说明的是,本实施例将对采用现有技术提供的模型输入数据以及采用本申请提供的模型输入数据进行模型训练后的模型效果进行介绍。其中,实验数据集采用的可以是公文语料,该公文语料指的是政府单位对外发布的信息文件中的语料,比如,该公文语料可以是ptb(penntreebankdataset)文本数据集,其是语言模型学习中目前最广泛使用的数据集。

一、现有的利用神经网络进行语言模型的训练过程

现有的利用神经网络进行语言模型的训练过程中,仅将表征文本基本语义信息的特征(文本中每个字的字向量或每个词的词向量)作为输入数据,对语言模型进行实验训练,具体的实验过程如下:

(1)初始化公文语料中每个字的字向量。例如,可以利用现有或未来出现的向量生成方法,生成该公文语料中每一字对应的128维的字向量,可以用[c1,c2,...,c128]表示。

(2)将每个字对应的128维的字向量[c1,c2,...,c128]作为输入数据,对语言模型进行训练。

(3)在训练完成后,计算语言模型的ppl。

具体来讲,可以利用上述公式(1)计算出现有的利用神经网络训练的语言模型的ppl为:ppl=22.1146914958953。

二、将每一字对应的4维标签向量拼接到其对应的128维字向量的后面来进行语言模型的训练

通过上述第二实施例步骤s202生成样本文本中每一字对应的4维标签向量后,可以将每一字对应的4维标签向量拼接到其对应的128维字向量的后面,得到拼接后的向量,并将该拼接后的向量作为输入数据,对语言模型进行实验训练,具体的实验过程如下:

(1)对公文语料进行分词处理,获得语料中每个字在对应分词中的位置信息。

(2)根据每一字在对应分词中的位置信息,生成每一字对应的4维标签向量,可以用[d1,d2,d3,d4]表示。

(3)初始化公文语料中每个字的字向量。例如,可以利用现有或未来出现的向量生成方法,生成该公文语料中每一字对应的128维的字向量,仍可以用[c1,c2,...,c128]表示。

(4)将每一字对应的4维标签向量[d1,d2,d3,d4]拼接到其对应的128维字向量[c1,c2,...,c128]的后面,得到拼接后的向量为[c1,c2,...,c128,d1,d2,d3,d4]。

(5)将每一字对应的拼接后的向量[c1,c2,...,c128,d1,d2,d3,d4]作为输入数据,对语言模型进行训练。

(6)在训练完成后,计算语言模型的ppl。

具体来讲,可以利用上述公式(1)计算出通过上述方式训练得到的语言模型对应的ppl为:ppl=10.0910344230461。

三、将每一字对应的4维标签向量插入到其对应的128维字向量的中间来进行语言模型的训练

通过上述第二实施例步骤s202生成样本文本中每一字对应的4维标签向量后,可以将每一字对应的4维标签向量插入到其对应的128维字向量的中间,得到插入后的向量,并将该插入后的向量作为输入数据,对语言模型进行实验训练,具体的实验过程如下:

(1)对公文语料进行分词处理,获得语料中每个字在对应分词中的位置信息。

(2)根据每一字在对应分词中的位置信息,生成每一字对应的4维标签向量,仍可以用[d1,d2,d3,d4]表示。

(3)初始化公文语料中每个字的字向量。例如,可以利用现有或未来出现的向量生成方法,生成该公文语料中每一字对应的128维的字向量,仍可以用[c1,c2,...,c128]表示。

(4)将每一字对应的4维标签向量[d1,d2,d3,d4]插入到其对应的128维字向量[c1,c2,...,c128]的中间,得到插入后的向量为[c1,c2,...,c64,d1,d2,d3,d4,c65,...,c128.]。

(5)将每一字对应的插入后的向量[c1,c2,...,c64,d1,d2,d3,d4,c65,...,c128.]作为输入数据,对语言模型进行训练。

(6)在训练完成后,计算语言模型的ppl。

具体来讲,可以利用上述公式(1)计算出通过上述方式训练得到的语言模型对应的ppl为:ppl=11.669197821116088。

四、将每一字对应的16维标签向量插入到其对应的128维字向量的中间来进行语言模型的训练

通过上述第二实施例步骤s202生成样本文本中每一字对应的16维标签向量后,可以将每一字对应的16维标签向量插入到其对应的128维字向量的中间,得到插入后的向量,并将该插入后的向量作为输入数据,对语言模型进行实验训练,具体的实现过程如下:

(1)对公文语料进行分词处理,获得语料中每个字在对应分词中的位置信息。

(2)根据每一字在对应分词中的位置信息,生成每一字对应的16维标签向量,可以用[e1,e2,...,e16]表示。

(3)初始化公文语料中每个字的字向量。例如,可以利用现有或未来出现的向量生成方法,生成该公文语料中每一字对应的128维的字向量,仍可以用[c1,c2,...,c128]表示。

(4)将每一字对应的16维标签向量[e1,e2,...,e16]插入到其对应的128维字向量[c1,c2,...,c128]的中间,得到插入后的向量为[c1,c2,...,c64,e1,e2,...,e16,c65,...,c128.]。

(5)将每一字对应的插入后的向量[c1,c2,...,c64,e1,e2,...,e16,c65,...,c128.]作为输入数据,对语言模型进行训练。

(6)在训练完成后,计算语言模型的ppl。

具体来讲,可以利用上述公式(1)计算出通过上述方式训练得到的语言模型对应的ppl为:ppl=12.28524435023514。

由此,从上述四个实验过程得到的四个不同的ppl值可以看出,通过本申请实施例的训练方法,可以大幅度地降低语言模型对应的ppl值,即,可以将语言模型对应的ppl值从22.1146914958953分别降低到10.0910344230461、11.669197821116088以及12.28524435023514,从而可以将语言模型的ppl值降低45%左右,进而提升了语言模型的效果。

第五实施例

本实施例将对一种语言模型的训练装置进行介绍,相关内容请参见上述方法实施例。

参见图4,为本实施例提供的一种语言模型的训练装置的组成示意图,该装置400包括:

训练数据获取单元401,用于获取语言模型的训练数据,所述训练数据包括大量的样本文本;

分词标签获得单元402,用于将所述样本文本进行分词处理,得到每一分词的分词标签,所述分词标签包括对应分词中的每一字在对应分词中的位置信息;

语言模型训练单元403,用于根据所述样本文本中每一分词的分词标签,对所述语言模型进行训练。

在本实施例的一种实现方式中,所述语言模型训练单元403包括:

目标字获得子单元,用于将所述样本文本中的每一字作为目标字;

第一向量生成子单元,用于生成所述样本文本中每一目标字的标签向量,所述标签向量表征了对应目标字所属分词的分词标签中包含的对应目标字的相关信息;

第一语言模型训练子单元,用于根据所述样本文本中每一目标字的标签向量,对所述语言模型进行训练。

在本实施例的一种实现方式中,所述第一语言模型训练子单元包括:

字向量获取子单元,用于获取所述样本文本中每一目标字的字向量;

第一向量融合子单元,用于将所述样本文本中同一目标字的字向量和标签向量进行向量融合,得到第一融合向量;

第一模型训练子单元,用于根据所述样本文本中每一目标字的第一融合向量,对所述语言模型进行训练。

在本实施例的一种实现方式中,所述第一向量融合子单元具体用于:

将所述样本文本中同一目标字的标签向量,插入所述同一目标字的字向量的预设位置处;

或者,将所述样本文本中同一目标字的标签向量,替换所述同一目标字的字向量中的向量元素。

在本实施例的一种实现方式中,所述语言模型训练单元403包括:

目标分词获得子单元,用于将所述样本文本中的每一分词作为目标分词;

第二向量生成子单元,用于生成所述样本文本中每一目标分词的标签向量,所述标签向量表征了对应目标分词的分词标签的信息;

第二语言模型训练子单元,用于根据所述样本文本中每一目标分词的标签向量,对所述语言模型进行训练。

在本实施例的一种实现方式中,所述第二语言模型训练子单元包括:

词向量获取子单元,用于获取所述样本文本中每一目标分词的词向量;

第二向量融合子单元,用于将所述样本文本中同一目标分词的词向量和标签向量进行向量融合,得到第二融合向量;

第二模型训练子单元,用于根据所述样本文本中每一目标分词的第二融合向量,对所述语言模型进行训练。

在本实施例的一种实现方式中,所述第二向量融合子单元具体用于:

将所述样本文本中同一目标分词的标签向量,插入所述同一目标分词的分词向量的预设位置处;

或者,将所述样本文本中同一目标分词的标签向量,替换所述同一目标分词的分词向量中的向量元素。

在本实施例的一种实现方式中,所述分词标签还包括对应分词属于分词时的概率。

进一步地,本申请实施例还提供了一种语言模型的训练设备,包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述语言模型的训练方法的任一种实现方法。

进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述语言模型的训练方法的任一种实现方法。

进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述语言模型的训练方法的任一种实现方法。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1