一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于在知识图谱上进行关键字搜索的方法和系统与流程

2021-10-24 05:16:00 来源:中国专利 TAG:图谱 关键字搜索 用于 方法 知识

用于在知识图谱上进行关键字搜索的方法和系统


背景技术:

1.本公开涉及一种用于利用标签来增强知识图谱的计算机实现的方法和系统。另外,本公开涉及所述方法和/或所述系统在用于在知识图谱上进行关键字搜索的方法中和/或系统中的使用。
2.关键字搜索允许用户查询数据,而无需事先了解专门的查询语言。关键字查询是用户提出的、应该与数据相匹配的单词集合。然后提取相关的数据片段,并且以适当的格式将其呈现给用户作为答案。匹配关键字、提取数据和编写答案的确切方法取决于基础数据的格式和查询回答的语义。
3.知识图谱主要被用于通过描述(真实世界)实体及其关系来进行基于图谱的知识表示。知识图谱包括表示实体的大量顶点和表示实体之间的关系的大量边缘。
4.用于在图谱数据上进行关键字查询的一种常见的语义类型是将每个关键字与图谱的顶点相匹配,并且提取包含这些顶点的具有最小权重的树,称为最小权重steiner树,如stefan vo
ß
,1992年的“steiner’s problem in graphs: heuristic methods(discr. appl. math. 40,1(1992),45

72)”中所述。
5.在边缘加权数据图谱和关键字查询中,人们首先为每个关键字找到图谱中匹配的顶点集合,即,可以匹配该关键字的所有顶点,然后在图谱中找到包括(span)该匹配集合的树,即,包含来自每个匹配集合的至少一个顶点,并且使总边缘权重最小化。此优化问题是众所周知的群组steiner树(gst)问题,如stefan vo
ß
,1992年的“steiner’s problem in graphs: heuristic methods(discr. appl. math. 40,1(1992),45

72)”中所述。关键字也被允许与边缘进行匹配。边缘匹配可以经由图谱细分(subdivision)直接变换成顶点匹配,并且作为顶点匹配进行处理。
6.在gst语义下计算对关键字查询的答案在计算上要求很高。此外,对于大型图谱,具有可证明质量保证的现有近似算法也具有过分高的运行时间。近年来,知识图谱变得越来越流行,并且它们可能非常庞大。本公开的目的是在知识图谱上提供有效的关键字搜索系统和方法。


技术实现要素:

7.这通过根据独立权利要求的设备和方法来实现。
8.根据实施例,一种用于利用标签来增强知识图谱的计算机实现的方法,其中,知识图谱包括表示实体的大量顶点和表示所述实体之间的关系的大量边缘,其中,该方法包括为每个顶点确定标签的步骤,其中,每个顶点的标签包括所述特定顶点与知识图谱的其他顶点之间距离的列表,其中,距离关于顶点的中间中心性(betweenness centrality)以降序排序,从到顶点的距离开始,该顶点具有指向(point in)和指出(point out)所述顶点的最大数量的边缘。
9.标签是离线构造的索引结构,并且因此可以被叫做静态标签。
10.顶点v的中间中心性bc被定义为
,其中σ
st
是顶点s和t之间的最短路径的数量,并且σ
st
(v)是传过顶点v的路径σ
st
的数量。中间中心性可以使用布兰德斯算法来计算,该算法如在ulrik brandes:2001年的“a faster algorithm for betweenness centrality”(j. math. soc. 25,2(2001),163

177)中所述。然而,对于大型图谱,布兰德斯算法可能会导致高的运行时间。因此,事实证明,使用基于源采样的近似算法,并且从具有最高数量的指向和指出所述顶点的边缘的顶点开始是有利的。该算法的更多详细信息在ziyad alghamdi,fuad jamour,spiros skiadopoulos和panos kalnis的2017年的“a benchmark for betweenness centrality approximation algorithms on large graphs”中有所描述(https://doi.org/10.1145/3085504.3085510)。
11.如果顶点具有较小的具体化标签,则标签的进一步处理将更快。用于为给定图谱构造合理的小标签的启发式方法的已知实现方式是例如修剪的界标标签(pll),如takuya akiba,yoichi iwata和yuichi yoshida在2013的“fast exact shortest

path distance queries on large networks by pruned landmark labelling(349

360页,https://doi.org/10.1145/2463676.2465315)”中所述,其实行dijkstra算法并且有效地修剪搜索以减少标签。根据本公开的计算机实现的方法改进了修剪的界标标签(pll)以获得较小的标签,因此提供了对标签的更快处理。
12.根据实施例,一对顶点之间的距离是连接该对顶点的边缘的权重之和。权重是使用加权函数被映射到边缘的非负实数。例如,较小的权重指示非常重要,而较高的权重指示不重要。
13.根据实施例,该方法进一步包括用于计算知识图谱的顶点之间的距离的步骤。一对顶点之间的距离可以通过计算连接该对顶点的边缘的权重总和来计算。
14.根据实施例,通过计算一对顶点之间的最小距离来计算距离。
15.根据实施例,每个顶点的标签进一步包括:关于该顶点的前身的信息。顶点的每个相邻顶点给出顶点的前身。存储前身不会增加静态标签的渐近空间复杂度。
16.本公开进一步涉及一种用于利用标签来增强知识图谱的计算机程序,其中,该计算机程序包括计算机可读指令,当计算机执行该计算机可读指令时,使计算机执行根据实施例的、用于利用标签来增强知识图谱的方法。有利地,计算机程序包括指令,当计算机执行该指令时,使计算机执行确定每个顶点的标签的步骤,其中,每个顶点的标签包括所述特定顶点与知识图谱的其他顶点之间距离的列表,其中,距离是关于顶点的中间中心性以降序排序的,从到顶点的距离开始,该顶点具有指向和指出所述顶点的最大数量的边缘。
17.有利地,计算机程序包括指令,当计算机执行该指令时,使计算机执行计算知识图谱的顶点之间的距离的步骤。
18.本公开进一步涉及一种用于利用标签来增强知识图谱的系统,其中,该系统包括至少一个用于存储所述知识图谱的存储器单元,和/或至少一个用于存储计算机程序的存储器单元,其中,所述计算机程序控制根据实施例的、用于利用标签来增强知识图谱的方法的执行。该系统可以被配置成访问分布式存储单元。
19.知识图谱的标签可以被存储在与知识图谱相同的存储单元中。根据实施例,该系统进一步包括用于存储标签的存储器单元。
20.本公开进一步涉及一种用于在知识图谱上进行关键字搜索的方法,其中,知识图谱包括表示实体的大量顶点和表示所述实体之间的关系的大量边缘,并且通过使用根据实施例的、用于利用标签来增强知识图谱的方法,和/或根据实施例的、用于利用标签来增强知识图谱的系统,和/或根据实施例的、用于利用标签来增强知识图谱的计算机程序来利用标签增强知识图谱,其中,用于关键字搜索的方法包括以下步骤:接收关键字集合,并且为该关键字集合确定子图谱,其中,确定子图谱的步骤包括:将关键字集合中的关键字映射到知识图谱的顶点,并且基于顶点的标签确定每对所述顶点之间的最短路径,使得就所述顶点之间的距离而言,知识图谱的子图谱是最小的。
21.标签是离线构造的,因此对于搜索查询是不变的。
22.根据实施例,确定一对顶点之间的最短路径的步骤包括:通过使用标签中关于顶点的前身的信息,确定该对顶点的共同顶点。
23.根据实施例,确定每对顶点之间的最短路径的步骤包括:重复跟随存储在顶点的标签中的前身。
24.根据另一个实施例,可以将该方法有利地扩展成通过将关键字集合中的关键字映射到知识图谱的边缘来支持边缘匹配。
25.根据实施例,使用图谱细分将边缘变换成顶点。边缘的细分产生新的顶点,并且用两个新的边缘替换该边缘。这样,边缘匹配被变换成顶点匹配。有利地,关于将关键字映射到顶点所描述的步骤可以关于边缘来实行。
26.本公开进一步涉及一种用于在知识图谱上进行关键字搜索的计算机程序,其中,该计算机程序包括计算机可读指令,当计算机执行该计算机可读指令时,使计算机执行根据实施例的、用于在知识图谱上进行关键字搜索的方法。
27.有利地,该计算机程序包括指令,当计算机执行该指令时,使计算机执行以下步骤中的任何步骤:接收关键字集合,并且为该关键字集合确定子图谱,其中,确定子图谱的步骤包括:将关键字集合中的关键字映射到知识图谱的顶点,并且基于顶点的标签确定每对所述顶点之间的最短路径,使得就所述顶点之间的距离而言,知识图谱的子图谱是最小的。
28.有利地,该计算机程序包括指令,当计算机执行该指令时,使计算机执行以下步骤:通过使用标签中关于顶点的前身的信息,确定该对顶点的共同顶点。
29.有利地,该计算机程序包括:允许将该方法扩展成支持边缘匹配的指令。
30.本公开进一步涉及一种用于在知识图谱上进行关键字搜索的系统,其中,该系统被配置成执行根据实施例的、用于在知识图谱上进行关键字搜索的方法。
31.根据实施例,用于在知识图谱上进行关键字搜索的系统包括:至少一个用于存储关键字集合的存储器单元,和/或至少一个用于存储用于在知识图谱上进行关键字搜索的计算机程序的存储器单元,其中,所述计算机程序prg2控制根据实施例的、用于在知识图谱上进行关键字搜索的方法的执行。
32.有利地,该系统包括:用于存储知识图谱的存储单元,和/或用于存储根据实施例的、用于在知识图谱上进行关键字搜索的计算机程序的存储单元。
附图说明
33.从下面的描述和附图中得出另外有利的实施例。在附图中:图1描绘了根据实施例的、用于利用标签来增强知识图谱的计算机实现的方法的示意图;图2是描绘了知识图谱的示意图;图3描绘了根据实施例的、用于利用标签来增强知识图谱的系统的示意图;图4描绘了根据实施例的、用于在知识图谱上进行关键字搜索的计算机实现的方法的示意图,以及图5描绘了根据实施例的、用于在知识图谱上进行关键字搜索的系统的示意图。
34.图1涉及用于利用标签来增强知识图谱的计算机实现的方法100。图2给出了知识图谱kg的示例性表示。通过描述(真实世界)实体及其关系,知识图谱kg可以被用于基于图谱的知识表示。知识图谱kg包括:表示实体的大量顶点v和表示所述实体之间的关系的大量边缘e。
35.根据实施例,利用标签l增强知识图谱kg的方法100包括:步骤110:为每个顶点v确定标签l,其中,每个顶点v的标签l包括:所述特定顶点v与知识图谱kg的其他顶点v之间距离的列表。
36.如图2所示,知识图谱kg包括:顶点a,b,c,d,e和f。顶点之间的距离例如是dist
ab
=0.6,dist
ac
=0.4,dist
ad
=1,dist
ae
=0.3,dist
be
=0.8,dist
bf
=0.1和dist
cf
=2。
37.下表给出了标签l的示例性表示:l(a)a(dist=0,pred=a)l(b)a(dist=0.6,pred=a),b(dist=0,pred=b)l(c)a(dist=0.4,pred=a),c(dist=0,pred=c)l(d)a(dist=1,pred=a),d(dist=0,pred=d)l(e)a(dist=0.3,pred=a),b(dist=0.8,pred=b),e(dist=0,pred=e)l(f)a(dist=0.7,pred=b),b(dist=0.1,pred=b),f(dist=0,pred=f)距离关于顶点的中间中心性以降序排序,从到顶点的距离开始,该顶点具有指向和指出所述顶点的最大数量的边缘。
38.顶点v的中间中心性bc被定义为,其中σ
st
是顶点s和t之间的最短路径的数量,并且σ
st(v)
是传过顶点v的路径σ
st
的数量。根据本公开,中间中心性使用基于源采样的近似算法,并且从具有指向和指出所述顶点的最大数量的边缘的顶点开始。该算法的更多详细信息在ziyad alghamdi,fuad jamour,spiros skiadopoulos和panos kalnis的2017年的“a benchmark for betweenness centrality approximation algorithms on large graphs”中有所描述(https://doi.org/10.1145/3085504.3085510)。
39.根据实施例,一对顶点之间的距离是连接该对顶点v的边缘e的权重之和。权重是使用加权函数映射到边缘e的非负实数。例如,较小的权重指示非常重要,而较高的权重指
示不重要。
40.根据实施例,该方法进一步包括步骤120,用于计算知识图谱kg的顶点v之间的距离。可以通过计算连接一对顶点v的边缘e的权重总和来计算该对顶点v之间的距离。
41.根据实施例,通过计算125一对顶点v之间的最小距离来计算距离。
42.根据实施例,每个顶点v的标签l进一步包括:关于顶点v的前身的信息。特定顶点v的每个相邻的顶点v给出了顶点v的前身。
43.图3描绘了根据实施例的、用于利用标签l来增强知识图谱kg的系统200的示意图。
44.系统200被配置成至少执行方法100的步骤110、120和125。
45.系统200包括:计算单元210,例如,微处理器和/或微控制器和/或可编程逻辑设备,特别是fpga,和/或专用集成电路、asic和/或数字信号处理器、dsp和/或它们的组合。
46.系统200包括:至少一个存储单元220。存储单元220可以进一步包括:易失性存储器,特别是随机存取存储器(ram),和/或非易失性存储器,例如,闪存eeprom。存储单元220包含用于计算单元210的至少一个计算机程序prg1,其控制根据实施例和/或系统200的任何其他操作的、用于利用标签来增强知识图谱kg的方法100的执行。
47.系统200可以进一步包括接口单元230,用于从至少一个外部数据源接收构成知识图谱kg的数据。构成知识图谱的数据可以存储在系统的存储单元220中,或者存储在另外的、例如外部存储单元中。
48.根据实施例,标签l被存储在与知识图谱kg相同的存储单元中,例如,存储在存储220中或外部存储单元中。根据另一个实施例,标签l被存储在单独的存储单元中。
49.计算机程序prg1有利地包括计算机可读指令,当计算机、优选地计算单元210执行该计算机可读指令时,使计算机执行根据实施例的、用于利用标签来增强知识图谱的方法100。有利地,计算机程序prg1包括指令,当计算机执行该指令时,使计算机执行步骤110:为知识图谱kg的每个顶点v确定标签l,其中,每个顶点v的标签l包括:所述特定顶点v与知识图谱kg的其他顶点v之间距离的列表,其中,距离相对于顶点v的中间中心性以降序排序,从到顶点v的距离开始,该顶点v具有指向和指出所述顶点v的最大数量的边缘。
50.有利地,计算机程序prg1包括指令,当计算机执行该指令时,使计算机执行步骤120:计算知识图谱kg的顶点v之间的距离。
51.图4描绘了根据本公开的另一个实施例的、用于在知识图谱kg上进行关键字搜索的计算机实现的方法300的示意图。关键字搜索允许用户查询数据,而无需事先了解专门的查询语言。关键字查询是用户提出的、应该与数据相匹配的单词集合。
52.根据实施例,通过使用根据上述实施例的、用于利用标签l来增强知识图谱kg的方法100,和/或根据上述实施例的、用于利用标签l来增强知识图谱kg的系统200,和/或根据上述实施例的、用于利用标签l来增强知识图谱kg的计算机程序prg 1,来利用标签l增强知识图谱kg。
53.根据图4,方法300包括:步骤310:接收关键字集合;以及步骤320:为关键字集合确定子图谱。
54.根据实施例,确定子图谱的步骤320包括:步骤322:将关键字集合中的关键字映射到知识图谱kg的顶点v,以及
步骤324:基于顶点v的标签l,确定每对所述顶点v之间的最短路径,使得就所述顶点v之间的距离而言,知识图谱kg的子图谱是最小的。
55.根据实施例,确定一对顶点v之间的最短路径的步骤324包括:通过使用标签l中关于顶点v的前身的信息,确定324a该对顶点v的共同顶点v。
56.根据实施例,确定每对顶点v之间的最短路径的步骤324包括:重复跟随324b存储在顶点v的标签l中的前身。
57.根据实施例,方法300可以进一步包括:将关键字集合中的关键字映射到知识图谱kg的边缘e。根据实施例,使用图谱细分将边缘e变换成顶点v。边缘e的细分产生新的顶点v,并且用两个新的边缘e替换边缘e。这样,边缘匹配被变换成顶点匹配。有利地,关于将关键字映射到顶点v所描述的方法300的步骤320、322、324、324a、324b可以关于边缘e来实行。
58.下面关于图2示例性地描述方法300,特别是步骤324、324a和324b。
59.知识图谱kg被扩展有标签l,如上表所示。
60.为了获得两个顶点v之间的最短路径(步骤324),首先确定这两个顶点v之间的公共顶点v(步骤324a),其次跟随两个顶点v的前身来构造从一个顶点v到公共顶点v的部分,以及从另一个顶点v到共同顶点v的部分。
61.例如,为了计算顶点d和f之间的最短路径,将a确定为d和f之间的公共顶点。可以从顶点d和d的标签中获得此信息。a是l(d)和l(f)中仅有的公共顶点。d和f之间的路径的d

a部分(单边(d,a))是通过遵循pred(d,a)=a来构造的,该pred(d,a)=a与a一起存储在l(d)中。d和f之间的路径的f

a部分(由两个边缘(f,b)和(b,a)组成的路径)通过遵循pred(f,a)=b(其与a一起存储在l(f)中)构造,然后遵循pred(b,a)=a(其与a一起存储在l(b)中)。最后,这两个部分被串联成d和f之间的最短路径,即p=d

a

b

f。
62.图5描绘了根据实施例的、用于在知识图谱kg上进行关键字搜索的系统400的示意图。
63.系统400被配置成至少执行方法300的步骤310、320。
64.系统400包括计算单元410,例如,微处理器和/或微控制器和/或可编程逻辑设备,特别是fpga,和/或专用集成电路asic,和/或数字信号处理器dsp,和/或它们的组合。
65.系统400包括至少一个存储单元420。存储单元420可以进一步包括易失性存储器420a,特别是随机存取存储器(ram),和/或非易失性存储器420b,例如,闪存eeprom。非易失性存储器420b包含用于计算单元410的至少一个计算机程序prg2,该计算机程序prg2控制根据实施例和/或系统400的任何其他操作的、用于在知识图谱kg上进行关键字搜索的方法300的执行。
66.系统400可以进一步包括用于接收构成关键字集合的数据的接口单元430。该关键字集合可以被存储在所述存储单元420的所述易失性存储器420a中。
67.系统400可以进一步包括:用于存储知识图谱kg和/或知识图谱kg的标签l的存储单元。根据另一个实施例,系统400被配置成访问包括知识图谱kg和/或知识图谱kg的标签l的存储单元,例如,外部存储单元。外部存储单元例如是如图3中描绘的系统200的存储单元220。
68.用于在知识图谱kg上进行关键字搜索的计算机程序prg2包括计算机可读指令,当计算机执行该计算机可读指令时,优选地,系统400的计算单元410使计算机执行根据上述
实施例的、用于在知识图谱kg上进行关键字搜索的方法300。
69.有利地,计算机程序prg2包括指令,当计算机执行该指令时,使计算机执行以下步骤中的任何步骤:接收310关键字集合,并且为该关键字集合确定320子图谱,其中,确定子图谱的步骤320包括:将关键字集合中的关键字映射322到知识图谱kg的顶点v,并且基于顶点v的标签l确定324每对所述顶点v之间的最短路径,使得就所述顶点v之间的距离而言,知识图谱kg的子图谱是最小的。
70.有利地,计算机程序prg2包括指令,当计算机执行该指令时,使计算机执行步骤324a:通过使用标签l中关于顶点v的前身的信息来确定该对顶点v的共同顶点v。
71.有利地,计算机程序prg2包括允许使方法300扩展以支持边缘匹配的指令。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