首页> 中国专利> 基于层次型记忆网络的端到端建筑领域任务型对话系统

基于层次型记忆网络的端到端建筑领域任务型对话系统

摘要

本发明提出了一种基于层次型记忆网络的端到端建筑领域任务型对话系统,包括:上下文编码器:用于将对话历史编码成向量

著录项

  • 公开/公告号CN114969331A

    专利类型发明专利

  • 公开/公告日2022-08-30

    原文格式PDF

  • 申请/专利号CN202210540052.2

  • 申请日2022-05-17

  • 分类号G06F16/35(2019.01);G06F16/33(2019.01);G06F16/332(2019.01);G06K9/62(2022.01);G06N3/04(2006.01);G06N3/08(2006.01);

  • 代理机构重庆天成卓越专利代理事务所(普通合伙) 50240;

  • 代理人王宏松

  • 地址 400712 重庆市北碚区歇马街道歇马街688号(重庆高新区歇马拓展园)

  • 入库时间 2023-06-19 16:36:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-16

    实质审查的生效 IPC(主分类):G06F16/35 专利申请号:2022105400522 申请日:20220517

    实质审查的生效

说明书

技术领域

本发明涉及对话系统领域,特别是涉及一种基于层次型记忆网络的端到端建筑领域任务型对话系统。

背景技术

长期以来,拥有一个有着足够智能的虚拟语音助手或聊天伴侣系统看上去都是虚幻的、是存在于科幻电影中的情节。最近,人机对话因其潜力巨大,诱人的商业价值而备受关注。随着大数据和深度学习技术的发展,创建一个自动人机对话系统作为我们的个人助理或聊天伴侣的目标不再是一种幻想。一方面,我们可以很容易地获取互联网上的对话“大数据”,从而对于任何输入都可以学习如何回复。这使我们可以建立数据驱动的人机对话系统。另一方面,深度学习技术已经被证明在识别大数据中的复杂模式上是有效的。目前,对话系统主要分为两类,一是面向任务的对话系统,二是非面向任务的对话系统,即开放域对话系统。现存的面向任务的对话系统主要有管道方法和端到端方法。

面向任务的对话系统旨在帮助用户完成特定领域的任务,例如导航系统、餐厅推荐和住宿预定。与开放域对话系统不同,面向任务的对话系统通常涉及外部知识库的信息。

传统的管道方法每个模块需要单独设计和训练,成本非常高昂;现有的端到端的解决方案将对话历史和知识库信息存储在同一个记忆网络中,并以知识库三元组的形式表示知识库信息,使得记忆网络难以进行知识推理。

发明内容

本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于层次型记忆网络的端到端建筑领域任务型对话系统。

为了实现本发明的上述目的,本发明提供了一种基于层次型记忆网络的端到端建筑领域任务型对话系统,包括:

上下文编码器:用于将对话历史编码成向量

层次型记忆网络:用于存储对话历史和知识库信息;

记忆网络指针:以

复制增强解码器:用于得出具体回答信息;

上下文编码器的数据输出端与记忆网络指针的数据输入端、复制增强解码器的数据输入端相连,记忆网络指针的数据端与层次型记忆网络的数据端相连,层次型记忆网络的数据输出端与复制增强解码器的数据输入端相连,复制增强解码器的数据输出端与层次型记忆网络的数据输入端相连。

进一步地,所述上下文编码器包括:

首先使用嵌入函数φ

进一步地,所述层次型记忆网络包括:

将对话历史存储在对话记忆网络,外部知识库存储在知识库记忆网络中,并将知识库信息按知识库行表示。

进一步地,所述层次型记忆网络还包括:

记忆网络的每一行包含了历史对话信息或者知识库信息,对于对话记忆网络,每行包含了一个单词及其对应说话的人、时间和位置信息,对于知识记忆网络,每行存储了知识库中的一个主题及其属性值;

记忆网络的每一列都是解码器需要收到的特定单词,将主题的每个属性值都存储到知识库记忆网络的相关列中,并在结尾添加了一个特殊的符号作为结束位置标记。

进一步地,所述层次型记忆网络还包括采用了端到端的记忆网络来建模记忆阅读过程,包括以下步骤:

S-1,首先由一系列可训练嵌入矩阵C={C

其中C

S-2,然后将记忆网络的每一行表示为

通过下式阅读记忆:

p

其中,p

q

R

Softmax(·)表示Softmax函数;

通过下式读出记忆网络第k跳的内容o

其中,

通过下式可得到第k+1跳的查询数据:

q

其中q

o

进一步地,所述记忆网络指针包括:

S-11,使用对话里第n个单词的编码向量

其中q

S-12,通过检查单词是否出现在系统回答中来定义对话记忆网络的指针标签

并且通过检查知识库记忆网络中包含真实的回答的行,选择最多实体数量的行来定义知识记库忆网络的指针标签,将知识库记忆网络的标签定义为

如果检查单词出现在系统回答,且知识库记忆网络中包含真实回答的行,则

S-13,使用S标签和S

对话记忆网络的损失函数如下:

s

|R|

知识库记忆网络的损失函数如下:

s

|R|

对于记忆网络指针的损失函数Loss

Loss

其中Loss

Loss

S-14,使用记忆网络指针的概率来调整两个记忆网络中的每一行:

其中

进一步地,所述复制增强解码器包括:

首先通过粗略循环神经网络模型生成粗略的回答,然后使用一个实体解码器去查询一个知识库记忆E

进一步地,所述粗略循环神经网络模型包括:

从记忆网络指针读取的

其中

W

然后用一个粗略标签替换回答中的实体,解码过程如下式:

其中,

GRU(·)为单层门控循环单元;

C

然后可以通过下式得到当前步骤t中单词的概率分布

其中W

最后使用单词分布概率

其中

m表示总步数即总循环数;

进一步地,所述实体解码器包括:

采用一个来自层次型记忆网络中的实体来替换粗略循环神经网络模型生成的一个粗略标签,包括以下步骤:

S-111,使用记忆阅读器以对话里第n个单词的编码向量

S-112,其次,能够通过下式获得在知识库记忆网络中每一列的概率:

其中,φ

n

S-113,最后,使用下式来计算在知识库记忆网络中每个实体的概率:

其中,

score

通过查找第i行和第j列中满足v

其中max(·)表示取最大值;

i表示知识库记忆网络的第i行;

|C|

j表示知识库记忆网络的第j列;

v

y

将对话记忆网络的实体解码器的标签定义如下式所示:

其中

max(·)表示取最大值;

v

y

然后实体选择器的损失函数定义如下式所示:

其中

进一步地,还包括损失函数Loss:

Loss=αLoss

其中α、β、γ均为超参数;

Loss

Loss

Loss

综上所述,由于采用了上述技术方案,本发明能够将对话历史和知识库信息分成两个记忆网络,并以知识行的形式表示知识,由此使得记忆网络能够顺利进行知识推理。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明层次型记忆网络示意图。

图2是本发明面向任务的对话系统的分层记忆模型的整体架构图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

基于层次型记忆网络的端到端任务型对话系统模型的整体架构图如图2所示。

对话历史X=(x

本模型是基于编码器-解码器架构,它由四部分组成:上下文编码器、层次型记忆网络、记忆网络指针、复制增强解码器。

首先,上下文编码器将对话历史编码成向量

1、上下文编码器

使用一个单层门控循环单元GRU将对话历史编码成隐藏状态

2、层次型记忆网络

目前大多数方法将对话历史和知识库信息存储在同一个记忆网络中,并将知识库信息表示为知识库三元组。这些缺陷使得记忆网络指针难以在记忆网络上进行知识推理。因此,提出了一个层次型记忆网络来存储对话历史和知识库信息,保持了推理的层次性。正如图1层次型记忆网络框架所示,对话历史和外部知识库存储在两个记忆网络(对话记忆网络和知识库记忆网络)中,并将知识库信息按知识库行表示。在第一个层次中,每个记忆网络一行包含了历史对话信息或者知识库信息。对于对话记忆网络,每行包含了一个单词及其对应说话的人、时间和位置信息。对于知识记忆网络,每行存储了知识库中的一个主题及其相关的属性值。在第二个层次中,每一列都是解码器需要收到的特定单词。将主题的每个属性值都存储到知识库记忆网络的相关列中,每个领域(数据集)中主题的属性如表2所示。在两个记忆网络的结尾都添加了一个特殊的单词符号$作为结束位置标记。

表1 SMD数据集中三元组的部分知识信息

表2不同数据集的属性

2.1、记忆阅读Memory Reading

采用了端到端的记忆网络来建模记忆阅读过程。在此,简述一下K跳(K-hop)记忆网络的工作原理。在记忆网络中的每个单词v

p

其中,q

式2读出记忆网络第k跳的内容o

其中,

q

3、记忆网络指针

记忆网络指针的功能就是指向与对话相关的行。使用对话状态h

通过检查相应的单词是否出现在系统回答中来定义对话记忆网络的指针标签

然后,对于记忆网络指针的损失函数Loss

Loss

使用记忆网络指针的概率来调整两个记忆网络中的每一行:

其中

4、复制增强解码器

在解码阶段,首先使用粗略循环神经网络Sketch RNN模型来生成一个粗略回答。然后使用实体解码器分两步从分层记忆网络中复制实体来解码粗略回答。

4.1、粗略循环神经网络Sketch RNN模型

使用门控循环单元GRU来建模粗略循环神经网络Sketch RNN模型。从记忆网络指针读取的最后一个对话状态

在公式9中,

用一个粗略标签替换回答中的实体。例如,粗略循环神经网络Sketch RNN模型将会生成“@poi is@distance away”代替“chef_chu_s is 5_miles away”。此解码过程如下公式10所示:

其中,

W

使用单词分布概率

其中

m表示总步数即总循环数;

4.2实体解码器

当粗略循环神经网络Sketch RNN模型生成了一个粗略标签,需要用一个来自层次型记忆网络中的实体来替换它。例如,当粗略循环神经网络Sketch RNN模型生成一个粗略标签@address的时候,它应该被替换为记忆网络中的一个实体,并且该实体的类型为地址类型。首先,也使用记忆阅读器以隐藏状态

其中,φ

并且

其中,

其中

然后实体选择器的损失函数定义如公式17所示:

其中

尽量优化公式18中的损失函数Loss来训练整个模型,其中α,β,γ是超参数:

Loss=αLoss

此外,使用两个记录矩阵来避免重复复制同一个实体。最初,矩阵元素都是1。如果在记忆网络中的一个单词被复制过,那么矩阵相关位置将会变成0。在解码的时候,记忆网络中对应于矩阵中0元素的实体将会被屏蔽。实体解码器总是从E

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号