CN108874782B - 一种层次注意力lstm和知识图谱的多轮对话管理方法 - Google Patents
一种层次注意力lstm和知识图谱的多轮对话管理方法 Download PDFInfo
- Publication number
- CN108874782B CN108874782B CN201810699042.7A CN201810699042A CN108874782B CN 108874782 B CN108874782 B CN 108874782B CN 201810699042 A CN201810699042 A CN 201810699042A CN 108874782 B CN108874782 B CN 108874782B
- Authority
- CN
- China
- Prior art keywords
- context
- vector
- representing
- user
- lstm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims abstract description 21
- 238000013507 mapping Methods 0.000 title abstract description 7
- 238000000034 method Methods 0.000 claims abstract description 27
- 230000007246 mechanism Effects 0.000 claims abstract description 25
- 239000013598 vector Substances 0.000 claims description 162
- 230000006870 function Effects 0.000 claims description 29
- 230000011218 segmentation Effects 0.000 claims description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 5
- 230000009193 crawling Effects 0.000 claims description 4
- 230000009191 jumping Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000007477 logistic regression Methods 0.000 claims description 2
- 238000003058 natural language processing Methods 0.000 abstract description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
一种层次注意力LSTM和知识图谱的多轮对话管理方法,属于自然语言处理领域。本方法的核心思想为:将会话中用户和***的对话内容作为上下文,利用上下文在单词和句子层面的重要、时序信息抽取上下文深层语义,具体分两步,首先在单词层面利用第一层注意力机制LSTM抽取句子语义,其次在句子层面利用第二层注意力机制LSTM抽取上下文语义;其中,注意力机制保留重要信息,且注意力机制通过知识图谱作为外部知识来实现,LSTM保留时序信息,这些信息共同识别用户意图,识别结果用来判定是否开启下一个会话。本发明利用知识图谱和LSTM学习了上下文深层语义、利用注意力机制过滤掉无用信息,从而提高了识别用户意图的效率和准确率。
Description
技术领域
本发明涉及一种层次注意力LSTM和知识图谱的多轮对话管理方法,属于自然语言处理领域。
背景技术
随着计算技术与人工智能技术的发展,对话管理***得到了越来越广泛的研究,尤其是面向特定任务的对话管理***,可以用于机票预订等客户服务中,帮助企业有效地降低运营成本,具有重要的应用价值。根据对话***智能化程度的不同,智能对话***的会话表现形式可简单分为单轮对话和多轮对话两种。单轮对话较简单,没有记忆功能,而多轮对话问题和回答之间是有联系的,意图识别是多轮对话管理***的关键子任务,只有深入理解用户的意图才能判断是否该轮对话已经完成。
早期对话***基本是基于规则的,可以和用户进行简单的对话。然而基于规则的方法过于依赖根据经验设置的有限模型参数或是一些人工设置的模板,虽然简单有效,但是只能应用在用户提问具有明显的词汇且无指代的场景中,因此这种方法离复杂场景下的实用化还有很大差距。
在大数据时代背景下,多轮对话管理***取得了重大的突破,大量的对话数据可以从实际的场景中获得,随着深度神经网络在越来越多的基于大量数据来进行训练的任务中取得显著的成果,基于深度学习的方法成为多轮对话管理***研究的主流。但是目前基于深度学习的方法也存在一些问题,主要表现在两方面,一方面是没有将多轮对话中的上下文利用起来,在同一轮对话中,用户的提问,***的回答和当前用户的问题都有一定的联系;另一方面没有结合外部知识,只是数据驱动的方法,在准确率上存在一定的差距。
随着人工智能对数据处理和理解需求逐日增加,知识图谱得到了越来越广泛的研究,简单来说知识图谱就是描述概念、实体、事件及其之间的关系的一种结构,用“属性-值“来刻画它的内在特性,比如说人有年龄、身高、体重等属性。因此这样一个知识库放入到多轮对话管理***中,提高了用户意图判断的正确率。
本发明方法将会话中的用户和***对话通过层次注意力机制的LSTM进行深层语义提取,并联合知识图谱将用户意图和对话语义进行有机的结合,从而高效的识别当前问题的用户意图,完成多轮对话管理***中的关键任务。
发明内容
本发明的目的是为了解决现有多轮对话管理方法存在用户意图判断中缺少上下文信息和外部知识的技术缺陷,提出了一种层次注意力LSTM和知识图谱的多轮对话管理方法。
本方法的核心思想为:将会话中用户和***的对话内容作为上下文,利用上下文在单词和句子层面的重要、时序信息抽取上下文深层语义,具体分两步,首先在单词层面利用第一层注意力机制LSTM抽取句子语义,其次在句子层面利用第二层注意力机制LSTM抽取上下文语义;其中,注意力机制保留重要信息,且注意力机制通过知识图谱作为外部知识来实现,LSTM保留时序信息,这些信息共同识别用户意图,识别结果用来判定是否开启下一个会话。本发明利用知识图谱和LSTM学习了上下文深层语义、利用注意力机制过滤掉无用信息,从而提高了识别用户意图的效率和准确率。为实现上述目的,本发明采用如下技术方案:
首先进行相关定义,具体如下:
定义1:query,是指用户会向***提出的一些问题,每一个query都会对应一个用户意图,query又分为两类:first query和非first query;
其中,first query和非first query,是指在一个会话中的用户的第一个query,相对应的会话中剩余的query就称为非first query;
定义2:用户意图,即用户query的主题,是用户提出query的意图,该用户意图和知识图谱中的实体相对应;
定义3:上下文,由若干个有序的句子构成,对于会话中的任意一个非first query而言,其前面出现的所有对话称为当前query的上下文;
定义4:层次注意力的LSTM,有两层网络,第一层是注意力机制和LSTM结合,第二层是将第一层的结果作为输入,然后将注意力机制和LSTM结合,从而组成层次注意力的LSTM;
定义5:输入序列,指词向量序列或者句向量序列,层次注意力的LSTM的第一层输入序列是词向量序列,第二层输入序列是句向量序列;
定义6:上下文语义向量序列,上下文中每一个句子用一个句向量来表示,那么上下文中所有句子对应的句向量序列就是上下文语义向量序列;
定义7:上下文语义向量,用一个向量表示上下文中所有的句子,该向量就是上下文语义向量;
一种层次注意力LSTM和知识图谱的多轮对话管理方法,包括如下步骤:
步骤1、构建词表、语料集、分词,再利用word2vec算法对分词结果进行学习,得出知识图谱中用户意图的词向量,具体又包括如下子步骤:
步骤1.1构建词表,将知识图谱中的用户意图作为单词整理成词表;
步骤1.2构建语料集,具体为:
通过爬虫工具在***以及百度知道网站中爬取涵盖步骤1.1词表中单词的句子;
步骤1.3将步骤1.2爬取的句子进行分词;
步骤1.4训练词向量,具体用word2vec算法对步骤1.3的分词结果进行训练,输出词向量;
步骤2、输入当前query,并判断当前query是否为会话的first query,如果是则执行步骤3,否则执行步骤4;
其中,当前query,是指需要判断用户意图的query;会话是指对话内容,当前会话是指***和用户已完成的对话内容,新会话是指上下文的用户意图和当前query的用户意图不同时,清除已完成对话内容,并开启新一轮的对话;
步骤3、对当前query分词并利用规则方法识别用户意图,具体又包括如下子步骤:
步骤3.1利用nltk包对当前query进行分词,得到分词结果,记为:q=[q1,q2,…,qn];
步骤3.2将步骤3.1输出的分词结果和知识图谱中的用户意图进行一一匹配,若匹配成功,则匹配结果就是用户意图,输出匹配结果并跳至步骤6;若匹配失败,则执行步骤3.3;
步骤3.3利用大规模中文概念图谱CN-Probase将步骤3.1分词结果映射成概念集合p=[p1,p2,…,pm],再令q=p,执行步骤3.2;
步骤4、利用基于注意力机制LSTM模型计算上下文中第s个句子的语义向量、上下文语义向量序列;
其中,上下文由若干个有序的句子构成,对于会话中的任意一个非first query而言,其前面出现的所有对话称为当前query的上下文;
步骤4具体又包括如下子步骤:
步骤4.1将s赋值1;
步骤4.2训练上下文单词的词向量、计算上下文中句子的隐含层向量、词向量权重和上下文中第s个句子语义向量,具体又包括如下子步骤:
步骤4.2.1利用word2vec算法训练上下文所有单词的词向量;
步骤4.2.2计算Contexts的隐含层向量,记为hs,
其中,Contexts表示上下文中第s个句子的语义向量;
hs具体通过公式(1)计算:
其中,表示t时刻遗忘门,表示t时刻的输入门,表示t时刻更新的信息,表示t时刻的信息,表示t-1时刻的信息,表示t时刻的输出门,表示t时刻隐含层向量,表示参数矩阵,表示步骤4.1.1中t时刻对应的词向量,表示矩阵参数,表示t-1时刻的隐含层向量,表示偏置向量参数,σ表示Sigmoid函数,是LSTM模型的激活函数,tanh表示双曲正切函数,是LSTM模型的激活函数,°表示向量的叉乘,n表示输入序列中词向量序列的长度,为零向量;
步骤4.2.3利用用户意图和步骤4.2.2得到的隐含层向量,计算输入序列中词向量权重,记为αs,具体通过公式(2)的注意力机制来完成:
其中,表示输入序列中词向量权重的第k维,UI表示用户意图,是以向量的方式表示,hs_k表示隐含层向量hs的第k维,hs_j表示隐含层向量hs的第j维,w表示权重维度大小,e表示指数函数,g是一个前向神经网络;
步骤4.2.4利用步骤4.2.2输出的隐含层向量和步骤4.2.3输出的权重计算Contexts,具体通过公式(3)计算:
其中,表示上下文中第s个句子语义向量的第k维,表示隐含层向量的第k维,表示i时刻隐含层向量;
步骤4.3判断s是否等于K,若不等于则s加1,跳步骤4.2;若等于则跳入步骤5;
其中,K是上下文中句子的个数;
步骤5、利用层次注意力LSTM和知识图谱,计算上下文语义向量、识别用户意图,具体又包括如下子步骤:
步骤5.1计算上下文语义向量序列的隐含层向量、句向量权重、上下文语义向量、识别用户意图,具体又包括如下子步骤:
步骤5.1.1计算Semantic的隐含层向量,记为hide;
其中,Semantic表示上下文语义向量;
hide具体通过公式(4)计算:
其中,ft表示t时刻遗忘门,it表示t时刻的输入门,表示t时刻更新的信息,ct表示t时刻的信息,ct-1表示t-1时刻的信息,ot表示t时刻的输出门,ht表示t时刻隐含层向量,表示参数矩阵,Contextt表示上下文语义向量序列中的第t个,表示矩阵参数,ht-1表示t-1时刻的隐含层向量,表示偏置向量参数,σ表示Sigmoid函数,是LSTM模型的激活函数,tanh表示双曲正切函数,是LSTM模型的激活函数,°表示向量的叉乘,m表示输入序列中句向量序列的长度,h0为零向量;
步骤5.1.2利用用户意图UI和步骤5.1.1输出的隐含层向量,计算输入序列中句向量权重,记为α,具体通过公式(5)的注意力机制来计算:
其中,αk表示输入序列中句向量权重的第k维,UI表示用户意图,是以向量的方式表示,hk表示在k时刻的隐含层向量,hj表示在j时刻的隐含层向量,g是一个前向神经网络;
步骤5.1.3利用步骤5.1.1得到的隐含层向量和步骤5.1.2得到的权重计算上下文语义向量Semantic,具体通过公式(6)计算:
1≤k≤m
Semantic=[Semantic1,Semantic2,…,Semanticn]
其中,Semantick表示上下文语义向量的第k维,αk表示输入序列中句向量权重的第k维,hi_k表示隐含层向量hi的第k维;
步骤5.2利用步骤5.1输出的上下文语义向量和知识图谱识别用户意图,具体是通过逻辑回归的方法进行分类,目标函数如公式(7):
其中,UInext表示需要识别的用户意图,UI表示上下文对应的用户意图,θnext表示UInext对应的参数,θi表示词表中i位置单词所对应的参数,表示向量的连接,|V|表示词表的大小,Semantic表示上下文语义向量,Σ表示求和;
步骤5.3利用交叉熵的方法通过公式(8)计算计算步骤5.2中目标函数(7)的损失函数:
L=-log(P(y=UInext|UI)) (8)
其中,UInext表示需要识别的用户意图,log表示以10为底的对数函数,UI表示上下文对应的用户意图;
损失函数(8)通过Sampled Softmax算法和随机梯度下降参数更新方法进行求解并输出识别的用户意图;
步骤6判断输出结果和用户意图UI是否一致,如果一致,则仍然延用当前会话,不需要开启新会话,如果不一致,则关闭当前会话并开启一个新会话;
至此,从步骤1到步骤6,完成了具有上下文语义和知识图谱外部知识的多轮对话方法。
有益效果
本发明一种层次注意力LSTM和知识图谱的多轮对话管理方法,对比现有技术,具有如下有益效果:
1.结合知识图谱识别用户意图,进行对话管理,利用知识图谱自带的语义提高了会话转换的准确性;
2.利用层次的LSTM,将会话中的上下文充分结合,学习到了最全面的上下文语义;
3.利用层次的注意力机制和知识图谱的用户意图,将上下文中重要的内容提取出来过滤掉无用信息,提高了对话管理效率和准确率。
附图说明
图1为本发明一种层次注意力LSTM和知识图谱的多轮对话管理方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下根据附图及实施例对本发明所述的文摘方法进一步详细说明。
实施例1
本实施例叙述了本发明的具体实施过程,如图1所示。
从图1可以看出,本发明一种层次注意力LSTM和知识图谱的多轮对话管理方法的流程如下:
步骤A构建词表;将知识图谱中的实体都提取出来,实体代表的就是用户意图,那么词表中的所有单词就是用户意图的集合;
步骤B爬取数据;利用scrapy工具构建爬虫框架,对于步骤A词表中某一单词,爬取20条包含该单词的句子就满足停止的条件,那么语料的大小计算方法如公式(9):
Len=num(UIall)*20 (9)
其中,Len表示爬取语料的大小,num(UIall)表示所有用户意图的个数;
步骤C学习词向量;具体是利用word2vec算法对步骤B爬取的语料集进行学习,首先利用nltk工具进行分词,将分词后的结果输入到word2vec算法中,算法目标函数如公式(10):
其中,k为窗口单词,i为当前单词,T为语料库中单词大小,利用梯度下降方法学习得到128维的词向量;
步骤D是否为first query;是指判断当前query是否为first query;如果是firstquery,则执行步骤E1,如果不是则执行步骤F1;
步骤E1将当前query分词利用nltk包进行分词,两个分词结果分别为1.[有什么比较好的手机],2.[最近苹果有活动吗];
步骤E2利用知识图谱识别用户意图;具体是将步骤E1中分词结果中每个单词和知识图谱中的用户意图进行匹配,对于结果1识别出用户意图为手机,对于结果2识别失败;
步骤E3是否成功;具体是判断匹配结果是否成功,如果成功,则匹配结果就是用户意图并执行步骤G,如果失败,则执行步骤E4;
步骤E4概念映射;将步骤E1的分词结果通过大规模中文概念图谱CN-Probase映射成其概念,这样“苹果”对应的概念就是“手机”,映射完毕后执行步骤E2;
步骤F1学习上下文语义向量序列;利用word2vec算法学习上下文所有单词的词向量,对于上下文中的句子[有什么比较好的手机],该句子包括五个单词,那么就对应五个128维的词向量,将五个词向量依次输入模型的第一层,那么就对应5个时刻,对于t时刻而言,利用公式(1)计算其隐含层向量,隐含层向量的维度是256维,利用第一层注意力机制,将上下文中每个单词和当前会话的用户意图“手机”结合起来,具体利用公式(2)可以得到一个256维的权重向量[0.001,0.110,0.021,0.750,0.000,…,0.001],该权重向量的各个维度加和为1,将该权重向量和上下文中的每个句子进行公式(3)的操作即可得到上下文中每个句子的句向量,这些向量有序的排列起来就得到上下文语义向量序列;
步骤F2利用层次注意力的LSTM识别用户意图;将上下文语义向量序列输入到模型的第二层,上下文中句子的个数为n,那么就有n个维度为128的向量作为输入,也就对应着n个时刻,对于t时刻而言,利用公式(4)计算其隐含层向量,隐含层向量的维度是256维,利用第二层注意力机制,将上下文中每个句子和当前会话的用户意图“手机”结合起来,具体利用公式(5)可以得到一个256维的权重向量[0.000,0.810,0.011,0.005,0.000,…,0.001],该权重向量的各个维度加和为1,将该权重向量和上下文中的每个句子进行公式(6)的操作即可得到上下文中每个句子的句向量,这些向量有序的排列起来就得到上下文语义向量,利用逻辑回归的方法进行分类,得到分类概率[0.901,0.000,0.001,0.000,…,0.003],分类概率各个维度加和等于1,概率最大的对应的是用户意图;
步骤G输出用户意图,具体是输出识别的用户意图,即输出“手机”;
步骤H是否相同;具体是判断步骤G输出的用户意图和当前会话的用户意图“手机”是否一致,结果是一致,则仍然延用当前会话,不需要开启新会话。
以上对本发明“一种层次注意力LSTM和知识图谱的多轮对话管理方法”进行了详细的说明,但本发明的具体实施形式并不局限于此。实施例说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
在不背离本发明所述方法的精神和权利要求范围的情况下对它进行的各种显而易见的改变都在本发明的保护范围之内。
Claims (1)
1.一种层次注意力LSTM和知识图谱的多轮对话管理方法,其特征在于:将会话中用户和***的对话内容作为上下文,利用上下文在单词和句子层面的重要、时序信息抽取上下文深层语义,具体分两步,首先在单词层面利用第一层注意力机制LSTM抽取句子语义,其次在句子层面利用第二层注意力机制LSTM抽取上下文语义;其中,注意力机制保留重要信息,且注意力机制通过知识图谱作为外部知识来实现,LSTM保留时序信息,这些信息共同识别用户意图,识别结果用来判定是否开启下一个会话;本方法利用知识图谱和LSTM学习了上下文深层语义、利用注意力机制过滤掉无用信息,采用如下技术方案:
首先进行相关定义,具体如下:
定义1:query,是指用户会向***提出的一些问题,每一个query都会对应一个用户意图,query又分为两类:first query和非first query;
其中,first query和非first query,是指在一个会话中的用户的第一个query,相对应的会话中剩余的query就称为非first query;
定义2:用户意图,即用户query的主题,是用户提出query的意图,该用户意图和知识图谱中的实体相对应;
定义3:上下文,由若干个有序的句子构成,对于会话中的任意一个非firstquery而言,其前面出现的所有对话称为当前query的上下文;
定义4:层次注意力的LSTM,有两层网络,第一层是注意力机制和LSTM结合,第二层是将第一层的结果作为输入,然后将注意力机制和LSTM结合,从而组成层次注意力的LSTM;
定义5:输入序列,指词向量序列或者句向量序列,层次注意力的LSTM的第一层输入序列是词向量序列,第二层输入序列是句向量序列;
定义6:上下文语义向量序列,上下文中每一个句子用一个句向量来表示,那么上下文中所有句子对应的句向量序列就是上下文语义向量序列;
定义7:上下文语义向量,用一个向量表示上下文中所有的句子,该向量就是上下文语义向量;
所述层次注意力LSTM和知识图谱的多轮对话管理方法,包括如下步骤:
步骤1、构建词表、语料集、分词,再利用word2vec算法对分词结果进行学习,得出知识图谱中用户意图的词向量,具体又包括如下子步骤:
步骤1.1构建词表,将知识图谱中的用户意图作为单词整理成词表;
步骤1.2构建语料集,具体为:
通过爬虫工具在***以及百度知道网站中爬取涵盖步骤1.1词表中单词的句子;
步骤1.3将步骤1.2爬取的句子进行分词;
步骤1.4训练词向量,具体用word2vec算法对步骤1.3的分词结果进行训练,输出词向量;
步骤2、输入当前query,并判断当前query是否为会话的first query,如果是则执行步骤3,否则执行步骤4;
其中,当前query,是指需要判断用户意图的query;会话是指对话内容,当前会话是指***和用户已完成的对话内容,新会话是指上下文的用户意图和当前query的用户意图不同时,清除已完成对话内容,并开启新一轮的对话;
步骤3、对当前query分词并利用规则方法识别用户意图,具体又包括如下子步骤:
步骤3.1利用nltk包对当前query进行分词,得到分词结果,记为:q=[q1,q2,...,qn];
步骤3.2将步骤3.1输出的分词结果和知识图谱中的用户意图进行一一匹配,若匹配成功,则匹配结果就是用户意图,输出匹配结果并跳至步骤6;若匹配失败,则执行步骤3.3;
步骤3.3利用大规模中文概念图谱CN-Probase将步骤3.1分词结果映射成概念集合p=[p1,p2,...,pm],再令q=p,执行步骤3.2;
步骤4、利用基于注意力机制LSTM模型计算上下文中第s个句子的语义向量、上下文语义向量序列;
其中,上下文由若干个有序的句子构成,对于会话中的任意一个非first query而言,其前面出现的所有对话称为当前query的上下文;
步骤4具体又包括如下子步骤:
步骤4.1将s赋值1;
步骤4.2训练上下文单词的词向量、计算上下文中句子的隐含层向量、词向量权重和上下文中第s个句子语义向量,具体又包括如下子步骤:
步骤4.2.1利用word2vec算法训练上下文所有单词的词向量;
步骤4.2.2计算Contexts的隐含层向量,记为hs,
其中,Contexts表示上下文中第s个句子的语义向量;
hs具体通过公式(1)计算:
其中,表示t时刻遗忘门,表示t时刻的输入门,表示t时刻更新的信息,表示t时刻的信息,表示t-1时刻的信息,表示t时刻的输出门,表示t时刻隐含层向量,表示参数矩阵,表示步骤4.1.1中t时刻对应的词向量,表示矩阵参数,表示t-1时刻的隐含层向量,表示偏置向量参数,σ表示Sigmoid函数,是LSTM模型的激活函数,tanh表示双曲正切函数,是LSTM模型的激活函数,表示向量的叉乘,n表示输入序列中词向量序列的长度,为零向量;
步骤4.2.3利用用户意图和步骤4.2.2得到的隐含层向量,计算输入序列中词向量权重,记为αs,具体通过公式(2)的注意力机制来完成:
其中,表示输入序列中词向量权重的第k维,UI表示用户意图,是以向量的方式表示,hs_k表示隐含层向量hs的第k维,hs_j表示隐含层向量hs的第j维,w表示权重维度大小,e表示指数函数,g是一个前向神经网络;
步骤4.2.4利用步骤4.2.2输出的隐含层向量和步骤4.2.3输出的权重计算Contexts,具体通过公式(3)计算:
其中,表示上下文中第s个句子语义向量的第k维,表示隐含层向量的第k维,表示i时刻隐含层向量;
步骤4.3判断s是否等于K,若不等于则s加1,跳步骤4.2;若等于则跳入步骤5;
其中,K是上下文中句子的个数;
步骤5、利用层次注意力LSTM和知识图谱,计算上下文语义向量、识别用户意图,具体又包括如下子步骤:
步骤5.1计算上下文语义向量序列的隐含层向量、句向量权重、上下文语义向量、识别用户意图,具体又包括如下子步骤:
步骤5.1.1计算Semantic的隐含层向量,记为hide;
其中,Semantic表示上下文语义向量;
hide具体通过公式(4)计算:
ft=σ(WfContextt+Ufht-1+bf)
it=σ(WiContextt+Uiht-1+bi)
ot=σ(WoContextt+U0ht-1+bo)
1≤t≤m
hide=hm
其中,ft表示t时刻遗忘门,it表示t时刻的输入门,表示t时刻更新的信息,ct表示t时刻的信息,ct-1表示t-1时刻的信息,ot表示t时刻的输出门,ht表示t时刻隐含层向量,Wf,Wi,Wo表示参数矩阵,Contextt表示上下文语义向量序列中的第t个,Uf,Ui,Uo表示矩阵参数,ht-1表示t-1时刻的隐含层向量,bf,bi,bo表示偏置向量参数,σ表示Sigmoid函数,是LSTM模型的激活函数,tanh表示双曲正切函数,是LSTM模型的激活函数,表示向量的叉乘,m表示输入序列中句向量序列的长度,h0为零向量;
步骤5.1.2利用用户意图UI和步骤5.1.1输出的隐含层向量,计算输入序列中句向量权重,记为α,具体通过公式(5)的注意力机制来计算:
其中,αk表示输入序列中句向量权重的第k维,UI表示用户意图,是以向量的方式表示,hk表示在k时刻的隐含层向量,hj表示在j时刻的隐含层向量,g是一个前向神经网络;
步骤5.1.3利用步骤5.1.1得到的隐含层向量和步骤5.1.2得到的权重计算上下文语义向量Semantic,具体通过公式(6)计算:
1≤k≤m
Semantic=[Semantic1,Semantic2,...,Semanticn]
其中,Semantick表示上下文语义向量的第k维,αk表示输入序列中句向量权重的第k维,hi_k表示隐含层向量hi的第k维;
步骤5.2利用步骤5.1输出的上下文语义向量和知识图谱识别用户意图,具体是通过逻辑回归的方法进行分类,目标函数如公式(7):
其中,UInext表示需要识别的用户意图,UI表示上下文对应的用户意图,θnext表示UInext对应的参数,θi表示词表中i位置单词所对应的参数,表示向量的连接,|V|表示词表的大小,Semantic表示上下文语义向量,Σ表示求和;
步骤5.3利用交叉熵的方法通过公式(8)计算计算步骤5.2中目标函数(7)的损失函数:
L=-log(P(y=UInext|UI)) (8)
其中,UInext表示需要识别的用户意图,log表示以10为底的对数函数,UI表示上下文对应的用户意图;
损失函数(8)通过Sampled Softmax算法和随机梯度下降参数更新方法进行求解并输出识别的用户意图;
步骤6判断输出结果和用户意图UI是否一致,如果一致,则仍然延用当前会话,不需要开启新会话,如果不一致,则关闭当前会话并开启一个新会话。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810699042.7A CN108874782B (zh) | 2018-06-29 | 2018-06-29 | 一种层次注意力lstm和知识图谱的多轮对话管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810699042.7A CN108874782B (zh) | 2018-06-29 | 2018-06-29 | 一种层次注意力lstm和知识图谱的多轮对话管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108874782A CN108874782A (zh) | 2018-11-23 |
CN108874782B true CN108874782B (zh) | 2019-04-26 |
Family
ID=64297414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810699042.7A Active CN108874782B (zh) | 2018-06-29 | 2018-06-29 | 一种层次注意力lstm和知识图谱的多轮对话管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108874782B (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368533B (zh) * | 2018-12-10 | 2023-11-07 | 北京沃东天骏信息技术有限公司 | 一种基于神经网络识别对话信息的方法及*** |
CN111435408B (zh) * | 2018-12-26 | 2023-04-18 | 阿里巴巴集团控股有限公司 | 对话纠错方法、装置和电子设备 |
CN109785833A (zh) * | 2019-01-02 | 2019-05-21 | 苏宁易购集团股份有限公司 | 用于智能设备的人机交互语音识别方法及*** |
CN109858451B (zh) * | 2019-02-14 | 2020-10-23 | 清华大学深圳研究生院 | 一种非配合手部检测方法 |
CN109977234A (zh) * | 2019-03-28 | 2019-07-05 | 哈尔滨工程大学 | 一种基于主题关键词过滤的知识图谱补全方法 |
CN110096570B (zh) * | 2019-04-09 | 2021-03-30 | 苏宁易购集团股份有限公司 | 一种应用于智能客服机器人的意图识别方法及装置 |
CN110211573A (zh) * | 2019-05-28 | 2019-09-06 | 重庆邮电大学 | 一种基于神经网络模型的任务驱动型对话决策方法 |
CN110188281A (zh) * | 2019-05-31 | 2019-08-30 | 三角兽(北京)科技有限公司 | 展示推荐信息的方法、装置、电子设备及可读存储介质 |
CN110223714B (zh) * | 2019-06-03 | 2021-08-03 | 杭州哲信信息技术有限公司 | 一种基于语音的情绪识别方法 |
CN110321418B (zh) * | 2019-06-06 | 2021-06-15 | 华中师范大学 | 一种基于深度学习的领域、意图识别和槽填充方法 |
CN110209791B (zh) * | 2019-06-12 | 2021-03-26 | 百融云创科技股份有限公司 | 一种多轮对话智能语音交互***及装置 |
CN110364251B (zh) * | 2019-06-14 | 2022-08-16 | 南京理工大学 | 一种基于机器阅读理解的智能交互导诊咨询*** |
CN110309287B (zh) * | 2019-07-08 | 2021-07-06 | 北京邮电大学 | 建模对话轮次信息的检索式闲聊对话打分方法 |
CN110570651B (zh) * | 2019-07-15 | 2020-10-30 | 浙江工业大学 | 一种基于深度学习的路网交通态势预测方法及*** |
CN112445946A (zh) * | 2019-08-29 | 2021-03-05 | 上海卓繁信息技术股份有限公司 | 基于政务领域知识图谱的多轮对话方法及*** |
CN110609891B (zh) * | 2019-09-18 | 2021-06-08 | 合肥工业大学 | 一种基于上下文感知图神经网络的视觉对话生成方法 |
CN110705206B (zh) * | 2019-09-23 | 2021-08-20 | 腾讯科技(深圳)有限公司 | 一种文本信息的处理方法及相关装置 |
CN110909159B (zh) * | 2019-09-29 | 2022-09-16 | 珠海格力电器股份有限公司 | 一种用户意图识别方法、装置、终端及存储介质 |
CN111125326A (zh) * | 2019-12-06 | 2020-05-08 | 贝壳技术有限公司 | 用于实现人机对话的方法、装置、介质以及电子设备 |
CN111046674B (zh) * | 2019-12-20 | 2024-05-31 | 科大讯飞股份有限公司 | 语义理解方法、装置、电子设备和存储介质 |
CN111339781B (zh) * | 2020-02-10 | 2023-05-30 | 科大讯飞华南人工智能研究院(广州)有限公司 | 意图识别方法、装置、电子设备和存储介质 |
CN111325323B (zh) * | 2020-02-19 | 2023-07-14 | 山东大学 | 一种融合全局信息和局部信息的输变电场景描述自动生成方法 |
CN111462752B (zh) * | 2020-04-01 | 2023-10-13 | 北京思特奇信息技术股份有限公司 | 基于注意力机制、特征嵌入及bi-lstm的客户意图识别方法 |
CN111475986B (zh) * | 2020-04-02 | 2024-05-24 | 重庆大学 | 一种基于lstm-aon的齿轮剩余寿命的预测方法 |
CN111400480B (zh) * | 2020-04-21 | 2023-05-12 | 支付宝(杭州)信息技术有限公司 | 针对多轮对话的用户意图识别方法和装置 |
CN111754980A (zh) * | 2020-05-21 | 2020-10-09 | 华南理工大学 | 一种基于语义识别的智能评分方法、装置及存储介质 |
CN111597339B (zh) * | 2020-05-22 | 2023-06-30 | 北京慧闻科技(集团)有限公司 | 文档级多轮对话意图分类方法、装置、设备及存储介质 |
CN111797196B (zh) * | 2020-06-01 | 2021-11-02 | 武汉大学 | 一种结合注意力机制lstm和神经主题模型的服务发现方法 |
CN111723207B (zh) * | 2020-06-19 | 2022-07-08 | 思必驰科技股份有限公司 | 意图识别方法及*** |
CN111813909A (zh) * | 2020-06-24 | 2020-10-23 | 泰康保险集团股份有限公司 | 一种智能问答方法和装置 |
US11194966B1 (en) | 2020-06-30 | 2021-12-07 | International Business Machines Corporation | Management of concepts and intents in conversational systems |
CN111666400B (zh) * | 2020-07-10 | 2023-10-13 | 腾讯科技(深圳)有限公司 | 消息获取方法、装置、计算机设备及存储介质 |
CN112667820B (zh) * | 2020-12-08 | 2023-04-18 | 吉林省吉科软信息技术有限公司 | 全流程可追溯生态链监管知识图谱的深度学习构建方法 |
CN113360615B (zh) * | 2021-06-02 | 2024-03-08 | 首都师范大学 | 基于知识图谱和时序特征的对话推荐方法、***及设备 |
CN113221579A (zh) * | 2021-06-07 | 2021-08-06 | 中国光大银行股份有限公司 | 一种企业风险评估处理方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107748757A (zh) * | 2017-09-21 | 2018-03-02 | 北京航空航天大学 | 一种基于知识图谱的问答方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180046920A1 (en) * | 2016-08-10 | 2018-02-15 | Paypal, Inc. | User Data Learning Based on Recurrent Neural Networks with Long Short Term Memory |
CN108021616B (zh) * | 2017-11-06 | 2020-08-14 | 大连理工大学 | 一种基于循环神经网络的社区问答专家推荐方法 |
-
2018
- 2018-06-29 CN CN201810699042.7A patent/CN108874782B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107748757A (zh) * | 2017-09-21 | 2018-03-02 | 北京航空航天大学 | 一种基于知识图谱的问答方法 |
Non-Patent Citations (2)
Title |
---|
Question answering over knowledgebase with attention-based LSTM networks and knowledge embeddings;Liu Chen 等;《2017 IEEE 16th International Conference on Cognitive Informatics & Cognitive Computing》;20171116;第1-4页 |
基于LSTM的大规模知识库自动问答;周博通 等;《北京大学学报(自然科学版)》;20180331;第54卷(第2期);第286-292页 |
Also Published As
Publication number | Publication date |
---|---|
CN108874782A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874782B (zh) | 一种层次注意力lstm和知识图谱的多轮对话管理方法 | |
CN110609891B (zh) | 一种基于上下文感知图神经网络的视觉对话生成方法 | |
CN107526785B (zh) | 文本分类方法及装置 | |
CN109934261B (zh) | 一种知识驱动参数传播模型及其少样本学习方法 | |
Dong et al. | Automatic age estimation based on deep learning algorithm | |
CN104217225B (zh) | 一种视觉目标检测与标注方法 | |
CN110232114A (zh) | 语句意图识别方法、装置及计算机可读存储介质 | |
CN110188192B (zh) | 一种多任务网络构建与多尺度的罪名法条联合预测方法 | |
CN110263323A (zh) | 基于栅栏式长短时记忆神经网络的关键词抽取方法及*** | |
CN107958091A (zh) | 一种基于金融垂直知识图谱的nlp人工智能方法及交互*** | |
CN110647612A (zh) | 一种基于双视觉注意力网络的视觉对话生成方法 | |
CN111159485B (zh) | 尾实体链接方法、装置、服务器及存储介质 | |
CN108170848B (zh) | 一种面向***智能客服的对话场景分类方法 | |
CN110188195B (zh) | 一种基于深度学习的文本意图识别方法、装置及设备 | |
CN110807084A (zh) | 一种基于注意力机制的Bi-LSTM和关键词策略的专利术语关系抽取方法 | |
CN110415071B (zh) | 一种基于观点挖掘分析的汽车竞品对比方法 | |
CN110516070A (zh) | 一种基于文本纠错与神经网络的中文问句分类方法 | |
CN111666400B (zh) | 消息获取方法、装置、计算机设备及存储介质 | |
CN113392209A (zh) | 一种基于人工智能的文本聚类方法、相关设备及存储介质 | |
CN110263174A (zh) | —基于焦点关注的主题类别分析方法 | |
Wu et al. | Optimized deep learning framework for water distribution data-driven modeling | |
CN113593661A (zh) | 临床术语标准化方法、装置、电子设备及存储介质 | |
CN111860193A (zh) | 一种基于文本的行人检索自监督视觉表示学习***及方法 | |
CN114579743A (zh) | 基于注意力的文本分类方法、装置及计算机可读介质 | |
CN112988970A (zh) | 一种服务于智能问答***的文本匹配算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |