一种条件文本生成方法及生成系统技术方案

技术编号:32490307 阅读:34 留言:0更新日期:2022-03-02 09:56
本发明专利技术公开了一种条件文本生成方法,包括采集文本数据;数据预处理;构建编码器、解码器;将条件信息和文本数据分别通过编码器编码,得到条件特征、文本特征;将条件特征和文本特征进行特征融合,得到融合后的特征,记为融合特征;将所述融合特征作为解码器的输入,得到解码器的输出结果;计算损失;基于解码器的输出结果和损失,对网络模型进行训练,直到满足训练条件或达到最大训练次数,输出训练后的网络模型;向训练后的网络模型中输入条件信息和提示文本,生成文本。本发明专利技术要解决的技术问题之一是现有条件文本生成技术会在模型训练的同时生成结果,导致效率低下、细粒度不高的问题,实现更高效、流畅的生成条件文本的目的。流畅的生成条件文本的目的。流畅的生成条件文本的目的。

【技术实现步骤摘要】
一种条件文本生成方法及生成系统


[0001]本专利技术涉及自然语言处理领域,具体涉及一种条件文本生成方法及生成系统。

技术介绍

[0002]自然语言处理是近年来的热门
,自然语言生成任务一般采用NNLM(Neural Network Language Models,神经网络语言模型),常见的有基于ARLM(Auto

regressive Decoding,自回归解码)的GPT

2模型。由于模型依靠概率生成,导致生成的随机性较强,内容无法控制,不符合特定需求。
[0003]现有技术中为解决上述问题的技术手段之一,是依托于条件信息,如关键词、情感、风格等,在生成文本时添加一个属性判别器:首先训练一个生成器和一个判别器,生成器p(g)生成文本,判别器判决属性类别p(c|g),然后得到p(g|c)。回传梯度,更新语言模型内部状态,使得实际预测更接近想要属性,最后获得的新输出的概率分布,采样生成一个新的词。但是,这种现有技术虽然在一定程度上克服了生成文本随机性过强的问题,但其工作原理是在模型训练的同时生成结果,导致效率十分低下,且不能在更细粒度上控制文本生成。

技术实现思路

[0004]本专利技术提供一种条件文本生成方法及生成系统,解决的技术问题之一是现有条件文本生成技术会在模型训练的同时生成结果,导致效率低下、细粒度不高的问题,实现更高效、流畅的生成条件文本的目的。
[0005]本专利技术通过下述技术方案实现:
[0006]一种条件文本生成方法,包括:
[0007]S1、采集文本数据;数据预处理,将文本数据转化为适合训练的数据集;
[0008]S2、构建编码器、解码器;
[0009]S3、将条件信息和文本数据分别通过编码器编码,得到条件特征、文本特征;将条件特征和文本特征进行特征融合,得到融合后的特征,记为融合特征;
[0010]S4、将所述融合特征作为解码器的输入,得到解码器的输出结果;
[0011]S5、计算损失;
[0012]S6、基于解码器的输出结果和损失,对网络模型进行训练,直到满足训练条件或达到最大训练次数,输出训练后的网络模型;
[0013]S7、向训练后的网络模型中输入条件信息和提示文本,生成文本。
[0014]针对现有的条件文本生成技术会在模型训练的同时生成结果,导致效率低下和细粒度不高等问题,本专利技术首先提出一种条件文本生成方法,本方法首先是采集文本数据并进行预处理,进而将文本数据转化为适合训练的数据集为后续训练过程做准备。之后构建编码器、解码器,再将条件信息通过编码器编码、将编码器的输出作为条件特征;同理将预处理后的文本数据通过编码器编码,将编码器的输出作为文本特征;然后,将条件特征和文
本特征进行特征融合;再将融合后的特征作为解码器的输入,用以指导文本生成。之后计算损失函数,由解码器的输出结果和损失函数对网络模型进行训练,以完成训练后的网络模型为基础,向其中输入所需的条件信息和提示文本,即可完成文本生成。
[0015]特别说明的是,虽然特征融合属于机器学习方面的现有手段,但是在条件文本生成领域内融合条件特征和文本特征的方式属于本申请核心专利技术点之一,申请人为此付出了大量创造性劳动,该特征融合方式与现有技术相比具有显著效果:通过将条件信息特征和源文本特征相结合的方式,采用特征融合的手段实现条件特征和文本特征的融合,相较于常规的向量相加或向量拼接的特征融合方式而言,克服了其不能从局部兼顾条件信息特征和文本中每一个词的融合,又因为文本特征的离散性,容易导致融合后的特征不能表达原始特征的意义的缺陷;而本方法中通过将条件特征和文本特征进行特征融合的技术手段,基于查询向量从局部进行把握,能够从局部把握条件信息特征与文本中每一个词特征的融合,能够将条件信息特征融入源文本的每一个词特征中,进而有效的生成条件文本、在更细粒度上控制文本生成、显著提升文本生成的效果。此外,本方法是先训练模型,待模型训练完成后再进行使用,以此克服了现有技术中通过属性判别器生成文本时训练和生成同步进行所导致的效率低下的问题。
[0016]进一步的,步骤S1中,通过爬虫采集网上公开的文本数据,并存储为json格式;所采集的文本数据包括内容和主题。其中存储为json格式是为了便于后续训练使用;而同时采集文本的内容和主题,相较于仅采集文本内容的方式而言,能够得到更加合理的训练模型,提高后续生成文本的细粒度。
[0017]进一步的,步骤S1中,所述数据预处理包括:
[0018]S101、噪声清除:将爬取的数据利用正则去掉无用符号、多余空白、数字、人名和地名;
[0019]S102、归一化:替换特殊符号、替换稀有词汇;
[0020]S103、关键词提取:对采集的文本数据进行关键词提取,筛选出包含指定关键词的文本作为数据集;
[0021]S104、分词:利用分词工具对数据集进行分词,将分词后的词语转化为词典中对应的位置编号。
[0022]本方案的数据预处理过程至少包括依次进行的噪声清除、归一化、关键词提取、分词四个步骤,其中四个步骤的顺序关系不可颠倒或交错,才能够充分保证数据集与模型训练的匹配度。
[0023]进一步的,步骤S2中,利用采集的文本数据训练GPT

2模型,将训练好的模型记为模型M,以模型M作为编码器和解码器。本方案将现有的GPT

2模型作为预训练语言模型,GPT

2有着超大的规模,它是一个在海量数据集上训练的基于transformer的巨大模型。本方案将训练好后的GPT

2模型同时作为本申请待训练网络模型的编码器和解码器使用,相较于常规编解码方式而言能够显著提升生成文本的效果。
[0024]进一步的,步骤S3包括:
[0025]S301、将条件信息输入模型M,得到条件特征f
c

[0026]S302、将包含所述条件信息的文本数据输入模型M,得到文本特征f
p

[0027]S303、将f
c
和f
p
进行特征融合,得到融合特征f
cp

[0028]其中f
c
即是条件信息输入模型M后得到的输出,同理f
p
即是文本数据输入模型M后得到的输出。
[0029]进一步的,步骤S303包括:
[0030]S3031、确定条件信息的个数n,各条件信息的条件特征依次记为f
c1
、f
c2

f
cn
;其中n取正整数;
[0031]S3032、将各条件特征的键向量key
c1
、key
c2

key
cn
、值向量value
c1
、value
c2

...

【技术保护点】

【技术特征摘要】
1.一种条件文本生成方法,其特征在于,包括:S1、采集文本数据;数据预处理,将文本数据转化为适合训练的数据集;S2、构建编码器、解码器;S3、将条件信息和文本数据分别通过编码器编码,得到条件特征、文本特征;将条件特征和文本特征进行特征融合,得到融合后的特征,记为融合特征;S4、将所述融合特征作为解码器的输入,得到解码器的输出结果;S5、计算损失;S6、基于解码器的输出结果和损失,对网络模型进行训练,直到满足训练条件或达到最大训练次数,输出训练后的网络模型;S7、向训练后的网络模型中输入条件信息和提示文本,生成文本。2.根据权利要求1所述的一种条件文本生成方法,其特征在于,步骤S1中,通过爬虫采集网上公开的文本数据,并存储为json格式;所采集的文本数据包括内容和主题。3.根据权利要求1所述的一种条件文本生成方法,其特征在于,步骤S1中,所述数据预处理包括:S101、噪声清除:将爬取的数据利用正则去掉无用符号、多余空白、数字、人名和地名;S102、归一化:替换特殊符号、替换稀有词汇;S103、关键词提取:对采集的文本数据进行关键词提取,筛选出包含指定关键词的文本作为数据集;S104、分词:利用分词工具对数据集进行分词,将分词后的词语转化为词典中对应的位置编号。4.根据权利要求1所述的一种条件文本生成方法,其特征在于,步骤S2中,利用采集的文本数据训练GPT

2模型,将训练好的模型记为模型M,以模型M作为编码器和解码器。5.根据权利要求4所述的一种条件文本生成方法,其特征在于,步骤S3包括:S301、将条件信息输入模型M,得到条件特征f
c
;S302、将包含所述条件信息的文本数据输入模型M,得到文本特征f
p
;S303、将f
c
和f
p
进行特征融合,得到融合特征f
cp
。6.根据权利要求5所述的一种条件文本生成方法,其特征在于,步骤S303包括:S3031、确定条件信息的个数n,各条件信息的条件特征依次记为f
c1
、f
c2

f
cn
;其中n取正整数;S3032、将各条件特征的键向量key
c1
、key
c2

key
cn
、值向量value
c1
、value
c2

value
cn
分别依次连接到文本特征f
p
的键向量key、值向量value之前,并保持文本特征f
p
的查询向量query不变,得到连接后的键向量key
last
、值向量value
last
:key
last
=[key
c1
;key
c2

key
cn
;key];value
last
=[value
c1
;value
c2

value
cn
;value];S3033、通过如下公式计算输出值scroe:式中,q代表查询向量query,k
T
代表key
last
的转置,v代表value
last
,d
k
代表key
last
的维度;
S3034、将scroe输入前馈神经网络,得到融合特征f
cp
。7.根据权利要求1所述的一种条件文本生成方法,其特征在于,步骤S5中,计算损失的方法包括:S501、计算条件信息与文本数据的互信息损失L
point
:L
point
=(e
x

1)
‑1;式中,a表示文本数据,c表示条件信息;x为文本数据和条件信息之间的互信息计算结果;p(a)表示文本数据中每个词出现概率的累积;p(c)表示条件信息与文本数据中每个词出现概率的累积;p(a,c)表示文本数据中每个词与条件信息的概率累积;S502、将条件信息设置为空集,计算无条件内容损失L
null
:式中,c表示条件...

【专利技术属性】
技术研发人员:岳希罗伟尔高燕唐聃何磊
申请(专利权)人:成都信息工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1