CN112328774A - 基于多文档的任务型人机对话任务的实现方法 - Google Patents
基于多文档的任务型人机对话任务的实现方法 Download PDFInfo
- Publication number
- CN112328774A CN112328774A CN202011355592.0A CN202011355592A CN112328774A CN 112328774 A CN112328774 A CN 112328774A CN 202011355592 A CN202011355592 A CN 202011355592A CN 112328774 A CN112328774 A CN 112328774A
- Authority
- CN
- China
- Prior art keywords
- attribute
- vector
- candidate
- question
- document
- 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.)
- Granted
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
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于多文档的任务型人机对话任务的实现方法,包括:每轮对话结束时,利用预设人机对话任务模型对该轮对话的问答文本处理,该处理包括:基于问答文本生成问答向量;计算问答向量与各候选文档的属性相关向量的相似度;基于问答向量和相似度生成该轮对话中各候选文档的概率分布和该轮对话的属性分布;根据所述概率分布更新全局候选文档概率分布向量;根据所述属性分布更新全局属性分布向量;若满足人机对话结束条件,则基于全局候选文档概率分布向量确定任务执行结果并输出;否则,基于全局候选文档概率分布向量和全局属性分布向量,利用自然语言对话模板,确定下一提问信息。采用本发明可以提高任务执行效率和成功率,且易于实现。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于多文档的任务型人机对话任务的实现方法。
背景技术
人机对话系统旨在构建一个采用自然语言处理与人类进行交互的计算机系统,依据使用场景的不同,可以分为任务型人机对话和非任务型人机对话。其中,任务型人机对话是针对特定领域,通过多轮对话,辅助用户完成一项或多项任务,例如常见的智能客服系统。
在很多人机对话场景中,如产品推荐、文件检索、个人助理等场景,需要估测用户感兴趣的目标对象,以更准确地辅助用户完成相应场景的任务。
发明人在实现本发明的过程中发现:现有的针对任务型的人机对话方案,不适用于估测用户感兴趣目标对象的人机对话任务,具体原因分析如下:
目前,针对任务型人机对话的实现方案,基于结构化知识驱动的技术框架实现。该技术框架中需要建立结构化知识库。所谓结构化知识,是将知识定义为若干<主体,属性,值>的三元组。而在实际应用中,往往存在的是大量的非结构化知识,即自由文档。在建立结构化知识库时,需要从大量的非结构化知识中提取出结构化知识,其实现复杂,需要花费大量的人力、物力。并且,在基于结构化知识实现的人机对话场景中,用户会被限制在结构化的选项集合(如,是、否和不知道)中选择答案对话。相比于自然语言的非结构化回答方式,这种结构化的回答方式携带的信息有限,这样,一方面会影响对用户感兴趣目标对象估测的准确性,另一方面还会导致需要较多轮次对话才能够估测出用户感兴趣目标对象,从而降低用户的人机对话体验。因此,采用现有的任务型人机对话方案,估测用户感兴趣目标对象会存在部署成本高、准确性差、对话轮次多等问题,从而不适用于估测用户感兴趣目标对象的人机对话任务。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于多文档的任务型人机对话任务的实现方法,能够提高任务执行的成功率和效率,且易于实现。
为了达到上述目的,本发明提出的技术方案为:
一种基于多文档的任务型人机对话任务的实现方法,包括:
在人机对话过程中,当完成一轮对话时,拼接所述轮对话的提问信息和答复信息,得到所述轮对话的问答文本;
将所述问答文本输入至预先训练的人机对话任务模型中处理,得到下一轮对话的提问信息或者人机对话任务的执行结果,并在得到所述提问信息时,启动下一轮人机对话;其中,所述处理包括:
基于所述问答文本,生成所述轮对话的问答向量;计算所述问答向量与每个预设候选文档的属性相关向量的相似度;基于所述问答向量和所述相似度,生成所述轮对话中每个所述候选文档的概率分布,以及所述轮对话对应的属性分布;
根据每个所述候选文档的概率分布,更新当前的全局候选文档概率分布向量;根据所述轮对话对应的属性分布,更新当前的全局属性分布向量;
如果当前满足预设的人机对话结束条件,则将所述全局候选文档概率分布向量中的概率分布最大值对应的候选文档,作为人机对话任务的执行结果并输出;否则,基于所述全局候选文档概率分布向量和所述全局属性分布向量,利用预设的自然语言对话模板,确定下一轮对话的提问信息。
在一个实施方式中,所述基于所述问答文本,生成所述轮对话的问答向量包括:
将所述问答文本输入至双向长短期记忆网络进行编码,将所述双向长短期记忆网络输出的最后一个隐含层状态值,作为所述轮对话的问答向量。
在一个实施方式中,所述计算所述问答向量与每个预设候选文档的属性相关向量的相似度包括:
在一个实施方式中,生成所述轮对话中每个所述候选文档的概率分布,以及所述轮对话对应的属性分布包括:
基于所述问答向量,计算σt=sigmoid(Winvalid·Gt),得到所述轮对话的答复有效值σt;其中Winvalid为所述人机对话任务模型中的网络参数;sigmoid(·)表示逻辑斯蒂函数;
在一个实施方式中,所述更新当前的全局候选文档概率分布向量包括:
所述更新当前的全局属性分布向量包括:
在一个实施方式中,所述人机对话结束条件包括:
所述全局的候选文档概率分布向量中的概率分布最大值大于预设概率阈值;或者,当前的对话轮数达到预设轮数阈值。
在一个实施方式中,所述基于所述全局候选文档概率分布向量和所述全局属性分布向量,利用预设的自然语言对话模板,确定下一轮对话的提问信息包括:
按照vt=(Qdiff)Tpt,利用当前的所述全局候选文档概率分布向量pt,对每个所述候选文档的差异表示Qi diff进行加权求和,得到所述轮对话对应的所有候选文档差异表示vt;
基于所述vt,计算γt=Wγ·vt,得到属性差异向量γt;Wγ为所述人机对话任务模型的网络参数;
基于当前的所述全局属性分布向量和所述γt,计算αt+1=softmax(γt(1-πt));其中,πt为当前的所述全局属性分布向量;
从所述αt+1中选择出最大值分量对应的属性,并从所述自然语言对话模板中该属性的问题集合内,选择一个问题作为下一轮对话的提问信息。
在一个实施方式中,所述方法进一步包括:
对于每个所述候选文档Di,预先生成该候选文档Di的属性相关向量,包括:
对于预设数据集的属性集合Z中的每个属性,利用多属性编码模型中该属性对应的第一属性相关编码器和第二属性编码器,分别对所述候选文档Di采用注意力加权的方式进行编码,并将该属性对应的所述编码结果进行拼接;其中,所述第一属性相关编码器和所述第二属性相关编码器预先利用基于属性对比机制构建的样本集合训练得到;
拼接所有属性的所述拼接的结果,得到所述候选文档Di的属性相关向量。
在一个实施方式中,所述方法进一步包括:
预先对于所述属性集合Z中的每个属性,训练该属性对应的所述第一属性相关编码器和所述第二属性相关编码器,包括:
a、从所述数据集中选择一个文档作为中心文档;
b、从所述中心文档的属性集合s中,选择一个属性k并从该属性k的属性值集合中选择一个属性值v;
c、从所述数据集中除所述中心文档之外的其他文档中,选择一个在所述属性k上具有所述属性值v的文档作为正样本,并选择若干在所述属性k上不具有所述属性值v的文档为负样本,将所述正样本和所述负样本设置为所述属性k的候选训练文档;
d、对于所述中心文档,利用预设的预训练模型中所述属性k对应的所述第一属性相关编码器,采用注意力加权的方式进行编码,得到所述中心文档的与所述属性k相关的编码结果Qk-tar;
e、对于所述属性k的每个所述候选训练文档Sk,i,利用所述预训练模型中所述属性k对应的所述第二属性相关编码器,采用注意力加权的方式进行编码,得到该候选训练文档Sk,i的与所述属性k相关的编码结果Qk-cand,并根据所述编码结果Qk-tar和所述编码结果Qk-cand,计算该候选训练文档Sk,i与所述中心文档的相似度并进行归一化处理,得到该候选训练文档Sk,i的选择概率;
f、利用所述属性k对应的所有候选训练文档的所述选择概率,以所述正样本为分类目标,对所述预训练模型进行参数调整;
g、如果当前对所述预训练模型的参数调整次数小于预设的训练次数阈值或者所述属性集合Z中存在未被选择的属性,则返回步骤a。
在一个实施方式中,所述采用注意力加权的方式进行编码包括:
生成所述侯选文档Di的文本编码;
如果所述侯选文档Di中的词数量小于预设阈值,则将当前的相似度匹配单位设置为词,否则,将当前的相似度匹配单位设置为句子;
对于所述侯选文档Di中的每个相似度匹配单位,计算该相似度匹配单位与预设语义向量的相似度,将该相似度作为权值和该相似度匹配单位对应的文本编码相乘,得到该相似度匹配单位的加权编码向量;所述语义向量为当前编码所用属性相关编码器所对应属性的语义向量;
对所述侯选文档Di中所有相似度匹配单位的所述加权编码向量,进行求和,得到所述侯选文档Di的与所述属性k相关的编码结果。
综上所述,本发明提出的基于多文档的任务型人机对话任务的实现方法,在人机对话过程中,每完成一轮对话,便将该轮对话的问答文本输入至预先训练的人机对话任务模型中处理,以得到下一轮对话的提问信息或者人机对话任务的执行结果。并且,在所述处理过程中,需要基于当前最新一轮对话的问答文本,生成该轮对话中每个所述候选文档的概率分布,以及该轮对话对应的属性分布,基于该轮对话对应的所述概率分布和所述属性分布,对全局候选文档概率分布向量和全局属性分布向量进行更新,基于更新后的全局候选文档概率分布向量和全局属性分布向量,从预设的自然语言对话模板中,选择下一轮对话的提问信息。这样,通过基于历史对话的自然语言文本和多个预设的候选文档,进行知识筛选,得到能够随着对话轮次的增加更能准确反映用户兴趣点的全局候选文档概率分布向量和全局属性分布向量,如此,基于这些全局向量,引导下一轮对话的提问方向或最终的任务执行结果,一方面可以尽可能的避免在下一轮对话中提出无效问题,减少人机对话轮次,从而有利于快速估测出用户感兴趣的目标对象,提高任务执行的效率。另一方面,可以提高任务执行结果的准确性,提高任务执行的成功率。
另外,上述方案中人机对话任务模型是基于人机对话的自然语言问答文本进行处理,如此,模型可以充分利用自然语言相比于结构化知识携带更多信息的优势,对用户的目标对象进行准确判断,从而有利于快速、准确地完成人机对话任务,同时,还避免了创建结构化知识库产生的各种开销,降低了人机对话任务的实现复杂度和应用成本。
附图说明
图1为本发明实施例的方法流程示意图;
图2为本发明实施例的人机对话任务模型处理流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
图1为本发明实施例的方法流程示意图,该实施例实现的基于多文档的任务型人机对话任务的实现方法应用于智能设备中,如智能体(Agent)。如图1所示,该实施例实现的基于多文档的任务型人机对话任务的实现方法主要包括:
步骤101、在人机对话过程中,当完成一轮对话时,拼接所述轮对话的提问信息和答复信息,得到所述轮对话的问答文本。
这里需要说明的是,与现有的基于结构化知识的任务型人机对话实现方案所不同,本发明实施例中的人机对话不需要采用结构化的语言进行,对话过程中智能设备,如智能体(Agent),按照自然语言的方式与用户交流即可,在每轮对话中,智能设备将从预设的自然语言对话模板中选取下一轮的提问信息,相应的,用户的答复也不需要在结构化的答复选项集合中选择一个选项回复。
本步骤中,每完成一轮对话,便将该轮对话的提问信息和答复信息拼接为一个自然语言形式的长句(即该轮对话的问答文本),以便在后续步骤中利用预先训练的人机对话任务模型对该长句处理,以确定出下一轮对话的提问信息或者当前人机对话任务的最终执行结果。如此,一方面可以充分利用自然语言相比于结构化知识携带更多信息的优势,使得人机对话的智能设备基于问答文本可以获取更多的用户兴趣内容信息,从而有利于快速、准确地估测出用户意图。另一方面可以避免创建结构化知识库产生的各种开销,降低了人机对话任务的实现复杂度和应用成本。
步骤102、将所述问答文本输入至预先训练的人机对话任务模型中处理,得到下一轮对话的提问信息或者人机对话任务的执行结果,并在得到所述提问信息时,启动下一轮人机对话。
本步骤中,将当前完成的一轮对话的问答文本输入至预先训练的人机对话任务模型中处理,以根据最新一轮的对话内容,为下一轮人机对话选择更有利于准确估测出用户感兴趣目标的提问信息。如此,通过提问信息的引导,可以使用最少的对话轮次,更准确地完成人机对话任务。
图2为步骤102中人机对话任务模型对输入的回答文本进行处理的流程示意图,如图2所示,该处理过程包括以下步骤:
步骤1021、基于所述问答文本,生成所述轮对话的问答向量;计算所述问答向量与每个预设候选文档的属性相关向量的相似度;基于所述问答向量和所述相似度,生成所述轮对话中每个所述候选文档的概率分布,以及所述轮对话对应的属性分布。
步骤1021用于生成当前最新一轮对话中每个候选文档的概率分布,以及该轮对话对应的属性分布,以便在后续步骤中基于该轮对话得到的所述概率分布和所述属性分布,对全局候选文档概率分布向量和全局属性分布向量进行更新,以使得全局候选文档概率分布向量和全局属性分布向量更能准确地反映用户的兴趣点,从而可以基于这两个全局参数,选择下一轮的提问信息,以更好地引导用户提供有利于准确估测出用户感兴趣目标对象的答复内容,进而可以快速、准确地估测出用户感兴趣的目标对象。
在实际应用中,可根据实际需要设置人机对话任务。例如,在游戏场景中,人机对话任务可以为估测用户感兴趣的电影。此场景下,智能体将被预先提供多个电影的描述文档,在人机对话过程中,智能体将以这些电影描述文档为聊天背景,每次询问有关电影的某个属性(如导演、演员、发行年份等)。例如,智能体提问:“when is it released?”时,用户可以回答具体的属性值,也可以回答不知道。智能体将通过和用户的交互,以最小的对话轮次,估测用户感兴趣的电影。
本步骤中所述候选文档预先根据当前的人机对话任务设置,为人机对话任务的候选估测对象集合中各候选对象的描述文档。
在一个实施方式中,步骤1021中可以利用双向长短期记忆网络(BiLSTM),生成当前最新一轮对话的问答向量,具体如下:
将所述问答文本输入至双向长短期记忆网络进行编码,将所述双向长短期记忆网络输出的最后一个隐含层状态值,作为所述轮对话的问答向量。
假设最新一轮对话中智能体(Agent)的提问为xt,用户的回复为ut,在步骤101中将其拼接为一个长句后,在步骤102中将使用双向长短期记忆网络对该长句进行编码,取最后一个时间步的隐含层状态值作为输出,即得到该最新一轮对话的问答向量Gt。Gt的维度为:R2d,d为双向长短期记忆网络的隐含层的维度。
其中,Gt为当前最新一轮对话的问答向量。
Ws为所述人机对话任务模型的网络参数。
Q为所有所述候选文档的属性相关向量的拼接结果。
Q的维度为:RN×L×4d,其中,N为候选文档数量,L为属性集合中的属性数量,d为双向长短期记忆网络的隐含层的维度。
所述候选文档为人机对话任务的候选对象,人机对话所要执行的任务即是通过人机对话估测出用户感兴趣的候选文档。
在一个实施方式中,为了使得候选文档的属性相关向量可以携带更多的有用信息,对于每个所述候选文档Di,可以预先采用下述步骤x1~x2,利用预先训练的属性相关编码器,生成该候选文档Di的属性相关向量:
步骤x1、对于预设数据集的属性集合Z中的每个属性,利用多属性编码模型中该属性对应的第一属性相关编码器和第二属性编码器,分别对所述候选文档Di采用注意力加权的方式进行编码,并将该属性对应的所述编码结果进行拼接。
其中,所述第一属性相关编码器和所述第二属性相关编码器预先利用基于属性对比机制构建的样本集合训练得到。
在实际应用中,本领域技术人员可以根据人机对话任务,创建所述数据集。
例如,在游戏场景中,针对估测用户感兴趣电影的人机对话任务,可以利用一定数量电影的描述文档构建所述数据集,并选择电影的若干个常用属性组成属性集合。
步骤x1中,对于给定候选文档Di,对于每个属性k,将分别采用预训练中的两个编码器,即所述第一标签相关编码器T-Encoder和第二标签相关编码器C-Encoder,按照和分别进行编码,按照将对应的输出进行拼接,得到拼接后的文本编码Mk,Mk的维度为R4d,表示文档Di在属性k下的编码表示。
本步骤中,通过对文档采用注意力加权的方式进行编码,使得基于不同属性获得不同的文档编码结果,反映出属性间的差异性,从而可以得到准确的文档表示。
同时,通过利用基于属性对比机制构建的样本集合,来训练所述第一标签相关编码器和第二标签相关编码器,使得这些编码器能学习到属性间的关联性。
在一个实施方式中,步骤x1中在利用第一属性相关编码器或第二属性编码器进行编码时,具体可以采用下述方法采用注意力加权的方式进行编码:
步骤x11、生成所述侯选文档Di的文本编码。
本步骤中对于一文档,为其生成相应文本编码的具体方法可以采用现有方案实现。
给定属性k,以及输入文本表示为D=[W1,...,Wn],其中n是文本的长度。则采用双向长短期记忆网络(BiLSTM),根据H=BiLSTM(D),进行编码,得到文本编码表示H,其维度为n×2d,其中,d是BiLSTM隐含层的维度。
步骤x12、如果所述侯选文档Di中的词数量小于预设阈值,则将当前的相似度匹配单位设置为词,否则,将当前的相似度匹配单位设置为句子。
在上述方法中为了提高长短期记忆网络对长文本的建模能力,进一步提高准确度,当文档较长时(即词数量大于等于所述阈值时),将以句子为基本的相似度匹配单位,此时,在后续步骤中,将对于文档中的每个句子,逐一计算该句子与相应属性的预设语义向量的相似度;而当文档较短时(即词数量小于所述阈值时),将以词为基本的相似度匹配单位,此时,在后续步骤中,将对于文档中的每个词,逐一计算该词与相应属性的预设语义向量的相似度。
这里,考虑到实际使用中,长短文本均有可能出现,对于长文本而言,由于长短期记忆力网络对特别长的信息,仍然存在梯度消失等问题,建模能力不足。为此,本发明实施例中将属性相关的注意力机制引入层次化编码器中,提出了属性相关的层次化编码器,用于对长文本进行表示。由于文本长度较短时,层次化编码器的增益有限,且模型复杂度较高,直接使用传统的长短期记忆网络更为有效。因此,本发明实施例提出了属性相关的长短期记忆网络对短文本进行编码。所述长文本即为多个句子,总单词数约100以上;所述短文本为100个单词以内。
具体的,本领域技术人员可以根据实际需要设置上述方法中的所述阈值,如100,但不限于此。
步骤x13、对于所述侯选文档Di中的每个相似度匹配单位,计算该相似度匹配单位与预设语义向量的相似度,将该相似度作为权值和该相似度匹配单位对应的文本编码相乘,得到该相似度匹配单位的加权编码向量;所述语义向量为当前编码所用属性相关编码器所对应属性的语义向量。
这里需要说明的是,本步骤中采用属性相关的注意力机制对文档信息进行过滤,在学习文档的表示时,由于不同属性的相关内容位置会不同,这样,文档的同一位置,对于不同属性,会学习到不同的注意力权重,使得不同属性可以关注文档的不同部分,从而可以显示属性之间的差异性。
步骤x14、对所述侯选文档Di中所有相似度匹配单位的所述加权编码向量,进行求和,得到所述侯选文档Di的与所述属性k相关的编码结果。
基于上述步骤x13和x14,采用一个属性相关的注意力机制,对于候选文档Di的文本信息进行收集,可以得到候选文档Di的与一属性k的相关编码结果。
给定属性k下的语义向量Uk,对于文本的每一个相似度匹配单位的位置(即每个词或句子)计算与属性k的相似度ak,并作为权重对相应位置的文本编码表示进行加权求和。该语义向量Uk是一个可训练参数。采用的具体公式如下:
αk=softmax(H·Uk)
Qk=(αk)T·H
其中,Qk为文档Di的最终编码表示,其维度为2d。对于不同的属性k,可以得到不同的表示Qk。softmax(·)表示归一化函数。
在一个实施方式中,为了使得利用上述编码器所获得的文档编码结果可以较好地表示不同属性下的对应值,预先可以采用下述步骤对于所述属性集合Z中的每个属性,训练该属性对应的所述第一属性相关编码器和所述第二属性相关编码器:
步骤a、从所述数据集中选择一个文档作为中心文档。
本步骤中,具体可以采用随机选择的方式。
步骤b、从所述中心文档的属性集合s中,选择一个属性k并从该属性k的属性值集合中选择一个属性值v。
本步骤中,具体可以采用随机选择的方式。
步骤c、从所述数据集中除所述中心文档之外的其他文档中,选择一个在所述属性k上具有所述属性值v的文档作为正样本,并选择若干在所述属性k上不具有所述属性值v的文档为负样本,将所述正样本和所述负样本设置为所述属性k的候选训练文档。
这里,利用基于属性对比机制构建的样本集合,可以使得基于编码器获得的文档编码结果能够较好地表示不同属性下的对应值。
步骤d、对于所述中心文档,利用预设的预训练模型中所述属性k对应的所述第一属性相关编码器,采用注意力加权的方式进行编码,得到所述中心文档的与所述属性k相关的编码结果Qk-tar。
步骤e、对于所述属性k的每个所述候选训练文档Sk,i,利用所述预训练模型中所述属性k对应的所述第二属性相关编码器,采用注意力加权的方式进行编码,得到该候选训练文档Sk,i的与所述属性k相关的编码结果Qk-cand,并根据所述编码结果Qk-tar和所述编码结果Qk-cand,计算该候选训练文档Sk,i与所述中心文档的相似度并进行归一化处理,得到该候选训练文档Sk,i的选择概率。
步骤f、利用所述属性k对应的所有候选训练文档的所述选择概率,以所述正样本为分类目标,对所述预训练模型进行参数调整。
步骤g、如果当前对所述预训练模型的参数调整次数小于预设的训练次数阈值或者所述属性集合Z中存在未被选择的属性,则返回步骤a。
在实际应用中,本领域技术人员可以根据实际需要设置所述训练次数阈值,只要能确保循环的次数能使得所有标签都已被选择即可。
步骤x2、拼接所有属性的所述拼接的结果,得到所述候选文档Di的属性相关向量。
本步骤中,进一步将步骤x1中得到的每个属性对应的编码拼接表示,再进一步拼接,得到所述候选文档Di的属性相关向量,其维度为RL×4d,其中,L为属性的数量。
在一个实施方式中,步骤1021中可以采用下述方法生成所述轮对话中每个所述候选文档的概率分布,以及所述轮对话对应的属性分布:
其中,Wslot为所述人机对话任务模型中的网络参数,Gt为所述问答向量;softmax(·)表示归一化函数。
步骤y2、基于所述问答向量,计算σt=sigmoid(Winvalid·Gt),得到所述轮对话的答复有效值σt。
其中,Winvalid为所述人机对话任务模型中的网络参数;sigmoid(·)表示逻辑斯蒂函数。
步骤y2中,通过计算σt=sigmoid(Winvalid·Gt),可以得到当前最新一轮对话的答复有效值σt。σt越接近1,表示用户越有可能不知道该属性,说明最新一轮对话中用户的答复为无效答复。
这里,考虑到当用户的答复所对应的属性是未知时,无法对候选文档进行过滤,即每个候选文档的选择概率都相等。为了避免将用户感兴趣的候选文档误过滤,本步骤中,将对相似度向量在属性维度上进行扩展,拼接一个相似度全为1的向量,得到St,St的维度为RN×{L+1}。
通过上述步骤y1~y6,基于当前最新一轮对话的问答向量,可以筛选出该轮对话中用户感兴趣的候选文档和属性,得到所述和所述如此,基于每一轮对话得到的所述和所述对全局候选文档概率分布向量和全局属性分布向量进行更新,则会使得全局候选文档概率分布向量和全局属性分布向量,随着对话轮次的增加越来越能够准确地反映出用户感兴趣的目标对象。
步骤1022、根据每个所述候选文档的概率分布,更新当前的全局候选文档概率分布向量;根据所述轮对话对应的属性分布,更新当前的全局属性分布向量。
步骤1023、如果当前满足预设的人机对话结束条件,则将所述全局候选文档概率分布向量中的概率分布最大值对应的候选文档,作为人机对话任务的执行结果并输出;否则,基于所述全局候选文档概率分布向量和所述全局属性分布向量,利用预设的自然语言对话模板,确定下一轮对话的提问信息。
所述自然语言对话模板中将包括属性集合中每个属性的问题集合,以供智能设备从中选择向用户提问的问题。该模板具体可由本领域技术人员根据人机对话任务需要设置。
在一个实施方式中,所述人机对话结束条件具体可以包括:
所述全局的候选文档概率分布向量中的概率分布最大值大于预设概率阈值;或者,当前的对话轮数达到预设轮数阈值。
本发明实施例中,由智能设备决定对话是否终止,并通过预定义的自然语言模板的方式,向用户发起提问或者猜测。基于上述人机对话结束条件,对话终止包括以下两种情况:
一种是主动终止:当全局候选文档选择概率分布pt的最大概率分量超过某一个阈值时,智能设备不再进行提问,执行估测动作,将该最大概率分量对应的候选文档返回给用户,终止对话。
另一种是被动终止:当到达设定的最大对话轮次时,对话会被迫终止,Agent直接进行猜测,将全局候选文档选择概率分布pt的最大概率分量对应的候选文档返回给用户,终止对话。
在一个实施方式中,可以采用下述方法基于所述全局候选文档概率分布向量和所述全局属性分布向量,确定下一轮对话的提问信息:
步骤m1、按照vt=(Qdiff)Tpt,利用当前的所述全局候选文档概率分布向量pt,对每个所述候选文档的差异表示Qi diff进行加权求和,得到所述轮对话对应的所有候选文档差异表示vt。
其中,Qdiff为由所有所述候选文档的差异表示Qi diff组成的向量,其维度为RL×4d。
所述Qi为所述候选文档的属性相关向量。
所述vt的维度为R4d。
步骤m2、基于所述vt,计算γt=Wγ·vt,得到属性差异向量γt;Wγ为所述人机对话任务模型的网络参数。
步骤m3、基于当前的所述全局属性分布向量和所述γt,计算αt+1=softmax(γt(1-πt))。
其中,πt为当前的所述全局属性分布向量。
步骤m4、从所述αt+1中选择出最大值分量对应的属性,并从所述自然语言对话模板中该属性的问题集合内,选择一个问题作为下一轮对话的提问信息。
上述方法中,为了最大程度上降低对话轮次,快速估测到准确的目标文档,引入了多文档知识,即将多文档的差异性引入对话策略中。
由于pt为基于历史对话所得到的一个全局的候选文档概率分布,该向量体现了用户对每个候选文档的不同感兴趣程度,故,该向量体现了每个候选文档的重要程度。因此,基于该pt,按照vt=(Qdiff)Tpt,对每个候选文档的差异表示Qi diff进行加权求和,即得到所有候选文档的差异表示vt,进一步,基于γt=Wγ·vt,即可得到不同属性的差异程度γt,其维度为RL。
通常情况下,Agent可以直接选择差异化程度最大的属性进行提问,则可以实现期望奖励最大化,即在尽可能少的对话轮次内获得比较高的估测成功率。然而,由于对于某些属性,可能在Agent看来是差异化最大的,但用户并没有该属性的相关知识。故而还需要按照αt+1=softmax(γt(1-πt)),融合当前的全局属性分布πt,突出差异大且有效的属性,以避免后续对话中再向用户询问用户不知道的问题,从而可以减少无效对话,进而可以最大程度的减少对话轮次,并获得更大的任务执行成功率。
本申请还公开了一种人机对话任务的实现设备,该人机对话任务的实现设备包括:处理器和存储器;其中存储器中存储有可被处理器执行的应用程序,用于使得处理器执行如上任一项所述的人机对话任务的实现方法。
其中,存储器具体可以实施为电可擦可编程只读存储器(EEPROM)、快闪存储器(Flash memory)、可编程程序只读存储器(PROM)等多种存储介质。处理器可以实施为包括一或多个中央处理器或一或多个现场可编程门阵列,其中现场可编程门阵列集成一或多个中央处理器核。具体地,中央处理器或中央处理器核可以实施为CPU或MCU。
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
各实施方式中的硬件模块可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。
本发明还提供了一种机器可读的存储介质,存储用于使一机器执行如本申请所述方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施方式的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。此外,还可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作。还可以将从存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施方式中任一实施方式的功能。
用于提供程序代码的存储介质实施方式包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机或云上下载程序代码。
在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。为使图面简洁,各图中的只示意性地表示出了与本发明相关部分,而并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”并不表示将本发明相关部分的数量限制为“仅此一个”,并且“一个”不表示排除本发明相关部分的数量“多于一个”的情形。在本文中,“上”、“下”、“前”、“后”、“左”、“右”、“内”、“外”等仅用于表示相关部分之间的相对位置关系,而非限定这些相关部分的绝对位置。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于多文档的任务型人机对话任务的实现方法,其特征在于,包括:
在人机对话过程中,当完成一轮对话时,拼接所述轮对话的提问信息和答复信息,得到所述轮对话的问答文本;
将所述问答文本输入至预先训练的人机对话任务模型中处理,得到下一轮对话的提问信息或者人机对话任务的执行结果,并在得到所述提问信息时,启动下一轮人机对话;其中,所述处理包括:
基于所述问答文本,生成所述轮对话的问答向量;计算所述问答向量与每个预设候选文档的属性相关向量的相似度;基于所述问答向量和所述相似度,生成所述轮对话中每个所述候选文档的概率分布,以及所述轮对话对应的属性分布;
根据每个所述候选文档的概率分布,更新当前的全局候选文档概率分布向量;根据所述轮对话对应的属性分布,更新当前的全局属性分布向量;
如果当前满足预设的人机对话结束条件,则将所述全局候选文档概率分布向量中的概率分布最大值对应的候选文档,作为人机对话任务的执行结果并输出;否则,基于所述全局候选文档概率分布向量和所述全局属性分布向量,利用预设的自然语言对话模板,确定下一轮对话的提问信息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述问答文本,生成所述轮对话的问答向量包括:
将所述问答文本输入至双向长短期记忆网络进行编码,将所述双向长短期记忆网络输出的最后一个隐含层状态值,作为所述轮对话的问答向量。
4.根据权利要求1所述的方法,其特征在于,生成所述轮对话中每个所述候选文档的概率分布,以及所述轮对话对应的属性分布包括:
基于所述问答向量,计算σt=sigmoid(Winvalid·Gt),得到所述轮对话的答复有效值σt;其中Winvalid为所述人机对话任务模型中的网络参数;sigmoid(·)表示逻辑斯蒂函数;
6.根据权利要求1所述的方法,其特征在于,所述人机对话结束条件包括:
所述全局的候选文档概率分布向量中的概率分布最大值大于预设概率阈值;或者,当前的对话轮数达到预设轮数阈值。
7.根据权利要求1所述的方法,其特征在于,所述基于所述全局候选文档概率分布向量和所述全局属性分布向量,利用预设的自然语言对话模板,确定下一轮对话的提问信息包括:
按照vt=(Qdiff)Tpt,利用当前的所述全局候选文档概率分布向量pt,对每个所述候选文档的差异表示Qi diff进行加权求和,得到所述轮对话对应的所有候选文档差异表示vt;
基于所述vt,计算γt=Wγ·vt,得到属性差异向量γt;Wγ为所述人机对话任务模型的网络参数;
基于当前的所述全局属性分布向量和所述γt,计算αt+1=softmax(γt(1-πt));其中,πt为当前的所述全局属性分布向量;
从所述αt+1中选择出最大值分量对应的属性,并从所述自然语言对话模板中该属性的问题集合内,选择一个问题作为下一轮对话的提问信息。
8.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
对于每个所述候选文档Di,预先生成该候选文档Di的属性相关向量,包括:
对于预设数据集的属性集合Z中的每个属性,利用多属性编码模型中该属性对应的第一属性相关编码器和第二属性编码器,分别对所述候选文档Di采用注意力加权的方式进行编码,并将该属性对应的所述编码结果进行拼接;其中,所述第一属性相关编码器和所述第二属性相关编码器预先利用基于属性对比机制构建的样本集合训练得到;
拼接所有属性的所述拼接的结果,得到所述候选文档Di的属性相关向量。
9.根据权利要求8所述的方法,其特征在于,所述方法进一步包括:
预先对于所述属性集合Z中的每个属性,训练该属性对应的所述第一属性相关编码器和所述第二属性相关编码器,包括:
a、从所述数据集中选择一个文档作为中心文档;
b、从所述中心文档的属性集合s中,选择一个属性k并从该属性k的属性值集合中选择一个属性值v;
c、从所述数据集中除所述中心文档之外的其他文档中,选择一个在所述属性k上具有所述属性值v的文档作为正样本,并选择若干在所述属性k上不具有所述属性值v的文档为负样本,将所述正样本和所述负样本设置为所述属性k的候选训练文档;
d、对于所述中心文档,利用预设的预训练模型中所述属性k对应的所述第一属性相关编码器,采用注意力加权的方式进行编码,得到所述中心文档的与所述属性k相关的编码结果Qk-tar;
e、对于所述属性k的每个所述候选训练文档Sk,i,利用所述预训练模型中所述属性k对应的所述第二属性相关编码器,采用注意力加权的方式进行编码,得到该候选训练文档Sk,i的与所述属性k相关的编码结果Qk-cand,并根据所述编码结果Qk-tar和所述编码结果Qk-cand,计算该候选训练文档Sk,i与所述中心文档的相似度并进行归一化处理,得到该候选训练文档Sk,i的选择概率;
f、利用所述属性k对应的所有候选训练文档的所述选择概率,以所述正样本为分类目标,对所述预训练模型进行参数调整;
g、如果当前对所述预训练模型的参数调整次数小于预设的训练次数阈值或者所述属性集合Z中存在未被选择的属性,则返回步骤a。
10.根据权利要求9所述的方法,其特征在于,所述采用注意力加权的方式进行编码包括:
生成所述侯选文档Di的文本编码;
如果所述侯选文档Di中的词数量小于预设阈值,则将当前的相似度匹配单位设置为词,否则,将当前的相似度匹配单位设置为句子;
对于所述侯选文档Di中的每个相似度匹配单位,计算该相似度匹配单位与预设语义向量的相似度,将该相似度作为权值和该相似度匹配单位对应的文本编码相乘,得到该相似度匹配单位的加权编码向量;所述语义向量为当前编码所用属性相关编码器所对应属性的语义向量;
对所述侯选文档Di中所有相似度匹配单位的所述加权编码向量,进行求和,得到所述侯选文档Di的与所述属性k相关的编码结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011355592.0A CN112328774B (zh) | 2020-11-27 | 2020-11-27 | 基于多文档的任务型人机对话任务的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011355592.0A CN112328774B (zh) | 2020-11-27 | 2020-11-27 | 基于多文档的任务型人机对话任务的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112328774A true CN112328774A (zh) | 2021-02-05 |
CN112328774B CN112328774B (zh) | 2022-10-25 |
Family
ID=74308987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011355592.0A Active CN112328774B (zh) | 2020-11-27 | 2020-11-27 | 基于多文档的任务型人机对话任务的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328774B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113139045A (zh) * | 2021-05-13 | 2021-07-20 | 八维(杭州)科技有限公司 | 一种基于任务驱动型人机对话的选择性问答方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766423A (zh) * | 2018-12-29 | 2019-05-17 | 上海智臻智能网络科技股份有限公司 | 基于神经网络的问答方法及装置、存储介质、终端 |
CN109783704A (zh) * | 2019-01-03 | 2019-05-21 | 中国科学院自动化研究所 | 人机混合的应答方法、系统、装置 |
US20200175046A1 (en) * | 2018-11-30 | 2020-06-04 | Samsung Electronics Co., Ltd. | Deep reinforcement learning-based multi-step question answering systems |
-
2020
- 2020-11-27 CN CN202011355592.0A patent/CN112328774B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200175046A1 (en) * | 2018-11-30 | 2020-06-04 | Samsung Electronics Co., Ltd. | Deep reinforcement learning-based multi-step question answering systems |
CN109766423A (zh) * | 2018-12-29 | 2019-05-17 | 上海智臻智能网络科技股份有限公司 | 基于神经网络的问答方法及装置、存储介质、终端 |
CN109783704A (zh) * | 2019-01-03 | 2019-05-21 | 中国科学院自动化研究所 | 人机混合的应答方法、系统、装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113139045A (zh) * | 2021-05-13 | 2021-07-20 | 八维(杭州)科技有限公司 | 一种基于任务驱动型人机对话的选择性问答方法 |
CN113139045B (zh) * | 2021-05-13 | 2023-05-05 | 八维(杭州)科技有限公司 | 一种基于任务驱动型人机对话的选择性问答方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112328774B (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108846077B (zh) | 问答文本的语义匹配方法、装置、介质及电子设备 | |
AU2016256753B2 (en) | Image captioning using weak supervision and semantic natural language vector space | |
CN111897933B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
CN110609891A (zh) | 一种基于上下文感知图神经网络的视觉对话生成方法 | |
CN111738016B (zh) | 多意图识别方法及相关设备 | |
CN113268609B (zh) | 基于知识图谱的对话内容推荐方法、装置、设备及介质 | |
CN111966800B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
CN110990555B (zh) | 端到端检索式对话方法与系统及计算机设备 | |
CN110678882B (zh) | 使用机器学习从电子文档选择回答跨距的方法及系统 | |
CN111783993A (zh) | 智能标注方法、装置、智能平台及存储介质 | |
CN111625634A (zh) | 词槽识别方法及装置、计算机可读存储介质、电子设备 | |
JP2021106016A (ja) | 対話生成方法、装置、電子機器及び媒体 | |
CN112860862A (zh) | 人机对话中智能体对话语句的生成方法和装置 | |
CN112559706B (zh) | 对话生成模型的训练方法、对话方法、设备以及存储介质 | |
CN110968725A (zh) | 图像内容描述信息生成方法、电子设备及存储介质 | |
CN111046178A (zh) | 一种文本序列生成方法及其系统 | |
CN113988071A (zh) | 一种基于金融知识图谱的智能对话方法及装置、电子设备 | |
CN111368066B (zh) | 获取对话摘要的方法、装置和计算机可读存储介质 | |
CN112328774B (zh) | 基于多文档的任务型人机对话任务的实现方法 | |
CN114005446A (zh) | 情感分析方法、相关设备及可读存储介质 | |
CN112380861A (zh) | 模型训练方法、装置及意图识别方法、装置 | |
CN112307179A (zh) | 文本匹配方法、装置、设备及存储介质 | |
CN116362242A (zh) | 一种小样本槽值提取方法、装置、设备及存储介质 | |
CN114936564A (zh) | 一种基于对齐变分自编码的多语言语义匹配方法及系统 | |
Kreyssig | Deep learning for user simulation in a dialogue system |
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 |