CN111274789A - 文本预测模型的训练方法及装置 - Google Patents
文本预测模型的训练方法及装置 Download PDFInfo
- Publication number
- CN111274789A CN111274789A CN202010081187.8A CN202010081187A CN111274789A CN 111274789 A CN111274789 A CN 111274789A CN 202010081187 A CN202010081187 A CN 202010081187A CN 111274789 A CN111274789 A CN 111274789A
- Authority
- CN
- China
- Prior art keywords
- vector
- prediction
- word
- text
- determining
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本说明书实施例提供一种计算机执行的文本预测模型的训练方法和装置。其中文本预测模型包括基于时序的第一预测网络,和第二预测网络,训练方法包括,将训练文本中第t个词输入第一预测网络,使其根据时序处理得到的状态向量确定对于下一个词的第一预测概率。此外,从缓存器中读取基于在先文本形成的若干片段向量,第二预测网络根据这些片段向量,得到对下一个词的第二预测概率。然后,以内插权重系数λ作为第二预测概率的加权系数,以1减去λ作为第一预测概率的加权系数,对二者加权综合,得到综合预测概率。至少根据该综合预测概率和第t+1个词,确定针对第t个词的预测损失,由此训练文本预测模型。
Description
技术领域
本说明书一个或多个实施例涉及机器学习领域,尤其涉及文本预测模型的训练方法和装置。
背景技术
随着人工智能和机器学习的快速发展,各种自然语言处理任务已广泛应用于多种业务实施场景。例如,文本分类任务可以用于在智能问答客服***中,将用户提出的问题作为输入文本进行分类,以进行用户意图识别,自动问答,或者人工客服派单等。文本分类还可用于,例如文档数据归类,舆情分析,垃圾信息识别等等多种应用场景。又例如,不同语种的机器翻译任务广泛用于各种自动翻译***。
一般地,语言模型是进行上述各种具体的自然语言处理任务的基础模型。语言模型需要基于大量语料进行训练。其中,文本预测,即根据已有文本预测后续文本,是对语言模型进行训练的一种基础任务。
因此,希望能有改进的方案,可以更为有效地针对文本预测任务进行训练。
发明内容
本说明书一个或多个实施例描述了一种文本预测模型及其训练方法,其中综合利用局部上下文和长程上下文进行预测,全面提高文本预测模型对文本的理解能力和针对后续文本的预测准确性。
根据第一方面,提供了一种文本预测模型的训练方法,所述文本预测模型包括基于时序的第一预测网络,和第二预测网络,所述方法包括:
在依次输入当前训练文本中的前t-1个词之后,将第t个词输入所述第一预测网络,使得所述第一预测网络根据处理第t-1个词后的状态向量,以及所述第t个词的词向量,确定处理第t个词后的状态向量作为第一隐向量;并根据该第一隐向量,确定对于下一个词的第一预测概率;
从缓存器中读取已有的若干片段向量,所述已有的若干片段向量基于所述当前训练文本中所述第t个词之前的文本形成,且每个片段向量对应于长度为L个词的文本片段;
所述第二预测网络根据所述若干片段向量,确定对于下一个词的第二预测概率;
以内插权重系数作为所述第二预测概率的加权系数,以1减去所述内插权重系数的差值作为所述第一预测概率的加权系数,对所述第一预测概率和第二预测概率进行内插加权综合,得到对于下一个词的综合预测概率;
至少根据所述综合预测概率和所述训练文本中第t+1个词,确定针对第t个词的预测损失;
根据所述当前训练文本中针对各个词的预测损失,训练所述文本预测模型。
在一个实施例中,所述第一预测网络包括循环神经网络RNN或长短期记忆网络LSTM。
根据一个实施例,缓存器中存储的若干片段向量包括任意的第一文本片段对应的第一片段向量,其中第一文本片段包括所述当前训练文本的第i个词到第j个词,其中i和j均小于t,所述第一片段向量基于第一状态向量和第二状态向量的差值而获得,其中所述第一状态向量为所述第一预测网络处理所述第j个词后的状态向量,所述第二状态向量为所述第一预测网络处理第(i-1)个词后的状态向量。
根据一种实施方式,上述方法还包括,若所述第t个词为当前文本片段的最后一个词,则根据所述第一隐向量和第二隐向量的差值确定新增片段向量,其中第二隐向量为所述第一预测网络处理第t-L个词后的状态向量;将所述新增片段向量添加至所述缓存器。
在一个实施例中,缓存器具有有限存储容量,在这样的情况下,在将新增片段向量添加至缓存器前,首先判断所述缓存器中已有的若干片段向量的数目是否达到预定阈值数目;如果达到所述预定阈值数目,则删除其中最早存入的片段向量,再将所述新增片段向量存入所述缓存器。
根据一个实施例,第二预测网络通过以下方式确定对于下一个词的第二预测概率:确定与所述若干片段向量分别对应的若干注意力系数;以所述若干注意力系数为权重因子,对所述若干片段向量加权组合,得到上下文向量;根据所述上下文向量和线性变换矩阵,得到所述第二预测概率。
根据一个实施例,第一预测网络根据所述第一隐向量和所述线性变换矩阵,得到所述第一预测概率。
在一个更具体的实施例中,第二预测网络通过以下方式确定所述注意力系数:根据所述若干片段向量中任意的第i片段向量与所述第一隐向量之间的相似度,确定第i注意力系数。
在另一个更具体的实施例中,第二预测网络通过以下方式确定所述注意力系数:利用第一变换矩阵,将所述若干片段向量中任意的第i片段向量变换为第一中间向量;利用第二变换矩阵,将所述第一隐向量变换为第二中间向量;确定第一中间向量和第二中间向量的和向量与第三向量之间的相似度;根据所述相似度,确定第i注意力系数;其中,所述第一变换矩阵,第二变换矩阵和第三向量均为所述第二预测网络中的可训练网络参数。
根据一种实施方式,所述文本预测模型还包括策略网络;在对所述第一预测概率和第二预测概率进行内插加权综合之前,所述方法还包括:所述策略网络根据所述第一隐向量,输出所述内插权重系数;
并且所述确定预测损失的步骤具体包括:根据所述综合预测概率,所述第t+1个词,所述第一预测概率和第二预测概率,以及所述内插权重系数,确定所述预测损失。
在一个实施例中,所述策略网络通过以下方式确定所述内插权重系数:对所述第一隐向量至少施加策略变换矩阵,得到策略向量,其中所述策略变换矩阵为所述策略网络中可训练的模型参数;根据所述策略向量中预定维度的元素值,确定所述内插权重系数。
在一个进一步的实施例中,策略网络通过以下方式得到策略向量:根据所述当前训练文本,确定训练策略系数;对所述第一隐向量施加所述策略变换矩阵,并除以所述训练策略系数,得到所述策略向量。
更进一步的,在一个例子中,可以根据当前训练文本在训练样本集中的训练顺序编号,确定所述训练策略系数,使得所述训练策略系数与所述训练顺序编号负相关。
在另一例子中,可以根据所述当前训练文本的文本总长度,确定所述训练策略系数,使得所述训练策略系数与所述文本总长度负相关。
在一个实施例中,确定预测损失的步骤具体包括:根据所述综合预测概率和所述第t+1个词,确定第一损失项;根据所述内插权重系数,确定第二损失项,其中所述第二损失项与所述内插权重系数负相关;根据所述第二预测概率和第一预测概率分别针对所述第t+1个词的概率值的比值,确定所述奖励项,所述奖励项正相关于所述比值;以所述奖励项作为所述第二损失项的系数,对所述第一损失项和所述第二损失项求和,从而确定所述预测损失。
根据第二方面,提供了一种文本预测模型的训练装置,所述文本预测模型包括基于时序的第一预测网络,和第二预测网络,所述装置包括:
第一预测单元,配置为在依次输入当前训练文本中的前t-1个词之后,将第t个词输入所述第一预测网络,使得所述第一预测网络根据处理第t-1个词后的状态向量,以及所述第t个词的词向量,确定处理第t个词后的状态向量作为第一隐向量;并根据该第一隐向量,确定对于下一个词的第一预测概率;
读取单元,配置为从缓存器中读取已有的若干片段向量,所述已有的若干片段向量基于所述当前训练文本中所述第t个词之前的文本形成,且每个片段向量对应于长度为L个词的文本片段;
第二预测单元,配置为使得所述第二预测网络根据所述若干片段向量,确定对于下一个词的第二预测概率;
综合单元,配置为以内插权重系数作为所述第二预测概率的加权系数,以1减去所述内插权重系数的差值作为所述第一预测概率的加权系数,对所述第一预测概率和第二预测概率进行内插加权综合,得到对于下一个词的综合预测概率;
损失确定单元,配置为至少根据所述综合预测概率和所述训练文本中第t+1个词,确定针对第t个词的预测损失;
训练单元,配置为根据所述当前训练文本中针对各个词的预测损失,训练所述文本预测模型。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
根据本说明书实施例提供的文本预测模型,在利用基于时序的第一预测网络针对下一个词进行预测的基础上,还利用缓存器存储在先文本片段的片段向量作为长程上下文信息,并利用第二预测网络基于该长程上下文进行预测。在对第一预测网络和第二预测网络的预测结果进行内插综合时,可以利用策略网络,针对当前词生成内插权重系数。在对上述文本预测模型进行训练时,通过在损失函数中引入奖励项和内插权重系数,有条件地鼓励对长程上下文的探索和利用,从而进一步提高文本预测模型的预测准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的文本预测模型的示意图;
图2示出根据一个实施例的文本预测模型的训练方法的流程图;
图3示出针对一个具体训练文本进行预测处理的例子;
图4示出根据一个实施例确定文本片段的片段向量的示意图;
图5示出根据一个实施例确定第二预测概率的步骤流程;
图6示出根据一个实施例的文本预测模型的训练装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
如前所述,文本预测是自然语言处理的一项基本任务,相应的,希望训练得到具有更高预测准确性的文本预测模型。
考虑到文本中字词的顺序以及上下文对文本语义理解的重要性,在一种方案中,使用基于时序的神经网络模型,例如循环神经网络RNN,长短期记忆神经网络LSTM,门控循环单元GRU_RNN,作为文本预测模型的基础网络。然而,仅仅基于时序神经网络进行文本预测时,特别是利用LSTM进行预测时,往往只能捕获到距离当前词非常近的局部上下文,从而陷入对文本的局部理解中,难以捕获到距离当前词较远但是对其语义理解有帮助的长程上下文。
为了更好地捕获和利用长程上下文,从而提高文本预测的准确性,在本说明书的实施例中,提出一种新的文本预测模型及其训练方法。该模型将已输入文本划分为文本片段,将文本片段的表征向量作为长程上下文存储在缓存器中。在针对当前词预测下一个词时,综合考虑当前词对应的隐向量以及缓存器中存储的表征向量进行预测。
图1为本说明书披露的一个实施例的文本预测模型的示意图。如图1所示,文本预测模型包括基于时序的第一预测网络11,和第二预测网络13,可选的还包括策略网络14,其中第二预测网络13基于缓存器12中存储的片段向量进行预测。
第一预测网络11包括时序神经网络,例如RNN,LSTM,GRU_RNN。根据时序神经网络的工作方式,当将训练文本输入该文本预测模型时,第一预测网络11依次读取训练文本中的词,并依次对各个词进行迭代处理。在对每个词Wt进行迭代处理时,根据处理上一个词Wt-1后的状态向量ht-1,以及当前词的词向量,得到对当前词迭代处理后的状态向量ht。第一预测网络11还可以包括多层感知机MLP,该MLP基于该当前词对应的状态向量ht,得到针对下一个词的第一预测结果p。
缓存器12用于存储当前词之前的文本片段(span)的表征向量,即片段向量。文本片段的长度L可以为预定长度,例如2个词,3个词,5个词,等等。在一个实施例中,从第i个词到第j个词(j=i+L-1)构成的文本片段,其片段向量可以通过第一预测网络11输出的第j个词对应的状态向量与第i-1个词对应的状态向量之差而得到。
第二预测网络13基于缓存器12中存储的已有的片段向量进行预测运算,得到针对下一个词的第二预测结果q。该第二预测结果q反映了基于长程上下文的预测结果。
然后,对第一预测结果p和第二预测结果q进行综合。可以采用内插权重系数λ,对二者进行内插综合,得到综合预测结果。
以上的内插权重系数可以是预设超参数,或者可训练的参数。可选且优选的,该内插权重系数针对每个词而不同,由策略网络14来确定。具体的,策略网络14从第一预测网络11得到当前词对应的状态向量ht,根据该状态向量进行运算,得到针对当前词的内插权重系数λ,用于第一预测结果和第二预测结果的综合。
由此可以看到,图1所示的文本预测模型至少具有以下特点。首先,在利用时序神经网络进行预测的基础上,还通过缓存器存储当前词之前的文本片段对应的片段向量,将这些片段向量作为长程上下文,进行基于长程上下文的预测。最终的预测结果是两部分预测的综合。进一步地,可以利用策略网络,动态调整长程预测结果所占的比重,从而进一步提高预测准确度。
下面具体描述上述文本预测模型的训练过程。
图2示出根据一个实施例的文本预测模型的训练方法的流程图。可以理解,该文本预测模型具有图1所示的结构,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。
在执行图2所示的步骤之前,可以预先进行以下预备过程。首先,获取训练语料,即训练样本集,其中包括大量的训练文本。在将某个训练文本输入文本预测模型之前,首先对该训练文本进行词嵌入,将其中的各个词转化为词向量,从而将该训练文本转化为词向量序列。在一个实施例中,可以通过one-hot独热编码方式实现词嵌入,此时,每个词向量的维度对应于词库中词的数目V。在其他实施例中,也可以通过其他词嵌入方式实现词向量的转化,例如,word2vec方式,等等。
在一个实施例中,训练文本为中文文本。此时,在一个例子中,可以首先对训练文本进行分词,然后针对分词后的各个词进行词嵌入。在另一例子中,直接将各个中文字作为一个词来处理。因此,下文中的“词”包含中文单字的情况。
在进行词嵌入之后,就可以将训练文本输入到文本预测模型,进行预测和训练。如前所述,文本预测模型的基础网络仍然为时序神经网络,因此,对于当前训练文本,将其中各个词(更具体为词向量)依次输入文本预测模型。相应的,文本预测模型依次对输入的每个词进行预测处理。下面结合训练文本中任意的第t个词,描述文本预测模型的预测处理过程和训练过程。
如图2所示,在步骤21,将当前训练文本中的第t个词输入文本预测模型中的第一预测网络。可以理解,在此之前,已经将当前训练文本中的前t-1个词依次输入了文本预测模型。
如前所述,第一预测网络包括时序神经网络,其根据上一时刻的状态以及当前输入,共同确定下一时刻的状态。在上一时刻已经处理了第t-1个词,当前输入第t个词Wt的词向量xt的情况下,第一预测网络根据处理第t-1个词后的状态向量ht-1,以及该第t个词的词向量xt,确定处理第t个词后的状态向量ht。这一过程可以通过以下公式(1)表示:
ht=Φ(xt,ht-1) (1)
其中,Φ为状态转换函数,具体函数形式取决于时序神经网络的网络形式,例如是RNN或是LSTM。状态向量的维度记为d维。
下文中为了简单和清楚,将处理当前第t个词后的状态向量ht称为第一隐向量。
第一预测网络还可以包括多层感知机MLP,用于根据该第一隐向量ht,确定对于下一个词的第一预测概率p。更具体的,第一预测概率p可以包括,下一个词为词库中各个词的概率分布。假定词库中词的数目为V,那么第一预测概率p可以表示为一个V维向量。
在一个实施例中,为了确定第一预测概率p,MLP首先对第一隐向量ht施加一个线性变换矩阵Ot+1,该线性变换矩阵是可训练的参数矩阵,可以将d维的第一隐向量ht转换或投影为V维向量。可选的,在此之后施加softmax函数,得到针对各个词的概率分布。具体的,对于下一个词的第一预测概率p可以表示为:
图3示出针对一个具体训练文本进行预测处理的例子。在图3的例子中,假定当前输入的是训练文本中的第92个词“no”。那么,在第一预测网络中,时序神经网络根据处理第91个词“have”之后的状态向量h91和该第92个词“no”对应的词向量,得到对应于第92个词的状态向量h92。然后,MLP根据该状态向量h92,得到针对下一个词,即第93个词的第一预测概率p。
可以理解,一般地,根据时序神经网络的状态向量得到的预测结果,更多地反映距离当前词较近的局部上下文对当前词语义理解的影响。例如,在图3的例子中,由于当前词“no”的局部上下文为“i have”,基于此,第一预测网络的预测结果会倾向于,为该局部上下文的常见搭配词,例如“trouble”,“idea”,输出更高的预测概率。
为了更好地利用长程上下文的信息,在步骤22,从缓存器中读取已有的若干片段向量,所述已有的若干片段向量基于当前训练文本中第t个词之前的文本形成,且每个片段向量对应于长度为连续L个词的文本片段。换而言之,在依次处理前t-1个词的过程中,可以按照长度L形成若干文本片段,将这些文本片段的表征向量,即片段向量,存储在缓存器中,作为长程上下文的信息。
具体的,文本片段的长度L可以根据需要预先设定,例如对于较长的训练文本,可以设置较长的片段长度,例如8个词,10个词等等,对于较短的训练文本,可以设置较短的片段长度,例如2个词,3个词,等等。
如此,在处理第t个词之前的文本的过程中,前t-1个词可以按照预设的长度L形成若干文本片段mij,其中i为文本片段开始的词序号,j为文本片段结尾的词序号,i和j均小于t,且j=i+L-1。文本片段的表征向量,即片段向量,可以基于第一预测网络处理各个在前词时的状态向量而得到。
具体的,在一个实施例中,对于从第i个词到第j个词构成的文本片段mij,其片段向量基于第一状态向量和第二状态向量的差值而获得,其中,第一状态向量为第一预测网络处理第j个词后的状态向量hj,也即处理该文本片段mij的结尾词(第j个词)之后的状态向量;第二状态向量为所述第一预测网络处理第(i-1)个词后的状态向量hi-1,也即处理该文本片段mij的开始词(第i个词)之前的状态向量。
图4示出根据一个实施例确定文本片段的片段向量的示意图。在图4的例子中,以2个词为片段长度形成文本片段。对于图4中以方框示出的第12个词和第13个词形成的当前文本片段m12-13,其片段向量可以通过h13-h11而确定,其中h13为时序神经网络处理第13个词后的状态向量,h11为时序神经网络处理第11个词后(也即处理第12个词之前)的状态向量,或者说,是前一文本片段结束时的状态向量。
在另一实施例中,对于从第i个词到第j个词构成的文本片段mij,获取第一预测网络分别处理该第i个词到第j个词中各个词后的状态向量,得到L个状态向量,将该L个状态向量求和或求平均,作为文本片段mij对应的片段向量。
还可以通过其他方式得到片段向量。不过优选地,利用时序神经网络处理各个在前词时的状态向量,计算得到各个片段向量,如此,可以复用第一预测网络的处理结果,简化片段向量的计算方式。
利用以上各种的片段向量计算方式,可以在第一预测网络依次迭代处理当前训练文本的各个词的过程中,得到若干片段向量。具体的,可以设置一个以L为循环的计数器,统计第一预测网络处理的词数目。当处理的词逐个累积,计数器递增,每累积L个词,形成一个新增文本片段,计数器清零重新计数,此时计算出该新增文本片段的片段向量,将其存储在缓存器中。
相应地,对于当前处理的第t个词,可以判断该第t个词是否为当前文本片段的最后一个词。具体的,可以判断计数器的计数是否达到L。如果是当前文本片段的最后一个词,则将该当前文本片段作为新增文本片段,计算该新增文本片段的片段向量。具体的,在一个实施例中,可以根据前述第一隐向量ht和第二隐向量ht-L的差值确定新增片段向量,其中第二隐向量ht-L为第一预测网络处理第t-L个词后的状态向量。然后,将该新增片段向量添加至缓存器中。
在一个实施例中,用于存储在先文本的各个片段向量的缓存器具有有限的容量大小B,相应的,该缓存器只能存储有限数量N的片段向量。在这样的情况下,可以使得缓存器存储距离当前处理词最近的N个文本片段的片段向量。具体的,在一个实施例中,在将新增片段向量添加至缓存器时,首先判断缓存器中已有的若干片段向量的数目是否达到上述阈值数目N,如果没有达到,则直接将新增片段向量添加到缓存器;如果已有片段向量数目已达到阈值数目N,则删除其中最早存入的片段向量,并将新增片段向量存入缓存器中。
延续图3的示例。当前输入的是训练文本中的第92个词“no”。此时,缓存器中已经存储了基于第92个词之前的文本形成的多个片段向量,其中每个片段向量对应于连续的3个词形成的文本片段。距离当前词最近的文本片段为第89个词到91个词的文本片段m89-91。由于缓存器的有限容量,其中存储的最早的片段向量对应于文本片段m16-18,即第16个词到第18个词形成的文本片段。
可以看到,缓存器中存储的片段向量,可以表征距离当前词较远的文本片段,因此,这些片段向量可以作为长程上下文信息,用于辅助理解当前词的语义,进而辅助预测下一个词。
因此,在步骤23,利用第二预测网络,根据缓存器中存储的若干片段向量,确定对于下一个词的第二预测概率q。具体的,第二预测网络可以利用注意力机制,将已有的若干片段向量综合为一个上下文向量,然后基于上下文向量,确定第二预测概率q。
图5示出根据一个实施例确定第二预测概率的步骤流程。首先在步骤51,确定与若干片段向量分别对应的若干注意力系数。具体的,对于若干片段向量中任意的第i片段向量si,可以基于相似度衡量,确定其对应的注意力系数αt,i。
在一个实施例中,可以确定上述第i片段向量si与第一隐向量ht之间的相似度γt,i,该相似度可以是余弦相似度,基于欧式距离确定的相似度,等等。然后,根据该相似度γt,i,确定第i注意力系数αt,i。具体的,可以采用softmax函数,对各个片段向量对应的相似度归一化,得到对应的注意力系数。例如,第i注意力系数αt,i可以确定为:
αt,i∝exp(γt,i) (3)
在另一实施例中,对于第i片段向量si,采用以下方式确定对应的相似度。具体的,可以利用第一变换矩阵Ws,将该第i片段向量si变换为第一中间向量Wssi;并利用第二变换矩阵Wh,将第一隐向量ht变换为第二中间向量Whht;然后,确定第一中间向量和第二中间向量的和向量与第三向量v之间的相似度γt,i,即:
γt,i=vT(Whht+Wssi) (4)
其中,第一变换矩阵Ws,第二变换矩阵Wh和第三向量v均为第二预测网络中的可训练网络参数。
然后,可以根据该相似度γt,i,类似的利用公式(3),确定第i注意力系数αt,i。
接着在步骤52,以各个片段向量对应的各个注意力系数为权重因子,对前述若干片段向量加权组合,得到上下文向量ξt。
在一个例子中,可以将缓存器中存储的各个片段向量si按顺序排成一个向量序列Ct,将各个片段向量分别对应的注意力系数αt,i排成一个注意力向量αt,如此,上下文向量ξt可以表示为:
于是,在步骤53,根据上下文向量ξt和一个线性变换矩阵,得到第二预测概率q。可以理解,与第一预测概率p类似的,第二预测概率q可以包括下一个词为词库中各个词的概率分布,因此q也是一个V维向量。相应的,步骤53中使用的线性变换矩阵,用于将d维的上下文向量ξt转换或投影为V维向量。具体的,第二预测概率q可以表示为:
其中,Ot+1为针对上下文向量的线性变换矩阵。
在一个实施例中,公式(6)中针对上下文向量的线性变换矩阵,与公式(2)中针对第一隐向量的线性变换矩阵为同一矩阵。在另一实施例中,第二预测网络维护公式(6)中针对上下文向量的线性变换矩阵,该矩阵与第一预测网络在公式(2)中使用的线性变换矩阵相独立。
通过以上方式,第二预测网络根据缓存器中存储的片段向量,得到针对下一个词的第二预测概率q。如前所述,缓存区中存储的片段向量反映了长程上下文信息,因此,基于片段向量得到的第二预测概率q,可以反映基于长程上下文对下一个词的预测。
延续图3的示例。缓存器中存储了在先文本片段的片段向量,这些在先文本片段包含了距离当前词相对较远的文本片段,例如m16-18。基于这些片段向量,利用注意力机制,得到对于下一个词的第二预测概率q,该第二预测概率q更多地考虑长程上下文而做出。例如,由于文本片段m16-18中包含长程上下文“good restaurant”,第二预测概率q倾向于为该长程上下文的相关词,例如“appetite”,输出更高的预测概率。
在分别得到第一预测概率p和第二预测概率q的基础上,在图2的步骤24,以内插权重系数λ作为第二预测概率q的加权系数,以1减去λ作为第一预测概率p的加权系数,对第一预测概率和第二预测概率进行内插加权综合,得到对于下一个词的综合预测概率Pr,即:
Pr=λ*q+(1-λ)*p (7)
然后,在步骤25,至少根据上述综合预测概率Pr和当前训练文本中第t+1个词,确定针对第t个词的预测损失。
在一个实施例中,上述内插权重系数为预设的超参数,或者是可训练的模型参数。此时,可以将训练文本中真实的下一个词,即第t+1个词,作为标签,根据综合预测概率Pr与标签的比对,确定针对当前词的预测损失。例如,可以采用交叉熵损失函数,确定预测损失Loss:
Loss=-logPr(xt+1|x1:t) (8)
于是,在步骤26,根据当前训练文本中针对各个词的总预测损失,训练文本预测模型。具体的,在总预测损失减小的方向,更新第一预测网络和第二预测网络。
进一步地,发明人研究发现,对于一段文本,在多数情况下,对当前词的理解和对下一个词的预测更多地依赖于局部上下文,仅在少数情况下,依赖于长程上下文。因此,在对第一预测概率和第二预测概率进行内插综合时,优选使得,内插权重系数并不固定,而是依赖于各个词而逐词不同。
为此,如图1所示,在一个实施例中,在第一预测网络、第二预测网络的基础上,文本预测模型还进一步包括策略网络,该策略网络用于针对当前词确定其对应的内插权重系数λ。下面描述策略网络确定内插权重系数的方式,以及其训练方式。
具体的,为了针对当前第t个词确定其对应的内插权重系数λt,策略网络可以获取第一预测网络处理第t个词得到的第一隐向量ht,根据该第一隐向量ht,计算内插权重系数λt。
在一个具体实施例中,策略网络可以对上述第一隐向量ht施加策略变换矩阵Wg,得到策略向量Wght,其中,策略变换矩阵Wg为策略网络中维护的可训练的模型参数,可以是M*d维矩阵,从而将d维的第一隐向量变换为M维的策略向量,其中M为预设的维度数目。然后,可以根据M维的策略向量中预定维度的元素值,确定内插权重系数λt。例如,可以将策略向量归一化后某个维度的元素值,作为内插权重系数λt,即:
λt∝exp(Wght) (9)
例如,典型地,可以取M=2,则通过策略变换矩阵可以得到2维的策略向量。那么,可以基于该2维向量中其中一维的元素值,得到内插权重系数λt。在更为简化的例子中,可以取M=1,则策略变换矩阵Wg退化为一个向量,策略向量退化为一个数值,可以基于该数值得到内插权重系数λt。
进一步地,为了更好地调控输出的内插权重系数的大小,在策略网络中还设置训练策略系数T,该训练策略系数T可以是在训练过程中可调的超参数,更具体地可以根据各个训练文本而确定,从而更好地调整内插权重系数的输出。
在这样的情况下,可以将以上的公式(9)修改为如下的公式(10):
即,在对第一隐向量施加策略变换矩阵Wg的基础上,再除以上述训练策略系数T,得到策略向量;然后基于策略向量,得到内插权重系数λt。
通过公式(10)可以看到,训练策略系数T越小,得到的内插权重系数越大。根据公式(7)所示,内插权重系数是施加于第二预测概率的权重系数,因此,内插权重系数越大,意味着鼓励对远程上下文的利用。
因此,在一个实施例中,可以采用类似于“退火”的过程,来设置和调整上述训练策略系数。具体的,可以在训练的开始阶段,设置较大的训练策略系数T,或者说较高的温度T;然后,随着训练的进行,逐步降低训练策略系数T,或者说降低温度T。这意味着,随着训练的进行,更多地鼓励文本预测模型探索使用长程上下文。
在一个具体例子中,可以根据当前训练文本在训练样本集中的训练顺序编号,确定该训练策略系数T,使得训练策略系数T与训练顺序编号负相关。换而言之,训练顺序编号越小,越接近训练开始阶段,此时的训练策略系数T越大,温度T越高;随着训练顺序编号增大,温度降低,训练策略系数减小。
另一方面,还可以根据当前训练文本的文本总长度,来确定针对当前训练文本的训练策略系数T,具体地,可以使得训练策略系数T与文本总长度负相关。因此,针对较长的训练文本,可以设置较小的系数T,得到较大的内插权重系数,从而更多地鼓励长程上下文的使用。
通过以上多种方式,策略网络针对当前训练文本中的当前第t个词,确定出其对应的内插权重系数λt。该内插权重系数应用于上述公式(7),得到综合预测概率Pr。
延续图3的示例。在图3中,第一预测网络根据当前的第92个词的状态向量h92,即第一隐向量,得到针对第93个词的第一预测概率p;第二预测网络根据缓存器中存储的片段向量,得到第二预测概率q。策略网络根据上述第一隐向量h92,以及训练策略系数T(图中示出为“退火”温度),得到内插权重系数。于是,可以利用该内插权重系数,对第一预测概率p和第二预测概率q进行内插综合,得到综合预测概率Pr。
为了训练策略网络,需要对前述确定预测损失的方式进行修改,在确定预测损失Loss时,不仅考虑根据第一、第二预测网络得到的综合预测概率,还要考虑策略网络的输出。因此,根据一种实施方式,在前述步骤25中,根据综合预测概率和第t+1个词,以及根据第一预测概率p,第二预测概率q,和所述内插权重系数,共同确定预测损失Loss。
在一个实施例中,在结合策略网络的情况下,可以通过以下方式确定预测损失。一方面,可以根据综合预测概率Pr和第t+1个词,确定第一损失项L1,该第一损失项L1可以采用交叉熵损失的形式,如公式(8)所示。换而言之,可以将公式(8)所示的损失作为此处的第一损失项L1。
另一方面,根据内插权重系数λt,确定第二损失项L2,使得第二损失项与该内插权重系数负相关。例如,在一个例子中,可以将第二损失项设置为:
L2=-logλt (11)
在其他例子中,也可以将第二损失项L2设置为其他与负相关的形式,例如,为1/λt。
此外,根据第二预测概率q和第一预测概率p分别针对所述第t+1个词的概率值的比值,确定奖励项rt,该奖励项rt正相关于所述比值;然后,以该奖励项rt作为第二损失项L2的系数,对所述第一损失项和所述第二损失项求和,从而确定预测损失Loss。
在第二损失项采用公式(11)的形式的情况下,预测损失Loss可以表示为:
Loss=-logPr(xt+1|x1:t)-η*rt*logλt (12)
其中,η为可选的调节系数,η>0。
如公式(12)所示,损失函数表达式中的第一项对应于第一损失项,该第一损失项旨在增大正确预测下一个词的可能性。第二项为奖励项和第二损失项的乘积,旨在有条件地鼓励对长程上下文的探索和使用。
可以看到,rt*logλt在形式上非常类似于强化学习中的策略梯度。实际上,鼓励探索和使用长程上下文可以通过第二损失项L2本身来体现,因为第二损失项的较小值对应于较大的λt。然而,如前所述,事实上,仅在少数情况下需要依赖于长程上下文进行预测。因此,对长程上下文的鼓励应是有条件地进行,该条件通过奖励项rt来体现。奖励项的调节意味着,仅在第二预测网络针对正确的下一个词的预测概率显著高于第一预测网络的预测概率时,才鼓励较大的内插权重系数λt。
具体的,第二预测网络输出第二预测概率q,其中针对真实的第t+1个词(也就是正确的下一个词)的概率值为q(xt+1|x1:t);第一预测网络针对第t+1个词的概率值为p(xt+1|x1:t)。可以定义二者的比值为R:
R=q(xt+1|x1:t)/p(xt+1|x1:t)(13)
上述比值R可以反映,第二预测网络和第一预测网络针对正确的下一个词的相对预测准确性。设置奖励项rt正相关于该比值R,也就是,比值R越大,奖励项rt越大。并且,在训练过程中,正确的下一个词,即第t+1个词是已知的,因此,奖励项的大小可以明确而唯一地确定出来。因此,该奖励项又可称为固有奖励(Intrinsic Rewards)。
奖励项rt可以基于上述比值R,通过多种方式确定。
在一个具体例子中,奖励项rt通过以下方式(14)确定:
更具体的,在一个例子中,上述函数f(z)可以采用ReLU函数:
公式(14)中的κ用于以指数形式对R的作用进行放大,公式(15)中的β用于进行线性放大,这些参数可以根据需要和实践进行设置。例如,在一个例子中,κ=5,β=3。此外,公式(14)中的参数a为截断阈值,参数b为基准阈值,这些阈值也可以根据需要和实践进行设置。例如,在一个例子中,取a=10,b=1。
在其他例子中,也可以采用其他具体形式,根据上述比值R确定出奖励项rt,只要使得奖励项rt与比值R正相关。
当根据公式(12)确定预测损失时,如果要减小预测损失,在根据第一损失项增大对正确词的预测概率的基础上,还要求第二项也尽量小。为此,当第二预测网络针对下一个正确词的预测概率显著高于第一预测网络时,即上述比值R较大时,得到更大的奖励项rt,这迫使第二损失项更小,即策略网络输出更大的λt,从而达到有条件地鼓励更大的内插权重系数λt,即有条件地鼓励长程上下文的目的。
如此,在步骤25根据公式(12)的损失函数确定出预测损失后,在步骤26,根据各个词的总预测损失对文本预测模型进行训练,即在总预测损失减小的方向,调整第一预测网络、第二预测网络以及策略网络中的模型参数,实现上述训练目标。
回顾以上过程,根据本说明书实施例的文本预测模型,在利用基于时序的第一预测网络针对下一个词进行预测的基础上,还利用缓存器存储在先文本片段的片段向量作为长程上下文信息,并利用第二预测网络基于该长程上下文进行预测。在对第一预测网络和第二预测网络的预测结果进行内插综合时,可以利用策略网络,针对当前词生成内插权重系数。在对上述文本预测模型进行训练时,通过在损失函数中引入奖励项和内插权重系数,有条件地鼓励对长程上下文的探索和利用,从而进一步提高预测准确性。
根据另一方面的实施例,提供了一种文本预测模型的训练装置,所述文本预测模型包括基于时序的第一预测网络,和第二预测网络,该训练装置可以部署在任何具有计算、处理能力的设备、平台或设备集群中。图6示出根据一个实施例的文本预测模型的训练装置的示意性框图。如图6所示,该训练装置600包括:
第一预测单元61,配置为在依次输入当前训练文本中的前t-1个词之后,将第t个词输入所述第一预测网络,使得所述第一预测网络根据处理第t-1个词后的状态向量,以及所述第t个词的词向量,确定处理第t个词后的状态向量作为第一隐向量;并根据该第一隐向量,确定对于下一个词的第一预测概率;
读取单元62,配置为从缓存器中读取已有的若干片段向量,所述已有的若干片段向量基于所述当前训练文本中所述第t个词之前的文本形成,且每个片段向量对应于长度为L个词的文本片段;
第二预测单元63,配置为使得所述第二预测网络根据所述若干片段向量,确定对于下一个词的第二预测概率;
综合单元64,配置为以内插权重系数作为所述第二预测概率的加权系数,以1减去所述内插权重系数的差值作为所述第一预测概率的加权系数,对所述第一预测概率和第二预测概率进行内插加权综合,得到对于下一个词的综合预测概率;
损失确定单元65,配置为至少根据所述综合预测概率和所述训练文本中第t+1个词,确定针对第t个词的预测损失;
训练单元66,配置为根据所述当前训练文本中针对各个词的预测损失,训练所述文本预测模型。
在一个实施例中,所述第一预测网络包括循环神经网络RNN或长短期记忆网络LSTM。
根据一个实施例,缓存器中存储的若干片段向量包括任意的第一文本片段对应的第一片段向量,所述第一文本片段包括所述当前训练文本的第i个词到第j个词,其中i和j均小于t,所述第一片段向量基于第一状态向量和第二状态向量的差值而获得,其中所述第一状态向量为所述第一预测网络处理所述第j个词后的状态向量,所述第二状态向量为所述第一预测网络处理第(i-1)个词后的状态向量。
根据一个实施例,装置600还包括存储单元(未示出),配置为:若所述第t个词为当前文本片段的最后一个词,则根据所述第一隐向量和第二隐向量的差值确定新增片段向量,其中第二隐向量为所述第一预测网络处理第t-L个词后的状态向量;将所述新增片段向量添加至所述缓存器。
在一个实施例中,缓存器具有有限存储容量,在这样的情况下,所述存储单元进一步配置为:判断所述缓存器中已有的若干片段向量的数目是否达到预定阈值数目;如果达到所述预定阈值数目,则删除其中最早存入的片段向量,并将所述新增片段向量存入所述缓存器。
根据一种实施方式,所述第二预测网络通过以下方式得到第二预测概率:
确定与所述若干片段向量分别对应的若干注意力系数;
以所述若干注意力系数为权重因子,对所述若干片段向量加权组合,得到上下文向量;
根据所述上下文向量和线性变换矩阵,得到所述第二预测概率。
在一个实施例中,所述第一预测网络在确定第一预测概率时,根据所述第一隐向量和与上述第二预测网络相同的线性变换矩阵,得到所述第一预测概率。
在一个更具体的实施例中,第二预测网络通过以下方式确定注意力系数:根据所述若干片段向量中任意的第i片段向量与所述第一隐向量之间的相似度,确定第i注意力系数。
在另一个更具体的实施例中,第二预测网络通过以下方式确定注意力系数:利用第一变换矩阵,将所述若干片段向量中任意的第i片段向量变换为第一中间向量;利用第二变换矩阵,将所述第一隐向量变换为第二中间向量;确定第一中间向量和第二中间向量的和向量与第三向量之间的相似度;根据所述相似度,确定第i注意力系数;其中,所述第一变换矩阵,第二变换矩阵和第三向量均为所述第二预测网络中的可训练网络参数。
根据一种实施方式,文本预测模型还包括策略网络,用于根据所述第一隐向量,输出所述内插权重系数;在这样的情况下,所述损失确定单元65进一步配置为,根据所述综合预测概率,所述第t+1个词,所述第一预测概率和第二预测概率,以及所述内插权重系数,确定所述预测损失。
在一个实施例中,所述策略网络通过以下方式确定所述内插权重系数:对所述第一隐向量至少施加策略变换矩阵,得到策略向量,其中所述策略变换矩阵为所述策略网络中可训练的模型参数;根据所述策略向量中预定维度的元素值,确定所述内插权重系数。
在一个进一步的实施例中,策略网络通过以下方式得到策略向量:根据所述当前训练文本,确定训练策略系数;对所述第一隐向量施加所述策略变换矩阵,并除以所述训练策略系数,得到所述策略向量。
更进一步的,在一个例子中,所述策略网络确定训练策略系数具体包括:根据所述当前训练文本在训练样本集中的训练顺序编号,确定所述训练策略系数,使得所述训练策略系数与所述训练顺序编号负相关。
在另一例子中,所述策略网络确定训练策略系数具体包括:根据所述当前训练文本的文本总长度,确定所述训练策略系数,使得所述训练策略系数与所述文本总长度负相关。
在一个实施例中,所述损失确定单元65具体配置为:
根据所述综合预测概率和所述第t+1个词,确定第一损失项;
根据所述内插权重系数,确定第二损失项,其中所述第二损失项与所述内插权重系数负相关;
根据所述第二预测概率和第一预测概率分别针对所述第t+1个词的概率值的比值,确定所述奖励项,所述奖励项正相关于所述比值;
以所述奖励项作为所述第二损失项的系数,对所述第一损失项和所述第二损失项求和,从而确定所述预测损失。
通过以上装置,实现对文本预测模型的训练。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (32)
1.一种文本预测模型的训练方法,所述文本预测模型包括基于时序的第一预测网络,和第二预测网络,所述方法包括:
在依次输入当前训练文本中的前t-1个词之后,将第t个词输入所述第一预测网络,使得所述第一预测网络根据处理第t-1个词后的状态向量,以及所述第t个词的词向量,确定处理第t个词后的状态向量作为第一隐向量;并根据该第一隐向量,确定对于下一个词的第一预测概率;
从缓存器中读取已有的若干片段向量,所述已有的若干片段向量基于所述当前训练文本中所述第t个词之前的文本形成,且每个片段向量对应于长度为L个词的文本片段;
所述第二预测网络根据所述若干片段向量,确定对于下一个词的第二预测概率;
以内插权重系数作为所述第二预测概率的加权系数,以1减去所述内插权重系数的差值作为所述第一预测概率的加权系数,对所述第一预测概率和第二预测概率进行内插加权综合,得到对于下一个词的综合预测概率;
至少根据所述综合预测概率和所述训练文本中第t+1个词,确定针对第t个词的预测损失;
根据所述当前训练文本中针对各个词的预测损失,训练所述文本预测模型。
2.根据权利要求1所述的方法,其中,所述第一预测网络包括循环神经网络RNN或长短期记忆网络LSTM。
3.根据权利要求1所述的方法,其中,所述若干片段向量包括第一文本片段对应的第一片段向量,所述第一文本片段包括所述当前训练文本的第i个词到第j个词,其中i和j均小于t,所述第一片段向量基于第一状态向量和第二状态向量的差值而获得,其中所述第一状态向量为所述第一预测网络处理所述第j个词后的状态向量,所述第二状态向量为所述第一预测网络处理第(i-1)个词后的状态向量。
4.根据权利要求1或3所述的方法,还包括,
若所述第t个词为当前文本片段的最后一个词,则根据所述第一隐向量和第二隐向量的差值确定新增片段向量,其中第二隐向量为所述第一预测网络处理第t-L个词后的状态向量;
将所述新增片段向量添加至所述缓存器。
5.根据权利要求4所述的方法,其中,将所述新增片段向量添加至所述缓存器,包括:
判断所述缓存器中已有的若干片段向量的数目是否达到预定阈值数目;
如果达到所述预定阈值数目,则删除其中最早存入的片段向量,并将所述新增片段向量存入所述缓存器。
6.根据权利要求1所述的方法,其中,所述第二预测网络根据所述若干片段向量,确定对于下一个词的第二预测概率,包括:
确定与所述若干片段向量分别对应的若干注意力系数;
以所述若干注意力系数为权重因子,对所述若干片段向量加权组合,得到上下文向量;
根据所述上下文向量和线性变换矩阵,得到所述第二预测概率。
7.根据权利要求6所述的方法,其中,根据该第一隐向量,确定对于下一个词的第一预测概率,包括:
根据所述第一隐向量和所述线性变换矩阵,得到所述第一预测概率。
8.根据权利要求6所述的方法,其中,确定与所述若干片段向量分别对应的若干注意力系数,包括:
根据所述若干片段向量中任意的第i片段向量与所述第一隐向量之间的相似度,确定第i注意力系数。
9.根据权利要求6所述的方法,其中,确定与所述若干片段向量分别对应的若干注意力系数,包括:
利用第一变换矩阵,将所述若干片段向量中任意的第i片段向量变换为第一中间向量;
利用第二变换矩阵,将所述第一隐向量变换为第二中间向量;
确定第一中间向量和第二中间向量的和向量与第三向量之间的相似度;
根据所述相似度,确定第i注意力系数;
其中,所述第一变换矩阵,第二变换矩阵和第三向量均为所述第二预测网络中的可训练网络参数。
10.根据权利要求1所述的方法,其中,所述文本预测模型还包括策略网络;在对所述第一预测概率和第二预测概率进行内插加权综合之前,所述方法还包括:
所述策略网络根据所述第一隐向量,输出所述内插权重系数;
至少根据所述综合预测概率和所述训练文本中第t+1个词,确定预测损失,包括:根据所述综合预测概率,所述第t+1个词,所述第一预测概率和第二预测概率,以及所述内插权重系数,确定所述预测损失。
11.根据权利要求10所述的方法,其中,所述策略网络根据所述第一隐向量,输出所述内插权重系数,包括:
对所述第一隐向量至少施加策略变换矩阵,得到策略向量,其中所述策略变换矩阵为所述策略网络中可训练的模型参数;
根据所述策略向量中预定维度的元素值,确定所述内插权重系数。
12.根据权利要求11所述的方法,其中,对所述第一隐向量至少施加策略变换矩阵,得到策略向量,包括:
根据所述当前训练文本,确定训练策略系数;
对所述第一隐向量施加所述策略变换矩阵,并除以所述训练策略系数,得到所述策略向量。
13.根据权利要求12所述的方法,其中,根据所述当前训练文本,确定训练策略系数,包括:
根据所述当前训练文本在训练样本集中的训练顺序编号,确定所述训练策略系数,使得所述训练策略系数与所述训练顺序编号负相关。
14.根据权利要求12所述的方法,其中,根据所述当前训练文本,确定训练策略系数,包括:
根据所述当前训练文本的文本总长度,确定所述训练策略系数,使得所述训练策略系数与所述文本总长度负相关。
15.根据权利要求10所述的方法,其中,根据所述第一预测概率,第二预测概率,所述综合预测概率,所述第t+1个词,以及所述内插权重系数,确定所述预测损失,包括:
根据所述综合预测概率和所述第t+1个词,确定第一损失项;
根据所述内插权重系数,确定第二损失项,其中所述第二损失项与所述内插权重系数负相关;
根据所述第二预测概率和第一预测概率分别针对所述第t+1个词的概率值的比值,确定所述奖励项,所述奖励项正相关于所述比值;
以所述奖励项作为所述第二损失项的系数,对所述第一损失项和所述第二损失项求和,从而确定所述预测损失。
16.一种文本预测模型的训练装置,所述文本预测模型包括基于时序的第一预测网络,和第二预测网络,所述装置包括:
第一预测单元,配置为在依次输入当前训练文本中的前t-1个词之后,将第t个词输入所述第一预测网络,使得所述第一预测网络根据处理第t-1个词后的状态向量,以及所述第t个词的词向量,确定处理第t个词后的状态向量作为第一隐向量;并根据该第一隐向量,确定对于下一个词的第一预测概率;
读取单元,配置为从缓存器中读取已有的若干片段向量,所述已有的若干片段向量基于所述当前训练文本中所述第t个词之前的文本形成,且每个片段向量对应于长度为L个词的文本片段;
第二预测单元,配置为使得所述第二预测网络根据所述若干片段向量,确定对于下一个词的第二预测概率;
综合单元,配置为以内插权重系数作为所述第二预测概率的加权系数,以1减去所述内插权重系数的差值作为所述第一预测概率的加权系数,对所述第一预测概率和第二预测概率进行内插加权综合,得到对于下一个词的综合预测概率;
损失确定单元,配置为至少根据所述综合预测概率和所述训练文本中第t+1个词,确定针对第t个词的预测损失;
训练单元,配置为根据所述当前训练文本中针对各个词的预测损失,训练所述文本预测模型。
17.根据权利要求16所述的装置,其中,所述第一预测网络包括循环神经网络RNN或长短期记忆网络LSTM。
18.根据权利要求16所述的装置,其中,所述若干片段向量包括第一文本片段对应的第一片段向量,所述第一文本片段包括所述当前训练文本的第i个词到第j个词,其中i和j均小于t,所述第一片段向量基于第一状态向量和第二状态向量的差值而获得,其中所述第一状态向量为所述第一预测网络处理所述第j个词后的状态向量,所述第二状态向量为所述第一预测网络处理第(i-1)个词后的状态向量。
19.根据权利要求16或18所述的装置,还包括存储单元,配置为:
若所述第t个词为当前文本片段的最后一个词,则根据所述第一隐向量和第二隐向量的差值确定新增片段向量,其中第二隐向量为所述第一预测网络处理第t-L个词后的状态向量;
将所述新增片段向量添加至所述缓存器。
20.根据权利要求19所述的装置,其中,所述存储单元进一步配置为:
判断所述缓存器中已有的若干片段向量的数目是否达到预定阈值数目;
如果达到所述预定阈值数目,则删除其中最早存入的片段向量,并将所述新增片段向量存入所述缓存器。
21.根据权利要求16所述的装置,其中,所述第二预测网络具体用于:
确定与所述若干片段向量分别对应的若干注意力系数;
以所述若干注意力系数为权重因子,对所述若干片段向量加权组合,得到上下文向量;
根据所述上下文向量和线性变换矩阵,得到所述第二预测概率。
22.根据权利要求21所述的装置法,其中,所述第一预测网络具体用于:
根据所述第一隐向量和所述线性变换矩阵,得到所述第一预测概率。
23.根据权利要求21所述的装置,其中,所述第二预测网络具体用于:
根据所述若干片段向量中任意的第i片段向量与所述第一隐向量之间的相似度,确定第i注意力系数。
24.根据权利要求21所述的装置,其中,所述第二预测网络具体用于:
利用第一变换矩阵,将所述若干片段向量中任意的第i片段向量变换为第一中间向量;
利用第二变换矩阵,将所述第一隐向量变换为第二中间向量;
确定第一中间向量和第二中间向量的和向量与第三向量之间的相似度;
根据所述相似度,确定第i注意力系数;
其中,所述第一变换矩阵,第二变换矩阵和第三向量均为所述第二预测网络中的可训练网络参数。
25.根据权利要求16所述的装置,其中,所述文本预测模型还包括策略网络,用于根据所述第一隐向量,输出所述内插权重系数;
所述损失确定单元配置为,根据所述综合预测概率,所述第t+1个词,所述第一预测概率和第二预测概率,以及所述内插权重系数,确定所述预测损失。
26.根据权利要求25所述的装置,其中,所述策略网络具体用于:
对所述第一隐向量至少施加策略变换矩阵,得到策略向量,其中所述策略变换矩阵为所述策略网络中可训练的模型参数;
根据所述策略向量中预定维度的元素值,确定所述内插权重系数。
27.根据权利要求26所述的装置,其中,所述策略网络得到所述策略向量具体包括:
根据所述当前训练文本,确定训练策略系数;
对所述第一隐向量施加所述策略变换矩阵,并除以所述训练策略系数,得到所述策略向量。
28.根据权利要求27所述的装置,其中,所述策略网络确定训练策略系数具体包括:
根据所述当前训练文本在训练样本集中的训练顺序编号,确定所述训练策略系数,使得所述训练策略系数与所述训练顺序编号负相关。
29.根据权利要求27所述的装置,其中,所述策略网络确定训练策略系数具体包括:
根据所述当前训练文本的文本总长度,确定所述训练策略系数,使得所述训练策略系数与所述文本总长度负相关。
30.根据权利要求25所述的装置,其中,所述损失确定单元配置为:
根据所述综合预测概率和所述第t+1个词,确定第一损失项;
根据所述内插权重系数,确定第二损失项,其中所述第二损失项与所述内插权重系数负相关;
根据所述第二预测概率和第一预测概率分别针对所述第t+1个词的概率值的比值,确定所述奖励项,所述奖励项正相关于所述比值;
以所述奖励项作为所述第二损失项的系数,对所述第一损失项和所述第二损失项求和,从而确定所述预测损失。
31.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-15中任一项的所述的方法。
32.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-15中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010081187.8A CN111274789B (zh) | 2020-02-06 | 2020-02-06 | 文本预测模型的训练方法及装置 |
PCT/CN2020/132617 WO2021155705A1 (zh) | 2020-02-06 | 2020-11-30 | 文本预测模型的训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010081187.8A CN111274789B (zh) | 2020-02-06 | 2020-02-06 | 文本预测模型的训练方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111274789A true CN111274789A (zh) | 2020-06-12 |
CN111274789B CN111274789B (zh) | 2021-07-06 |
Family
ID=71000235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010081187.8A Active CN111274789B (zh) | 2020-02-06 | 2020-02-06 | 文本预测模型的训练方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111274789B (zh) |
WO (1) | WO2021155705A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597819A (zh) * | 2020-05-08 | 2020-08-28 | 河海大学 | 一种基于关键词的大坝缺陷图像描述文本生成方法 |
CN111767708A (zh) * | 2020-07-09 | 2020-10-13 | 北京猿力未来科技有限公司 | 解题模型的训练方法及装置、解题公式生成方法及装置 |
CN113095040A (zh) * | 2021-04-16 | 2021-07-09 | 支付宝(杭州)信息技术有限公司 | 一种编码网络的训练方法、文本编码方法和*** |
WO2021155705A1 (zh) * | 2020-02-06 | 2021-08-12 | 支付宝(杭州)信息技术有限公司 | 文本预测模型的训练方法及装置 |
CN113297828A (zh) * | 2020-07-22 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种文本生成方法、装置、计算机设备及存储介质 |
CN116861258A (zh) * | 2023-08-31 | 2023-10-10 | 腾讯科技(深圳)有限公司 | 模型处理方法、装置、设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116362418B (zh) * | 2023-05-29 | 2023-08-22 | 天能电池集团股份有限公司 | 一种高端电池智能工厂应用级制造能力在线预测方法 |
CN117540326B (zh) * | 2024-01-09 | 2024-04-12 | 深圳大学 | 钻爆法隧道施工装备的施工状态异常辨识方法及*** |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1610346A (zh) * | 2003-10-20 | 2005-04-27 | 国际商业机器公司 | 提供对话定位并且能够进行会话式通信的***和方法 |
WO2017030006A1 (en) * | 2015-08-17 | 2017-02-23 | Mitsubishi Electric Corporation | Spoken language understanding system |
CN107408107A (zh) * | 2014-10-16 | 2017-11-28 | 触摸式有限公司 | 文本预测整合 |
CN108984745A (zh) * | 2018-07-16 | 2018-12-11 | 福州大学 | 一种融合多知识图谱的神经网络文本分类方法 |
CN109597997A (zh) * | 2018-12-07 | 2019-04-09 | 上海宏原信息科技有限公司 | 基于评论实体、方面级情感分类方法和装置及其模型训练 |
CN109858031A (zh) * | 2019-02-14 | 2019-06-07 | 北京小米智能科技有限公司 | 神经网络模型训练、上下文预测方法及装置 |
CN109992771A (zh) * | 2019-03-13 | 2019-07-09 | 北京三快在线科技有限公司 | 一种文本生成的方法及装置 |
CN110032630A (zh) * | 2019-03-12 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 话术推荐设备、方法及模型训练设备 |
CN110059262A (zh) * | 2019-04-19 | 2019-07-26 | 武汉大学 | 一种基于混合神经网络的项目推荐模型的构建方法及装置、项目推荐方法 |
CN110096698A (zh) * | 2019-03-20 | 2019-08-06 | 中国地质大学(武汉) | 一种考虑主题的机器阅读理解模型生成方法与*** |
CN110413753A (zh) * | 2019-07-22 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 问答样本的扩展方法及装置 |
CN110427466A (zh) * | 2019-06-12 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 用于问答匹配的神经网络模型的训练方法和装置 |
CN110442723A (zh) * | 2019-08-14 | 2019-11-12 | 山东大学 | 一种基于多步判别的Co-Attention模型用于多标签文本分类的方法 |
US20200004822A1 (en) * | 2018-06-30 | 2020-01-02 | Wipro Limited | Method and device for extracting attributes associated with centre of interest from natural language sentences |
US20200012923A1 (en) * | 2016-10-06 | 2020-01-09 | Siemens Aktiengesellschaft | Computer device for training a deep neural network |
CN110705294A (zh) * | 2019-09-11 | 2020-01-17 | 苏宁云计算有限公司 | 命名实体识别模型训练方法、命名实体识别方法及装置 |
CN110704890A (zh) * | 2019-08-12 | 2020-01-17 | 上海大学 | 一种融合卷积神经网络和循环神经网络的文本因果关系自动抽取方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8498864B1 (en) * | 2012-09-27 | 2013-07-30 | Google Inc. | Methods and systems for predicting a text |
CN105279552B (zh) * | 2014-06-18 | 2018-06-22 | 清华大学 | 一种基于字的神经网络的训练方法和装置 |
US20190354850A1 (en) * | 2018-05-17 | 2019-11-21 | International Business Machines Corporation | Identifying transfer models for machine learning tasks |
CN108984526B (zh) * | 2018-07-10 | 2021-05-07 | 北京理工大学 | 一种基于深度学习的文档主题向量抽取方法 |
CN110457674B (zh) * | 2019-06-25 | 2021-05-14 | 西安电子科技大学 | 一种主题指导的文本预测方法 |
CN111274789B (zh) * | 2020-02-06 | 2021-07-06 | 支付宝(杭州)信息技术有限公司 | 文本预测模型的训练方法及装置 |
-
2020
- 2020-02-06 CN CN202010081187.8A patent/CN111274789B/zh active Active
- 2020-11-30 WO PCT/CN2020/132617 patent/WO2021155705A1/zh active Application Filing
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1610346A (zh) * | 2003-10-20 | 2005-04-27 | 国际商业机器公司 | 提供对话定位并且能够进行会话式通信的***和方法 |
CN107408107A (zh) * | 2014-10-16 | 2017-11-28 | 触摸式有限公司 | 文本预测整合 |
WO2017030006A1 (en) * | 2015-08-17 | 2017-02-23 | Mitsubishi Electric Corporation | Spoken language understanding system |
US20200012923A1 (en) * | 2016-10-06 | 2020-01-09 | Siemens Aktiengesellschaft | Computer device for training a deep neural network |
US20200004822A1 (en) * | 2018-06-30 | 2020-01-02 | Wipro Limited | Method and device for extracting attributes associated with centre of interest from natural language sentences |
CN108984745A (zh) * | 2018-07-16 | 2018-12-11 | 福州大学 | 一种融合多知识图谱的神经网络文本分类方法 |
CN109597997A (zh) * | 2018-12-07 | 2019-04-09 | 上海宏原信息科技有限公司 | 基于评论实体、方面级情感分类方法和装置及其模型训练 |
CN109858031A (zh) * | 2019-02-14 | 2019-06-07 | 北京小米智能科技有限公司 | 神经网络模型训练、上下文预测方法及装置 |
CN110032630A (zh) * | 2019-03-12 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 话术推荐设备、方法及模型训练设备 |
CN109992771A (zh) * | 2019-03-13 | 2019-07-09 | 北京三快在线科技有限公司 | 一种文本生成的方法及装置 |
CN110096698A (zh) * | 2019-03-20 | 2019-08-06 | 中国地质大学(武汉) | 一种考虑主题的机器阅读理解模型生成方法与*** |
CN110059262A (zh) * | 2019-04-19 | 2019-07-26 | 武汉大学 | 一种基于混合神经网络的项目推荐模型的构建方法及装置、项目推荐方法 |
CN110427466A (zh) * | 2019-06-12 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 用于问答匹配的神经网络模型的训练方法和装置 |
CN110413753A (zh) * | 2019-07-22 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 问答样本的扩展方法及装置 |
CN110704890A (zh) * | 2019-08-12 | 2020-01-17 | 上海大学 | 一种融合卷积神经网络和循环神经网络的文本因果关系自动抽取方法 |
CN110442723A (zh) * | 2019-08-14 | 2019-11-12 | 山东大学 | 一种基于多步判别的Co-Attention模型用于多标签文本分类的方法 |
CN110705294A (zh) * | 2019-09-11 | 2020-01-17 | 苏宁云计算有限公司 | 命名实体识别模型训练方法、命名实体识别方法及装置 |
Non-Patent Citations (4)
Title |
---|
KAZUKI IRIE; ALBERT ZEYER; RALF SCHLÜTER; HERMANN NEY: "Training Language Models for Long-Span Cross-Sentence Evaluation", 《 2019 IEEE AUTOMATIC SPEECH RECOGNITION AND UNDERSTANDING WORKSHOP (ASRU)》 * |
WENYI HUANGY, ZHAOHUIWUZ, CHEN LIANGY, PRASENJIT MITRAYZ, C. LEE: "A Neural Probabilistic Model for Context Based Citation Recommendation", 《PROCEEDINGS OF THE TWENTY-NINTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE》 * |
卢敏: "具有自然分组特性文本的分类研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
机器之心: "苹果发文:全局语义信息能否改进神经语言模型", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/46868127》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021155705A1 (zh) * | 2020-02-06 | 2021-08-12 | 支付宝(杭州)信息技术有限公司 | 文本预测模型的训练方法及装置 |
CN111597819A (zh) * | 2020-05-08 | 2020-08-28 | 河海大学 | 一种基于关键词的大坝缺陷图像描述文本生成方法 |
CN111597819B (zh) * | 2020-05-08 | 2021-01-26 | 河海大学 | 一种基于关键词的大坝缺陷图像描述文本生成方法 |
CN111767708A (zh) * | 2020-07-09 | 2020-10-13 | 北京猿力未来科技有限公司 | 解题模型的训练方法及装置、解题公式生成方法及装置 |
CN113297828A (zh) * | 2020-07-22 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种文本生成方法、装置、计算机设备及存储介质 |
CN113095040A (zh) * | 2021-04-16 | 2021-07-09 | 支付宝(杭州)信息技术有限公司 | 一种编码网络的训练方法、文本编码方法和*** |
CN116861258A (zh) * | 2023-08-31 | 2023-10-10 | 腾讯科技(深圳)有限公司 | 模型处理方法、装置、设备及存储介质 |
CN116861258B (zh) * | 2023-08-31 | 2023-12-01 | 腾讯科技(深圳)有限公司 | 模型处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021155705A1 (zh) | 2021-08-12 |
CN111274789B (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111274789B (zh) | 文本预测模型的训练方法及装置 | |
CN111291183B (zh) | 利用文本分类模型进行分类预测的方法及装置 | |
US10762891B2 (en) | Binary and multi-class classification systems and methods using connectionist temporal classification | |
JP6741357B2 (ja) | マルチ関連ラベルを生成する方法及びシステム | |
US10720151B2 (en) | End-to-end neural networks for speech recognition and classification | |
Jung et al. | Adaptive detrending to accelerate convolutional gated recurrent unit training for contextual video recognition | |
US10902311B2 (en) | Regularization of neural networks | |
JP2021093150A (ja) | 混合時間ドメイン適応による動画アクション・セグメンテーション | |
US20200134455A1 (en) | Apparatus and method for training deep learning model | |
CN115794999B (zh) | 一种基于扩散模型的专利文档查询方法及计算机设备 | |
Peng et al. | BDNN: Binary convolution neural networks for fast object detection | |
KR20220130565A (ko) | 키워드 검출 방법 및 장치 | |
WO2024007619A1 (zh) | 解码器的训练方法、目标检测方法、装置以及存储介质 | |
CN111784595A (zh) | 一种基于历史记录的动态标签平滑加权损失方法及装置 | |
CN113396429A (zh) | 递归机器学习架构的正则化 | |
CN112668317A (zh) | 用于确定输出词法单元的方法和设备 | |
US11087213B2 (en) | Binary and multi-class classification systems and methods using one spike connectionist temporal classification | |
CN113850362A (zh) | 一种模型蒸馏方法及相关设备 | |
CN110717027B (zh) | 多轮智能问答方法、***以及控制器和介质 | |
CN116341558A (zh) | 一种基于多层级图神经网络的多模态情感识别方法及模型 | |
KR20190036672A (ko) | 게이티드 순환 신경망 디트렌딩방법, 디트렌딩 장치 및 기록매체 | |
CN111428519B (zh) | 一种基于熵的神经机器翻译动态解码方法及*** | |
EP4195109A1 (en) | Online time-series classification with retrospective self-training | |
CN111259673A (zh) | 一种基于反馈序列多任务学习的法律判决预测方法及*** | |
Teplyakov et al. | Training of neural network-based cascade classifiers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |