端到端层次解码任务型对话系统的制作方法

文档序号:14871008发布日期:2018-07-06 23:48阅读:346来源:国知局

本发明涉及一种端到端层次解码任务型对话系统。



背景技术:

目前的任务型对话系统主要基于有限状态机和统计对话模型,主要有两种模型:

第一种是基于slot-filling的有限状态机模型。该模型基于slot-filling以及手工设计的对话状态,将slot填充的状态作为对话状态的表示,根据业务逻辑,人工设计对话状态以及状态跳转的规则。该方法依赖槽提取的准确性,且对话流程依赖人工设计,需要设计复杂的规则支持复杂的对话策略,以及回复的模板,难以适用于不同领域。

第二种是基于统计模型的对话系统,该系统由steveyoung提出,包括四个主要模块:自然语言理解、对话状态追踪、对话策略、自然语言回复生成。由于是pipeline的结构,某个模块产生的错误会极大地影响后续模块,造成错误的传播和放大。另外,自然语言理解和对话状态追踪模块需要大量的人工标注数据训练相应的神经网络分类器,难以在冷启动或者数据量较少的情况下使用。



技术实现要素:

本发明的主要目的是本发明提出一种端到端层次解码任务型对话系统,能够实现端到端的对话,减少繁琐的人工规则,通过引入用户意图隐变量,使模型能够在无监督、半监督、强化学习的框架下训练,支持冷启动、少量标注数据和在线更新等场景。

为实现上述目的,本发明提出的一种端到端层次解码任务型对话系统,包括:

对话历史编码器模块,用于将对话历史通过单向循环神经网络编码为sl:

数据库检索模块,用于输入由用户输入的自然语言句子提取的槽,在数据库中做检索,返回一个变量dl,表示数据库中是否存在满足需求的数据;

解码输出模块,模块输入对话历史sl、用户句子的embedding数据库的返回变量dl以及用户意图隐变量zl,输出自然语言句子作为系统对用户输入的回复:

其中,ul为第l轮对话用户输入的自然语言句子,为第l轮对话用户输入的自然语言句子中的第t个词,sl对话历史通过lstm在第l论的对话状态表示,rl是指系统在第l轮的response,指的是服从多项式分布的随机变量,表示用户的intention,dl检索数据库的返回变量,如果数据库中存在数据,则返回1;反之,则返回0,指的是第l论对话用户输入的句子的emebdding。

优选地,模型的优化目标函数为:

优选地,还包括无监督学习模块,使用精确最大似然和变分近似的方法求解,精确最大似然:

变分近似:引入变分分布q(zl|rl,ul),使用变分下界作为优化目标函数:

优选地,还包括半监督学习模块,用于在给定少量的用户intention标注的情况下,得到如下的目标函数:精确最大似然:

变分近似:

其中,是标注的用户intention。

优选地,在无监督和半监督学习的基础上,引入强化学习的范式,单独优化intention模块:

本发明提供的端到端层次解码任务型对话系统,该对话系统能够实现端到端对话系统,减少繁琐的人工规则。同时,引入用户意图隐含离散变量,使得模型能够在无监督、半监督、强化学习的框架下训练,支持冷启动、少量标注数据和在线更新等场景。本发明支持数据库检索、无监督学习、半监督学习和强化学习等学习范式。基于大量的对话历史数据学习对话策略,并能顾基于少量的标注数据进一步提升模型的性能,加入强化学习后,能够根据不同的reward函数,学习更好的对话策略。提出使用精确最大似然函数作为模型的优化函数并给出具体的求解方法。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明端到端层次解码任务型对话系统的流程图;

图2为本发明端到端层次解码任务型对话系统第一实施例的模块图;

图3为本发明端到端层次解码任务型对话系统第二实施例的模块图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

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

参考图1~3,图1为本发明端到端层次解码任务型对话系统的流程图;图2为本发明端到端层次解码任务型对话系统第一实施例的模块图;图3为本发明端到端层次解码任务型对话系统第二实施例的模块图。本发明提供的端到端层次解码任务型对话系统,该系统模块结构包括以下5大模块,具体包括句子编码器模块100、对话历史编码器模块200、用户意图引入模块300、数据库检索模块400和解码输出模块500。

对话历史编码器模块200,用于将对话历史通过单向循环神经网络编码为sl:

用户意图引入模块300,用于输入对话历史和当前用户句子的embedding,通过采样得到用户的意图表示

数据库检索模块400,用于输入由用户输入的自然语言句子提取的槽,在数据库中做检索,返回一个变量dl,表示数据库中是否存在满足需求的数据;解码输出模块500,模块输入对话历史sl、用户句子的embedding数据库的返回变量dl以及用户意图隐变量zl,输出自然语言句子作为系统对用户输入的回复:

其中,ul为第l轮对话用户输入的自然语言句子,为第l轮对话用户输入的自然语言句子中的第t个词,sl对话历史通过lstm在第l论的对话状态表示,rl是指系统在第l轮的response,指的是服从多项式分布的随机变量,表示用户的intention,dl检索数据库的返回变量,如果数据库中存在数据,则返回1;反之,则返回0,指的是第l论对话用户输入的句子的emebdding。

模型的优化目标函数为:

无监督学习模块,使用精确最大似然和变分近似的方法求解,精确最大似然:

变分近似:引入变分分布q(zl|rl,ul),使用变分下界作为优化目标函数:

半监督学习模块,用于在给定少量的用户intention标注的情况下,得到如下的目标函数:精确最大似然:

变分近似:

其中,是标注的用户intention。

在无监督和半监督学习的基础上,引入强化学习的范式,单独优化intention模块:

本发明提供的端到端层次解码任务型对话系统,该对话系统能够实现端到端对话系统,减少繁琐的人工规则。同时,引入用户意图隐含离散变量,使得模型能够在无监督、半监督、强化学习的框架下训练,支持冷启动、少量标注数据和在线更新等场景。本发明支持数据库检索、无监督学习、半监督学习和强化学习等学习范式。基于大量的对话历史数据学习对话策略,并能顾基于少量的标注数据进一步提升模型的性能,加入强化学习后,能够根据不同的reward函数,学习更好的对话策略。提出使用精确最大似然函数作为模型的优化函数并给出具体的求解方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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