一种多轮任务式对话状态追踪方法技术

技术编号:25223982 阅读:20 留言:0更新日期:2020-08-11 23:13
本发明专利技术公开了一种多轮任务式对话状态追踪方法,其特点是采用对历史对话记录进行编码,利用注意力机制为各个槽分别抽取关键信息,并根据槽之间的相似度和关联性,对关键信息进行共享与重组,生成更为精确的对话状态。本发明专利技术与现有技术相比具有多轮式对话状态追踪便于实现,成本低廉并且能够在不同的数据领域之间进行很好的迁移,能够有效从多轮长对话历史中为各个槽提取出最有价值的信息,并缓解数据不足对追踪效果的影响,有效提高对话追踪模块在订餐、旅游安排等多个任务上的追踪效果,从而有效提高智能对话系统的最终性能,具有广泛的实用意义。

【技术实现步骤摘要】
一种多轮任务式对话状态追踪方法
本专利技术涉及任务式对话系统
,具体的说是一种基于槽注意力机制和信息共享技术的来优化多轮对话中用户状态的追踪方法。
技术介绍
目前,人工智能技术迅猛发展,出现了很多图像和文本的实际应用。作为自然语言领域的一大重要分支,任务式对话系统正日益获得学术界和产业界的重视。任务式对话系统是指通过与用户多个回合的自然语言交互,来帮助用户完成某项任务的系统。这些任务可以是餐馆预定、旅游安排、天气预报或者是多个子任务组合而成的复合任务。基于这些新技术,各大科技公司均推出了自己的智能对话助手,比如苹果公司的Siri、亚马逊公司的Alexa。这些智能助手大大提高了人们工作和日常生活的效率。此外,任务式对话系统也被广泛应用于智能客服领域,它不仅节省了企业在客服方面投入的人力成本,还能有效改善企业整体营运的规范性与效率。一个典型的对话系统一般都由自然语言理解(NLU)模块、对话状态追踪(DST)模块、行为策略管理(APM)模块和对话生成(NLG)模块组成。作为其中的一个核心模块,对话状态追踪模块负责在多轮对话中获取和更新用户的对话状态,它的效果影响着整个系统的最终结果。在DST任务中,对话状态指的是槽值对的组合。而槽值对可以理解为用户对需求的限制。例如,“restaurant-food:Chinese”中,“restaurant-food”就是一个槽,“Chinese”就是这个槽的值。而多个槽值对,如“restaurant-food:Chinese”,“restaurant-pricerange:expensive”,可以被视为一个对话状态。过去,对话状态追踪任务需要提前预定义好本体信息。这些本体信息记录有所有可选的对话槽和它们所有可能的值。这使得该任务过去一直被视为一种分类任务,并涌现了很多相关模型。但随着对话系统在实际生活中的应用,人们渐渐发现预定义任务本体经常是个成本浩大,有时甚至不可能的行为。因此,为了摆脱预定义本体,人们基于sequence-to-sequence结构,提出了生成式的对话状态追踪模型。虽然生成式方法取得了较好的追踪效果,但它仍然不能很好地从原始对话文本中抽取关键信息。例如,一个用户可能告诉系统他/她需要叫一辆出租车,但是这个出租车的出发地(通常也即用户当前位置)却只是在好几个回合前被隐式提及。这之间回合的信息会干扰系统的判断,从而导致模型生成错误的对话状态。此外,对话历史记录往往包含着几个甚至十几个槽的值信息,一些不相干槽的信息也会进一步加大冗余信息对其他槽的干扰,对于结构复杂的多轮长对话来说,在其上进行状态追踪就更为困难。此外,除了难以对多轮长对话进行追踪之外,现有技术也无法很好地应对OOV(outofvocabulary)问题。即对于现有的深度学习对话追踪技术来说,如果一个槽在训练集没有出现过或很少出现,那么模型通常难以学会这个槽的正确处理方法,以致无法很好地追踪对话状态。
技术实现思路
本专利技术的目的是针对现有技术的不足而设计的一种多轮任务式对话状态追踪方法,采用注意力机制和信息共享技术,共享相关联的且训练数据充足的槽的特征,来改善数据不足的槽上的追踪效果。首先对历史对话记录进行编码,然后从历史对话记录中利用注意力机制为各个槽分别抽取关键信息,接着根据槽之间的相似度和关联性,对关键信息进行共享与重组,最后基于上述步骤处理后的信息,生成更为精确的对话状态。槽注意力机制可以独立地为每个槽从多轮长对话中提取出最有价值的特征,并避免不相干槽的冗余信息对目标槽的干扰,从而使得后续模块能生成更加准确的对话状态;而通过加强关联槽的信息共享,可以改善模型在数据不足的槽上的追踪效果。本专利技术的目的是这样实现的:一种多轮任务式对话状态追踪方法,其特点是采用槽注意力机制提取对话中的关键信息,并基于槽之间的关联性来对这些关键特征进行信息重组,关键特征的提取有助于提升模型在多轮长对话上的追踪效果,信息重组共享模块则利用关联的并且训练数据充足的槽的特征来改善模型在数据不足的槽上的追踪效果,使得后续模块能生成更加准确的对话状态,其具体优化包括如下步骤:1)将对话历史记录进行编码;2)从编码后的长历史记录中抽取各个槽所需的关键信息;3)将抽取出的关键信息根据槽间的关联性进行信息共享与重组;4)基于得到的关键信息生成对话状态。所述将对话历史记录进行编码是对多轮任务式对话中的所有信息使用GRU进行数字化编码,在多轮式对话任务里,用户和系统每回合的交互语句会被储存在对话历史记录中,这些记录中含有丰富的对话信息,将历史记录Xt=[ut-l+1,rt-l+1,…,ut,rt]中的每一个词映射到一个低纬度的稠密空间中,生成隐含层表示所述从编码后的长历史记录中抽取各个槽所需的关键信息为抽取对话中与其最相关的信息,过滤掉与其不相关信息,对各个对话槽来说,真实场景下的整个对话历史记录所含信息量往往过大,其他槽的冗余信息会干扰该槽生成正确的值。对于一个特定的槽sj,将其槽名编码成利用注意力机制计算上下文向量cj,并通过权重赋予的方式对神经网络输出的隐含表示由下述a~c式为各个槽sj提取与其最相关的历史信息,过滤掉不相关信息:式中:j为第j个槽;i表示该槽槽名的第i个单词;aj表示槽sj和对话历史记录之间的相关性;则是用softmax函数归一化后的aj;cj为上下文向量,代表从整个对话历史中抓取的该槽的关键信息。所述将抽取出的关键信息根据槽间的关联性进行信息共享与重组是根据mask矩阵,对获得的各个槽的关键信息进行重组,并将相互间有关联的槽的信息进行共享,其具体实现步骤如下:1)关键信息的重组:使用基于超参数融合和基于K-means算法聚类的方法建立mask矩阵,并根据mask矩阵,对获得的各个槽的关键信息进行重组。所述基于超参数融合建立mask矩阵的方法是将槽名相似度snameij和值种类相似度vtypeij利用超参数α融合,并由下述d式建立槽名相似度矩阵sim:sim=α·sname+(1-α)·vtype(d);然后,根据槽名相似度矩阵sim和阈值按下述e式计算mask矩阵M:所述基于K-means算法聚类的方法建立mask矩阵是将槽名相似度snameij和值种类相似度vtypeij看成向量的二维平面坐标(snameij,vtypeij),利用K-means算法,对这些向量进行二类聚类,一类代表着槽si和sj足够相似,另一类则为不相似。其相似组的点(snameij,vtypeij)代表着它们在mask矩阵的元素Mij为1,而不相似组的Mij则为0;所述槽名相似度snameij是根据其组成单词的余弦相似度进行计算而得的。所述值种类相似度vtypeij是先把各个值按其数据类型归纳为诸如location,number这样的种类词,然后基于归纳后的种类词,再次进行余弦相似度来得到vtypeij。2)关键信息的共享:根据mask矩阵由下述h式将槽之间的信息进行选择性的共享:式本文档来自技高网
...

