基于知识库和深度学习的用户查询意图理解方法及系统与流程

文档序号:19129115发布日期:2019-11-13 02:26阅读:331来源:国知局
基于知识库和深度学习的用户查询意图理解方法及系统与流程

本发明属于用户查询意图理解方法和系统技术领域,具体涉及一种基于知识库和深度学习的用户查询意图理解方法还涉及一种基于知识库和深度学习的用户查询意图理解系统。



背景技术:

用户查询意图的理解一直是搜索引擎技术中的核心问题,解决好此问题可以极大的提升用户体验。同时,随着人工智能的兴起,人机对话技术成为热点,而该技术也需要依托准确的用户查询意图理解。因此,如何准确理解用户查询意图的难题广泛地引起了学术界和工业界的关注。

目前,查询意图理解的主流方法是机器学习方法。该类方法首先建立意图分类体系,然后获取各分类的训练语料,训练意图分类器,最后应用该分类器,获得查询文本的分类结果。

然而,由于中文语言的博大精深,训练语料往往存在数据稀疏的问题,即语料不能覆盖大部分的中文表达,不能全面表达特定意图。当查询语句中的概念特征不被训练语料覆盖时,意图分类器将不能得出准确的结果。通过人工标注更多的语料数据或者采用一些半监督的方法可以部分克服这一弊端,但需要耗费大量的人力。再者,用户的查询语句通常比较简短,特征有限,查询语句的语义表示成为一个难题。传统的方法通常基于词袋模型,这种方法存在高纬度和高稀疏的问题,特征表达能力很弱,且忽略了上下文关系,无法提取出抽象的语义信息。

解决好查询语句的概念特征覆盖问题和语义表达问题将会有助于准确理解用户查询意图,对搜索引擎优化和人机对话应用产生有益的效果;为此我们提出一种基于知识库和深度学习的用户查询意图理解方法及系统。



技术实现要素:

本发明的目的在于提供一种基于知识库和深度学习的用户查询意图理解方法及系统,以解决上述背景技术中提出的传统的方法通常基于词袋模型,这种方法存在高纬度和高稀疏的问题,特征表达能力很弱,且忽略了上下文关系,无法提取出抽象的语义信息的问题。

为实现上述目的,本发明提供如下技术方案:一种基于知识库和深度学习的用户查询意图理解方法,包括如下步骤:

步骤一:以特定意图领域的种子查询为起点,爬取中文维基百科知识库内与该领域相关的概念和分类标签;

步骤二:建立特定领域的概念链接图;

步骤三:利用随机游走算法,计算得到链接图中的概念节点属于特定意图领域的概率;

步骤四:获取用户查询语句,检索已建立的链接图,若概念节点覆盖了语句,则直接返回概念;否则利用深度学习模型,对查询语句和各个维基概念进行匹配打分,找到其中与查询语句最相似的前k个概念,并返回;

步骤五:获取步骤四中返回的概念,利用步骤三中计算出的概念的意图概率,加和得出语句属于特定意图领域的概率,并与相应的阈值比较,判断是否属于该意图。

作为本发明的一种优选的技术方案,所述步骤一包括:

s11标注少量的特定意图领域的查询语句,将语句中的概念作为种子概念;

s12找到种子概念对应的维基百科概念和概念的分类标签,以此为起点,并利用分类标签的母分类标签和子分类标签,分类标签对相关概念的包含关系和概念之间的链接关系3种关系,爬虫获得与该特定意图领域相关的所有维基百科概念、分类标签及概念的文章摘要。

作为本发明的一种优选的技术方案,所述步骤二包括:

s21以步骤s12爬取得到的m个概念和n个分类标签作为节点,若分类标签存在上下位关系、分类标签和概念存在包含关系、概念之间存在有效链接关系,则相应的分类标签之间、概念之间、分类标签与概念之间存在边,所有的节点与边共同构成无向链接图;

s22记录概念间有效链接的次数,获得链接图的维度为(m+n)×(m+n)的权重矩阵w,其中元素wij表示第i个节点和第j个节点之间的链接次数。

作为本发明的一种优选的技术方案,步骤s21和步骤s22中的有效链接的定义是:若a概念和b概念在其百科文章中相互链接,则a概念和b概念存在有效链接。

作为本发明的一种优选的技术方案,所述步骤四包括:

s41获取用户查询语句,检索已建立的链接图,判断语句是否被概念节点所覆盖;

s42若s41判断结果为是,则直接返回概念;

s43若s41判断结果为否,将查询语句和各个维基概念的文本输入深度学习模型中,获得两者的匹配得分,得分越高,说明两者的相似度越高,返回前k个最相似的概念。

作为本发明的一种优选的技术方案,步骤s43中的维基概念的文本为该概念的文章摘要。

作为本发明的一种优选的技术方案,步骤s43中的深度学习模型包括输入层、表示层和匹配层三个层次结构。

作为本发明的一种优选的技术方案,对于特定领域的意图理解问题,可将其当作一个二分类问题;对于多个领域的意图理解问题,可将其当作多个特定领域的意图理解问题,即多个二分类问题。

本发明还公开了一种基于知识库和深度学习的用户查询意图理解系统,包括:

数据爬取模块:爬取与特定意图领域相关的维基百科概念、分类标签,以及概念的文章摘要;

链接图构建模块:将爬取的概念和分类标签作为节点,记录其中有链接关系的节点,计算概念间相互链接的次数,并生成特定意图领域的链接权重矩阵;

链接图计算模块:实施链接图的随机游走算法,包括:生成初始状态向量、转移矩阵,迭代计算直至稳定状态,获得稳定状态向量;

模型构建模块:用于深度学习模型的搭建和训练,获得可以进行查询语句和概念文本相似度匹配的深度神经网络模型;

链接图检索模块:获取查询语句,检索链接图,判断查询语句是否被链接图中的概念覆盖,如果是,则返回该概念;

模型应用模块:获取查询语句和维基概念文本,输入深度学习模型中,进行相似度匹配,返回前k个最相关的概念;

意图判断模块:获取前述模块返回的概念和其属于特定意图领域的概率,相加得到查询语句的概率,与相应的阈值相比较,判断其是否属于特定意图

与现有技术相比,本发明的有益效果是:

(1)仅需要标注少量的种子查询语句,避免了人工去标注大量的样本数据;

(2)利用目前最全面的半结构化知识库-维基百科,爬取其中与意图领域相关的所有概念,并以这些概念集合作为意图表示的工具,最大程度地保证覆盖查询语句中的概念特征;

(3)利用深度学习模型进行查询语句和维基概念的相似度匹配,以卷积神经网络(cnn)和长短期记忆网络(lstm)提取文本的语义向量,相比于词袋法,该方法抽取的语义向量具有低纬度的特点,并有更加强大的语义特征表达能力。

附图说明

图1为本发明的方法流程图;

图2为本发明的深度学习模型结构图;

图3为本发明的系统结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

意图识别问题就是让搜索引擎或者人机对话等应用等能够识别出与用户输入的查询最相关的信息;例如用户在搜索引擎中输入查询“今天多少度”时,通过用户意图识别发现该用户是想了解天气,直接把今天当地的天气情况作为结果返回给用户,就会节省用户的搜索点击次数,缩短搜索时间,大大提升使用体验。

请参阅图1、图2和图3,本发明提供一种技术方案:一种基于知识库和深度学习的用户查询意图理解方法,包括如下步骤:

步骤一:以特定意图领域的种子查询为起点,爬取中文维基百科知识库内与该领域相关的概念和分类标签;包括:

s11标注少量的特定意图领域的查询语句,将语句中的概念作为种子概念;

s12找到种子概念对应的维基百科概念和概念的分类标签,以此为起点,并利用分类标签的母分类标签和子分类标签,分类标签对相关概念的包含关系和概念之间的链接关系3种关系,爬虫获得与该特定意图领域相关的所有维基百科概念、分类标签及概念的文章摘要;

步骤二:建立特定领域的概念链接图;包括:

s21以步骤s12爬取得到的m个概念和n个分类标签作为节点,若分类标签存在上下位关系、分类标签和概念存在包含关系、概念之间存在有效链接关系,则相应的分类标签之间、概念之间、分类标签与概念之间存在边,所有的节点与边共同构成无向链接图;

s22记录概念间有效链接的次数,获得链接图的维度为(m+n)×(m+n)的权重矩阵w,其中元素wij表示第i个节点和第j个节点之间的链接次数;

步骤s21和步骤s22中的有效链接的定义是:若a概念和b概念在其百科文章中相互链接,则a概念和b概念存在有效链接;

步骤三:利用随机游走算法,计算得到链接图中的概念节点属于特定意图领域的概率;包括:

s31选取链接图中少量的种子节点(概念或分类标签)作为起点,(m+n)维的种子向量x={x1,x2,x3,…,xm+n}表示节点是否是种子,若第i个节点为种子节点,则xi为1,否则为0;

s32由s22中的权重矩阵w构造(m+n)×(m+n)维的转移矩阵v,其中元素vji表示从节点xi转移到节点xj的概率,并进行归一化如公式(1):

vji=wij/∑kwik(1)

s33由s31中的种子向量x构造初始状态向量s0=(s1,s2,s3,…,sm+n),其中

s34开始随机游走过程,由转移矩阵v和初始状态向量s0迭代按公式(2)进行计算,直至s收敛至稳定状态向量s*,s*中的值表示节点属于特定意图领域的概率,公式(2)中,α为预设参数,α∈[0,1),st为第t次迭代的结果,为偏好向量,

步骤四:获取用户查询语句,检索已建立的链接图,若概念节点覆盖了语句,则直接返回概念;否则利用深度学习模型,对查询语句和各个维基概念进行匹配打分,找到其中与查询语句最相似的前k个概念,并返回;包括:

s41获取用户查询语句,检索已建立的链接图,判断语句是否被概念节点所覆盖;

s42若s41判断结果为是,则直接返回概念;

s43若s41判断结果为否,将查询语句和各个维基概念的文本输入深度学习模型中,获得两者的匹配得分,得分越高,说明两者的相似度越高,返回前k个最相似的概念;

其中,步骤s43中的维基概念的文本为该概念的文章摘要;步骤s43中的深度学习模型包括输入层、表示层和匹配层三个层次结构,

输入层采用embedding的方式,将查询语句和概念文本转化成相应的词向量矩阵或者字向量矩阵;

表示层采用卷积神经网络(cnn)或者长短期记忆网络(lstm),将输入层的矩阵转化为低纬度的语义向量;

匹配层采用cosine距离来计算两个语义向量的距离;

步骤s43中的深度学习模型的训练采用维基百科数据进行训练;

步骤五:获取步骤四中返回的概念,利用步骤三中计算出的概念的意图概率,加和得出语句属于特定意图领域的概率,并与相应的阈值比较,判断是否属于该意图。

对于特定领域的意图理解问题,可将其当作一个二分类问题;对于多个领域的意图理解问题,可将其当作多个特定领域的意图理解问题,即多个二分类问题。

以“烹饪”这个意图领域作为实施例,进行具体阐述。

对于步骤一,包括:

s11标记少量的与“烹饪”这个查询意图领域的语句,如:“最好吃的中国菜”、“糖醋排骨怎么做”,这两个种子查询中,包含了“中国菜”和“糖醋排骨”两个种子概念。

s12搜索维基百科,查“中国菜”可以找到“中国菜”概念,相应的“中国菜”分类标签,与之链接的“凉菜”、“酱油”、“炒”多个概念;查“糖醋排骨”可以找到“糖醋排骨”概念,相应的“淮扬菜”和“排骨料理”两个分类标签,与之链接的“排骨”、“白糖”多个概念,顺着新增的概念,可以爬取其他相关新概念;顺着分类标签和分类标签的母分类标签、子分类标签,可以爬取该标签下其他新概念,以此方法,可以爬取所有与“烹饪”这个查询意图相关的概念、分类标签及每个概念的文章摘要。

对于步骤二,包括:

s21以爬取得到的m个概念和n个分类标签作为节点,若分类标签存在上下位关系、分类标签和概念存在包含关系、概念之间存在相互链接关系,则相应的分类标签之间、概念之间、分类标签与概念之间存在边,所有的节点与边共同构成无向链接图;

s22记录概念间有效链接的次数,获得链接图的维度为(m+n)×(m+n)的权重矩阵w,其中元素wij表示第i个节点和第j个节点之间的链接次数。

对于步骤三,包括:

s31选取链接图中少量的种子节点(概念或分类标签)作为起点,(m+n)维的种子向量x={x1,x2,x3,…,xm+n}表示节点是否是种子,若第i个节点为种子节点,则xi为1,否则为0;

s32由s22中的权重矩阵w构造(m+n)×(m+n)维的转移矩阵v,其中元素vji表示从节点xi转移到节点xj的概率,并进行归一化如公式(1):

vji=wij/∑kwik(1)

s33由s31中的种子向量x构造初始状态向量s0=(s1,s2,s3,…,sm+n),其中

s34开始随机游走过程,由转移矩阵v和初始状态向量s0迭代按公式(2)进行计算,直至s收敛至稳定状态向量s*,s*中的值表示节点属于特定意图领域的概率,公式(2)中,α为预设参数,α∈[0,1),st为第t次迭代的结果,为偏好向量,

对于步骤四,包括:

s41如果输入的查询语句是“鱼香肉丝的做法”,被链接图中的“鱼香肉丝”概念节点覆盖,则返回“鱼香肉丝”;如果输入“口水鸭的做法”,“口水鸭”未在链接图中,将进入步骤s42;

s42以每个维基概念的文章摘要作为该概念的语义表达,将查询语句和各个维基概念文本输入如图2所示的深度学习模型中,获得两者的匹配得分,得分越高,说明两者的相似度越高,返回前k个匹配得分最高的概念,比如对“口水鸭的做法”这个查询返回最相似的“口水鸡”、“川菜”概念。

本发明还公开了一种基于知识库和深度学习的用户查询意图理解系统,包括:

数据爬取模块:爬取与特定意图领域相关的维基百科概念、分类标签,以及概念的文章摘要;

链接图构建模块:将爬取的概念和分类标签作为节点,记录其中有链接关系的节点,计算概念间相互链接的次数,并生成特定意图领域的链接权重矩阵;

链接图计算模块:实施链接图的随机游走算法,包括:生成初始状态向量、转移矩阵,迭代计算直至稳定状态,获得稳定状态向量;

模型构建模块:用于深度学习模型的搭建和训练,获得可以进行查询语句和概念文本相似度匹配的深度神经网络模型;

链接图检索模块:获取查询语句,检索链接图,判断查询语句是否被链接图中的概念覆盖,如果是,则返回该概念;

模型应用模块:获取查询语句和维基概念文本,输入深度学习模型中,进行相似度匹配,返回前k个最相关的概念;

意图判断模块:获取前述模块返回的概念和其属于特定意图领域的概率,相加得到查询语句的概率,与相应的阈值相比较,判断其是否属于特定意图。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1