CN112115247A - 一种基于长短时记忆信息的个性化对话生成方法和系统 - Google Patents

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

Info

Publication number
CN112115247A
CN112115247A CN202010927235.0A CN202010927235A CN112115247A CN 112115247 A CN112115247 A CN 112115247A CN 202010927235 A CN202010927235 A CN 202010927235A CN 112115247 A CN112115247 A CN 112115247A
Authority
CN
China
Prior art keywords
memory information
user
long
time
short
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010927235.0A
Other languages
English (en)
Other versions
CN112115247B (zh
Inventor
窦志成
李小禾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renmin University of China
Original Assignee
Renmin University of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renmin University of China filed Critical Renmin University of China
Priority to CN202010927235.0A priority Critical patent/CN112115247B/zh
Publication of CN112115247A publication Critical patent/CN112115247A/zh
Application granted granted Critical
Publication of CN112115247B publication Critical patent/CN112115247B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)

Abstract

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

Description

一种基于长短时记忆信息的个性化对话生成方法和系统
技术领域
本发明涉及一种基于长短时记忆信息的个性化对话生成方法和系统,属于人工智能技术领域。
背景技术
伴随着由数据驱动的端到端对话系统的发展,个性化对话系统开始出现。闲聊型个性化对话系统,即是针对开放领域下输入给出合适回复的同时,输出的结果能具有人的角色信息。在应用中,无论是虚拟的社交机器人还是智能个人代理回复,都要求对话模型给出的回复具备人物角色信息,因此需要赋予模型人物设定(本文中简称为人设)来维持人物角色信息的统一。目前为个性化对话系统构建人设的方法主要分为显式人设和隐式人设两种。显式人设主要通过预先设定的属性关键词或句子描述等来作为模型个性化的人设信息,在模型输出结果时利用这些显式的文本信息来控制模型的生成或选择过程。相对地,隐式人设则没有任何显式定义的文本来作为角色信息,模型通过用户对话历史为每个用户构建隐式的个性向量,以此作为用户的人设加入到生成过程中,来维持输出结果的人设一致性。
显式人设的方法为了构建大规模与人设相关的训练数据,需要投入大量的人力资源,来模拟相关对话场景或者构造规则。而且,由于显式人设能够预先给出人设信息有限,如PERSONA-CHAT数据集中,仅用5句话作为人设信息,因此面对设定之外的输入,模型仍倾向于给出设定相关的回复,从而降低了回复质量。在实际应用中,面对新的人物或者新的属性设定均需要重复之前的步骤。因此,显式人设的方法只适用于固定且小规模的场景范围。对应地,隐式人设的方法则自动从对话历史中学习用户的角色信息,将用户个性化的角色信息转换为向量来表示用户的人设,通过隐式的个性向量来引导模型生成或选择个性化的回复。因此,隐式人设的方法避免了为每个用户配置人设的过程,可以在大规模的用户群体上构建用户特有的个性化对话模型,面对同样的输入根据不同用户的特点给出个性化回复,可作为用户的代理回复助手。隐式人设的方式虽然可以通过隐式的个性向量来学习用户对话历史中的人物性格和语言习惯等个性化特征。然而现有的研究工作大多从全局层面来构建用户个性向量,这样不加区别地使用用户历史,最终得到的静态个性向量包含了对话历史中用户所有的个性化特征,在面对不同的输入时,模型难以表达出用户具体某个方面的个性特征。Li等人(Li,Piji,et al.“Persona-Aware Tips Generation.”The WorldWide Web Conference.2019)利用用户历史为每个用户构建与个性化相关的关键词,在关键词生成的不同时刻,通过注意力机制将关键词加权求得表示用户个性的个性向量,而非通过模型训练得到用户个性向量。这在一定程度上使得隐式人设从静态的向量转变为动态的向量,可以在生成的不同阶段进行调整,然而该方法仅关注了显著的个性化关键词而忽略了用户个人语言习惯等细微的个性化特征。
发明内容
针对上述问题,本发明的目的是提供一种基于长短时记忆信息的个性化对话生成方法和系统,其通过模拟人的记忆类型提出了基于长、短时记忆信息的个性化对话生成模型,针对不同内容和不同时刻的输入区别对待对话历史,在解码过程中提供不同维度的记忆信息作为动态的隐式人设,使生成的结果更加符合真实多变的对话场景。
为实现上述目的,本发明采取以下技术方案:一种基于长短时记忆信息的个性化对话生成方法,包括以下步骤:S1将输入文本和用户对话历史的文本表示为句子向量;S2将输入文本进行编码获得感知记忆信息;S3在用户对话历史的文本中筛选出与输入文本最相似的历史作为当前输入下用户的长时记忆,将长时记忆进行编码得到长时记忆信息;S4将与输入文本时间上最为接近的用户对话历史进行编码得到用户的短时记忆信息;S5将感知记忆信息、长时记忆信息和短时记忆信息在每个生成时刻更新并与之前时刻的输出信息一同进行解码,从而生成具有用户个性的对话。
进一步,步骤S2中获得感知记忆信息的方法为:输入文本进入Seq2Seq模型进行编码得到用户对输入文本的感知信息,并将感知信息带入注意力机制,将其合并为解码过程生成回复的不同时刻的感知记忆信息。
进一步,感知记忆编码模块的公式为:
Figure BDA0002668848720000021
Figure BDA0002668848720000022
其中,
Figure BDA0002668848720000023
表示在编码器的不同时刻i输入信息的中间隐含状态向量,
Figure BDA0002668848720000024
Figure BDA0002668848720000025
n为输入的长度;xi为在时刻i输入的词;φ(·)表示获取单词词向量的函数;
Figure BDA0002668848720000026
表示在解码j时刻模型关于输入的感知记忆信息;sj表示解码j时刻解码器的隐含状态,GRU(·)为门控循环单元函数,Attn(·)为注意力机制函数。
进一步,步骤S3中用户对话历史的文本与输入文本的相似性的判断方法为:将输入文本映射到与用户对话历史的文本相同的向量空间中,以单词的逆文档频率来衡量输入文本与用户对话历史的文本的相似性,单词的逆文档频率idf的计算公式为:
Figure BDA0002668848720000027
Figure BDA0002668848720000031
其中,a、b、c分别表示词表中单词的序号,文档集合中文档的序号和句子w中单词的序号;D={d1,d2,…}为整个文档集合;{b:wa∈db}为包含单词wa的文档db的集合;∈(·)表示计算句子w的句子向量的函数;φ(·)表示获取单词词向量的函数。
进一步,步骤S3中得到长时记忆信息的方法为:将输入文本映射到与用户对话历史的文本相同的向量空间中,分别计算输入文本与用户的历史回复以及与历史回复对应的其他用户的输入的句子的相似度,其计算公式为:
Figure BDA0002668848720000032
Figure BDA0002668848720000033
Figure BDA0002668848720000034
其中,pl和rl分别表示用户对话历史数据的其他用户输入历史和用户回复历史,L为对话历史的数目;
Figure BDA0002668848720000035
表示输入文本X与其他用户输入历史pl的相似度;
Figure BDA0002668848720000036
表示输入文本X与该用户回复历史rl的相似度;scl表示输入文本与第l条用户对话历史整体的相似度,通过平衡因子α来调整
Figure BDA0002668848720000037
Figure BDA0002668848720000038
的权重;得到输入文本X与用户对话历史相似度分布sc={sc1,sc2,…,scL}后,取相似度最高的前K个对话历史,保留其时间顺序,将当前用户的回复历史Rlong={r1,r2,…,rK}作为长时记忆信息。
进一步,步骤S4中得到短时记忆信息的方法为:直接提取用户最近的T条对话回复历史,作为短时记忆输入数据Rshort={r1,r2,…,rT},其计算公式为:
Figure BDA0002668848720000039
其中,
Figure BDA00026688487200000310
表示在编码器的不同时刻k长时记忆信息的中间隐含状态向量,
Figure BDA00026688487200000311
Figure BDA00026688487200000312
GRU(·)为门控循环单元函数。
进一步,编码后的长时记忆信息和短时记忆信息的隐含向量Hl、Hs,通过注意力机制确定其在解码过程的不同时刻的权重,加权得到在每个解码时刻的用户的长时记忆信息和短时记忆信息,使用遮蔽注意力机制,对于权重小于阈值的长时记忆信息和短时记忆信息,在加权时进行遮蔽,遮蔽注意力机制的公式为:
Figure BDA00026688487200000313
Figure BDA00026688487200000314
其中,sj表示在解码j时刻的中间隐含状态;H表示编码器的隐含状态序列;ajk表示原始的注意力机制的权重;
Figure BDA00026688487200000315
为遮蔽后的注意力机制的权重;I(·)为遮蔽函数,当权重ajk低于注意力阈值γ时返回0,反之为1。
进一步,在步骤S5中,解码的公式为:
Figure BDA0002668848720000041
p(yj|sj)=softmax(Wosj)
其中,sj表示在解码过程中j时刻的中间隐含状态;GRU(·)为门控循环单元函数;
Figure BDA0002668848720000042
分别表示感知记忆向量、短时记忆向量和长时记忆向量;φ(·)表示获取单词词向量的函数;[·,·]表示向量拼接操作;Wo是在输出过程中将sj映射到词表空间的参数矩阵;yj表示解码过程在j时刻输出的词;p(yj|sj)为在解码过程在时刻j下,词典中词的生成概率,选择概率最大的词作为当前生成的词yj
进一步,选择概率最大的词作为当前生成的词yj通过使损失函数最小化实现,损失函数为:
Figure BDA0002668848720000043
其中,θ为模型中所有能够学习的参数,V为解码器端的生成词表,y′v,j为词v在j时刻的真实概率,若在j时刻原始回复中是词v则为1,否则为0,p(yv,j)为词v在j时刻的生成概率。
本发明还公开了一种基于长短时记忆信息的个性化对话生成系统,包括:句子向量模块,用于将输入文本和用户对话历史的文本表示为句子向量;感知模块,用于将输入文本进行编码获得感知记忆信息;长时记忆模块,用于在用户对话历史的文本中筛选出与输入文本最相似的历史作为当前输入下用户的长时记忆,将长时记忆进行编码得到长时记忆信息;短时记忆模块,用于将与输入文本时间上最为接近的用户对话历史进行编码得到用户的短时记忆信息;解码模块,用于将感知记忆信息、长时记忆信息和短时记忆信息进行解码,从而生成具有用户个性的对话。
本发明由于采取以上技术方案,其具有以下优点:
1、本发明通过模拟人的记忆类型提出了基于长、短时记忆信息的个性化对话生成模型,针对不同内容和不同时刻的输入区别对待对话历史,在解码过程中提供不同维度的记忆信息作为动态的隐式人设,使生成的结果更加符合真实多变的对话场景。
2、本发明提出了记忆编码模块来模拟人的记忆类型,针对不同的输入提取相关的记忆信息,并在生成过程动态地构建用户的隐式人设,并通过遮蔽注意力机制来减少记忆向量中的噪音,强化最相关的用户回复历史中的个性化特征,这使得模型能更灵活地表达用户局部的个性化特征,更加符合复杂多变的真实对话场景,具有一定的实用价值。
附图说明
图1是本发明一实施例中基于长短时记忆信息的个性化对话生成方法的示意图;
图2是本发明一实施例中长时记忆信息生成方法的示意图;
图3是本发明一实施例中短时记忆信息生成方法的示意图。
具体实施方式
为了使本领域技术人员更好的理解本发明的技术方向,通过具体实施例对本发明进行详细的描绘。然而应当理解,具体实施方式的提供仅为了更好地理解本发明,它们不应该理解成对本发明的限制。在本发明的描述中,需要理解的是,所用到的术语仅仅是用于描述的目的,而不能理解为指示或暗示相对重要性。
心理学中将人的记忆分为了感知记忆、短时记忆和长时记忆三种类型。为了保留用户对话历史中丰富的个性化信息,本发明通过模拟人的记忆类型提出了基于长、短时记忆信息的个性化对话生成模型,针对不同内容和不同时刻的输入文本区别对待对话历史的文本,在解码过程中提供不同维度的记忆信息作为动态的隐式人设,更加符合真实多变的对话场景。
个性化对话生成的回复的问题可以描述为:对于给定一段文本X=(x1,x2,…,xn)和用户的回复历史,生成满足指定用户个性化特征的回复Y=(y1,y2,…,ym)。个性化特征包括用户偏好、语言风格等。生成的回复Y除了满足语法通顺性、语义连贯性,还需要具备一定信息量体现出个性化特征。
实施例一
本实施例公开了一种基于长短时记忆信息的个性化对话生成方法,如图1所示,包括以下步骤:
S1将输入文本和用户对话历史的文本表示为句子向量。
S2将输入文本进行编码获得感知记忆信息。
当给定一段输入文本,需要将输入文本转化为可计算的向量信息,以便在后续过程中进行计算生成合适的回复。这个过程与人感知原始信息、处理加工信息的过程类似,因此感知记忆编码主要基于Seq2Seq模型和注意力机制对输入文本进行处理。Seq2Seq模型对输入文本进行编码得到用户对输入的感知信息,该感知信息通过注意力机制合并为解码过程生成回复的不同时刻的感知记忆,由此来提供动态的记忆信息,关注输入文本在每个解码时刻的不同重点。
Seq2Seq模型通常由编码器和解码器组成。编码器的作用是对输入文本X进行表示,将输入文本X转化为一个中间状态的稠密向量H=(h1,h2,…,hn)。而解码器的作用则是将这个中间状态向量hn解码为最终输出的文本Y。通常使用长短时依赖记忆单元(LSTM)或者门控循环单元(GRU)作为编码器、解码器的基本单元。在本实施例中采用GRU作为编码器、解码器的基本单元。GRU在每个时刻t,通过更新门和重置门进行控制,其计算过程如下:
z=σ(Wzxt+Uzht-1)
r=σ(Wrxt+Urht-1)
Figure BDA0002668848720000061
Figure BDA0002668848720000062
其中,z是更新门输出结果;r是重置门输出结果;s是输入细胞状态向量;tanh(·)和σ(·)是激活函数;
Figure BDA0002668848720000066
表示向量的点积;Wz,Wr,Ws,Uz,Ur,Us分别为不同门下的参数矩阵,用于将t时刻输入向量xt和上一时刻中间状态ht-1映射到同一语义空间。为了减少与后文的符号冗余,将GRU的计算公式进行简化,令ht=GRU(ht-1,xt),xt表示GRU在t时刻的输入向量,ht表示GRU在t时刻的隐含向量。
因此,编码器和解码器的计算过程可以分别表示为:
ht=GRUencoder(ht-1,φ(xt))
st=GRUdecoder(st-1,φ(yt-1))
其中,门控循环单元函数GRU(·)使用不同参数初始化分别得到编码单元GRUencoder(·)和解码单元GRUdecoder(·);φ(·)表示获取单词词向量的函数;ht,st分别是编码器和解码器在t时刻的中间隐含状态;yt表示解码器在t时刻输出的词。
由于,编码过程中仅使用编码器的最后一个输出hn作为输入语句的表示;同时,在解码过程中,每个时刻t解码器的输出值只依赖于上一个时刻的状态st-1和上一个生成词的词向量yt,输入语句的其他信息没有得到充分的利用,也没有被充分表达。所以需要引入注意力机制,来丰富解码过程的输入信息。引入注意力机制后,解码器采用如下公式进行解码:
si=GRUdecoder(si-1,[φ(yi-1),ci])
Figure BDA0002668848720000063
Figure BDA0002668848720000064
Figure BDA0002668848720000065
其中,[·,·]表示向量拼接操作;i是解码器的不同时刻;j是编码器的不同时刻;si是解码器在解码过程中每个时刻i的隐含状态;hj是编码器编码过程中的中间状态稠密向量H在j时刻的向量;eij是上一个时刻的解码器隐含状态si-1和在不同时刻j与编码器中间状态hj计算得到的注意力重要度,Wa为学习的参数矩阵;αij是注意力机制将重要度归一化后得到的分配给编码器不同时刻中间向量的加权权重;n是输入的长度;m为个性化回复的长度;ci是通过注意力机制权重对编码器所有中间状态加权求和计算得到的上下文信息的向量表示;yi是在时刻i生成词的词向量。为了减少后文符号冗余,将注意力机制的公式进行简化,令ci=Attn(si-1,H),其中H为编码器的中间隐含状态序列。
因此,感知记忆信息的获取公式为:
Figure BDA0002668848720000071
Figure BDA0002668848720000072
其中,
Figure BDA0002668848720000073
表示在编码器的不同时刻j输入信息的中间隐含状态向量,
Figure BDA0002668848720000074
Figure BDA0002668848720000075
n为输入的长度;xj表示在时刻j输入的词;φ(·)表示获取单词词向量的函数;
Figure BDA0002668848720000076
表示在解码i时刻模型关于输入的感知记忆信息;si表示解码过程i时刻解码器的隐含状态。
S3在用户对话历史的文本中筛选出与输入文本最相似的历史作为当前输入下用户的长时记忆,将长时记忆进行编码得到长时记忆信息。
目前用于构建隐式人设的个性向量通常是通过模型训练得出的静态向量,对话历史中用户不同的个性化特征仍然是不加区分地考虑,由于用户兴趣爱好的多样性,面对不同的输入,全局的角色信息难以在特定的话题领域对回复生成的过程进行很好地引导。因此,通过对人的记忆类型的模拟,本实施例通过对长时记忆信息进行编码模来捕获用户对话历史的文本中,与当前输入文本相关的长时记忆信息。当人们回复其他人给出的问题时,若要给出有信息量的回复,往往会在记忆中回想自己曾经的回复历史中与当前输入最为相关的,或者以前遇到过的类似的问题,根据当时的回复再重构出符合当前问题的回答。所以,如图2所示,为了模拟这个过程,输入的文本信息会被映射到与对话历史句子表示相同的向量空间,以单词的逆文档频率来衡量输入文本与用户对话历史的文本的相似性,单词的逆文档频率idf的计算公式为:
Figure BDA0002668848720000077
Figure BDA0002668848720000078
其中,a、b、c分别表示词表中单词的序号,文档集合中文档的序号和句子w中单词的序号;D={d1,d2,…}为整个文档集合;{b:wa∈db}为包含单词wa的文档db的集合;∈(·)表示计算句子w的句子向量的函数;φ(·)表示获取单词词向量的函数。在idf的计算公式中,若包含单词wi的文档数越多,说明该词越常见,对于句子的重要性就越小,其idf值也越小,以此来衡量单词的重要性。因此,在句子表示∈(w)公式中,使用每个单词的idf值作为其词向量的权重进行加权得到句子的向量表示,为了避免长句带来的影响,通过句子的长度进行平均。
步骤S3中得到长时记忆信息的方法为:将输入文本映射到与用户对话历史的文本相同的向量空间中,分别计算输入文本与用户的历史回复以及与历史回复对应的其他用户的输入的句子的相似度,其计算公式为:
Figure BDA0002668848720000081
Figure BDA0002668848720000082
Figure BDA0002668848720000083
其中,pl和rl分别表示用户对话历史数据的其他用户输入历史和用户回复历史,L为对话历史的数目;
Figure BDA0002668848720000084
表示输入文本X与其他用户输入历史pl的相似度;
Figure BDA0002668848720000085
表示输入文本X与该用户回复历史rl的相似度;scl表示输入文本与第l条用户对话历史整体的相似度,通过平衡因子α来调整
Figure BDA0002668848720000086
Figure BDA0002668848720000087
的权重;得到输入文本X与用户对话历史相似度分布sc={sc1,sc2,…,scL}后,取相似度最高的前K个对话历史,保留其时间顺序,将当前用户的回复历史Rlong={r1,r2,…,rK}作为长时记忆信息。编码当前用户的回复历史Rlong={r1,r2,…,rK}的时序信息。则其计算公式可表示为:
Figure BDA0002668848720000088
其中,
Figure BDA0002668848720000089
表示在编码器的不同时刻k长时记忆信息的中间隐含状态向量,
Figure BDA00026688487200000810
Figure BDA00026688487200000811
rk表示长时记忆数据Rlong中当前用户的第k条回复。
S4将与输入文本时间上最为接近的用户对话历史进行编码得到用户的短时记忆信息。
短时记忆(Short-term Memory,STM)作为被看做是处于长时记忆和感知记忆中间的一个阶段,记录了人在最近一段时间的记忆信息,对人在复述近期感知的内容和巩固记忆向长时记忆转化都有着重要作用。同时,在真实场景中,用户的角色个性化特征会随着时间变化,因此,通过提取用户在当前输入时刻之前的最近的历史信息,将其作为用户的短时记忆,来强化用户在最近时期的个性化特征信息,即使用户个性化特征随着时间而改变,也能及时地为模型提供其短期内最新的个性化信息。如图3所示,步骤S4中得到短时记忆信息的方法为:直接提取用户最近的T条对话回复历史,作为短时记忆输入数据Rshort={r1,r2,…,rT},其计算公式为:
Figure BDA0002668848720000091
其中,
Figure BDA0002668848720000092
表示在编码器的不同时刻k长时记忆信息的中间隐含状态向量,
Figure BDA0002668848720000093
Figure BDA0002668848720000094
GRU(·)为门控循环单元函数。
Figure BDA0002668848720000095
Figure BDA0002668848720000096
其中,sj表示在解码j时刻的中间隐含状态;H表示编码器的隐含状态序列;ajk表示原始的注意力机制的权重;
Figure BDA0002668848720000097
为遮蔽后的注意力机制的权重;I(·)为遮蔽函数,当权重ajk低于注意力阈值γ时返回0,反之为1。
因此,在解码不同时刻,长、短时记忆编码模块计算的记忆向量的公式可表示为:
Figure BDA0002668848720000098
Figure BDA0002668848720000099
其中,
Figure BDA00026688487200000910
分别表示解码时刻j的长时记忆向量和短时记忆向量;Hl、Hs分别表示长时记忆编码模块和短时记忆编码模块通过提取记忆信息后编码得到的中间隐含状态序列;sj表示在解码j时刻的中间隐含状态。
编码后的长时记忆信息和短时记忆信息的隐含向量Hl、Hs,通过注意力机制确定其在解码过程的不同时刻的权重,加权得到在每个解码时刻的用户的长时记忆信息和短时记忆信息,但这个过程并不是完全可靠,因为注意力机制会根据记忆信息与解码隐含状态的相似性衡量其权重大小,相似度会被归一化,于是所有提取出的记忆信息都会被考虑到记忆向量中进行计算,这显然会给模拟记忆得到向量表示的过程带来噪音。由于与输入最相似的长时记忆信息和与输入时间最相近的短时记忆信息的提取过程可能存在偏差,这些信息中可能只有少数是与输入真正相关的,其他不相关的信息应该在构建记忆向量的过程中被忽略,避免在解码的每个时刻影响生成结果的个性化表达。因此,为了得到最相关的用户个性化记忆信息,减少记忆信息中的噪音,本实施例中引入了遮蔽注意力机制,在通过注意力机制权重加权得到长时记忆向量的过程中,对于权重小于阈值的信息,在加权时进行遮蔽,从而只关注记忆信息中真正相关的部分。因此,遮蔽注意力机制的公式为:
Figure BDA00026688487200000911
Figure BDA00026688487200000912
其中,sj表示在解码j时刻的中间隐含状态;H表示编码器的隐含状态序列;ajk表示原始的注意力机制的权重;
Figure BDA0002668848720000101
为遮蔽后的注意力机制的权重;I(·)为遮蔽函数,当权重ajk低于注意力阈值γ时返回0,反之为1。
S5将感知记忆信息、长时记忆信息和短时记忆信息在每个生成时刻更新并与之前时刻的输出信息一同进行解码,从而生成具有用户个性的对话。
在解码过程中,感知记忆提供感知接收的输入信息,长、短时记忆提取与输入相关的用户对话历史信息作为动态的隐式人设,一同促进个性化回复的生成。解码模块利用感知记忆模块得到的对于当前输入的感知信息和长、短时记忆模块得到的用户动态的记忆信息来生成个性化回复,解码的公式为:
Figure BDA0002668848720000102
p(yj|sj)=softmax(Wosj)
其中,sj表示在解码过程中j时刻的中间隐含状态;GRU(·)为门控循环单元函数;
Figure BDA0002668848720000103
分别表示感知记忆向量、短时记忆向量和长时记忆向量;φ(·)表示获取单词词向量的函数;[·,·]表示向量拼接操作;Wo是在输出过程中将sj映射到词表空间的参数矩阵;yj表示解码过程在j时刻输出的词;p(yj|sj)为在解码过程在时刻j下,词典中词的生成概率,选择概率最大的词作为当前生成的词yj
训练过程中通过使用解码器生成的句子与原始回复的交叉熵作为损失函数,选择概率最大的词作为当前生成的词yj通过使损失函数最小化实现,损失函数为:
Figure BDA0002668848720000104
其中,θ为模型中所有能够学习的参数,V为解码器端的生成词表,y′v,j为词v在j时刻的真实概率,若在j时刻原始回复中是词v则为1,否则为0,p(yv,j)为词v在j时刻的生成概率。
不同于通过用户历史训练得到的静态向量作为隐式人设,长、短时记忆编码模块会根据输入内容和时刻的不同,动态地提取到用户的个性化记忆信息。此外,为了更好地提取长、短时记忆中与生成过程相关的局部信息,本发明还引入了一种遮蔽注意力机制,通过对注意力权重低于阈值的记忆信息进行遮蔽,来降低动态提取的局部个性化记忆信息中的噪音。
实施例二
基于相同的发明构思,本实施例公开了一种基于长短时记忆信息的个性化对话生成系统,包括:
句子向量模块,用于将输入文本和用户对话历史的文本表示为句子向量;
感知模块,用于将输入文本进行编码获得感知记忆信息;
长时记忆模块,用于在用户对话历史的文本中筛选出与输入文本最相似的历史作为当前输入下用户的长时记忆,将长时记忆进行编码得到长时记忆信息;
短时记忆模块,用于将与输入文本时间上最为接近的用户对话历史进行编码得到用户的短时记忆信息;
解码模块,用于将感知记忆信息、长时记忆信息和短时记忆信息进行解码,从而生成具有用户个性的对话。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。上述内容仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于长短时记忆信息的个性化对话生成方法,其特征在于,包括以下步骤:
S1将输入文本和用户对话历史的文本表示为句子向量;
S2将所述输入文本进行编码获得感知记忆信息;
S3在所述用户对话历史的文本中筛选出与所述输入文本最相似的历史作为当前输入下用户的长时记忆,将所述长时记忆进行编码得到长时记忆信息;
S4将与所述输入文本时间上最为接近的所述用户对话历史进行编码得到用户的短时记忆信息;
S5将所述感知记忆信息、长时记忆信息和短时记忆信息在每个生成时刻更新并与之前时刻的输出信息一同进行解码,从而生成具有用户个性的对话。
2.如权利要求1所述的基于长短时记忆信息的个性化对话生成方法,其特征在于,所述步骤S2中获得感知记忆信息的方法为:所述输入文本进入Seq2Seq模型进行编码得到用户对所述输入文本的感知信息,并将所述感知信息带入注意力机制,将其合并为解码过程生成回复的不同时刻的感知记忆信息。
3.如权利要求2所述的基于长短时记忆信息的个性化对话生成方法,其特征在于,所述感知记忆编码模块的公式为:
Figure FDA0002668848710000011
Figure FDA0002668848710000012
其中,
Figure FDA0002668848710000013
表示在编码器的不同时刻i输入信息的中间隐含状态向量,
Figure FDA0002668848710000014
Figure FDA0002668848710000015
n为输入的长度;xi为在时刻i输入的词;φ(·)表示获取单词词向量的函数;
Figure FDA0002668848710000016
表示在解码j时刻模型关于输入的感知记忆信息;sj表示解码j时刻解码器的隐含状态,GRU(·)为门控循环单元函数,Attn(·)为注意力机制函数。
4.如权利要求1所述的基于长短时记忆信息的个性化对话生成方法,其特征在于,所述步骤S3中用户对话历史的文本与输入文本的相似性的判断方法为:将所述输入文本映射到与所述用户对话历史的文本相同的向量空间中,以单词的逆文档频率来衡量输入文本与用户对话历史的文本的相似性,所述单词的逆文档频率idf的计算公式为:
Figure FDA0002668848710000017
Figure FDA0002668848710000018
其中,a、b、c分别表示词表中单词的序号,文档集合中文档的序号和句子w中单词的序号;D={d1,d2,...}为整个文档集合;{b:wa∈db}为包含单词wa的文档db的集合;∈(·)表示计算句子w的句子向量的函数;φ(·)表示获取单词词向量的函数。
5.如权利要求4所述的基于长短时记忆信息的个性化对话生成方法,其特征在于,所述步骤S3中得到长时记忆信息的方法为:将所述输入文本映射到与所述用户对话历史的文本相同的向量空间中,分别计算所述输入文本与用户的历史回复以及与所述历史回复对应的其他用户的输入的句子的相似度,其计算公式为:
Figure FDA00026688487100000210
Figure FDA0002668848710000021
Figure FDA0002668848710000022
其中,pl和rl分别表示用户对话历史数据的其他用户输入历史和用户回复历史,L为对话历史的数目;
Figure FDA00026688487100000211
表示输入文本X与其他用户输入历史pl的相似度;
Figure FDA0002668848710000023
表示输入文本X与该用户回复历史rl的相似度;scl表示输入文本与第l条用户对话历史整体的相似度,通过平衡因子α来调整
Figure FDA00026688487100000212
Figure FDA0002668848710000024
的权重;
得到输入文本X与用户对话历史相似度分布sc={sc1,sc2,...,scL}后,取相似度最高的前K个对话历史,保留其时间顺序,将当前用户的回复历史Rlong={r1,r2,...,rK}作为长时记忆信息。
6.如权利要求5所述的基于长短时记忆信息的个性化对话生成方法,其特征在于,所述步骤S4中得到短时记忆信息的方法为:直接提取用户最近的T条对话回复历史,作为短时记忆输入数据Rshort={r1,r2,...,rT},其计算公式为:
Figure FDA0002668848710000025
其中,
Figure FDA0002668848710000026
表示在编码器的不同时刻k长时记忆信息的中间隐含状态向量,
Figure FDA0002668848710000027
Figure FDA0002668848710000028
GRU(·)为门控循环单元函数。
7.如权利要求6所述的基于长短时记忆信息的个性化对话生成方法,其特征在于,编码后的所述长时记忆信息和短时记忆信息的隐含向量Hl、Hs,通过注意力机制确定其在解码过程的不同时刻的权重,加权得到在每个解码时刻的用户的所述长时记忆信息和短时记忆信息,使用遮蔽注意力机制,对于权重小于阈值的所述长时记忆信息和短时记忆信息,在加权时进行遮蔽,遮蔽注意力机制的公式为:
Figure FDA0002668848710000029
其中,sj表示在解码j时刻的中间隐含状态;H表示编码器的隐含状态序列;ajk表示原始的注意力机制的权重;
Figure FDA0002668848710000031
为遮蔽后的注意力机制的权重;I(·)为遮蔽函数,当权重ajk低于注意力阈值γ时返回0,反之为1。
8.如权利要求1-7任一项所述的基于长短时记忆信息的个性化对话生成方法,其特征在于,在所述步骤S5中,所述解码的公式为:
Figure FDA0002668848710000032
p(yj|sj)=softmax(Wosj)
其中,sj表示在解码过程中j时刻的中间隐含状态;GRU(·)为门控循环单元函数;
Figure FDA0002668848710000033
分别表示感知记忆向量、短时记忆向量和长时记忆向量;φ(·)表示获取单词词向量的函数;[·,·]表示向量拼接操作;Wo是在输出过程中将sj映射到词表空间的参数矩阵;yj表示解码过程在j时刻输出的词;p(yj|sj)为在解码过程在时刻j下,词典中词的生成概率,选择概率最大的词作为当前生成的词yj
9.如权利要求8所述的基于长短时记忆信息的个性化对话生成方法,其特征在于,所述选择概率最大的词作为当前生成的词yj通过使损失函数最小化实现,所述损失函数为:
Figure FDA0002668848710000034
其中,θ为模型中所有能够学习的参数,V为解码器端的生成词表,y′v,j为词v在j时刻的真实概率,若在j时刻原始回复中是词v则为1,否则为0,p(yv,j)为词v在j时刻的生成概率。
10.一种基于长短时记忆信息的个性化对话生成系统,其特征在于,包括:
句子向量模块,用于将输入文本和用户对话历史的文本表示为句子向量;
感知模块,用于将所述输入文本进行编码获得感知记忆信息;
长时记忆模块,用于在所述用户对话历史的文本中筛选出与所述输入文本最相似的历史作为当前输入下用户的长时记忆,将所述长时记忆进行编码得到长时记忆信息;
短时记忆模块,用于将与所述输入文本时间上最为接近的所述用户对话历史进行编码得到用户的短时记忆信息;
解码模块,用于将所述感知记忆信息、长时记忆信息和短时记忆信息进行解码,从而生成具有用户个性的对话。
CN202010927235.0A 2020-09-07 2020-09-07 一种基于长短时记忆信息的个性化对话生成方法和系统 Active CN112115247B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010927235.0A CN112115247B (zh) 2020-09-07 2020-09-07 一种基于长短时记忆信息的个性化对话生成方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010927235.0A CN112115247B (zh) 2020-09-07 2020-09-07 一种基于长短时记忆信息的个性化对话生成方法和系统

Publications (2)

Publication Number Publication Date
CN112115247A true CN112115247A (zh) 2020-12-22
CN112115247B CN112115247B (zh) 2023-10-10

Family

ID=73802302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010927235.0A Active CN112115247B (zh) 2020-09-07 2020-09-07 一种基于长短时记忆信息的个性化对话生成方法和系统

Country Status (1)

Country Link
CN (1) CN112115247B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112818107A (zh) * 2021-02-24 2021-05-18 中国人民大学 一种用于日常生活的对话机器人及其聊天方法
CN113032563A (zh) * 2021-03-22 2021-06-25 山西三友和智慧信息技术股份有限公司 一种基于人工遮掩关键词的正则化文本分类微调方法
CN113111241A (zh) * 2021-04-08 2021-07-13 浙江大学 一种博弈对话中基于对话历史和强化学习的多轮对话方法
CN113360610A (zh) * 2021-05-19 2021-09-07 山东师范大学 基于Transformer模型的对话生成方法及系统
CN114021581A (zh) * 2021-11-12 2022-02-08 中国人民大学 一种基于回复增强的隐式个性化对话生成方法
CN114036960A (zh) * 2021-11-29 2022-02-11 中国人民大学 一种多粒度个性化对话生成方法
CN114386426A (zh) * 2021-11-25 2022-04-22 北京容联易通信息技术有限公司 一种基于多元语义融合的金牌话术推荐方法及装置
CN117332823A (zh) * 2023-11-28 2024-01-02 浪潮电子信息产业股份有限公司 目标内容自动生成方法、装置、电子设备及可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140324747A1 (en) * 2013-04-30 2014-10-30 Raytheon Company Artificial continuously recombinant neural fiber network
US20180247549A1 (en) * 2017-02-21 2018-08-30 Scriyb LLC Deep academic learning intelligence and deep neural language network system and interfaces
CN108549658A (zh) * 2018-03-12 2018-09-18 浙江大学 一种基于语法分析树上注意力机制的深度学习视频问答方法及系统
CN108829662A (zh) * 2018-05-10 2018-11-16 浙江大学 一种基于条件随机场结构化注意力网络的对话行为识别方法及系统
CN108829667A (zh) * 2018-05-28 2018-11-16 南京柯基数据科技有限公司 一种基于记忆网络的多轮对话下的意图识别方法
CN110134771A (zh) * 2019-04-09 2019-08-16 广东工业大学 一种基于多注意力机制融合网络问答系统的实现方法
CN110516059A (zh) * 2019-08-30 2019-11-29 腾讯科技(深圳)有限公司 基于机器学习的问题答复方法、问答模型训练方法及装置
CN111047482A (zh) * 2019-11-14 2020-04-21 华中师范大学 基于层次记忆网络的知识追踪系统及方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140324747A1 (en) * 2013-04-30 2014-10-30 Raytheon Company Artificial continuously recombinant neural fiber network
US20180247549A1 (en) * 2017-02-21 2018-08-30 Scriyb LLC Deep academic learning intelligence and deep neural language network system and interfaces
CN108549658A (zh) * 2018-03-12 2018-09-18 浙江大学 一种基于语法分析树上注意力机制的深度学习视频问答方法及系统
CN108829662A (zh) * 2018-05-10 2018-11-16 浙江大学 一种基于条件随机场结构化注意力网络的对话行为识别方法及系统
CN108829667A (zh) * 2018-05-28 2018-11-16 南京柯基数据科技有限公司 一种基于记忆网络的多轮对话下的意图识别方法
CN110134771A (zh) * 2019-04-09 2019-08-16 广东工业大学 一种基于多注意力机制融合网络问答系统的实现方法
CN110516059A (zh) * 2019-08-30 2019-11-29 腾讯科技(深圳)有限公司 基于机器学习的问题答复方法、问答模型训练方法及装置
CN111047482A (zh) * 2019-11-14 2020-04-21 华中师范大学 基于层次记忆网络的知识追踪系统及方法

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
SHIMING XIANG 等: "CSLM: Convertible Short-Term and Long-Term Memory in Differential Neural Computers", 《IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS》, vol. 32, no. 9, pages 4026 - 4038, XP011875289, DOI: 10.1109/TNNLS.2020.3016632 *
TONG CHEN 等: "Call Attention to Rumors: Deep Attention Based Recurrent Neural Networks for Early Rumor Detection", 《TRENDS AND APPLICATIONS IN KNOWLEDGE DISCOVERY AND DATA MINING》, pages 40 - 52 *
YONG ZHANG 等: "Keyphrase Generation Based on Deep Seq2seq Model", 《IEEE ACCESS》, vol. 6, pages 46047 - 46057, XP011689903, DOI: 10.1109/ACCESS.2018.2865589 *
周雨佳 等: "基于递归神经网络与注意力机制的动态个性化搜索算法", 《计算机学报》, vol. 43, no. 05, pages 812 - 826 *
王树良 等: "聊天机器人技术浅析", 《武汉大学学报(信息科学版)》, vol. 46, no. 02, pages 296 - 302 *
范创: "人机对话中的情感文本生成方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 01, pages 138 - 5124 *
陈焕朝: "面向服务任务的机器人语义知识辅助目标物品认知机制研究", 《中国博士学位论文全文数据库 信息科技辑》, no. 09, pages 140 - 9 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112818107A (zh) * 2021-02-24 2021-05-18 中国人民大学 一种用于日常生活的对话机器人及其聊天方法
CN112818107B (zh) * 2021-02-24 2023-10-31 中国人民大学 一种用于日常生活的对话机器人及其聊天方法
CN113032563B (zh) * 2021-03-22 2023-07-14 山西三友和智慧信息技术股份有限公司 一种基于人工遮掩关键词的正则化文本分类微调方法
CN113032563A (zh) * 2021-03-22 2021-06-25 山西三友和智慧信息技术股份有限公司 一种基于人工遮掩关键词的正则化文本分类微调方法
CN113111241A (zh) * 2021-04-08 2021-07-13 浙江大学 一种博弈对话中基于对话历史和强化学习的多轮对话方法
CN113360610A (zh) * 2021-05-19 2021-09-07 山东师范大学 基于Transformer模型的对话生成方法及系统
CN114021581A (zh) * 2021-11-12 2022-02-08 中国人民大学 一种基于回复增强的隐式个性化对话生成方法
CN114021581B (zh) * 2021-11-12 2024-04-09 中国人民大学 一种基于回复增强的隐式个性化对话生成方法
CN114386426A (zh) * 2021-11-25 2022-04-22 北京容联易通信息技术有限公司 一种基于多元语义融合的金牌话术推荐方法及装置
CN114386426B (zh) * 2021-11-25 2023-01-13 北京容联易通信息技术有限公司 一种基于多元语义融合的金牌话术推荐方法及装置
CN114036960A (zh) * 2021-11-29 2022-02-11 中国人民大学 一种多粒度个性化对话生成方法
CN114036960B (zh) * 2021-11-29 2024-04-02 中国人民大学 一种多粒度个性化对话生成方法
CN117332823A (zh) * 2023-11-28 2024-01-02 浪潮电子信息产业股份有限公司 目标内容自动生成方法、装置、电子设备及可读存储介质
CN117332823B (zh) * 2023-11-28 2024-03-05 浪潮电子信息产业股份有限公司 目标内容自动生成方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN112115247B (zh) 2023-10-10

