摘要文本生成方法、装置和计算机设备与流程

文档序号:15213230发布日期:2018-08-21 15:32阅读:171来源:国知局

本申请涉及计算机技术领域,特别是涉及一种摘要文本生成方法、装置和计算机设备。



背景技术:

自动摘要文本在许多nlp(naturallanguageprocessing,自然语言处理)领域中有着非常重要的应用。如新闻标题生成、会议纪要、社交短文本的话题生成、智能客服任务等等。如何生成可读性强的摘要文本变成了炙手可热的研究课题。

目前,为了自动生成摘要文本,通常采用的是将文本序列输入基于rnn(recurrentneuralnetworks,循环神经网络)的机器学习模型,经过计算或变换后输出得到摘要文本序列。然而,这种方式生成的摘要文本存在可读性差的问题。



技术实现要素:

基于此,有必要针对目前采用的方式所生成的摘要文本可读性差的问题,提供一种摘要文本生成方法、装置、计算机可读存储介质和计算机设备。

一种摘要文本生成方法,包括:

获取原始文本的词序列;

通过预训练的机器学习模型中第一通道的编码器,对所述词序列进行语义相关编码,得到所述词序列中各词对应的语义编码向量;

通过所述机器学习模型中第二通道的编码器,对所述词序列进行主题相关编码,得到所述词序列中各词对应的主题编码向量;

通过所述第一通道的解码器,根据所述机器学习模型前一时刻所输出摘要词的词向量对所述语义编码向量解码,得到当前时刻的第一隐层状态向量;

通过所述第二通道的解码器,根据所述机器学习模型前一时刻所输出摘要词的词向量对所述主题编码向量解码,得到当前时刻的第二隐层状态向量;

根据当前时刻的第一隐层状态向量和第二隐层状态向量,确定所述机器学习模型当前时刻输出的摘要词;

根据所述机器学习模型所输出的各摘要词生成摘要文本。

一种摘要文本生成装置,包括:

获取模块,用于获取原始文本的词序列;

第一编码模块,用于通过预训练的机器学习模型中第一通道的编码器,对所述词序列进行语义相关编码,得到所述词序列中各词对应的语义编码向量;

第二编码模块,用于通过所述机器学习模型中第二通道的编码器,对所述词序列进行主题相关编码,得到所述词序列中各词对应的主题编码向量;

第一解码模块,用于通过所述第一通道的解码器,根据所述机器学习模型前一时刻所输出摘要词的词向量对所述语义编码向量解码,得到当前时刻的第一隐层状态向量;

第二解码模块,用于通过所述第二通道的解码器,根据所述机器学习模型前一时刻所输出摘要词的词向量对所述主题编码向量解码,得到当前时刻的第二隐层状态向量;

确定模块,用于根据当前时刻的第一隐层状态向量和第二隐层状态向量,确定所述机器学习模型当前时刻输出的摘要词;

生成模块,根据所述机器学习模型所输出的各摘要词生成摘要文本。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述摘要文本生成方法的步骤。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述摘要文本生成方法的步骤。

上述摘要文本生成方法、装置、计算机设备和计算机可读存储介质,采用的机器学习模型是基于双通道的编码器-解码器结构。其中,第一通道的编码器对原始文本的词序列进行语义相关编码,实现了对原始文本的语义特征提取;第二通道的编码器对原始文本的词序列进行主题相关编码,引入了原始文本的主题信息特征。这样,通过第一通道的解码器根据前一时刻所输出摘要词的词向量对词序列中各个词对应的语义编码向量解码,得到的当前时刻的第一隐层状态向量就包含了词序列中各个词的语义信息;通过第二通道的解码器根据前一时刻所输出摘要词的词向量对词序列中各个词对应的主题编码向量解码,得到的当前时刻的第二隐层状态向量就包含了词序列中各个词的主题信息。从而,根据当前时刻的第一隐层状态向量和第二隐层状态向量确定的当前时刻输出的摘要词不仅基于原始文本的语义信息,还引入了主题信息,使得依据该机器学习模型输出的各摘要词生成的摘要文本可读性得到了极大提升。

附图说明

图1为一个实施例中摘要文本生成方法的应用环境图;

图2为一个实施例中摘要文本生成方法的流程示意图;

图3为一个实施例中通过第一通道的解码器,根据机器学习模型前一时刻所输出摘要词的词向量对语义编码向量解码,得到当前时刻的第一隐层状态向量的流程示意图;

图4为一个实施例中通过第二通道的解码器,根据机器学习模型前一时刻所输出摘要词的词向量对主题编码向量解码,得到当前时刻的第二隐层状态向量的流程示意图;

图5为一个实施例中将获取的第一隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和语义编码向量输入至第一通道的解码器的隐层中的流程示意图;

图6为一个实施例中将获取的第二隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和主题编码向量输入至第二通道的解码器的隐层中的流程示意图;

图7为另一个实施例中将获取的第二隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和主题编码向量输入至第二通道的解码器的隐层中的流程示意图;

图8为一个实施例中摘要文本生成方法所采用的机器学习模型的框架示意图;

图9为一个实施例中对机器学习模型进行训练的步骤的流程示意图;

图10为一个具体的实施例中摘要文本生成方法的流程示意图;

图11为一个实施例中摘要文本生成装置的结构框图;

图12为一个实施例中计算机设备的结构框图。

具体实施方式

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

图1为一个实施例中摘要文本生成方法的应用环境图。参照图1,该摘要文本生成方法应用于摘要文本生成系统。该摘要文本生成系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

如图2所示,在一个实施例中,提供了一种摘要文本生成方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明。参照图2,该摘要文本生成方法具体包括如下步骤:

s202,获取原始文本的词序列。

其中,原始文本的词序列,可以是对原始文本进行分词处理后得到的各个词所形成的序列。原始文本可以是新闻中的文本,可以是会议纪要中的文本,还可以是社交应用的会话文本等。原始文本可以是中文文本,也可以是英文文本。对于原始文本为中文文本的分词处理,可采用基于词典或基于统计的分词方式。对于原始文本为英文文本的分词处理,可以根据空格拆分单词。

具体地,服务器可直接获取原始文本,对原始文本进行分词处理,得到相应的词序列。服务器也可接收由预处理服务器根据原始文本生成的词序列,通过预训练的机器学习模型的输入层,对接收的词序列进行下一步处理。

s204,通过预训练的机器学习模型中第一通道的编码器,对词序列进行语义相关编码,得到词序列中各词对应的语义编码向量。

其中,预训练的机器学习模型采用基于神经网络的sequence-to-sequence(序列-序列)框架。sequence-to-sequence框架是包含encoder-decoder(编码器-解码器)结构的框架。encoder-decoder结构将输入序列转换为另一个序列输出。在该框架中,编码器将输入序列转化成向量,解码器则接受向量并按时间顺序依次生成输出序列。编码器以及解码器可以采用相同类型的神经网络模型,也可以是不同类型的神经网络模型。比如,编码器以及解码器可以均为cnn(convolutionalneuralnetworks,卷积神经网络)模型,或者编码器采用rnn(recurrentneuralnetworks)模型、解码器采用cnn模型。具体地,预训练的机器学习模型采用双通道的基于cnn模型的sequence-to-sequence框架(convolutionalsequence-to-sequence,convs2s)。

在一个实施例中,第一通道的编码器用于将原始文本的词序列转换为语义编码向量,解码器则将语义编码向量转化成第一隐层状态向量;第二通道的编码器用于将原始文本的词序列转换为主题编码向量,解码器则将主题编码向量转化成第二隐层状态向量;预训练的机器学习模型的输出层就可以根据得到的第一隐层状态向量和第二隐层状态向量转化为输出序列,得到原文文本的摘要文本。

对词序列进行语义相关编码,是将词序列转换为向量的过程。语义编码向量,是指将原始文本的词序列输入到第一通道的编码器得到相应的语义向量后,再将语义向量输入到该编码器的隐层中得到的向量。隐层是神经网络模型中的一种术语,是相对于输入层和输出层的中间层,隐层中包括对神经网络模型训练得到的模型参数。这里编码器的隐层是相对于编码器的输入层和编码器的输出层的中间层。编码器的隐层可包括多个神经网络层。这里将编码器的隐层当作“黑盒”进行描述。

在一个实施例中,服务器可获取词序列中各词对应的第一位置标识;根据第一位置标识确定词序列中各词的第一位置向量;依据第一位置向量和预训练词向量矩阵,确定词序列中各词的语义向量;将词序列中各词的语义向量输入至预训练的机器学习模型中第一通道的编码器的隐层中,得到词序列中各词的语义向量对应的语义编码向量。

其中,预训练词向量矩阵,是预训练的用于将词序列中各词转化为对应的语义向量(wordembedding)的矩阵。第一位置标识用于提供词序列中的各词在该预训练词向量矩阵对应的词典中的位置信息。第一位置向量(positionembedding)是词序列中各词的第一位置标识对应的向量。

以原始文本的词序列为一个长度为m的序列为例,将词序列输入到第一通道的编码器中进行编码器,得到词序列中各词对应的第一语义编码器的过程如下:

服务器可以对原始文本进行分词,得到原始文本的词序列为x=(x1,x2,...,xm),通过查询与预训练词向量矩阵dword∈rv×d对应的词典v,获得的词序列中各词在词典v中的第一位置标识,并生成对应的第一位置向量,可记为p=(p1,p2,...,pm),将词序列通过预训练词向量矩阵进行线性变换,得到对应的初始化词向量可记为w=(w1,w2,...,wm),因此得到原始文本的词序列中各词对应的加入了位置信息的语义向量,可记为e=(p1+w1,p2+w2,...,pm+wm),将词序列中各词对应的语义向量输入到第一通道的编码器的隐层中,得到每个语义向量对应的语义编码向量。因此,就可以得到词序列中各词对应的语义编码向量,可记为

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可将第一隐层状态向量称为第二隐层状态向量,类似地,可将第一位置向量称为第二位置向量。

s206,通过机器学习模型中第二通道的编码器,对词序列进行主题相关编码,得到词序列中各词对应的主题编码向量。

其中,主题编码向量,是指将原始文本的词序列输入到第二通道的编码器得到相应的主题向量后,再将主题向量输入到该编码器的隐层中得到的向量。主题编码向量是对原始文本中属于预设主题词词典的主题词进行编码的过程。服务器可通过预训练语料集v对预设主题模型进行训练,得到词词典k,根据从原始文本中匹配的属于该词词典k的词得到该原始文本的主题词。主题词能够集中表达原始文本的语义信息。主题模型是一种在一系列文本中发现抽象中心思想或隐藏的语义结构的统计模型。在一个实施例中,预设主题模型可以是lda(latentdirichletallocation,文档主题生成模型)。

在一个实施例中,服务器获取词序列中各词对应的第二位置标识;根据第二位置标识确定词序列中各词的第二位置向量;依据第二位置向量和预训练主题词向量矩阵,确定词序列中各词的主题向量;将词序列中各词的主题向量输入至机器学习模型中第二通道的编码器的隐层中,得到词序列中各词的主题向量对应的主题编码向量。

其中,预训练主题词向量矩阵,是预训练的用于将词序列中各词转化为对应的主题向量(topicembedding)的矩阵。第二位置标识用于提供词序列中的各词在该预训练主题词向量矩阵对应的词典中的位置信息。第二位置向量(positionembedding)是词序列中各词的第二位置标识对应的向量。

以原始文本的词序列为一个长度为m的序列为例,将词序列输入到第二通道的编码器中进行编码器,得到词序列中各词对应的主题编码向量的过程如下:

服务器可在获得原始文本的词序列后,通过查询预训练主题词向量矩阵dtopic∈rk×d对应的词典k(k∈v),若词序列中的词xj(j=1,2,...,m)属于词典k中的词,则获取词序列中各词在词典k中的第二位置标识,并生成对应的第二位置向量,可记为将词序列通过预训练主题词向量矩阵进行线性变换,得到对应的初始化词向量可记为t=(t1,t2,...,tm),因此得到原始文本的词序列中各词对应的加入了位置信息的主题向量,可记为将词序列中各词对应的主题向量输入到第二通道的编码器的隐层中,得到每个主题向量对应的主题编码向量。因此,就可以得到词序列中各词对应的主题编码向量,可记为

s208,通过第一通道的解码器,根据机器学习模型前一时刻所输出摘要词的词向量对语义编码向量解码,得到当前时刻的第一隐层状态向量。

其中,解码是将向量转换为序列输出的过程。第一隐层状态向量,是指将词序列中各词的语义向量对应的语义编码向量输入到第一通道的解码器的隐层中计算得到的向量。这里解码器的隐层是相对于解码器的输入层和解码器的输出层的中间层。解码器的隐层可包括多个神经网络层。这里将解码器的隐层当做“黑盒”进行描述。在一个实施例中,第一通道的解码器在初始时刻的第一隐层状态向量可以是模型训练得到的模型参数,也可以是默认设置的模型参数。

具体地,服务器可在要生成当前时刻的输出的摘要词时,获取前一时刻所输出摘要词的词向量,依据前一时刻所输出摘要词的词向量,通过第一通道的解码器对第一通道的编码器输出的语义编码向量进行解码,得到当前时刻的第一隐层状态向量。第一隐层状态向量不仅包含了原始文本的词序列中各词的语义信息,且综合了前一时刻所输出摘要词的语义信息,使得最终生成的摘要文本更为连贯,信息量更为丰富。

在一个实施例中,机器学习模型前一时刻所输出摘要词的词向量可通过以下步骤获得:服务器获取前一时刻所输出摘要词在词典中的第三位置标识,根据第三位置标识确定前一时刻所输出摘要词的第三位置向量;依据第三位置向量和预训练词向量矩阵,确定前一时刻所输出摘要词的词向量。

在一个实施例中,如图3所示,步骤s208具体包括:

s302,获取前一时刻第一通道的解码器的第一隐层状态向量。

s304,将获取的第一隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和语义编码向量输入至第一通道的解码器的隐层中。

s306,通过第一通道的解码器输出当前时刻的第一隐层状态向量。

具体地,第一通道的解码器的第一隐层状态向量是不断更新的,可根据输出前一时刻的摘要词时解码器的第一隐层状态向量、前一时刻所输出摘要词的词向量和词序列中各词的语义向量对应的语义编码向量对输出当前时刻的摘要词时解码器的隐层状态向量进行更新,得到当前时刻的第一隐层状态向量。即,当前时刻第一通道的解码器的第一隐层状态向量与该解码器前一时刻的第一隐层状态向量、前一时刻所输出的摘要词的词向量以及第一通道的编码器输出的各词向量对应的语义编码向量有关。在第一通道的解码器是基于注意力模型的解码器时,这里的语义编码向量则为各词向量对应的语义编码向量与相应的注意力分配权重系数计算得到的加权和向量。

s210,通过第二通道的解码器,根据机器学习模型前一时刻所输出摘要词的词向量对主题编码向量解码,得到当前时刻的第二隐层状态向量。

其中,第二隐层状态向量,是指将词序列中各词的词向量对应的主题编码向量输入到第二通道的解码器的隐层中计算得到的向量。具体地,服务器可在要生成当前时刻的输出的摘要词时,获取前一时刻所输出摘要词的词向量,依据前一时刻所输出摘要词的词向量,通过第二通道的解码器对第二通道的编码器输出的主题编码向量进行解码,得到当前时刻的第二隐层状态向量。第二隐层状态向量不仅包含了原始文本的词序列中各词的语义信息,且综合了前一时刻所输出摘要词的语义信息,使得最终生成的摘要文本更为连贯,信息量更为丰富。

在一个实施例中,如图4所示,步骤s210具体包括:

s402,获取前一时刻第二通道的解码器的第二隐层状态向量。

s404,将获取的第二隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和主题编码向量输入至第二通道的解码器的隐层中。

s406,通过第二通道的解码器输出当前时刻的第二隐层状态向量。

具体地,第二通道的解码器的第二隐层状态向量也是不断更新的,可根据输出前一时刻的摘要词时解码器的第二隐层状态向量、前一时刻所输出摘要词的词向量和词序列中各词的词向量对应的主题编码向量对输出当前时刻的摘要词时解码器的隐层状态向量进行更新,得到当前时刻的第二隐层状态向量。即,当前时刻第二通道的解码器的第二隐层状态向量与该解码器前一时刻的第二隐层状态向量、前一时刻所输出的摘要词的词向量以及第二通道的编码器输出的各词的语义向量对应的主题编码向量有关。在第二通道的解码器是基于注意力模型的解码器时,这里的主题编码向量则为各词的语义向量对应的主题编码向量与相应的注意力分配权重系数计算得到的加权和向量。

可以理解,本申请所使用的“当前时刻”用于描述第一通道的解码器和/或第二通道的解码器进行解码并输出当前时刻的摘要词的时刻,“前一时刻”用于描述第一通道的解码器和/或第二通道的解码器进行解码并输出前一时刻的摘要词的时刻。比如,上一时刻为i-1,机器学习模型所输出的摘要词则为yi-1;当前时刻为i,机器学习模型所输出的摘要词则为yi。并且,当前时刻是一个相对变化的时刻,比如,在机器学习模型在输出当前时刻i的下一时刻i+1的摘要词时,则可将该下一时刻i+1作为新的当前时刻,将当前时刻i作为新的前一时刻。

s212,根据当前时刻的第一隐层状态向量和第二隐层状态向量,确定机器学习模型当前时刻输出的摘要词。

具体地,服务器在生成当前时刻待输出的摘要词时,就通过机器学习模型的输出层,根据两个通道的解码器分别在当前时刻的第一隐层状态向量和第二隐层状态向量计算得到当前时刻的输出的摘要词对应的输出概率分布,即得到输出端字典中各候选摘要词为当前时刻输出的摘要词的概率,并将概率最高的候选摘要词作为当前时刻输出的摘要词,以此重复,直到输出结束词为止。

例如,在生成第二个摘要词时,根据第一个输出的摘要词的词向量以及当前时刻的第一隐层状态向量和第二隐层状态向量进行计算,得到第二个摘要词的输出概率分布。

s214,根据机器学习模型所输出的各摘要词生成摘要文本。

具体地,服务器可通过机器学习模型的输出层,按照输出各个摘要词的顺序,将输出的各个摘要词进行拼接,生成原始文本的摘要文本。

在一些具体的应用场景中,原始文本为新闻文本,则生成的摘要文本可用作该新闻文本的新闻摘要或新闻标题。原始文本为会议纪要,则生成的摘要文本可用作该会议纪要的会议总结。原始文本为社交应用中的会话文本,则生成的摘要文本可用作社交短文本的话题。

上述摘要文本生成方法,采用的机器学习模型是基于双通道的编码器-解码器结构。其中,第一通道的编码器对原始文本的词序列进行编码,实现了对原始文本的语义特征提取;第二通道的编码器对原始文本的词序列进行编码,引入了原始文本的主题信息特征。这样,通过第一通道的解码器根据前一时刻所输出摘要词的词向量对词序列中各个词对应的语义编码向量解码,得到的当前时刻的第一隐层状态向量就包含了词序列中各个词的语义信息;通过第二通道的解码器根据前一时刻所输出摘要词的词向量对词序列中各个词对应的主题编码向量解码,得到的当前时刻的第二隐层状态向量就包含了词序列中各个词的主题信息。从而,根据当前时刻的第一隐层状态向量和第二隐层状态向量确定的当前时刻输出的摘要词不仅基于原始文本的语义信息,还引入了主题信息,使得依据该机器学习模型输出的各摘要词生成的摘要文本可读性得到了极大提升。

在一个实施例中,如图5所示,第一通道的解码器是基于注意力模型的解码器;步骤s304,将获取的第一隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和语义编码向量输入至第一通道的解码器的隐层中,具体包括以下步骤:

s502,对应于词序列中各词所对应的语义编码向量,分别确定相对于当前时刻待输出的摘要词的注意力分配权重系数。

其中,注意力模型(attentionmodel),用于从输入的词序列中各个词的语义向量对应的语义编码向量中提取出对当前时刻输出的摘要词更具有影响的语义编码向量。即,注意力分配权重系数用于表示词序列中各词对应的语义编码向量对当前时刻待输出的摘要词的影响力。语义编码向量对应的注意力分配权重系数越大,则其对当前时刻待输出的摘要词的影响就越大,词序列中与该语义编码向量对应的词对当前时刻待输出的摘要词而言更为关键。相反地,语义编码向量对应的注意力分配权重系数越小,则会减弱词序列中与该语义编码向量对应的词对当前时刻待输出的摘要词的影响,说明该词不那么关键。

具体地,第一通道的解码器是基于注意力模型的解码器,为了在解码时能够对词序列中各词的语义向量对应的语义编码向量表达不同的“注意力”,因此通过解码器的注意力模型对各语义编码向量进行计算,分别确定词序列中各词所对应的语义编码向量相对于当前时刻待输出的摘要词的注意力分配权重系数。

在一个实施例中,服务器将机器学习模型前一时刻所输出摘要词的词向量、词序列中各词的语义向量对应的语义编码向量和前一时刻第一通道的解码器的第一隐层状态向量输入至第一通道的解码器的注意力模型中,计算得到各个语义编码向量对于当前时刻待输出的摘要词的注意力分配权重系数。

s504,根据词序列中各词的语义向量、语义编码向量和对应的注意力分配权重系数,确定第一通道的解码器当前时刻的第一条件输入向量。

其中,第一条件输入向量是输出当前时刻的摘要词时第一通道的解码器的输入向量。由于注意力模型的存在,输出每个时刻的摘要词时对词序列中各个词的关注度是不一样的,所以对于输出摘要词的每个时刻所对应的第一条件输入向量是不一样的。具体地,服务器可根据词序列中各词的语义向量、各语义向量对应的语义编码向量和对应的注意力权重分配系数,计算得到第一通道的解码器当前时刻的第一条件输入向量。

在一个实施例中,服务器也可将词序列中各词向量对应的语义编码向量与对应的注意力权重分配系数的加权和向量作为解码器当前时刻的第一条件输入向量。

在一个实施例中,第一通道的解码器当前时刻的第一条件输入向量通过以下公式计算得到:

其中,ci表示当前时刻i的第一条件输入向量;αij表示词序列中的词xj(j=1,2,3,...,m)所对应的语义编码向量zjo相对于当前时刻待输出的摘要词yi的注意力分配权重系数;zjo表示词序列中的词xj对应的语义编码向量;ej表示词序列中的词xj对应的语义向量;hi-1表示前一时刻第一通道的解码器的第一隐层状态向量;qi-1表示机器学习模型前一时刻所输出摘要词yi-1的词向量;di表示第一通道的解码器中注意力模型计算的解码器的第一状态向量;wd、bd表示第一通道机器学习模型中预训练得到的模型参数;exp表示以自然常数e为底的指数函数;∑为求和函数;⊙为向量点乘符号。

s506,将第一条件输入向量和获取的第一隐层状态向量输入至第一通道的解码器的隐层中。

其中,由于第一条件输入向量的计算与机器学习模型前一时刻所输出摘要词的词向量、各词的语义向量对应的语义编码向量有关,因此引入了注意力模型后第一通道的解码器的输入向量就为当前时刻的第一条件输入向量。具体地,将得到的第一通道的解码器当前时刻的第一条件输入向量输入至解码器的隐层中,依据解码器前一时刻的第一隐层状态向量,输出得到当前时刻的第一隐层状态向量。

在本实施例中,第一通道的解码器是基于注意力模型的解码器,就可以通过解码器中的注意力模型将语义编码向量转换为分配了注意力权重的第一条件输入向量,输入至解码器中的神经网络模型进行解码后得到解码器当前时刻的第一隐藏状态向量,从而在解码时参考了词序列中哪些词的语义向量对应的语义编码向量被“注意”,使得当前时刻输出的摘要词与原始文本的词序列的联系更为紧密,那么当前时刻输出的摘要词也就“更好”。

在一个实施例中,如图6所示,第二通道的解码器是基于注意力模型的解码器;步骤s404,将获取的第二隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和主题编码向量输入至第二通道的解码器的隐层中,具体包括以下步骤:

s602,对应于词序列中各词所对应的主题编码向量,分别确定相对于当前时刻待输出的摘要词的注意力分配权重系数。

类似地,第二通道的解码器中的注意力模型,用于从输入的词序列中各个词的主题向量对应的主题编码向量中提取出对当前时刻输出的摘要词更具有影响的主题编码向量。即,注意力分配权重系数用于表示词序列中各词对应的主题编码向量对当前时刻待输出的摘要词的影响力。主题编码向量对应的注意力分配权重系数越大,则其对当前时刻待输出的摘要词的影响就越大,词序列中与该主题编码向量对应的词对当前时刻待输出的摘要词而言更为关键。相反地,主题编码向量对应的注意力分配权重系数越小,则会减弱词序列中与该主题编码向量对应的词对当前时刻待输出的摘要词的影响,说明该词不那么关键。

具体地,第二通道的解码器是基于注意力模型的解码器,为了在解码时能够对词序列中各词的主题向量对应的主题编码向量表达不同的“注意力”,因此通过解码器的注意力模型对各主题编码向量进行计算,分别确定各词所对应的主题编码向量相对于当前时刻待输出的摘要词的注意力分配权重系数。

在一个实施例中,服务器将机器学习模型前一时刻所输出摘要词的词向量、各词的主题向量对应的主题编码向量和前一时刻第二通道的解码器的第二隐层状态向量输入至第二通道的解码器的注意力模型中,计算得到各个主题编码向量对于当前时刻待输出的摘要词的注意力分配权重系数。

s604,根据词序列中各词的主题向量、主题编码向量和对应的注意力分配权重系数,确定第二通道的解码器当前时刻的第二条件输入向量。

其中,第二件输入向量是输出当前时刻的摘要词时第二通道的解码器的输入向量。由于注意力模型的存在,输出每个时刻的摘要词时对词序列中各个词的关注度是不一样的,所以对于输出摘要词的每个时刻所对应的第二条件输入向量是不一样的。具体地,服务器可根据词序列中各词的主题向量、各词向量对应的主题编码向量和对应的注意力权重分配系数,计算得到第二通道的解码器当前时刻的第二条件输入向量。

在一个实施例中,服务器也可将词序列中各词的主题向量对应的主题编码向量与对应的注意力权重分配系数的加权和向量作为解码器当前时刻的第二条件输入向量。

s606,将第二条件输入向量和获取的第二隐层状态向量输入至第二通道的解码器的隐层中。

其中,由于第二条件输入向量的计算与机器学习模型前一时刻所输出摘要词的词向量、各词的主题向量对应的主题编码向量有关,因此引入了注意力模型后第二通道的解码器的输入向量就为当前时刻的第二条件输入向量。具体地,将得到的第二通道的解码器当前时刻的第二条件输入向量输入至解码器的隐层中,依据解码器前一时刻的第二隐层状态向量,输出得到当前时刻的第二隐层状态向量。

在本实施例中,第二通道的解码器是基于注意力模型的解码器,就可以通过解码器中的注意力模型将主题编码向量转换为分配了注意力权重的第二条件输入向量,输入至解码器中的神经网络模型进行解码后得到解码器当前时刻的第二隐藏状态向量,从而在解码时参考了词序列中哪些词的主题向量对应的主题编码向量被“注意”,使得当前时刻输出的摘要词与原始文本的词序列的联系更为紧密,那么当前时刻输出的摘要词也就“更好”。

在一个实施例中,如图7所示,第二通道的解码器是基于联合注意力模型的解码器;步骤s404,将获取的第二隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和主题编码向量输入至第二通道的解码器的隐层中,具体包括以下步骤:

s702,对应于词序列中各词所对应的主题编码向量,分别根据主题编码向量和词序列中各词对应的语义编码向量,确定相对于当前时刻待输出的摘要词的联合注意力分配权重系数。

第二通道的解码器中的联合注意力模型,用于在输出当前时刻的摘要词时,引入原始文本的主题信息,基于原始文本的词序列中各词的语义向量对应的语义编码向量、词序列中各个词的主题向量对应的主题编码向量计算各主题编码向量在当前时刻所对应的联合注意力分配权重系数。即,联合注意力分配权重系数的计算考虑了原始文本的语义信息和主题信息。

在一个实施例中,服务器将机器学习模型前一时刻所输出摘要词的词向量、词序列中各词对应的语义编码向量、各词的词向量对应的主题编码向量和前一时刻第二通道的解码器的第二隐层状态向量输入至第二通道的解码器的联合注意力模型中,计算得到各个主题编码向量对于当前时刻待输出的摘要词的联合注意力分配权重系数。

s704,根据词序列中各词的主题向量、主题编码向量和对应的联合注意力分配权重系数,确定第二通道的解码器当前时刻的第二条件输入向量。

由于第二通道的解码器是基于联合注意力模型的,输出每个时刻的摘要词时对词序列中各个词以及词序列中各个词的关注度是不一样的,所以在联合注意力模型的机制下,对于输出摘要词的每个时刻所对应的第二条件输入向量是不一样的。

具体地,服务器可根据词序列中各词的主题向量、各主题向量对应的主题编码向量和对应的联合注意力权重分配系数,计算得到第二通道的解码器当前时刻的第二条件输入向量。

在一个实施例中,服务器也可将词序列中各词的主题向量对应的主题编码向量与对应的联合注意力权重分配系数的加权和向量作为解码器当前时刻的第二条件输入向量。

在一个实施例中,当前时刻的第二条件输入向量通过以下公式计算得到:

其中,表示当前时刻i的第二条件输入向量;βij表示词序列中的词所对应的主题编码向量zjt相对于当前时刻待输出的摘要词yi的联合注意力分配权重系数;zjo表示词序列中的词xj对应的语义编码向量;zjt表示词序列中的词对应的主题编码向量;rj表示词序列中的词对应的主题向量;表示前一时刻第二通道的解码器的第二隐层状态向量;qi-1表示机器学习模型前一时刻所输出摘要词yi-1的词向量;表示第二通道的解码器中注意力模型计算的解码器的第二状态向量;表示机器学习模型中预训练得到的模型参数;exp表示以自然常数e为底的指数函数;∑为求和函数;⊙为向量点乘符号。

s706,将第二条件输入向量和获取的第二隐层状态向量输入至第二通道的解码器的隐层中。

具体地,引入了联合注意力模型后,第二通道的解码器的输入向量由各词的词向量所对应的主题编码向量转换成第二条件输入向量,即,第二条件输入向量的计算与机器学习模型前一时刻所输出摘要词的词向量、词序列中各词的语义向量对应的语义编码向量、词序列中各词的词向量对应的主题编码向量有关。服务器就可以将得到的第二通道的解码器当前时刻的第二条件输入向量输入至解码器的隐层中,依据解码器前一时刻的第二隐层状态向量,输出得到当前时刻的第二隐层状态向量。

在本实施例中,第二通道的解码器基于联合注意力模型,将原始词序列的语义信息和主题信息结合后得到当前时刻解码器的第二条件输入向量,从而在将第二条件输入向量输入至解码器的隐层中进行解码时不仅参考了原始词序列中各个词的语义信息,还参考了词序列中各个词的主题信息,计算得到的第二通道的解码器当前时刻的第二隐层状态向量有了更多的语境信息。

在一个实施例中,步骤s212,根据当前时刻的第一隐层状态向量和第二隐层状态向量,确定机器学习模型当前时刻输出的摘要词,具体包括:分别对第一隐层状态向量和第二隐层状态向量进行线性变换,得到当前时刻候选摘要词的语义概率分布和主题信息概率分布;获取候选摘要词对应的主题偏置向量;将候选摘要词对应的语义概率分布、主题信息概率分布和主题偏置向量进行归一化处理,得到当前时刻候选摘要词对应的输出概率分布;根据输出概率分布,将输出概率最大的候选摘要词作为机器学习模型当前时刻输出的摘要词。

其中,语义概率分布,是当前时刻第一通道的解码器输出的最后的第一隐层状态向量对应于输出端字典中各个候选摘要词的概率分布。主题概率分布,是当前时刻第二通道的解码器输出的最后的第二隐层状态向量对应于输出端字典中各个候选摘要词的概率分布。

在一个实施例中,对第一隐层状态向量进行线性变换得到相应的语义概率分布和/或对第二隐层状态向量进行线性变换得到相应的主题概率分布的/或的变换函数可以是softmax函数,即语义概率分布可通过公式ψ(hi)=wohi+bo计算得到;主题概率分布可通过计算得到,其中,wo、wt、bo和bt机器学习模型中预训练得到的模型参数。

主题偏置向量,是用于表达候选摘要词是否为预设主题字典中的词的向量。在一个实施例中,主题偏置向量可以用one-hot向量来表示。比如,对于输出端字典中的每个候选摘要词wt(t=1,2,...,t),候选摘要词一共有t个,其中只有w1、wt属于预设主题字典中的词,则对应的主题偏置向量为(1,0,0,....,1)。即,当候选摘要词属于预设主题字典中的词时,则生成的输出概率分布会加上主题信息,相反地,当所有的候选摘要词不属于预设主题字典中的词时,则生成的输出概率分布就只有原始文本的词序列的语义信息。

输出概率分布,是当前时刻待输出的摘要词为输出端字典中各个摘要候选词的概率分布。即,在前一时刻输出的摘要词为yi-1、且原始文本的输入序列为x的情况下输出的当前时刻的摘要词为yi的概率分布,可用pθ(yi)=p(yi|y1,...,yi,x)来表示。

在一个实施例中,当前时刻候选摘要词对应的输出概率分布通过以下公式计算得到:

其中,pθ(yi)表示当前时刻i输出的摘要词yi的候选摘要词对应的输出概率分布;θ表示机器学习模型中预训练得到的模型参数;z表示归一化器;hi表示当前时刻第一通道的解码器的第一隐层状态向量;表示当前时刻第二通道的解码器的第二隐层状态向量;ψ表示预训练的softmax函数;ψ(hi)表示候选摘要词对应的语义概率分布;表示候选摘要词的主题信息概率分布;i表示候选摘要词对应的主题偏置向量;exp表示以自然常数e为底的指数函数;为向量叉乘符号。

在本实施例中,根据当前时刻第一通道的解码器的隐层状态向量和第二通道的解码器的隐层状态向量计算得到当前时刻所输出摘要词的输出概率分布,不仅基于原始文本的语义信息,还引入了原始文本的主题信息,使得根据该输出概率分布选择的摘要词包含了更多的上下文信息,更为准确。

如图8所示,为一个实施例中摘要文本生成方法所采用的机器学习模型的框架示意图。具体生成摘要文本的过程如下:该机器学习模型的第一通道(wordembedding通道)的输入为原始文本的词序列x=(x1,x2,...,xm),通过词嵌入处理(wordembedding)得到一个初始化词向量,将其与词序列对应的第一位置向量(positionencoding)相加,得到第一通道的编码器的输入(801);输入到第一通道的编码器的卷积神经网络中(803),输出得到对应的语义编码向量(805)。其中,第一通道编码器的卷积神经网络(803)包括多个卷积层结构,每个卷积层结构包含一个卷积操作和一个门处理glu(gatedlinearunits,线性门单元),glu可以缓解梯度消失的问题。

第一通道解码器的处理过程为:将前一时刻机器学习模型输出的摘要词yi-1与第一通道的解码器前一时刻的第一隐层状态向量(807)一起输入至第一通道的解码器的注意力模型(809)中,再将语义编码向量(805)也一起经过注意力模型(809),输出得到相应的注意力权重分配系数(811);将语义编码向量(805)与第一通道的编码器的输入(801)相加后,与对应的注意力权重分配系数相乘后再相加,得到第一通道的第一条件输入向量(813);第一条件输入向量(813)与第一通道的解码器前一时刻的第一隐层状态向量(807)相加,得到当前时刻的第一通道的解码器的第一隐层状态向量(815)。

类似地,该机器学习模型的第二通道(topicembedding通道)的输入为原始文本的词序列k=(k1,k2,...,km),通过词嵌入处理(wordembedding)得到一个初始化词向量,将其与词序列对应的第二位置向量(positionencoding)相加,得到第二通道的编码器的输入(802);输入到第二通道的编码器的卷积神经网络804中,输出得到对应的主题编码向量806。其中,第二通道编码器的卷积神经网络804也包括多个卷积层结构。

由于第一通道的解码器和第二通道的解码器结构相同,图8中省略了第二通道的解码器的卷积神经网络。同样地,第二通道的解码器的处理过程也是将前一时刻机器学习模型输出的摘要词yi-1与第二通道的解码器前一时刻的第二隐层状态向量(808)一起输入至第二通道的解码器的注意力模型(810)中,再将主题编码向量(806)也一起经过注意力模型(810),输出得到相应的注意力权重分配系数(812);将主题编码向量(806)与第二通道的编码器的输入(802)相加后,与对应的注意力权重分配系数相乘后再相加,得到第二通道的第二条件输入向量(814);将第一条件输入向量(813)、第二条件输入向量(814)与第二通道的解码器前一时刻的第二隐层状态向量(808)相加,得到当前时刻的第二通道的解码器的第二隐层状态向量(816)。

最后,机器学习模型的输出层将得到的当前时刻的第一通道的解码器的第一隐层状态向量(815)和第二通道的解码器的第二隐层状态向量(816)对应的概率分布相加,得到当前时刻输出的摘要词对应的概率分布(817),就可以根据该概率分布生成当前时刻的摘要词。重复上述过程,直到输出最后一个摘要词,将输出的摘要词按照时间顺序拼接,得到摘要文本。

以下给出了采用训练好的机器学习模型对中文文档生成摘要文本的示例。

示例1:

原始文本:根据####年#月#日国家发改委等部门联合发布的《关于进一步做好新能源汽车推广应用工作的通知》,####年的补贴金额相比####年将降低##%。参考摘要文本:补贴金额再缩水####年新能源车政策解读。未引入主题信息的机器学习模型生成的摘要文本:####年新能源汽车推广应用工作的通知。引入主题信息后的机器学习模型生成的摘要文本:国家发改委发文进一步做好新能源汽车推广应用工作。

示例2:

原始文本:afrenchcrocodilefarmsaidthursdayithadsteppedupeffortstobreedoneoftheworld'smostendangeredspecies,theindianunk,withthehopeofultimatelyreturninganimalstotheirhabitatinsouthasia。参考摘要文本:frenchfarmoffershopeforendangeredasiancrocsunkpicture。未引入主题信息的机器学习模型生成的摘要文本:frenchcrocodilefarmstepsupeffortstobreedendangeredspecies。引入主题信息后的机器学习模型生成的摘要文本:frenchcrocodilefarmsaysstepsupeffortstosaveendangeredspecies。

从机器学习模型输出的摘要文本可以看出,引入主题信息后生成的摘要文本的可读性更强。并且,在中文和英文上都能取得较好的结果。

在一个实施例中,如图9所示,机器学习模型的训练步骤包括:

s902,获取样本集中样本的样本词序列以及参考输出概率序列。

具体地,样本集是用于进行模型训练时需要的大量的训练数据的集合。样本集中包括各个样本对应的样本词序列以及对应的参考输出概率序列。样本集中的样本数据可以是从多个公开数据集中获取的。

s904,将样本词序列输入至机器学习模型中进行训练,得到预测输出概率序列。

具体地,由于样本词序列以及对应的参考数据概率序列都预先生成了,因此就可以将样本词序列输入到机器学习模型中进行模型的训练,训练得到模型参数。在训练的过程中,模型参数是根据模型输出的预测输出概率序列与参考输出概率序列之间的差异不断调整的。

s906,根据参考输出概率序列和预测输出概率序列构建最大似然损失函数和强化学习的损失函数。

具体地,最大似然损失函数用于评估参考输出概率序列与预测输出概率序列之间的差异程度。最大似然损失函数承担了建立好的机器学习模型的责任,使模型生成语法正确、文字流畅的摘要文本;而rouge指标则允许生成的摘要文本拥有更多的灵活性,使得摘要指令有所提高。在一个实施例中,可通过以下公式得到对各个样本构建最大似然损失函数:

其中,是该输入样本序列x输入至模型后对应的参考输出概率序列;σ为求和函数;θ为模型参数。

在机器学习模型输出了预测输出概率后,可通过评估函数依据该样本对应的参考输出概率序列对这个样本的预测输出概率进行评估,得到强化学习的损失函数。比如,可以用rouge指标测评打分,得到了对这个样本的评估分数,再根据评估分数更新模型参数:若评估分数较高,则对模型给予正向奖励,若评估分数较低,则对模型给予惩罚。采用rouge指标对预测输出概率序列进行打分使得生成的摘要文本的语义更为丰富、灵活。

在一个实施例中,可通过以下公式得到对各个样本的强化学习的损失函数:

其中,是根据机器学习模型在当前输入的样本序列为x时每个时刻t(t=1,2,…,n)的输出的输出分布概率采样得到的序列;是机器学习模型在输入序列为x的预测输出概率分布;r是reward函数;θ为模型参数。

s908,将最大似然损失函数和强化学习的损失函数的加权和函数作为机器学习模型强化损失函数。

在一个实施例中,可通过以下公式得到各个样本的强化损失函数:

lmixed=λlrl+(1-λ)lml;

其中,λ评估分数对应的加权系数;1-λ为损失函数对应的加权系数,分别对这二者在相应的加权系数的乘积求和,得到最终的强化损失函数。

s910,将强化损失函数最小化时的模型参数作为机器学习模型的模型参数,返回获取样本集中样本的样本词序列以及参考输出概率序列的步骤继续训练,直至满足训练结束条件。

具体地,对于每个样本序列对应的强化损失函数,取损失最小时的模型参数作为机器学习模型的模型参数,然后在该模型参数的基础上对下一个样本序列进行预测,以对模型参数继续进行训练,直至得到的模型参数使得模型是稳定的,就结束训练。

在本实施例中,在训练模型的过程中,训练的目标不仅仅考虑最大似然,还考虑了生成的摘要文本的评价指标,使得得到的摘要文本不局限于参考摘要文本,而是考虑了摘要文本的语义层面,使得生成的摘要文本质量更高。

如图10所示,在一个具体的实施例中,摘要文本生成方法包括以下步骤:

s1002,获取原始文本的词序列。

s1004,通过预训练的机器学习模型中第一通道的编码器,对词序列进行语义相关编码,得到词序列中各词对应的语义编码向量。

s1006,获取前一时刻第一通道的解码器的第一隐层状态向量。

s1008,对应于词序列中各词所对应的语义编码向量,根据机器学习模型前一时刻所输出摘要词的词向量分别确定相对于当前时刻待输出的摘要词的注意力分配权重系数。

s1010,根据词序列中各词的语义向量、语义编码向量和对应的注意力分配权重系数,确定第一通道的解码器当前时刻的第一条件输入向量。

s1012,将第一条件输入向量和获取的第一隐层状态向量输入至第一通道的解码器的隐层中。

s1014,通过第一通道的解码器输出当前时刻的第一隐层状态向量;

s1016,通过机器学习模型中第二通道的编码器,对词序列进行主题相关编码,得到词序列中各词对应的主题编码向量。

s1018,获取前一时刻第二通道的解码器的第二隐层状态向量。

s1020,对应于词序列中各词所对应的主题编码向量,分别根据主题编码向量和词序列中各词对应的语义编码向量,确定相对于当前时刻待输出的摘要词的联合注意力分配权重系数。

s1022,根据词序列中各词的主题向量、主题编码向量和对应的联合注意力分配权重系数,确定第二通道的解码器当前时刻的第二条件输入向量。

s1024,将第二条件输入向量和获取的第二隐层状态向量输入至第二通道的解码器的隐层中。

s1026,通过第二通道的解码器输出当前时刻的第二隐层状态向量。

s1028,分别对第一隐层状态向量和第二隐层状态向量进行线性变换,得到当前时刻候选摘要词的语义概率分布和主题信息概率分布。

s1030,获取候选摘要词对应的主题偏置向量。

s1032,将候选摘要词对应的语义概率分布、主题信息概率分布和主题偏置向量进行归一化处理,得到当前时刻候选摘要词对应的输出概率分布。

s1034,根据输出概率分布,将输出概率最大的候选摘要词作为机器学习模型当前时刻输出的摘要词。

s1036,根据机器学习模型所输出的各摘要词生成摘要文本。

上述摘要文本生成方法,采用的机器学习模型是基于双通道的编码器-解码器结构。其中,第一通道的编码器对原始文本的词序列进行编码,实现了对原始文本的语义特征提取;第二通道的编码器对原始文本的词序列进行编码,引入了原始文本的主题信息特征。这样,通过第一通道的解码器根据前一时刻所输出摘要词的词向量对词序列中各个词对应的语义编码向量解码,得到的当前时刻的第一隐层状态向量就包含了词序列中各个词的语义信息;通过第二通道的解码器根据前一时刻所输出摘要词的词向量对词序列中各个词对应的主题编码向量解码,得到的当前时刻的第二隐层状态向量就包含了词序列中各个词的主题信息。从而,根据当前时刻的第一隐层状态向量和第二隐层状态向量确定的当前时刻输出的摘要词不仅基于原始文本的语义信息,还引入了主题信息,使得依据该机器学习模型输出的各摘要词生成的摘要文本可读性得到了极大提升。

图10为一个实施例中摘要文本生成方法的流程示意图。应该理解的是,虽然图10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图11所示,提供了一种摘要文本生成装置1100,该装置包括:获取模块1102、第一编码模块1104、第二编码模块1106、第一解码模块1108、第二解码模块1110、确定模块1112和生成模块1114,其中:

获取模块1102,用于获取原始文本的词序列。

第一编码模块1104,用于通过预训练的机器学习模型中第一通道的编码器,对词序列进行语义相关编码,得到词序列中各词对应的语义编码向量。

第二编码模块1106,用于通过机器学习模型中第二通道的编码器,对词序列进行主题相关编码,得到词序列中各词对应的主题编码向量。

第一解码模块1108,用于通过第一通道的解码器,根据机器学习模型前一时刻所输出摘要词的词向量对语义编码向量解码,得到当前时刻的第一隐层状态向量。

第二解码模块1110,用于通过第二通道的解码器,根据机器学习模型前一时刻所输出摘要词的词向量对主题编码向量解码,得到当前时刻的第二隐层状态向量。

确定模块1112,用于根据当前时刻的第一隐层状态向量和第二隐层状态向量,确定机器学习模型当前时刻输出的摘要词。

生成模块1114,根据机器学习模型所输出的各摘要词生成摘要文本。

在一个实施例中,第一编码模块1104还用于获取所述词序列中各词对应的第一位置标识;根据所述第一位置标识确定所述词序列中各词的第一位置向量;依据第一位置向量和预训练词向量矩阵,确定所述词序列中各词的语义向量;将所述词序列中各词的语义向量输入至预训练的机器学习模型中第一通道的编码器的隐层中,得到所述词序列中各词的语义向量对应的语义编码向量。

在一个实施例中,第二编码模块1106还用于获取所述词序列中各词对应的第二位置标识;根据所述第二位置标识确定所述词序列中各词的第二位置向量;依据第二位置向量和预训练主题词向量矩阵,确定所述词序列中各词的主题向量;将所述词序列中各词的主题向量输入至所述机器学习模型中第二通道的编码器的隐层中,得到所述词序列中各词的主题向量对应的主题编码向量。

在一个实施例中,第一解码模块1108还用于获取前一时刻第一通道的解码器的第一隐层状态向量;将获取的第一隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和语义编码向量输入至第一通道的解码器的隐层中;通过第一通道的解码器输出当前时刻的第一隐层状态向量。

在一个实施例中,第一通道的解码器是基于注意力模型的解码器;第一解码模块1108还用于对应于词序列中各词所对应的语义编码向量,分别确定相对于当前时刻待输出的摘要词的注意力分配权重系数;根据词序列中各词的语义向量、语义编码向量和对应的注意力分配权重系数,确定第一通道的解码器当前时刻的第一条件输入向量;将第一条件输入向量和获取的第一隐层状态向量输入至第一通道的解码器的隐层中。

在一个实施例中,当前时刻的第一条件输入向量通过以下公式计算得到:di=wdhi-1+bd+qi-1;其中,ci表示当前时刻i的第一条件输入向量;αij表示词序列中的词xj(j=1,2,3,...,m)所对应的语义编码向量zjo相对于当前时刻待输出的摘要词yi的注意力分配权重系数;zjo表示词序列中的词xj对应的语义编码向量;ej表示词序列中的词xj对应的词向量;hi-1表示前一时刻第一通道的解码器的第一隐层状态向量;qi-1表示机器学习模型前一时刻所输出摘要词yi-1的词向量;di表示第一通道的解码器中注意力模型计算的解码器的第一状态向量;wd、bd表示第一通道机器学习模型中预训练得到的模型参数;exp表示以自然常数e为底的指数函数;∑为求和函数;⊙为向量点乘符号。

在一个实施例中,第二解码模块1110还用于获取前一时刻第二通道的解码器的第二隐层状态向量;将获取的第二隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和主题编码向量输入至第二通道的解码器的隐层中;通过第二通道的解码器输出当前时刻的第二隐层状态向量。

在一个实施例中,第二通道的解码器是基于注意力模型的解码器;第二解码模块1110还用于对应于词序列中各词所对应的主题编码向量,分别确定相对于当前时刻待输出的摘要词的注意力分配权重系数;根据词序列中各词的主题向量、主题编码向量和对应的注意力分配权重系数,确定第二通道的解码器当前时刻的第二条件输入向量;将第二条件输入向量和获取的第二隐层状态向量输入至第二通道的解码器的隐层中。

在一个实施例中,第二通道的解码器是基于联合注意力模型的解码器;第二解码模块1110还用于对应于词序列中各词所对应的主题编码向量,根据机器学习模型前一时刻所输出摘要词的词向量分别根据主题编码向量和词序列中各词对应的语义编码向量,确定相对于当前时刻待输出的摘要词的联合注意力分配权重系数;根据词序列中各词的主题向量、主题编码向量和对应的联合注意力分配权重系数,确定第二通道的解码器当前时刻的第二条件输入向量;将第二条件输入向量和获取的第二隐层状态向量输入至第二通道的解码器的隐层中。

在一个实施例中,当前时刻的第二条件输入向量通过以下公式计算得到:其中,表示当前时刻i的第二条件输入向量;βij表示词序列中的词所对应的主题编码向量zjt相对于当前时刻待输出的摘要词yi的联合注意力分配权重系数;zjo表示词序列中的词xj对应的语义编码向量;zjt表示词序列中的词对应的主题编码向量;rj表示词序列中的词对应的主题向量;表示前一时刻第二通道的解码器的第二隐层状态向量;qi-1表示机器学习模型前一时刻所输出摘要词yi-1的词向量;表示第二通道的解码器中注意力模型计算的解码器的第二状态向量;表示机器学习模型中预训练得到的模型参数;exp表示以自然常数e为底的指数函数;∑为求和函数;⊙为向量点乘符号。

在一个实施例中,确定模块1112还用于分别对第一隐层状态向量和第二隐层状态向量进行线性变换,得到当前时刻候选摘要词的语义概率分布和主题信息概率分布;获取候选摘要词对应的主题偏置向量;将候选摘要词对应的语义概率分布、主题信息概率分布和主题偏置向量进行归一化处理,得到当前时刻候选摘要词对应的输出概率分布;根据输出概率分布,将输出概率最大的候选摘要词作为机器学习模型当前时刻输出的摘要词。

在一个实施例中,当前时刻候选摘要词对应的输出概率分布通过以下公式计算得到:其中,pθ(yi)表示当前时刻i输出的摘要词yi的候选摘要词对应的输出概率分布;θ表示机器学习模型中预训练得到的模型参数;z表示归一化器;hi表示当前时刻第一通道的解码器的第一隐层状态向量;表示当前时刻第二通道的解码器的第二隐层状态向量;ψ表示预训练的softmax函数;ψ(hi)表示候选摘要词对应的语义概率分布;表示候选摘要词的主题信息概率分布;i表示候选摘要词对应的主题偏置向量;exp表示以自然常数e为底的指数函数;为向量叉乘符号。

在一个实施例中,机器学习模型的训练步骤包括:获取样本集中样本的样本词序列以及参考输出概率序列;将样本词序列输入至机器学习模型中进行训练,得到预测输出概率序列;根据参考输出概率序列和预测输出概率序列构建最大似然损失函数和强化学习的损失函数;将最大似然损失函数和强化学习的损失函数的加权和函数作为机器学习模型强化损失函数;将强化损失函数最小化时的模型参数作为机器学习模型的模型参数,返回获取样本集中样本的样本词序列以及参考输出概率序列的步骤继续训练,直至满足训练结束条件。

上述摘要文本生成装置,采用的机器学习模型是基于双通道的编码器-解码器结构。其中,第一通道的编码器对原始文本的词序列进行编码,实现了对原始文本的语义特征提取;第二通道的编码器对原始文本的词序列进行编码,引入了原始文本的主题信息特征。这样,通过第一通道的解码器根据前一时刻所输出摘要词的词向量对词序列中各个词对应的语义编码向量解码,得到的当前时刻的第一隐层状态向量就包含了词序列中各个词的语义信息;通过第二通道的解码器根据前一时刻所输出摘要词的词向量对词序列中各个词对应的主题编码向量解码,得到的当前时刻的第二隐层状态向量就包含了词序列中各个词的主题信息。从而,根据当前时刻的第一隐层状态向量和第二隐层状态向量确定的当前时刻输出的摘要词不仅基于原始文本的语义信息,还引入了主题信息,使得依据该机器学习模型输出的各摘要词生成的摘要文本可读性得到了极大提升。

图12示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图12所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现摘要文本生成方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行摘要文本生成方法。

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

在一个实施例中,本申请提供的摘要文本生成装置可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行。计算机设备的存储器中可存储组成该摘要文本生成装置的各个程序模块,比如,图11所示的获取模块1102、第一编码模块1104、第二编码模块1106、第一解码模块1108、第二解码模块1110、确定模块1112和生成模块1114。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的摘要文本生成方法中的步骤。

例如,图12所示的计算机设备可以通过如图11所示的摘要文本生成装置中的获取模块1102执行步骤s202。计算机设备可通过第一编码模块1104执行步骤s204。计算机设备可通过第二编码模块1106执行步骤s206。计算机设备可通过第一解码模块1108执行步骤s208。计算机设备可通过第二解码模块1110执行步骤s2010。计算机设备可通过确定模块1112执行步骤s2012。计算机设备可通过生成模块1114执行步骤s2014。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:获取原始文本的词序列;通过预训练的机器学习模型中第一通道的编码器,对词序列进行语义相关编码,得到词序列中各词对应的语义编码向量;通过机器学习模型中第二通道的编码器,对词序列进行主题相关编码,得到词序列中各词对应的主题编码向量;通过第一通道的解码器,根据机器学习模型前一时刻所输出摘要词的词向量对语义编码向量解码,得到当前时刻的第一隐层状态向量;通过第二通道的解码器,根据机器学习模型前一时刻所输出摘要词的词向量对主题编码向量解码,得到当前时刻的第二隐层状态向量;根据当前时刻的第一隐层状态向量和第二隐层状态向量,确定机器学习模型当前时刻输出的摘要词;根据机器学习模型所输出的各摘要词生成摘要文本。

在一个实施例中,计算机程序被处理器执行通过预训练的机器学习模型中第一通道的编码器,对词序列进行语义相关编码,得到词序列中各词对应的语义编码向量的步骤时,使得处理器具体执行以下步骤:获取词序列中各词对应的第一位置标识;根据第一位置标识确定词序列中各词的第一位置向量;依据第一位置向量和预训练词向量矩阵,确定词序列中各词的语义向量;将词序列中各词的语义向量输入至预训练的机器学习模型中第一通道的编码器的隐层中,得到词序列中各词的语义向量对应的语义编码向量。

在一个实施例中,计算机程序被处理器执行通过机器学习模型中第二通道的编码器,对词序列进行主题相关编码,得到词序列中各词对应的主题编码向量的步骤时,使得处理器具体执行以下步骤:获取词序列中各词对应的第二位置标识;根据第二位置标识确定词序列中各词的第二位置向量;依据第二位置向量和预训练词向量矩阵,确定词序列中各词的主题向量;将词序列中各词的主题向量输入至机器学习模型中第二通道的编码器的隐层中,得到词序列中各词的词向量对应的主题编码向量。

在一个实施例中,计算机程序被处理器执行通过第一通道的解码器,根据机器学习模型前一时刻所输出摘要词的词向量对语义编码向量解码,得到当前时刻的第一隐层状态向量的步骤时,使得处理器具体执行以下步骤:获取前一时刻第一通道的解码器的第一隐层状态向量;将获取的第一隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和语义编码向量输入至第一通道的解码器的隐层中;通过第一通道的解码器输出当前时刻的第一隐层状态向量。

在一个实施例中,第一通道的解码器是基于注意力模型的解码器;计算机程序被处理器执行将获取的第一隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和语义编码向量输入至第一通道的解码器的隐层中的步骤时,使得处理器具体执行以下步骤:对应于词序列中各词所对应的语义编码向量,分别确定相对于当前时刻待输出的摘要词的注意力分配权重系数;根据词序列中各词的语义向量、语义编码向量和对应的注意力分配权重系数,确定第一通道的解码器当前时刻的第一条件输入向量;将第一条件输入向量和获取的第一隐层状态向量输入至第一通道的解码器的隐层中。

在一个实施例中,当前时刻的第一条件输入向量通过以下公式计算得到:其中,ci表示当前时刻i的第一条件输入向量;αij表示词序列中的词xj(j=1,2,3,...,m)所对应的语义编码向量zjo相对于当前时刻待输出的摘要词yi的注意力分配权重系数;zjo表示词序列中的词xj对应的语义编码向量;ej表示词序列中的词xj对应的语义向量;hi-1表示前一时刻第一通道的解码器的第一隐层状态向量;qi-1表示机器学习模型前一时刻所输出摘要词yi-1的词向量;di表示第一通道的解码器中注意力模型计算的解码器的第一状态向量;wd、bd表示第一通道机器学习模型中预训练得到的模型参数;exp表示以自然常数e为底的指数函数;∑为求和函数;⊙为向量点乘符号。

在一个实施例中,计算机程序被处理器执行通过第二通道的解码器,根据机器学习模型前一时刻所输出摘要词的词向量对主题编码向量解码,得到当前时刻的第二隐层状态向量的步骤时,使得处理器具体执行以下步骤:获取前一时刻第二通道的解码器的第二隐层状态向量;将获取的第二隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和主题编码向量输入至第二通道的解码器的隐层中;通过第二通道的解码器输出当前时刻的第二隐层状态向量。

在一个实施例中,第二通道的解码器是基于注意力模型的解码器;计算机程序被处理器执行将获取的第二隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和主题编码向量输入至第二通道的解码器的隐层中的步骤时,使得处理器具体执行以下步骤:对应于词序列中各词所对应的主题编码向量,分别确定相对于当前时刻待输出的摘要词的注意力分配权重系数;根据词序列中各词的主题向量、主题编码向量和对应的注意力分配权重系数,确定第二通道的解码器当前时刻的第二条件输入向量;将第二条件输入向量和获取的第二隐层状态向量输入至第二通道的解码器的隐层中。

在一个实施例中,第二通道的解码器是基于联合注意力模型的解码器;计算机程序被处理器执行将获取的第二隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和主题编码向量输入至第二通道的解码器的隐层中的步骤时,使得处理器具体执行以下步骤:对应于词序列中各词所对应的主题编码向量,根据机器学习模型前一时刻所输出摘要词的词向量分别根据主题编码向量和词序列中各词对应的语义编码向量,确定相对于当前时刻待输出的摘要词的联合注意力分配权重系数;根据词序列中各词的主题向量、主题编码向量和对应的联合注意力分配权重系数,确定第二通道的解码器当前时刻的第二条件输入向量;将第二条件输入向量和获取的第二隐层状态向量输入至第二通道的解码器的隐层中。

在一个实施例中,计算机程序被处理器执行……的步骤时,使得处理器具体执行以下步骤:当前时刻的第二条件输入向量通过以下公式计算得到:其中,表示当前时刻i的第二条件输入向量;βij表示词序列中的词所对应的主题编码向量zjt相对于当前时刻待输出的摘要词yi的联合注意力分配权重系数;zjo表示词序列中的词xj对应的语义编码向量;zjt表示词序列中的词对应的主题编码向量;rj表示词序列中的词对应的主题向量;表示前一时刻第二通道的解码器的第二隐层状态向量;qi-1表示机器学习模型前一时刻所输出摘要词yi-1的词向量;表示第二通道的解码器中注意力模型计算的解码器的第二状态向量;表示机器学习模型中预训练得到的模型参数;exp表示以自然常数e为底的指数函数;∑为求和函数;⊙为向量点乘符号。

在一个实施例中,计算机程序被处理器执行根据当前时刻的第一隐层状态向量和第二隐层状态向量,确定机器学习模型当前时刻输出的摘要词的步骤时,使得处理器具体执行以下步骤:分别对第一隐层状态向量和第二隐层状态向量进行线性变换,得到当前时刻候选摘要词的语义概率分布和主题信息概率分布;获取候选摘要词对应的主题偏置向量;将候选摘要词对应的语义概率分布、主题信息概率分布和主题偏置向量进行归一化处理,得到当前时刻候选摘要词对应的输出概率分布;根据输出概率分布,将输出概率最大的候选摘要词作为机器学习模型当前时刻输出的摘要词。

在一个实施例中,当前时刻候选摘要词对应的输出概率分布通过以下公式计算得到:其中,pθ(yi)表示当前时刻i输出的摘要词yi的候选摘要词对应的输出概率分布;θ表示机器学习模型中预训练得到的模型参数;z表示归一化器;hi表示当前时刻第一通道的解码器的第一隐层状态向量;表示当前时刻第二通道的解码器的第二隐层状态向量;ψ表示预训练的softmax函数;ψ(hi)表示候选摘要词对应的语义概率分布;表示候选摘要词的主题信息概率分布;i表示候选摘要词对应的主题偏置向量;exp表示以自然常数e为底的指数函数;为向量叉乘符号。

在一个实施例中,机器学习模型的训练步骤包括:获取样本集中样本的样本词序列以及参考输出概率序列;将样本词序列输入至机器学习模型中进行训练,得到预测输出概率序列;根据参考输出概率序列和预测输出概率序列构建最大似然损失函数和强化学习的损失函数;将最大似然损失函数和强化学习的损失函数的加权和函数作为机器学习模型强化损失函数;将强化损失函数最小化时的模型参数作为机器学习模型的模型参数,返回获取样本集中样本的样本词序列以及参考输出概率序列的步骤继续训练,直至满足训练结束条件。

上述计算机设备,采用的机器学习模型是基于双通道的编码器-解码器结构。其中,第一通道的编码器对原始文本的词序列进行编码,实现了对原始文本的语义特征提取;第二通道的编码器对原始文本的词序列进行编码,引入了原始文本的主题信息特征。这样,通过第一通道的解码器根据前一时刻所输出摘要词的词向量对词序列中各个词对应的语义编码向量解码,得到的当前时刻的第一隐层状态向量就包含了词序列中各个词的语义信息;通过第二通道的解码器根据前一时刻所输出摘要词的词向量对词序列中各个词对应的主题编码向量解码,得到的当前时刻的第二隐层状态向量就包含了词序列中各个词的主题信息。从而,根据当前时刻的第一隐层状态向量和第二隐层状态向量确定的当前时刻输出的摘要词不仅基于原始文本的语义信息,还引入了主题信息,使得依据该机器学习模型输出的各摘要词生成的摘要文本可读性得到了极大提升。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:

获取原始文本的词序列;通过预训练的机器学习模型中第一通道的编码器,对词序列进行语义相关编码,得到词序列中各词对应的语义编码向量;通过机器学习模型中第二通道的编码器,对词序列进行主题相关编码,得到词序列中各词对应的主题编码向量;通过第一通道的解码器,根据机器学习模型前一时刻所输出摘要词的词向量对语义编码向量解码,得到当前时刻的第一隐层状态向量;通过第二通道的解码器,根据机器学习模型前一时刻所输出摘要词的词向量对主题编码向量解码,得到当前时刻的第二隐层状态向量;根据当前时刻的第一隐层状态向量和第二隐层状态向量,确定机器学习模型当前时刻输出的摘要词;根据机器学习模型所输出的各摘要词生成摘要文本。

在一个实施例中,计算机程序被处理器执行通过预训练的机器学习模型中第一通道的编码器,对词序列进行语义相关编码,得到词序列中各词对应的语义编码向量的步骤时,使得处理器具体执行以下步骤:获取词序列中各词对应的第一位置标识;根据第一位置标识确定词序列中各词的第一位置向量;依据第一位置向量和预训练词向量矩阵,确定词序列中各词的语义向量;将词序列中各词的语义向量输入至预训练的机器学习模型中第一通道的编码器的隐层中,得到词序列中各词的语义向量对应的语义编码向量。

在一个实施例中,计算机程序被处理器执行通过机器学习模型中第二通道的编码器,对词序列进行主题相关编码,得到词序列中各词对应的主题编码向量的步骤时,使得处理器具体执行以下步骤:获取词序列中各词对应的第二位置标识;根据第二位置标识确定词序列中各词的第二位置向量;依据第二位置向量和预训练词向量矩阵,确定词序列中各词的主题向量;将词序列中各词的主题向量输入至机器学习模型中第二通道的编码器的隐层中,得到词序列中各词的词向量对应的主题编码向量。

在一个实施例中,计算机程序被处理器执行通过第一通道的解码器,根据机器学习模型前一时刻所输出摘要词的词向量对语义编码向量解码,得到当前时刻的第一隐层状态向量的步骤时,使得处理器具体执行以下步骤:获取前一时刻第一通道的解码器的第一隐层状态向量;将获取的第一隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和语义编码向量输入至第一通道的解码器的隐层中;通过第一通道的解码器输出当前时刻的第一隐层状态向量。

在一个实施例中,第一通道的解码器是基于注意力模型的解码器;计算机程序被处理器执行将获取的第一隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和语义编码向量输入至第一通道的解码器的隐层中的步骤时,使得处理器具体执行以下步骤:对应于词序列中各词所对应的语义编码向量,分别确定相对于当前时刻待输出的摘要词的注意力分配权重系数;根据词序列中各词的语义向量、语义编码向量和对应的注意力分配权重系数,确定第一通道的解码器当前时刻的第一条件输入向量;将第一条件输入向量和获取的第一隐层状态向量输入至第一通道的解码器的隐层中。

在一个实施例中,当前时刻的第一条件输入向量通过以下公式计算得到:其中,ci表示当前时刻i的第一条件输入向量;αij表示词序列中的词xj(j=1,2,3,...,m)所对应的语义编码向量zjo相对于当前时刻待输出的摘要词yi的注意力分配权重系数;zjo表示词序列中的词xj对应的语义编码向量;ej表示词序列中的词xj对应的语义向量;hi-1表示前一时刻第一通道的解码器的第一隐层状态向量;qi-1表示机器学习模型前一时刻所输出摘要词yi-1的词向量;di表示第一通道的解码器中注意力模型计算的解码器的第一状态向量;wd、bd表示第一通道机器学习模型中预训练得到的模型参数;exp表示以自然常数e为底的指数函数;∑为求和函数;⊙为向量点乘符号。

在一个实施例中,计算机程序被处理器执行通过第二通道的解码器,根据机器学习模型前一时刻所输出摘要词的词向量对主题编码向量解码,得到当前时刻的第二隐层状态向量的步骤时,使得处理器具体执行以下步骤:获取前一时刻第二通道的解码器的第二隐层状态向量;将获取的第二隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和主题编码向量输入至第二通道的解码器的隐层中;通过第二通道的解码器输出当前时刻的第二隐层状态向量。

在一个实施例中,第二通道的解码器是基于注意力模型的解码器;计算机程序被处理器执行将获取的第二隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和主题编码向量输入至第二通道的解码器的隐层中的步骤时,使得处理器具体执行以下步骤:对应于词序列中各词所对应的主题编码向量,分别确定相对于当前时刻待输出的摘要词的注意力分配权重系数;根据词序列中各词的主题向量、主题编码向量和对应的注意力分配权重系数,确定第二通道的解码器当前时刻的第二条件输入向量;将第二条件输入向量和获取的第二隐层状态向量输入至第二通道的解码器的隐层中。

在一个实施例中,第二通道的解码器是基于联合注意力模型的解码器;计算机程序被处理器执行将获取的第二隐层状态向量、机器学习模型前一时刻所输出摘要词的词向量和主题编码向量输入至第二通道的解码器的隐层中的步骤时,使得处理器具体执行以下步骤:对应于词序列中各词所对应的主题编码向量,根据机器学习模型前一时刻所输出摘要词的词向量分别根据主题编码向量和词序列中各词对应的语义编码向量,确定相对于当前时刻待输出的摘要词的联合注意力分配权重系数;根据词序列中各词的主题向量、主题编码向量和对应的联合注意力分配权重系数,确定第二通道的解码器当前时刻的第二条件输入向量;将第二条件输入向量和获取的第二隐层状态向量输入至第二通道的解码器的隐层中。

在一个实施例中,计算机程序被处理器执行……的步骤时,使得处理器具体执行以下步骤:当前时刻的第二条件输入向量通过以下公式计算得到:其中,表示当前时刻i的第二条件输入向量;βij表示词序列中的词所对应的主题编码向量zjt相对于当前时刻待输出的摘要词yi的联合注意力分配权重系数;zjo表示词序列中的词xj对应的语义编码向量;zjt表示词序列中的词对应的主题编码向量;rj表示词序列中的词对应的主题向量;表示前一时刻第二通道的解码器的第二隐层状态向量;qi-1表示机器学习模型前一时刻所输出摘要词yi-1的词向量;表示第二通道的解码器中注意力模型计算的解码器的第二状态向量;表示机器学习模型中预训练得到的模型参数;exp表示以自然常数e为底的指数函数;∑为求和函数;⊙为向量点乘符号。

在一个实施例中,计算机程序被处理器执行根据当前时刻的第一隐层状态向量和第二隐层状态向量,确定机器学习模型当前时刻输出的摘要词的步骤时,使得处理器具体执行以下步骤:分别对第一隐层状态向量和第二隐层状态向量进行线性变换,得到当前时刻候选摘要词的语义概率分布和主题信息概率分布;获取候选摘要词对应的主题偏置向量;将候选摘要词对应的语义概率分布、主题信息概率分布和主题偏置向量进行归一化处理,得到当前时刻候选摘要词对应的输出概率分布;根据输出概率分布,将输出概率最大的候选摘要词作为机器学习模型当前时刻输出的摘要词。

在一个实施例中,当前时刻候选摘要词对应的输出概率分布通过以下公式计算得到:其中,pθ(yi)表示当前时刻i输出的摘要词yi的候选摘要词对应的输出概率分布;θ表示机器学习模型中预训练得到的模型参数;z表示归一化器;hi表示当前时刻第一通道的解码器的第一隐层状态向量;表示当前时刻第二通道的解码器的第二隐层状态向量;ψ表示预训练的softmax函数;ψ(hi)表示候选摘要词对应的语义概率分布;表示候选摘要词的主题信息概率分布;i表示候选摘要词对应的主题偏置向量;exp表示以自然常数e为底的指数函数;为向量叉乘符号。

在一个实施例中,机器学习模型的训练步骤包括:获取样本集中样本的样本词序列以及参考输出概率序列;将样本词序列输入至机器学习模型中进行训练,得到预测输出概率序列;根据参考输出概率序列和预测输出概率序列构建最大似然损失函数和强化学习的损失函数;将最大似然损失函数和强化学习的损失函数的加权和函数作为机器学习模型强化损失函数;将强化损失函数最小化时的模型参数作为机器学习模型的模型参数,返回获取样本集中样本的样本词序列以及参考输出概率序列的步骤继续训练,直至满足训练结束条件。

上述计算机可读存储介质,采用的机器学习模型是基于双通道的编码器-解码器结构。其中,第一通道的编码器对原始文本的词序列进行编码,实现了对原始文本的语义特征提取;第二通道的编码器对原始文本的词序列进行编码,引入了原始文本的主题信息特征。这样,通过第一通道的解码器根据前一时刻所输出摘要词的词向量对词序列中各个词对应的语义编码向量解码,得到的当前时刻的第一隐层状态向量就包含了词序列中各个词的语义信息;通过第二通道的解码器根据前一时刻所输出摘要词的词向量对词序列中各个词对应的主题编码向量解码,得到的当前时刻的第二隐层状态向量就包含了词序列中各个词的主题信息。从而,根据当前时刻的第一隐层状态向量和第二隐层状态向量确定的当前时刻输出的摘要词不仅基于原始文本的语义信息,还引入了主题信息,使得依据该机器学习模型输出的各摘要词生成的摘要文本可读性得到了极大提升。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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