【技术保护点】
1.一种多轮任务式对话状态追踪方法,其特征用在于采用槽注意力机制提取对话中的关键信息,并基于槽之间的关联性来对这些关键特征进行信息重组,利用关联的并且训练数据充足的槽的特征来改善模型在数据不足的槽上的追踪效果,使得后续模块能生成更加准确的对话状态,其具体优化包括如下步骤:/n步骤一:多轮对话历史记录的编码/n对多轮任务式对话中的所有信息使用GRU进行数字化编码,将历史记录X

【技术特征摘要】
1.一种多轮任务式对话状态追踪方法,其特征用在于采用槽注意力机制提取对话中的关键信息,并基于槽之间的关联性来对这些关键特征进行信息重组,利用关联的并且训练数据充足的槽的特征来改善模型在数据不足的槽上的追踪效果,使得后续模块能生成更加准确的对话状态,其具体优化包括如下步骤:
步骤一:多轮对话历史记录的编码
对多轮任务式对话中的所有信息使用GRU进行数字化编码,将历史记录Xt=[ut-l+1,rt-l+1,...,ut,rt]中的每一个词映射到一个低纬度的稠密空间中,生成隐含层表示
步骤二:从历史信息中抽取关键信息
对于一个特定的槽sj,将其槽名编码成利用注意力机制计算上下文向量cj,并通过权重赋予的方式对神经网络输出的隐含表示由下述a~c式为各个槽sj提取与其最相关的历史信息,过滤掉不相关信息:









式中:j为第j个槽;i表示该槽槽名的第i个单词;aj表示槽sj和对话历史记录之间的相关性;则是用softmax函数归一化后的aj;cj为上下文向量,代表从整个对话历史中抓取的该槽的关键信息;
步骤三:关键信息的重组与共享
根据mask矩阵对各个槽的关键信息进行重组,并将相互间有关联的槽的信息进行共享,其具体实现步骤如下:
1)关键信息的重组:分别使用基于超参数融合和基于K-means算法聚类的方法建立mask矩阵,并根据mask矩阵,对获得的各个槽的关键信息进行重组;
2)关键信息的共享:根据mask矩阵由下述h式将槽之间的信息进行选择性的共享:



式中:intj为信息重组后的槽sj的上下文向量;
步骤四:对话状态的生成
将步骤三中重组后的关键信息输入解码器,使其生成更为精确的对话状态,其具体按下述二步生成:
第一步生成:使用三类分类器将隐含层向量表示Ht映射成“ptr”、“none”和“dontcare”的概率分布,以判断原对话历史记录中用户对相关槽的需求有所限制,还是对相关槽抱有无所谓的态度,或是没有明确表明自已态度的三种对话状态,如果用户是...

【专利技术属性】
技术研发人员:胡佳颖杨燕贺樑
申请(专利权)人:华东师范大学
类型:发明
国别省市:上海;31

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

1