Similar Documents

Publication Publication Date Title
CN112115247B (zh) 一种基于长短时记忆信息的个性化对话生成方法和系统
CN108763284B (zh) 一种基于深度学习和主题模型的问答系统实现方法
CN112182161B (zh) 一种基于用户对话历史的个性化对话生成方法和系统
CN112541063B (zh) 一种基于自学习对话模型的人机对话方法及系统
CN112115687B (zh) 一种结合知识库中的三元组和实体类型的生成问题方法
CN111966800A (zh) 情感对话生成方法、装置及情感对话模型训练方法、装置
CN112100350B (zh) 一种用于强化回复个性化表达的开放域对话方法
CN113360610A (zh) 基于Transformer模型的对话生成方法及系统
CN109308316B (zh) 一种基于主题聚类的自适应对话生成系统
CN110516035A (zh) 一种混合模块的人机交互方法和系统
CN110597968A (zh) 一种回复选择方法及装置
CN116150338A (zh) 一种基于多轮对话的智能客服方法及系统
CN114297399A (zh) 知识图谱生成方法、系统、存储介质及电子设备
CN115937369A (zh) 一种表情动画生成方法、系统、电子设备及存储介质
CN110955765A (zh) 智能助理的语料构建方法、装置、计算机设备和存储介质
CN114328866A (zh) 应答流畅准确的强拟人化智能对话机器人
CN112417118B (zh) 一种基于标记文本和神经网络的对话生成方法
CN111046157B (zh) 一种基于平衡分布的通用英文人机对话生成方法和系统
CN113779224A (zh) 一种基于用户对话历史的个性化对话生成方法与系统
CN110851580B (zh) 一种基于结构化用户属性描述的个性化任务型对话系统
CN115858736A (zh) 一种基于情感提示微调的情感文本生成方法
CN113392640B (zh) 一种标题确定方法、装置、设备及存储介质
CN114912020A (zh) 一种基于用户偏好图的多子目标对话推荐方法
CN114021581A (zh) 一种基于回复增强的隐式个性化对话生成方法
CN112434143A (zh) 基于gru单元隐藏状态约束的对话方法、存储介质及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant