一种基于图数据库的语义搜索实现方法技术

技术编号:19934246 阅读:32 留言:0更新日期:2018-12-29 04:34
本发明专利技术公开了一种基于图数据库的语义搜索实现方法,该方法步骤如下:1)进行数据抽象;2)构建元数据信息;3)构建语义搜索模型;4)查询语句到语义搜索模型的转换;5)语义搜索模型到图查询语言的转换;6)图查询语言的执行与结果处理。本发明专利技术和现有技术相比,通过制定简单易用的模型,使其更具可维护性、可操作性和可扩展性,从而达到语义搜索易用性、准确性和灵活性的目的;即避免了维护繁杂的指令集,又借助于图数据库引擎强大的逻辑查询功能与元数据的支持,提高了查询的效率与准确性,最终使得用户获取信息的能力大大增强。

【技术实现步骤摘要】
一种基于图数据库的语义搜索实现方法
本专利技术涉及语义搜索
,具体地说是一种基于图数据库的语义搜索实现方法。
技术介绍
语义搜索是更加智能的搜索引擎,是未来搜索引擎的发展方向。它代表支持用户表达复杂的查询需求,精确定位并给出答案。语义搜索可以分为:信息预处理和信息抽取、用户需求识别、查询处理、结果表示和用户反馈及优化处理等过程。
技术实现思路
本专利技术的技术任务是提供一种基于图数据库的语义搜索实现方法。本专利技术的技术任务是按以下方式实现的:一种基于图数据库的语义搜索实现方法,该方法步骤如下:步骤1)进行数据抽象;步骤2)构建元数据信息;步骤3)构建语义搜索模型;步骤4)查询语句到语义搜索模型的转换;步骤5)语义搜索模型到图查询语言的转换;步骤6)图查询语言的执行与结果处理。所述的进行数据抽象,包括:对用户数据进行分析与抽象,分析数据之间的属性包含与关联关系,最终将用户数据抽象为对象与关系两种类型的数据,并将其持久化到JanusGraph图数据库引擎中,形成一张数据图,所述的数据图中的数据就是需要进行搜索的原始数据。所述的构建元数据信息,包括:元数据是对用户数据的描述,当前构建的元数据信息中应用于语义搜索的部分包括关系的描述、属性的描述;为了语义搜索灵活性、可扩展的特性,元数据信息支持动态更新,并支持对关系描述和属性描述的添加同义词的特性。所述的构建语义搜索模型,包括:简单对象、对象属性、对象的关联对象、对象的多重关联对象;所述的构建语义搜索模型能够适应当前场景下的多数语义搜索需求,也可以根据需求定制新的语义搜索模型而不会对现有的模型造成影响。所述的查询语句到语义搜索模型的转换,包括:查询语句在这里指用户的原始查询请求,常常表现为一句话或几个关键词;通过对查询语句的分析,依次经过实体识别、属性识别、关系识别,分别识别出实体三元组、属性三元组和关系三元组;在此基础上,结合实体、属性和关系的上下文信息,最终完成语义搜索模型的建立;其中,实体识别主要基于图数据库引擎对对象名称的遍历,属性识别与关系识别,主要基于对元数据信息的模式匹配。所述的实体识别流程如下:查询语句:即用户输入的查询内容;分词:对查询语句的分词,即将查询内容分割为有意义的汉字词语;停用词过滤:对分词后的结果进行过滤,去掉其中某些词语;N-Gram扩展:N-Gram是大词汇连续语音识别中常用的一种语言模型;图数据查询:将N-Gram扩展后的词组在图数据中进行查询;所述的属性识别流程如下:查询语句:即用户输入的查询内容;模式匹配:是数据结构中字符串的一种基本运算,给定一个子串,要求在某个字符串中找出与该子串相同的所有子串;属性定义:组成形式为name,key的方式,name就是属性的中文描述,key是属性的唯一标识,也是图数据中实体属性的定义;AC自动机:首先需要构建字典树,树上的每个节点就是我们的属性定义;其次需要输入需要匹配的字符串,最后完成匹配得到地址的属性定义,返回该属性三元组;所述的关系识别流程如下:查询语句:即用户输入的查询内容;关系定义:识别实体之间的关系;AC自动机:首先需要构建字典树,树上的每个节点就是我们的属性定义;其次需要输入需要匹配的字符串,最后完成匹配得到地址的属性定义,返回该属性三元组。所述的实体三元组包括三个维度,即pos、name、id,分别代表实体名在查询语句中的位置、实体名、实体在图数据库中的标识;所述的属性三元组包括三个维度,即pos、name与key,分别代表属性名在查询语句中的位置,属性名,属性key;所述的关系三元组包括三个维度,即pos、name与key,分别代表关系名在查询语句中的位置,关系名,关系key。所述的语义搜索模型到图查询语言的转换,包括:将所述的步骤4)生成的语义搜索模型转换为具体的查询语言,所述的查询语句是Gremlin查询语言,也是JanusGraph所使用的图数据库查询语言。所述的图查询语言的执行与结果处理,包括:执行Gremlin查询语言,完成语义搜索具体执行操作,并对返回的数据进行处理,转换为语义搜索模型中对象或属性的表现形式。所述的结果包括简单对象详情、分页的对象列表、不分页的对象列表,以及对象属性。本专利技术的一种基于图数据库的语义搜索实现方法和现有技术相比,通过制定简单易用的模型,使其更具可维护性、可操作性和可扩展性,从而达到语义搜索易用性、准确性和灵活性的目的;即避免了维护繁杂的指令集,又借助于图数据库引擎强大的逻辑查询功能与元数据的支持,提高了查询的效率与准确性,最终使得用户获取信息的能力大大增强。附图说明图1为实体识别流程图;图2为属性识别流程图;图3为关系识别流程图;图4为实体三元组架构图。图5为属性三元组架构图。图6为关系三元组架构图。具体实施方式实施例1:一种基于图数据库的语义搜索实现方法,该方法步骤如下:步骤1)进行数据抽象;对用户数据进行分析与抽象,分析数据之间的属性包含与关联关系,最终将用户数据抽象为对象与关系两种类型的数据,并将其持久化到JanusGraph图数据库引擎中,形成一张数据图,所述的数据图中的数据就是需要进行搜索的原始数据。步骤2)构建元数据信息;元数据是对用户数据的描述,当前构建的元数据信息中应用于语义搜索的部分包括关系的描述、属性的描述;为了语义搜索灵活性、可扩展的特性,元数据信息支持动态更新,并支持对关系描述和属性描述的添加同义词的特性。步骤3)构建语义搜索模型;简单对象、对象属性、对象的关联对象、对象的多重关联对象;所述的构建语义搜索模型能够适应当前场景下的多数语义搜索需求,也可以根据需求定制新的语义搜索模型而不会对现有的模型造成影响。步骤4)查询语句到语义搜索模型的转换;查询语句在这里指用户的原始查询请求,常常表现为一句话或几个关键词;通过对查询语句的分析,依次经过实体识别、属性识别、关系识别,分别识别出实体三元组、属性三元组和关系三元组;在此基础上,结合实体、属性和关系的上下文信息,最终完成语义搜索模型的建立;其中,实体识别主要基于图数据库引擎对对象名称的遍历,属性识别与关系识别,主要基于对元数据信息的模式匹配。步骤5)语义搜索模型到图查询语言的转换;将所述的步骤4)生成的语义搜索模型转换为具体的查询语言,所述的查询语句是Gremlin查询语言,也是JanusGraph所使用的图数据库查询语言。步骤6)图查询语言的执行与结果处理。执行Gremlin查询语言,完成语义搜索具体执行操作,并对返回的数据进行处理,转换为语义搜索模型中对象或属性的表现形式;所述的结果包括简单对象详情、分页的对象列表、不分页的对象列表,以及对象属性。实施例2:一种基于图数据库的语义搜索实现方法,该方法步骤如下:步骤1)进行数据抽象;对用户数据进行分析与抽象,分析数据之间的属性包含与关联关系,最终将用户数据抽象为对象与关系两种类型的数据,并将其持久化到JanusGraph图数据库引擎中,形成一张“数据图”,该“数据图”中的数据(包括对象、属性等)就是需要进行搜索的原始数据。本专利技术中的语义搜索充分利用既有的“数据图”所能提供的有用信息,使得语义搜索模型构建过程就做到准确、有针对性。步骤2)构建元数据信息;元数据是对用户数据的描述,当前构建的元数据信息中应用本文档来自技高网...

【技术保护点】
1.一种基于图数据库的语义搜索实现方法,其特征在于,该方法步骤如下:步骤1)进行数据抽象;步骤2)构建元数据信息;步骤3)构建语义搜索模型;步骤4)查询语句到语义搜索模型的转换;步骤5)语义搜索模型到图查询语言的转换;步骤6)图查询语言的执行与结果处理。

【技术特征摘要】
1.一种基于图数据库的语义搜索实现方法,其特征在于,该方法步骤如下:步骤1)进行数据抽象;步骤2)构建元数据信息;步骤3)构建语义搜索模型;步骤4)查询语句到语义搜索模型的转换;步骤5)语义搜索模型到图查询语言的转换;步骤6)图查询语言的执行与结果处理。2.根据权利要求1所述的语义搜索实现方法,其特征在于,所述的进行数据抽象,包括:对用户数据进行分析与抽象,分析数据之间的属性包含与关联关系,最终将用户数据抽象为对象与关系两种类型的数据,并将其持久化到JanusGraph图数据库引擎中,形成一张数据图,所述的数据图中的数据就是需要进行搜索的原始数据。3.根据权利要求1所述的语义搜索实现方法,其特征在于,所述的构建元数据信息,包括:元数据是对用户数据的描述,当前构建的元数据信息中应用于语义搜索的部分包括关系的描述、属性的描述;为了语义搜索灵活性、可扩展的特性,元数据信息支持动态更新,并支持对关系描述和属性描述的添加同义词的特性。4.根据权利要求1所述的语义搜索实现方法,其特征在于,所述的构建语义搜索模型,包括:简单对象、对象属性、对象的关联对象、对象的多重关联对象;所述的构建语义搜索模型能够适应当前场景下的多数语义搜索需求,也可以根据需求定制新的语义搜索模型而不会对现有的模型造成影响。5.根据权利要求1所述的语义搜索实现方法,其特征在于,所述的查询语句到语义搜索模型的转换,包括:查询语句在这里指用户的原始查询请求,常常表现为一句话或几个关键词;通过对查询语句的分析,依次经过实体识别、属性识别、关系识别,分别识别出实体三元组、属性三元组和关系三元组;在此基础上,结合实体、属性和关系的上下文信息,最终完成语义搜索模型的建立;其中,实体识别主要基于图数据库引擎对对象名称的遍历,属性识别与关系识别,主要基于对元数据信息的模式匹配。6.根据权利要求5所述的语义搜索实现方法,其特征在于,所述的实体识别流程如下:查询语句:即用户输入的查询内容;分词:对查询语句的分词,即将查询内容分割为有意义的汉字词语;停用词过滤:对分词后的结果进行过滤,去掉其中某些词语;N-Gr...

【专利技术属性】
技术研发人员:柳廷娜胡晓庆肖雪王建华
申请(专利权)人:浪潮软件集团有限公司
类型:发明
国别省市:山东,37

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

1