一种层次注意力LSTM和知识图谱的多轮对话管理方法技术

技术编号:19543758 阅读:47 留言:0更新日期:2018-11-24 20:36
一种层次注意力LSTM和知识图谱的多轮对话管理方法,属于自然语言处理领域。本方法的核心思想为:将会话中用户和系统的对话内容作为上下文,利用上下文在单词和句子层面的重要、时序信息抽取上下文深层语义,具体分两步,首先在单词层面利用第一层注意力机制LSTM抽取句子语义,其次在句子层面利用第二层注意力机制LSTM抽取上下文语义;其中,注意力机制保留重要信息,且注意力机制通过知识图谱作为外部知识来实现,LSTM保留时序信息,这些信息共同识别用户意图,识别结果用来判定是否开启下一个会话。本发明专利技术利用知识图谱和LSTM学习了上下文深层语义、利用注意力机制过滤掉无用信息,从而提高了识别用户意图的效率和准确率。

A Multi-Round Dialogue Management Method Based on Hierarchical Attention LSTM and Knowledge Map

A multi-round dialogue management method based on hierarchical attention LSTM and knowledge map belongs to the field of natural language processing. The core idea of this method is to take the conversational content of the user and the system as the context, and extract the deep context semantics by using the important temporal information of the context at the word and sentence level. It is divided into two steps. First, the first level of attention mechanism is used to extract the sentence semantics at the word level, and secondly, at the sentence level. The second layer of attention mechanism LSTM is used to extract context semantics, in which attention mechanism retains important information, and attention mechanism is realized by knowledge map as external knowledge. LSTM retains temporal information, which identifies user intentions together and identifies results to determine whether to open the next session. The invention utilizes knowledge atlas and LSTM to learn deep context semantics and uses attention mechanism to filter out useless information, thereby improving the efficiency and accuracy of identifying user intentions.

【技术实现步骤摘要】
一种层次注意力LSTM和知识图谱的多轮对话管理方法
本专利技术涉及一种层次注意力LSTM和知识图谱的多轮对话管理方法,属于自然语言处理领域。
技术介绍
随着计算技术与人工智能技术的发展,对话管理系统得到了越来越广泛的研究,尤其是面向特定任务的对话管理系统,可以用于机票预订等客户服务中,帮助企业有效地降低运营成本,具有重要的应用价值。根据对话系统智能化程度的不同,智能对话系统的会话表现形式可简单分为单轮对话和多轮对话两种。单轮对话较简单,没有记忆功能,而多轮对话问题和回答之间是有联系的,意图识别是多轮对话管理系统的关键子任务,只有深入理解用户的意图才能判断是否该轮对话已经完成。早期对话系统基本是基于规则的,可以和用户进行简单的对话。然而基于规则的方法过于依赖根据经验设置的有限模型参数或是一些人工设置的模板,虽然简单有效,但是只能应用在用户提问具有明显的词汇且无指代的场景中,因此这种方法离复杂场景下的实用化还有很大差距。在大数据时代背景下,多轮对话管理系统取得了重大的突破,大量的对话数据可以从实际的场景中获得,随着深度神经网络在越来越多的基于大量数据来进行训练的任务中取得显著的成果,基于深度学习的方法成为多轮对话管理系统研究的主流。但是目前基于深度学习的方法也存在一些问题,主要表现在两方面,一方面是没有将多轮对话中的上下文利用起来,在同一轮对话中,用户的提问,系统的回答和当前用户的问题都有一定的联系;另一方面没有结合外部知识,只是数据驱动的方法,在准确率上存在一定的差距。随着人工智能对数据处理和理解需求逐日增加,知识图谱得到了越来越广泛的研究,简单来说知识图谱就是描述概念、实体、事件及其之间的关系的一种结构,用“属性-值“来刻画它的内在特性,比如说人有年龄、身高、体重等属性。因此这样一个知识库放入到多轮对话管理系统中,提高了用户意图判断的正确率。本专利技术方法将会话中的用户和系统对话通过层次注意力机制的LSTM进行深层语义提取,并联合知识图谱将用户意图和对话语义进行有机的结合,从而高效的识别当前问题的用户意图,完成多轮对话管理系统中的关键任务。
技术实现思路
本专利技术的目的是为了解决现有多轮对话管理方法存在用户意图判断中缺少上下文信息和外部知识的技术缺陷,提出了一种层次注意力LSTM和知识图谱的多轮对话管理方法。本方法的核心思想为:将会话中用户和系统的对话内容作为上下文,利用上下文在单词和句子层面的重要、时序信息抽取上下文深层语义,具体分两步,首先在单词层面利用第一层注意力机制LSTM抽取句子语义,其次在句子层面利用第二层注意力机制LSTM抽取上下文语义;其中,注意力机制保留重要信息,且注意力机制通过知识图谱作为外部知识来实现,LSTM保留时序信息,这些信息共同识别用户意图,识别结果用来判定是否开启下一个会话。本专利技术利用知识图谱和LSTM学习了上下文深层语义、利用注意力机制过滤掉无用信息,从而提高了识别用户意图的效率和准确率。为实现上述目的,本专利技术采用如下技术方案:首先进行相关定义,具体如下:定义1:query,是指用户会向系统提出的一些问题,每一个query都会对应一个用户意图,query又分为两类:firstquery和非firstquery;其中,firstquery和非firstquery,是指在一个会话中的用户的第一个query,相对应的会话中剩余的query就称为非firstquery;定义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是否为会话的firstquery,如果是则执行步骤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个句子的语义向量、上下文语义向量序列;其中,上下文由若干个有序的句子构成,对于会话中的任意一个非firstquery而言,其前面出现的所有对话称为当前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得到的隐含层向量,计算输入本文档来自技高网
...

【技术保护点】
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:上下文,由若干个有序的句子构成,对于会话中的任意一个非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个句子的语义向量、上下文语义向量序列;其中,上下文由若干个有序的句子构成,对于会话中的任意一个非firstquery而言,其前面出现的所有对话称为当前query的上下文;步骤4具体又包括如下子步骤:步骤4.1将s赋值1;步骤4.2训练上下文单词的词向量、计算上下文中句子的隐含层向量、词向量权重和上下文中第s个句子语义向量,具体又包括如下子步骤:步骤4.2.1利用word2vec算法训练上下文所有单词的词向量;步骤4.2.2计算Contexts的隐含层向量,记为hs,其中,Contexts表示上下文中第s个句子的语义向量;hs具体通过公式(1)计算:...

【技术特征摘要】
1.一种层次注意力LSTM和知识图谱的多轮对话管理方法,其特征在于:核心思想为:将会话中用户和系统的对话内容作为上下文,利用上下文在单词和句子层面的重要、时序信息抽取上下文深层语义,具体分两步,首先在单词层面利用第一层注意力机制LSTM抽取句子语义,其次在句子层面利用第二层注意力机制LSTM抽取上下文语义;其中,注意力机制保留重要信息,且注意力机制通过知识图谱作为外部知识来实现,LSTM保留时序信息,这些信息共同识别用户意图,识别结果用来判定是否开启下一个会话;利用知识图谱和LSTM学习了上下文深层语义、利用注意力机制过滤掉无用信息,从而提高了识别用户意图的效率和准确率;为实现上述目的,采用如下技术方案:首先进行相关定义,具体如下:定义1:query,是指用户会向系统提出的一些问题,每一个query都会对应一个用户意图,query又分为两类:firstquery和非firstquery;其中,firstquery和非firstquery,是指在一个会话中的用户的第一个query,相对应的会话中剩余的query就称为非firstquery;定义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是否为会话的firstquery,如果是则执行步骤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个句子的语义向量、上下文语义向量序列;其中,上下文由若干个有序的句子构成,对于会话中的任意一个非firstquery而言,其前面出现的所有对话称为当前query的上下文;步骤4具体又包括如下子步骤:步骤4.1将s赋值1;步骤4.2训练上下文单词的词向量、计算上下文中句子的隐含层向量、词向量权重和上下文中第s个句子语义向量,具体又包括如下子步骤:步骤4.2.1利用word2vec算法训练上下文所有单词的词向量;步骤4.2.2计算Contexts的隐含层向量,记为h...

【专利技术属性】
技术研发人员:高扬王丹其他发明人请求不公开姓名
申请(专利权)人:北京寻领科技有限公司
类型:发明
国别省市:北京,11

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

1