基于生成提示的无监督文本情感转换方法及装置

文档序号:36503039发布日期:2023-12-28 07:09阅读:32来源:国知局
基于生成提示的无监督文本情感转换方法及装置

本发明涉及基于生成提示的无监督文本情感转换方法,属于自然语言处理。


背景技术:

1、文本情感转换是自然语言处理领域的重要任务,旨在保留文本内容的基础上,通过编辑或生成的方法更改文本的情感属性,如图1所示,为基于循环重建的无监督文本情感转换方法示例图,模型输入正面情感句子(this sandwich is delicious),通过模型自动生成负面情感的句子(this sandwich is terrible),其在情感分析、社交媒体分析、情感文本生成等领域都有着重要作用。

2、目前,基于深度学习的文本情感转换任务需要构建大规模内容相近、情感相反的训练数据,但是人工标注大规模的文本情感转换数据难度大,目前主要研究基于无监督的文本情感转换方法,其主要有以下两类方法:编辑类方法和生成式方法。编辑类方法主要是通过对情感词进行替换来完成情感转换,其首先通过基于词频统计或者基于注意力机制的方法识别情感词,然后采用检索-替换的方法完成情感转换。但是直接对情感词进行替换并没有考虑上下文信息,容易出现搭配不当等错误。如将负面情感句子“the place wasdisgusting and hot in there”,替换情感词“disgusting”为生成正面句子“the placewas so delicious and hot in there”,但是使用“delicious”修饰地点明显搭配不合理。基于生成式的方法则主要利用编码器-解码器框架实现情感相反的文本生成,通过编码器首先将句子表征到高维空间,通过在高维空间中插入情感向量实现句子内容和情感属性的分离表示,通过句子自编码重构和情感分类损失来实现文本情感转换。但是由于无监督方法对句子的表示不理想,很难实现内容和情感的分离,生成句子的流畅度及情感转换的结果还不理想。

3、近年来,生成式预训练语言模型,如gpt(generative pre-trainedtransformer),gpt-2等,在文本摘要、机器翻译等任务上取得了很好的性能,显著提升了生成内容的流畅性及准确性等。然而和机器翻译等生成式任务不同,无监督情感转换任务缺乏标注语料,没有办法通过有监督训练方式对预训练模型进行微调,而常用于无监督生成任务的循环重建框架,由于缺乏明确的监督信号,导致训练梯度不平滑,容易出现模型退化等问题。如图1所示,循环重建过程中,输入正面情感句“this sandwich is delicious”,利用gpt-2模型生成负面情感的中间句子,在此基础上,进一步通过共享参数的gpt-2模型重构回正面情感句子,但是在中间生成内容“this sandy soil is not good”的过程中,虽然可以通过情感分类损失约束能够实现情感转换,但是由于缺乏中间的监督信号,gpt-2将sandwich错误生成为sandy soil,在此基础上循环生成的sany hair is very beautiful造成误差累积,导致最终构建的循环重建弱监督信号难以收敛。


技术实现思路

1、本发明解决的技术问题是:本发明提出一种基于提示学习的两阶段无监督情感转换方法,用于解决监督自编码模型由于缺少监督信号训练不稳定,性能退化严重的等问题,本发明的转换方法提升了文本保留度、情感转换及bleu等指标。

2、本发明的技术方案是:第一方面,本发明提供基于生成提示的无监督文本情感转换方法,所述方法包括:

3、step1、构建基于生成提示的无监督文本情感转换模型:通过构建包含文本内容的生成提示器,让预训练模型具有更好的文本和情感理解能力,然后在预训练的基础上,再通过文本重建损失和情感分类损失训练,使得模型能够生成准确、流畅、情感相反的句子;

4、step2、训练基于生成提示的无监督文本情感转换模型,训练过程分为两个阶段:第一阶段使用自监督训练来构建有效的内容提示向量,使模型能够理解和处理文本的情感内容;第二阶段通过重构损失和情感分类损失进行循环重建训练,带入情感提示来更好地理解和处理情感转换任务,从而生成更准确、自然符合目标情感的句子。

