一种基于知识图谱的广度优先搜索方法及相关装置与流程

文档序号:37167404发布日期:2024-03-01 12:09阅读:14来源:国知局
一种基于知识图谱的广度优先搜索方法及相关装置与流程

本发明涉及数据处理,尤其涉及一种基于知识图谱的广度优先搜索方法及相关装置。


背景技术:

1、知识图谱是一种将数据抽象为实体点和实体点之间的关系,并以图的形式进行直观展示的工具。基于知识图谱搜索方法相当于使用计算机替代了人工搜索的部分,并且受益于知识图谱的存储方式,搜索速度提升了成千上万倍,使多度的搜索工作从不可能变为了可能。

2、然而,随着关系的深入,实体点数量呈指数级增长,路径复杂度也随之激增,因此高深度的全度路径搜索是一件非常耗费性能的事情,传统的知识图谱搜索方法也很难满足需要。例如追踪公司流水时,假设每个公司有100个交易关系人(实际情况可能远大于这个数字),那么从a公司展开四度关系人之后,实体点的数量就会多达1004即1亿个,之后再遍历这1亿个实体点,从中大海捞针地搜索b点,造成了大量无意义的性能浪费,实际使用过程中还经常可能遇见内存爆炸无法返回结果的情况,导致高深度的全度搜索依然无法完成。


技术实现思路

1、有鉴于此,本发明提供了一种基于知识图谱的广度优先搜索方法及相关装置,用以解决现有技术中在基于知识图谱的路径搜索过程中,随着关系的深入,实体点数量呈指数级增长,路径复杂度也随之激增,因此高深度的全度路径搜索是一件非常耗费性能的事情,实际使用过程中还经常可能遇见内存爆炸无法返回结果的情况,导致高深度的全度搜索依然无法完成的问题。

2、具体方案如下:

3、一种基于知识图谱的广度优先搜索方法,包括:

4、搭建知识图谱,其中,所述知识图谱包括:实体点和关系边,所述实体点至少为一个,所述关系边至少为一个,所述关系边用于连接不同的实体点;

5、在接收到对所述知识图谱的搜索请求的情况下,获取所述搜索请求中包含的第一实体点、第二实体点和初始深度;

6、在所述知识图谱中查找所述第一实体点和所述第二实体点,在所述第一实体点基于第一目标深度展开,得到第一邻居实体点集,在所述第二实体点基于第二目标深度展开,得到第二邻居实体点集,其中,所述第一目标深度和所述第二目标深度的和为所述初始深度;

7、确定所述第一邻居实体点集与所述第二邻居实体点集的交集,其中,所述交集包括:连接所述第一实体点和所述第二实体点的全部路径组成的邻居实体点。

8、上述的基于知识图谱的广度优先搜索方法,可选的,搭建知识图谱包括:

9、确定各个初始实体点;

10、确定各个实体点之间的关联关系,基于所述关联关系构建各个初始关系边;

11、对所述各个初始实体点和所述各个初始关系边进行去重处理,得到各个实体点和各个关系边;

12、将所述各个实体点和所述各个关系边输入到预设的知识图谱模版中,得到所述知识图谱。

13、上述的基于知识图谱的广度优先搜索方法,可选的,搭建知识图谱还包括:

14、获取与所述各个实体点对应的属性信息;

15、将所述属性信息添加到所述知识图谱中。

16、上述的基于知识图谱的广度优先搜索方法,可选的,所述第一目标深度包括:第一深度和第二深度,在所述第一实体点基于第一目标深度展开,得到第一邻居实体点集,包括:

17、在所述第一实体点基于所述第一深度展开得到第一初始邻居实体点集;

18、在所述第一初始邻居实体点集基于所述第二深度展开得到第一邻居实体点集。

19、上述的基于知识图谱的广度优先搜索方法,可选的,所述第二目标深度包括:第一深度和第二深度,在所述第二实体点基于第二目标深度展开,得到第二邻居实体点集,包括:

20、在所述第二实体点基于所述第一深度展开得到第二初始邻居实体点集;

21、在所述第二初始邻居实体点集基于所述第二深度展开得到第二邻居实体点集。

22、一种基于知识图谱的广度优先搜索装置,包括:

23、搭建模块,用于搭建知识图谱,其中,所述知识图谱包括:实体点和关系边,所述实体点至少为一个,所述关系边至少为一个,所述关系边用于连接不同的实体点;

24、获取模块,用于在接收到对所述知识图谱的搜索请求的情况下,获取所述搜索请求中包含的第一实体点、第二实体点和初始深度;

25、查找和展开模块,用于在所述知识图谱中查找所述第一实体点和所述第二实体点,在所述第一实体点基于第一目标深度展开,得到第一邻居实体点集,在所述第二实体点基于第二目标深度展开,得到第二邻居实体点集,其中,所述第一目标深度和所述第二目标深度的和为所述初始深度;

26、确定模块,用于确定所述第一邻居实体点集与所述第二邻居实体点集的交集,其中,所述交集包括:连接所述第一实体点和所述第二实体点的全部路径组成的邻居实体点。

27、上述的基于知识图谱的广度优先搜索装置,可选的,所述搭建模块包括:

28、确定单元,用于确定各个初始实体点;

29、确定和构建单元,用于确定各个实体点之间的关联关系,基于所述关联关系构建各个初始关系边;

30、去重单元,用于对所述各个初始实体点和所述各个初始关系边进行去重处理,得到各个实体点和各个关系边;

31、输入单元,用于将所述各个实体点和所述各个关系边输入到预设的知识图谱模版中,得到所述知识图谱。

32、上述的基于知识图谱的广度优先搜索装置,可选的,所述搭建模块还包括:

33、获取单元,用于获取与所述各个实体点对应的属性信息;

34、添加单元,用于将所述属性信息添加到所述知识图谱中。

35、上述的基于知识图谱的广度优先搜索装置,可选的,所述第一目标深度包括:第一深度和第二深度,所述查找和展开模块包括:

36、第一展开单元,用于在所述第一实体点基于所述第一深度展开得到第一初始邻居实体点集;

37、第二展开单元,用于在所述第一初始邻居实体点集基于所述第二深度展开得到第一邻居实体点集。

38、上述的基于知识图谱的广度优先搜索装置,可选的,所述第二目标深度包括:第一深度和第二深度,所述查找和展开模块包括:

39、第三展开单元,用于在所述第二实体点基于所述第一深度展开得到第二初始邻居实体点集;

40、第四展开单元,用于在所述第二初始邻居实体点集基于所述第二深度展开得到第二邻居实体点集。

41、一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述的基于知识图谱的广度优先搜索方法。

42、一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的基于知识图谱的广度优先搜索方法。

43、与现有技术相比,本发明包括以下优点:

44、本发明公开了一种基于知识图谱的广度优先搜索方法及相关装置,包括:搭建知识图谱,在接收到对知识图谱的搜索请求的情况下,获取搜索请求中包含的第一实体点、第二实体点和初始深度;在知识图谱中查找第一实体点和第二实体点,在第一实体点基于第一目标深度展开,得到第一邻居实体点集,在第二实体点基于第二目标深度展开,得到第二邻居实体点集,第一目标深度和第二目标深度的和为初始深度;确定第一邻居实体点集与第二邻居实体点集的交集,交集包括:连接第一实体点和第二实体点的全部路径组成的邻居实体点。上述过程,在路径搜索过程中不再基于初始深度展开,而是分别基于目标深度和第二目标深度展开,降低了扩展深度的同时指数级减少了实体点的数量,提高算法运行成功率,并减少资源消耗。

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