本申请涉及计算机领域,尤其涉及一种查询信息的处理方法、装置、存储介质和电子装置。
背景技术:
随着互联网的快速发展,网络内容涵盖各行各业,帮助用户快速搜索到想要的内容是搜索引擎的基本目标,但是用户搜索意图广泛,用户输入的查询信息(query)表达常常不规范,存在模糊性和歧义性,给查询信息的意图理解带来很大的困难,而查询信息的意图理解是否正确,直接影响到搜索结果的质量。
目前查询信息的意图理解主要包括基于模板匹配方法和基于意图分类和槽填充的机器学习方法。基于模板匹配的方法,需要人工预先定义常见的查询信息模板,基于用户的查询信息匹配对应的模板,从而识别出对应的意图,这种方法由于查询信息表达的多样性,无法配置足够的模板,导致覆盖范围小,无法用模板准确表达出各种查询信息的不同语义,并且随着业务的发展,模板规则也越来越复杂,难以维护。基于意图分类和槽填充的机器学习的方法,需要首先建立意图分类体系,以及不同分类下的需要填充的要素,然后通过标注训练数据,训练意图分类器和槽填充模型。然而,这种方法比较依赖训练语料,标注训练语料耗费大量的人力,增加新的意图类别或者槽位,需要标注对应的训练数据,重新进行模型训练。另一方面,由于语言的博大精深,很多查询信息的意图理解都需要足够的先验知识,目前的方法难以利用已有的先验知识,当训练语料稀疏情况下,无法正确理解查询信息的意图。
针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
本申请提供了一种查询信息的处理方法、装置、存储介质和电子装置,以至少解决相关技术中对查询信息的意图进行理解的准确率较低的技术问题。
根据本申请实施例的一个方面,提供了一种查询信息的处理方法,包括:
对获取到的查询信息进行实体识别,得到所述查询信息对应的多个实体词,其中,所述查询信息用于对数据库中存储的数据进行查询;
针对每个实体词,从知识图谱包括的实体节点中获取与该实体词匹配的至少一个候选实体,其中,所述知识图谱是为所述数据库中存储的数据构建的;
基于各实体词对应的候选实体构建所述查询信息对应的语义结构图,其中,所述语义结构图中的语义节点表示了各实体词的语义,所述语义结构图中的连接线表示了各语义节点与待查询的数据之间的语义关系;
根据所述语义结构图对所述数据库进行查询。
根据本申请实施例的另一方面,还提供了一种查询信息的处理装置,包括:
识别模块,用于对获取到的查询信息进行实体识别,得到所述查询信息对应的多个实体词,其中,所述查询信息用于对数据库中存储的数据进行查询;
获取模块,用于针对每个实体词,从知识图谱包括的实体节点中获取与该实体词匹配的至少一个候选实体,其中,所述知识图谱是为所述数据库中存储的数据构建的;
构建模块,用于基于各实体词对应的候选实体构建所述查询信息对应的语义结构图,其中,所述语义结构图中的语义节点表示了各实体词的语义,所述语义结构图中的连接线表示了各语义节点与待查询的数据之间的语义关系;
查询模块,用于根据所述语义结构图对所述数据库进行查询。
根据本申请实施例的另一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本申请实施例中,采用对获取到的查询信息进行实体识别,得到查询信息对应的多个实体词,其中,查询信息用于对数据库中存储的数据进行查询;针对每个实体词,从知识图谱包括的实体节点中获取与该实体词匹配的至少一个候选实体,其中,知识图谱是为数据库中存储的数据构建的;基于各实体词对应的候选实体构建查询信息对应的语义结构图,其中,语义结构图中的语义节点表示了各实体词的语义,语义结构图中的连接线表示了各语义节点与待查询的数据之间的语义关系;根据语义结构图对数据库进行查询的方式,利用知识图谱的先验知识对查询信息进行理解,将查询信息中不同成分关联到知识图谱中的实体,在语义结构图中使用实体词对应的候选实体构成语义节点表示查询信息中各实体词的语义,使用连接线表示了各语义节点与待查询的数据之间的语义关系,有效利用查询信息中实体词在知识图谱中的属性和关系,构建对应的语义结构图来表示查询信息的语义,语义结构图中能够包括丰富的实体与待查询的数据之间语义关系的信息,达到了更准确理解查询信息中各个成分与待查询的数据之间语义的目的,从而实现了提高对查询信息的意图进行理解的准确率的技术效果,进而解决了相关技术中对查询信息的意图进行理解的准确率较低的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的查询信息的处理方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的查询信息的处理方法的流程图;
图3是根据本申请可选的实施方式的一种查询页面的示意图;
图4是根据本申请可选的实施方式的实体识别的示意图;
图5是根据本申请一个可选的实施方式的语义子图的实体图;
图6是根据本申请可选实施例的基于知识图谱的query意图理解过程的示意图;
图7是根据本申请实施例的一种可选的查询信息的处理装置的示意图一;
图8是根据本申请实施例的一种可选的查询信息的处理装置的示意图二;
图9是根据本申请实施例的一种可选的查询信息的处理装置的示意图三;
图10是根据本申请实施例的一种可选的查询信息的处理装置的示意图四;
图11是根据本申请实施例的一种可选的查询信息的处理装置的示意图五;
图12是根据本申请实施例的一种电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一方面,提供了一种查询信息的处理的方法实施例。
可选地,在本实施例中,上述查询信息的处理方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如多媒体服务、游戏服务、应用服务、理财服务、购物服务等),可在服务器上或独立于服务器设置数据库,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于pc、手机、平板电脑等。本申请实施例的查询信息的处理方法可以由服务器103来执行,也可以由终端101来执行,还可以是由服务器103和终端101共同执行。其中,终端101执行本申请实施例的查询信息的处理方法也可以是由安装在其上的客户端来执行。
图2是根据本申请实施例的一种可选的查询信息的处理方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤s202,对获取到的查询信息进行实体识别,得到所述查询信息对应的多个实体词,其中,所述查询信息用于对数据库中存储的数据进行查询;
步骤s204,针对每个实体词,从知识图谱包括的实体节点中获取与该实体词匹配的至少一个候选实体,其中,所述知识图谱是为所述数据库中存储的数据构建的;
步骤s206,基于各实体词对应的候选实体构建所述查询信息对应的语义结构图,其中,所述语义结构图中的语义节点表示了各实体词的语义,所述语义结构图中的连接线表示了各语义节点与待查询的数据之间的语义关系;
步骤s208,根据所述语义结构图对所述数据库进行查询。
通过上述步骤s202至步骤s208,利用知识图谱的先验知识对查询信息进行理解,将查询信息中不同成分关联到知识图谱中的实体,在语义结构图中使用实体词对应的候选实体构成语义节点表示查询信息中各实体词的语义,使用连接线表示了各语义节点与待查询的数据之间的语义关系,有效利用查询信息中实体词在知识图谱中的属性和关系,构建对应的语义结构图来表示查询信息的语义,语义结构图中能够包括丰富的实体与待查询的数据之间语义关系的信息,达到了更准确理解查询信息中各个成分与待查询的数据之间语义的目的,从而实现了提高对查询信息的意图进行理解的准确率的技术效果,进而解决了相关技术中对查询信息的意图进行理解的准确率较低的技术问题。
另一方面,通过知识图谱构造语义结构图来表示查询信息的意图,不需要预先定义查询信息模板或者意图类别,随着业务的发展,也就无需新建更多的模板或者意图类别,只要根据业务需求对知识图谱进行相应的更新即可,能够更好的适应业务的扩展。此外,搜索引擎中也无需存储大量的模板或者意图类别,节省了存储空间。使用能够准确表达查询意图的语义结构图对数据进行查询,能够得到更加准确的数据返回给用户,使得用户的查询体验得到提升。
在步骤s202提供的技术方案中,查询信息(query)用于对数据库进行查询,可以但不限于是用户通过搜索框输入的。
可选地,在本实施例中,数据库用于存储被查询的数据,可以根据不同的数据需求建立不同的数据库,比如:影视应用可以建立影视信息的数据库,购物应用可以建立购物信息的数据库,游戏应用可以建立游戏信息的数据库等等。
在一个可选的实施方式中,图3是根据本申请可选的实施方式的一种查询页面的示意图,如图3所示,以影视搜索为例,影视查询页面提供了搜索框,用户可以在搜索框中输入需要查询的内容(比如:某爷感人电影),点击搜索按钮后搜索引擎会将用户输入的内容(某爷感人电影)作为查询信息在影视信息的数据库中进行查询。首先对查询信息“某爷感人电影”进行实体识别,可以识别出三个实体词,包括“某爷”、“感人”和“电影”。
可选地,在本实施例中,对查询信息进行实体识别的方式可以但不限于使用命名实体识别技术,识别文本中具有特定意义的实体,可以包括人名、地名、机构名、专有名词、形容词等。需要识别的实体可以根据需求进行设置,比如:在影视娱乐搜索方面,识别的实体可以但不限于包括:影视剧、人物、角色、游戏、音乐等实体名称。
在上述步骤s202中,对获取到的所述查询信息进行实体识别,得到所述查询信息对应的多个初始实体包括:
s11,对所述查询信息进行纠错处理,得到修正信息;
s12,对所述修正信息进行分词处理,得到多个词组;
s13,针对每个词组,对该词组进行实体识别;
s14,在该词组被识别为实体的情况下,将该词组确定为一个实体词,并获取该实体词对应的实体词性和实体类型。
可选地,在本实施例中,在分词处理之前可以对查询信息进行纠错处理,从而得到能够更加准确表达意图的修正信息,对修正信息进行分词处理,使得得到的多个词组更加准确,保证了后续进行实体识别的准确性。
可选地,在本实施例中,纠错处理可以但不限于包括以下方面:错别字修改和语法更正,对查询信息进行纠错处理的方式可以但不限于首先通过预设的纠错算法或者训练好的纠错模型查找查询信息中是否有错别字,对错别字进行修改,再继续通过纠错算法或者纠错模型检测修改了错别字后的查询信息中是否有语法错误,自动对语法错误进行更正,从而得到修正信息。
可选地,在本实施例中,对于识别为实体的词组,将该词组确定为一个实体词,并获取该实体词对应的实体词性和实体类型。从而能够更加准确的识别出该词组所要表达的意图。
在一个可选的实施方式中,图4是根据本申请可选的实施方式的实体识别的示意图,如图4所示,用户在搜索框中输入的可能是“某爷敢人电影”,将其作为查询信息对其进行纠错处理,更改其中的错别字得到修正信息“某爷感人电影”,对修正信息“某爷感人电影”进行分词,得到多个词组“某爷”、“感人”、“电影”,对每个词组进行实体识别,识别出“某爷”为实体,将“某爷”作为一个实体词,获取其对应的实体词性和实体类型,得到“某爷”的实体词性为专有名词nr,实体类型为人名词汇person_word,用“某爷/nr/person_word”来表示实体词“某爷”对应的信息;识别出“感人”为实体,将“感人”作为一个实体词,获取其对应的实体词性和实体类型,得到“感人”的实体词性为形容词a,并且没有实体类型,用“感人/a”来表示实体词“感人”对应的信息;识别出“电影”为实体,将“电影”作为一个实体词,获取其对应的实体词性和实体类型,得到“电影”的实体词性为名词n,并且没有实体类型,用“电影/n”来表示实体词“电影”对应的信息。
在步骤s204提供的技术方案中,知识图谱可以但不限于是基于某个知识领域的知识而构建的可视化结构,知识图谱能够清晰的展示出该知识领域的知识之间的相互联系。数据库对应的知识图谱中展示了数据库中存储的数据对应的知识领域中的知识之间的相互联系,比如:对于影视娱乐信息,可以构建关于影视娱乐百科等领域的知识图谱,用来展示影视娱乐方面知识之间的关联关系,将该影视知识图谱应用到影视娱乐数据的数据库中,能够通过可视化的方式直观的展现出影视娱乐方面的知识之间的联系。对于医疗方面的知识,可以构建医疗领域的知识图谱,用来展示医疗相关的知识之间的关联关系,可以将该医疗知识图谱应用到医疗数据的数据库中,能够展现出医疗方面知识之间的相互联系。
可选地,在本实施例中,可以但不限于通过以下两种方式之一获取与各个实体词匹配的至少一个候选实体:
方式一,首先获取知识图谱中实体标识与该实体词相同的实体节点,这里的实体标识可以但不限于包括实体名称(name)和实体别称(alias),实体名称和实体别称中有一项是相同的即可确认为实体标识相同。对于实体标识与该实体词相同的实体节点,再从中获取与该实体词的实体信息(实体词性和/或实体类型)相同的实体节点作为该实体词对应的所述至少一个候选实体。
在上述步骤s204中,针对每个实体词,从知识图谱包括的实体节点中获取与该实体词匹配的至少一个候选实体包括:
s21,从所述知识图谱包括的实体节点中,获取实体名称与该实体词相同的实体节点;
s22,从实体名称与该实体词不相同的实体节点中获取实体别称与该实体词相同的实体节点,其中,实体标识包括所述实体名称和所述实体别称;
s23,从实体标识与该实体词相同的实体节点中,获取实体信息与该实体词的实体信息相同的实体节点作为该实体词对应的所述至少一个候选实体,其中,实体信息包括实体词性和/或实体类型。
可选地,在本实施例中,可以首先使用实体名称和实体别称对知识图谱中的实体节点进行初步的筛选,再在初步筛选出的实体节点中精确定位出与该实体词的实体信息也相同的实体节点作为该实体词对应的候选实体,从而使得匹配出的候选实体能够精确表达该实体词的语义。
方式二,采用基于特征向量的语义召回方式确定候选实体,即:将实体词、实体词的实体词性和实体类型作为特征的因素生成实体特征向量,使用实体特征向量与每个实体节点的节点特征向量进行节点相似度的计算,获取知识图谱中对应的节点相似度较高的实体节点作为候选实体。
在上述步骤s204中,针对每个实体词,从知识图谱包括的实体节点中获取与该实体词匹配的至少一个候选实体包括:
s31,使用该实体词、该实体词的实体词性和该实体词的实体类型生成该实体词对应的实体特征向量;
s32,计算所述实体特征向量与所述知识图谱包括的每个实体节点的节点特征向量之间的节点相似度;
s33,从所述知识图谱包括的实体节点中,获取所述节点相似度高于目标相似度的实体节点作为该实体词对应的所述至少一个候选实体。
可选地,在本实施例中,生成该实体词对应的实体特征向量的方式可以但不限于包括:使用特征向量的生成算法对该实体词、该实体词的实体词性和该实体词的实体类型进行计算,或者,将该实体词、该实体词的实体词性和该实体词的实体类型输入到训练好的特征提取模型中,由特征提取模型自动生成实体特征向量。
可选地,在本实施例中,知识图谱包括的每个实体节点的节点特征向量可以但不限于是通过上述相同的方式生成的。
可选地,在本实施例中,目标相似度可以但不不限于设定为100%,或者也可以设定为98%、95%等等数值,以容许一定的误差出现。
在步骤s206提供的技术方案中,语义结构图用于根据实体节点之间的连接关系展示查询信息的语义。语义结构图可以但不限于通过实体节点和连接实体节点的连接线来绘制的,语义结构图中的语义节点表示了各实体词的语义,语义结构图中的连接线表示了各语义节点与待查询的数据之间的语义关系。
可选地,在本实施例中,每个实体词在语义结构图中均对应了一个语义节点,该语义节点可以但不限于为该实体词对应的至少一个候选实体中的一个实体。
在上述步骤s206中,基于各实体词对应的候选实体构建所述查询信息对应的所述语义结构图包括:
s41,以预设节点作为初始的当前语义结构图,对各实体词执行以下操作,直至遍历各实体词后得到所述语义结构图,其中,所述预设节点用于指示待查询的数据在当前语义结构图中的位置:
s411,从各实体词中获取一个未遍历的实体词作为当前实体词;
s412,从所述当前实体词对应的至少一个候选实体中筛选出一个当前目标实体;
s413,从所述知识图谱中获取所述当前目标实体所具有的连接关系;
s414,将所述当前目标实体作为一个语义节点添加到当前语义结构图中;
s415,在该语义节点与所述预设节点之间构建连接线,并将所述当前目标实体所具有的连接关系赋予该连接线,得到下一个当前语义结构图。
可选地,在本实施例中,可以通过上述循环过程来将各个实体词对应的某个候选实体逐个添加到语义结构图中从而构建出最终的语义结构图。
可选地,在本实施例中,获取每个当前目标实体在知识图谱中对应的实体节点所具有的连接关系,这些连接关系所连接的另一个实体节点可能是用户想要搜索的内容,将实体节点所具有的连接关系赋予语义节点与预设节点之间构建的连接线来表示各语义节点与待查询的数据之间的语义关系。
可选地,在本实施例中,预设节点(q节点)用于指示待查询的数据在当前语义结构图中的位置,使用q节点和多个目标实体作为语义结构图中的节点,使用连接关系对q节点和多个语义节点进行连接,构成语义结构图,任何可以替换q节点的实体都可能是用户想要查找的结果。
可选地,在本实施例中,对于每个当前正在处理的实体词,从当前实体词对应的至少一个候选实体中筛选出一个候选实体作为当前目标实体,筛选的方式可以是随机筛选出当前目标实体,也可以是筛选出最能够体现出每个实体词的语义的候选实体作为当前目标实体。
可选地,在本实施例中,如果当前实体词只对应了一个候选实体,则可以认为当前实体词的语义是确定的,将这一个候选实体作为当前目标实体即可。如果当前实体词对应了多个候选实体,那么可以认为当前实体词的语义存在歧义,则可以从多个候选实体中筛选出最能够体现出当前实体词的语义的候选实体作为当前目标实体。
在上述步骤s412中,从所述当前实体词对应的至少一个候选实体中筛选出一个当前目标实体包括:
s51,在所述当前实体词对应一个候选实体的情况下,将所述一个候选实体确定为所述当前目标实体;
s52,在所述当前实体词对应多个候选实体的情况下,针对每个候选实体,计算该候选实体与当前语义结构图中各语义节点之间的平均距离;将各候选实体中对应的所述平均距离最近的候选实体确定为所述当前目标实体。
可选地,在本实施例中,候选实体与语义节点之间的距离可以但不限于通过实体在知识图谱中的位置之间的距离来表示。可以但不限于使用实体间间隔的实体节点的数量或者实体间间隔的连接线的数量来表示知识图谱中的位置之间的距离。
可选地,在本实施例中,首先计算出该候选实体与当前语义结构图中各语义节点中每个语义节点之间的距离,再取得到的各个距离的平均值从而得到平均距离。
可选地,在本实施例中,知识图谱中距离越近的节点表达的语义可能越相似,因此可以将各候选实体中对应的平均距离最近的候选实体确认为是最能够表达该实体词语义的实体。
在一个可选的实施方式中,语义结构图可以但不限于称为语义子图,语义子图中包括知识图谱中的实体、连接关系以及一个预设的q节点。任何可以替换q节点的实体都是用户想要查找的结果。可以用一系列节点和边(即连接线)的集合来表示一个查询信息query的语义子图,边的类型是知识图谱中已存在的关系,并且任何边都直接或者间接地与q节点相连接。
语义子图可以但不限于通过状态转移的方式采用上述的循环过程进行构建,构建过程可以如下:首先定义初始状态s,初始状态s中包括初始语义子图g和实体词对应的候选实体均未被添加到语义子图的实体集合ω。初始状态s中的初始语义子图g上仅包括q节点,query中所有的实体词召回的所有候选实体还均未被添加到初始语义子图g中,遍历ω中的各个实体词,逐个对每个实体词筛选出一个目标实体添加到当前的语义子图中,并将该目标实体所具有的连接关系赋予该目标实体与q节点之间的连接线,得到下一个状态si,i表示循环的次数,直至得到最终状态sn,n表示实体词的数量。最终状态sn中包括语义子图gn和实体词对应的候选实体均被添加到语义子图的实体集合ωn,其中,语义子图gn上展示了各个目标实体与q节点间的连接关系,实体集合ωn为空集。
例如:以查询信息为“某爷感人电影”为例,图5是根据本申请一个可选的实施方式的语义子图的示意图,如图5所示,查询信息“某爷感人电影”构建的语义子图包括q节点,目标实体“周某某”、“电影”和“感人”以及目标实体“周某某”与q节点之间的连接关系“act/direct”,目标实体“电影”与q节点之间的连接关系“is_a”,目标实体“感人”与q节点之间的连接关系“category”。
在步骤s208提供的技术方案中,使用语义结构图对数据库进行查询,可以从数据库中查询到与语义结构图匹配的数据,可以将查询到的数据作为查询结果显示在搜索页面上供用户浏览。
可选地,在本实施例中,查询到的数据可以但不限于包括网页链接、影视资源文件、图片等等。
可选地,在本实施例中,使用语义结构图进行数据查询的方式可以是将语义结构图转换为搜索引擎能够识别的格式(比如:逻辑表达式),再使用转换后的结果进行数据库的查询。
在上述步骤s208中,根据所述语义结构图对所述数据库进行查询包括:
s61,将所述语义结构图转换为逻辑表达式;
s62,使用所述逻辑表达式对所述数据库进行查询。
可选地,在本实施例中,可以但不限于将语义结构图转换为逻辑表达式在使用逻辑表达式进行数据库的查询,得到查询结果。
可选地,在本实施例中,将语义结构图的表示形式转换为搜索引擎支持的逻辑表达式,通过搜索引擎召回符合条件的数据,返回给用户。
在上述步骤s61中,将所述语义结构图转换为逻辑表达式包括:
s71,将所述语义结构图中所包括的多个语义分支中每个语义分支映射为具有对应关系的字段和字段值,得到多组具有对应关系的字段和字段值,其中,所述每个语义分支包括通过连接线相连接的预设节点与一个语义节点,连接线所表示的语义关系被映射为所述字段,语义节点所表示的语义被映射为所述字段值;
s72,使用逻辑关系词对所述多组具有对应关系的字段和字段值进行连接,得到所述逻辑表达式。
可选地,在本实施例中,通过语义分支向具有对应关系的字段和字段值映射的方式来提取出语义结构图中的语义,从而得到数据的过滤条件。每个语义分支包括通过连接线相连接的预设节点与一个语义节点,连接线所表示的语义关系被映射为字段,语义节点所表示的语义被映射为字段值。例如:语义分支的映射形式可以为“field:value”,这些field和value是搜索引擎中数据的字段和字段值。
可选地,在本实施例中,逻辑关系词可以但不限于包括:和(and),或(or),非(not)等等。各个语义分支之间可以使用和(and)连接,一个语义分支中包括的多个连接关系之间可以使用或(or),非(not)可以根据识别出的表示否定的语义来使用。
在上述可选的实施方式中,以“某爷感人电影”为例,语义分支包括:分支1,语义节点“周某某”和q节点之间的连接关系“act/direct”;分支2,语义节点“电影”与q节点之间的连接关系“is_a”;分支3,语义节点“感人”与q节点之间的连接关系“category”。将分支1映射为actor:周某某ordirector:周某某,将分支2映射为channel:电影,将分支3映射为category:感人,各个映射之间使用and连接,得到逻辑表达式为(actor:周某某ordirector:周某某)andcategory:感人andchannel:电影。使用该逻辑表达式(actor:周某某ordirector:周某某)andcategory:感人andchannel:电影查询数据库,经过搜索引擎筛选出的搜索结果如图3所示,将查询到的周某某主演或者导演的五部电影展示在搜索页面上。
可选地,在本实施例中,逻辑表达式是搜索引擎能够识别的,将逻辑表达式提供给搜索引擎,搜索引擎能够根据逻辑表达式中展示的搜索条件召回相应的数据。比如:对于图4中q节点与“电影”节点存在is_a关系的语义分支,将这个分支映射成“channel:电影”的搜索条件,搜索引擎就会召回channel字段为电影的数据,而不会召回其他channel字段为电视剧或者综艺的数据。
本申请还提供了一种可选实施例,该可选实施例提出了一种基于知识图谱的query意图理解的系统,将查询信息query中不同成分,关联到知识图谱中实体节点或者属性上,通过有效利用实体的属性和关系,构造对应的语义子图表示query的意图,从而解决现有的query意图理解方法扩展性差,准确率低的问题。图6是根据本申请可选实施例的基于知识图谱的query意图理解过程的示意图,如图6所示,该过程可以但不限于包括以下阶段:query预处理阶段、候选实体召回阶段、语义子图构造阶段和结构化搜索阶段。以下对各个阶段的处理过程进行详细说明:
在query预处理阶段中,对接收到的query进行预处理的方式可以但不限于包括纠错处理、分词处理和实体识别等等。通过实体识别可以识别出query中包括的剧、人、角色、游戏、音乐等实体(term)名称。
在候选实体召回阶段,对query中识别出的term,进行候选实体召回操作。通过搜索知识图谱中实体名及其别名,对于每个term召回与其相匹配的候选实体。
在语义子图构建阶段,根据召回的候选实体,构建相应的语义子图。语义子图是由知识图谱中的实体、关系以及一个预设的q节点构成的。任何可以替换q节点的实体都是用户想要查找的结果。可以用一系列边的集合来表示一个query的语义子图,边的类型是知识图谱中已存在的关系,并且任何边都直接或者间接地与q节点相连接。
在结构化搜索阶段,将语义子图构建阶段中生成的语义子图转换为搜索引擎支持的逻辑表达式,通过搜索引擎召回符合条件的数据,返回给用户。
通过本可选实施例提供的查询过程,能够直接将知识图谱中的先验知识应用到query意图理解中,知识图谱中包括更多的属性关系信息,能够更准确地理解query中各个成分以及每个成分表达的意图。此外,通过知识图谱构建语义子图的方式表达query的意图,不需要预先定义query模板或者意图类别,使得业务更容易进行扩展。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述查询信息的处理方法的查询信息的处理装置。图7是根据本申请实施例的一种可选的查询信息的处理装置的示意图一,如图7所示,该装置可以包括:
识别模块72,用于对获取到的查询信息进行实体识别,得到所述查询信息对应的多个实体词,其中,所述查询信息用于对数据库中存储的数据进行查询;
获取模块74,用于针对每个实体词,从知识图谱包括的实体节点中获取与该实体词匹配的至少一个候选实体,其中,所述知识图谱是为所述数据库中存储的数据构建的;
构建模块76,用于基于各实体词对应的候选实体构建所述查询信息对应的语义结构图,其中,所述语义结构图中的语义节点表示了各实体词的语义,所述语义结构图中的连接线表示了各语义节点与待查询的数据之间的语义关系;
查询模块78,用于根据所述语义结构图对所述数据库进行查询。
需要说明的是,该实施例中的识别模块72可以用于执行本申请实施例中的步骤s202,该实施例中的获取模块74可以用于执行本申请实施例中的步骤s204,该实施例中的构建模块76可以用于执行本申请实施例中的步骤s206,该实施例中的查询模块78可以用于执行本申请实施例中的步骤s208。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,利用知识图谱的先验知识对查询信息进行理解,将查询信息中不同成分关联到知识图谱中的实体,在语义结构图中使用实体词对应的候选实体构成语义节点表示查询信息中各实体词的语义,使用连接线表示了各语义节点与待查询的数据之间的语义关系,有效利用查询信息中实体词在知识图谱中的属性和关系,构建对应的语义结构图来表示查询信息的语义,语义结构图中能够包括丰富的实体与待查询的数据之间语义关系的信息,达到了更准确理解查询信息中各个成分与待查询的数据之间语义的目的,从而实现了提高对查询信息的意图进行理解的准确率的技术效果,进而解决了相关技术中对查询信息的意图进行理解的准确率较低的技术问题。
图8是根据本申请实施例的一种可选的查询信息的处理装置的示意图二,如图8所示,可选地,所述获取模块74包括:
第一获取单元82,用于从所述知识图谱包括的实体节点中,获取实体名称与该实体词相同的实体节点;
第二获取单元84,用于从实体名称与该实体词不相同的实体节点中获取实体别称与该实体词相同的实体节点,其中,实体标识包括所述实体名称和所述实体别称;
第三获取单元86,用于从实体标识与该实体词相同的实体节点中,获取实体信息与该实体词的实体信息相同的实体节点作为该实体词对应的所述至少一个候选实体,其中,实体信息包括实体词性和/或实体类型。
图9是根据本申请实施例的一种可选的查询信息的处理装置的示意图三,如图9所示,可选地,所述获取模块74包括:
生成单元92,用于使用该实体词、该实体词的实体词性和该实体词的实体类型生成该实体词对应的实体特征向量;
计算单元94,用于计算所述实体特征向量与所述知识图谱包括的每个实体节点的节点特征向量之间的节点相似度;
第四获取单元96,用于从所述知识图谱包括的实体节点中,获取所述节点相似度高于目标相似度的实体节点作为该实体词对应的所述至少一个候选实体。
作为一种可选的实施例,所述构建模块用于:
以预设节点作为初始的当前语义结构图,对各实体词执行以下操作,直至遍历各实体词后得到所述语义结构图,其中,所述预设节点用于指示待查询的数据在当前语义结构图中的位置:
从各实体词中获取一个未遍历的实体词作为当前实体词;
从所述当前实体词对应的至少一个候选实体中筛选出一个当前目标实体;
从所述知识图谱中获取所述当前目标实体所具有的连接关系;
将所述当前目标实体作为一个语义节点添加到当前语义结构图中;
在该语义节点与所述预设节点之间构建连接线,并将所述当前目标实体所具有的连接关系赋予该连接线,得到下一个当前语义结构图。
作为一种可选的实施例,所述构建模块用于:
在所述当前实体词对应一个候选实体的情况下,将所述一个候选实体确定为所述当前目标实体;
在所述当前实体词对应多个候选实体的情况下,针对每个候选实体,计算该候选实体与当前语义结构图中各语义节点之间的平均距离;将各候选实体中对应的所述平均距离最近的候选实体确定为所述当前目标实体。
图10是根据本申请实施例的一种可选的查询信息的处理装置的示意图四,如图10所示,可选地,所述查询模块78包括:
转换单元102,用于将所述语义结构图转换为逻辑表达式;
查询单元104,用于使用所述逻辑表达式对所述数据库进行查询。
作为一种可选的实施例,所述转换单元用于:
将所述语义结构图中所包括的多个语义分支中每个语义分支映射为具有对应关系的字段和字段值,得到多组具有对应关系的字段和字段值,其中,所述每个语义分支包括通过连接线相连接的预设节点与一个语义节点,连接线所表示的语义关系被映射为所述字段,语义节点所表示的语义被映射为所述字段值;
使用逻辑关系词对所述多组具有对应关系的字段和字段值进行连接,得到所述逻辑表达式。
图11是根据本申请实施例的一种可选的查询信息的处理装置的示意图五,如图11所示,可选地,所述识别模块72包括:
纠错单元112,用于对所述查询信息进行纠错处理,得到修正信息;
分词单元114,用于对所述修正信息进行分词处理,得到多个词组;
识别单元116,用于针对每个词组,对该词组进行实体识别;
确定单元118,用于在该词组被识别为实体的情况下,将该词组确定为一个实体词,并获取该实体词对应的实体词性和实体类型。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述查询信息的处理方法的服务器或终端。
图12是根据本申请实施例的一种电子装置的结构框图,如图12所示,该电子装置可以包括:一个或多个(图中仅示出一个)处理器1201、存储器1203、以及传输装置1205,如图12所示,该电子装置还可以包括输入输出设备1207。
其中,存储器1203可用于存储软件程序以及模块,如本申请实施例中的查询信息的处理方法和装置对应的程序指令/模块,处理器1201通过运行存储在存储器1203内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的查询信息的处理方法。存储器1203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1203可进一步包括相对于处理器1201远程设置的存储器,这些远程存储器可以通过网络连接至电子装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置1205用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1205包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1205为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器1203用于存储应用程序。
处理器1201可以通过传输装置1205调用存储器1203存储的应用程序,以执行下述步骤:
对获取到的查询信息进行实体识别,得到所述查询信息对应的多个实体词,其中,所述查询信息用于对数据库中存储的数据进行查询;
针对每个实体词,从知识图谱包括的实体节点中获取与该实体词匹配的至少一个候选实体,其中,所述知识图谱是为所述数据库中存储的数据构建的;
基于各实体词对应的候选实体构建所述查询信息对应的语义结构图,其中,所述语义结构图中的语义节点表示了各实体词的语义,所述语义结构图中的连接线表示了各语义节点与待查询的数据之间的语义关系;
根据所述语义结构图对所述数据库进行查询。
采用本申请实施例,提供了一种查询信息的处理的方案。利用知识图谱的先验知识对查询信息进行理解,将查询信息中不同成分关联到知识图谱中的实体,在语义结构图中使用实体词对应的候选实体构成语义节点表示查询信息中各实体词的语义,使用连接线表示了各语义节点与待查询的数据之间的语义关系,有效利用查询信息中实体词在知识图谱中的属性和关系,构建对应的语义结构图来表示查询信息的语义,语义结构图中能够包括丰富的实体与待查询的数据之间语义关系的信息,达到了更准确理解查询信息中各个成分与待查询的数据之间语义的目的,从而实现了提高对查询信息的意图进行理解的准确率的技术效果,进而解决了相关技术中对查询信息的意图进行理解的准确率较低的技术问题。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图12所示的结构仅为示意,电子装置可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图12其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图12中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图12所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令电子装置相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,计算机可读存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。
本申请的实施例还提供了一种计算机可读存储介质。可选地,在本实施例中,上述计算机可读存储介质可以用于执行查询信息的处理方法的程序代码。
可选地,在本实施例中,上述计算机可读存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:
对获取到的查询信息进行实体识别,得到所述查询信息对应的多个实体词,其中,所述查询信息用于对数据库中存储的数据进行查询;
针对每个实体词,从知识图谱包括的实体节点中获取与该实体词匹配的至少一个候选实体,其中,所述知识图谱是为所述数据库中存储的数据构建的;
基于各实体词对应的候选实体构建所述查询信息对应的语义结构图,其中,所述语义结构图中的语义节点表示了各实体词的语义,所述语义结构图中的连接线表示了各语义节点与待查询的数据之间的语义关系;
根据所述语义结构图对所述数据库进行查询。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在计算机可读存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。