CN113779224A - 一种基于用户对话历史的个性化对话生成方法与系统 - Google Patents

一种基于用户对话历史的个性化对话生成方法与系统 Download PDF

Info

Publication number
CN113779224A
CN113779224A CN202111081329.1A CN202111081329A CN113779224A CN 113779224 A CN113779224 A CN 113779224A CN 202111081329 A CN202111081329 A CN 202111081329A CN 113779224 A CN113779224 A CN 113779224A
Authority
CN
China
Prior art keywords
user
personalized
input
history
reply
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.)
Pending
Application number
CN202111081329.1A
Other languages
English (en)
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 CN202111081329.1A priority Critical patent/CN113779224A/zh
Publication of CN113779224A publication Critical patent/CN113779224A/zh
Pending legal-status Critical Current

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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本发明通过人工智能处理领域的方法,实现了一种基于用户对话历史的个性化对话生成方法与应用该方法的系统。方法针对采集到的历史对话以及用户输入,通过包括一个编码器和一个解码器的基于Seq2Seq模型结构的个性化回复模型处理对话和输入,基于Seq2Seq模型的个性化回复生成模型由对话历史编码器与用户静态画像、个性化输入编码器、用户历史记忆神经网络与用户动态画像、个性化解码器四个部分具体构成,最终生成用于输出的个性化词语和自动地学习用户的用户画像。最终形成了一个可以从用户对话历史中自动学习隐式用户画像并基于此生成个性化回复的方法以及应用该方法的系统。

Description

一种基于用户对话历史的个性化对话生成方法与系统
技术领域
本发明涉及人工智能领域,尤其涉及一种基于用户对话历史的个性化对话生成方法与系统。
背景技术
个性化聊天机器人主要是基于赋予聊天机器人一个一致的性格,使得机器人可以表现出类似真实用户的行为,生成更加流畅、有意义、有趣的回复,最终可应用于私人助手场景。现有的相关工作主要包括:基于用户心理学行为的传统对话模型,和基于用户ID向量与显式用户画像的基于深度学习的个性化聊天机器人模型。基于显式用户画像的神经网络模型是当前效果最佳的模型。显然,在现实应用场景下,对大规模用户都预先标注好其用户画像是不现实的,因为:(1)真实用户在使用聊天机器人时,往往会认为标注人格画像过于繁琐从而不去标注。(2)手动收集用户画像是一件非常昂贵且费时的工作。(3)即使成功收集了用户的用户画像。(3)即使成功收集了用户的用户画像,当用户的用户兴趣发生变化后,系统中的用户画像无法随之动态更新。(4)显式用户画像预定义了一个固定的属性集合,用来描述一个用户,而这个固定静态的属性集合显然无法描述所有用户复杂的用户兴趣。
相比显式用户画像,用户的对话历史非常易于获得。同时,用户的对话历史含有丰富的个性化信息,这非常有利于模型自动学习用户的用户画像。在本文中,用户的用户画像包括了用户的历史回复,以及对应的由其他用户提出的输入。显然,用户的历史回复通常能够直接反映用户的语言习惯,背景信息,用户常用词语,甚至用户的用户兴趣。同时,当聊天机器人面对一个新的输入,模型可以寻找用户的历史数据,查找出用户之前是如何回复相似输入的,然后使用相似的交互习惯来生成一个合适的回复。另外,因为用户画像是从用户的对话历史中自动学习得到的,因此用户的用户画像可以随着用户越来越多的历史数据被收集起来而动态更新。基于这个设想,我们提出了一个用于个性化聊天机器人框架,从而聚焦于从用户的对话历史中自动学习用户画像,进而生成个性化回复。
现有技术方案:
由于拥有广泛的应用场景,开放领域的聊天机器人近年来吸引了越来越多学者的注意,并在工业界也有着许多落地的产品,如微软小冰。开发领域聊天机器人模型根据回复的类型可以被分为两种流派:基于检索式的模型,与基于生成式的模型。在本文中,我们主要考虑生成式模型。早期的生成式聊天机器人模型通常将对话生成任务建模为机器翻译任务,这样的建模方式可以充分利用数据驱动的优势。Seq2Seq模型近年来被广泛应用在对话生成任务中并取得了很好的效果,并陆续有许多变种模型,如引入额外知识,生成情感感知的回复,以及对输入的层次化结构进行建模。
个性化聊天机器人主要是基于赋予聊天机器人一个一致的性格,使得机器人可以表现出类似真实用户的行为,生成更加流畅、有意义、有趣的回复,最终可应用于私人助手场景。现有的相关工作主要包括:基于用户心理学行为“High Five”的传统对话模型;和基于用户ID向量与显式用户画像的基于深度学习的个性化聊天机器人模型;基于显式用户画像的神经网络模型是当前效果最佳的模型。目前,基于显示用户画像的模型是取得最好效果的模型。这类工作通常将多个由众包标注的对人物性格描述的句子作为显式人格,希望模型能够基于这些显式用户画像生成回复。基于显式用户画像的数据集目前有“Persona-Chat”,“OpenAI-2”等数据集。
现有技术存在的问题:
显然,在现实应用场景下,对大规模用户都预先标注好其用户画像是不现实的,因为:(1)真实用户在使用聊天机器人时,往往会认为标注人格画像过于繁琐从而不去标注。(2)手动收集用户画像是一件非常昂贵且费时的工作。(3)即使成功收集了用户的用户画像。(3)即使成功收集了用户的用户画像,当用户的用户兴趣发生变化后,系统中的用户画像无法随之动态更新。(4)显式用户画像预定义了一个固定的属性集合,用来描述一个用户,而这个固定静态的属性集合显然无法描述所有用户复杂的用户兴趣。
发明内容
相比显式用户画像,用户的对话历史非常易于获得。同时,用户的对话历史含有丰富的个性化信息,这非常有利于模型自动学习用户的用户画像。在本文中,用户的用户画像包括了用户的历史回复,以及对应的由其他用户提出的输入。显然,用户的历史回复通常能够直接反映用户的语言习惯,背景信息,用户常用词语,甚至用户的用户兴趣。同时,当聊天机器人面对一个新的输入,模型可以寻找用户的历史数据,查找出用户之前是如何回复相似输入的,然后使用相似的交互习惯来生成一个合适的回复。另外,因为用户画像是从用户的对话历史中自动学习得到的,因此用户的用户画像可以随着用户越来越多的历史数据被收集起来而动态更新。基于这个设想,我们提出了一个用于个性化聊天机器人框架,从而聚焦于从用户的对话历史中自动学习用户画像,进而生成个性化回复。
为此,本发明首先提出一种基于用户对话历史的个性化对话生成方法与系统,针对采集到的历史对话以及用户输入,通过包括一个编码器和一个解码器的基于Seq2Seq模型结构的个性化回复模型处理对话和输入,所述基于Seq2Seq模型结构的个性化回复模型基础架构为:
Figure BDA0003264092270000031
其中,对话历史为H,包括一系列由该用户u提出的回复,以及每条回复对应的输入:H=((P1,R1),...(Pn,Rn)),其中n代表了历史输入-回复对的数量,其中每条输入Pi来自不同用户,而每条回复Ri都是来自用户u提出,Lx为输入
Figure BDA0003264092270000032
Figure BDA0003264092270000033
长度的词语数,Ly为回复
Figure BDA0003264092270000034
长度的词语数,yt代表第t步生成的词语,而y<t代表了在t步之前已经生成的词语序列(y1,y2,...yt-1);
所述基于Seq2Seq模型的个性化回复生成模型由对话历史编码器与用户静态画像、个性化输入编码器、用户历史记忆神经网络与用户动态画像、个性化解码器四个部分具体构成,最终生成用于输出的个性化词语和自动地学习用户的用户画像;
所述个性化回复生成模型以所述对话历史编码器与用户静态画像使用Transformer编码器学习历史回复的上下文表示,得到用户的静态画像;之后通过所述个性化输入编码器使用一个双向GRU来对输入进行编码,并使用所述用户静态画像来初始化编码器的初始状态;进而通过用户历史记忆神经网络与用户动态画像部分,所述将所述个性化输入编码器中所获得的个性化输入表示作为查询,从键值对记忆神经网络中选取和输入表示最相关的部分历史输入,并取相应的值进行记忆神经网络运算和聚合,得到用户的动态画像表;最后通过所述个性化解码器以神经网络方法计算生成概率p(Y|x,u),生成个性化词语,从用户的对话历史中自动地学习用户的用户画像。
所述使用Transformer编码器学习历史回复的上下文表示的具体步骤为:首先将用户的n条历史回复使用“SEP”特殊字符连接,并在序列开头添加特殊字符“CLS”,获得序列Rw=[<CLS>;R1;<SEP>;...;Rn],其中每个回复Ri包括
Figure BDA00032640922700000414
个单词,[;]代表连接操作,之后,将所有词语、特殊字符映射为它们的嵌入向量,并使用Transformer编码器获得他们的上下文相关的表示:
G;ER]=Trm([eCLS;R1;eSEP;...;Rn;eSEP]),
Figure BDA0003264092270000041
Figure BDA0003264092270000042
其中
Figure BDA0003264092270000043
是通过预训练获得的词向量,
Figure BDA0003264092270000044
为segment嵌入向量,
Figure BDA0003264092270000045
为位置嵌入向量,以上三个向量都与BERT模型中的设置一致;序列中的“CLS”的表示eG作为用户的静态用户画像,Trm(·)是一个Transformer层,每个词语的上下文表示
Figure BDA0003264092270000046
所述初始化编码器的初始状态的方法为:给定输入
Figure BDA0003264092270000047
其表示
Figure BDA0003264092270000048
通过以下公式计算:
Figure BDA0003264092270000049
其中xi是由预训练得到的词向量,所述个性化输入编码器所得到的隐藏状态从用户的静态画像中获得了个性化信息,而在解码阶段,他们将通过注意力机制与解码器的当前状态
Figure BDA00032640922700000410
进行融合:
Figure BDA00032640922700000411
Figure BDA00032640922700000412
解码器状态
Figure BDA00032640922700000413
通过所述个性化解码器部分计算;基于注意力机制,我们可以获得当前输入的个性化表示ct
所述记忆神经网络运算和聚合的具体方法为:首先构建记忆神经网络,第一步将用户的历史输入-回复对转变成可以存储的讹键值对,对历史输入建模时应该对每个输入进行独立的建模,使用双向GRU来对历史输入进行表示,这个双向GRU与所述个性化输入编码器共享同样的参数,考虑第i个历史输入Pi,其表示将由一个求和池化层来计算:
Figure BDA0003264092270000051
其中
Figure BDA0003264092270000052
表示了双向GRU对于Pi中第j个单词的隐藏状态表示,对于所有的历史输入(P1,Px,...Pn),记为
Figure BDA0003264092270000053
对应的历史回复表示也采用同样的池化策略记为:
Figure BDA0003264092270000054
其中
Figure BDA0003264092270000055
代表了Ri中第j个词的上下文相关的表示向量,将所有的历史回复表示为
Figure BDA0003264092270000056
根据历史输入与历史回复的表示,构建一个用户历史的记忆网络,将历史输入视为记忆网络的键,历史回复作为值:
Figure BDA0003264092270000057
相似度在这个过程中通过注意力机制的权重来衡量,对应的历史回复通过归一化的权重进行求和,从而获得用户的动态画像:
Figure BDA0003264092270000058
Figure BDA0003264092270000059
Figure BDA00032640922700000510
动态历史画像在解码器的每个时间步数t更新。
生成个性化词语的具体方法为,通过所述个性化解码器,根据个性化输入表示cj,用户静态画像eG,用户动态画像
Figure BDA00032640922700000511
计算每个词语yt的生成概率,具体公式为:
p(yt|y<t,X,H)=p(mg)p(yt|mg)+p(mc)p(yt|mc),
其中p(mg)为通用解码概率,而p(mc)为复制解码概率,由一个解码转换器计算而得,p(yt|mg)是在个性化通用解码模式下生成词语yt的概率、p(yt|mc)是在个性化复制解码模式下生成词语yt的概率。
所述解码转换器基于解码器的隐含状态,与用户的个性化表示之间的匹配程度来计算模式转换概率:
[p(mg),p(mc)]=softmax(dt),
Figure BDA0003264092270000061
其中
Figure BDA0003264092270000062
为在时间步t的解码隐含状态,而dt∈R2为两个模式的概率的匹配程度,Softmax操作保证了p(mg)+p(mc)=1。
所述个性化通用解码模式下,个性化解码器从通用词表中预测一个单词yt的概率为:
Figure BDA0003264092270000063
所述个性化复制解码模式选取一个词语yt的概率为:
Figure BDA0003264092270000064
其中γt,i为个性化输入表示ct通过注意力机制读取历史回复表示ER获得注意力权重。
所述解码器状态更新方法为:应用GRU作为解码器,在解码第t步的隐含状态计算为:
Figure BDA0003264092270000065
其中yt-1是上一个生成的词的词向量,解码器的解码状态使用个性化输入编码器的最后一步隐藏状态来初始化:
Figure BDA0003264092270000066
神经网络的训练方法为,使用一个长度惩罚来避免模型生成无意义的极短回复,损失函数定义为:
Figure BDA0003264092270000067
其中η是用于控制长度惩罚的超参数,p(yt|y<t,X,H)为基于给定输入与用户历史生成词语yt的概率,所有模型的参数通过模型损失函数来优化,并且整个模型进行端到端的训练。
在上述方案基础上,将上述方案应用于具有用于采集用户对话历史和输入的输入单元,对外输出用户画像和对话的输出接口,以及应用基于用户对话历史的个性化对话生成方法的运算单元的系统
本发明所要实现的技术效果在于:
设计了一种个性化聊天机器人,并且基于深度学习设计了一个可以从用户对话历史中自动学习隐式用户画像并基于此生成个性化回复的框架。在这个框架中,聊天机器人可以模仿指定用户,生成与目标用户语言风格,背景信息,用户兴趣相似的个性化回复,具有应用到私人代理的价值,在聊天机器人用户体验上可以有较大提升,能够增强用户粘合度,从而带来经济效益。
附图说明
图1基于用户对话历史的个性化对话生成方法框架;
具体实施方式
以下是本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于此实施例。
本发明提出了一种基于用户对话历史的个性化对话生成方法与系统。
整体框架:
在个性化对话生成任务中,对于一个用户u,我们已经有的信息是:其对话历史H,对话历史中包括了一系列由该用户u提出的回复,以及每条回复对应的输入:H=((P1,R1),...(Pn,Rn)),其中n代表了历史输入-回复对的数量。注意每条输入Pi可以是由不同用户提出的,而每条回复Ri都是由用户u提出的。
给定当前输入X以及用户的对话历史H,我们的任务是基于Seq2Seq模型的结构生成一个个性化回复Y。
Seq2Seq模型包括一个编码器和一个解码器。在对话生成任务中,编码器会将一个由Lx长度个词语的输入
Figure BDA0003264092270000071
转换成一个向量表示,之后解码器将根据这个向量表示生成由Ly长度个词语组成的回复
Figure BDA0003264092270000072
生成回复Y的概率由以下公式计算而得:
Figure BDA0003264092270000073
其中yt代表了第t步生成的词语,而y<t代表了在t步之前已经生成的词语序列(y1,y2,...yt-1)。
而在个性化对话生成任务中,我们问题定义则更加复杂,个性化回复Y应当表述为:
Figure BDA0003264092270000081
为了计算生成概率(Y|x,u),我们设计了一个个性化回复生成模型,从用户的对话历史中自动地学习用户的用户画像。模型具有以下四个部分:(1)对话历史编码器与用户静态画像。(2)个性化输入编码器。(3)用户历史记忆神经网络与用户动态画像。(4)个性化解码器。
对话历史编码器与用户静态画像:
根据我们的观察,在用户的历史回复中有大量丰富的个性化信息。举例来说,一个板球的狂热球迷可能会在和别人交谈中谈论许多和板球相关的话题。另外,不同的用户可能会有不同的说话风格,比如有些用户喜欢说俚语。因此,我们关于模型的第一个想法便是使得模型能够在一个广泛通用的层面学习到用户的静态画像,用来刻画用户的背景信息和说话风格。
受Transformer模型在整个序列上下文以及序列建模的强大能力的启发,我们使用一个Transformer编码器学习历史回复的上下文表示。具体来说,我们的模型首先将用户的n条历史回复使用“SEP”特殊字符连接,并在序列开头添加特殊字符“CLS”,获得序列
Rw=[<CLS>;R1;<SEP>;...;Rn],
其中每个回复Ri包括
Figure BDA0003264092270000082
个单词,[;]代表连接操作。之后,我们将所有词语,特殊字符映射为他们的嵌入向量,并使用Transformer编码器获得他们的上下文相关的表示:
[eG;ER]=Trm([eCLS;R1;eSEP;...;Rn;eSEP]),
Figure BDA0003264092270000083
Figure BDA0003264092270000084
其中
Figure BDA0003264092270000091
是通过预训练获得的词向量,
Figure BDA0003264092270000092
为segment嵌入向量,
Figure BDA0003264092270000093
为位置嵌入向量,以上三个向量都与BERT模型中的设置一致。序列中的“CLS”的表示eG总结了历史回复中的个性化信息,因此我们将它作为用户的静态用户画像。对于历史回复Ri,我们使用它们经过Transformer上下文建模后的向量作为表示
Figure BDA0003264092270000094
Trm(·)是一个Transformer层。
通过对话历史编码器,我们获得了:(1)一个用户静态画像eG,它对用户的历史回复进行了摘要总结,并且包括了用户丰富的个性化信息。(2)用户历史回复每个词语的上下文表示ER。这些上下文表示将会在用户历史记网络与用户动态画像构建过程中被使用到。
个性化输入编码器:
在现实生活的应用场景中,用户给聊天机器人提供的输入通常是很短,并且很多情况是带有歧义的。因此,模型通常无法计算出输入的准确表示,这就进一步导致了模型会频繁生成低质量,无意义的回复。幸运的是,通过用户个性化的背景知识,聊天机器人能够获得更多关于输入的信息,这可以帮助模型对输入进行更加准确的语义建模。举例来说,给定一个输入“The MAC ofnew design is so beautiful”,不同的用户会对这句输入拥有不同的理解。对于一个程序员来说,“MAC”更可能指的是苹果电脑。而对于一个喜欢打扮的女孩子来说,她更有可能将“MAC”与口红品牌理解到一起。因此,用户的历史信息能够帮助模型通过用户的个性化背景知识对“MAC”这类歧义词进行消歧,进而获得更加精确的输入编码。因此,我们称模型的输入编码器为个性化输入编码器,即对于不同用户,编码器对同一输入得到的编码是不同的,因为不同用户的用户画像是不同的,因而对同样的输入所表达的意思也是不一样的。
具体来说,我们的模型使用一个双向GRU来对输入进行编码。为了能够让编码器能够融入个性化信息,我们使用对话历史编码器与用户静态画像部分中得到的用户静态画像来初始化编码器的初始状态。给定输入
Figure BDA0003264092270000095
其表示
Figure BDA0003264092270000096
通过以下公式计算:
Figure BDA0003264092270000097
其中xi指的是由预训练得到的词向量。
个性化输入编码器所得到的隐藏状态从用户的静态画像中获得了个性化信息,而在解码阶段,他们将通过注意力机制与解码器的当前状态
Figure BDA0003264092270000104
进行融合:
Figure BDA0003264092270000101
Figure BDA0003264092270000102
解码器状态
Figure BDA0003264092270000103
通过用户历史记忆神经网络与用户动态画像部分计算。基于注意力机制,我们可以获得当前输入的个性化表示ct,该表示可以根据解码器的当前状态,动态地关注输入中一些比较重要的词。
用户历史记忆神经网络与用户动态画像:
从对话历史编码器与用户静态画像部分的用户静态画像中,我们的模型可以在一个广泛而通用的层面捕捉到用户的一些个性化信息。但是,当机器人面对一个新的输入时,用户的多条历史数据往往会扮演不同的角色。例如,当一个板球的狂热粉丝面对一句关于板球的输入时,他可能会变得非常健谈。但是当他面对一个比较日常的话题时,他就可能表现的比较柔和。因此,在面对一个新的输入时,我们应该动态的选择出一些和这个输入最相关的几条信息。这样,随着输入的变化,聊天机器人的表现也会发生变化。基于这样的想法,我们使用了一个键值对记忆神经网络来存储用户的对话历史回复-输入对。我们将个性化输入编码器中所获得的个性化输入表示作为查询,从键值对记忆神经网络中选取和输入表示最相关的部分历史输入,并取相应的值(历史回复)进行聚合,得到用户的动态画像表示。
构建记忆神经网络的第一步便是将用户的历史输入-回复对转变成可以存储的讹键值对。如我们之前讨论的,历史输入一般是由不同用户提出的。因此,历史输入的语言习惯和话题风格应该呈现多样化。在这样的情况下,模型在对历史输入建模时应该对每个输入进行独立的建模。因此,我们的模型使用双向GRU来对历史输入进行表示。在我们的实现中,这个双向GRU与个性化输入编码器共享同样的参数。考虑第i个历史输入Pi,其表示将由一个求和池化层来计算:
Figure BDA0003264092270000111
其中
Figure BDA0003264092270000112
表示了双向GRU对于Pi中第j个单词的隐藏状态表示。对于所有的历史输入(P1,P2,...Pn),他们的表示我们记为
Figure BDA0003264092270000113
相似的,对应的历史回复表示也采用同样的池化策略记为:
Figure BDA0003264092270000114
其中
Figure BDA0003264092270000115
代表了Ri中第j个词的上下文相关的表示向量。我们将所有的历史回复表示为
Figure BDA0003264092270000116
根据历史输入与历史回复的表示,我们构建一个用户历史的记忆网络,将历史输入视为记忆网络的键,历史回复作为值:
Figure BDA0003264092270000117
在构建了用户的历史记忆网络之后,我们的模型便可以选择并且聚合用户历史中和当前输入最相似的部分历史回复,并且基于当前输入构建一个动态的用户画像。具体来说,输入的个性化表示可以被用作查询来对记忆网络进行查询,从而关注与输入最相关的一些键,来寻找和当前历史最相关的一些历史输入。相似度在这个过程中通过注意力机制的权重来衡量。然后,对应的历史回复通过归一化的权重进行求和,从而获得用户的动态画像:
Figure BDA0003264092270000118
Figure BDA0003264092270000119
Figure BDA00032640922700001110
注意动态历史画像在解码器的每个时间步数t都会更新。基于用户历史的记忆神经网络,用户历史中最相关的信息因此可以被选择出来帮助回复生成。
个性化解码器:
回复的生成概率可以根据我们以上所建模的个性化输入表示cj,用户静态画像eG,用户动态画像
Figure BDA00032640922700001111
计算而得。受CopyNet启发,除了通过隐式用户画像表示来利用个性化信息,我们还构建了一个个性化词表,从而使得模型可以直接从个性化此表中选择用户个性化词语。
具体来说,每个词语yt的生成概率由以下公式计算而得:
p(yt|y<t,X,H)=p(mg)p(yt|mg)+p(mc)p(yt|mc),
其中p(mg)为通用解码概率,而p(mc)为复制解码概率。他们是由我们提出的解码转换器计算而得。p(yt|mg)与p(yt|mc)是在两种模式下分别生成词语yt的概率。
值得注意的是:(1)模式转换概率p(mg)与p(mc)都是[0,1]之间的取值。因此,我们的解码转换器是一个软转换。(2)通用解码模式所使用的通用词表同样包括了个性化词表的词语。词语yt的生成概率是由两个生成模式概率相加而得。因此,我们的模型会偏向生成个性化词语,而不是完全迷失在生成个性化词语中。
解码转换器
解码转换器决定了两种解码模式的概率,即从通用词表中预测一个单词来维持句子流畅度,或从用户的个性化此表中直接复制一个词语来让回复更加有趣和个性化。具体来说,解码转换器基于解码器的隐含状态,与用户的个性化表示之间的匹配程度来计算模式转换概率:
[p(mg),p(mc)]=softmax(dt),
Figure BDA0003264092270000121
其中
Figure BDA0003264092270000124
为在时间步t的解码隐含状态,而dt∈R2为两个模式的概率的匹配程度。Softmax操作保证了p(mg)+p(mc)=1。
个性化通用解码
在通用解码模式下,个性化解码器应当从通用词表中预测一个单词yt
Figure BDA0003264092270000122
个性化复制解码
用户的个性化词表中包括了出现在用户历史回复中的所有词语。我们的模型可以直接从用户的个性化词表中直接选取一个单词来生成一句个性化回复。选取一个词语yt的概率为:
Figure BDA0003264092270000123
其中γt,i为个性化输入表示ct通过注意力机制读取历史回复表示ER获得注意力权重。
解码器状态更新
我们的模型应用GRU作为解码器。在解码第t步的隐含状态计算为:
Figure BDA0003264092270000131
其中yt-1是上一个生成的词的词向量。解码器的解码状态使用个性化输入编码器的最后一步隐藏状态来初始化:
Figure BDA0003264092270000132
训练与优化
我们的模型的目标是给定输入与用户的对话历史来最大化目标回复的生成概率。我们使用一个长度惩罚来避免模型生成无意义的极短回复。因此,我们模型的损失函数定义为:
Figure BDA0003264092270000133
其中η是用于控制长度惩罚的超参数。p(yt|y<t,X,H)为基于给定输入与用户历史生成词语yt的概率。所有模型的参数通过模型损失函数来优化,并且整个模型进行端到端的训练。

Claims (10)

1.一种基于用户对话历史的个性化对话生成方法,针对采集到的历史对话以及用户输入,通过包括一个编码器和一个解码器的基于Seq2Seq模型结构的个性化回复模型处理对话和输入,其特征在于:所述基于Seq2Seq模型结构的个性化回复模型基础架构为:
Figure FDA0003264092260000011
其中,对话历史为H,包括一系列由该用户u提出的回复,以及每条回复对应的输入:H=((P1,R1),…(Pn,Rn)),其中n代表了历史输入-回复对的数量,其中每条输入Pi来自不同用户,而每条回复Ri都是来自用户u提出,Lx为输入
Figure FDA0003264092260000012
Figure FDA0003264092260000013
长度的词语数,Ly为回复
Figure FDA0003264092260000014
长度的词语数,yt代表第t步生成的词语,而y<t代表了在t步之前已经生成的词语序列(y1,y2,…yt-1);
所述基于Seq2Seq模型的个性化回复生成模型由对话历史编码器与用户静态画像、个性化输入编码器、用户历史记忆神经网络与用户动态画像、个性化解码器四个部分具体构成,最终生成用于输出的个性化词语和自动地学习用户的用户画像;
所述个性化回复生成模型以所述对话历史编码器与用户静态画像使用Transformer编码器学习历史回复的上下文表示,得到用户的静态画像;之后通过所述个性化输入编码器使用一个双向GRU来对输入进行编码,并使用所述用户静态画像来初始化编码器的初始状态;进而通过用户历史记忆神经网络与用户动态画像部分,所述将所述个性化输入编码器中所获得的个性化输入表示作为查询,从键值对记忆神经网络中选取和输入表示最相关的部分历史输入,并取相应的值进行记忆神经网络运算和聚合,得到用户的动态画像表;最后通过所述个性化解码器以神经网络方法计算生成概率p(Y|x,u),生成个性化词语,从而完成从用户的对话历史中自动地学习用户的用户画像。
2.如权利要求1所述的一种基于用户对话历史的个性化对话生成方法,其特征在于:所述使用Transformer编码器学习历史回复的上下文表示的具体步骤为:首先将用户的n条历史回复使用“SEP”特殊字符连接,并在序列开头添加特殊字符“CLS”,获得序列Rw=[<CLS>;R1;<SEP>;…;Rn],其中每个回复Ri包括
Figure FDA0003264092260000015
个单词,[;]代表连接操作,之后,将所有词语、特殊字符映射为它们的嵌入向量,并使用Transformer编码器获得他们的上下文相关的表示:
[eG;ER]=Trm([eCLS;R1;eSEP;…;Rn;eSEP]),
Figure FDA0003264092260000021
Figure FDA0003264092260000022
其中
Figure FDA0003264092260000023
是通过预训练获得的词向量,
Figure FDA0003264092260000024
为segment嵌入向量,
Figure FDA0003264092260000025
为位置嵌入向量,以上三个向量都与BERT模型中的设置一致;序列中的“CLS”的表示eG作为用户的静态用户画像,Trm(·)是一个Transformer层,每个词语的上下文表示
Figure FDA0003264092260000026
3.如权利要求2所述的一种基于用户对话历史的个性化对话生成方法,其特征在于:所述初始化编码器的初始状态的方法为:给定输入
Figure FDA0003264092260000027
其表示
Figure FDA0003264092260000028
通过以下公式计算:
Figure FDA0003264092260000029
其中xi是由预训练得到的词向量,所述个性化输入编码器所得到的隐藏状态从用户的静态画像中获得了个性化信息,而在解码阶段,他们将通过注意力机制与解码器的当前状态
Figure FDA00032640922600000210
进行融合:
Figure FDA00032640922600000211
Figure FDA00032640922600000212
解码器状态
Figure FDA00032640922600000213
通过所述个性化解码器部分计算;基于注意力机制,我们可以获得当前输入的个性化表示ct
4.如权利要求3所述的一种基于用户对话历史的个性化对话生成方法,其特征在于:所述记忆神经网络运算和聚合的具体方法为:首先构建记忆神经网络,第一步将用户的历史输入-回复对转变成可以存储的讹键值对,对历史输入建模时应该对每个输入进行独立的建模,使用双向GRU来对历史输入进行表示,这个双向GRU与所述个性化输入编码器共享同样的参数,考虑第i个历史输入Pi,其表示将由一个求和池化层来计算:
Figure FDA00032640922600000214
其中
Figure FDA0003264092260000031
表示了双向GRU对于Pi中第j个单词的隐藏状态表示,对于所有的历史输入(P1,P2,…Pn),记为
Figure FDA0003264092260000032
对应的历史回复表示也采用同样的池化策略记为:
Figure FDA0003264092260000033
其中
Figure FDA0003264092260000034
代表了Ri中第j个词的上下文相关的表示向量,将所有的历史回复表示为
Figure FDA0003264092260000035
根据历史输入与历史回复的表示,构建一个用户历史的记忆网络,将历史输入视为记忆网络的键,历史回复作为值:
Figure FDA0003264092260000036
相似度在这个过程中通过注意力机制的权重来衡量,对应的历史回复通过归一化的权重进行求和,从而获得用户的动态画像:
Figure FDA0003264092260000037
Figure FDA0003264092260000038
Figure FDA0003264092260000039
动态历史画像在解码器的每个时间步数t更新。
5.如权利要求4所述的一种基于用户对话历史的个性化对话生成方法,其特征在于:生成个性化词语的具体方法为,通过所述个性化解码器,根据个性化输入表示cj,用户静态画像eG,用户动态画像
Figure FDA00032640922600000310
计算每个词语yt的生成概率,具体公式为:
p(yt|y<t,X,H)=p(mg)p(yt|mg)+p(mc)p(yt|mc),
其中p(mg)为通用解码概率,而p(mc)为复制解码概率,由一个解码转换器计算而得,p(yt|mg)是在个性化通用解码模式下生成词语yt的概率、p(yt|mc)是在个性化复制解码模式下生成词语yt的概率。
6.如权利要求5所述的一种基于用户对话历史的个性化对话生成方法,其特征在于:所述解码转换器基于解码器的隐含状态,与用户的个性化表示之间的匹配程度来计算模式转换概率:
[p(mg),p(mc)]=softmax(dt),
Figure FDA0003264092260000041
其中
Figure FDA0003264092260000042
为在时间步t的解码隐含状态,而dt∈R2为两个模式的概率的匹配程度,Softmax操作保证了p(mg)+p(mc)=1。
7.如权利要求6所述的一种基于用户对话历史的个性化对话生成方法,其特征在于:所述个性化通用解码模式下,个性化解码器从通用词表中预测一个单词yt的概率为:
Figure FDA0003264092260000043
所述个性化复制解码模式选取一个词语yt的概率为:
Figure FDA0003264092260000044
其中γt,i为个性化输入表示ct通过注意力机制读取历史回复表示ER获得注意力权重。
8.如权利要求7所述的一种基于用户对话历史的个性化对话生成方法,其特征在于:所述解码器状态更新方法为:应用GRU作为解码器,在解码第t步的隐含状态计算为:
Figure FDA0003264092260000045
其中yy-1是上一个生成的词的词向量,解码器的解码状态使用个性化输入编码器的最后一步隐藏状态来初始化:
Figure FDA0003264092260000046
9.如权利要求8所述的一种基于用户对话历史的个性化对话生成方法,其特征在于:神经网络的训练方法为,使用一个长度惩罚来避免模型生成无意义的极短回复,损失函数定义为:
Figure FDA0003264092260000047
其中η是用于控制长度惩罚的超参数,p(yt|y<t,X,H)为基于给定输入与用户历史生成词语yt的概率,所有模型的参数通过模型损失函数来优化,并且整个模型进行端到端的训练。
10.一种基于用户对话历史的个性化对话生成系统,其特征在于:包括用于采集用户对话历史和输入的输入单元,对外输出用户画像和对话的输出接口,以及应用如权利要求1-9中任一所述的基于用户对话历史的个性化对话生成方法的运算单元。
CN202111081329.1A 2021-09-15 2021-09-15 一种基于用户对话历史的个性化对话生成方法与系统 Pending CN113779224A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111081329.1A CN113779224A (zh) 2021-09-15 2021-09-15 一种基于用户对话历史的个性化对话生成方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111081329.1A CN113779224A (zh) 2021-09-15 2021-09-15 一种基于用户对话历史的个性化对话生成方法与系统

Publications (1)

Publication Number Publication Date
CN113779224A true CN113779224A (zh) 2021-12-10

Family

ID=78844030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111081329.1A Pending CN113779224A (zh) 2021-09-15 2021-09-15 一种基于用户对话历史的个性化对话生成方法与系统

Country Status (1)

Country Link
CN (1) CN113779224A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116881429A (zh) * 2023-09-07 2023-10-13 四川蜀天信息技术有限公司 一种基于多租户的对话模型交互方法、装置及存储介质
CN116992888A (zh) * 2023-09-25 2023-11-03 天津华来科技股份有限公司 基于自然语义的数据分析方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHENGYI MA 等: "One Chatbot Per Person: Creating Personalized Chatbots based on Implicit User Profiles", 《ARXIV》, pages 1 - 10 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116881429A (zh) * 2023-09-07 2023-10-13 四川蜀天信息技术有限公司 一种基于多租户的对话模型交互方法、装置及存储介质
CN116881429B (zh) * 2023-09-07 2023-12-01 四川蜀天信息技术有限公司 一种基于多租户的对话模型交互方法、装置及存储介质
CN116992888A (zh) * 2023-09-25 2023-11-03 天津华来科技股份有限公司 基于自然语义的数据分析方法及系统

Similar Documents

Publication Publication Date Title
CN108763284B (zh) 一种基于深度学习和主题模型的问答系统实现方法
Fried et al. Speaker-follower models for vision-and-language navigation
Bhattacharya et al. Text2gestures: A transformer-based network for generating emotive body gestures for virtual agents
JP2022531855A (ja) テキストに基づくアバターの行動制御方法、デバイス及びコンピュータプログラム
CN111897933B (zh) 情感对话生成方法、装置及情感对话模型训练方法、装置
CN110609891A (zh) 一种基于上下文感知图神经网络的视觉对话生成方法
CN110851760B (zh) 在web3D环境融入视觉问答的人机交互系统
CN111966800B (zh) 情感对话生成方法、装置及情感对话模型训练方法、装置
Nyatsanga et al. A Comprehensive Review of Data‐Driven Co‐Speech Gesture Generation
CN112541063B (zh) 一种基于自学习对话模型的人机对话方法及系统
CN111831798A (zh) 信息处理方法、装置、电子设备及计算机可读存储介质
CN113779310B (zh) 一种基于层级表征网络的视频理解文本生成方法
CN111144553A (zh) 一种基于时空记忆注意力的图像描述方法
CN112115246A (zh) 基于对话的内容推荐方法、装置、计算机设备及存储介质
CN113779224A (zh) 一种基于用户对话历史的个性化对话生成方法与系统
CN113360618B (zh) 一种基于离线强化学习的智能机器人对话方法及系统
CN112541060A (zh) 一种基于对抗训练的端到端任务型对话学习框架和方法
CN113065344A (zh) 一种基于迁移学习和注意力机制的跨语料库情感识别方法
CN112905762A (zh) 一种基于同等注意力图网络的视觉问答方法
Huang et al. C-Rnn: a fine-grained language model for image captioning
CN110297894B (zh) 一种基于辅助网络的智能对话生成方法
CN110069611A (zh) 一种主题增强的聊天机器人回复生成方法及装置
CN116392812A (zh) 动作生成方法及虚拟人物动画生成方法
CN112364148A (zh) 一种基于深度学习方法的生成型聊天机器人
Kosmopoulos et al. Museum guidance in sign language: The signguide project

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