任务型对话系统的对话状态跟踪、训练方法及系统技术方案

技术编号:25479623 阅读:18 留言:0更新日期:2020-09-01 23:00
本发明专利技术公开了一种任务型对话系统的对话状态跟踪、训练方法及系统,提高了多领域复杂场景中的对话状态跟踪准确率。其技术方案为:对话历史进行预处理,获得以词为单位的对话历史文本的向量化表示;对向量化的对话历史文本,使用双向长短期记忆网络作为编码器进行编码;初始化解码器,解码出目标槽位信息;关注对话历史中的目标槽位信息,通过注意力机制计算对话历史中每个词对于目标槽位的重要程度;判断输入的对话历史中是否提及目标槽位,若提及目标槽位则进行下一步的处理,否则方法结束;从对话历史的向量化表示、对话历史的原始输入以及历史对话状态中分别寻找目标槽位取值,最后据此得到目标槽位的最终取值。

【技术实现步骤摘要】
任务型对话系统的对话状态跟踪、训练方法及系统
本专利技术涉及应用于任务型对话系统的技术,具体涉及显式建模跨领域槽位关联的任务型对话系统中的对话状态跟踪技术。
技术介绍
市场上现有的解决对话状态跟踪(DialogueStateTracking)问题的方法主要可分为两类,固定词表(fixedvocabulary)方法和开放词表(openvocabulary)方法,两类方法的输入都为对话历史(dialoguehistory)。固定词表方法把该问题形式化为多类别分类问题(multi-classclassification),该类方法需要为每个槽位(slot)预备所有可能的取值(value),作为分类的类别;但为每个槽位预备所有取值的过程,开销往往较高,并且不能适应取值不断增加的实际应用场景。开放词表方法则不需要这一过程,这类方法是在理解对话历史的基础上为每个槽位生成对应的值。生成的过程中只需要输入槽位名称,不需要事先定义具体的取值,因此具有更高的可扩展性。目前,市场上出现越来越多的同时在多个不同领域执行对话状态跟踪的通用模型的需求。多领域(multi-domain)场景中的多轮对话过程中,用户的意图会在多个领域之间进行转移,例如从“预定餐馆”到“预订酒店”再到“寻找从餐厅到酒店的交通方式”这样的转移过程。现有的开放词表方法能够具有较强的泛化能力,在多领域场景中相比固定词表方法有更好的表现。但是,由于多领域场景中对话轮数明显增多,对话内容的复杂度也显著提升,导致现有的方法在这种复杂场景下进行对话状态跟踪的效果不佳。r>在多领域场景中,由于口语对话中追求简洁表述的特点,为了避免重复表述,用户往往会使用指代(reference)和省略(ellipsis)的方法来表达在历史对话的其他领域中已经提及过的槽位信息。例如,用户在对话开始时向聊天机器人表达了“帮我找一个便宜的餐馆”的需求,经过若干轮对话后用户完成了预订餐馆的需求,又接着向聊天机器人表达预订酒店的需求时可能会说:"我需要一个和餐馆价格一样的酒店";此时用户的表述中没有直接包含酒店领域价格槽位的取值,而是通过指代的方式关联到对话历史中提及的餐馆领域的价格槽位来表达相应的取值。在多领域的对话场景中,经常会出现这种跨领域的不同槽位之间的关联;由于涉及了更复杂的推理,无论是固定词表方法和开放词表方法,在理解此类复杂对话历史时都遇到了挑战。现有方法都是直接从对话历史中推理出目标取值,学习难度大,往往得到错误的结果。
技术实现思路
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。本专利技术的目的在于解决上述问题,提供了一种任务型对话系统的对话状态跟踪、训练方法及系统,提高了多领域复杂场景中的对话状态跟踪准确率。本专利技术的技术方案为:本专利技术揭示了一种任务型对话系统的对话状态跟踪方法,方法包括:步骤1:对话历史进行预处理,获得以词为单位的对话历史文本的向量化表示;步骤2:对向量化的对话历史文本进行编码;步骤3:初始化解码器,解码出目标槽位信息;步骤4:关注对话历史中的目标槽位信息,通过注意力机制计算对话历史中每个词对于目标槽位的重要程度;步骤5:判断输入的对话历史中是否提及目标槽位,若提及目标槽位则进行下一步的处理,否则方法结束;步骤6:从对话历史的向量化表示、对话历史的原始输入以及历史对话状态中分别寻找目标槽位取值,分别记为Pgen、Pwc、Pvc;步骤7:根据步骤6通过三种途径寻找到的目标槽位取值Pgen、Pwc、Pvc,得到目标槽位的最终取值。根据本专利技术的任务型对话系统的对话状态跟踪方法的一实施例,步骤1进一步包括:首先对对话历史文本进行分词处理,然后使用预训练的词嵌入以便将分词处理后的每个词映射为对应的词向量,得到一连串以词为单位的对话历史文本的向量化表示。根据本专利技术的任务型对话系统的对话状态跟踪方法的一实施例,步骤2中是使用双向长短期记忆网络作为编码器或者使用Transformer模型来编码文本输入。根据本专利技术的任务型对话系统的对话状态跟踪方法的一实施例,步骤3中的解码器采用双向长短期记忆网络的结构,使用编码器的最后时刻的隐层状态对解码器进行初始化;步骤3中的解码出目标槽位信息进一步包括解码器接收目标槽位名称作为初始输入,与解码器内部状态进行交互,解码出目标槽位的信息。根据本专利技术的任务型对话系统的对话状态跟踪方法的一实施例,步骤5中对是否提及目标槽位的判断进一步包括:将对话历史的向量化表示输入到多层感知机后判断是否提及目标槽位。根据本专利技术的任务型对话系统的对话状态跟踪方法的一实施例,步骤6进一步包括以下并行处理的三个步骤:将对话历史的向量化表示输入到多层感知机中,映射生成预定义输出词表的概率分布Pgen;从对话历史的原始输入中拷贝目标槽位取值,采用步骤3中注意力机制计算得到的权重作为拷贝目标槽位取值的输出概率分布Pwc;使用注意力机制建模目标槽位与历史对话状态中槽位的关联,获取关联槽位取值的输出概率分布Pvc,其中历史对话状态为上一时刻的对话状态预测结果。根据本专利技术的任务型对话系统的对话状态跟踪方法的一实施例,步骤7进一步包括:首先使用多层感知机作为门控,分别计算出映射生成的概率并记为g1、和关联概率并记为g2;采用分层融合的方法,先使用生成概率g1融合生成信息和拷贝信息,再使用关联概率g2融合关联槽位的信息,融合后的目标槽位取值概率分布为g2*Pvc+(1-g2)*[g1*Pgen+(1-g1)*Pwc];最后通过argmax操作得到最大输出概率对应的下标,从词表中取出下标对应的词作为输出。本专利技术揭示了一种任务型对话系统的对话状态跟踪系统,系统包括:对话历史预处理模块,对话历史进行预处理,获得以词为单位的对话历史文本的向量化表示;编码模块,对向量化的对话历史文本进行编码;解码模块,初始化解码器,解码出目标槽位信息;注意力机制处理模块,关注对话历史中的目标槽位信息,通过注意力机制计算对话历史中每个词对于目标槽位的重要程度;目标槽位提及判断模块,判断输入的对话历史中是否提及目标槽位,在提及目标槽位的情况下进行目标槽位取值寻找模块的处理;目标槽位取值寻找模块,从对话历史的向量化表示、对话历史的原始输入以及历史对话状态中分别寻找目标槽位取值,分别记为Pgen、Pwc、Pvc;目标槽位取值确定模块,根据目标槽位取值寻找模块通过三种途径寻找到的目标槽位取值Pgen、Pwc、Pvc,得到目标槽位的最终取值。根据本专利技术的任务型对话系统的对话状态跟踪系统的一实施例,对话历史预处理模块进一步配置为首先对对话历史文本进行分词处理,然后使用预训练的词嵌入以便将分词本文档来自技高网...

【技术保护点】
1.一种任务型对话系统的对话状态跟踪方法,其特征在于,方法包括:/n步骤1:对话历史进行预处理,获得以词为单位的对话历史文本的向量化表示;/n步骤2:对向量化的对话历史文本进行编码;/n步骤3:初始化解码器,解码出目标槽位信息;/n步骤4:关注对话历史中的目标槽位信息,通过注意力机制计算对话历史中每个词对于目标槽位的重要程度;/n步骤5:判断输入的对话历史中是否提及目标槽位,若提及目标槽位则进行下一步的处理,否则方法结束;/n步骤6:从对话历史的向量化表示、对话历史的原始输入以及历史对话状态中分别寻找目标槽位取值,分别记为P

【技术特征摘要】
1.一种任务型对话系统的对话状态跟踪方法,其特征在于,方法包括:
步骤1:对话历史进行预处理,获得以词为单位的对话历史文本的向量化表示;
步骤2:对向量化的对话历史文本进行编码;
步骤3:初始化解码器,解码出目标槽位信息;
步骤4:关注对话历史中的目标槽位信息,通过注意力机制计算对话历史中每个词对于目标槽位的重要程度;
步骤5:判断输入的对话历史中是否提及目标槽位,若提及目标槽位则进行下一步的处理,否则方法结束;
步骤6:从对话历史的向量化表示、对话历史的原始输入以及历史对话状态中分别寻找目标槽位取值,分别记为Pgen、Pwc、Pvc;
步骤7:根据步骤6通过三种途径寻找到的目标槽位取值Pgen、Pwc、Pvc,得到目标槽位的最终取值。


2.根据权利要求1所述的任务型对话系统的对话状态跟踪方法,其特征在于,步骤1进一步包括:首先对对话历史文本进行分词处理,然后使用预训练的词嵌入以便将分词处理后的每个词映射为对应的词向量,得到一连串以词为单位的对话历史文本的向量化表示。


3.根据权利要求1所述的任务型对话系统的对话状态跟踪方法,其特征在于,步骤2中是使用双向长短期记忆网络作为编码器或者使用Transformer模型来编码文本输入。


4.根据权利要求1所述的任务型对话系统的对话状态跟踪方法,其特征在于,步骤3中的解码器采用双向长短期记忆网络的结构,使用编码器的最后时刻的隐层状态对解码器进行初始化;步骤3中的解码出目标槽位信息进一步包括解码器接收目标槽位名称作为初始输入,与解码器内部状态进行交互,解码出目标槽位的信息。


5.根据权利要求1所述的任务型对话系统的对话状态跟踪方法,其特征在于,步骤5中对是否提及目标槽位的判断进一步包括:将对话历史的向量化表示输入到多层感知机后判断是否提及目标槽位。


6.根据权利要求1所述的任务型对话系统的对话状态跟踪方法,其特征在于,步骤6进一步包括以下并行处理的三个步骤:
将对话历史的向量化表示输入到多层感知机中,映射生成预定义输出词表的概率分布Pgen;
从对话历史的原始输入中拷贝目标槽位取值,采用步骤3中注意力机制计算得到的权重作为拷贝目标槽位取值的输出概率分布Pwc;
使用注意力机制建模目标槽位与历史对话状态中槽位的关联,获取关联槽位取值的输出概率分布Pvc,其中历史对话状态为上一时刻的对话状态预测结果。


7.根据权利要求1所述的任务型对话系统的对话状态跟踪方法,其特征在于,步骤7进一步包括:
首先使用多层感知机作为门控,分别计算出映射生成的概率并记为g1、和关联概率并记为g2;
采用分层融合的方法,先使用生成概率g1融合生成信息和拷贝信息,再使用关联概率g2融合关联槽位的信息,融合后的目标槽位取值概率分布为g2*Pvc+(1-g2)*[g1*Pgen+(1-g1)*Pwc];
最后通过argmax操作得到最大输出概率对应的下标,从词表中取出下标对应的词作为输出。


8.一种任务型对话系统的对话状态跟踪系统,其特征在于,系统包括:
对话历史预处理模块,对话历史进行预处理,获得以词为单位的对话历史文本的向量化表示;
编码模块,对向量化的对话历史文本进行编码;
解码模块,初始化解码器,解码出目标槽位信息;
注意力机制处理模块,关注对话历史中的目标槽位信息,通过注意力机制计算对话历史中每个词对于目标槽位的重要程度;
目标槽位提及判断模块,判断输入的对话历史中是否提及目标槽位,在提及目...

【专利技术属性】
技术研发人员:沈李斌戴新宇陈陌信欧阳亚文赵迎功吴海华
申请(专利权)人:上海乐言信息科技有限公司南京大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1