CN109271478B - 一种基于bfs森林的社交网络中的知识图谱数据布局方法 - Google Patents
一种基于bfs森林的社交网络中的知识图谱数据布局方法 Download PDFInfo
- Publication number
- CN109271478B CN109271478B CN201811082264.0A CN201811082264A CN109271478B CN 109271478 B CN109271478 B CN 109271478B CN 201811082264 A CN201811082264 A CN 201811082264A CN 109271478 B CN109271478 B CN 109271478B
- Authority
- CN
- China
- Prior art keywords
- bfs
- sequence
- graph
- length
- limited
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于BFS森林的社交网络中的知识图谱数据布局方法,包括:对社交网络中的知识图谱进行一次全图的全局BFS遍历,得到全局BFS序列;将当前限长BFS子树的起始点初始化为全局BFS序列的起始序号;从起始点出发,使用限长BFS遍历社交网络中的知识图谱,直至图中所有节点都被遍历,最终得到BFS森林序列;利用所述BFS森林序列对社交网络中的知识图谱的节点进行更新,知识图谱数据布局结束。本发明使用BFS森林去遍历全图,限长BFS子树的局部性已经符合限长图遍历算法需求;以全局BFS序列作为“BFS森林”起始点选择依据,使BFS子树起始点的选择更加符合限长图遍历的需求,使多个BFS子树组成的序列满足整体顺序性,提高了算法执行效率。
Description
技术领域
本发明属于知识图谱推理领域,更具体地,涉及一种基于BFS森林的社交网络中的知识图谱数据布局方法。
背景技术
基于路径的知识推理方法的特征提取阶段PCWR是其效率瓶颈,传统的在内存模式下对特征提取阶段的优化难以满足社交网络知识图谱的数据量逐渐增大。现有技术提出使用限长图遍历算法代替PCWR进行特征提取,其整个过程为:数据布局策略对知识图谱数据进行处理,获得预处理后的知识图谱数据。然后再利用外存模式图处理系统对预处理后的知识图谱数据进行分区。最后基于路径的知识推理在外存模式图处理系统上执行限长图遍历算法,对分区后的知识图谱进行特征提取、推理和预测。针对限长图遍历算法的数据布局策略是一种通过对知识图谱节点进行偏序排列,并依此进行序号重排,在不影响具有选择调度机制的外存模式图处理系统的任何模块设计的情况下,通过提高外存模式图处理系统数据分区的顺序性与局部性,进而减少算法执行过程中的分区数据读取次数,来提高外存模式下基于路径的知识推理算法中“特征提取”阶段效率的预处理手段。
现有的外存模式下基于路径的知识推理的数据布局策略包括:GraphChi顶点排序数据布局策略、X-Stream顶点非排序数据布局策略、GridGraph二维顶点数据布局策略。经分析后发现,它们都是基于图数据布局,以节点序号进行分块,并以此为基础设计了各具特色的计算模型。其中,GraphChi以及GridGraph均保证了每次读取分区数据块时仅有非常少量随机I/O读写,大大提高了图算法执行效率,却没有利用限长图遍历算法的局部性去减少算法执行过程中的分区数据块读写次数,还有针对限长图遍历算法的执行效率优化空间。而X-Stream由于缺乏选择调度机制,无法受益于此。
综上所示,现有的外存模式下基于路径的知识推理的数据布局策略中的数据分区局部性和顺序性均有所欠缺,限长图遍历算法的执行效率低。
发明内容
针对现有技术的缺陷,本发明的目的在于解决现有技术中外存模式下基于路径的知识推理的数据布局策略中的数据分区局部性和顺序性均有所欠缺,限长图遍历算法的执行效率低的技术问题。
为实现上述目的,第一方面,本发明实施例提供了一种基于BFS森林的社交网络中的知识图谱数据布局方法,所述BFS森林由多个限长BFS子树组合,该方法具体包括以下步骤:
S1.对社交网络中的知识图谱进行一次全图的全局BFS遍历,得到全局BFS序列;
S2.将当前限长BFS子树的起始点初始化为全局BFS序列的起始序号;
S3.从当前限长BFS子树的起始点出发,使用限长BFS遍历社交网络中的知识图谱,直至图中所有节点都被遍历,最终得到BFS森林序列;
S4.利用所述BFS森林序列对社交网络中的知识图谱的节点进行更新,社交网络中的知识图谱数据布局结束。
具体地,步骤S3具体如下:
S31.从当前限长BFS子树的起始点出发,限长BFS以限制步长n遍历社交网络中的知识图谱,得到一个限长BFS序列,并记录当前BFS子树最后一个节点的序号;
S32.判断图中所有节点是否都被遍历,若是,多个限长BFS序列顺序组合为BFS森林序列,进入步骤S4;否则,遍历全局BFS序列,寻找当前BFS子树最后一个节点的序号之后第一个未被访问的节点,当前限长BFS子树的起始点更新为所述第一个未被访问的节点,进入步骤S31。
具体地,所述限制步长n为2或3。
具体地,所述利用所述BFS森林序列对社交网络中的知识图谱的节点进行更新,是将图中所有节点的编号更新为该节点在BFS森林序列的位置。
第二方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的知识图谱数据布局方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
本发明使用多个限长BFS子树的组合成的BFS森林去遍历全图,限长BFS子树的局部性已经符合限长图遍历算法需求。
本发明以全局BFS序列作为“BFS森林”起始点选择的依据,除第一个起始点之外的所有起始点不是随机选择的,而是根据第一个起始点遍历全图所获得的全局BFS序列确定的,使BFS子树起始点的选择更加符合限长图遍历的需求,使多个BFS子树组成的序列能够满足“整体顺序性”的要求。
综上所述,本发明提出的一种基于BFS森林的图处理数据布局方法,提高了外存模式图处理系统分区的局部性与顺序性,进而减少了限长图遍历算法执行过程中的分区数据访问次数,提高了算法执行效率。
附图说明
图1为本发明实施例提供的一种基于BFS森林的社交网络中的知识图谱数据布局方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为本发明实施例提供的一种基于BFS森林的社交网络中的知识图谱数据布局方法流程图。所述BFS森林由多个限长BFS子树组合,如图1所示,该方法具体包括以下步骤:
S1.对社交网络中的知识图谱进行一次全图的全局BFS遍历,得到全局BFS序列;
S2.将当前限长BFS子树的起始点初始化为全局BFS序列的起始序号;
S3.从当前限长BFS子树的起始点出发,使用限长BFS遍历社交网络中的知识图谱,直至图中所有节点都被遍历,最终得到BFS森林序列;
S4.利用所述BFS森林序列对社交网络中的知识图谱的节点进行更新,社交网络中的知识图谱数据布局结束。
步骤S1.对社交网络中的知识图谱进行一次全图的全局BFS遍历,得到全局BFS序列。
由于社交网络中的知识图谱原数据是由大量的三元组组成,该三元组由字符串组成。为了使限长BFS方法能够运行在图处理系统之上,因此对原数据进行了处理,将三元组转化为数字序号。
输入的起始点序号,从该起始点出发进行一次全图的全局BFS遍历,得到全局BFS序列。全局BFS序列中的每个数字序号表示社交网络中的知识图谱的一个节点。
全局图遍历算法由于每次都需要遍历全图,要求一种高度的整体顺序性,而局部性要求很低;然而对于限长图遍历,首先由于限长图遍历只需要针对距离起始点较近的节点进行遍历,因此相对比与全局图遍历算法需要有更高的局部性要求。
步骤S3.从当前限长BFS子树的起始点出发,使用限长BFS遍历社交网络中的知识图谱,直至图中所有节点都被遍历,最终得到BFS森林序列。具体如下:
S31.从当前限长BFS子树的起始点出发,限长BFS以限制步长n遍历社交网络中的知识图谱,得到一个限长BFS序列,并记录当前BFS子树最后一个节点的序号;
S32.判断图中所有节点是否都被遍历,若是,多个限长BFS序列顺序组合为BFS森林序列,进入步骤S4;否则,遍历全局BFS序列,寻找当前BFS子树最后一个节点的序号之后第一个未被访问的节点,当前限长BFS子树的起始点更新为所述第一个未被访问的节点,进入步骤S31。
基于BFS森林的数据布局方法需要执行多次BFS过程,也相应地需要选择多个起点。本专利以全局BFS序列作为“BFS森林”起始点选择的依据。
现实的知识图谱的直径是有限的,目前知名的大型知识图谱wikidata上也仅需要步长为6的BFS就能够遍历完毕所有节点。知识推理算法本身的推理精度也是随着路径长度增大而降低,因此,在知识图谱上执行限长图遍历过程的限制步长n为2或3。经研究,在面向步长为n的限长图遍历算法时,选择的BFS子树的步长也为n时,逆序值收益较好。
步骤S4.利用所述BFS森林序列对社交网络中的知识图谱的节点进行更新,社交网络中的知识图谱数据布局结束。
利用S3中获得BFS森林序列对社交网络中的知识图谱的节点进行更新,将图中所有节点的ID更新为该节点在图节点序列的位置。
基于BFS森林的数据布局方法是利用多个限制步长的BFS树去遍历整张图,并且根据遍历顺序重排节点序号,来提高限长图遍历算法执行效率的数据布局策略。最终获得一个BFS森林序列,并以此作为图中节点的偏序序列。此BFS森林的特性是:首先BFS森林中BFS子树都是限定了长度的,其长度由具体针对的限长图遍历算法的限制长度所确定;再者BFS森林除第一个起始点之外的所有起点不是随机选择的,而是根据第一个起始点遍历全图所获得的全局BFS序列确定的。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (5)
1.一种基于BFS森林的社交网络中的知识图谱数据布局方法,所述BFS森林由多个限长BFS子树组合,其特征在于,该方法具体包括以下步骤:
S1.对社交网络中的知识图谱进行一次全图的全局BFS遍历,得到全局BFS序列;
S2.将当前限长BFS子树的起始点初始化为全局BFS序列的起始序号;
S3.从当前限长BFS子树的起始点出发,使用限长BFS遍历社交网络中的知识图谱,直至图中所有节点都被遍历,最终得到BFS森林序列;
S4.利用所述BFS森林序列对社交网络中的知识图谱的节点进行更新,社交网络中的知识图谱数据布局结束。
2.如权利要求1所述的知识图谱数据布局方法,其特征在于,步骤S3具体如下:
S31.从当前限长BFS子树的起始点出发,限长BFS以限制步长n遍历社交网络中的知识图谱,得到一个限长BFS序列,并记录当前BFS子树最后一个节点的序号;
S32.判断图中所有节点是否都被遍历,若是,多个限长BFS序列顺序组合为BFS森林序列,进入步骤S4;否则,遍历全局BFS序列,寻找当前BFS子树最后一个节点的序号之后第一个未被访问的节点,当前限长BFS子树的起始点更新为所述第一个未被访问的节点,进入步骤S31。
3.如权利要求2所述的知识图谱数据布局方法,其特征在于,所述限制步长n为2或3。
4.如权利要求1所述的知识图谱数据布局方法,其特征在于,所述利用所述BFS森林序列对社交网络中的知识图谱的节点进行更新,是将图中所有节点的编号更新为该节点在BFS森林序列的位置。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的知识图谱数据布局方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811082264.0A CN109271478B (zh) | 2018-09-17 | 2018-09-17 | 一种基于bfs森林的社交网络中的知识图谱数据布局方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811082264.0A CN109271478B (zh) | 2018-09-17 | 2018-09-17 | 一种基于bfs森林的社交网络中的知识图谱数据布局方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109271478A CN109271478A (zh) | 2019-01-25 |
CN109271478B true CN109271478B (zh) | 2021-07-27 |
Family
ID=65188864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811082264.0A Active CN109271478B (zh) | 2018-09-17 | 2018-09-17 | 一种基于bfs森林的社交网络中的知识图谱数据布局方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271478B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107016072A (zh) * | 2017-03-23 | 2017-08-04 | 成都市公安科学技术研究所 | 基于社交网络知识图谱的知识推理系统及方法 |
CN107092667A (zh) * | 2017-04-07 | 2017-08-25 | 平安科技(深圳)有限公司 | 基于社交网络的群组查找方法和装置 |
CN108073711A (zh) * | 2017-12-21 | 2018-05-25 | 北京大学深圳研究生院 | 一种基于知识图谱的关系抽取方法和系统 |
CN108255987A (zh) * | 2017-12-28 | 2018-07-06 | 清华大学 | 基于社区的节点介数中心度更新方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10355970B2 (en) * | 2016-05-31 | 2019-07-16 | Texas Instruments Incorporated | Distributed procedure for breadth-first graph traversal on asymmetric communication topologies |
-
2018
- 2018-09-17 CN CN201811082264.0A patent/CN109271478B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107016072A (zh) * | 2017-03-23 | 2017-08-04 | 成都市公安科学技术研究所 | 基于社交网络知识图谱的知识推理系统及方法 |
CN107092667A (zh) * | 2017-04-07 | 2017-08-25 | 平安科技(深圳)有限公司 | 基于社交网络的群组查找方法和装置 |
CN108073711A (zh) * | 2017-12-21 | 2018-05-25 | 北京大学深圳研究生院 | 一种基于知识图谱的关系抽取方法和系统 |
CN108255987A (zh) * | 2017-12-28 | 2018-07-06 | 清华大学 | 基于社区的节点介数中心度更新方法 |
Non-Patent Citations (1)
Title |
---|
基于中文知识图谱的人物实体识别;李薇等;《计算机工程》;20170331;第43卷(第3期);第225-240页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109271478A (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109033063B (zh) | 基于知识图谱的机器推理方法、电子设备及计算机可读存储介质 | |
US9697254B2 (en) | Graph traversal operator inside a column store | |
US10769147B2 (en) | Batch data query method and apparatus | |
US9021241B2 (en) | Combined branch target and predicate prediction for instruction blocks | |
EP3572952A1 (en) | Unified optimization of iterative analytical query processing | |
CN110909111B (zh) | 基于知识图谱rdf数据特征的分布式存储与索引方法 | |
CN103678571B (zh) | 应用于单台多核处理器主机的多线程网络爬虫执行方法 | |
CN106709503B (zh) | 一种基于密度的大型空间数据聚类算法k-dbscan | |
JP2010033561A (ja) | マルチプロセッサ・システム上でデータ・セットを区分化およびソートするための方法および装置 | |
Wang et al. | Graphcache: A caching system for graph queries | |
Wang et al. | BENU: Distributed subgraph enumeration with backtracking-based framework | |
CN108021507B (zh) | 符号执行的并行路径搜索方法及装置 | |
US20180300330A1 (en) | Proactive spilling of probe records in hybrid hash join | |
CN105224452A (zh) | 一种针对科学计算程序静态分析性能的预测代价优化方法 | |
CN109033278A (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
US20240095241A1 (en) | Data search method and apparatus, and device | |
CN104424222B (zh) | 数据库索引方法及装置 | |
CN108875914B (zh) | 对神经网络数据进行预处理和后处理的方法和装置 | |
US9626428B2 (en) | Apparatus and method for hash table access | |
Wang et al. | Fast gunrock subgraph matching (gsm) on gpus | |
Ahmad et al. | Accelerating k-Core Decomposition by a GPU | |
CN112434035B (zh) | 基于机器学习的并发哈希索引数据结构的索引方法及系统 | |
US11080334B1 (en) | Graph representation system and methods | |
CN109271478B (zh) | 一种基于bfs森林的社交网络中的知识图谱数据布局方法 | |
CN109684185A (zh) | 基于启发式遍历的超级计算机大数据处理能力测试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |