基于类标序列生成式对抗模型的文本自动生成方法与流程

专利2022-06-29  130


本发明属于深度学习自然语言处理领域,具体涉及一种基于类标序列生成式对抗模型的文本自动生成方法。



背景技术:

深度学习受神经科学启发而来,通过对大量数据进行学习,在自然语言处理领域获得了更好的效果。具体表现在语音识别、机器翻译、摘要生成、自然语言生成等各种自然语言相关的应用领域。为了能够真正应用到相关应用领域中,生成自然语言的准确性以及合理性越发不可忽视,人们对自然语言处理领域的其他发展抱有越来越高的期望,这要求对自然语言生成质量的更高要求。

文本自动生成是自然语言处理领域的一个重要技术体现,自动生成的文本质量的好坏也标志着人工智能是否成熟的。文本生成任务的最终目的是让计算机能写出像人类写出的高质量的自然语言作品,并且能在学习的过程中排查生成文本中的语法错误、情感不当等各种人类写作时会出现的问题。文本自动生成技术的发展,可以帮助我们实现更加智能和自然的人机交互;通过文本自动生成系统,实现新闻的自动编辑,大大减少了编辑的工作量。在给人类生活带来便利的同时,更高质量的自动生成文本,也可能被用于对人类认知进行欺骗,例如生成各类以假乱真的虚假政治新闻或评价文本,对大众的认知产生误导效果。

现有的自动文本生成技术已经有效提高了机器翻译、自动问答、图像描述生成等应用的效果,虽然将深度学习运用在自动文本生成任务中已经能完成一部分机器翻译任务,并且在生成诗句和文本摘要等方面有不错的表现,但传统的文本生成方法大多只能生成定长文本,且面临长文本生成任务时生成的文本质量较低,难以生成符合真实人类书写的文本。生成的文本往往没有具体的细节,难以应用于实际领域。

对于一些文本生成算法而言,往往需要输入一段确定的文本作为训练,多次训练后得到一个可以生成对应文本的模型。需要生成另一类文本则需要重新选择数据集进行训练,并且重新保存模型等待生成,训练的过程较为繁琐。

专利公布号为cn109299211a的专利申请公开了一种基于char-rnn模型的文本自动生成方法,该方法使用向量矩阵来表示字母或者汉字,通过char-rnn模型中训练,得到每一个字符对应的下一个字符的概率,以输入的关键字词作为起始字符,使用训练好的模型结果来得到对应下一个字符的概率并输出,并以此作为下一步的字符输入,依次类推生成一段文本。该方法将关键词作为起始字符,很多情况下不合符人类的写作习惯。



技术实现要素:

为了提高生成文本的质量,本发明提供了一种基于类标序列生成式对抗模型的文本自动生成方法,该文本自动生成方法能够生成完善的文本内容,提高文本的针对性和多样化程度。

本发明提供的技术方案为:

一种基于类标序列生成式对抗模型的文本自动生成方法,包括步骤:

基于生成式对抗模型构建文本生成器;

利用所述文本生成器生成基于真实文本的生成文本;

调整所述生成文本的文本长度;

对调整过文本长度的生成文本进行关键词替换,获得最终生成文本。

优选地,所述文本生成器的构建过程包括:

以lseqgan模型作为文本生成器的构建系统,lseqgan由生成器g和判别器d,其中,生成器g用于根据输入的真实文本输出指定类型的生成文本;判别器d用于判别真实文本和生成文本的真假;

以公式(1)作为优化目标,对lseqgan模型进行迭代优化,直到收敛,提取收敛时生成器g和对应的网络参数作为文本生成器;

其中,s表示当前的生成文本序列,总长度设定为t,序列结束也用0填满至长度t,label表示生成文本序列的原始类标,a=yt表示下一个生成的文本序列,表示到t时刻为止,由gβ生成的序列,表示在原始类标label下,预测为真实类标的概率;表示在类标label下,n次带roll-out策略的gβ次的蒙特卡洛搜索。

优选地,所述生成器g包括长短期记忆网络和softmax激活层,其中,长短期记忆网络用于根据输入的真实文本产生生成文本,所述softmax激活层用于根据所述生成文本产生指定类型的生成文本。

优选地,所述真实文本在输入至生成器g之前,需要对真实文本进行编码成文本矩阵,并用零补添所述文本矩阵到固定长度。

优选地,所述判别器d包括特征提取单元和softmax激活层,其中,所述特征提取单元用于提取输入的真实文本和生成文本的特征,所述softmax激活层用于对提取的特征进行激活映射,输出真实文本和生成文本的预测标签。

优选地,所述调整所述生成文本的文本长度包括:

检测所述生成文本中的零,删除零之后的文本序列,以调整生成文本的文本长度。

优选地,所述对调整过文本长度的生成文本进行关键词替换包括:

选定关键词,并从数据集中选择与关键词相似度高的一组词汇作为替换词;

根据关键词在所述生成文本中选择与关键词相似度高的一组词汇作为被替换词;

从替换词中抽样替换生成文本中的被替换词,以获得最终生成文本。

具体地,通过wordnet计算词汇相似度,并利用给定的相似阈值筛选词汇相似度较高的一组作为替换词和/或被替换词。

本发明的有益效果主要表现在:通过带有类标条件的lstm作为生成器g用以生成文本序列,可以根据指定类标,生成该类标下的具有针对性的具体文本内容;用特征提取单元和softmax激活层作为判别器d,对真实文本和虚假文本的判别具有较好的效果,为生成器g提供有效的反馈,使生成的文本更具真实性。生成高质量文本后,进一步选取同一类文本中的关键词,通过wordnet计算词汇相似度,对相似度高的关键词进行替换,确保了生成文本的多样性。

附图说明

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

图1是实施例提供的lseqgan模型的结构示意图;

图2是实施例提供的生成器g的结构示意图;

图3是实施例提供的判别器d的结构示意图;

图4是实施例提供的关键词替换过程示意图。

具体实施方式

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

参见图1~图4,实施例提供的一种基于类标序列生成式对抗模型的文本自动生成方法,包括以下步骤:

s101,基于生成式对抗模型构建文本生成器。

如图1所示,以lseqgan模型作为文本生成器的构建系统,lseqgan由生成器g和判别器d,其中,生成器g用于根据输入的真实文本输出指定类型的生成文本;判别器d用于判别真实文本和生成文本的真假。

如图2所示,生成器g包括长短期记忆网络(lstm)和softmax激活层,其中,生成器g输入真实文本的one-hot编码,以给定类标为条件,使用lstm用于生成文本序列,softmax函数作为激活函数,输出指定类别的文本。

具体地说,生成器gθ的目标是从初始状态s0生成类标label下的序列y1:t=(y1,…,yt)以最大化最终期望奖励:

其中rt是来自dφ对一个完整序列的奖励值,q(s0,y1;label)是一个在类标label中,在策略gθ下,从s0开始,采用动作y1开始积累期望奖励的动作函数。gθ的目的是产生更真实文本,使之不能被dφ和真正的人类写的文本区分开来。

在lstm模型中,它递归地使用更新函数g来映射类标为label的输入序列{x1,…,xt,…,xt}转化为隐含状态序列

其中隐藏状态通过softmax激活函数soft映射到输出标记分布p(yt|x1,…,xt):

b为偏差向量,v为权重矩阵。

将几类带有类标l1、l2…ln文本内容x1、x2…xn输入到同一个模型lseqgan中,通过预训练生成一系列同样带有类标的负面样本z1、z2…zn,与输入的文本x1、x2…xn共同进行接下来的训练;

首先,使用一种特殊的策略来生成可变长度的文本,它包括如下三个主要步骤:

(a)由于大多数实际文本数据集中的文本都是可变长度的,首先用0填充所有的训练文本,使它们成为固定长度。

(b)训练lseqgan模型,生成器通过蒙特卡罗搜索传递回中间动作值。在蒙特卡罗搜索中,一旦句子末尾的标点符号出现,序列中其余的单词就由0补全。

(c)在每个初始生成序列中,当序列中出现0时,序列结束。因此,对于初始生成的序列,删除0之后的单词,并输出生成可变长度的序列。

图2展示了生成器g的工作过程,训练数据集是被选择的带有不固定长度的带有类标的序列,使用0来填充所有的训练序列,使得所有的训练序列都是固定长度的。最后根据0符号对生成的序列进行修改,使生成的序列可以变成更真实的变长序列。

lseqgan中的判别器d包括特征提取单元和softmax激活层,其中,所述特征提取单元用于提取输入的真实文本和生成文本的特征,所述softmax激活层用于对提取的特征进行激活映射,输出真实文本和生成文本的预测标签。

特征提取单元为一种带类标的cnn模型,输入one-hot编码、补零过的真实文本x和相应类别的生成文本z,使用cnn模块进行文本特征提取,同样使用softmax的全连接层输出输入序列为实数的概率,通过优化目标是最小化真实标签与预测概率之间的交叉熵,朝着将x判定为真实文本,z判定为虚假文本的方向更新,完成一次自身的训练过程,同时给生成器g一个反馈,指导g优化自身生成策略,重新生成更优的虚假文本;判别器提供反馈的计算公式如下:

其中,s表示当前的生成文本序列,总长度设定为t,序列结束也用0填满至长度t,label表示生成文本序列的原始类标,a=yt表示下一个生成的文本序列,表示到t时刻为止,由gβ生成的序列,表示在原始类标label下,预测为真实类标的概率;表示在类标label下,n次带roll-out策略的gβ次的蒙特卡洛搜索,每生成若干次序列后获得一次判别器d的反馈,循环以上步骤直到收敛。

图3表示判别器d的结构。选择“it’stoohardtoeat!”作为例子。它被编码为one-hot和k=7。卷积核的区域大小包括4×t、3×t和2×t。经过卷积后,每个区域大小的两个特征映射分别为4×1、5×1和6×1。不同颜色的映射对应不同的类别。然后应用最大池化层将特征映射的大小统一到1×1。将单变量向量连接到输出层。

s102,利用所述文本生成器生成基于真实文本的生成文本。

将真实文本输入至文本生成器中,经过计算输出根据真实文本的生成文本。

s103,调整所述生成文本的文本长度。

该步骤的调整生成文本的文本长度与s101中相同,检测所述生成文本中的零,删除零之的文本序列,以调整生成文本的文本长度。

s104,对调整过文本长度的生成文本进行关键词替换,获得最终生成文本。

具体地,关键词替换过程为:

s104-1,使用训练完成的文本生成器生成一类文本(可以加入类标信息),可选择要捕获替换掉的具体信息的类型。

s104-2,首先选择一个关键字来帮助识别具体信息。若需要生成餐厅评论,关键字是“食物”,则从替换文本中捕获与食物有关的信息。如果目标是生成体育新闻,那么关键字可以是体育项目等。

s104-3,识别训练数据集中与所选特定关键字相似的所有单词,通过wordnet计算词汇相似度,使用给定的相似阈值来识别训练数据集中与特定关键字词汇相似度高的一组单词。

s104-4,在初始生成的文本中发现与特定关键字词汇相似度高的一组单词。然后,通过对s104-3中选择的特定关键词进行抽样,来替换初始生成文本中的受影响的单词,最后输出完整的文本。

图4表示文本替换工作的一个例子,针对生成的餐厅评论,选择餐厅名作为关键词,从训练的数据集中,使用wordnet计算出与餐厅名相似的词汇,将原生成文本中的关键词使用高相似度的词汇进行替换。

上述文本自动生成方法基于类标的序列生成对抗模型设计的自动文本生成方法,引入基于类标的序列生成对抗模型lseqgan,结合类标和训练集进行训练,对真实文本编码成的矩阵结尾自动补零,使多种长度文本的训练矩阵大小相同,通过给定输入类标,生成该类标下的具有针对性的具体文本内容,最后通过关键词替换策略,并对文本尾部去零,实现变长文本的生成,保证了生成文本内容的有效性与多样性。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。


技术特征:

1.一种基于类标序列生成式对抗模型的文本自动生成方法,其特征在于,包括步骤:

基于生成式对抗模型构建文本生成器;

利用所述文本生成器生成基于真实文本的生成文本;

调整所述生成文本的文本长度;

对调整过文本长度的生成文本进行关键词替换,获得最终生成文本。

2.如权利要求1所述的基于类标序列生成式对抗模型的文本自动生成方法,其特征在于,所述文本生成器的构建过程包括:

以lseqgan模型作为文本生成器的构建系统,lseqgan由生成器g和判别器d,其中,生成器g用于根据输入的真实文本输出指定类型的生成文本;判别器d用于判别真实文本和生成文本的真假;

以公式(1)作为优化目标,对lseqgan模型进行迭代优化,直到收敛,提取收敛时生成器g和对应的网络参数作为文本生成器;

其中,s表示当前的生成文本序列,总长度设定为t,序列结束也用0填满至长度t,label表示生成文本序列的原始类标,a=yt表示下一个生成的文本序列,表示到t时刻为止,由gβ生成的序列,表示在原始类标label下,预测为真实类标的概率;表示在类标label下,n次带roll-out策略的gβ次的蒙特卡洛搜索。

3.如权利要求2所述的基于类标序列生成式对抗模型的文本自动生成方法,其特征在于,所述生成器g包括长短期记忆网络和softmax激活层,其中,长短期记忆网络用于根据输入的真实文本产生生成文本,所述softmax激活层用于根据所述生成文本产生指定类型的生成文本。

4.如权利要求2所述的基于类标序列生成式对抗模型的文本自动生成方法,其特征在于,所述真实文本在输入至生成器g之前,需要对真实文本进行编码成文本矩阵,并用零补添所述文本矩阵到固定长度。

5.如权利要求2所述的基于类标序列生成式对抗模型的文本自动生成方法,其特征在于,所述判别器d包括特征提取单元和softmax激活层,其中,所述特征提取单元用于提取输入的真实文本和生成文本的特征,所述softmax激活层用于对提取的特征进行激活映射,输出真实文本和生成文本的预测标签。

6.如权利要求1所述的基于类标序列生成式对抗模型的文本自动生成方法,其特征在于,所述调整所述生成文本的文本长度包括:

检测所述生成文本中的零,删除零之后的文本序列,以调整生成文本的文本长度。

7.如权利要求1所述的基于类标序列生成式对抗模型的文本自动生成方法,其特征在于,所述对调整过文本长度的生成文本进行关键词替换包括:

选定关键词,并从数据集中选择与关键词相似度高的一组词汇作为替换词;

根据关键词在所述生成文本中选择与关键词相似度高的一组词汇作为被替换词;

从替换词中抽样替换生成文本中的被替换词,以获得最终生成文本。

8.如权利要求7所述的基于类标序列生成式对抗模型的文本自动生成方法,其特征在于,通过wordnet计算词汇相似度,并利用给定的相似阈值筛选词汇相似度较高的一组作为替换词和/或被替换词。

技术总结
本发明公开了一种基于类标序列生成式对抗模型的文本自动生成方法,包括步骤:基于生成式对抗模型构建文本生成器;利用所述文本生成器生成基于真实文本的生成文本;调整所述生成文本的文本长度;对调整过文本长度的生成文本进行关键词替换,获得最终生成文本。该文本自动生成方法能够生成完善的文本内容,提高文本的针对性和多样化程度。

技术研发人员:陈晋音;张敦杰;王雪柯;吴洋洋
受保护的技术使用者:浙江工业大学
技术研发日:2020.01.20
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-19684.html

最新回复(0)