基于双层记忆网络的多领域的端到端任务型对话系统技术方案

技术编号:39399044 阅读:8 留言:0更新日期:2023-11-19 15:52
本发明专利技术提出了一种基于双层记忆网络的多领域的端到端任务型对话系统,包括:动态编码器:将输入的对话数据进行编码;双层记忆网络:对话历史信息和知识库信息进行建模和推理;增强解码器:得到输出的单词;所述双层记忆网络包括对话记忆网络和知识库记忆网络;本发明专利技术能够在提升系统准确率的同时,兼顾通用性,易于将拥有海量数据的领域训练出来的模型移植到一个全新的或者数据较少的领域之中。一个全新的或者数据较少的领域之中。一个全新的或者数据较少的领域之中。

【技术实现步骤摘要】
基于双层记忆网络的多领域的端到端任务型对话系统


[0001]本专利技术涉及计算机
,特别是涉及一种基于双层记忆网络的多领域的端到端任务型对话系统。

技术介绍

[0002]记忆网络结合到端到端任务型对话系统虽然取得了比较好的效果,但是在外部知识融入方面和推理能力方面仍然表现不够优秀,并且目前训练的端到端的任务型对话系统中,要么都是针对特定领域的,并且依赖大量标签数据去学习特定的特征,要么就是混合所有领域的数据去学习共有的特征,虽然这两种方法已经取得了相当不错的成绩,但是这限制了模型的通用性,无法很好移植到新的领域,并且针对每一个领域都难以收集到大量的标签数据。如果将多个特定领域的数据都混合在一起用同一个模型训练,得到同一组模型参数,可以很好地捕获所有领域的共有的特性,但是就难以捕获特定域的特征。如果将多个特定领域的数据分开训练,每个特定领域的模型都只训练本领域的数据,可以很好地捕获特定领域的特征,但是难以捕获所有领域共享的特征。因此,针对端到端任务型对话系统,需要一种方法在提升系统准确率的同时,兼顾通用性,易于将拥有海量数据的领域训练出来的模型移植到一个全新的或者数据较少的领域之中。
[0003]此外,在传统的记忆网络中通常使用三元组的形式表示知识库信息,这样虽然能够很清晰地表示知识信息,但是在对话回答定位知识三元组的过程中,容易出现错误。
[0004]综上所述,目前的记忆网络的端到端任务型对话系统依然存在以下挑战:
[0005]①
目前主流的记忆网络的端到端任务型对话系统均采用三元组的形式表示外部知识库,这种方法存在对话推理困难和知识库信息定位困难,难以有效地将正确的知识信息融合到对话当中。
[0006]②
对话历史信息和知识库信息都存储于同一个记忆网络之中,并使用共享的记忆网络对实体和对话历史进行编码,这种编码方式虽然能够轻松的将知识融入对话之中,但是不同的数据格式所包含的信息是有差异化的,在同一个网络上进行推理是十分困难的和低效率的。
[0007]③
现有的端到端任务型对话系统在无法将特定领域训练的模型移植到数据量较少或者没有数据的领域,模型的泛化性较差,并且在解码阶段选择词元不够精准。

技术实现思路

[0008]本专利技术旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于双层记忆网络的多领域的端到端任务型对话系统。
[0009]为了实现本专利技术的上述目的,本专利技术提供了一种基于双层记忆网络的多领域的端到端任务型对话系统,包括:
[0010]动态编码器:将输入的对话数据进行编码;
[0011]双层记忆网络:对话历史信息和知识库信息进行建模和推理;
[0012]增强解码器:得到输出的单词;
[0013]所述双层记忆网络包括对话记忆网络和知识库记忆网络;
[0014]把对话数据输入到动态编码器进行编码,然后对编码数据进行融合,得到的隐藏状态作为双层记忆网络的输入,获得双层记忆网络的输出然后和作为增强解码器的输入,得到输出的单词概率所述动态编码器编码包括一个共享编码器和N个特定编码器,所述共享编码器的输入是所有领域的对话数据,第i个特定编码器的输入是第i个领域的对话数据,i=[1,N]。
[0015]进一步地,所述知识库信息用知识行的形式表示,所述知识行包括:兴趣点、兴趣点类型、距离信息、地址信息和交通信息。采用知识行表示知识库信息,可以大幅度降低记忆网络在推理的过程中的复杂性,提高推理能力。
[0016]进一步地,动态编码器包括:先用特定领域的数据训练特定编码器(私有模型),然后采用混合专家机制进行动态融合,获取私有特征,然后对动态融合后的私有特征与共享特征进行全融合,得到输出的编码向量。
[0017]进一步地,所述采用混合专家机制进行动态融合,获取特定领域的特征包括:
[0018]所有领域的特征表示在第k跳编码的时候表示为表示不同领域的数量,专家门把作为输入,并且输出softmax值α
k,i
作为每个领域与当前输入单词之间的相关度,α
k,i
具体计算过程如公式(3)所示:
[0019][0020]α
k,i
表示每个领域与当前输入单词之间的相关度系数;
[0021]表示第k跳编码时第i个领域的特征表示;
[0022]W为矩阵参数;
[0023]b为偏置项;
[0024]专家门权重值为最终的特征向量是所有领域输出的混合
[0025][0026]表示第k跳编码时所有领域的特征表示;
[0027]最终编码器输出的一组隐藏向量为
[0028]进一步地,所述对动态融合后的私有特征与共享特征进行全融合,得到输出的编码向量包括:
[0029][0030]其中表示混合特征向量;
[0031][ ]为拼接操作;
[0032]表示共享领域的特征向量;
[0033]表示私有领域的特征向量;
[0034]最后共享私有混合编码向量表示由经过LeakyReLU非线性变换得到,具体计算过程由公式(6)计算可得:
[0035][0036]其中,W1和W2为参数矩阵;
[0037]LeakyReLU表示激活函数。
[0038]进一步地,所述共享特征的获得包括以下步骤:
[0039]一个对话历史信息的输入序列表示为X=(x1,x2,...,x
n
),n表示对话序列的长度,首先根据公式(1)获得每个单词的词向量表示e
i

[0040]e
i
=φ
emb
(x
i
)#(1)
[0041]x
i
表示对话序列的长度为i的对话;
[0042]φ
emb
( )表示嵌入函数;
[0043]然后,采用GRU来构建编码器,将对话历史信息编码成隐藏状态向量得到一组编码器的隐藏向量为如公式(2)所示;
[0044][0045]表示编码器的第i个隐藏向量;
[0046]GRU为门控循环单元。
[0047]进一步地,所述双层记忆网络模块包括:
[0048]双层记忆网络的嵌入矩阵分别包含了一系列可训练的对话记忆网络的嵌入矩阵和知识库记忆网络的嵌入矩阵和知识库记忆网络的嵌入矩阵其中,K表示这是一个可以进行K次查询和推理的K跳的记忆网络,|V|是词汇大小,d
emb
是嵌入向量的维度;
[0049]分别使用对话记忆网络嵌入矩阵和知识库记忆网络嵌入矩阵进行词嵌入,得到词嵌入向量其中对话记忆网络嵌入矩阵进行词嵌入与知识库记忆网络嵌入矩阵进行词嵌入的过程相同,具体步骤如下:
[0050][0051]其中,表示第i行第j列的单词第k跳时进行词嵌入后的向量表示;
[0052]Emb
k
表示进行词嵌入操作;
[0053]v...

【技术保护点】

【技术特征摘要】
1.一种基于双层记忆网络的多领域的端到端任务型对话系统,其特征在于,包括:动态编码器:将输入的对话数据进行编码;双层记忆网络:对话历史信息和知识库信息进行建模和推理;增强解码器:得到输出的单词;所述双层记忆网络包括对话记忆网络和知识库记忆网络;把对话数据输入到动态编码器进行编码,然后对编码数据进行融合,得到的隐藏状态作为双层记忆网络的输入,获得双层记忆网络的输出然后和作为增强解码器的输入,得到输出的单词概率所述动态编码器编码包括一个共享编码器和N个特定编码器,所述共享编码器的输入是所有领域的对话数据,第i个特定编码器的输入是第i个领域的对话数据,i=[1,N]。2.根据权利要求1所述的一种基于双层记忆网络的多领域的端到端任务型对话系统,其特征在于,所述知识库信息用知识行的形式表示,所述知识行包括:兴趣点、兴趣点类型、距离信息、地址信息和交通信息。3.根据权利要求1所述的一种基于双层记忆网络的多领域的端到端任务型对话系统,其特征在于,动态编码器包括:先用特定领域的数据训练特定编码器,然后采用混合专家机制进行动态融合,获取私有特征,然后对动态融合后的私有特征与共享特征进行全融合,得到输出的编码向量。4.根据权利要求3所述的一种基于双层记忆网络的多领域的端到端任务型对话系统,其特征在于,所述采用混合专家机制进行动态融合,获取特定领域的特征包括:所有领域的特征表示在第k跳编码的时候表示为表示不同领域的数量,专家门把作为输入,并且输出softmax值α
k,i
作为每个领域与当前输入单词之间的相关度,α
k,i
具体计算过程如公式(3)所示:α
k,i
表示每个领域与当前输入单词之间的相关度系数;表示第k跳编码时第i个领域的特征表示;W为矩阵参数;b为偏置项;专家门权重值为最终的特征向量是所有领域输出的混合最终的特征向量是所有领域输出的混合最终的特征向量是所有领域输出的混合表示第k跳编码时所有领域的特征表示;
最终编码器输出的一组隐藏向量为5.根据权利要求3所述的一种基于双层记忆网络的多领域的端到端任务型对话系统,其特征在于,所述对动态融合后的私有特征与共享特征进行全融合,得到输出的编码向量包括:其中表示混合特征向量;[]为拼接操作;表示共享领域的特征向量;表示私有领域的特征向量;最后共享私有混合编码向量表示由经过LeakyReLU非线性变换得到,具体计算过程由公式(6)计算可得:其中,W1和W2为参数矩阵;LeakyReLU表示激活函数。6.根据权利要求3所述的一种基于双层记忆网络的多领域的端到端任务型对话系统,其特征在于,所述共享特征的获得包括以下步骤:一个对话历史信息的输入序列表示为X=(x1,x2,

,x
n
),n表示对话序列的长度,首先根据公式(1)获得每个单词的词向量表示e
i
:e
i
=φ
emb
(x
i
)#(1)x
i
表示对话序列的长度为i的对话;φ
emb
()表示嵌入函数;然后,采用GRU来构建编码器,将对话历史信息编码成隐藏状态向量得到一组编码器的隐藏向量为如公式(2)所示;如公式(2)所示;表示编码器的第i个隐藏向量;GRU为门控循环单元。7.根据权利要求1所述的一种基于双层记忆网络的多领域的端到端任务型对话系统,其特征在于,所述双层记忆网络模块包括:双层记忆网络的嵌入矩阵分别包含了一系列可训练的对话记忆网络的嵌入矩阵和知识库记忆网络的嵌入矩阵和知识库记忆网络的嵌入矩阵其中,K表示这是一个可以进行K次查询和推理的K跳的记忆网络,|V|是词汇大小,d
emb
是嵌入向量的维度;
分别使用对话记忆网络嵌入矩阵和知识库记忆网络嵌入矩阵进行词嵌入,得到词嵌入向量其中对话记忆网络嵌入矩阵进行词嵌入与知识库记忆网络嵌入矩阵进行词嵌入的过程相同,具体步骤如下:其中,表示第i行第j列的单词第k跳时进行词嵌入后的向量表示;Emb
k
表示进行词嵌入操作;v
i,j
表示在双层记忆网络中第i行第j列的单词;然后使用词袋模型B(
·
)获得包含所有列的特征的记忆行的向量表示,如公式(9)所示:其中,|C|表示总列数;表示第k个嵌入矩阵编码后的第i行所有列的词嵌入向量表示的求和运算得到的向量表示,包含了第i个记忆行的所有特征信息;并且,动态编码器编码得到的上下文表示也会被写入到双层记忆网络中,如公式(10)所示:其中,表示编码器第i行记忆行的上下文表示,将其写入到当前记忆行的上下文表示;所有的对话记忆行组成和知识库网络记忆行|R
d
|和|R
kb
|分别表示对话记忆网络和知识库记忆网络的总行数;那么,一个K跳的双层记忆网络的对话信息矩阵为和知识信息矩阵为最终,对于一个K跳的记忆网络,通过公式(11)分别对对话记忆网络和知识库记忆网络的内容进行计算第k跳的注意力权重:其中,q
k
表示第k跳的查询向量;(q
k
)
T
表示q
k
的转置;softmax表示激活函数;表示第k个嵌入矩阵编码后的第i行所有列的词嵌入向量;通过公式(11)可以获得第k跳记忆行的注意力权重然后通过第k跳记忆行注意力权重便可以...

【专利技术属性】
技术研发人员:翟福森金燕张继王业义张涛刘明龙李刚吴尧
申请(专利权)人:中铁建重庆投资集团有限公司
类型:发明
国别省市:

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

1