一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于双动态记忆网络的智能外呼对话方法和系统与流程

2022-02-20 23:24:57 来源:中国专利 TAG:


1.本发明涉及自动对话生成技术领域,具体涉及基于双动态记忆网络的智能外呼对话方法和系统。


背景技术:

2.传统的人工客服人员流动性大、人力成本高、服务缺乏标准、服务效率低等问题,导致企业招聘难、培训时间长,增加了企业相关成本,因此有了智能客服的需求与发展。在智能客服中任务型的对话机器人起到了关键性作用。任务型对话系统(task-oriented dialogue tod)主要分为两类:管道式(pipeline)任务型对话系统和端到端(end-to-end)任务型对话系统,智能外呼对话系统属于任务型的对话系统,传统的智能外呼系统采用管道式搭建。
3.管道式对话系统通常由自然语言理解(nlu)、对话状态跟踪(dst)、对话策略学习(pol)和自然语言生成(nlg)四个模块组成。管道式对话系统中的这些模块通常是单独优化的,因此无法保证整个对话系统的总体优化性能,管道式对话系统模型较多,存在训练难模型管理难问题,而且这种管道式的结构也会导致信息错误的传播,以致严重影响对话质量。端到端对话的提出就是为了解决以上问题,端到端对话系统利用历史对话来直接生成系统回复,从而避免了管道式对话系统的弊端。但是,端到端对话系统通常难以与外部知识库进行交互,因此提出来一种可以结合外部知识库的端到端对话系统。


技术实现要素:

4.为解决上述问题,本发明提供的技术方案为:
5.一种基于双动态记忆网络的智能外呼对话方法,包括以下步骤:
6.获取对话数据,对话数据包括多回合对话数据和当前回合客户话术;
7.对多回合对话数据处理,得到编码向量信息,用于对话内存管理器中对话历史内存和对话状态内存的全局管理和迭代更新;对当前回合客户话术进行词嵌入向量化后,得到解码向量信息,用于处理内存管理器的对话状态内存和访问kb内存管理器的kb内存;
8.对话内存管理器动态地依次扩展对话内存,并通过更新机制跟踪对话历史,生成第一输出分布;对kb内存管理器动态访问,生成第二输出分布;
9.根据第一输出分布和第二输出分布生成回复客户的话术。
10.本发明进一步设置为所述多回合对话数据通过bigru编码器处理得到编码向量h,所述当前回合客户话术通过gru解码器处理得到解码向量q
t

11.本发明进一步设置为对话状态内存根据编码向量h进行寻址操作找到指定分配给内存槽的规范化权值a
t
,以规范化权值a
t
为指引读取对话历史内存中的上下文表示向量c
t
,每回合根据上下文表示向量c
t
和解码向量q
t
输入到gru网络得到中间隐藏状态s
t
,中间隐藏状态s
t
=gru(q
t
,c
t
),中间隐藏状态s
t
用于更新对话状态内存,每回合根据中间隐藏状态s
t
和上下文表示向量c
t
得到权重值g,权重值g=sigmoid(s
t
,c
t
)。
12.本发明进一步设置为采用对话状态内存最后一回合的寻位结果作为注意分数,注意分数来自于在对话状态内存中最后一回合的中间隐藏状态s
t
中去找规范化权值a
t
的寻位结果,使用注意分数通过复制机制得到复制分布pc(y
t
)。
13.本发明进一步设置为上下文表示向量c
t
和解码向量q
t
拼接后输入到softmax层,输出生成分布pg(y
t
)。
14.本发明进一步设置为根据复制分布pc(y
t
)、生成分布pg(y
t
)和权重值g,生成第一输出分布p
con
(y
t
),第一输出分布p
con
(y
t
)=g
×
pc(y
t
) (1-g)
×
pg(y
t
)。
15.本发明进一步设置为在kb内存管理器中kb内存指针p
trkb
每回合动态访问kb内存,解码向量q
t
访问kb内存管理器得到查询向量ok,查询向量ok结合内存指针p
trkb
动态访问kb内存得到kb内存上的第二输出分布p
kb
(y
t
)。
16.本发明进一步设置为根据第一输出分布p
con
(y
t
)、第二输出分布p
kb
(y
t
)和权重值g,得到最终输出分布p(y
t
),最终输出分布p(y
t
)=g
×
p
con
(y
t
) (1-g)
×
p
kb
(y
t
),生成回复客户的话术。
17.一种基于双动态记忆网络的智能外呼对话系统,包括
18.对话框编码器,对多回合对话数据处理,得到编码向量信息;
19.解码器,对当前回合客户话术进行词嵌入向量化后,得到解码向量信息;
20.对话内存管理器,包括对话历史内存和对话状态内存,对话历史内存存储了整个对话过程中对话上下文的表示,对话状态内存每个回合进行更新,跟踪历史信息的流动,捕捉当前回合的编码向量信息和解码向量信息进行第一输出分布的生成;
21.kb内存管理器,包括kb内存和kb内存指针,kb内存使用端到端内存网络存储三元组信息,并在整个对话中共享,捕捉当前回合的解码向量信息进行第二输出分布的生成。
22.采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:
23.本发明是基于双动态记忆网络的智能外呼对话方法和系统,对话内存管理器和kb内存管理器是双动态记忆的两个核心组件,对话内存管理器动态地依次扩展对话内存,并通过更新机制跟踪对话历史,鼓励模型过滤不相关的对话历史并记忆重要的新信息,kb内存管理器在整个对话过程中共享结构化的kb三元组,并在每个回合使用kb内存指针动态提取kb信息。本发明用独立的记忆跟踪长期对话历史和知识库知识,通过学习客户和机器人历史对话、结合银行外呼知识库kb,实现机器人与客户端到端的流畅、精准对答。
附图说明
24.图1为本发明实施例方法流程图。
25.图2为本发明实施例系统示意图。
具体实施方式
26.为进一步了解本发明的内容,结合附图及实施例对本发明作详细描述。
27.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,一体地连接,也可以是可拆卸连接;可以是机械连接或电连接,也可以是两个元件内部的连通;可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含
义。
28.实施例1
29.结合附图1,本发明技术方案是一种基于双动态记忆网络的智能外呼对话方法,双动态记忆网络,以下简称ddmn,包括以下步骤:
30.获取对话数据,对话数据包括多回合对话数据和当前回合客户话术;
31.对多回合对话数据处理通过bigru编码器处理得到编码向量h,编码向量h用于对话内存管理器中对话历史内存和对话状态内存的全局管理和迭代更新,对话状态内存根据编码向量h进行寻址操作找到指定分配给内存槽的规范化权值a
t
,以规范化权值a
t
为指引读取对话历史内存中的上下文表示向量c
t
,每回合根据上下文表示向量c
t
和解码向量q
t
输入到gru网络得到中间隐藏状态s
t
,中间隐藏状态s
t
=gru(q
t
,c
t
),中间隐藏状态s
t
用于更新对话状态内存,每回合根据中间隐藏状态s
t
和上下文表示向量c
t
得到权重值g,权重值g=sigmoid(s
t
,c
t
),采用对话状态内存最后一回合的寻位结果作为注意分数,注意分数来自于在对话状态内存中最后一回合的中间隐藏状态s
t
中去找规范化权值a
t
的寻位结果,使用注意分数通过复制机制得到复制分布pc(y
t
),上下文表示向量c
t
和解码向量q
t
拼接后输入到softmax层,输出生成分布pg(y
t
),根据复制分布pc(y
t
)、生成分布pg(y
t
)和权重值g,生成第一输出分布p
con
(y
t
),第一输出分布p
con
(y
t
)=g
×
pc(y
t
) (1-g)
×
pg(y
t
);
32.对当前回合客户话术通过gru解码器进行词嵌入向量化后,得到解码向量q
t
,用于处理内存管理器的对话状态内存和访问kb内存管理器的kb内存,在kb内存管理器中kb内存指针p
trkb
每回合动态访问kb内存,解码向量q
t
访问kb内存管理器得到查询向量ok,查询向量ok结合内存指针p
trkb
动态访问kb内存得到kb内存上的第二输出分布p
kb
(y
t
);
33.对话内存管理器动态地依次扩展对话内存,并通过更新机制跟踪对话历史,生成第一输出分布;对kb内存管理器动态访问,生成第二输出分布;
34.根据第一输出分布p
con
(y
t
)、第二输出分布p
kb
(y
t
)和权重值g,得到最终输出分布p(y
t
),最终输出分布p(y
t
)=g
×
p
con
(y
t
) (1-g)
×
p
kb
(y
t
),生成回复客户的话术。
35.上述回合是指客户与机器人之间的一问一答,客户问一句机器人答一句为一回合,或机器人问一句客户答一句为一回合。多回合对话数据是指在本次对话中客户与机器人的所有对话数据,当前回合客户话术是指当前回合客户的对话数据。
36.上述通过sigmoid门来生成权重值g,权重值g控制一个词语是由词汇生成(生成分布pg(y
t
))还是由对话历史记忆(复制分布pc(y
t
))复制而来,p
con
(y
t
)表示生成的词语。
37.上述用单独的对话内存管理器来建模对话上下文,用单独的kb内存管理器来建模知识库三元组(主题,关系,目标),给定对话上下文信息、当前对话次数、知识库三元组(主题,关系,目标),ddmn会根据目标响应合理的话术。
38.上述定义了两种类型的操作来更新对话状态内存:forget和add。forget类似于gru中的遗忘门,它决定了要从内存插槽中移除的信息;add操作决定应该将多少当前信息作为添加内容写入对话框状态内存。具体地说,我们首先部署另一个gru网络来模拟m轮的解码器,并得到中间隐藏状态s
t
,s
t
=gru(q
t
,c
t
)。中间隐藏状态s
t
用于更新对话状态内存,然后,将中间对话状态记忆之后进行forget和add操作。经过m轮更新后,使用forget和add操作修改对话状态内存,随着对话回合的增加对话状态、历史内存的扩展,对话内存管理器能够动态跟踪长期的对话状态。
39.本发明基于双动态记忆网络的智能外呼对话方法通过学习客户和机器人历史对话、结合银行外呼知识库kb,实现银行机器人与银行客户的流畅、精准对答。
40.实施例2
41.结合附图2,本发明技术方案是一种基于双动态记忆网络的智能外呼对话系统,包括:
42.对话框编码器,对多回合对话数据处理,得到编码向量信息;
43.解码器,对当前回合客户话术进行词嵌入向量化后,得到解码向量信息;
44.对话内存管理器,包括对话历史内存和对话状态内存,对话历史内存存储了整个对话过程中对话上下文的表示,对话状态内存每个回合进行更新,跟踪历史信息的流动,捕捉当前回合的编码向量信息和解码向量信息进行第一输出分布的生成;
45.kb内存管理器,包括kb内存和kb内存指针,kb内存使用端到端内存网络存储三元组信息,并在整个对话中共享,捕捉当前回合的解码向量信息进行第二输出分布的生成。
46.以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献