一种基于长短时记忆信息的个性化对话生成方法和系统技术方案

技术编号:26791113 阅读:47 留言:0更新日期:2020-12-22 17:06
本发明专利技术涉及一种基于长短时记忆信息的个性化对话生成方法和系统,包括以下步骤:将输入文本和用户对话历史的文本表示为句子向量;将输入文本进行编码获得感知记忆信息;在用户对话历史的文本中筛选出与输入文本最相似的历史作为当前输入下用户的长时记忆,将长时记忆进行编码得到长时记忆信息;将与输入文本时间上最为接近的用户对话历史进行编码得到用户的短时记忆信息;将感知记忆信息、长时记忆信息和短时记忆信息在每个生成时刻更新并与之前时刻的输出信息一同进行解码,从而生成具有用户个性的对话。其针对不同内容和不同时刻的输入区别对待对话历史,提供不同维度的记忆信息作为动态的隐式人设,生成结果更加符合真实对话场景。

【技术实现步骤摘要】
一种基于长短时记忆信息的个性化对话生成方法和系统
本专利技术涉及一种基于长短时记忆信息的个性化对话生成方法和系统,属于人工智能

技术介绍
伴随着由数据驱动的端到端对话系统的发展,个性化对话系统开始出现。闲聊型个性化对话系统,即是针对开放领域下输入给出合适回复的同时,输出的结果能具有人的角色信息。在应用中,无论是虚拟的社交机器人还是智能个人代理回复,都要求对话模型给出的回复具备人物角色信息,因此需要赋予模型人物设定(本文中简称为人设)来维持人物角色信息的统一。目前为个性化对话系统构建人设的方法主要分为显式人设和隐式人设两种。显式人设主要通过预先设定的属性关键词或句子描述等来作为模型个性化的人设信息,在模型输出结果时利用这些显式的文本信息来控制模型的生成或选择过程。相对地,隐式人设则没有任何显式定义的文本来作为角色信息,模型通过用户对话历史为每个用户构建隐式的个性向量,以此作为用户的人设加入到生成过程中,来维持输出结果的人设一致性。显式人设的方法为了构建大规模与人设相关的训练数据,需要投入大量的人力资源,来模拟相关对话场景或者构造规则。而且,由于显式人设能够预先给出人设信息有限,如PERSONA-CHAT数据集中,仅用5句话作为人设信息,因此面对设定之外的输入,模型仍倾向于给出设定相关的回复,从而降低了回复质量。在实际应用中,面对新的人物或者新的属性设定均需要重复之前的步骤。因此,显式人设的方法只适用于固定且小规模的场景范围。对应地,隐式人设的方法则自动从对话历史中学习用户的角色信息,将用户个性化的角色信息转换为向量来表示用户的人设,通过隐式的个性向量来引导模型生成或选择个性化的回复。因此,隐式人设的方法避免了为每个用户配置人设的过程,可以在大规模的用户群体上构建用户特有的个性化对话模型,面对同样的输入根据不同用户的特点给出个性化回复,可作为用户的代理回复助手。隐式人设的方式虽然可以通过隐式的个性向量来学习用户对话历史中的人物性格和语言习惯等个性化特征。然而现有的研究工作大多从全局层面来构建用户个性向量,这样不加区别地使用用户历史,最终得到的静态个性向量包含了对话历史中用户所有的个性化特征,在面对不同的输入时,模型难以表达出用户具体某个方面的个性特征。Li等人(Li,Piji,etal.“Persona-AwareTipsGeneration.”TheWorldWideWebConference.2019)利用用户历史为每个用户构建与个性化相关的关键词,在关键词生成的不同时刻,通过注意力机制将关键词加权求得表示用户个性的个性向量,而非通过模型训练得到用户个性向量。这在一定程度上使得隐式人设从静态的向量转变为动态的向量,可以在生成的不同阶段进行调整,然而该方法仅关注了显著的个性化关键词而忽略了用户个人语言习惯等细微的个性化特征。
技术实现思路
针对上述问题,本专利技术的目的是提供一种基于长短时记忆信息的个性化对话生成方法和系统,其通过模拟人的记忆类型提出了基于长、短时记忆信息的个性化对话生成模型,针对不同内容和不同时刻的输入区别对待对话历史,在解码过程中提供不同维度的记忆信息作为动态的隐式人设,使生成的结果更加符合真实多变的对话场景。为实现上述目的,本专利技术采取以下技术方案:一种基于长短时记忆信息的个性化对话生成方法,包括以下步骤:S1将输入文本和用户对话历史的文本表示为句子向量;S2将输入文本进行编码获得感知记忆信息;S3在用户对话历史的文本中筛选出与输入文本最相似的历史作为当前输入下用户的长时记忆,将长时记忆进行编码得到长时记忆信息;S4将与输入文本时间上最为接近的用户对话历史进行编码得到用户的短时记忆信息;S5将感知记忆信息、长时记忆信息和短时记忆信息在每个生成时刻更新并与之前时刻的输出信息一同进行解码,从而生成具有用户个性的对话。进一步,步骤S2中获得感知记忆信息的方法为:输入文本进入Seq2Seq模型进行编码得到用户对输入文本的感知信息,并将感知信息带入注意力机制,将其合并为解码过程生成回复的不同时刻的感知记忆信息。进一步,感知记忆编码模块的公式为:其中,表示在编码器的不同时刻i输入信息的中间隐含状态向量,n为输入的长度;xi为在时刻i输入的词;φ(·)表示获取单词词向量的函数;表示在解码j时刻模型关于输入的感知记忆信息;sj表示解码j时刻解码器的隐含状态,GRU(·)为门控循环单元函数,Attn(·)为注意力机制函数。进一步,步骤S3中用户对话历史的文本与输入文本的相似性的判断方法为:将输入文本映射到与用户对话历史的文本相同的向量空间中,以单词的逆文档频率来衡量输入文本与用户对话历史的文本的相似性,单词的逆文档频率idf的计算公式为:其中,a、b、c分别表示词表中单词的序号,文档集合中文档的序号和句子w中单词的序号;D={d1,d2,…}为整个文档集合;{b:wa∈db}为包含单词wa的文档db的集合;∈(·)表示计算句子w的句子向量的函数;φ(·)表示获取单词词向量的函数。进一步,步骤S3中得到长时记忆信息的方法为:将输入文本映射到与用户对话历史的文本相同的向量空间中,分别计算输入文本与用户的历史回复以及与历史回复对应的其他用户的输入的句子的相似度,其计算公式为:其中,pl和rl分别表示用户对话历史数据的其他用户输入历史和用户回复历史,L为对话历史的数目;表示输入文本X与其他用户输入历史pl的相似度;表示输入文本X与该用户回复历史rl的相似度;scl表示输入文本与第l条用户对话历史整体的相似度,通过平衡因子α来调整和的权重;得到输入文本X与用户对话历史相似度分布sc={sc1,sc2,…,scL}后,取相似度最高的前K个对话历史,保留其时间顺序,将当前用户的回复历史Rlong={r1,r2,…,rK}作为长时记忆信息。进一步,步骤S4中得到短时记忆信息的方法为:直接提取用户最近的T条对话回复历史,作为短时记忆输入数据Rshort={r1,r2,…,rT},其计算公式为:其中,表示在编码器的不同时刻k长时记忆信息的中间隐含状态向量,GRU(·)为门控循环单元函数。进一步,编码后的长时记忆信息和短时记忆信息的隐含向量Hl、Hs,通过注意力机制确定其在解码过程的不同时刻的权重,加权得到在每个解码时刻的用户的长时记忆信息和短时记忆信息,使用遮蔽注意力机制,对于权重小于阈值的长时记忆信息和短时记忆信息,在加权时进行遮蔽,遮蔽注意力机制的公式为:其中,sj表示在解码j时刻的中间隐含状态;H表示编码器的隐含状态序列;ajk表示原始的注意力机制的权重;为遮蔽后的注意力机制的权重;I(·)为遮蔽函数,当权重ajk低于注意力阈值γ时返回0,反之为1。进一步,在步骤S5中,解码的公式为:p(yj|sj)=softmax(Wosj)其中,sj表示在解码过程中j时刻的中间隐含状态;GRU(·)为门控循环本文档来自技高网
...

