System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于自然语言处理技术的文本生成领域,具体涉及一种基于bart模型的多修辞文本生成方法。
技术介绍
1、修辞语言通常用于口语和写作,以实现一系列交际目标。比喻或习语等修辞手法可以使一个表达更加有趣和迷人,从而使其脱颖而出,并且可以比更真实的普通短语唤起更强的情感,从而使文本更具吸引力。随着神经网络的发展,特别是大型预训练模型的出现,修辞语言的自动生成越来越受到关注。
2、近年来,修辞语言建模大多转向基于神经的端到端方法,显示出良好的创造力。2018年,yu等人在双关语和隐喻的生成方面精心设计解码算法,以无监督方式进行训练。为了提供更好的解释性,zhou等人在2021年提出了一种基于神经的习语生成管道,该管道包含三个明确的步骤:检索、提取和生成。最近,就像在大多数nlp任务中一样,利用预先训练的模型,在修辞语言生成方面取得了令人印象深刻的结果。例如,stowe和chakrabarty成功地微调t5和bart预训练模型,在隐喻文本方面取得了显著的成果。stowe还提出通过以framenet框架的形式对概念映射进行编码来控制隐喻的生成过程。2022年,zhang等人成功地在明喻文本生成上微调bart模型。
3、以上现有作品对于同一个句子在同一类型的修辞转换上只能生成一个句子,且没有充分利用目标修辞信息,在利用外部知识方面也有所不足。
技术实现思路
1、为解决以上现有技术存在的问题,本专利技术提出了一种基于bart模型的多修辞文本生成方法,该方法包括:使用额
2、普通文本和修辞文本的填空式预训练、相互转换的微调过程包括:
3、s1:获取原始修辞文本数据集,分为预训练数据和微调数据,分别对训练集和验证集中的数据进行预处理;
4、s2:将处理后的预训练数据输入到bart编码器中,得到普通文本和修辞文本的编码向量;
5、s3:将处理后的预训练数据输入到另一个bart编码器(称为vae编码器)中,使其编码每个修辞文本的潜在变量分布趋于标准正态分布,此步骤的结果称为潜在变量;
6、s4:将s2编码向量和s3潜在变量融合,输入到bart解码器中进行句子填空式预训练;
7、s5:将检索器得到的最佳匹配常识知识作为额外的背景,通过多头注意力操作将相关信息纳入bart解码器中;
8、s6:采用交叉熵损失结合s3步骤中kl损失的新型损失函数训练模型;
9、s7:采用adam算法优化模型,即在训练过程中调整s2的编码器、s3的vae编码器、s4的解码器中的参数;
10、s8:验证耐力值设为5,即如果连续5次验证模型效果都没有提升,则退出训练,否则继续训练;
11、s9:在得到的预训练模型上进行微调,使用修辞注意力将目标修辞信息注入bart编码器,将处理后的微调数据输入到此bart编码器,得到新的编码向量;
12、s10:冻结s3中vae编码器参数,利用标签广播网络将其输出的全局潜在变量分布转换到目标修辞的局部潜在变量分布,采样得到新的潜在变量;
13、s11:采用交叉熵损失训练模型,采用adam算法优化模型,训练过程中调整s4解码器、s9编码器、s10标签广播网络参数,验证耐力值同样设置为5;
14、s12:进行文本生成时,多次随机生成服从标准正态分布的潜在变量替换s10得到的潜在变量,实现生成同一修辞类型的多个不同句子。
15、优选的,对数据进行预处理的过程包括:使用barttokenizer将普通和修辞类型<literal>、<hyperbole>、<idiom>、<sarcasm>、<metaphor>、<simile>特殊序列化,将修辞类型串接句子(即<type>sentence),再使用barttokenizer将其转换为令牌序列:
16、input=<fig>t1,t2...,tn<eos>
17、预训练阶段输入输出是来自同一个句子,以30%掩码概率掩盖目标句子部分,将掩盖过后的句子作为输入,例如输入是:<idiom>there_much_for thought_richter.输出是:<idiom>there is much food for thought in richter.微调阶段的输入是普通文本/修辞文本,输出是对应的修辞文本/普通文本,例如输入是:<literal>in richter,thereare many subjects to reflection.输出是:<idiom>thee is much food for thoughtin richter.
18、优选的,编码潜在变量的过程为:
19、步骤1:采用预训练好的bart编码器对输入序列进行编码,得到文本的编码向量e;
20、步骤2:对e进行池化操作,再进入一个输出维度为文本嵌入维度的全连接层,使用tanh函数进行激活,得到池化向量p;
21、步骤3:将p输入到大小为潜在变量尺寸2倍的线性层,将结果平均分成两块,一块作为潜在变量分布的均值,另一块作为潜在变量分布的方差;
22、步骤4:通过得到的潜在变量分布,利用重参数技巧从标准高斯分布中采样一个点来近似从潜在变量分布采样(因为采样操作不可导,网络无法反向传播梯度),将采样得到的潜在变量输入到一个线性层,使其嵌入维度大小等于原编码器输出的嵌入维度大小,得到z;
23、步骤5:将潜在变量z与s2编码向量在序列维度上串接,作为编码器隐藏状态,输入到bart解码器中进行解码生成。
24、优选的,重参数化公式为:
25、
26、其中,i代表某一个文本,μi表示潜在变量分布i的均值,σi表示潜在变量分布i的方差,ε表示从标准正态分布中采样的一个向量,zi为得到的潜在变量。
27、优选的,常识知识与源文本相关性公式为:
28、sim(s,ki)=es(s)t·ek(ki),i∈{1,2,…}
29、其中,sim函数表示源文本向量和知识向量的相似性,s表示源文本,ki表示某一个知识条目,本文档来自技高网...
【技术保护点】
1.一种基于BART模型的多修辞文本生成方法,其特征在于,包括:使用额外的BART编码器编码文本的潜在变量分布,将采样的潜在变量融合编码向量作为BART解码器的输入,进行句子填空式预训练,得到预训练模型;对预训练模型进行微调,BART编码器使用一种修辞注意力,同时固定VAE编码器参数,利用一种标签广播网络将全局潜在变量分布转换到目标修辞的局部潜在变量分布;使用预训练的双编码器作为常识知识检索器,将检索器得到的最佳常识知识注入到BART解码器,引导模型生成正确的修辞文本;随机生成服从标准正态分布的潜在变量引导模型生成同一修辞类型的多个不同句子,实现多修辞文本生成;
2.根据权利要求1所述的一种基于BART模型的多修辞文本生成方法,其特征在于,所述对数据进行预处理的过程包括:使用BartTokenizer将普通和修辞类型<Literal>、<Hyperbole>、<Idiom>、<Sarcasm>、<Metaphor>、<Simile>特殊序列化,将修辞类型串接句子(即<Type>Sent
3.根据权利要求1所述的一种基于BART模型的多修辞文本生成方法,其特征在于,编码潜在变量的过程为:
4.根据权利要求3所述的一种基于BART模型的多修辞文本生成方法,其特征在于,在编码潜在变量的过程中,池化公式为:
5.根据权利要求3所述的一种基于BART模型的多修辞文本生成方法,其特征在于,重参数化公式为:
6.根据权利要求1所述的一种基于BART模型的多修辞文本生成方法,其特征在于,给定大量常识知识条目集合,检索器的目标是在低维连续空间中索引所有知识条目,以便能够高效地检索与输入源文本相关的最佳知识条目。采用双编码器架构来推导源文本和每个知识条目的密集表示。具体而言,两个独立的预训练BERT模型,Es(·)和Ek(·)分别用作源文本和知识条目的编码器。[CLS]令牌的输出被当作密集向量表示。在检索时,检索器首先将输入的源文本映射到一个向量,然后检索哪个知识向量最接近源文本向量,源文本和每个知识条目ki之间的相似性使用其向量的点积,其公式为:
7.根据权利要求1所述的一种基于BART模型的多修辞文本生成方法,其特征在于,预训练阶段的KL损失项公式为:
8.根据权利要求1所述的一种基于BART模型的多修辞文本生成方法,其特征在于,潜在变量与编码向量的融合方式为:
9.根据权利要求1所述的一种基于BART模型的多修辞文本生成方法,其特征在于,微调阶段的修辞注意力公式为:
10.根据权利要求1所述的一种基于BART模型的多修辞文本生成方法,其特征在于,标签广播网络将全局潜在变量分布转换为局部潜在变量分布,其建模过程可以公式化为:
11.根据权利要求1所述的一种基于BART模型的多修辞文本生成方法,其特征在于,Adam算法的公式为:
...【技术特征摘要】
1.一种基于bart模型的多修辞文本生成方法,其特征在于,包括:使用额外的bart编码器编码文本的潜在变量分布,将采样的潜在变量融合编码向量作为bart解码器的输入,进行句子填空式预训练,得到预训练模型;对预训练模型进行微调,bart编码器使用一种修辞注意力,同时固定vae编码器参数,利用一种标签广播网络将全局潜在变量分布转换到目标修辞的局部潜在变量分布;使用预训练的双编码器作为常识知识检索器,将检索器得到的最佳常识知识注入到bart解码器,引导模型生成正确的修辞文本;随机生成服从标准正态分布的潜在变量引导模型生成同一修辞类型的多个不同句子,实现多修辞文本生成;
2.根据权利要求1所述的一种基于bart模型的多修辞文本生成方法,其特征在于,所述对数据进行预处理的过程包括:使用barttokenizer将普通和修辞类型<literal>、<hyperbole>、<idiom>、<sarcasm>、<metaphor>、<simile>特殊序列化,将修辞类型串接句子(即<type>sentence),再使用barttokenizer将其转换为令牌序列:
3.根据权利要求1所述的一种基于bart模型的多修辞文本生成方法,其特征在于,编码潜在变量的过程为:
4.根据权利要求3所述的一种基于bart模型的多修辞文本生成方法,其特征在于,在编码潜在变量的过程中,池化公式为:
<...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。