CN112100350B - 一种用于强化回复个性化表达的开放域对话方法 - Google Patents

一种用于强化回复个性化表达的开放域对话方法 Download PDF

Info

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
Application number
CN202010950990.0A
Other languages
English (en)
Other versions
CN112100350A (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.)
Hunan University
Original Assignee
Hunan University
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 Hunan University filed Critical Hunan University
Priority to CN202010950990.0A priority Critical patent/CN112100350B/zh
Publication of CN112100350A publication Critical patent/CN112100350A/zh
Application granted granted Critical
Publication of CN112100350B publication Critical patent/CN112100350B/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
    • 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels 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个词的用户输入消息,个性化档案
Figure GDA0003311376880000031
由一组个性化文本组成;对于X中的单词wx和P中的单词wp,单词wx针对个性化档案P的PMI(wx,P)得分计算如下:
Figure GDA0003311376880000032
Figure GDA0003311376880000033
通过设置PMI得分阈值为3.5并将特定单词的最大数量限制为5来选择特定单词;
步骤2,对于一个对话生成任务,给定一个用户输入消息X=(x1...xn)和个性化档案
Figure GDA0003311376880000034
其中xi表示X的第i个单词,yi表示Y的第i个单词,pi是个性化档案的第i条个性化文本;对话模型的目的是生成一个与给出的个性化档案P一致的回复Y=(y1...ym);对话生成任务可以简述为:
Figure GDA0003311376880000035
对话生成任务是基于序列到序列(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)
Figure GDA0003311376880000041
Figure GDA0003311376880000042
一旦获得当前时间步的隐层变量向量st,解码器就会根据词汇表上的输出概率分布生成一个单词yt
yt~ot=softmax(st,ct), (7)
步骤21,模型的子网络CDNet基于一条用户输入消息X和一组个性化输入文本
Figure GDA0003311376880000043
生成回复,CDNet需要在这组个性化文本中选出一条合适的个性pi并且在生成的回复中嵌入pi。CDNet是基于序列到序列(Seq2Seq)框架设计的,CDNet的对话生成过程如下:
首先使用一个用户输入消息编码器和个性编码器分别将用户输入消息X和个性化档案P={p1,p2,...,pM)中的每一条个性化文本pi转换为向量表示:
u(X),h(X)=Encode(X); (8)
Figure GDA0003311376880000057
同时通过以下方式计算用户输入消息X中个特定单词的向量表示:
q=∑w∈QΨ(w), (10)
其中Q表示用户输入消息中的特定单词的集合,而Ψ(·)将单词转换成词向量;
再通过拼接u(X)和q来获得个性感知向量z;
使用z结合一个多层的记忆网络来选择一条个性化文本:
Figure GDA0003311376880000051
Figure GDA0003311376880000052
mk+1=ok+mk,(13)
其中,k表示记忆网络的层数,且m1=zT,具体而言,使用网络层数为3的记忆网络并在记忆网络的最后一层中选择概率最高的个性作为个性文本标签:
Figure GDA0003311376880000053
其中
Figure GDA0003311376880000054
记忆网络在CDNet中使用的具体过程:
个性感知向量z的转置m1作为记忆网络中第一层网络的输入,与每一个个性文本的向量表示做相关度计算得到与每条个性的相关度(或者说是权重)
Figure GDA0003311376880000055
其中i=1,...,M。第一层网络输出的相关度与每个个性文本的向量表示做加权和得到第一层网络的输出向量o1,o1与m1相加得到第二层网络输入m2。依次类推直到得到第三层网络中每条个性化文本的相关度
Figure GDA0003311376880000056
其中i=1,...,M;
编码完成后进入解码过程,在解码过程中,通过注意力机制(Bahdanau,Cho和Bengio 2014)动态获取用户输入消息和个性化文本的上下文向量:
Figure GDA0003311376880000061
ct=Attention(st-1,h(X)),(15)
解码器根据用户输入消息和个性化文本的上下文向量更新隐层状态:
Figure GDA0003311376880000062
得到新的隐层状态st后,根据st计算出解码时间步的概率分布,以生成下一个单词yt
步骤22,和CDNet相比,对PDNet中的输入进行了相应的调整;首先用特殊符号“<KEY>”替换用户输入消息中的特定单词Q,以将用户输入消息X更改为修订形式
Figure GDA0003311376880000063
之后,检索语料库中与
Figure GDA0003311376880000064
相似的额外K-1条用户输入消息,以构造一个同类消息集合
Figure GDA0003311376880000065
同时,使用预训练的BERT模型来计算Y与每个个性文本之间的相似度,从而选择具有最高相似度得分的个性文本p*作为当前对话的个性文本标签(也就是最佳个性);
因此,获得新的输入样本
Figure GDA0003311376880000066
此后,同类消息集合
Figure GDA0003311376880000067
和个性文本标签p*被用户输入消息编码器和个性编码器分别编码:
Figure GDA0003311376880000068
Figure GDA0003311376880000069
这些用户输入消息向量
Figure GDA00033113768800000610
通过平均池化操作成为新的向量,表示当前用户输入消息的泛化特征:
Figure GDA00033113768800000611
在解码过程中,解码器嵌入个性文本标签p*,依次逐字生成回复;解码器在时间t的隐层状态为:
Figure GDA00033113768800000612
Figure GDA00033113768800000613
Figure GDA0003311376880000071
Figure GDA0003311376880000072
其中
Figure GDA0003311376880000073
是由一系列子注意力机制计算得出的,每个子注意力机制负责关注检索到同类消息;基于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。
(2)Persona-Dominated task:用
Figure GDA0003311376880000074
训练样本来训练PDNet。
本发明的有益效果在于,在每个训练批次中,所有的训练数据只从一个任务中采样。对于每一个训练批次,从这两个任务中随机选择一个任务,其中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个词的用户输入消息,个性化档案
Figure GDA0003311376880000081
由一组个性化文本组成;对于X中的单词wx和P中的单词wp,单词wx针对个性化档案P的PMI(wx,P)得分计算如下:
Figure GDA0003311376880000091
Figure GDA0003311376880000092
通过设置PMI得分阈值为3.5并将特定单词的最大数量限制为5来选择特定单词;
步骤2,对于一个对话生成任务,给定一个用户输入消息X=(x1...xn)和个性化档案
Figure GDA0003311376880000093
其中xi表示X的第i个单词,yi表示Y的第i个单词,pi是个性化档案的第i条个性化文本;对话模型的目的是生成一个与给出的个性化档案P一致的回复Y=(y1...ym);对话生成任务可以简述为:
Figure GDA0003311376880000094
对话生成任务是基于序列到序列(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)
Figure GDA0003311376880000101
Figure GDA0003311376880000102
一旦获得当前时间步的隐层变量向量st,解码器就会根据词汇表上的输出概率分布生成一个单词yt
yt~ot=softmax(st,ct). (7)
步骤21,模型的子网络CDNet基于一条用户输入消息X和一组个性化输入文本
Figure GDA0003311376880000103
生成回复,CDNet需要在这组个性化文本中选出一条合适的个性pi并且在生成的回复中嵌入pi。CDNet是基于序列到序列(Seq2Seq)框架设计的,CDNet的对话生成过程如下:首先使用一个用户输入消息编码器和个性编码器分别将用户输入消息X和个性化档案P={p1,p2,...,pM}中的每一条个性化文本pi转换为向量表示:
u(x),h(X)=Encode(X); (8)
Figure GDA0003311376880000104
同时通过以下方式计算用户输入消息X中个特定单词的向量表示:
q=∑w∈QΨ(w), (10)
其中Q表示用户输入消息中的特定单词的集合,而Ψ(·)将单词转换成词向量;
再通过拼接u(X)和q来获得个性感知向量z;
使用z结合一个多层的记忆网络来选择一条个性化文本:
Figure GDA0003311376880000105
Figure GDA0003311376880000111
mk+1=ok+mk, (13)
其中,k表示记忆网络的层数,且m1=zT,具体而言,使用网络层数为3的记忆网络并在记忆网络的最后一层中选择概率最高的个性作为个性文本标签:
Figure GDA0003311376880000112
其中
Figure GDA0003311376880000113
记忆网络在CDNet中使用的具体过程:
个性感知向量z的转置m1作为记忆网络中第一层网络的输入,与每一个个性文本的向量表示做相关度计算得到与每条个性的相关度(或者说是权重)
Figure GDA0003311376880000114
其中i=1,...,M。第一层网络输出的相关度与每个个性文本的向量表示做加权和得到第一层网络的输出向量o1,o1与m1相加得到第二层网络输入m2。依次类推直到得到第三层网络中每条个性化文本的相关度
Figure GDA0003311376880000115
其中i=1,...,M;
编码完成后进入解码过程,在解码过程中,通过注意力机制(Bahdanau,Cho和Bengio 2014)动态获取用户输入消息和个性化文本的上下文向量:
Figure GDA0003311376880000116
ct=Attention(st-1,h(X)),(15)
解码器根据用户输入消息和个性化文本的上下文向量更新隐层状态:
Figure GDA0003311376880000117
得到新的隐层状态st后,根据st计算出解码时间步的概率分布,以生成下一个单词yt
步骤22,和CDNet相比,对PDNet中的输入进行了相应的调整;首先用特殊符号“<KEY>”替换用户输入消息中的特定单词Q,以将用户输入消息X更改为修订形式
Figure GDA0003311376880000118
之后,检索语料库中与
Figure GDA0003311376880000119
相似的额外K-1条用户输入消息,以构造一个同类消息集合
Figure GDA00033113768800001110
同时,使用预训练的BERT模型来计算Y与每个个性文本之间的相似度,从而选择具有最高相似度得分的个性文本p*作为当前对话的个性文本标签(也就是最佳个性);
因此,获得新的输入样本
Figure GDA0003311376880000121
此后,同类消息集合
Figure GDA0003311376880000122
和个性文本标签p*被用户输入消息编码器和个性编码器分别编码:
Figure GDA0003311376880000123
Figure GDA0003311376880000124
这些用户输入消息向量
Figure GDA0003311376880000125
通过平均池化操作成为新的向量,表示当前用户输入消息的泛化特征:
Figure GDA0003311376880000126
在解码过程中,解码器嵌入个性文本标签p*,依次逐字生成回复;解码器在时间t的隐层状态为:
Figure GDA0003311376880000127
Figure GDA0003311376880000128
Figure GDA0003311376880000129
Figure GDA00033113768800001210
其中
Figure GDA00033113768800001211
是由一系列子注意力机制计算得出的,每个子注意力机制负责关注检索到同类消息;
基于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。
(2)Persona-Dominated task:用
Figure GDA0003311376880000131
训练样本来训练PDNet。
在每个训练批次中,所有的训练数据只从一个任务中采样。对于每一个训练批次,我们从这两个任务中随机选择一个任务,其中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是个性化档案,由一组个性化文本
Figure FDA0003311376870000011
组成;
Context-Dominated任务采用{X,Y,P}训练样本来训练CDNet;{X,Y,P}表示Context-Dominated task的一条训练样本,其中X表示用户输入消息,Y表示用户输入消息对应的回复,P是个性化档案,由一组个性化文本
Figure FDA0003311376870000012
组成;
Persona-Dominated任务采用
Figure FDA0003311376870000013
训练样本来训练PDNet;
Figure FDA0003311376870000014
表示Persona-Dominated task的一条训练样本,其中
Figure FDA0003311376870000015
表示一组与当前用户消息同类的用户输入消息,Y表示当前用户输入消息对应的回复,p*是从个性化档案P中选出的一条与当前对话关联的个性化文本;
在每个训练批次中,所有的训练数据只从一个任务中采样,对于每一个训练批次,从这两个任务中随机选择一个任务,其中Persona-Dominated任务的概率为γ,Context-Dominated任务的概率为1-γ;在整个训练过程中,两个网络的编码器-解码器骨干共享参数。
2.根据权利要求1所述的一种用于强化回复个性化表达的开放域对话方法,其特征在于,包括以下步骤:
步骤1,通过逐点互信息PMI预测用户输入消息中的特定单词集合Q,给定一个输入样本{X,Y,P},其中X=(x1...xn)是一条包含n个词的用户输入消息,个性化档案
Figure FDA0003311376870000021
由一组个性化文本组成;对于X中的单词wx和P中的单词wp,单词wx针对个性化档案P的PMI(wx,P)得分计算如下:
Figure FDA0003311376870000022
Figure FDA0003311376870000023
通过设置PMI得分阈值为3.5并将特定单词的最大数量限制为5来选择特定单词;
步骤2,对于一个对话生成任务,给定一个用户输入消息X=(x1...xn)和个性化档案
Figure FDA0003311376870000024
其中xi表示X的第i个单词,yi表示Y的第i个单词,pi是个性化档案的第i条个性化文本;对话模型的目的是生成一个与给出的个性化档案P一致的回复Y=(y1...ym);对话生成任务可以简述为:
Figure FDA0003311376870000025
对话生成任务是基于序列到序列(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)
Figure FDA0003311376870000031
Figure FDA0003311376870000032
一旦获得当前时间步的隐层变量向量st,解码器就会根据词汇表上的输出概率分布生成一个单词yt
yt~ot=softmax(st,ct). (7)
步骤21,模型的子网络CDNet基于一条用户输入消息X和一组个性化输入文本
Figure FDA0003311376870000033
生成回复,CDNet需要在这组个性化文本中选出一条合适的个性pi并且在生成的回复中嵌入pi;CDNet是基于序列到序列(Seq2Seq)框架设计的,CDNet的对话生成过程如下:
首先使用一个用户输入消息编码器和个性编码器分别将用户输入消息X和个性化档案P={p1,p2,...,pM}中的每一条个性化文本pi转换为向量表示:
u(X),h(X)=Encode(X); (8)
Figure FDA0003311376870000034
同时通过以下方式计算用户输入消息X中个特定单词的向量表示:
q=∑w∈QΨ(w), (10)
其中Q表示用户输入消息中的特定单词的集合,而Ψ(·)将单词转换成词向量;
再通过拼接u(X)和q来获得个性感知向量z;
使用z结合一个多层的记忆网络来选择一条个性化文本:
Figure FDA0003311376870000035
Figure FDA0003311376870000041
mk+1=ok+mk, (13)
其中,k表示记忆网络的层数,且m1=zT,具体而言,使用网络层数为3的记忆网络并在记忆网络的最后一层中选择概率最高的个性作为个性文本标签:
Figure FDA0003311376870000042
其中
Figure FDA0003311376870000043
记忆网络在CDNet中使用的具体过程:
个性感知向量z的转置m1作为记忆网络中第一层网络的输入,与每一个个性文本的向量表示做相关度计算得到与每条个性的相关度
Figure FDA0003311376870000044
其中i=1,...,M;第一层网络输出的相关度与每个个性文本的向量表示做加权和得到第一层网络的输出向量o1,o1与m1相加得到第二层网络输入m2;依次类推直到得到第三层网络中每条个性化文本的相关度
Figure FDA0003311376870000045
其中i=1,...,M;
编码完成后进入解码过程,在解码过程中,通过注意力机制动态获取用户输入消息和个性化文本的上下文向量:
Figure FDA0003311376870000046
ct=Attention(st-1,h(X)), (15)
解码器根据用户输入消息和个性化文本的上下文向量更新隐层状态:
Figure FDA0003311376870000047
得到新的隐层状态st后,根据st计算出解码时间步的概率分布,以生成下一个单词yt
步骤22,模型的子网络PDNet,PDNet中的输入与CDNet相比,进行了相应的调整;
首先用特殊符号“<KEY>”替换用户输入消息中的特定单词Q,以将用户输入消息X更改为修订形式
Figure FDA0003311376870000048
之后,检索语料库中与
Figure FDA0003311376870000049
相似的额外K-1条用户输入消息,以构造一个同类消息集合
Figure FDA00033113768700000410
同时,使用预训练的BERT模型来计算Y与每个个性文本之间的相似度,从而选择具有最高相似度得分的个性文本p*作为当前对话的个性文本标签;
因此,获得新的输入样本
Figure FDA0003311376870000051
此后,同类消息集合
Figure FDA0003311376870000052
和个性文本标签p*被用户输入消息编码器和个性编码器分别编码:
Figure FDA0003311376870000053
Figure FDA00033113768700000511
这些用户输入消息向量
Figure FDA0003311376870000054
通过平均池化操作成为新的向量,表示当前用户输入消息的泛化特征:
Figure FDA0003311376870000055
在解码过程中,解码器嵌入个性文本标签p*,依次逐字生成回复;解码器在时间t的隐层状态为:
Figure FDA0003311376870000056
Figure FDA0003311376870000057
Figure FDA0003311376870000058
Figure FDA0003311376870000059
其中
Figure FDA00033113768700000510
是由一系列子注意力机制计算得出的,每个子注意力机制负责关注检索到同类消息;基于st,方程(16)计算出解码时间步的概率分布,以生成下一个单词yt
步骤3,CDNet和PDNet通过多任务训练的方式在训练阶段更新编码器和解码器的参数;分别使用两个独立的任务来训练这两个网络,两个网络的编码器-解码器骨干共享参数。
CN202010950990.0A 2020-09-11 2020-09-11 一种用于强化回复个性化表达的开放域对话方法 Active CN112100350B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 北京京东尚科信息技术有限公司 人机对话方法和装置

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