5、step3、基于生成提示的无监督文本情感转换:对模型输入的相关参数进行设置,达到对文本批量处理的目的,从而提高文本情感转换模型的速度,接着将训练好的神经网络模型进行保存,并部署于服务器上,实现对文本中情感属性的转换。

6、作为本发明的优选方案,所述步骤step1的具体步骤为:

7、step1.1、构建提示生成器,提示生成器是一个包含lstm层和mlp的序列到序列模型。该模型接受输入数据x,首先通过一个嵌入层进行词嵌入处理。接着,通过多次循环,lstm层处理嵌入后的数据,并在第一轮迭代时获取每个序列的最后一个lstm状态。然后,这些lstm状态经过mlp处理,生成最终的提示向量。最终的提示向量是一个三维张量,其中包含了一批序列在指定长度个时间步骤中的提示向量表示。

8、step1.2、构建生成器的输入形式,将两个三维的嵌入向量:内容提示向量和情感提示向量在第二维度上拼接,生成最终的提示向量。这样做的目的是将输入内容提示和情感提示合并在一起,以便将它们作为联合输入提供给模型进行后续处理和训练。

9、step1.3、构建预训练模型的解码形式,在预训练的gpt模型中,为了解码文本,我们需要首先将模型的嵌入层抽取出来,并将输入从原始模型输入离散文本(如整数表示的inputids)改为提示向量形式。解码过程中,利用过去的上下文信息(past key-value)来维持先前的计算状态,这样可以生成连贯、语法正确的文本。

10、step1.4、在预训练模型的基础上,将进行进一步的无监督训练。训练的目标是使模型能够生成准确、流畅且情感相反的句子。为了实现这一目标,本发明引入两种损失函数:文本重建损失和情感分类损失。

11、作为本发明的优选方案,所述步骤step2的具体步骤为:

12、step2.1、自监督训练第一阶段为自监督训练,通过提示生成器对文本进行再表征,为第二阶段的文本内容提示提供具有丰富语义信息的连续向量。其中,提示生成器是一个双向lstm(long short-term memory,lstm)模型,模型输出层连接一个多层感知机(multilayer perceptron,mlp)。

13、step2.2、循环重建训练第二阶段为循环重建训练,将情感提示向量与提示生成器生成的内容向量拼接形成最终提示,提示预训练语言模型gpt-2进行序列生成,从而指定模型生成特定情感的句子。

14、作为本发明的优选方案,所述步骤step2.1中:

15、step2.1.1、假设输入的序列为(x1,x2,...,xt),其中xt表示输入序列中的第t个词,也是最后一个词,使用bilstm对句子进行编码得到隐藏状态ht和记忆细胞ct:

16、ht,ct=bilstm(xt,ht-1,ct-1)

17、step2.1.2、再将隐藏状态经过一个mlp层得到文本潜在表征的第一个向量z1:

18、z1=mlp(ht)

19、step2.1.3、重新执行以上过程,得到每一个时间步的隐藏状态ht+i和记忆细胞ct+i,得到对应每个时间步的文本潜在表征向量zi+1:

20、ht+i,ct+i=bilstm(zi,ht+i-1,ct+i-1)

21、zi+1=mlp(ht+i)

22、step2.1.4、将得到的长度为n的文本潜在表征向量进行拼接操作得到最终的文本潜在表征ec:

23、

24、其中,[]表示向量拼接,再将其与指定的指示生成情感信息的情感向量<|positive|><|bosoftext|>拼接作为gpt-2最终的提示e:

25、e=[ec;es]

26、其中,es表示指示生成情感信息的情感向量(es是随机初始化的用于指定正负情感极性的提示向量,维度是2*768);

27、step2.1.5、将最终的提示向量e作为gpt-2模型的输入,进行训练,训练损失jrec如下:

28、

29、其中e为情感属性νsrc的句子通过提示生成器的提示,plm为本发明的模型gptst的序列生成概率,t为循环重建的句子x′的序列长度。

30、直观上,使用<|positive|>来提示模型生成特定情感的句子,<|bosoftext|>提示模型开始生成。

31、作为本发明的优选方案,所述步骤step2.2中:

32、step2.2.1、首先是情感奖励的构建,将情感属性为νsrc的句子x作为输入,输入提示生成器中,生成不包含情感信息仅包含文本内容的文本潜在表征向量ec。