【技术保护点】
1.一种基于长短时记忆信息的个性化对话生成方法,其特征在于,包括以下步骤:/nS1将输入文本和用户对话历史的文本表示为句子向量;/nS2将所述输入文本进行编码获得感知记忆信息;/nS3在所述用户对话历史的文本中筛选出与所述输入文本最相似的历史作为当前输入下用户的长时记忆,将所述长时记忆进行编码得到长时记忆信息;/nS4将与所述输入文本时间上最为接近的所述用户对话历史进行编码得到用户的短时记忆信息;/nS5将所述感知记忆信息、长时记忆信息和短时记忆信息在每个生成时刻更新并与之前时刻的输出信息一同进行解码,从而生成具有用户个性的对话。/n

【技术特征摘要】
1.一种基于长短时记忆信息的个性化对话生成方法,其特征在于,包括以下步骤:
S1将输入文本和用户对话历史的文本表示为句子向量;
S2将所述输入文本进行编码获得感知记忆信息;
S3在所述用户对话历史的文本中筛选出与所述输入文本最相似的历史作为当前输入下用户的长时记忆,将所述长时记忆进行编码得到长时记忆信息;
S4将与所述输入文本时间上最为接近的所述用户对话历史进行编码得到用户的短时记忆信息;
S5将所述感知记忆信息、长时记忆信息和短时记忆信息在每个生成时刻更新并与之前时刻的输出信息一同进行解码,从而生成具有用户个性的对话。


