CN112966083B - 一种基于对话历史建模的多轮对话生成方法及装置 - Google Patents
一种基于对话历史建模的多轮对话生成方法及装置 Download PDFInfo
- Publication number
- CN112966083B CN112966083B CN202110259589.7A CN202110259589A CN112966083B CN 112966083 B CN112966083 B CN 112966083B CN 202110259589 A CN202110259589 A CN 202110259589A CN 112966083 B CN112966083 B CN 112966083B
- Authority
- CN
- China
- Prior art keywords
- history
- word
- dialog
- dialogue
- statement
- 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
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/3344—Query execution using natural language analysis
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/044—Recurrent networks, e.g. Hopfield networks
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Human Computer Interaction (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
一种基于对话历史建模的多轮对话生成方法及装置,属于人工智能领域,其特征在于,利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化获取近邻感知的对话历史语义表示;利用面向对话历史的注意力机制使查询语句自动从对话历史中吸收相关语义信息,得到对话历史增强的查询语义表示;再根据本申请新增的近邻感知的对话历史语义表示、及对话历史增强的查询语义表示通过神经网络逐词生成回复语句,能够有效捕捉对话历史中篇章级别的连贯语义关系,缓解对话历史建模的长期依赖问题和记忆延迟问题,并充分挖掘了查询语句在捕捉当前对话焦点时的重要作用,使得所生成的对话具备更好的上下文一致性和信息丰富性。
Description
技术领域
本发明属于人工智能领域,尤其涉及一种基于对话历史建模的多轮对话生成方法及装置。
背景技术
开放域对话系统旨在实现让机器与人类在开放领域话题上进行自然语言交互。近年来,由于大规模数据的可得性以及深度学习技术的进步,基于神经网络的对话生成在开放域对话系统中引起了广泛的研究兴趣。与单轮场景相比,多轮对话在日常生活中更为广泛,但也对上下文一致性提出了更严格的要求。在多轮对话中,回复语句的生成不仅应取决于用户最近的消息,还应与对话历史保持一致,避免在逻辑、情感等方面的矛盾。因此,如何建模对话历史成为了多轮对话生成的关键内容之一。
目前对话历史建模方法可以大致分为两类:层次建模方法和非层次建模方法。层次建模方法在句子和篇章两个层面上建模对话历史,着重研究对话历史中蕴含的语义关系以及话题转移关系等,部分研究还将记忆网络、隐变量模型以及变分自编码器融入了层次建模方法中。非层次建模方法通常按照对话顺序将对话历史串联为一个句子,或将对话历史综合重写为一个信息更加丰富的句子,然后将该句子输入到传统序列到序列框架以生成答复语句。与层次建模方法相比,非层次建模方法本质上还是单轮对话生成,忽略了对话历史中动态变化的话题流,因此层次类建模方法在捕捉对话过程中的语义变化上性能更佳。
对话历史建模的一个关键问题就是获取对话历史的语义表示。目前的层次类建模方法通常将对话历史中各个轮次的语句视为相互独立的句子,然后进行单独的语义编码。这种做法忽略了一个重要事实,即多轮对话产生于一个连贯一致的交流过程,其中涉及的各个轮次的语句是前后关联的。对话历史中相邻的语句间存在显式的回复关系。如果单独编码这些语句却不考虑它们之间的语义关系,层次类建模方法可能无法捕获对话历史中篇章级别的连贯关系。
此外,对话历史中多个语句的重要性不同,对当前轮次的回复生成存在不同的影响力。因此,如何找到与当前回复生成最相关的历史语句,也是对话历史建模的关键问题之一。目前的层次类建模方法主要利用各种注意力机制来计算历史语句的重要性,进而通过加权整合来获得对话历史的语义表示。但大量研究和实验结果证明,这种做法不能保证生成回复语句的相关性和一致性。
发明内容
本发明旨在解决上述问题,提供一种基于对话历史建模的多轮对话生成方法及装置。
第一方面,本发明提供一种基于对话历史建模的多轮对话生成方法,包括:
通过神经网络获得对话历史中每个语句的初始词级语义表示;
利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化,获取近邻感知的对话历史语义表示;
将对话历史中的最新语句定义为查询语句,先利用自注意力机制捕捉查询语句中词之间的关系,然后利用面向对话历史的注意力机制使查询语句自动从对话历史中吸收相关语义信息,得到对话历史增强的查询语义表示;
根据近邻感知的对话历史语义表示、及对话历史增强的查询语义表示,通过神经网络逐词生成回复语句;
所述利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化具体包括:给定包含M条语句的多轮对话{U1,...,UM},M≥2,其中最后一条最新语句UM定义为查询语句,前M-1条语句序列U<M={U1,...,UM-1}定义为对话历史;
其中,q,k,v分别为Transformer编码器中注意力机制对应的查询向量、键向量和值向量;
以上和分别表示词wn,m,n∈[1,Nm]经过和重编码后的向量表示;通过特征维度的向量拼接操作zn,m为词wn,m最终的重编码向量,它不仅包含词wn,m自身的语义特征,还纳入了邻居语句中相关的语义特征;
通过双向门控循环神经网络对对话历史的重编码向量进行轮次方向上的顺序整合,过程如下:
进一步,本发明所述基于对话历史建模的多轮对话生成方法,所述获得对话历史中每个语句的初始词级语义表示通过双向门控循环神经网络实现;所述生成回复语句通过单向门控循环神经网络实现。
进一步,本发明所述基于对话历史建模的多轮对话生成方法,所述对对话历史的语义表示过程进行优化,对对话历史中的任一历史语句进行重编码,使之能够保留其相邻历史语句的语义信息,通过轮次方向上的顺序整合进而获取近邻感知的对话历史语义表示。
进一步,本发明所述基于对话历史建模的多轮对话生成方法,所述通过神经网络获得对话历史中每个语句的初始词级语义表示,多轮对话生成就是通过计算条件概率P(UM+1∣U<M;UM)来根据对话历史以及查询语句来生成回复语句UM+1;设回复UM+1包含NM+1个词,即则条件概率P(UM+1∣U<M;UM)可分解为:
其中wn,M+1表示回复UM+1中第n个位置的词;w<n,M+1表示回复UM+1中前n-1个词,即w<n,M+1=(w1,M+1,...,wn-1,M+1);
更进一步,本发明所述基于对话历史建模的多轮对话生成方法,所述得到对话历史增强的查询语义表示,对UM中的任一词wi,M,计算它与UM中其他词的相关性:
其中βi,j是词wj,M相对于词wi,M的相关性,j≠i∈[1,NM];grelu表示一个以ReLU为激活函数的全连接神经网络;f是点积操作;根据UM中其他词对于词wi,M的相关性,将其他词的语义融入wi,M的特征表示:
其中向量ri,M不仅包含词wi,M自身的语义,还包含了UM中其他词的语义,具有句子级别的语境信息;
继续计算词wi,M与对话历史中任一语句Um,m∈[1,M-1]的相关性:
接着,根据相关性大小将相应对话历史中语句的语义信息融入词wi,M的表示:
更进一步,本发明所述基于对话历史建模的多轮对话生成方法,所述通过神经网络逐词生成回复语句,在生成第t个词时,将词分布概率表示为:
ct是对话的统一表示,通过一个查询注意力机制和一个对话历史注意力机制来共同获得,过程如下:
第二方面,本发明提供一种基于对话历史建模的多轮对话生成装置,包括:语句编码模块,用于通过神经网络获得对话历史中每个语句的初始词级语义表示;保留模块,用于利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化,获取近邻感知的对话历史语义表示;
选择模块,用于将对话历史中的最新语句定义为查询语句,先利用自注意力机制捕捉查询语句中词之间的关系,然后利用面向对话历史的注意力机制使查询语句自动从对话历史中吸收相关语义信息,得到对话历史增强的查询语义表示;
回复解码模块,用于根据近邻感知的对话历史语义表示、对话历史增强的查询语义表示,通过神经网络逐词生成回复语句。
所述利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化具体包括:给定包含M条语句的多轮对话{U1,...,UM},M≥2,其中最后一条最新语句UM定义为查询语句,前M-1条语句序列U<M={U1,...,UM-1}定义为对话历史;
其中,q,k,v分别为Transformer编码器中注意力机制对应的查询向量、键向量和值向量;
以上和分别表示词wn,m,n∈[1,Nm]经过和重编码后的向量表示;通过特征维度的向量拼接操作zn,m为词wn,m最终的重编码向量,它不仅包含词wn,m自身的语义特征,还纳入了邻居语句中相关的语义特征;
通过双向门控循环神经网络对对话历史的重编码向量进行轮次方向上的顺序整合,过程如下:
第三方面,本发明提供一种基于对话历史建模的多轮对话生成装置,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现前述第一方面所述的基于对话历史建模的多轮对话生成方法。
第四方面,本发明提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现前述第一方面所述的基于对话历史建模的多轮对话生成方法。
本发明所述基于对话历史建模的多轮对话生成方法及装置,在现有技术的基础上,利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化获取近邻感知的对话历史语义表示;同时将对话历史中的最新语句定义为查询语句,先利用自注意力机制捕捉查询语句中词之间的关系,然后利用面向对话历史的注意力机制使查询语句自动从对话历史中吸收相关语义信息,得到对话历史增强的查询语义表示;再根据本申请新增的近邻感知的对话历史语义表示、及对话历史增强的查询语义表示通过神经网络逐词生成回复语句,能够有效捕捉对话历史中篇章级别的连贯语义关系,缓解对话历史建模的长期依赖问题和记忆延迟问题,并充分挖掘了查询语句在捕捉当前对话焦点时的重要作用,使得所生成的对话具备更好的上下文一致性和信息丰富性。
附图说明
图1为本发明所述基于对话历史建模的多轮对话生成装置结构示意图;
图2为本发明所述不同对话历史长度下各模型在自动评估结果示意图;
图3为本发明所述不同查询语句长度下各模型自动评估结果示意图;
图4为本发明所述短查询样本中不同对话历史长度下各模型在自动评估结果示意图。
具体实施方式
下面通过附图及实施例对本发明所述基于对话历史建模的多轮对话生成方法及装置进行详细说明。
实施例一
通过神经网络获得对话历史中每个语句的初始词级语义表示;利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化,获取近邻感知的对话历史语义表示;将对话历史中的最新语句定义为查询语句,先利用自注意力机制捕捉查询语句中词之间的关系,然后利用面向对话历史的注意力机制使查询语句自动从对话历史中吸收相关语义信息,得到对话历史增强的查询语义表示;根据近邻感知的对话历史语义表示、及对话历史增强的查询语义表示,通过神经网络逐词生成回复语句。
在本公开实施例中多轮对话生成可形式化定义为:给定包含M条(M≥2)语句的多轮对话{U1,...,UM},最后一条语句UM定义为查询语句,前M-1条语句序列U<M={U1,...,UM-1}定义为对话历史。多轮对话生成的任务就是通过计算条件概率P(UM+1∣U<M;UM)来根据对话历史以及查询语句来生成回复语句UM+1。设回复UM+1包含NM+1个词,即则条件概率P(UM+1∣U<M;UM)可大致分解为:其中wn,M+1表示回复UM+1中第n个位置的词;w<n,M+1表示回复UM+1中前n-1个词,即w<n,M+1=(w1,M+1,...,wn-1,M+1)。
在本实施例中的解码过程中生成第t个词时,同时考虑了查询语句和对话历史的信息,将采用这种解码策略的多轮对话生成方法命名为KS-CQ;为了探索查询语句对回复生成的具体作用,在本公开实施例中还设置了一个变种模型KS-Q,它在解码时只考虑查询语句的信息,即:
在本公开实例中使用了两个开源的多轮对话基准数据集;一个是DailyDialog数据集,是从日常生活中的人与人对话中收集的。它总共包含13,118个高质量的英文对话,涵盖文化,教育和旅游等各个主题。使用官方开源的训练/验证/测试集划分,即11,118/1,000/1,000。另一个是KdConv数据集,是一个中文多轮对话数据集,包含4.5K个来自电影、音乐和旅游三个领域的对话。与DailyDialog数据集不同,KdConv中每个语句都会被关联到特定的知识三元组。将公开下载的数据集按照80%/10%/10%的比例划分为训练/验证/测试集。
为了增加训练数据的规模,对以上两个数据集进行了如下预处理。对于一个包含M个语句的对话,其中M≥2,在其第m轮(2≤m<M),将Um定义为查询语句,U<m={U1,...,Um-1}定义为对话历史,Um+1定义为真实的回复。对对话轮数超过15和语句长度超过50的样本进行了截断。最终,在DailyDialog上获得了76,052/6,740条样本用于训练/测试,在KdConv上获得了56,644/6,294个样本。表1展示了预处理后数据集的一些统计特征。
表1
在本公开实施例中将本实施例所述KS-CQ模型与现有的以下几个多轮对话生成的基线模型进行对比,包括:HRED:一种经典的分层多轮对话生成模型。WSeq:一种考虑了查询在多轮对话生成中特殊作用的模型。SD-HRED:一种基于HRED和动态静态注意力机制的多轮对话生成模型。HRAN:一种分层循环注意力机制的多轮对话生成模型。ReCoSa:一种混合了Transformer和HRED结构的多轮回复模型。
在本公开实施例中,除了KS-CQ外,还设置了5个变种模型,包括KS-Q,PrKS-CQ,PoKS-CQ,K-CQ和S-CQ,每个变种模型的具体模块组成见表2。具体来说,KS-Q用来研究查询语句和对话历史在回复生成中的差异性作用。PrKS-CQ和PoKS-CQ用于分析前向邻居和后向邻居对于保留模块的差异性影响,其中PrKS-CQ采用了“前向保留”操作,PoKS-CQ采用了“后向保留”操作。K-CQ和S-CQ是两个消融模型,用来分析保留模块和选择模块的贡献。
表2
在本公开实施例中对于上述所有的模型,词向量均采取随机初始化,并在训练中进行自动更新,维度为512。GRU和BiGRU均采用2层512个神经元。Transformer编码器中的多头数量设置为4,自注意力机制的隐藏层大小为512。参数优化采用Adam优化器,学习率设置为0.0001,批处理规模为64。
根据现有技术,通过自动评估和人工评估两种方式对上述所有模型进行评估。
在自动评估过程中为了确保自动评估的公平性和全面性,从以下两个方面来选取指标进行评估:适当性。多轮对话生成的适当性,通常通过比较预测回复和真实回复之间的相似性来评估。生成回复与真实回复越相近,表示其适当性越好。常见的指标有BLEU、ROUGE等,但这些指标是从词重叠角度评估相似性。部分研究证明BLEU和ROUGE的评估结果与人工评估结果相关性差,因此采用基于词向量的话题相似性评估指标,即Average,Extrema,Greedy来评估回复的适当性。基于词向量的话题相似性评估指标,首先将回复中各个词映射到词向量空间,然后计算回复整体的词向量表示,进而通过计算生成回复和真实回复在词向量上的余弦距离来判断二者之间在语义上的相似性。
信息丰富性;采用平均词级熵Η(ω)来评估生成回复的信息丰富性。对于第j个生成回复中的第i个词wi,j,其词级熵H(wi,j)=-p(wi,j|wi-2,j;wi-1,j)logp(wi,j|wi-2,j;wi-1,j),其中概率p(wi,j|wi-2,j;wi-1,j)通过三元词组{wi-2,j,wi-1,j,wi,j}在训练集中共现的频率近似得到。
由KS-CQ及其变体KS-Q,PrKS-CQ和PoKS-CQ,以及基准模型自动评估的结果见表3。
表3
通过表3可见,KS-CQ在两个数据集上的所有指标都优于基线模型,尤其在DailyDialog数据集上Average指标的提升幅度较大。这证实了KS-CQ模型在多轮对话生成上的有效性。
对于所有模型,DailyDialog数据集上所有指标的性能低于KdConv数据集上的性能。这可能是由于DailyDialog数据集是从人类日常谈话中收集的,并且包含许多口语表达。KdConv数据集中的大多数对话均包含丰富的知识实体信息,因此与DailyDialog数据集中的对话相比,语句的信息更丰富、语义更容易识别,进而导致各模型生成的回复质量相对较高。
在DailyDialog数据集上,KS-CQ比基线模型取得了较大幅度的改进,这证明了KS-CQ在语义稀疏的日常对话生成上的有效性。
同时,由表4可见,与KS-CQ相比,仅使用查询表示来生成响应的变体模型KS-Q在两个数据集上的所有指标均发生性能下降,这说明对话历史在多轮对话生成中发挥着重要作用。
将KS-Q与基线模型相比,发现即使没有对话历史信息的输入,KS-Q也可以在某些指标上击败一些基线模型,例如DailyDialog数据集上的Average和Extrema指标,KS-Q优于所有基线模型。KS-Q模型的优越性可归因于其中的选择模块,该模块充分利用对话历史信息来丰富查询语句的表示,能够提高生成回复的质量。
由此可见,一方面对话历史和查询语句对于多轮对话生成都很重要;另一方面查询语句在回复生成中发挥主导作用,可以有效地过滤掉对话历史中的噪声信息,捕捉当前对话的焦点。
同时,由表4可见,在大多数情况下,KS-CQ的性能比PrKS-CQ或PoKS-CQ要好,说明前向邻居语句和后向邻居语句都能增强对话历史的表示过程。在DailyDialog数据集上,PrKS-CQ和PoKS-CQ在大多数指标上(Greedy除外)击败了基线模型。这证实了保留模块背后设计思想的有效性,即对话历史中的语句是相互依赖的,并且它们的语义表示可以通过前向和后向的邻居语句来增强。
PrKS-CQ在DailyDialog数据集的Η(ω)指标上始终优于PoKS-CQ,甚至优于KS-CQ。因为多轮对话本身是按时间顺序推进的,后向语句往往是根据前向语句生成,因此前向邻居能够在重编码中发挥更多作用。
在人工评估中,邀请4名受过良好高等教育且并未参与本研究的人员进行人工评估。随机从DailyDialog的测试集中选取了300个样本,然后通过KS-CQ以及其他模型进行回复生成。此处采用DailyDialog数据集进行人工评估,是因为该数据集中的对话内容大多来自日常对话,不需要评估员具备特定领域的知识,易于判断。评估员根据两个准则进行评估:首先是适当性,即生成回复是否能恰当回应给定的对话历史和查询语句;其次是信息丰富性,生成回复是否是通用化的无意义性回复,比如“好的”、“我不知道”等。每个准则上,都采用1-5的打分,分数越高,表示对应指标上表现越好。人工评估结果如表4所示。
表4
如表4所示,KS-CQ在适当性和信息丰富性方面实现了最佳性能,这从人类主观角度证实了KS-CQ在多轮对话生成上的有效性。与最佳基线相比,即SD-HRED和HRED,KS-CQ在两个指标上均获得较低的标准差。这表明多个人类评估员对KS-CQ的良好性能具有较高的一致性。
通过分别消除保留和选择模块,训练不完整的KS-CQ模型来观察性能变化。使用S-CQ和K-CQ分别表示没有保留模块和选择模块的模型,其组件详情见表2。模型消融结果见表5。
表5
如表5所示,与完整模型KS-CQ相比,消融模型S-CQ和K-CQ在大多数指标方面的性能在两个数据集上都下降。这说明保留模块和选择模块都对KS-CQ有贡献。比较DailyDialog数据集中的S-CQ和K-CQ,从大多数指标来看,K-CQ的性能下降大于S-CQ;但在KdConv数据集上正好相反。由于DailyDialog数据集中的查询语句相对是口语和非正式的,因此存在较多的信息遗漏和共指现象。选择模块能够利用对话历史信息优化查询表示,这能够有效的缓解信息遗漏、共指等现象对查询语句表示上的负面作用。而在KdConv数据集中,虽然语句通常包含丰富的实体信息,但对话轮次较多,对话历史往往很长。此时保留模块能够提供捕获对话历史中长期依赖的记忆能力,为较长的对话历史生成有效的语义表示。
通过表5和表3的结果结合可见:S-CQ和K-CQ在几个指标上击败了最好的基线模型,例如在上DailyDialog数据集上,S-CQ和K-CQ在Average和Extrema指标上比最佳基线(HRED和Wseq)性能更好。说明保留模块和选择模块,可以进行单独使用,对对话历史建模均有较好的改进作用。
在DailyDialog数据集上分析KS-CQ模型以及基线模型在不同对话历史长度上的性能,此处对话历史长度是指对话历史中包含的语句数量。首先根据对话历史长度将这6,740个测试样本分成三组,各组的对话历史长度分别为[1,5]、(5,10]、>10,其中[1,5]组包含63.32%的样本,(5,10]组包含28.95%的样本,>10包含7.73%的样本。然后,根据各种指标评估模型性能。结果见图2。
如图2所示:KS-CQ在Average和Extrema指标上,在各个对话历史长度下均获得最佳性能,表明它能为短对话和长对话生成适当的响应,对于对话历史长度变化具有较好的鲁棒性。
对于对话历史长度大于5的样本,KS-CQ在Greedy和Η(ω)指标上略逊于基线模型ReCoSa。由于随着对话历史长度的增加,对话涉及的话题转移频率越高、跨度越大,增加了KS-CQ捕捉对话焦点的难度。与基线模型相比,KS-CQ在各个对话历史长度下的指标之间获得了更加均衡的良好性能。
整体来看,KS-CQ能在不同对话历史长度下保持稳定的性能,当对话历史长度增加时,某些指标的性能仅会发生小幅度下降。表明对话历史长度的增加可能使KS-CQ更难产生适当和信息丰富的回复;也体现了KS-CQ对对话历史长度变化的鲁棒性。
在DailyDialog数据集上分析KS-CQ和基线模型在不同查询语句长度下的性能变化,此处查询语句长度是指查询语句中包含的词数量。根据查询语句长度的大小将6,740个测试样本拆分为三组,各组对应的查询语句长度分别为[1,5]、(5,15]、>15,其中[1,5]涵盖了13.71%的测试样本,(5,15]涵盖60.28%的样本,>15涵盖了26.01%的样本。通常来说,查询语句长度越长,其中包含的有效信息越多,分析结果见图3。
如图3所示:KS-CQ在所有查询语句长度下在各个指标上展现了持续的良好性能。尤其在查询语句长度不超过5时,此时的查询较短,包含的有效信息较少,KS-CQ和基线模型之间的性能差距更加明显。表明KS-CQ可以有效地利用短查询携带的有限语义,来生成适当且内容丰富的响应。归因于选择模块,它通过选择性地从相关对话历史中吸收信息来丰富查询的语义表示。
在所有指标上所有模型的性能都随着查询长度的增加而提高,说明查询语句的长度的确会影响多轮对话生成的结果。
基于上述分析,可以看出对于多轮对话生成任务来说,短查询的建模难度较大。因为在短查询情况下,查询语句包含的信息十分有限,而且短查询通常是一些常用的语句表达,比如“我不知道”、“是的”等等。为了深入了解此类情况下模型性能的变化,选择具有短查询的样本,这些样本的查询语句的长度均不超过5。进一步分析各模型在短查询情况下不同对话历史长度中的性能,结果见图4。
通过将图4的结果与图2的结果进行比较:在短查询情况下,所有模型在所有指标上且在各个对话历史长度下均显式出性能下降,证实短查询建模的难度。随着对话历史长度的增加,KS-CQ的性能在Η(ω)指标上呈现增长趋势,但在大多数适当性指标(如Average和Greedy)上呈现下降趋势。这种现象的原因是,更多的对话历史一方面提供了丰富的语义信息,有助于在回复中生成多样化的词,但另一方面随着对话历史长度的增加,主题转换的频率更高,这使得预测当前对话焦点的难度增加,难以生成合适相关的回复。
短查询情况下,由于查询语句包含的信息较少,难以有效地过滤掉对话历史中的噪声。但在这种情况下,KS-CQ在各个对话历史长度下仍展示出了卓越的性能。
同时,在本公开实施例中在两个测试集上选择了3个案例进行演示,结果见表6。
表6
在案例一中,对话历史很短,只有一个语句,而查询语句存在典型的“一对多”情况,即它可能存在多个合适的回复。在这种情况下,HRED、SD-HRED和KS-CQ都生成了更加恰当的回复,但KS-CQ生成的回复中包含“汉堡”这个关键词,明显比其他回复中涉及的“香槟”、“龙虾尾”更符合“早餐”的语境。
在案例二中,对话历史很长,查询语句是一个问题。基线模型HRED、WSeq和HRAN生成了不相关的回复,说明它们未能正确理解对话当前的焦点。虽然基线模性SD-HRED和ReCoSa都捕捉到了“音乐”这个关键点,但他们生成的回复信息不够丰富。与基线模型相比,KS-CQ生成的回复与真实回复高度一致,并准确预测了“古典乐”这个关键词。
案例三来自于KdConv数据集,能明显看出对话中包含较多的实体信息,各个对话轮次在话题上转换较为频繁,尤其是查询语句和对话历史在话题上发生了明显的改变。此时,基线模性HRED、SD-HRED、HRAN和ReCoSa生成的回复对查询语句来说似乎合理且自然,但它们明显与对话历史中的信息发生了重复或者冲突。WSeq和KS-CQ产生了相对更加适当的回复,而KS-CQ生成回复中包含的“他是个很优秀的演员”则对对话历史中“他是英国的影视演员”给出了一个很好的呼应。但是,可以注意到,无论是基线模型还是KS-CQ模型,它们产生的回复与真实回复还存在较大差距。这可能是因为查询语句和对话历史在话题上发生了急剧的转换,增加了预测对话焦点的难度。
实施例二
本公开另一实施例提供一种基于对话历史建模的多轮对话生成装置,如图1所示,语句编码模块,用于获取对话历史中每个单独语句的初始词级语义表示,通过双向门控循环神经网络(Bidirectional Gated Recurrent Unit,BiGRU)实现;保留模块,利用各个历史语句之间的显式回复关系来优化对话历史的语义表示过程,依托Transformer编码器结构对任一历史语句进行重编码,使之能够保留其相邻历史语句的语义信息,通过轮次方向上的顺序整合进而获取近邻感知的对话历史语义表示;选择模块,着重对对话历史中最新的语句(定义为查询语句)进行建模。首先利用自注意力机制捕捉查询语句中词之间的关系,然后利用面向对话历史的注意力机制使查询语句自动从对话历史中吸收相关语义信息,进而来丰富自身的语义表示;回复解码模块,根据保留模块得到的近邻感知的对话历史语义表示、以及选择模块得到的对话历史增强的查询语义表示,通过单向门控循环神经网络(Gated Recurrent Unit,GRU)逐词生成回复语句。
实施例三
在本公开另一具体实施例所述基于对话历史建模的多轮对话生成装置,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,当执行所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面及实施例一所述基于对话历史建模的多轮对话生成方法,具体对话生成步骤与前述实施例相同,不再赘述。
实施例四
在本公开另一具体实施例计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使计算机执行上述第一方面及实施例一所述基于对话历史建模的多轮对话生成方法,具体对话生成步骤与前述实施例相同,不再赘述。
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。所述计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(DVD))或者半导体介质(例如,固态硬盘(SSD))等。
计算机存储代码所形成软件可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
在本实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种基于对话历史建模的多轮对话生成方法,其特征在于包括:
通过神经网络,获得对话历史中每个语句的初始词级语义表示;
利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化,获取近邻感知的对话历史语义表示;
将对话历史中的最新语句定义为查询语句,先利用自注意力机制捕捉查询语句中词之间的关系,然后利用面向对话历史的注意力机制使查询语句自动从对话历史中吸收相关语义信息,得到对话历史增强的查询语义表示;
根据近邻感知的对话历史语义表示、对话历史增强的查询语义表示,通过神经网络逐词生成回复语句;
所述利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化具体包括:给定包含M条语句的多轮对话{U1,...,UM},M≥2,其中最后一条最新语句UM定义为查询语句,前M-1条语句序列U<M={U1,...,UM-1}定义为对话历史;
其中,q,k,v分别为Transformer编码器中注意力机制对应的查询向量、键向量和值向量;为词wn,m最终的向量表示;Nm为多轮对话{U1,...,UM}中任一语句Um,m∈[1,M]所包含词的个数;
以上和分别表示词wn,m,n∈[1,Nm]经过和重编码后的向量表示;通过特征维度的向量拼接操作zn,m为词wn,m最终的重编码向量,它不仅包含词wn,m自身的语义特征,还纳入了邻居语句中相关的语义特征;
通过双向门控循环神经网络对对话历史的重编码向量进行轮次方向上的顺序整合,过程如下:
2.根据权利要求1所述基于对话历史建模的多轮对话生成方法,其特征在于:所述获得对话历史中每个语句的初始词级语义表示通过双向门控循环神经网络实现;所述生成回复语句通过单向门控循环神经网络实现。
3.根据权利要求1所述基于对话历史建模的多轮对话生成方法,所述对对话历史的语义表示过程进行优化,其特征在于:对对话历史中的任一历史语句进行重编码,使之能够保留其相邻历史语句的语义信息,通过轮次方向上的顺序整合进而获取近邻感知的对话历史语义表示。
4.根据权利要求1所述基于对话历史建模的多轮对话生成方法,所述通过神经网络,获得对话历史中每个语句的初始词级语义表示,其特征在于:多轮对话生成就是通过计算条件概率P(UM+1∣U<M;UM)来根据对话历史以及查询语句来生成回复语句UM+1;
其中wn,M+1表示回复UM+1中第n个位置的词;w<n,M+1表示回复UM+1中前n-1个词,即w<n,M+1=(w1,M+1,...,wn-1,M+1);
5.根据权利要求4所述基于对话历史建模的多轮对话生成方法,所述得到对话历史增强的查询语义表示,其特征在于:
对UM中的任一词wi,M,计算它与UM中其他词的相关性:
其中βi,j是词wj,M相对于词wi,M的相关性,j≠i∈[1,NM];grelu表示一个以ReLU为激活函数的全连接神经网络;f是点积操作;根据UM中其他词对于词wi,M的相关性,将其他词的语义融入wi,M的特征表示:
其中向量ri,M不仅包含词wi,M自身的语义,还包含了UM中其他词的语义,具有句子级别的语境信息;
继续计算词wi,M与对话历史中任一语句Um,m∈[1,M-1]的相关性:
接着,根据相关性大小将相应对话历史中语句的语义信息融入词wi,M的表示:
7.一种基于对话历史建模的多轮对话生成装置,其特征在于包括:
语句编码模块,用于获得对话历史中每个语句的初始词级语义表示;
保留模块,用于利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化,获取近邻感知的对话历史语义表示;
选择模块,用于将对话历史中的最新语句定义为查询语句,先利用自注意力机制捕捉查询语句中词之间的关系,然后利用面向对话历史的注意力机制使查询语句自动从对话历史中吸收相关语义信息,得到对话历史增强的查询语义表示;
回复解码模块,用于根据近邻感知的对话历史语义表示、及对话历史增强的查询语义表示,通过神经网络逐词生成回复语句;
所述利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化具体包括:给定包含M条语句的多轮对话{U1,...,UM},M≥2,其中最后一条最新语句UM定义为查询语句,前M-1条语句序列U<M={U1,...,UM-1}定义为对话历史;
其中,q,k,v分别为Transformer编码器中注意力机制对应的查询向量、键向量和值向量;为词wn,m最终的向量表示;Nm为多轮对话{U1,...,UM}中任一语句Um,m∈[1,M]所包含词的个数;
以上和分别表示词wn,m,n∈[1,Nm]经过和重编码后的向量表示;通过特征维度的向量拼接操作zn,m为词wn,m最终的重编码向量,它不仅包含词wn,m自身的语义特征,还纳入了邻居语句中相关的语义特征;
通过双向门控循环神经网络对对话历史的重编码向量进行轮次方向上的顺序整合,过程如下:
8.一种基于对话历史建模的多轮对话生成装置,其特征在于,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现如权利要求1-6任一项所述的基于对话历史建模的多轮对话生成方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1-6任一项所述的基于对话历史建模的多轮对话生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110259589.7A CN112966083B (zh) | 2021-03-10 | 2021-03-10 | 一种基于对话历史建模的多轮对话生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110259589.7A CN112966083B (zh) | 2021-03-10 | 2021-03-10 | 一种基于对话历史建模的多轮对话生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112966083A CN112966083A (zh) | 2021-06-15 |
CN112966083B true CN112966083B (zh) | 2022-08-12 |
Family
ID=76277060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110259589.7A Active CN112966083B (zh) | 2021-03-10 | 2021-03-10 | 一种基于对话历史建模的多轮对话生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112966083B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515617B (zh) * | 2021-07-30 | 2023-07-04 | 中央财经大学 | 一种对话生成模型的方法、装置以及设备 |
CN113792064A (zh) * | 2021-08-30 | 2021-12-14 | 阿里巴巴达摩院(杭州)科技有限公司 | 实现多轮对话的方法及装置和关系模型生成方法 |
CN114117025B (zh) * | 2022-01-28 | 2022-05-17 | 阿里巴巴达摩院(杭州)科技有限公司 | 信息查询方法、装置、存储介质及系统 |
CN115617971B (zh) * | 2022-11-14 | 2023-03-07 | 湖南君安科技有限公司 | 基于ALBERT-Coref模型的对话文本生成方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353029A (zh) * | 2020-02-22 | 2020-06-30 | 杭州电子科技大学 | 一种基于语义匹配的多轮对话口语理解方法 |
CN111462750A (zh) * | 2020-03-20 | 2020-07-28 | 北京邮电大学 | 语义与知识增强的端到端任务型对话系统及方法 |
CN111625639A (zh) * | 2020-06-02 | 2020-09-04 | 中国人民解放军国防科技大学 | 一种基于多轮响应生成的上下文建模方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11075007B2 (en) * | 2018-07-18 | 2021-07-27 | International Business Machines Corporation | Dynamic selection of virtual agents in a mutli-domain expert system |
-
2021
- 2021-03-10 CN CN202110259589.7A patent/CN112966083B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353029A (zh) * | 2020-02-22 | 2020-06-30 | 杭州电子科技大学 | 一种基于语义匹配的多轮对话口语理解方法 |
CN111462750A (zh) * | 2020-03-20 | 2020-07-28 | 北京邮电大学 | 语义与知识增强的端到端任务型对话系统及方法 |
CN111625639A (zh) * | 2020-06-02 | 2020-09-04 | 中国人民解放军国防科技大学 | 一种基于多轮响应生成的上下文建模方法 |
Non-Patent Citations (1)
Title |
---|
一种基于记忆网络的多轮对话下的意图识别方法;杨成彪等;《电子技术与软件工程》;20180531;第194-195页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112966083A (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112966083B (zh) | 一种基于对话历史建模的多轮对话生成方法及装置 | |
Serban et al. | A deep reinforcement learning chatbot | |
Karpukhin et al. | Dense passage retrieval for open-domain question answering | |
Lowe et al. | Training end-to-end dialogue systems with the ubuntu dialogue corpus | |
Fan et al. | Augmenting transformers with KNN-based composite memory for dialog | |
US20180329884A1 (en) | Neural contextual conversation learning | |
CN112948558B (zh) | 面向开放域对话系统的上下文增强的问题生成方法及装置 | |
CN113535918B (zh) | 预训练对偶注意力神经网络语义推断对话检索方法及系统、检索设备、存储介质 | |
US11893348B2 (en) | Training a machine learning system for keyword prediction with neural likelihood | |
Tang et al. | Predictive modelling of student behaviour using granular large-scale action data | |
de Bayser et al. | Learning multi-party turn-taking models from dialogue logs | |
Németh et al. | Natural language processing: The integration of a new methodological paradigm into sociology | |
KR20220066554A (ko) | Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램 | |
Surendran et al. | Conversational AI-A retrieval based chatbot | |
CN112100342A (zh) | 一种基于知识表示学习技术的知识图谱问答方法 | |
Chien et al. | Amortized mixture prior for variational sequence generation | |
Zaib et al. | Keeping the questions conversational: using structured representations to resolve dependency in conversational question answering | |
Liu et al. | Dialog generation model based on variational Bayesian knowledge retrieval method | |
Mazumder | On-the-job continual and interactive learning of factual knowledge and language grounding | |
JP5829471B2 (ja) | 意味分析装置およびそのプログラム | |
Meng et al. | Masked Graph Learning with Recurrent Alignment for Multimodal Emotion Recognition in Conversation | |
Li | Deep latent variable models for text modelling | |
Chien et al. | Sequential learning and regularization in variational recurrent autoencoder | |
Gupta et al. | Combining text and vision in compound semantics: Towards a cognitively plausible multimodal model | |
Giulianelli | Neural Models of Language Use: Studies of Language Comprehension and Production in Context |
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 |