CN112100350B - 一种用于强化回复个性化表达的开放域对话方法 - Google Patents
一种用于强化回复个性化表达的开放域对话方法 Download PDFInfo
- Publication number
- CN112100350B CN112100350B CN202010950990.0A CN202010950990A CN112100350B CN 112100350 B CN112100350 B CN 112100350B CN 202010950990 A CN202010950990 A CN 202010950990A CN 112100350 B CN112100350 B CN 112100350B
- Authority
- CN
- China
- Prior art keywords
- personalized
- user input
- word
- input message
- decoder
- 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 67
- 230000008569 process Effects 0.000 claims abstract description 49
- 238000012549 training Methods 0.000 claims abstract description 49
- 230000002708 enhancing effect Effects 0.000 claims abstract description 5
- 239000013598 vector Substances 0.000 claims description 57
- 230000007246 mechanism Effects 0.000 claims description 18
- 230000008447 perception Effects 0.000 claims description 8
- 238000012935 Averaging Methods 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 238000011176 pooling Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000013461 design Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000001568 sexual effect Effects 0.000 description 2
- 230000004308 accommodation Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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/3346—Query execution using probabilistic model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/12—Hotels or restaurants
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Tourism & Hospitality (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Human Resources & Organizations (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Economics (AREA)
- Biophysics (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Probability & Statistics with Applications (AREA)
- Biomedical Technology (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种用于强化回复个性化表达的开放域对话模方法,本属于开放域对话生成技术领域。包括一对拥有相同编码器‑解码器骨干的子网络,由CDNet和PDNet两个子网络构成,两个子网络通过多任务学习的方式交替训练,在交替训练的过程中更新编码器‑解码器骨干的参数,从而让整个模型获得两个子网络在训练过程中学习到的个性化选择与个性化嵌入的能力,模型通过多任务训练的方式交替训练CDNet和PDNet,从而学习到这两个子网络的能力,生成个性化信息更加充分的回复。有益效果在于,基于个性的双网络对话模型,用于在各种对话场景中生成更加个性化的回复;增强对话过程中个性化信息的主导作用,增强了机器人的个性化表达能力。
Description
技术领域
本发明涉及一种用于强化回复个性化表达的开放域对话方法,本属于开放域对话生成技术领域。
背景技术
目前,对话系统可根据其具体应用大致分为面向任务型与非面向任务型两种模型。面向任务的对话系统旨在帮助用户完成某些任务,例如查找产品,预订住宿和餐馆。非面向任务的对话系统也被称为开放域对话系统或者闲聊机器人,致力于在开放域与人交谈,并在与人类交互过程中有意义且相关的回复,主要起到拉近用户距离,建立信任关系,情感陪伴,顺滑对话过程(例如在任务型对话无法满足用户需求时)和提高用户粘性的作用,因此开放域对话系统具有广泛的应用价值。开放域对话系统可根据构建方法分为检索模型和生成模型。检索模型首先构建一个丰富的对话语料库,对于每一条输入语句,检索模型会从候选语句中挑选语义匹配度最大的语句作为其回复。检索模型的核心是其所使用的语义匹配算法,其重点在于让匹配模型克服查询和回复之间的语义差异,使回复更具有流畅性和语法性。由于检索模型依赖于检索对话语料库,因此无法回答语料库中不存在的问题,无法创建新的回复。生成模型受到神经机器翻译的启发,基于序列到序列模型(Seq2Seq),学习输入与回复之间的对应模式。在预测阶段,系统根据对话模型计算输入语义向量,再逐个生成词语组成回复话语。生成模型能够产生更加适当的,在语料库中从未出现过的回复,因此成为近年来最主要的研究热点。
由于对话生成模型基于Seq2Seq框架,因此倾向于选择具有最大可能性的回复,这通常会导致两个问题,一方面,这使得对话系统产生意义不大的或不重要的、普适的回答,例如对话数据集中“我不知道”或者“我很好”这样的高频率短语,而相反,有更多信息的更有意义的回答相对稀疏,这降低了生成回复的多样性。另一方面,由于训练数据来自很多不同身份的说话者,对话系统对泛型回答的倾向性会影响对话系统的一致性。针对上述面临的挑战,一些研究通过给机器人赋予个性化信息让机器人生成多样且与自身个性一致对话。首先提出了一种基于角色的对话生成模型,该模型将每个用户投影到一个向量中,并在每个解码步骤将其馈送到解码器。采用两个阶段的方法,即现在大规模语料库上回复生成进行建模然后再通过个性化信息对模型微调。现有技术探索了一种基于说话人和对话历史的回复生成模型。但是,这些模型无法捕获和解释个性,因为有关用户的所有个性化信息都被编码为密集向量。为了保持连贯的人格,现有技术提供设计了模型,该模型根据预先设定的个人档案明确在回应中表达的个性。现有技术通过创建了一个Persona-chat数据集,并且提出了两个生成模将个性化信息整合到回复中。使用了一种复制机制,该机制允许解码器利用层级注意力机制从对话上下文和个性化信息中选择相关单词复制在回复中;现有技术提出了一种个性选择机制,该机制使用个性信息的先验分布和后验分布来促进个性选择;现有技术提出了一种内存增强的架构,以利用上下文中的个性化信息并将条件变分自编码器模型整合在一起以生成各种回复。上述研究证明了引入个性化相关信息能够让机器人生成更加多样且一致的回复。
现有技术只注重如何选择个性化信息来生成对话,而个性化信息的选择非常依赖于对话输入中表现出来的个性化相关的主题,这使得在很多缺乏个性化信息对话场景中,机器人并不能主动和充分利用个性化信息生成个性化的回复。本发明在以上技术的基础上,加强机器在不同对话场景中的个性化信息嵌入的能力。提出一种能够增强回复个性化表达的开放域对话模型。
发明内容
本发明的目的在于提供一种用于强化回复个性化表达的开放域对话方法,通过提供一种嵌入个性化信息以实现具有个性化和一致性的对话机器人的技术;从而广泛应用于闲聊机器人,个人助理,智能客服等领域中。
本发明通过以下技术方案实现,包括一对拥有相同编码器-解码器骨干的子网络,由Context-Dominated Network(CDNet)和Persona-Dominated Network(PDNet)两个子网络构成,两个子网络共享编码器-解码器骨干,两个网络都是以seq2seq为基础设计的对话生成网络,但是共享序列到序列(Seq2Seq)框架,即编码器-解码器骨干。
CDNet是一个基于记忆网络的对话生成模型,主要用来学习从个性化档案中选择个性的能力并且保证生成的回复与用户输入消息在语义上相关联;PDNet在学习的过程中直接根据一条预先给出的个性文本标签生成回复,主要用来学习将一条个性充分表达在回复中的能力。两个子网络通过多任务学习的方式交替训练,他们在交替训练的过程中更新编码器-解码器骨干的参数,从而让整个模型获得两个子网络在训练过程中学习到的个性化选择与个性化嵌入的能力。
CDNet是一个基于记忆网络的个性化对话生成模型,记忆网络在模型中负责读取个性化档案。CDNet分别对当前用户输入消息和个性化文档中的每一条个性化文本进行编码,通过用户输入消息中的特定内容得到一个性感知向量,然后结合记忆网络来学习选择一条合适的个性,用来生成回复。该网络用来来强化模型在个性选择方面的能力,并且保证了模型在对话生成过程中用户输入消息和生成的回复之间的语义相关性。
PDNet将与用户输入消息的句子主干相似的一系列同类消息和一条提前用BERT选出的个性文本标签作为输入,根据同类消息获得一个公共主干特征,然后结合该个性文本标签,生成充分表达该个性的回复。PDNet在使用个性的过程中忽略了用户输入消息中的特定内容,从而突出个性在对话建模中的贡献,加强了个性化信息在回复生成中的利用。
模型通过多任务训练的方式交替训练CDNet和PDNet,从而学习到这两个子网络的能力,生成个性化信息更加充分的回复。
本发明包括以下步骤:
步骤1,通过PMI(逐点互信息)预测用户输入消息中的特定单词集合Q,给定一个输入样本{X,Y,P},其中X=(x1...xn)是一条包含n个词的用户输入消息,个性化档案由一组个性化文本组成;对于X中的单词wx和P中的单词wp,单词wx针对个性化档案P的PMI(wx,P)得分计算如下:
通过设置PMI得分阈值为3.5并将特定单词的最大数量限制为5来选择特定单词;
步骤2,对于一个对话生成任务,给定一个用户输入消息X=(x1...xn)和个性化档案其中xi表示X的第i个单词,yi表示Y的第i个单词,pi是个性化档案的第i条个性化文本;对话模型的目的是生成一个与给出的个性化档案P一致的回复Y=(y1...ym);对话生成任务可以简述为:
对话生成任务是基于序列到序列(Seq2Seq)框架实现的,该框架包括编码器和解码器两个部分;对于一个基于门控循环单元(GRU)的序列到序列对话生成模型,其对话生成过程具体如下:
GRU:是一种特殊的循环神经网络结构,主要用来在处理序列数据,比如提取句子的特征。对于一个句子,句中的单词的词向量作为每个时间步的输入进入到GRU单元中,GRU会得到每个时间步的隐层变量,其中当前时间步的隐层变量的获取由当前时间步的输入和上一时间步的隐层变量共同决定。
序列到序列:序列序列(Seq2Seq)广泛应用于对话生成任务中,它包含编码器(Encoder)和解码器(Decoder)两部分。
先将对话上下文编码成向量。编码器的目的是将一个句子S编码为一个隐层变量序列,定义u(S),h(S)=Encode(S),其中u(S)表示GRU的最终时间步的隐层状态,h(S)=(h1,...,hn)表示GRU单元在所有时间步的输出;
编码过程结束后进行解码生成回复。解码器将句子的上下文向量ct和前一个时间步解码得到的词yt-1的词向量作为输入,用另一个GRU单元更新当前时间步的隐层变量st:
st=GRU([e(yt-1);ct],st-1).
其中,ct是用户输入消息在t时间步的上下文向量,在解码过程中动态关注上下文信息;
e(yt-1)是前一个时间步解码得到的词yt-1的词向量。
ct由解码器中上一个时间步的隐层变量st-1和用户输入消息的编码输出h(S)使用注意力机制得到,该过程定义为ct=Attention(st-1,(S))。注意力机制的具体过程为:
ei=MLP(st-1,hi),(4)
一旦获得当前时间步的隐层变量向量st,解码器就会根据词汇表上的输出概率分布生成一个单词yt:
yt~ot=softmax(st,ct), (7)
步骤21,模型的子网络CDNet基于一条用户输入消息X和一组个性化输入文本生成回复,CDNet需要在这组个性化文本中选出一条合适的个性pi并且在生成的回复中嵌入pi。CDNet是基于序列到序列(Seq2Seq)框架设计的,CDNet的对话生成过程如下:
首先使用一个用户输入消息编码器和个性编码器分别将用户输入消息X和个性化档案P={p1,p2,...,pM)中的每一条个性化文本pi转换为向量表示:
u(X),h(X)=Encode(X); (8)
同时通过以下方式计算用户输入消息X中个特定单词的向量表示:
q=∑w∈QΨ(w), (10)
其中Q表示用户输入消息中的特定单词的集合,而Ψ(·)将单词转换成词向量;
再通过拼接u(X)和q来获得个性感知向量z;
使用z结合一个多层的记忆网络来选择一条个性化文本:
mk+1=ok+mk,(13)
记忆网络在CDNet中使用的具体过程:
个性感知向量z的转置m1作为记忆网络中第一层网络的输入,与每一个个性文本的向量表示做相关度计算得到与每条个性的相关度(或者说是权重)其中i=1,...,M。第一层网络输出的相关度与每个个性文本的向量表示做加权和得到第一层网络的输出向量o1,o1与m1相加得到第二层网络输入m2。依次类推直到得到第三层网络中每条个性化文本的相关度其中i=1,...,M;
编码完成后进入解码过程,在解码过程中,通过注意力机制(Bahdanau,Cho和Bengio 2014)动态获取用户输入消息和个性化文本的上下文向量:
ct=Attention(st-1,h(X)),(15)
解码器根据用户输入消息和个性化文本的上下文向量更新隐层状态:
得到新的隐层状态st后,根据st计算出解码时间步的概率分布,以生成下一个单词yt。
步骤22,和CDNet相比,对PDNet中的输入进行了相应的调整;首先用特殊符号“<KEY>”替换用户输入消息中的特定单词Q,以将用户输入消息X更改为修订形式之后,检索语料库中与相似的额外K-1条用户输入消息,以构造一个同类消息集合同时,使用预训练的BERT模型来计算Y与每个个性文本之间的相似度,从而选择具有最高相似度得分的个性文本p*作为当前对话的个性文本标签(也就是最佳个性);
在解码过程中,解码器嵌入个性文本标签p*,依次逐字生成回复;解码器在时间t的隐层状态为:
模型由两个交替训练的子网Context-Dominated Network和Persona-DominatedNetwork构成,这两个子网共享编码器-解码器骨干,但是具体结构和学习任务不一样。
整个模型通过交替训练这两个子网络获得这两种子网学到的能力。模型的创新点主要在第二个子网络Persona-Dominated Network的设计和以交替训练的方法让模型学习选择个性和嵌入个性的两种能力。方程(16)中的st是第一个子网络Context-DominatedNetwork的输出,方程(22)中的st是第二个子网络Persona-Dominated Network的输出,这两个输出不重复。
第一个子网络Context-Dominated Network侧重于学习根据对话上下文选择个性的能力,第二个子网络Persona-Dominated Network侧重于学习在回复中嵌入个性的能力;整个模型通过交替训练这两个子网络获得这两种子网学到的能力到,Seq2Seq的多任务学习可以使用与当前任务相关任务提高当前任务的性能。
步骤3CDNet和PDNet通过多任务训练的方式在训练阶段更新编码器(Encoder)和解码器(Dncoder)的参数。分别使用两个独立的任务来训练这两个网络:
(1)Context-Dominated task:用{X,Y,P}训练样本来训练CDNet。
本发明的有益效果在于,在每个训练批次中,所有的训练数据只从一个任务中采样。对于每一个训练批次,从这两个任务中随机选择一个任务,其中Persona-Dominated任务的概率为γ,Context-Dominated任务的概率为1-γ。在整个训练过程中,两个网络的编码器-解码器骨干共享参数。模型的创新点主要在第二个子网络Persona-DominatedNetwork的设计和以交替训练的方法让模型学习选择个性和嵌入个性的两种能力。基于个性的双网络对话模型,用于在各种对话场景中生成更加个性化的回复。通过在对话建模中降低模型对源消息的敏感性来增强对话过程中个性化信息的主导作用,通过促进嵌入个性化信息的泛化能力,增强了机器人的个性化表达能力。
附图说明
图1为本发明的结构示意图。
具体实施方式
下面结合附图l对本发明的优选实施例作进一步说明,本发明包括一对拥有相同编码器-解码器骨干的子网络,由Context-Dominated Network(CDNet)和Persona-Dominated Network(PDNet)两个子网络构成,CDNet是一个基于记忆网络的对话生成模型,主要用来学习从个性化档案中选择个性的能力并且保证生成的回复与用户输入消息在语义上相关联;PDNet在学习的过程中直接根据一条预先给出的个性文本标签生成回复,主要用来学习将一条个性充分表达在回复中的能力。两个子网络通过多任务学习的方式交替训练,他们在交替训练的过程中更新编码器-解码器骨干的参数,从而让整个模型获得两个子网络在训练过程中学习到的个性化选择与个性化嵌入的能力。
CDNet是一个基于记忆网络的个性化对话生成模型,记忆网络在模型中负责读取个性化档案。CDNet分别对当前用户输入消息和个性化文档中的每一条个性化文本进行编码,通过用户输入消息中的特定内容得到一个性感知向量,然后结合记忆网络来学习选择一条合适的个性,用来生成回复。该网络用来来强化模型在个性选择方面的能力,并且保证了模型在对话生成过程中用户输入消息和生成的回复之间的语义相关性。
PDNet将与用户输入消息的句子主干相似的一系列同类消息和一条提前用BERT选出的个性文本标签作为输入,根据同类消息获得一个公共主干特征,然后结合该个性文本标签,生成充分表达该个性的回复。PDNet在使用个性的过程中忽略了用户输入消息中的特定内容,从而突出个性在对话建模中的贡献,加强了个性化信息在回复生成中的利用。
模型通过多任务训练的方式交替训练CDNet和PDNet,从而学习到这两个子网络的能力,生成个性化信息更加充分的回复。
本发明包括以下步骤:
步骤1,通过PMI(逐点互信息)预测用户输入消息中的特定单词集合Q,给定一个输入样本{X,Y,P},其中X=(x1...xn)是一条包含n个词的用户输入消息,个性化档案由一组个性化文本组成;对于X中的单词wx和P中的单词wp,单词wx针对个性化档案P的PMI(wx,P)得分计算如下:
通过设置PMI得分阈值为3.5并将特定单词的最大数量限制为5来选择特定单词;
步骤2,对于一个对话生成任务,给定一个用户输入消息X=(x1...xn)和个性化档案其中xi表示X的第i个单词,yi表示Y的第i个单词,pi是个性化档案的第i条个性化文本;对话模型的目的是生成一个与给出的个性化档案P一致的回复Y=(y1...ym);对话生成任务可以简述为:
对话生成任务是基于序列到序列(Seq2Seq)框架实现的,该框架包括编码器和解码器两个部分;对于一个基于门控循环单元(GRU)的序列到序列(Seq2Seq)对话生成模型,其对话生成过程具体如下:
GRU:是一种特殊的循环神经网络结构,主要用来在处理序列数据,比如提取句子的特征。对于一个句子,句中的单词的词向量作为每个时间步的输入进入到GRU单元中,GRU会得到每个时间步的隐层变量,其中当前时间步的隐层变量的获取由当前时间步的输入和上-时间步的隐层变量共同决定。
序列到序列:序列序列(Seq2Seq)广泛应用于对话生成任务中,它包含编码器(Encoder)和解码器(Decoder)两部分。
先将对话上下文编码成向量。编码器的目的是将一个句子S编码为一个隐层变量序列,定义u(S),h(s)=Encode(S),其中u(S)表示GRU的最终时间步的隐层状态,h(s)=(h1,...,hn)表示GRU单元在所有时间步的输出;
编码过程结束后进行解码生成回复。解码器将句子的上下文向量ct和前一个时间步解码得到的词yt-1的词向量作为输入,用另一个GRU单元更新当前时间步的隐层变量st:
st=GRU([e(yt-1);ct],st-1).
其中,ct是用户输入消息在t时间步的上下文向量,在解码过程中动态关注上下文信息;ct由解码器中上一个时间步的隐层变量st-1和用户输入消息的编码输出h(S)使用注意力机制得到,该过程定义为ct=Attention(st-1,h(S))。注意力机制的具体过程为:
ei=MLP(st-1,hi), (4)
一旦获得当前时间步的隐层变量向量st,解码器就会根据词汇表上的输出概率分布生成一个单词yt:
yt~ot=softmax(st,ct). (7)
步骤21,模型的子网络CDNet基于一条用户输入消息X和一组个性化输入文本生成回复,CDNet需要在这组个性化文本中选出一条合适的个性pi并且在生成的回复中嵌入pi。CDNet是基于序列到序列(Seq2Seq)框架设计的,CDNet的对话生成过程如下:首先使用一个用户输入消息编码器和个性编码器分别将用户输入消息X和个性化档案P={p1,p2,...,pM}中的每一条个性化文本pi转换为向量表示:
u(x),h(X)=Encode(X); (8)
同时通过以下方式计算用户输入消息X中个特定单词的向量表示:
q=∑w∈QΨ(w), (10)
其中Q表示用户输入消息中的特定单词的集合,而Ψ(·)将单词转换成词向量;
再通过拼接u(X)和q来获得个性感知向量z;
使用z结合一个多层的记忆网络来选择一条个性化文本:
mk+1=ok+mk, (13)
记忆网络在CDNet中使用的具体过程:
个性感知向量z的转置m1作为记忆网络中第一层网络的输入,与每一个个性文本的向量表示做相关度计算得到与每条个性的相关度(或者说是权重)其中i=1,...,M。第一层网络输出的相关度与每个个性文本的向量表示做加权和得到第一层网络的输出向量o1,o1与m1相加得到第二层网络输入m2。依次类推直到得到第三层网络中每条个性化文本的相关度其中i=1,...,M;
编码完成后进入解码过程,在解码过程中,通过注意力机制(Bahdanau,Cho和Bengio 2014)动态获取用户输入消息和个性化文本的上下文向量:
ct=Attention(st-1,h(X)),(15)
解码器根据用户输入消息和个性化文本的上下文向量更新隐层状态:
得到新的隐层状态st后,根据st计算出解码时间步的概率分布,以生成下一个单词yt。
步骤22,和CDNet相比,对PDNet中的输入进行了相应的调整;首先用特殊符号“<KEY>”替换用户输入消息中的特定单词Q,以将用户输入消息X更改为修订形式之后,检索语料库中与相似的额外K-1条用户输入消息,以构造一个同类消息集合同时,使用预训练的BERT模型来计算Y与每个个性文本之间的相似度,从而选择具有最高相似度得分的个性文本p*作为当前对话的个性文本标签(也就是最佳个性);
在解码过程中,解码器嵌入个性文本标签p*,依次逐字生成回复;解码器在时间t的隐层状态为:
基于st,方程(16)计算出解码时间步的概率分布,以生成下一个单词yt。
模型由两个交替训练的子网Context-Dominated Network和Persona-DominatedNetwork构成,这两个子网共享编码器-解码器骨干,但是具体结构和学习任务不一样。
整个模型通过交替训练这两个子网络获得这两种子网学到的能力。模型的创新点主要在第二个子网络Persona-Dominated Network的设计和以交替训练的方法让模型学习选择个性和嵌入个性的两种能力。方程(16)中的st是第一个子网络Context-DominatedNetwork的输出,方程(22)中的st是第二个子网络Persona-Dominated Network的输出,这两个输出不重复。
第一个子网络Context-Dominated Network侧重于学习根据对话上下文选择个性的能力,第二个子网络Persona-Dominated Network侧重于学习在回复中嵌入个性的能力;整个模型通过交替训练这两个子网络获得这两种子网学到的能力到,Seq2Seq的多任务学习可以使用与当前任务相关任务提高当前任务的性能。
步骤3CDNet和PDNet通过多任务训练的方式在训练阶段更新编码器(Encoder)和解码器(Dncoder)的参数。分别使用两个独立的任务来训练这两个网络:
(1)Context-Dominated task:用{X,Y,P}训练样本来训练CDNet。
在每个训练批次中,所有的训练数据只从一个任务中采样。对于每一个训练批次,我们从这两个任务中随机选择一个任务,其中Persona-Dominated任务的概率为γ,Context-Dominated任务的概率为1-γ。在整个训练过程中,两个网络的编码器-解码器骨干共享参数。
Claims (2)
1.一种用于强化回复个性化表达的开放域对话方法,其特征在于:
包括一对拥有相同编码器-解码器骨干的子网络,由Context-Dominated Network,简写为CDNet和Persona-Dominated Network,简写为PDNet两个子网络构成;
CDNet是一个基于记忆网络的对话生成模型,主要用来学习从个性化档案中选择个性的能力,并且保证生成的回复与用户输入消息在语义上相关联;
PDNet在学习的过程中直接根据一条预先给出的个性文本标签生成回复,主要用来学习将一条个性充分表达在回复中的能力;
CDNet与PDNet两个子网络通过多任务学习的方式交替训练,在交替训练的过程中更新编码器-解码器骨干的参数,从而让整个模型获得两个子网络在训练过程中学习到的个性化选择与个性化嵌入的能力;
CDNet和PDNet通过多任务训练的方式在训练阶段更新编码器和解码器的参数;分别使用两个独立的任务来训练这两个网络:
Context-Dominated任务采用{X,Y,P}训练样本来训练CDNet;{X,Y,P}表示Context-Dominated task的一条训练样本,其中X表示用户输入消息,Y表示用户输入消息对应的回复,P是个性化档案,由一组个性化文本组成;
Context-Dominated任务采用{X,Y,P}训练样本来训练CDNet;{X,Y,P}表示Context-Dominated task的一条训练样本,其中X表示用户输入消息,Y表示用户输入消息对应的回复,P是个性化档案,由一组个性化文本组成;
表示Persona-Dominated task的一条训练样本,其中表示一组与当前用户消息同类的用户输入消息,Y表示当前用户输入消息对应的回复,p*是从个性化档案P中选出的一条与当前对话关联的个性化文本;
在每个训练批次中,所有的训练数据只从一个任务中采样,对于每一个训练批次,从这两个任务中随机选择一个任务,其中Persona-Dominated任务的概率为γ,Context-Dominated任务的概率为1-γ;在整个训练过程中,两个网络的编码器-解码器骨干共享参数。
2.根据权利要求1所述的一种用于强化回复个性化表达的开放域对话方法,其特征在于,包括以下步骤:
步骤1,通过逐点互信息PMI预测用户输入消息中的特定单词集合Q,给定一个输入样本{X,Y,P},其中X=(x1...xn)是一条包含n个词的用户输入消息,个性化档案由一组个性化文本组成;对于X中的单词wx和P中的单词wp,单词wx针对个性化档案P的PMI(wx,P)得分计算如下:
通过设置PMI得分阈值为3.5并将特定单词的最大数量限制为5来选择特定单词;
步骤2,对于一个对话生成任务,给定一个用户输入消息X=(x1...xn)和个性化档案其中xi表示X的第i个单词,yi表示Y的第i个单词,pi是个性化档案的第i条个性化文本;对话模型的目的是生成一个与给出的个性化档案P一致的回复Y=(y1...ym);对话生成任务可以简述为:
对话生成任务是基于序列到序列(Seq2Seq)框架实现的,该框架包括编码器和解码器两个部分;对于一个基于门控循环单元GRU的序列到序列对话生成模型,其对话生成过程具体如下:
先将对话上下文编码成向量,编码器的目的是将一个句子S编码为一个隐层变量序列,定义u(S),h(S)=Encode(S),其中u(S)表示GRU的最终时间步的隐层状态,h(S)=(h1,...,hn)表示GRU单元在所有时间步的输出;
编码过程结束后进行解码生成回复,解码器将句子的上下文向量ct和前一个时间步解码得到的词yt-1的词向量作为输入,用另一个GRU单元更新当前时间步的隐层变量st:
st=GRU([e(yt-1);ct],st-1).
其中,ct是用户输入消息在t时间步的上下文向量,在解码过程中动态关注上下文信息;
e(yt-1)是前一个时间步解码得到的词yt-1的词向量;
ct由解码器中上一个时间步的隐层变量st-1和用户输入消息的编码输出h(S)使用注意力机制得到,该过程定义为ct=Attention(st-1,h(S));注意力机制的具体过程为:
ei=MLP(st-1,hi), (4)
一旦获得当前时间步的隐层变量向量st,解码器就会根据词汇表上的输出概率分布生成一个单词yt:
yt~ot=softmax(st,ct). (7)
步骤21,模型的子网络CDNet基于一条用户输入消息X和一组个性化输入文本生成回复,CDNet需要在这组个性化文本中选出一条合适的个性pi并且在生成的回复中嵌入pi;CDNet是基于序列到序列(Seq2Seq)框架设计的,CDNet的对话生成过程如下:
首先使用一个用户输入消息编码器和个性编码器分别将用户输入消息X和个性化档案P={p1,p2,...,pM}中的每一条个性化文本pi转换为向量表示:
u(X),h(X)=Encode(X); (8)
同时通过以下方式计算用户输入消息X中个特定单词的向量表示:
q=∑w∈QΨ(w), (10)
其中Q表示用户输入消息中的特定单词的集合,而Ψ(·)将单词转换成词向量;
再通过拼接u(X)和q来获得个性感知向量z;
使用z结合一个多层的记忆网络来选择一条个性化文本:
mk+1=ok+mk, (13)
记忆网络在CDNet中使用的具体过程:
个性感知向量z的转置m1作为记忆网络中第一层网络的输入,与每一个个性文本的向量表示做相关度计算得到与每条个性的相关度其中i=1,...,M;第一层网络输出的相关度与每个个性文本的向量表示做加权和得到第一层网络的输出向量o1,o1与m1相加得到第二层网络输入m2;依次类推直到得到第三层网络中每条个性化文本的相关度其中i=1,...,M;
编码完成后进入解码过程,在解码过程中,通过注意力机制动态获取用户输入消息和个性化文本的上下文向量:
ct=Attention(st-1,h(X)), (15)
解码器根据用户输入消息和个性化文本的上下文向量更新隐层状态:
得到新的隐层状态st后,根据st计算出解码时间步的概率分布,以生成下一个单词yt;
步骤22,模型的子网络PDNet,PDNet中的输入与CDNet相比,进行了相应的调整;
同时,使用预训练的BERT模型来计算Y与每个个性文本之间的相似度,从而选择具有最高相似度得分的个性文本p*作为当前对话的个性文本标签;
在解码过程中,解码器嵌入个性文本标签p*,依次逐字生成回复;解码器在时间t的隐层状态为:
步骤3,CDNet和PDNet通过多任务训练的方式在训练阶段更新编码器和解码器的参数;分别使用两个独立的任务来训练这两个网络,两个网络的编码器-解码器骨干共享参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010950990.0A CN112100350B (zh) | 2020-09-11 | 2020-09-11 | 一种用于强化回复个性化表达的开放域对话方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010950990.0A CN112100350B (zh) | 2020-09-11 | 2020-09-11 | 一种用于强化回复个性化表达的开放域对话方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100350A CN112100350A (zh) | 2020-12-18 |
CN112100350B true CN112100350B (zh) | 2022-02-08 |
Family
ID=73750823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010950990.0A Active CN112100350B (zh) | 2020-09-11 | 2020-09-11 | 一种用于强化回复个性化表达的开放域对话方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100350B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704443B (zh) * | 2021-09-08 | 2023-10-13 | 天津大学 | 一种融合显式和隐式个性化信息的对话生成方法 |
CN114021581B (zh) * | 2021-11-12 | 2024-04-09 | 中国人民大学 | 一种基于回复增强的隐式个性化对话生成方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766559B (zh) * | 2017-11-06 | 2019-12-13 | 第四范式(北京)技术有限公司 | 对话模型的训练方法、训练装置、对话方法及对话系统 |
US10148601B1 (en) * | 2018-05-23 | 2018-12-04 | Capital One Services, Llc | Method and system of converting email message to AI chat |
CN110555095B (zh) * | 2018-05-31 | 2024-04-16 | 北京京东尚科信息技术有限公司 | 人机对话方法和装置 |
-
2020
- 2020-09-11 CN CN202010950990.0A patent/CN112100350B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112100350A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763284B (zh) | 一种基于深度学习和主题模型的问答系统实现方法 | |
CN110297887B (zh) | 基于云平台的服务机器人个性化对话系统及方法 | |
CN108153913B (zh) | 回复信息生成模型的训练方法、回复信息生成方法及装置 | |
CN111159368B (zh) | 一种个性化对话的回复生成方法 | |
CN111274362B (zh) | 一种基于transformer架构的对话生成方法 | |
CN112115247B (zh) | 一种基于长短时记忆信息的个性化对话生成方法和系统 | |
Merdivan et al. | Dialogue systems for intelligent human computer interactions | |
CN112100350B (zh) | 一种用于强化回复个性化表达的开放域对话方法 | |
CN115964467A (zh) | 一种融合视觉情境的富语义对话生成方法 | |
CN113360610A (zh) | 基于Transformer模型的对话生成方法及系统 | |
CN112364148B (zh) | 一种基于深度学习方法的生成型聊天机器人 | |
CN112765333B (zh) | 基于情感与提示词结合的自动对话生成方法及系统 | |
CN111782788A (zh) | 一种面向开放域对话系统的情感回复自动生成方法 | |
CN114911932A (zh) | 基于主题语义增强的异构图结构多会话者情感分析方法 | |
CN110297894B (zh) | 一种基于辅助网络的智能对话生成方法 | |
CN114281954A (zh) | 一种基于关系图注意力网络的多轮对话回复生成系统及方法 | |
CN110851580B (zh) | 一种基于结构化用户属性描述的个性化任务型对话系统 | |
CN112417118A (zh) | 一种基于标记文本和神经网络的对话生成方法 | |
CN116580691A (zh) | 语音合成方法、语音合成装置、电子设备及存储介质 | |
CN115858736A (zh) | 一种基于情感提示微调的情感文本生成方法 | |
CN116741153A (zh) | 一种基于大规模音频表征语言模型的音频理解与生成方法 | |
CN115169363A (zh) | 一种融合知识的增量编码的对话情感识别方法 | |
CN115858756A (zh) | 基于感知情绪倾向的共情人机对话系统 | |
CN114912020A (zh) | 一种基于用户偏好图的多子目标对话推荐方法 | |
CN114021581A (zh) | 一种基于回复增强的隐式个性化对话生成方法 |
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 |