一种基于LSTM与槽填充的对话管理模型使用方法与流程

文档序号:18397396发布日期:2019-08-09 23:33阅读:398来源:国知局
一种基于LSTM与槽填充的对话管理模型使用方法与流程

本发明涉及一种管理系统,具体是一种基于lstm与槽填充的对话管理模型使用方法。



背景技术:

语言交流是人类最重要的能力之一,通过人与人之间的语言交流可以进行彼此间的信息交互,随着计算机技术的飞速发展,这种语言交流的技能也拓展到了人与计算机之间,人类可以通过自然语言与机器进行交流,来满足人类的信息或服务方面的需求,人机语言交互已成为当前研究的热点,人机交互往往是多轮次的,因此如何通过多轮对话获取人类想要的信息和服务成为重中之重,多轮对话管理是人机语言交互最为重要的组成部分之一。

自计算机出现以来,人与计算机之间交互的方式越来越简单,对使用者的专业要求也越来越低,当前人机交互的主要途径还是鼠标,键盘,电子触屏等,然而自然语言是人类最基础的交互能力,利用自然语言与计算机进行信息交互能极大的降低计算机使用者的要求,同时便捷人类的生活。在餐厅订餐时,顾客可以通过电话来进行座位预定以及点菜等需求,如果能够通过一个餐厅预订系统来满足用户的要求,能极大的降低人力资源的消耗,同时更好地完成餐厅预订的任务。餐厅预订系统的研究的过程也就是建立并优化对话管理模型的过程。

任务型人机对话系统主要包括自然语言理解(nlu,naturallanguageunderstanding)、对话管理(dm,dialoguemanagement)、自然语言生成(nlg,naturallanguagegeneration)三个部分。其中,对话管理起到了核心的作用。作为人机对话系统中特有的部分,对话管理的任务是监测对话进行的状况,并基于此为系统制定合适的对话策略,保证对话朝着预设的服务目标高效进行。优秀的对话管理功能可以准确把握对话的进程,在提供服务的时候优化和用户交互的轮次数,从而提高用户的满意度,带来更大的收益。因此,为实现高质量人机对话系统,对话管理的研究是非常必要和有价值的。



技术实现要素:

本发明的目的在于提供一种基于lstm与槽填充的对话管理模型使用方法,以解决所述背景技术中提出的问题。

为实现所述目的,本发明提供如下技术方案:

一种基于lstm与槽填充的对话管理模型使用方法,包含以下步骤:

a、搭建lstm模型;

b、准备足够多的对话数据,并将其放入搭建好的lstm模型中进行训练;

c、在原有模型的基础上引入槽填充,实现对获取到的用户信息保存以及修改;

d、结合槽填充将当前状态作为输入,使多轮对话逻辑性更强稳定性更高;

e、将完成的对话管理模型应用到特定的任务场景中。

作为本发明再进一步的方案:所述步骤a具体是在rnn结构以外添加了各层的阀门节点。

作为本发明再进一步的方案:所述阀门有3类,分别是遗忘阀门、输入阀门和输出阀门。

作为本发明再进一步的方案:所述阀门的状态为打开或关闭,用于将判断模型网络的记忆态在该层输出的结果是否达到阈值从而加入到当前该层的计算中。

作为本发明再进一步的方案:所述阀门节点利用sigmoid函数将网络的记忆态作为输入计算;如果输出结果达到阈值则将该阀门输出与当前层的的计算结果相乘作为下一层的输入;如果没有达到阈值则将该输出结果遗忘掉。

作为本发明再进一步的方案:每一层包括阀门节点的权重都会在每一次模型反向传播训练过程中更新。

与现有技术相比,本发明的有益效果是:本发明基于lstm与槽填充的对话管理模型使用方法能够准确把握对话的进程,在提供服务的时候优化和用户交互的轮次数,从而提高用户的满意度,带来更大的收益。

附图说明

图1为任务型人机交互系统流程。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:请参阅图1,一种基于lstm与槽填充的对话管理模型使用方法,整体过程如下:搭建长短时记忆网络(lstm)模型,准备足够多的完整对话数据,并将

其放入到lstm中进行训练,得到合适的训练模型。自定义对话机器人动作,把获取到的用户信息进行分类,并将每一轮的用户信息以及上一轮的机器动作作为输入放入到已经训练好的lstm模型中,产生相应的输出,即此轮对话系统将要执行的动作。

将槽填充技术引入到对话系统中,每个槽位对应的是需要提取的用户信息,

例如在餐厅预订系统中,人数,电话以及姓名等就是要提取到的实体信息,以便于后期的信息整合及修改。研究不同步长(lstm模型的输入方式)的选择对系统性能的影响,确定合适的步长。

为避免在多轮对话中同一机器动作重复出现,将已定义的机器动作制成二

值向量作为输入,若已执行某个动作例如询问用户电话,则将其在二值向量中对应的位置置为1,在机器执行动作前先对二值向量中的内容进行检索和判断,从而保证系统的逻辑性能,以及提高用户体验度。

在上述基础上,将该对话管理模型应用到餐厅预订任务中,实现一个面向餐厅预订任务的人机交互系统。

lstm的特点就是在rnn结构以外添加了各层的阀门节点。阀门有3类:遗忘阀门(forgetgate),输入阀门(inputgate)和输出阀门(outputgate)。这些阀门可以打开或关闭,用于将判断模型网络的记忆态(之前网络的状态)在该层输出的结果是否达到阈值从而加入到当前该层的计算中。阀门节点利用sigmoid函数将网络的记忆态作为输入计算;如果输出结果达到阈值则将该阀门输出与当前层的的计算结果相乘作为下一层的输入(这里的相乘是在指矩阵中的逐元素相乘);如果没有达到阈值则将该输出结果遗忘掉。每一层包括阀门节点的权重都会在每一次模型反向传播训练过程中更新。

对话数据准备:利用网络爬虫从大众点评中收集部分订餐相关的语句,进行人工标注,多轮对话逻辑训练的数据是结合系统,人工编撰的完整的对话。

将准备完成的对话数据放入lstm模型中进行训练得到合适的训练模型,此时系统已经能完成简单的动作决策,即根据用户输入以及训练好的模型执行机器动作。

实施例2:与实施例1的区别之处在于,槽填充的对话管理利用类似占位符的一个多维向量来表示当前槽值的填充情况,根据交互中用户给予的相关信息来修改对应位置的值,从而达到记录对话状态的目的。例如使用“0”和“1”来表示每一个槽值的两种状态,分别是“未知”和“己知”,当前轮次用户给予了对话系统“电话”的具体数值,那么在对话管理模块接受到这个信息后,便将“电话”对应的记录由“0”改为“1”,并且在相应的槽位添加上“电话”的具体信息,这便完成了一次更新操作。对后面的信息确认和修改提供了极大的便利。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1