一种增强文本特征的对话生成方法和系统技术方案

技术编号:36040919 阅读:10 留言:0更新日期:2022-12-21 10:47
本发明专利技术涉及人机对话领域,具体涉及一种增强文本特征的对话生成方法和系统;该方法包括获取问题文本和回复文本,通过TextRank算法提取问题文本中的关键词,得到关键词序列;引入关键词编码器,关键词编码器通过注意力机制对每一个关键词进行编码得到对应的关键词向量;将关键词向量与语义向量拼接后输入第一多层感知机,得到包含丰富语义的关键词语义向量;将关键词语义向量与问题文本向量拼接后通过第二多层感知机,得到输入向量;根据输入向量训练对话生成模型,采用损失函数计算损失值并反向传播,调整对话生成模型的参数;本发明专利技术加强关键词的权重,增强对文本的特征表达,达到生成更高质量的对话文本的目的。生成更高质量的对话文本的目的。生成更高质量的对话文本的目的。

【技术实现步骤摘要】
一种增强文本特征的对话生成方法和系统


[0001]本专利技术涉及人机对话领域,特别涉及增强对话特征表达的开放领域生成模型,具体涉及一种增强文本特征的对话生成方法和系统。

技术介绍

[0002]人机对话主要分为面向任务和非任务的对话(开放领域)应用系统。与任务型的对话系统相比,开放领域的对话系统不需要执行特定的任务,所生成的回复相较任务型也更随意。聊天机器人目前可分为三种类型,即检索式,生成式和知识图谱式。检索式的聊天机器人利用排序和匹配等技术从已有的对话语料库中抽取最合适的回复,但这种方法只能生成语料库中存在的文本,无法实现对话的多样性,若语料库中的对话较多,生成回复的速度就会变慢,影响聊天的体验感。
[0003]随着端到端深度学习模型的深入发展,开放领域的对话系统模型已经解决相应部分问题,使所生成的对话回复更为丰富。其中,生成式的聊天机器人所使用的端到端的编码器解码器模型,通过将对话编码为特定的特征向量,由解码器从词表中采样得到生成对话的每一个词,使生成语料库中没有的对话得以生成,弥补了检索式对话只能按照语料库的模板生成对话的缺陷,使得回复更加丰富。但由于该生成模型从词表中采样,然后再将采样得到的词按采样顺序组合成回复的句子,对对话特征的表示不够完整,使得它极易产生低质量或不相关的语义反应。
[0004]以Seq2seq模型为例详细说明这类问题,Seq2seq是最早的端到端生成模型,对文本生成领域做出了重大的贡献。后续的聊天机器人基本都是基于seq2seq的范式。其包含两个循环神经网络(RNN),分别是编码器和解码器。编码器将输入序列编码为语义向量,解码器则将语义向量解码为输出序列。而RNN编码序列和解码序列都必须以自回归的方式从左到右依次进行,难以并行,处理长序列时间复杂度高。同时RNN难以建立长距离的上下文依赖模型,导致提取到的特征缺失了重要信息。
[0005]现有深度模型对文本序列中不同位置的单词的关注度是一样的。虽然现在有注意力机制来解决文本序列中单词权重的问题,但是现在的对话系统模型仍然以生成文本与参考文本的最大似然函数作为优化函数,而缺乏专门的优化函数来学习注意力权重,导致模型学习到的不同单词之间的重要性权重不准确。如果不使用注意力机制又会导致所有单词在文本特征中的权重相同,从而不符合开放式对话的场景。

技术实现思路

