CN112182161B - 一种基于用户对话历史的个性化对话生成方法和*** - Google Patents
一种基于用户对话历史的个性化对话生成方法和*** Download PDFInfo
- Publication number
- CN112182161B CN112182161B CN202011060186.1A CN202011060186A CN112182161B CN 112182161 B CN112182161 B CN 112182161B CN 202011060186 A CN202011060186 A CN 202011060186A CN 112182161 B CN112182161 B CN 112182161B
- Authority
- CN
- China
- Prior art keywords
- vector
- user
- word
- personalized
- dialogue
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 239000013598 vector Substances 0.000 claims abstract description 191
- 230000008569 process Effects 0.000 claims description 29
- 230000007246 mechanism Effects 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 22
- 239000011159 matrix material Substances 0.000 claims description 5
- 230000006870 function Effects 0.000 description 14
- 238000012549 training Methods 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种基于用户对话历史的个性化对话生成方法和***,包括以下步骤:S1将用户对话历史的文本表示为句子向量;S2通过对句子向量进行编码得到用户个性向量,用户个性向量中包含了句子向量的时序信息;S3根据用户个性向量和句子向量的时序信息生成个性化对话模型;S4将新的输入文本的词向量输入个性化对话模型生成个性化对话的回复。其使用对话历史进行用户建模,通过用户对话历史回复计算得出用户个性向量,而避免使用用户ID获取和更新个性向量,当新用户加入时,即可直接将其对话历史表示为个性向量。
Description
技术领域
本发明涉及一种基于用户对话历史的个性化对话生成方法和***,属于人工智能技术领域。
背景技术
伴随着由数据驱动的端到端对话***的发展,个性化对话***开始出现。闲聊型个性化对话***,即是针对开放领域下输入给出合适回复的同时,输出的结果能具有人的角色信息。在应用中,无论是虚拟的社交机器人还是智能个人代理回复,都要求对话模型给出的回复具备人物角色信息,因此需要赋予模型人物设定(本文中简称为人设)来维持人物角色信息的统一。目前为个性化对话***构建人设的方法主要分为显式人设和隐式人设两种。显式人设主要通过预先设定的属性关键词或句子描述等来作为模型个性化的人设信息,在模型输出结果时利用这些显式的文本信息来控制模型的生成或选择过程。相对地,隐式人设则没有任何显式定义的文本来作为角色信息,模型通过用户对话历史为每个用户构建隐式的个性向量,以此作为用户的人设加入到生成过程中,来维持输出结果的人设一致性。
显式人设的方法为了构建大规模与人设相关的训练数据,需要投入大量的人力资源,来模拟相关对话场景或者构造规则。而且,由于显式人设能够预先给出人设信息有限,如PERSONA-CHAT数据集中,仅用5句话作为人设信息,因此面对设定之外的输入,模型仍倾向于给出设定相关的回复,而导致了回复质量的降低。在实际应用中,面对新的人物或者新的属性设定均需要重复之前的步骤。因此,显式人设的方法只适用于固定且小规模的场景范围。对应地,隐式人设的方法则自动从对话历史中学习用户的角色信息,将用户个性化的角色信息转换为向量来表示用户的人设,通过隐式的个性向量来引导模型生成或选择个性化的回复。因此,隐式人设的方法避免了为每个用户配置人设的过程,可以在大规模的用户群体上构建用户特有的个性化对话模型,面对同样的输入根据不同用户的特点给出个性化回复,可作为用户的代理回复助手。隐式人设的方式虽然可以通过隐式的个性向量来学习用户对话历史中的人物性格和语言习惯等个性化特征。然而现有的研究工作大多从全局层面来构建用户个性向量,这样不加区别地使用用户历史,最终得到的静态个性向量包含了对话历史中用户所有的个性化特征,在面对不同的输入时,模型难以表达出用户具体某个方面的个性特征。Li等人(Piji Li,Zihao Wang,Lidong Bing,and Wai Lam.Persona-aware tips generation?In The World Wide Web Conference,pages 1006-1016,2019.)利用用户历史为每个用户构建与个性化相关的关键词,在关键词生成的不同时刻,通过注意力机制将关键词加权求得表示用户个性的个性向量,而非通过模型训练得到用户个性向量。这在一定程度上使得隐式人设从静态的向量转变为动态的向量,可以在生成的不同阶段进行调整,然而,个性化关键词的方式生成的回复仅仅能够具备角色显著的属性信息,不同角色对话时语言习惯等细微的个性化特征无法捕捉。另外,目前个性向量在训练时主要通过用户ID来进行获取并通过反向传播进行更新,随着用户的增多,每个用户历史数量在整个数据集中的占比将会减小,用户个性向量随着模型更新缓慢,新用户也无法加入已经训练好的模型中,需要重新对模型进行训练,在实际应用中,难以对用户新的历史和新用户做出及时的响应。同时,这样的方式忽略了用户对话历史中的时序信息,用户最新的角色信息在个性向量中无法得到强化。
发明内容
针对上述问题,本发明的目的是提供一种基于用户对话历史的个性化对话生成方法和***,其使用对话历史进行用户建模,通过用户对话历史回复计算得出用户个性向量,而避免使用用户ID获取和更新个性向量,当新用户加入时,即可直接将其对话历史表示为个性向量。
为实现上述目的,本发明采取以下技术方案:一种基于用户对话历史的个性化对话生成方法,包括以下步骤:S1将用户对话历史的文本表示为句子向量;S2通过对句子向量进行编码得到用户个性向量,用户个性向量中包含了句子向量的时序信息;S3根据用户个性向量和句子向量的时序信息生成个性化对话模型;S4将新的输入文本的词向量输入到个性化对话模型,最终生成个性化对话的回复。
进一步,步骤S4中输入文本的词向量进入编码器进行编码,并将经过编码的输入文本的词向量带入注意力机制,经过注意力机制后,与个性向量一同进入个性化对话模型进行解码。
进一步,个性化对话模型的解码公式为:
st=GRUdecoder(st-1,[φ(yt-1),ct,Vu])
其中,GRU是门控循环单元,st是解码器在解码过程中每个时刻t的隐含状态;φ(·)表示获取词向量的函数;yt是在时刻t生成词的词向量ci是通过注意力机制权重对编码器所有中间状态加权求和得到的上下文信息的向量;Vu是用户u的个性向量。
进一步,获取步骤S2中的个性向量的方法为:首先通过计算用户对话历史中单词的逆文档频率对单词词向量付以不同权重,随后通过GRU提取用户对话历史中的时序信息,并使用最后一个时刻得到的隐含状态,作为用户全局的个性化角色信息。
进一步,单词的逆文档频率idf的计算公式为:
其中,a、b、c分别表示词表中单词的序号,文档集合中文档的序号和句子w中单词的序号;D={d1,d2,...}为整个文档集合;{b:wa∈db}为包含单词wa的文档db的集合;∈(·)表示计算句子w的句子向量的函数;φ(·)表示获取单词词向量的函数。
进一步,用户全局的个性化角色信息的计算公式为:
其中,R={r1,r2,..,rL}表示用户的回复历史,rl为用户对话回复历史第l条回复文本,L为用户回复历史长度;为在用户第l条回复后其角色向量。
进一步,步骤S2采用Seq2Seq模型对句子向量进行编码,其编码器和解码器的计算过程表示为:
ht=GRUencoder(ht-1,φ(xt))
st=GRUdecoder(st-1,φ(yt-1))
p(yt|st)=softmax(Wost)
其中,φ(·)表示获取词向量的函数;ht,st分别是编码器和解码器在t时刻的中间隐含状态;Wo是在输出过程中将解码器状态st映射到词表空间的参数矩阵;yt表示解码器在t时刻输出的词;p(yt|st)为在解码器在时刻t下,词典中词的生成概率,其中概率最大的词为当前生成的词yt。
进一步,步骤S2中经过编码的句子向量进入注意力机制,经过注意力机制的句子向量进入解码器,其计算公式为:
si=GRUdecoder(si-1,[φ(yi-1),ci])
其中,[·,·]表示向量拼接操作;i是解码器的不同时刻;j是编码器的不同时刻;si是解码器在解码过程中每个时刻i的隐含状态;hj是编码器编码过程中的中间状态稠密向量H在j时刻的向量;eij是上一个时刻的解码器隐含状态si-1在不同时刻j与编码器中间状态hj计算得到的注意力重要度,Wa为学习的参数矩阵;αij是注意力机制将重要度归一化后得到的分配给编码器不同时刻中间向量的加权权重;n是输入的长度;ci是通过注意力机制权重对编码器所有中间状态加权求和计算得到的上下文信息的向量表示;yi是在时刻i生成词的词向量。
本发明还公开了一种基于用户对话历史的个性化对话生成***,包括:句子向量生成模块,用于将用户对话历史的文本表示为句子向量;个性向量生成模块,用于通过对句子向量进行编码得到用户个性向量,用户个性向量中包含了句子向量的时序信息;模型生成模式,用于根据用户个性向量和句子向量的时序信息生成个性化对话模型;个性化对话生成模式,用于将新的输入文本的词向量输入个性化对话模型生成个性化对话的回复。
进一步,模型生成模式中个性化对话模型的解码公式为:
st=GRUdecoder(st-1,[φ(yt-1),ct,Vu])
其中,GRU是门控循环单元,st是解码器在解码过程中每个时刻t的隐含状态;φ(·)表示获取词向量的函数;yt是在时刻t生成词的词向量ci是通过注意力机制权重对编码器所有中间状态加权求和得到的上下文信息的向量;Vu是用户u的个性向量。
本发明由于采取以上技术方案,其具有以下优点:
1、本发明提出基于隐式人设的个性编码模型,使用对话历史进行用户建模,通过用户对话历史回复计算得出用户个性向量,而避免使用用户ID获取和更新个性向量,当新用户加入时,即可直接将其对话历史表示为个性向量。由于对话历史是根据时间顺序依次作为个性编码模型的输入,在构建作为隐式人设的个性向量的过程中,可以保留对话历史数据中的时序信息,并根据用户最新对话及时调整个性向量。
2、本发明避免了单一个性向量训练数据占比过少而学习不充分的问题,同时面对新的对话历史数据时,也能及时更新用户的个性向量。
附图说明
图1是本发明一实施例中基于用户对话历史的个性化对话生成方法的示意图。
具体实施方式
为了使本领域技术人员更好的理解本发明的技术方向,通过具体实施例对本发明进行详细的描绘。然而应当理解,具体实施方式的提供仅为了更好地理解本发明,它们不应该理解成对本发明的限制。在本发明的描述中,需要理解的是,所用到的术语仅仅是用于描述的目的,而不能理解为指示或暗示相对重要性。
个性化对话生成的回复的问题可以描述为:对于给定一段文本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)
其中,z是更新门输出结果;r是重置门输出结果;s是输入细胞状态向量;tanh(·)和σ(·)是激活函数;表示向量的点积;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))
p(yt|st)=softmax(Wost)
其中,门控循环单元函数GRU(·)使用不同参数初始化分别得到编码单元GRUencoder(·)和解码单元GRUdecoder(·);φ(·)表示获取单词词向量的函数;ht,st分别是编码器和解码器在t时刻的中间隐含状态;yt表示解码器在t时刻输出的词。p(yt|st)为在解码器在时刻t下,词典中词的生成概率,其中概率最大的词为当前生成的词yt。
由于,编码过程中仅使用编码器的最后一个输出hn作为输入语句的表示;同时,在解码过程中,每个时刻t解码器的输出值只依赖于上一个时刻的状态st-1和上一个生成词的词向量yt,输入语句的其他信息没有得到充分的利用,也没有被充分表达。所以需要引入注意力机制,来丰富解码过程的输入信息。引入注意力机制后,解码器采用如下公式进行解码:
si=GRUdecoder(si-1,[φ(yi-1),ci])
其中,[·,·]表示向量拼接操作;i是解码器的不同时刻;j是编码器的不同时刻;si是解码器在解码过程中每个时刻i的隐含状态;hj是编码器编码过程中的中间状态稠密向量H在j时刻的向量;eij是上一个时刻的解码器隐含状态si-1和在不同时刻j与编码器中间状态hj计算得到的注意力重要度,Wa为学习的参数矩阵;αij是注意力机制将重要度归一化后得到的分配给编码器不同时刻中间向量的加权权重;n是输入的长度;m为个性化回复的长度;ci是通过注意力机制权重对编码器所有中间状态加权求和计算得到的上下文信息的向量表示;yi是在时刻i生成词的词向量。
S3根据用户个性向量和句子向量的时序信息生成个性化对话模型。
个性化对话模型的解码公式为:
st=GRUdecoder(st-1,[φ(yt-1),ct,Vu])
其中,GRU是门控循环单元,st是解码器在解码过程中每个时刻t的隐含状态;φ(·)表示获取词向量的函数;yt是在时刻t生成词的词向量ci是通过注意力机制权重对编码器所有中间状态加权求和得到的上下文信息的向量;Vu是用户u的个性向量。
Li等人(″A Persona-Based Neural Conversation Model.″,Li,Jiwei,etal.Proceedings of the 54th Annual Meeting of the Association forComputational Linguistics,Volume 1:Long Papers,2016)证明了将用户个性向量加入到解码器的解码过程中可以促进个性化回复的生成。然而其训练过程中通过用户ID获取和更新对应用户的个性向量,这忽略了用户历史中的时序信息。同时,面对新的用户历史数据时需要重新训练模型。因此,为了更好地构建用户的个性向量,本发明在用户回复历史上对用户进行建模,直接根据历史计算得出用户的个性向量,从而在保留历史中句子时序信息的同时面对新的用户历史可以及时作出响应。首先为了得到用户历史回复的句子表示,个性编码模块通过单词的逆文档频率(Inverse Document Frequency,IDF)对单词词向量进行加权。其计算过程可表示为:
其中,a、b、c分别表示词表中单词的序号,文档集合中文档的序号和句子w中单词的序号;D={d1,d2,...}为整个文档集合;{b:wa∈db}为包含单词wa的文档db的集合;∈(·)表示计算句子w的句子向量的函数;φ(·)表示获取单词词向量的函数。在idf的计算公式中,若包含单词wi的文档数越多,说明该词越常见,对于句子的重要性就越小,其idf值也越小,以此来衡量单词的重要性。因此,在句子表示∈(w)公式中,使用每个单词的idf值作为其词向量的权重进行加权得到句子的向量表示,为了避免长句带来的影响,通过句子的长度进行平均。
随后,为了构建用户从过去到现在的个性信息,个性编码模块通过GRU提取用户回复历史中的时序信息,并使用最后一个时刻得到的隐含状态,作为用户全局的个性化角色信息。这个过程的计算公式可表示为:
其中,R={r1,r2,..,rL}表示用户的回复历史,rl为用户对话回复历史第l条回复文本,L为用户回复历史长度;为在用户第l条回复后其角色向量,因此最终时刻的全局角色向量为/>即Vu,u表示不同用户。其中/>通过随机初始化获得。不同于通过反向传播更新用户角色向量的方式,用户个性编码模块训练用户建模过程,根据用户历史计算得出用户角色向量,这样缓解了由于每个用户对话历史数据量在训练集中占比过小而训练不充分的问题,同时考虑到了对话历史中句子的时序信息。在实际应用中,当用户产生新的对话数据时,可在已有的角色向量/>上继续通过GRU计算得到用户最新的全局角色向量,即使面对新的用户,也无需重新训练模型通过反向传播学习角色向量,可通过用户对话历史进行计算。
S4将新的输入文本的词向量输入个性化对话模型生成个性化对话的回复。
步骤S4中输入的词向量进入编码器进行编码,并将经过编码的输入的词向量带入注意力机制,经过注意力机制后,进入个性化对话模型进行解码。
实施例二
基于相同的发明构思,本实施例公开了一种基于用户对话历史的个性化对话生成***,包括:
句子向量生成模块,用于将用户对话历史的文本表示为句子向量;
个性向量生成模块,用于通过对句子向量进行编码得到用户个性向量,用户个性向量中包含了句子向量的时序信息;
模型生成模式,用于根据用户个性向量和句子向量的时序信息生成个性化对话模型;
个性化对话生成模式,用于将新的输入文本的词向量输入个性化对话模型生成个性化对话的回复。
模型生成模式中个性化对话模型的解码公式为:
st=GRUdecoder(st-1,[φ(yt-1),ct,Vu])
其中,GRU是门控循环单元,st是解码器在解码过程中每个时刻t的隐含状态;φ(·)表示获取词向量的函数;yt是在时刻t生成词的词向量ci是通过注意力机制权重对编码器所有中间状态加权求和得到的上下文信息的向量;Vu是用户u的个性向量。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。上述内容仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (5)
1.一种基于用户对话历史的个性化对话生成方法,其特征在于,包括以下步骤:
S1将用户对话历史的文本表示为句子向量;
S2通过对所述句子向量进行编码得到用户个性向量,所述用户个性向量中包含了所述句子向量的时序信息;
获取所述步骤S2中的个性向量的方法为:首先通过计算用户对话历史中单词的逆文档频率对单词词向量付以不同权重,随后通过GRU提取用户对话历史中的时序信息,并使用最后一个时刻得到的隐含状态,作为用户全局的个性化角色信息;
S3根据所述用户个性向量和所述句子向量的时序信息生成个性化对话模型;
S4将新的输入文本的词向量输入所述个性化对话模型生成个性化对话的回复;
所述个性化对话模型的解码公式为:
st=GRUdecoder(st-1,[φ(yt-1),ct,Vu])
其中,GRU是门控循环单元,st是解码器在解码过程中每个时刻t的隐含状态;φ(·)表示获取词向量的函数;yt是在时刻t生成词的词向量ct是通过注意力机制权重对编码器所有中间状态加权求和得到的上下文信息的向量;Vu是用户u的个性向量;
所述单词的逆文档频率idf的计算公式为:
其中,a、b、c分别表示词表中单词的序号,文档集合中文档的序号和句子w中单词的序号;D={d1,d2,...}为整个文档集合;{b:wa∈db}为包含单词wa的文档db的集合;∈(·)表示计算句子w的句子向量的函数;φ(·)表示获取单词词向量的函数;
所述用户全局的个性化角色信息的计算公式为:
其中,R={r1,r2,..,rL}表示用户的回复历史,rl为用户对话回复历史第l条回复文本,L为用户回复历史长度;为在用户第l条回复后其角色向量,u表示不同用户。
2.如权利要求1所述的基于用户对话历史的个性化对话生成方法,其特征在于,所述步骤S4中输入的词向量进入编码器进行编码,并将经过编码的所述输入的词向量带入注意力机制,经过注意力机制后,进入所述个性化对话模型进行解码。
3.如权利要求1或2所述的基于用户对话历史的个性化对话生成方法,其特征在于,所述步骤S2采用Seq2Seq模型对所述句子向量进行编码,其编码器和解码器的计算过程表示为:
ht=GRUencoder(ht-1,φ(xt))
st=GRUdecoder(st-1,φ(yt-1))
p(yt|st)=softmax(Wost)
其中,φ(·)表示获取词向量的函数;ht,st分别是编码器和解码器在t时刻的中间隐含状态;Wo是在输出过程中将解码器状态St映射到词表空间的参数矩阵;yt表示解码器在t时刻输出的词;p(yt|st)为在解码器在时刻t下,词典中词的生成概率,其中概率最大的词为当前生成的词yt,xt表示GRU在t时刻的输入向量。
4.如权利要求3所述的基于用户对话历史的个性化对话生成方法,其特征在于,所述步骤S2中经过编码的所述句子向量进入注意力机制,经过所述注意力机制的句子向量进入解码器,其计算公式为:
si=GRUdecoder(si-1,[φ(yi-1),ci])
其中,[·,·]表示向量拼接操作;i是解码器的不同时刻;j是编码器的不同时刻;si是解码器在解码过程中每个时刻i的隐含状态;hj是编码器编码过程中的中间状态稠密向量H在j时刻的向量;eij是上一个时刻的解码器隐含状态si-1在不同时刻j与编码器中间状态hj计算得到的注意力重要度,Wa为学习的参数矩阵;αij是注意力机制将重要度归一化后得到的分配给编码器不同时刻中间向量的加权权重;n是输入的长度;ci是通过注意力机制权重对编码器所有中间状态加权求和计算得到的上下文信息的向量表示;yi是在时刻i生成词的词向量。
5.一种基于用户对话历史的个性化对话生成***,其特征在于,包括:
句子向量生成模块,用于将用户对话历史的文本表示为句子向量;
个性向量生成模块,用于通过对所述句子向量进行编码得到用户个性向量,所述用户个性向量中包含了所述句子向量的时序信息;
获取所述个性向量生成模块中的个性向量的方法为:首先通过计算用户对话历史中单词的逆文档频率对单词词向量付以不同权重,随后通过GRU提取用户对话历史中的时序信息,并使用最后一个时刻得到的隐含状态,作为用户全局的个性化角色信息;
模型生成模式,用于根据所述用户个性向量和所述句子向量的时序信息生成个性化对话模型;
个性化对话生成模式,用于将新的输入文本的词向量输入所述个性化对话模型生成个性化对话的回复;
所述模型生成模式中所述个性化对话模型的解码公式为:
st=GRUdecoder(st-1,[φ(yt-1),ct,Vu])
其中,GRU是门控循环单元,st是解码器在解码过程中每个时刻t的隐含状态;φ(·)表示获取词向量的函数;yt是在时刻t生成词的词向量ct是通过注意力机制权重对编码器所有中间状态加权求和得到的上下文信息的向量;Vu是用户u的个性向量;
所述单词的逆文档频率idf的计算公式为:
其中,a、b、c分别表示词表中单词的序号,文档集合中文档的序号和句子w中单词的序号;D={d1,d2,...}为整个文档集合;{b:wa∈db}为包含单词wa的文档db的集合;∈(·)表示计算句子w的句子向量的函数;φ(·)表示获取单词词向量的函数;
所述用户全局的个性化角色信息的计算公式为:
其中,R={r1,r2,..,rL}表示用户的回复历史,rl为用户对话回复历史第l条回复文本,L为用户回复历史长度;为在用户第l条回复后其角色向量,u表示不同用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011060186.1A CN112182161B (zh) | 2020-09-30 | 2020-09-30 | 一种基于用户对话历史的个性化对话生成方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011060186.1A CN112182161B (zh) | 2020-09-30 | 2020-09-30 | 一种基于用户对话历史的个性化对话生成方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112182161A CN112182161A (zh) | 2021-01-05 |
CN112182161B true CN112182161B (zh) | 2023-10-31 |
Family
ID=73947122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011060186.1A Active CN112182161B (zh) | 2020-09-30 | 2020-09-30 | 一种基于用户对话历史的个性化对话生成方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112182161B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360610A (zh) * | 2021-05-19 | 2021-09-07 | 山东师范大学 | 基于Transformer模型的对话生成方法及*** |
CN113342947B (zh) * | 2021-05-26 | 2022-03-15 | 华南师范大学 | 能感知对话上下文相对位置信息的多轮对话文本生成方法 |
CN114021581B (zh) * | 2021-11-12 | 2024-04-09 | 中国人民大学 | 一种基于回复增强的隐式个性化对话生成方法 |
CN114048301B (zh) * | 2021-11-26 | 2022-09-20 | 山东大学 | 一种基于满意度的用户模拟方法及*** |
CN114036960B (zh) * | 2021-11-29 | 2024-04-02 | 中国人民大学 | 一种多粒度个性化对话生成方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108681610A (zh) * | 2018-05-28 | 2018-10-19 | 山东大学 | 生成式多轮闲聊对话方法、***及计算机可读存储介质 |
CN110209897A (zh) * | 2018-02-12 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 智能对话方法、装置、存储介质及设备 |
CN110321417A (zh) * | 2019-05-30 | 2019-10-11 | 山东大学 | 一种对话生成方法、***、可读存储介质及计算机设备 |
CN110543554A (zh) * | 2019-08-12 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 针对多轮对话的分类方法和装置 |
CN111339278A (zh) * | 2020-02-28 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 训练话术生成模型、生成应答话术的方法和装置 |
CN111462750A (zh) * | 2020-03-20 | 2020-07-28 | 北京邮电大学 | 语义与知识增强的端到端任务型对话***及方法 |
CN111462749A (zh) * | 2020-03-20 | 2020-07-28 | 北京邮电大学 | 基于对话状态导向和知识库检索的端到端对话***及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11151203B2 (en) * | 2017-02-28 | 2021-10-19 | Apple Inc. | Interest embedding vectors |
US12032638B2 (en) * | 2017-02-28 | 2024-07-09 | Apple Inc. | Enhanced search to generate a feed based on a user's interests |
-
2020
- 2020-09-30 CN CN202011060186.1A patent/CN112182161B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209897A (zh) * | 2018-02-12 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 智能对话方法、装置、存储介质及设备 |
CN108681610A (zh) * | 2018-05-28 | 2018-10-19 | 山东大学 | 生成式多轮闲聊对话方法、***及计算机可读存储介质 |
CN110321417A (zh) * | 2019-05-30 | 2019-10-11 | 山东大学 | 一种对话生成方法、***、可读存储介质及计算机设备 |
CN110543554A (zh) * | 2019-08-12 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 针对多轮对话的分类方法和装置 |
CN111339278A (zh) * | 2020-02-28 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 训练话术生成模型、生成应答话术的方法和装置 |
CN111462750A (zh) * | 2020-03-20 | 2020-07-28 | 北京邮电大学 | 语义与知识增强的端到端任务型对话***及方法 |
CN111462749A (zh) * | 2020-03-20 | 2020-07-28 | 北京邮电大学 | 基于对话状态导向和知识库检索的端到端对话***及方法 |
Non-Patent Citations (4)
Title |
---|
HIstory-Adaption Knowledge Incorporation Mechaanism for Multi-Turn Dialogue System;Yajing Sun等;《AAAI Technical Track: Natural Language Processing》;第34卷(第05期);8944-8951 * |
One chatbot per person:Creating personalized chatbots based on implicit user profiles;Z Ma等;《Proceedings of the 44th International ACM SIGIR conference on Research and Development in Information Retrieval:2021》;第555-564页 * |
Pchatot:A Large-scale dataset for personalized chatbot;Qian H等;《Proceedings of the 44th International ACM SIGIR conference on Research and Development in Information Retrieval:2021》;第2470-2477页 * |
聊天***自动回复技术研究;徐振;《中国博士学位论文全文数据库信息科技辑》(第01期);I138-151 * |
Also Published As
Publication number | Publication date |
---|---|
CN112182161A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112182161B (zh) | 一种基于用户对话历史的个性化对话生成方法和*** | |
CN112115247B (zh) | 一种基于长短时记忆信息的个性化对话生成方法和*** | |
CN112115687B (zh) | 一种结合知识库中的三元组和实体类型的生成问题方法 | |
CN109492202A (zh) | 一种基于拼音的编码与解码模型的中文纠错方法 | |
CN111930918B (zh) | 一种跨模态的双边个性化人机社交对话生成方法及*** | |
CN111831798A (zh) | 信息处理方法、装置、电子设备及计算机可读存储介质 | |
CN114861653B (zh) | 用于虚拟交互的语言生成方法、装置、设备及存储介质 | |
CN112214585A (zh) | 回复消息生成方法、***、计算机设备及存储介质 | |
CN113360610A (zh) | 基于Transformer模型的对话生成方法及*** | |
CN111046157B (zh) | 一种基于平衡分布的通用英文人机对话生成方法和*** | |
CN112131367A (zh) | 自审核的人机对话方法、***及可读存储介质 | |
JP2022503812A (ja) | 文処理方法、文復号方法、装置、プログラム及び機器 | |
CN117808011B (zh) | 一种带有模拟情绪的聊天机器人的方法、介质及*** | |
CN115937369A (zh) | 一种表情动画生成方法、***、电子设备及存储介质 | |
Mathur et al. | A scaled‐down neural conversational model for chatbots | |
CN113779224A (zh) | 一种基于用户对话历史的个性化对话生成方法与*** | |
CN113535902A (zh) | 一种融合对抗训练的生成式对话*** | |
CN113239174A (zh) | 一种基于双层解码的层次化多轮对话生成方法及装置 | |
CN110851580B (zh) | 一种基于结构化用户属性描述的个性化任务型对话*** | |
CN117708692A (zh) | 基于双通道图卷积神经网络的实体情感分析方法及*** | |
CN116701580A (zh) | 一种对话情感强度一致性控制方法 | |
CN111027215A (zh) | 针对虚拟人的性格训练***及其方法 | |
CN115858736A (zh) | 一种基于情感提示微调的情感文本生成方法 | |
CN113722536B (zh) | 基于双线性自适应特征交互与目标感知的视频描述方法 | |
CN116150334A (zh) | 基于UniLM模型和Copy机制的中文共情语句训练方法及*** |
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 |