[发明专利]一种基于记忆网络的多轮对话下的意图识别方法在审
申请号: | 201810521599.1 | 申请日: | 2018-05-28 |
公开(公告)号: | CN108829667A | 公开(公告)日: | 2018-11-16 |
发明(设计)人: | 杨成彪;吴刚 | 申请(专利权)人: | 南京柯基数据科技有限公司 |
主分类号: | G06F17/27 | 分类号: | G06F17/27;G06F17/30;G06N3/04;G06N3/08 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 许峰 |
地址: | 210008 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于记忆网络的多轮对话下的意图识别方法,主要采用循环神经网络,记忆网络和注意力机制结合的神经网络模型。本发明首先将语言数学化处理,然后利用循环神经网络对每轮的对话进行编码,得到对话的编码向量,再利用外部存储器保存历史对话信息,通过注意力机制从记忆中选择与该轮对话意图相关的历史对话信息,从而得到历史信息的编码向量,对于当前的对话编码向量和历史的对话编码向量,利用一个控制门,判断是否在分类器中引入历史信息,得到最终用于分类的编码信息,利用多标签的分类器,得到每轮对话的意图。 | ||
搜索关键词: | 对话 编码向量 记忆网络 循环神经网络 注意力机制 对话信息 历史信息 意图识别 分类器 多轮 神经网络模型 外部存储器 编码信息 控制门 数学化 再利用 标签 保存 分类 引入 语言 | ||
【主权项】:
1.一种基于记忆网络的多轮对话下的意图识别方法,其特征在于,该方法包括以下步骤:A、利用公开文本数据库提供的接口获取用于训练词向量模型的语料库,对所述语料库经过文本预处理后,训练词向量模型,得到文本数据中词语对应的词向量集合V,每个词向量表示为Vi,所述词向量模型采用共现矩阵和GloVe模型学习词向量,具体过程如下:1)基于语料库构建词的共现矩阵X,:使用窗口将整个语料库遍历一遍,将整个语料库中,单词i和单词j共同出现在一个窗口中的次数作为共现矩阵X的元素Xij,即可得到共现矩阵X;2)根据下式构建训练词向量模型的目标函数:![]()
其中J为目标函数的值,f(x)是权重函数,x表示词频,xmax为自定义的最大词频,f(Xi,j)为元素Xi,j的权重,Vi,Vj分别是单词i和单词j的词向量,bi,bj是单词i和单词j的偏置参数,元素Xij表示为整个语料库中,单词i和单词j共同出现在一个窗口中的次数,N为语料库的词汇表的大小,T为矩阵转置;B、读取文本数据,并将其处理成网络模型能够接受的量化数据,具体步骤如下:1)读入对话文本数据,给每个词编号,建立包含编号‑词语映射的词典D,编号从1开始;2)根据训练好的词向量模型,对应词典D,找到每个编号下对应的词语在词向量模型中的词向量vi,建立词向量矩阵P,词向量矩阵P的每一行P[i]存储词向量vi,词向量矩阵P的第一行P[0]存储一个元素全为零的词向量;3)按照词序生成每轮对话文本ui的编号向量bi,编号向量bi的元素为词语的编号,编号向量bi采用固定长度L,不足长度的位置补零;4)根据编号向量bi构建编号矩阵B,编号矩阵B的每一行B[i]采用One‑hot Representation表示向量,这个向量的维度是词典D的大小,其中只有一个维度的值为1,其他元素为0,这个值为1的维度就是编号向量bi的对应编号;5)生成输入矩阵I,即网络模型能够接受的量化数据如下:I=B*P;C、将每轮对话的文本内容利用长短时记忆网络LSTM编码成对应的编码向量,遍历对话集合,每轮对话ui都作为一个输入,生成每轮对话ui的对应编码向量si;si=LSTM(ui)D、构建每个对话的编码向量si的历史记忆信息矩阵Mi。,具体过程如下:1)原始对话文本数据中包含多个对话片段{T1,T2,T3,…,Ta},对于每一个对话片段Ti中包含多轮对话[u0,…,ub],其中a表示文本数据中的对话片段个数,b表示每个对话片段中对话信息的轮数;设置一个历史信息保留窗口,窗口大小为k,对于每个对话片段Ti的每轮对话ui保留其前面的k轮对话作为历史信息[ui‑k,…,ui‑1],如果ui之前的轮数少于窗口大小k,则前向补零,历史信息为[0,…,0,u0,…,ui‑1];2)对于每轮对话ui的历史信息[ui‑k,…,ui‑1]的每个元素利用步骤C中的长短时记忆网络LSTM生成每个元素对应的编码向量[si‑k,…,si‑1],构建成每轮对话ui的历史记忆信息矩阵Mi:
E、通过注意力机制,从每轮对话ui的历史记忆信息矩阵Mi抽取与当前对话意图相关的信息,然后根据下式计算当前对话的对应编码向量si和其历史记忆信息矩阵Mi中第j个历史信息
的权重pj:![]()
通过pj和历史记忆信息矩阵Mi的加权和得到历史信息的向量表示hi:
F、根据下式计算控制门的权重ai:ai=sigmoid(W[hi,si])其中,sigmoid函数为激活函数,W为控制门的网络参数,hi为历史信息的向量表示,si为当前对话的编码向量;G、根据下式计算最终用于分类的编码向量oi:oi=sigmoid(Wkg(aihi+si))其中,sigmoid函数为激活函数,Wkg为分类器的网络参数,ai为控制门的权重,hi为历史信息的向量表示,si为当前对话的编码向量。H、采用多层感知机(MLP)作为分类器:label=MLP(oi)其中,oi为步骤G中生成的编码向量,label为每个标签对应的概率分布向量,向量维度为标签集合的大小。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京柯基数据科技有限公司,未经南京柯基数据科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810521599.1/,转载请声明来源钻瓜专利网。