2.如权利要求1所述的基于长短时记忆信息的个性化对话生成方法,其特征在于,所述步骤S2中获得感知记忆信息的方法为:所述输入文本进入Seq2Seq模型进行编码得到用户对所述输入文本的感知信息,并将所述感知信息带入注意力机制,将其合并为解码过程生成回复的不同时刻的感知记忆信息。


3.如权利要求2所述的基于长短时记忆信息的个性化对话生成方法,其特征在于,所述感知记忆编码模块的公式为:






其中,表示在编码器的不同时刻i输入信息的中间隐含状态向量,n为输入的长度;xi为在时刻i输入的词;φ(·)表示获取单词词向量的函数;表示在解码j时刻模型关于输入的感知记忆信息;sj表示解码j时刻解码器的隐含状态,GRU(·)为门控循环单元函数,Attn(·)为注意力机制函数。


4.如权利要求1所述的基于长短时记忆信息的个性化对话生成方法,其特征在于,所述步骤S3中用户对话历史的文本与输入文本的相似性的判断方法为:将所述输入文本映射到与所述用户对话历史的文本相同的向量空间中,以单词的逆文档频率来衡量输入文本与用户对话历史的文本的相似性,所述单词的逆文档频率idf的计算公式为:






其中,a、b、c分别表示词表中单词的序号,文档集合中文档的序号和句子w中单词的序号;D={d1,d2,...}为整个文档集合;{b:wa∈db}为包含单词wa的文档db的集合;∈(·)表示计算句子w的句子向量的函数;φ(·)表示获取单词词向量的函数。


5.如权利要求4所述的基于长短时记忆信息的个性化对话生成方法,其特征在于,所述步骤S3中得到长时记忆信息的方法为:将所述输入文本映射到与所述用户对话历史的文本相同的向量空间中,分别计算所述输入文本与用户的历史回复以及与所述历史回复对应的其他用户的输入的句子的相似度,其计算公式为:









其中,pl和rl分别表示用户对话历史数据的其他用户输入历史和用户回复历史,L为对话历史的数目;表示输入文本X与其他用户输入历史pl的相似度;表示输入文本X与该用户回复历史rl的相似度;scl表示输入文本与第l条用户对话历史整体的相似度,通过平衡因子α来调整和的权重;
得到输入文本X与用户对话历史相似度分布sc={sc1,sc2,...,scL}后,取相似...

【专利技术属性】
技术研发人员:窦志成李小禾
申请(专利权)人:中国人民大学
类型:发明
国别省市:北京;11

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

1