CN112463935B - 一种带有强泛化知识选择的开放域对话生成方法及系统 - Google Patents
一种带有强泛化知识选择的开放域对话生成方法及系统 Download PDFInfo
- Publication number
- CN112463935B CN112463935B CN202010951173.7A CN202010951173A CN112463935B CN 112463935 B CN112463935 B CN 112463935B CN 202010951173 A CN202010951173 A CN 202010951173A CN 112463935 B CN112463935 B CN 112463935B
- Authority
- CN
- China
- Prior art keywords
- knowledge
- model
- selection
- reply
- calculated
- 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 41
- 230000008569 process Effects 0.000 claims abstract description 21
- 230000007246 mechanism Effects 0.000 claims abstract description 17
- 238000009826 distribution Methods 0.000 claims description 62
- 230000006870 function Effects 0.000 claims description 44
- 238000012549 training Methods 0.000 claims description 43
- 238000005457 optimization Methods 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 8
- 238000010606 normalization Methods 0.000 claims description 7
- 239000013598 vector Substances 0.000 claims description 7
- 230000008447 perception Effects 0.000 claims description 6
- 230000001737 promoting effect Effects 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000002708 enhancing effect Effects 0.000 claims description 3
- 238000007429 general method Methods 0.000 claims description 3
- 238000002360 preparation method Methods 0.000 claims description 3
- 230000010076 replication Effects 0.000 claims description 3
- 230000004927 fusion Effects 0.000 abstract description 2
- 238000013135 deep learning Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种带有强泛化知识选择的开放域对话生成方法及模型,属于开放域人机对话系统技术领域。步骤1,知识检索,在总知识库中检索出与当前对话内容有关的知识条目集合;步骤2,采用拥有多头自注意力机制的编码器,对用户消息X和知识集合F中的每条知识都进行分别独立编码;步骤3,发散知识选择器负责选择一条特定知识作为最终的知识候选,促进回复生成;步骤4,知识感知解码器负责将所选知识正确且有效地整合到回复生成过程中。本发明的有益效果在于,同时改善了知识驱动对话系统中的知识选择和知识融合,实现开放域对话系统中实现了更加鲁棒的知识嵌入。可以选择复杂对话环境中带有不同主题的知识,并产生多样化且内容丰富的回复。
Description
技术领域
本发明涉及一种带有强泛化知识选择的开放域对话生成方法及系统,属于开放域人机对话系统技术领域。
背景技术
随着大数据时代的来临和硬件算力的飞速提升,深度学习技术已被广泛应用到图像处理,自然语言处理等多个领域并取得显著成果。现有的开放域人机对话系统也主要以深度神经网络模型为主体框架,以下主要简述人机对话系统领域中的基础深度学习技术,包括语言模型,循环神经网络,序列到序列模型等。早期的人机对话系统研究大多基于手工制定的规则或预先定义的对话模板。这些方法不需要或只需很少的对话数据即可进行模型训练,但是其性能往往直接取决于手工定制的好坏,而且该方法限制了对话系统仅可部署于特定领域。随着社交媒体中大量会话数据的涌现与深度学习技术的发展,检索式对话模型逐渐成为了人机对话任务的主流解决方案。例如,一种基于深度神经网络的短文本回复选择检索模型。进一步改进此方法后,通过利用深度卷积神经网络(CNN)来学习对语句中短期依赖的建模。尽管基于检索的方法可以生成逻辑通顺且语法正确的回复,但是它仍旧需要预先定制数量庞大的回复存储库,当用户消息不属于现有的查询响应存储库的范围时,它便无法处理此类情况,这就导致了其无法在多样变换的对话上下文中表现良好。所以,研究人员越来越倾向于探索能够以端到端的方式产生新对话回复的方法。
受神经机器翻译任务的启发,生成式对话模型,例如序列到序列模型(Sequence-to-Sequence,Seq2Seq)已经获得了研究者们的大量关注度,并推动开放域人机对话系统取得了极大的进展。Seq2Seq模型可以生成平滑的,符合语法的全新回复语句,但其实际表现仍存在一系列挑战。一个开放问题是,Seq2Seq模型往往会产生通用,琐碎且信息量较少的回复(例如,“好的明白”,“我不知道”等),其中一些回复往往会打断对话流甚至更糟。研究者们发现,在现实生活中,人们通常会通过回顾对话中涉及概念的一系列相关知识来组织对话。实际上对模型来说,仅仅基于对话数据本身来学习复杂的对话逻辑或者知识丰富的对话内容是较为困难的。为了应对这一挑战,研究人员通过利用外部知识库(KnowledgeBase,KB)来弥合机器与人之间的背景知识差距,以此来提高回复质量。一般来说,知识库可分为两类,即由事实类三元组构成的结构化知识图谱和以句子为代表的非结构化文本(维基百科,在线评论,个性描述等)。例如,一种生成式问答模型,该模型能够通过参考知识库中的事实三元组来选择正确的答案。通过设计一种动态知识查询器扩展了上述方法,可以在回复语句中生成任意数量的答案实体。随后,提高了模型对于知识图嵌入的泛化能力,并提出了一种知识扩散模型,该模型可以从匹配到的知识三元组进一步扩散到其相似实体,并尝试在对话系统中加入大规模常识知识图谱,以促进对话理解和回复生成。但是,结构化知识会遭受信息不足的困扰,因为通常只有少数实体或关联可以促进回复的生成。越来越多的研究者开始采用非结构化知识来提供充足的知识性内容。例如,将与对话相关的用户线上评论作为外部知识,并尝试使用额外的记忆网络模块对其保存和调用,提出在对话系统中整合预定义的用户个性化信息,以赋予系统一个恒定的身份;利用维基百科知识库来增强对话模型主体的任务基准,并将整个知识嵌入阶段分为了知识选择和知识整合。在此基础上,进一步讨论了如何有效利用目标回复来指导知识选择。所有上述研究均证明,引入外部知识可以极大地促进生成回复的多样性和信息性。
为了在模型中嵌入正确且合适的知识内容,大多数方法都会在知识库中执行细粒度的知识选择。与结构化知识进行比较,非结构化知识由于其语义的隐式表达,在知识选择时更具有难度。对此,着重于提高非结构化知识选择准确性的一系列工作取得了长足的进步。例如,讨论训练过程中对知识选择进行监督反馈的有效性,与不使用此类信息的情况相比,该方法对模型性能有所改进。利用从对话消息和目标回复计算出的后验分布来增强模型学习能力知识选择。然而,在实际的对话过程中,对话主题总是在随着对话的持续进行而自然地转变,这就导致了对话消息和回复会分别讨论不同的主题。大部分现有方法直接使用对话消息和候选知识条目之间的语义相似性来进行知识选择。在有着主题漂移的对话情景下,模型由于缺少发散思维的能力而受到限制,即难以选择到生成目标回复所需要的最佳知识。尽管现有模型可能会在训练过程中被迫赋予最佳知识更高的选择权重,但在测试或推理阶段,对话消息和最佳知识之间较大的主题差距仍会导致知识选择出现偏差。因此,如何提高模型知识选择的泛化能力,以应对带有主题漂移特性的对话场景,是一个仍未解决和值得探究的问题。需要注意的是,将被选知识有效地嵌入到生成回复中也同样重要,因为模型需要将知识内容与对话内容自然地结合起来。
发明内容
本发明的目的在于提高一种带有强泛化知识选择的开放域对话生成方法及系统,广泛应用于闲聊机器人,个人助理,智能客服等领域中;从而克服现有技术中的不足。
本发明通过以下技术方法实现,
步骤1,知识检索,在总知识库中检索出与当前对话内容有关的知识条目集合,为之后的细粒度知识选择预准备;
步骤2,Transformer编码器,采用拥有多头自注意力机制的编码器,两个Transformer编码器对用户消息x和知识集合F中的每条知识都进行分别独立编码,并输出;
步骤3,发散知识选择器负责选择一条特定知识作为最终的知识候选,用于促进回复生成;步骤4,知识感知解码器负责将所选知识正确且有效地整合到回复生成过程中。
所述的Transformer编码器,对句子中的每个词语均执行编码输出:
将带有位置感知信息的词嵌入序列作为输入:
Input(S)=[s1,...,sns]
其中,S=(s1,s2,....,sns)代指包含ns个词语的输入句子,是单词si的词嵌入表示;
使用Glove预训练模型初始化词嵌入;PE(·)是一个位置信息编码函数;
Transformer编码器由NE个相同主层堆积而成,其中每个主层具有两个子层:
第一个子层是多头自注意力层MultiHead(Q,K,V),
其中Q是查询矩阵,K是键矩阵,V是值矩阵,在当前情况下,Q=K=V,即自注意力机制;MultiHead(Q,K,V)对Q,K,V线性投影h次,并行地计算h个单头自注意力机制,即被称为多头;第二个子层是一个全连接前馈神经网络(FFN),两者之间带有ReLU激活函数;
以上两个子层的计算过程在每一主层中都重复进行:
M(n)=MultiHead(D(n-1),D(n-1),D(n-1))
D(n)=FFN(M(n))
其中,n∈(1,...,NE),D(0)=Input(S);
使用En(S)来标识输入句子s的最终的编码结果;
假设X=(x1,x2...,xnx)代指有着nx个单词的用户输入消息,Y=(y1,y2,...,yny)代指有ny个单词的目标回复,代指与当前对话内容相关的一个知识条目集合,该知识集合从总知识库中检索而来,并且每一条知识都以句子文本的形式存在。用户消息x和知识集合fi使用具有相同结构的两个Transformer编码器分别进行编码,即消息编码器和知识编码器,它们是互相独立的且不共享任何参数;在模型训练过程中,由于发散知识选择器需要利用到目标回复Y的信息,知识编码器同样被用来编码Y。
另外,使用平均归一化,将句子的编码结果归一化为一个全局向量,用x表示用户消息,表示知识集合,y表示目标回复,在接下来的知识选择中使用。
所述的发散知识选择器包括知识优化和知识选择,给定x和DKS旨在选择最佳知识条目fs作为最终知识,以增强回复生成;
S1知识优化,负责从中提取主题漂移线索c,然后将其补充到每个知识条目中以产生新的知识集合/>随后,模型计算每个知识条目的最终选择概率:
为了获得c,在上定义了一个条件概率分布p(c=fi|x),它给出了每个知识条目用来作为主题漂移线索c的可能性大小,具体的,c由以下步骤计算得到:
s(a,b)=Wυtanh(Waa+Wbb)
其中Wυ,Wa,Wb均为模型的可训练参数
本质上,c是由进行加权和计算得到,更高的权重意味着该知识条目作为主题漂移线索的概率更高;使用函数s(a,b)来衡量每条知识与用户消息之间的相关性,该函数允许模型灵活地进行匹配;通过以下公式计算优化后的知识Ci:
其中,[·;·]指向量级联。
主题漂移线索c应该尽可能涵盖当前对话中变化的主题信息;在x和Y的引导下搜索c会更为有效,将两个主题的信息一起捕获以准确获取c;在训练过程中,由于目标回复Y可用,模型在X和Y的共同引导下学习对c的搜索会更为有效,即将X和Y两个语句中主题的信息一起捕获以获取c;在模型训练过程中利用一个教学网络结构来学习c的获取,在该教学网络中,模型使用一个后验概率分布p(c=fi|x,y)来修正先验分布p(c=fi|x)的误差;具体地,p(c=fi|x,y)以x和y为条件来计算,其中y由知识编码器以相同的归一化策略进行编码而得到:
其中W是模型的可训练参数;
采用Kullback-Leibler散度损失(KLDiv Loss)在两个概率分布之间进行约束,以迫使学生概率分布尽可能地接近教师概率分布,因此即使没有y的帮助,模型仍然可以学习到c的获取;KLDiv损失函数如下所示:
其中Θ表示模型全部的可训练参数,在训练阶段,c基于教师概率分布p(c=fi|x,y)来计算得到,在测试或者推理阶段,c基于学生概率分布p(c=fi|x)来计算得到;
主题飘移线索的加入可能会导致知识冗余,对随后的知识选择产生影响;使用逐点互信息算法从X和Y两者中提取出与知识集合F具有高互信息的关键词作为当前对话的主题表达;然后,设置了一个词袋损失函数BOW,通过加强c和关键词集合之间的关联来减少c中的冗余信息;具体的,首先计算X或Y中的对话性词语wu和F中的知识性词语wf之间的互信息得分PMI(wu,wf):
随后,wu与整个知识集合F之间总互信息贡献分数PMI(wu,F)计算如下:
X或Y中PMI贡献得分位于前20%的单词将被选入最终的关键词集合中;
然后,BOW损失函数计算如下:
w=MLP(c)
p(w|c)=softmax(w)
S2知识选择,集中于选择知识条目fs作为最终知识,从选择概率分布p(fs=fi|x)中选择概率最高的一条,其计算如下:
在实际的训练过程中,通过引入Gumbel-SoftMax重参数化技术,从p(fs=fi|x)中采样获得fs,以获得更为鲁棒的训练结果;
另外,如果训练语料包含了最佳知识标签,可通过在选择概率分布和训练语料中的参考分布之间添加额外的交叉熵损失函数,对知识选择加以强监督信号,以使模型更有效地学习正确知识的选择。
损失函数的参数包括词嵌入和所有子模块,以端到端的方式进行训练优化;
以最小化其基本的似然损失(Negative Log-likelihood,NLL),给定一个训练示例{x,Y,F},该损失函数用来量化生成回复和目标回复之间的差异:
还为发散知识选择器DKS添加了辅助损失函数,整个模型以三种损失函数的总和进行训练:
包括NLL损失,KLDiv损失,BOW损失和知识选择损失。
所述的知识感知解码器,旨在通过充分利用所选知识fs来生成多样且内容丰富的回复,知识感知编码器基于Transformer解码器,在此基础上,引入了一个知识注意力子层,用以在回复生成过程中动态关注地fs的内部细节;另外,解码器顶部还额外加入了一个基于注意力机制的双源指针网络,作为从两个源句子:X和fs中直接进行词语复制的通用方法;具体细节如下:
解码器也是由ND个相同的主层堆积组成,每个主层均包含四个子层:
M(n)=MultiHead(F(n-1),F(n-1),F(n-1))
C(n)=MultiHead(M(n-1),En(X),En(X))
K(n)=Multihead(C(n),En(fs),En(fs))
F(n)=FFN(K(n))
第一子层是多头自注意力层,其中n∈(1,...,ND),F(n-1)是前一子层的输出,F(0)=Input(Y);
第二子层是多头对话上下文注意力层,用来在用户消息中建模与回复相关的上下文信息;
第三子层是一个多头知识注意力子层,与上下文注意力层类似,该层允许模型动态地关注被选知识fs句子内与回复相关的细节信息;
第四子层是一个全连接前馈神经网络;
在解码器生成回复的第t个位置,定义两个复制概率分布p(x)(yt)和p(f)(yt),分别代表模型从X和fs中复制词语来作为yt的概率,计算如下:
其中,p(x/f)(yt)本质上是在源句子序列上计算得到的注意力权重;是加权和结果;源间注意力机制用于将这两个概率分布融合在一起,以获得最终的复制概率pcopy(yt):
pcopy(yt)=μtp(x)(yt)+(1-μt)p(f)(yt)
解码器本身的生成概率分布pgen(yt)可以通过将代入一个SoftMax函数来获得;
最后,将复制概率分布pcopy(yt)和生成概率分布pgen(yt)组合起来得到生成回复中yt的全局概率分布P(yt):
P(yt)=δpgen(yt)+(1-δ)pcopy(yt)
其中Wd,We是模型的可训练参数。
本发明主要由知识检索、Transformer编码器、发散知识选择器和知识感知解码器组成;知识检索分别与两个Transformer编码器连接;两个Transformer编码器与发散知识选择器连接;发散知识选择器、第一Transformer编码器分别与知识感知解码器连接;
知识检索提供知识库中的对话相关条目集合;
两个Transformer编码器用于对用户消息X和知识集合F中的每条知识分别进行独立编码,第一Transformer编码器用于对用户消息X编码,第二Transformer编码器用于对知识集合F中的每条知识分别进行编码;
发散知识选择器用于选择一条特定知识作为最终的知识候选,用于促进回复生成;
知识感知解码器用于将所选知识正确且有效地整合到回复生成过程中。
本发明的有益效果在于,模型同时改善了知识驱动对话系统中的知识选择和知识融合,实现开放域对话系统中实现了更加鲁棒的知识嵌入。该模型是首个考虑解决复杂对话场景中的主题漂移问题的基于非结构化知识开放域对话生成模型,实验证明该模型可以选择复杂对话环境中带有不同主题的知识,并产生多样化且内容丰富的回复;在自动评估和人工评估方面的大量实验亦证明了模型的有效性。
附图说明
图1为本发明的结构图。
图2为知识优化模块结构图。
具体实施方式
本发明包括以下步骤:
步骤1,知识检索,在总知识库中检索出与当前对话内容有关的知识条目集合,为之后的细粒度知识选择预准备;
步骤2,Transformer编码器,采用拥有多头自注意力机制的编码器,两个Transformer编码器对用户消息X和知识集合F中的每条知识都进行分别独立编码,并输出;
步骤3,发散知识选择器负责选择一条特定知识作为最终的知识候选,用于促进回复生成;步骤4,知识感知解码器负责将所选知识正确且有效地整合到回复生成过程中。
下面结合附图1至2及实施例对本发明作进一步说明,假设整个知识库组织成由段落和句子组成的文档形式(例如维基或百度百科文章)。使用通常用于阅读理解任务的信息检索(IR)系统从知识库中检索与对话内容相关的知识集合。为了简单起见,并着重于针对本工作中的重点问题,检索系统的参数被固定,不参与整个模型的训练过程。具体而言,它以对话历史记录的最后两轮内容作为查询语句,检索出相关度最高的前7篇文章(仅使用第一自然段),然后将所有结果拼合,再拆分为单独的句子作为知识条目,其中每个知识条目前面都附加本身的文章标题。
在文本建模中,捕获句子内部的长距离依赖关系并识别词语之间的关联信息是非常重要的。本发明使用具有多头自注意力机制的Transformer编码器来获得高效的文本表示。所述的Transformer编码器,对句子中的每个词语均执行编码输出:
将带有位置感知信息的词嵌入序列作为输入:
Input(S)=[s1,...,sns]
其中,S=(s1,s2,...,sns)代指包含ns个词语的输入句子,是单词si的词嵌入表示;
使用Glove预训练模型初始化词嵌入;PE(·)是一个位置信息编码函数;
Transformer编码器由NE个相同主层堆积而成,其中每个主层具有两个子层:
第一个子层是多头自注意力层MultiHead(Q,K,V),
其中Q是查询矩阵,K是键矩阵,V是值矩阵,在当前情况下,Q=K=V,即自注意力机制;MultiHead(Q,K,V)对Q,K,V线性投影h次,并行地计算h个单头自注意力机制,即被称为多头;第二个子层是一个全连接前馈神经网络(FFN),两者之间带有ReLU激活函数;以上两个子层的计算过程在每一主层中都重复进行:
M(n)=MultiHead(D(n-1),D(n-1),D(n-1))
D(n)=FFN(M(n))
其中,n∈(1,...,NE),D(0)=Input(S);
使用En(S)来标识输入句子S的最终的编码结果;
假设x=(x1,x2...,xnx)代指有着nx个单词的用户输入消息,Y=(y1,y2,...,yny)代指有ny个单词的目标回复,代指与当前对话内容相关的一个知识条目集合,该知识集合从总知识库中检索而来,并且每一条知识都以句子文本的形式存在。用户消息X和知识集合fi使用具有相同结构的两个Transformer编码器分别进行编码,即消息编码器和知识编码器,它们是互相独立的且不共享任何参数;在模型训练过程中,由于发散知识选择器需要利用到目标回复Y的信息,知识编码器同样被用来编码Y。
另外,使用平均归一化,将句子的编码结果归一化为一个全局向量,用x表示用户消息,表示知识集合,在接下来的知识选择中使用。
所述的发散知识选择器包括知识优化和知识选择,给定x和DKS旨在选择最佳知识条目fs作为最终知识,以增强回复生成;
S1知识优化,负责从中提取主题漂移线索c,然后将其补充到每个知识条目中以产生新的知识集合/>如图1、2所示。随后,模型计算每个知识条目的最终选择概率:
更多详细信息如下:
为了获得c,在上定义了一个条件概率分布p(c=fi|x),它给出了每个知识条目用来作为主题漂移线索c的可能性大小,具体的,c由以下步骤计算得到:
s(a,b)=Wυtanh(Waa+Wbb)
其中Wυ,Wa,Wb均为模型的可训练参数;
本质上,c是由进行加权和计算得到,更高的权重意味着该知识条目作为主题漂移线索的概率更高;使用函数s(a,b)来衡量每条知识与用户消息之间的相关性,该函数允许模型灵活地进行匹配;通过以下公式计算优化后的知识Ci:
其中,[·;·]指向量级联。
主题漂移线索c应该尽可能涵盖当前对话中变化的主题信息;在训练过程中,由于目标回复Y可用,模型在X和Y的共同引导下学习对c的搜索会更为有效,即将X和Y两个语句中主题的信息一起捕获以获取c;在模型训练过程一个教学网络结构来学习c的获取,在该教学网络中,模型使用一个后验概率分布p(c=fi|x,y)来修正先验分布p(c=fi|x)的误差;具体地,p(c=fi|x,y)以x和y为条件来计算,其中y由知识编码器以相同的归一化策略进行编码而得到:
其中W是模型的可训练参数;
采用Kullback-Leibler散度损失(KLDiv Loss)在两个概率分布之间进行约束,以迫使学生概率分布尽可能地接近教师概率分布,因此即使没有y的帮助,模型仍然可以学习到c的获取;KLDiv损失函数如下所示:
其中Θ表示模型全部的可训练参数,在训练阶段,c基于教师概率分布p(c=fi|x,y)来计算得到,在测试或者推理阶段,c基于学生概率分布p(c=fi|x)来计算得到;
主题飘移线索的加入可能会导致知识冗余,对随后的知识选择产生影响。使用逐点互信息(Pointer-wise Mutual Information,PMI)算法从x和Y两者中提取出与知识集合F具有高互信息的关键词作为当前对话的主题表达;然后,设置了一个词袋(Bag-of-word,BOW)损失函数,通过加强c和关键词集合之间的关联来减少c中的冗余信息;具体的,首先计算X或Y中的对话性词语wu和F中的知识性词语wf之间的互信息得分PMI(wu,wf):
随后,wu与整个知识集合F之间总互信息贡献分数PMI(wu,F)计算如下:
x或Y中PMI贡献得分位于前20%的单词将被选入最终的关键词集合中;
然后,BOW损失函数计算如下:
w=MLP(c)
p(w|c)=softmax(w)
S2知识选择,集中于选择知识条目fs作为最终知识,从选择概率分布p(fs=fi|x)中选择概率最高的一条,其计算如下:
在实际的训练过程中,通过引入现有技术Gumbel-SoftMax重参数化技术,从p(fs=fi|x)中采样获得fs,以获得更为鲁棒的训练结果;
另外,如果训练语料包含了最佳知识标签,可通过在选择概率分布和训练语料中的参考分布之间添加额外的交叉熵损失函数,对知识选择加以强监督信号,以使模型更有效地学习正确知识的选择。
损失函数的参数包括词嵌入和所有子模块,以端到端的方式进行训练优化;
以最小化其基本的似然损失(Negative Log-likelihood,NLL),给定一个训练示例{X,Y,F},该损失函数用来量化生成回复和目标回复之间的差异:
由于发散知识选择器DKS添加了辅助损失函数,整个模型以三种损失函数的总和进行训练:
包括NLL损失,KLDiv损失,BOW损失和知识选择损失,由权重λ调整。
所述的知识感知解码器,旨在通过充分利用所选知识fs来生成多样且内容丰富的回复,知识感知编码器基于Transformer解码器,在此基础上,引入了一个知识注意力子层,用以在回复生成过程中动态关注地fs的内部细节;另外,解码器顶部还额外加入了一个基于注意力机制的双源指针网络,作为从两个源句子:X和fs中直接进行词语复制的通用方法;具体细节如下:
与编码器类似,解码器也是由ND个相同的主层堆积组成,每个主层均包含四个子层:
M(n)=MultiHead(F(n-1),F(n-1),F(n-1))
C(n)=MultiHead(M(n-1),En(X),En(X))
K(n)=Multihead(C(n),En(fs),En(fs))
F(n)=FFN(K(n))
第一子层是多头自注意力层,其中n∈(1,...,ND),F(n-1)是前一子层的输出,F(0)=Input(Y);
第二子层是多头对话上下文注意力层,用来在用户消息中建模与回复相关的上下文信息;
第三子层是一个多头知识注意力子层,与上下文注意力层类似,该层允许模型动态地关注被选知识fs句子内与回复相关的细节信息;
第四子层是一个全连接前馈神经网络;
在解码器生成回复的第t个位置,定义两个复制概率分布p(x)(yt)和p(f)(yt),分别代表模型从X和fs中复制词语来作为yt的概率,计算如下:
其中,p(x/f)(yt)本质上是在源句子序列上计算得到的注意力权重;是加权和结果;源间注意力机制用于将这两个概率分布融合在一起,以获得最终的复制概率pcopy(yt):/>
pcopy(yt)=μt p(x)(yt)+(1-μt)p(f)(yt)
解码器本身的生成概率分布pgen(yt)可以通过将代入一个SoftMax函数来获得;
最后,将复制概率分布pcopy(yt)和生成概率分布pgen(yt)组合起来得到生成回复中yt的全局概率分布P(yt):
P(yt)=δpgen(yt)+(1-δ)pcopy(yt)
其中Wd,We是模型的可训练参数。
本发明的结构主要由知识库、Transformer编码器、发散知识选择器和知识感知解码器组成;知识库分别与两个Transformer编码器连接;两个Transformer编码器与发散知识选择器连接;发散知识选择器、第一Transformer编码器分别与知识感知解码器连接;
知识库提供知识条目集合,用于知识检索;
两个Transformer编码器用于对用户消息x和知识集合F中的每条知识分别进行独立编码,第一Transformer编码器用于对用户消息x编码,第二Transformer编码器用于对知识集合F中的每条知识分别进行编码;
发散知识选择器用于选择一条特定知识作为最终的知识候选,用于促进回复生成;
知识感知解码器用于将所选知识正确且有效地整合到回复生成过程中。
Claims (5)
1.一种带有强泛化知识选择的开放域对话生成方法,其特征在于,包括以下步骤:
步骤1,知识检索,在总知识库中检索出与当前对话内容有关的知识条目集合,为之后的细粒度知识选择预准备;
步骤2,Transformer编码器,采用拥有多头自注意力机制的编码器,两个Transformer编码器对用户消息X和知识集合F中的每条知识都进行分别独立编码,并输出;
步骤3,发散知识选择器负责选择一条特定知识作为最终的知识候选,用于促进回复生成;发散知识选择器包括知识优化和知识选择,给定x和DKS旨在选择最佳知识条目fs作为最终知识,以增强回复生成;
S1知识优化,负责从中提取主题漂移线索c,然后将其补充到每个知识条目中以产生新的知识集合/>随后,模型计算每个知识条目的最终选择概率:
为了获得c,在上定义了一个条件概率分布p(c=fi|x),它给出了每个知识条目用来作为主题漂移线索c的可能性大小,具体的,c由以下步骤计算得到:
s(a,b)=Wvtanh(Waa+Wbb)
其中Wv,Wa,Wb均为模型的可训练参数;
本质上,c是由进行加权和计算得到,更高的权重意味着该知识条目作为主题漂移线索的概率更高;使用函数s(a,b)来衡量每条知识与用户消息之间的相关性,该函数允许模型灵活地进行匹配;通过以下公式计算优化后的知识Ci:
其中,[·;·]指向量级联;
主题漂移线索c应该尽可能涵盖当前对话中变化的主题信息;在训练过程中,由于目标回复Y可用,模型在X和Y的共同引导下学习对c的搜索会更为有效,即将X和Y两个语句中主题的信息一起捕获以获取c;在模型训练过程中利用一个教学网络结构来学习c的获取,在该教学网络中,模型使用一个后验概率分布p(c=fi|x,y)来修正先验分布p(c=fi|x)的误差;具体地,p(c=fi|x,y)以x和y为条件来计算,其中y是由知识编码器以相同的归一化策略进行编码而得到:
其中W是模型的可训练参数;
采用Kullback-Leibler散度损失(KLDiv Loss)在两个概率分布之间进行约束,以迫使学生概率分布尽可能地接近教师概率分布,因此即使没有y的帮助,模型仍然可以学习到c的获取;KLDiv损失函数如下所示:
其中Θ表示模型全部的可训练参数,在训练阶段,c基于教师概率分布p(c=fi|x,y)来计算得到,在测试或者推理阶段,c基于学生概率分布p(c=fi|x)来计算得到;
主题飘移线索的加入可能会导致知识冗余,对随后的知识选择产生影响;使用逐点互信息算法从X和Y两者中提取出与知识集合F具有高互信息的关键词作为当前对话语句的主题表达;然后,设置了一个词袋损失函数BOW,通过加强c和关键词集合之间的关联来减少c中的冗余信息;具体的,首先计算x或Y中的对话性词语wu和F中的知识性词语wf之间的互信息得分PMI(wu,wf):
随后,wu与整个知识集合F之间总互信息贡献分数PMI(wu,F)计算如下:
x或Y中PMI贡献得分位于前20%的单词将被选入最终的关键词集合中;
然后,BOW损失函数计算如下:
w=MLP(c)
p(w|c)=softmax(w)
S2知识选择,集中于选择知识条目fs作为最终知识,从选择概率分布p(fs=fi|x)中选择概率最高的一条,其计算如下:
在实际的训练过程中,通过引入Gumbel-SoftMax重参数化技术,从p(fs=fi|x)中采样而非固定地获得fs,以获得更为鲁棒的训练结果;
如果训练语料包含了最佳知识标签,则通过在选择概率分布和训练语料中的参考分布之间添加额外的交叉熵损失函数,对知识选择加以直接的强监督信号,以使模型更有效地学习正确知识的选择;
步骤4,知识感知解码器负责将所选知识正确且有效地整合到回复生成过程中。
2.根据权利要求1所述的一种带有强泛化知识选择的开放域对话生成方法,其特征在于,所述的Transformer编码器,对句子中的每个词语均执行编码输出:
将带有位置感知信息的词嵌入序列作为输入:
Input(S)=[s1,...,sns]
其中,s=(s1,s2,....,sns)代指包含ns个词语的输入句子,是单词si的词嵌入表示;
使用Glove预训练模型初始化词嵌入;PE(.)是一个位置信息编码函数;
Transformer编码器由NE个相同主层堆积而成,其中每个主层具有两个子层:
第一个子层是多头自注意力层MultiHead(Q,K,V),
其中Q是查询矩阵,K是键矩阵,v是值矩阵,在当前情况下,Q=K=v,即自注意力机制;
MultiHead(Q,K,V)对Q,K,v线性投影h次,并行地计算h个单头自注意力机制,即被称为多头;
第二个子层是一个全连接前馈神经网络(FFN),两者之间带有ReLU激活函数;
以上两个子层的计算过程在每一主层中都重复进行:
M(n)=MultiHead(D(n-1),D(n-1),D(n-1))
D(y)=FFN(M(n))
其中,n∈(1,...,NE),D(0)=Input(S);
使用En(S)来标识输入句子S的最终的编码结果;
假设X=(x1,x2...,xnx)代指有着nx个单词的用户输入消息,Y=(y1,y2,...,yny)代指有ny个单词的目标回复,代指与当前对话内容相关的一个知识条目集合,该知识集合从总知识库中检索而来,并且每一条知识都以句子文本的形式存在;则用户消息X和知识集合fi使用具有相同结构的两个Transformer编码器分别进行编码,即消息编码器和知识编码器,它们是互相独立的且不共享任何参数;在模型训练过程中,由于发散知识选择器需要利用到目标回复Y的信息,知识编码器同样被用来编码Y;
通过使用平均归一化,将句子的编码结果归一化为一个全局向量,用x表示用户消息,表示知识集合,在接下来的知识选择中使用。
3.根据权利要求1所述的一种带有强泛化知识选择的开放域对话生成方法,其特征在于,损失函数的参数包括词嵌入和所有子模块,以端到端的方式进行训练优化;
目标为最小化对数似然损失(Negative Log-likelihood,NLL),给定一个训练示例{x,Y,F},该损失函数用来量化生成回复和目标回复之间的差异:
由于发散知识选择器DKS添加了辅助损失函数,整个模型以四种损失函数的总和进行训练:
包括NLL损失,KLDiv损失,BOW损失和知识选择损失。
4.根据权利要求1所述的一种带有强泛化知识选择的开放域对话生成方法,其特征在于,所述的知识感知解码器,旨在通过充分利用所选知识fs来生成多样且内容丰富的回复,知识感知编码器基于Transformer解码器,在此基础上,引入了一个知识注意力子层,用以在回复生成过程中动态关注地fs的内部细节;另外,解码器顶部还额外加入了一个基于注意力机制的双源指针网络,作为从两个源句子x和fs中直接进行词语复制的通用方法;
具体细节如下:
解码器也是由ND个相同的主层堆积组成,每个主层均包含四个子层:
M(nn)=MultiHead(F(n-1),F(n-1),F(n-1))
C(n)=MultiHead(M(n-1),En(X),En(X))
K(n)=Multihead(C(n),En(fs),En(fs))
F(n)=FFN(K(n))
第一子层是多头自注意力层,其中n∈(1,..,ND),F(n-1)是前一子层的输出,F(0)=Input(Y);
第二子层是多头对话上下文注意力层,用来在用户消息中建模与回复相关的上下文信息;
第三子层是一个多头知识注意力子层,与上下文注意力层类似,该层允许模型动态地关注被选知识fs句子内与回复相关的细节信息;
第四子层是一个全连接前馈神经网络;
在解码器生成回复的第t个位置,定义两个复制概率分布p(x)(yt)和p(f)(yt),分别代表模型从X和fs中复制词语来作为yt的概率,计算如下:
其中,p(x/f)(yt)本质上是在源句子序列上计算得到的注意力权重;是加权和结果;
源间注意力机制用于将这两个概率分布融合在一起,以获得最终的复制概率pcopy(yt):
pcopy(yt)=μtp(x)(yt)+(1-μt)p(f)(yt)
解码器本身的生成概率分布pgen(yt)可以通过将代入一个SoftMax函数来获得;
最后,将复制概率分布pcopy(yt)和生成概率分布pgen(yt)组合起来得到生成回复中yt的全局概率分布P(yt):
P(yt)=δpgen(yt)+(1-δ)pcopy(yt)
其中Wd,We是模型的可训练参数。
5.一种带有强泛化知识选择的开放域对话生成系统,其特征在于,主要由知识检索、Transformer编码器、发散知识选择器和知识感知解码器组成;知识检索分别与两个Transformer编码器连接;两个Transformer编码器与发散知识选择器连接;发散知识选择器、第一Transformer编码器分别与知识感知解码器连接;
知识检索提供知识库中的对话相关条目集合;
两个Transformer编码器用于对用户消息x和知识集合F中的每条知识分别进行独立编码,第一Transformer编码器用于对用户消息X编码,第二Transformer编码器用于对知识集合F中的每条知识分别进行编码;
发散知识选择器用于选择一条特定知识作为最终的知识候选,用于促进回复生成;发散知识选择器包括知识优化和知识选择,给定x和DKS旨在选择最佳知识条目fs作为最终知识,以增强回复生成;
S1知识优化,负责从中提取主题漂移线索c,然后将其补充到每个知识条目中以产生新的知识集合/>随后,模型计算每个知识条目的最终选择概率:
为了获得c,在上定义了一个条件概率分布p(c=fi|x),它给出了每个知识条目用来作为主题漂移线索c的可能性大小,具体的,c由以下步骤计算得到:
s(a,b)=Wvtanh(Waa+Wbb)
其中Wv,Wa,Wb均为模型的可训练参数;
本质上,c是由进行加权和计算得到,更高的权重意味着该知识条目作为主题漂移线索的概率更高;使用函数s(a,b)来衡量每条知识与用户消息之间的相关性,该函数允许模型灵活地进行匹配;通过以下公式计算优化后的知识Ci:
其中,[·;·]指向量级联;
主题漂移线索c应该尽可能涵盖当前对话中变化的主题信息;在训练过程中,由于目标回复Y可用,模型在X和Y的共同引导下学习对c的搜索会更为有效,即将X和Y两个语句中主题的信息一起捕获以获取c;在模型训练过程中利用一个教学网络结构来学习c的获取,在该教学网络中,模型使用一个后验概率分布p(c=fi|x,y)来修正先验分布p(c=fi|x)的误差;具体地,p(c=fi|x,y)以x和y为条件来计算,其中y是由知识编码器以相同的归一化策略进行编码而得到:
其中W是模型的可训练参数;
采用Kullback-Leibler散度损失(KLDiv Loss)在两个概率分布之间进行约束,以迫使学生概率分布尽可能地接近教师概率分布,因此即使没有y的帮助,模型仍然可以学习到c的获取;KLDiv损失函数如下所示:
其中Θ表示模型全部的可训练参数,在训练阶段,c基于教师概率分布p(c=fi|x,y)来计算得到,在测试或者推理阶段,c基于学生概率分布p(c=fi|x)来计算得到;
主题飘移线索的加入可能会导致知识冗余,对随后的知识选择产生影响;使用逐点互信息算法从X和Y两者中提取出与知识集合F具有高互信息的关键词作为当前对话语句的主题表达;然后,设置了一个词袋损失函数BOW,通过加强c和关键词集合之间的关联来减少c中的冗余信息;具体的,首先计算X或Y中的对话性词语wu和F中的知识性词语wf之间的互信息得分PMI(wu,wf):
随后,wu与整个知识集合F之间总互信息贡献分数PMI(wu,F)计算如下:
X或Y中PMI贡献得分位于前20%的单词将被选入最终的关键词集合中;
然后,BOW损失函数计算如下:
w=MLP(c)
p(w|c)=softmax(w)
S2知识选择,集中于选择知识条目fs作为最终知识,从选择概率分布p(fs=fi|x)中选择概率最高的一条,其计算如下:
在实际的训练过程中,通过引入Gumbel-SoftMax重参数化技术,从p(fs=fi|x)中采样而非固定地获得fs,以获得更为鲁棒的训练结果;
如果训练语料包含了最佳知识标签,则通过在选择概率分布和训练语料中的参考分布之间添加额外的交叉熵损失函数,对知识选择加以直接的强监督信号,以使模型更有效地学习正确知识的选择;
知识感知解码器用于将所选知识正确且有效地整合到回复生成过程中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010951173.7A CN112463935B (zh) | 2020-09-11 | 2020-09-11 | 一种带有强泛化知识选择的开放域对话生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010951173.7A CN112463935B (zh) | 2020-09-11 | 2020-09-11 | 一种带有强泛化知识选择的开放域对话生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112463935A CN112463935A (zh) | 2021-03-09 |
CN112463935B true CN112463935B (zh) | 2024-01-05 |
Family
ID=74833347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010951173.7A Active CN112463935B (zh) | 2020-09-11 | 2020-09-11 | 一种带有强泛化知识选择的开放域对话生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463935B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113505208B (zh) * | 2021-07-09 | 2024-02-02 | 福州大学 | 一种融合多路注意力机制的智能对话系统 |
CN115809669B (zh) * | 2022-12-30 | 2024-03-29 | 联通智网科技股份有限公司 | 一种对话管理方法和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201717751D0 (en) * | 2017-10-27 | 2017-12-13 | Babylon Partners Ltd | A computer implemented determination method and system |
CN110019844A (zh) * | 2019-02-20 | 2019-07-16 | 众安信息技术服务有限公司 | 一种保险行业知识图谱问答系统构建方法及装置 |
CN111274362A (zh) * | 2020-02-01 | 2020-06-12 | 武汉大学 | 一种基于transformer架构的对话生成方法 |
CN111462750A (zh) * | 2020-03-20 | 2020-07-28 | 北京邮电大学 | 语义与知识增强的端到端任务型对话系统及方法 |
-
2020
- 2020-09-11 CN CN202010951173.7A patent/CN112463935B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201717751D0 (en) * | 2017-10-27 | 2017-12-13 | Babylon Partners Ltd | A computer implemented determination method and system |
CN110019844A (zh) * | 2019-02-20 | 2019-07-16 | 众安信息技术服务有限公司 | 一种保险行业知识图谱问答系统构建方法及装置 |
CN111274362A (zh) * | 2020-02-01 | 2020-06-12 | 武汉大学 | 一种基于transformer架构的对话生成方法 |
CN111462750A (zh) * | 2020-03-20 | 2020-07-28 | 北京邮电大学 | 语义与知识增强的端到端任务型对话系统及方法 |
Non-Patent Citations (1)
Title |
---|
融合神经网络与电力领域知识的智能客服对话系统研究;吕诗宁;张毅;胡若云;沈然;江俊军;欧智坚;;浙江电力(08);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112463935A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108780464A (zh) | 用于处理输入查询的方法和系统 | |
Abro et al. | Natural language understanding for argumentative dialogue systems in the opinion building domain | |
Chen et al. | Joint entity and relation extraction for legal documents with legal feature enhancement | |
CN112232053B (zh) | 一种基于多关键词对匹配的文本相似度计算系统、方法、及存储介质 | |
CN114168749A (zh) | 一种基于知识图谱和疑问词驱动的问题生成系统 | |
Zheng et al. | Same representation, different attentions: Shareable sentence representation learning from multiple tasks | |
CN114428850B (zh) | 一种文本检索匹配方法和系统 | |
CN112463935B (zh) | 一种带有强泛化知识选择的开放域对话生成方法及系统 | |
Liu et al. | Jointly encoding word confusion network and dialogue context with bert for spoken language understanding | |
Liu et al. | Cross-domain slot filling as machine reading comprehension: A new perspective | |
CN113722439A (zh) | 基于对抗性类别对齐网络的跨领域情感分类方法及系统 | |
CN115858728A (zh) | 一种基于多模态数据的情感分析方法 | |
Zhang et al. | AIA-net: Adaptive interactive attention network for text–audio emotion recognition | |
Madukwe et al. | A ga-based approach to fine-tuning bert for hate speech detection | |
CN115510230A (zh) | 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法 | |
Assem et al. | QASAR: self-supervised learning framework for extractive question answering | |
Shi et al. | Deep Modular Co-Attention Shifting Network for Multimodal Sentiment Analysis | |
CN111414466A (zh) | 一种基于深度模型融合的多轮对话建模方法 | |
CN116681078A (zh) | 一种基于强化学习的关键词生成方法 | |
Gupta | A review of generative AI from historical perspectives | |
CN114154517B (zh) | 一种基于深度学习的对话质量评估方法及系统 | |
Dasgupta et al. | A Review of Generative AI from Historical Perspectives | |
Khatri et al. | SkillBot: Towards Data Augmentation using Transformer language model and linguistic evaluation | |
Deroy et al. | Question generation: Past, present & future | |
Zhang et al. | Revealing the power of BERT for text sentiment classification |
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 |