33、step2.2.2、不同于第一阶段的输入组成,使用<|negative|><|bosoftext|>来对生成器生成的提示进行拼接,构成第二阶段最终的提示,使用相反情感极性的情感向量<|negative|>来提示模型要生成句子的情感极性。

34、step2.2.3、采用强化学习的方法,构建生成句子的奖励,来指导模型生成符合目标情感νtgt同时包含文本内容的句子y′。具体的奖励构建,gptst作为智能体(agent),与一个预训练的分类器作为环境(environment)进行交互,预训练的分类器可以根据gptst的生成序列提供字符级的反馈奖励(reward)。在形式上,情感奖励r和情感分类损失js被表示为:

35、r(y′)=-(vtgtlog(p(vtgt∣y′))+(1-vtgt)log(1-p(νtgt∣y′)))

36、js=ey′~p(y′)[r(y′)]

37、其中p是由预训练的分类器对生成序列匹配目标情感的概率,在训练的过程中分类器的参数是固定的。p(y′)是y′的序列生成概率,通过最大化情感奖励的期望r来获得最终损失js。

38、step2.2.4、对于文本信息保留的损失,使用循环重建的方法来构建。在情感转换任务中,转换情感的两个句子除了情感信息不同以外,句子的内容信息是相同的,换而言之,存在目标情感的句子可以重建原情感的句子。基于以上,构建了循环重建的方法来保证文本情感转换中内容保留的损失构建。

39、具体地,将情感属性vsrc的句子x′作为输入,生成目标情感属性νtgt的句子y′,再将y′作为输入循环生成具有原情感属性vsrc的句子x′,构建x与x′的循环重建损失来保证文本内容的保留。在形式上,文本重建的损失jc被表示为:

40、

41、其中x为情感属性νsrc的句子,plm为本发明的模型无监督文本情感转换模型gptst的序列生成概率,t为循环重建的句子x′的序列长度。

42、step2.2.5、为了鼓励模型同时提高文本保留度和情感转换准确性,使用两个损失的调和平均值作为最终损失:

43、

44、其中,α是调和权重,用于调整文本内容保留的相对重要性,平衡两个损失。

45、作为本发明的优选方案,所述步骤step3的具体步骤为:

46、step3.1、为实现文本情感转换模型批处理操作,首先将模型输入文本的批量大小定义为64,生成内容提示向量的长度设置为5,模型批量处理的大小为所输入文本的批量大小,以此实现模型对输入文本的并行计算,提高转换速度;

47、step3.2、将模型保存为“.pth”文件,通过flask框架将模型加载于内存中,避免请求结果带来频繁的模型加载过程,提高识别模型的运行速率;

48、step3.3、利用flask框架将模型部署为一个api接口,进而实现web端口多并发请求的功能;

49、step3.4、在web端通过调用部署到服务器端的文本情感转换模型,来转换输入文本的情感属性,进而得到相反情感极性的结果并将其展示到前端界面。

50、第二方面,本发明还提供基于生成提示的无监督文本情感转换装置,该装置包括用于执行上述第一方面的方法的模块。

51、本发明的有益效果是:

52、1、本发明在第一阶段,针对情感转换提示向量构建困难的问题,结合无监督情感转换任务设计了有效的内容提示向量,对文本内容进行编码得到内容提示向量,通过自监督训练进行提示生成器的训练。

53、2、本发明提示生成器通过将提示由离散向量转为连续向量,使得内容提示向量包含文本的语义信息和情感特征,从而使得模型能好地理解和处理文本的情感内容,使模型收敛变得容易。在此基础上,进一步通过重构损失和情感分类损失来构建循环重建的第二阶段训练,由于第一阶段的预训练,内容提示向量具有了文本的语义信息和关键特征,使得循环重建的损失收敛变得容易,通过融入情感提示,模型可以更好地理解生成文本的情感方向,进而处理情感转换任务,由于第一阶段的预训练,使得模型能够在第二阶段生成更准确、自然符合目标情感的句子;

54、3、本发明在文本保留度、情感转换及bleu等指标上均有明显的提升。

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