[0006]为解决现有生成式模型不能完全表征对话文本的特征、循环神经网络造成特征缺失、文本序列中所有单词在文本特征中权重相同导致极易生成一些通用的或者语义不准确的对话回复的问题,本专利技术提供了一种增强文本特征的对话生成方法和系统。
[0007]在第一方面,本专利技术提供了一种增强文本特征的对话生成方法,包括以下步骤:
[0008]S1.获取问题文本和回复文本,通过TextRank算法提取问题文本中的关键词,得到
关键词序列;通过输入编码器获取问题文本的问题文本向量;
[0009]S2.引入关键词编码器,关键词编码器通过注意力机制对关键词序列进行编码得到关键词向量;
[0010]S3.将关键词向量与语义向量拼接后输入第一多层感知机,得到包含丰富语义的关键词语义向量;
[0011]S4.将关键词语义向量与问题文本向量拼接后通过第二多层感知机,得到输入向量;
[0012]S5.根据输入向量和回复文本训练对话生成模型,采用损失函数计算损失值并反向传播,调整对话生成模型的参数;
[0013]S6.将待回复文本输入训练好的对话生成模型中生成对话。
[0014]进一步的,步骤S4还包括:
[0015]采用输出编码器获取回复文本的回复文本向量;
[0016]将关键词语义向量和问题文本向量拼接后通过第二层感知机,得到第一融合特征,将第一融合特征输入先验网络获取先验分布参数;
[0017]将关键词语义向量、问题文本向量和回复文本向量拼接后通过第三层感知机,得到第二融合特征,将第二融合特征输入识别网络获取近似后验分布参数;
[0018]对近似后验分布参数进行重参数化得到隐变量,通过线性变换将隐变量初始化,得到输入向量。
[0019]进一步的,关键词编码器通过注意力机制对关键词序列进行编码得到关键词向量,包括:
[0020]h
t
=Enc
key
(e(K))
[0021]Enc
key
(e(k
i
))=LSTM(input
i
)
[0022][0023][0024]其中,Enc
key
()表示关键词编码器,K=k1,k2,...,k
t
表示关键词序列,k
i
表示第i个关键词,h
t
表示关键词向量,e()表示计算单词的词向量,input
i
表示关键词k
i
的加权向量,LSTM()表示长短时记忆网络LSTM,α(e(k
i
),e(k
j
))表示关键词k
i
与关键词k
j
间的注意力权重,且1≤j<i。
[0025]进一步的,采用语义编码器获取语义向量,包括:
[0026]h
s
=Enc
sem
(e(S),(h0,c0))
[0027]其中,Enc
sem
()表示语义编码器,h
s
表示语义向量,h0表示语义编码器初始隐状态,c0表示语义编码器初始细胞状态,S表示问题文本对应的语义文本。
[0028]在第二方面,基于第一方面提出的方法,本专利技术提供了一种增强文本特征的对话生成系统,包括样本模块、关键词提取模块、编码模块、融合模块、训练模块,其中:
[0029]样本模块,用于获取多组对话样本,对话样本中包括问题文本和回复文本;
[0030]关键词提取模块,用于在问题文本中提取多个关键词,组成关键词序列;
[0031]编码模块包括输入编码器、输出编码器、关键词编码器和语义编码器,用于对样本模块和关键词提取模块的数据进行编码;
[0032]融合模块包括第一融合模块和第二融合模块:
[0033]第一融合模块,用于融合关键词向量与语义向量得到包含丰富语义的关键词语义向量;
[0034]第二融合模块,用于融合关键词语义向量与问题文本向量;
[0035]训练模块,用于训练对话生成模型,采用损失函数计算损失并反向传播,调整对话生成模型的参数。
[0036]进一步的,还包括第三融合模块、先验网络和识别网络:
[0037]第三融合模块,用于融合关键词语义向量、问题文本向量和回复文本向量;
[0038]先验网络,用于接收第二融合模块的输出结果,获取先验分布参数;
[0039]识别网络,用于接收第三融合模块的输出结果,获取近似后验分布参数。
[0040]本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种增强文本特征的对话生成方法,其特征在于,包括以下步骤:S1.获取问题文本和回复文本,通过TextRank算法提取问题文本中的关键词,得到关键词序列;通过输入编码器获取问题文本的问题文本向量;S2.引入关键词编码器,关键词编码器通过注意力机制对关键词序列进行编码得到关键词向量;S3.将关键词向量与语义向量拼接后输入第一多层感知机,得到包含丰富语义的关键词语义向量;S4.将关键词语义向量与问题文本向量拼接后通过第二多层感知机,得到输入向量;S5.根据输入向量和回复文本训练对话生成模型,采用损失函数计算损失值并反向传播,调整对话生成模型的参数;S6.将待回复文本输入训练好的对话生成模型中生成对话。2.根据权利要求1所述的一种增强文本特征的对话生成方法,其特征在于,步骤S4还包括:采用输出编码器获取回复文本的回复文本向量;将关键词语义向量和问题文本向量拼接后通过第二层感知机,得到第一融合特征,将第一融合特征输入先验网络获取先验分布参数;将关键词语义向量、问题文本向量和回复文本向量拼接后通过第三层感知机,得到第二融合特征,将第二融合特征输入识别网络获取近似后验分布参数;对近似后验分布参数进行重参数化得到隐变量,通过线性变换将隐变量初始化,得到输入向量。3.根据权利要求1所述的一种增强文本特征的对话生成方法,其特征在于,关键词编码器通过注意力机制对关键词序列进行编码得到关键词向量,包括:h
t
=Enc
key
(e(K))Enc
key
(e(k
i
))=LSTM(input
i
))其中,Enc
key
()表示关键词编码器,K=k1,k2,...,k
t
表示关键词序列,k
i
表示第i个关键词,h
t
表示关键词向量,e()表示计算单词...

【专利技术属性】
技术研发人员:王烨廖靖波于洪雷大江黄昌豪杨峻杰卞政轩
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

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

1