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

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

2021-10-24 05:14:00 来源:中国专利 TAG:图谱 关键字搜索 用于 公开 计算机


1.本公开涉及一种用于在知识图谱(knowledge graph)上进行关键字搜索的计算机实现的方法和系统。


背景技术:

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.一个实施例涉及一种用于在知识图谱上进行关键字搜索的计算机实现的方法,其中,知识图谱包括表示实体的大量顶点和表示所述实体之间的关系的大量边缘,并且知识图谱利用静态标签进行增强,其中,每个顶点的静态标签包括所述特定顶点与知识图谱的其他顶点之间距离的列表,其中,该方法包括以下步骤:接收关键字集合,基于该关键字集合来构造动态标签,并且基于静态标签且基于动态标签来为该关键字集合确定知识图谱的子图谱,其中,构造动态标签的步骤包括以下步骤:通过将关键字集合中的关键字映射到知识图谱的顶点来获得关键字顶点,以及从静态标签为关键字顶点获得关键字顶点与关键字
顶点的前身之间的距离。
9.在本公开的上下文中,静态标签被称为离线构造的索引结构。
10.优选地,每个顶点的静态标签包括:所述特定顶点与知识图谱的其他顶点之间距离的列表,其中,该距离关于顶点的中间中心性(betweenness centrality)以降序排序,从到顶点的距离开始,该顶点具有指向(point in)和指出(point out)所述顶点的最大数量的边缘。
11.顶点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)。
12.优选地,一对顶点之间的距离是连接该对顶点的边缘的权重之和。权重是使用加权函数映射到边缘的非负实数。例如,较小的权重指示非常重要,而较高的权重指示不重要。一对顶点之间的距离可以通过计算连接该对顶点的边缘的权重总和来计算。
13.优选地,每个顶点的静态标签进一步包括:关于该顶点的前身的信息。顶点的每个相邻顶点给出顶点的前身。存储该前身不会增加静态标签的渐近空间复杂度。
14.动态标签是在线构造的,该在线意味着在关键字搜索的运行时间期间。通过将关键字集合中的关键字映射到知识图谱的顶点,基于关键字集合来构造动态标签。每个关键字包括至少一个关键字顶点。对于关键字顶点,从静态标签获得关键字顶点与其前身之间的距离。优选地,仅为关键字被映射到的顶点构造动态标签。
15.知识图谱的子图谱提供了对关键字搜索的答案。
16.根据实施例,特别是临时地以矩阵的形式存储动态标签,其中,矩阵的元素指示关键字顶点与知识图谱的顶点之间的距离。优选地,行对应于关键字集合中的关键字,而列对应于知识图谱的顶点。
17.根据实施例,如果知识图谱的顶点是关键字顶点的前身,则矩阵的元素指示关键字顶点与知识图谱的顶点之间的距离。优选地,特定行的元素指示针对该关键字集合中的特定关键字的、关键字顶点与知识图谱的顶点之间的距离。
18.根据实施例,如果知识图谱的顶点不是关键字顶点的前身,则元素为“空”。
19.根据实施例,如果关键字包括多于一个关键字顶点,则获得关键字顶点与其前身具有最小距离的距离。优选地,矩阵的元素仅包含关键字顶点与其前身之间的距离,该距离对于关键字而言是最小的。
20.根据实施例,关键字集合包括g个关键字,并且为每个关键字顶点k
i
(其中2≤i≤g)构造动态标签,使得矩阵的大小为(g

1)
×
n,其中,n是知识图谱的顶点的数量。
21.根据实施例,该方法进一步包括:基于静态标签和动态标签,为第一关键字中的每个关键字顶点计算第一关键字的关键字顶点与关键字集合中的其他关键字的关键字顶点之间的最小距离。
22.根据实施例,确定关键字集合的子图谱的步骤包括以下步骤:基于关键字顶点的静态标签和动态标签,确定每对关键字顶点之间的最短路径,使得就所述关键字顶点之间的距离而言,知识图谱的子图谱是最小的。
23.根据另一个实施例,可以将该方法有利地扩展成通过将关键字集合中的关键字映射到知识图谱的边缘来支持边缘匹配。
24.根据实施例,使用图谱细分将边缘变换成顶点。边缘的细分产生新的顶点,并且用两个新的边缘替换该边缘。这样,边缘匹配被变换成顶点匹配。有利地,关于将关键字映射到顶点所描述的步骤可以关于边缘来实行。
25.本公开进一步涉及一种用于在知识图谱上进行关键字搜索的计算机程序,其中,该计算机程序包括计算机可读指令,在计算机执行该计算机可读指令时,使计算机执行根据实施例的、用于在知识图谱上进行关键字搜索的方法。
26.有利地,计算机程序包括指令,在由计算机执行该指令时,使计算机执行以下步骤中的任何步骤:接收关键字集合,基于该关键字集合来构造动态标签,以及基于静态标签且基于动态标签来为该关键字集合确定知识图谱的子图谱,其中,构造动态标签的步骤包括以下步骤:通过将该关键字集合中的关键字映射到知识图谱的顶点来获得关键字顶点;以及从静态标签为关键字被映射到的顶点获得顶点与顶点的前身之间的距离。
27.有利地,计算机程序包括指令,当计算机执行该指令时,使计算机基于静态标签和动态标签,为关键字k1中的每个关键字顶点计算关键字k1的关键字顶点与关键字k1至k
g
的关键字顶点之间的最小距离。
28.有利地,计算机程序包括指令,在计算机执行该指令时,使计算机为关键字集合确定子图谱,包括以下步骤:基于关键字顶点的静态标签和动态标签,确定每对关键字顶点之间的最短路径,使得就所述关键字顶点之间的距离而言,知识图谱的子图谱是最小的。
29.有利地,计算机程序包括允许扩展该方法以支持边缘匹配的指令。
30.本公开进一步涉及一种用于在知识图谱上进行关键字搜索的系统,其中,该系统被配置成执行根据实施例的、用于在知识图谱上进行关键字搜索的方法。
31.根据实施例,用于在知识图谱上进行关键字搜索的系统包括:至少一个用于存储关键字集合的存储器单元,和/或至少一个用于存储用于在知识图谱上进行关键字搜索的计算机程序的存储器单元,其中,所述计算机程序控制根据实施例的、用于在知识图谱上进行关键字搜索的方法的执行。
32.有利地,根据实施例,该系统包括用于存储知识图谱的存储单元,和/或用于存储用于在知识图谱上进行关键字搜索的计算机程序的存储单元。
附图说明
33.从下面的描述和附图中得出另外有利的实施例。在附图中:
图1描绘了知识图谱的示意图;图2描绘了根据实施例的、用于在知识图谱上进行关键字搜索的计算机实现的方法的流程图的示意图,以及图3描绘了根据实施例的、用于在知识图谱上进行关键字搜索的系统的框图的示意图。
具体实施方式
34.图1描绘了知识图谱kg的示例性表示。通过描述(真实世界)实体及其关系,知识图谱kg可以被用于基于图谱的知识表示。知识图谱kg包括:表示实体的大量顶点v和表示所述实体之间的关系的大量边缘e。
35.如图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。
36.知识图谱kg利用静态标签ls进行增强。在本公开的上下文中,静态标签ls被称为离线构造的索引结构。
37.参考下表描述了静态标签ls的计算,该表给出了静态标签ls的示例性表示: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.一对顶点v之间的距离可以通过计算连接该对顶点v的边缘e的权重总和来计算。优选地,通过计算一对顶点v之间的最小距离来计算距离。
41.根据实施例,每个顶点v的静态标签ls进一步包括:关于顶点v的前身的信息。特定
顶点v的每个相邻顶点v给出了顶点v的前身。
42.参考图2描述了用于在知识图谱kg上进行关键字搜索的计算机实现的方法100。如上所述,知识图谱kg利用静态标签ls进行增强。
43.方法100包括:步骤110:接收关键字k1,k2,

,k
g
的集合,步骤120:基于关键字k1,k2,

,k
g
的集合来构造动态标签m,其中,构造动态标签m的步骤120包括以下步骤:通过将集合中的关键字k1,k2,

,k
g
映射到知识图谱kg的顶点v来获得122关键字顶点k1,k2,

,k
g
,以及从静态标签ls为关键字顶点k1,k2,...,k
g
获得124关键字顶点k1,k2,...,k
g
与关键字顶点k1,k2,...,k
g
的前身之间的距离,以及步骤130:基于静态标签ls且基于动态标签m,为关键字k1,k2,

,k
g
的集合确定知识图谱kg的子图谱。
44.知识图谱kg的子图谱提供了对关键字搜索的答案。
45.动态标签m是在线构造的,该在线意味着在关键字搜索的运行时间期间。通过将关键字k1,k2,...,k
g
的集合中的关键字k1,k2,...,k
g
映射到知识图谱kg的顶点v,基于关键字k1,k2,...,k
g
的集合来构造动态标签m。每个关键字k1,k2,...,k
g
包括至少一个关键字顶点k1,k2,...,k
g
。对于关键字顶点k1,k2,...,k
g
,从静态标签ls获得关键字顶点k1,k2,...,k
g
与它们的前身之间的距离。优选地,仅为关键字k
1,
k2,

,k
g
被映射到的顶点v构造动态标签m。
46.根据实施例,特别是临时地以矩阵m的形式存储动态标签m,其中,矩阵m的元素指示关键字顶点k1,k2,

,k
g
与知识图谱kg的顶点v之间的距离。优选地,行对应于关键字顶点k
1,
k2,

,k
g
,而列对应于知识图谱kg的顶点v。
47.根据实施例,关键字k1,k2,...,k
g
的集合包括g个关键字k1,k2,...,k
g
,并且为每个关键字顶点k
i
(其中2≤i≤g)构造动态标签m,使得矩阵m的大小为(g

1)
×
n,其中,n是知识图谱kg的顶点v的数量。
48.根据实施例,如果知识图谱kg的顶点v是关键字顶点k1,k2,

,k
g
的前身,则矩阵m的元素指示关键字顶点k1,k2,

,k
g
与知识图谱kg的顶点v之间的距离。优选地,特定行的元素为关键字k1,k2,...,k
g
的集合k中的特定关键字k1,k2,

,k
g
指示关键字顶点k1,k2,...,k
g v与知识图谱kg的顶点v之间的距离。
49.根据实施例,如果知识图谱kg的顶点v不是关键字顶点k1,k2,

,k
g
的前身,则元素为“空(null)”。
50.根据实施例,如果关键字k1,k2,...,k
g
包括多于一个关键字顶点k1,k2,...,k
g
,则获得关键字顶点k1,k2,...,k
g
与其前身具有最小距离的距离。优选地,矩阵m的元素仅包含关键字顶点k1,k2,...,k
g
与它们的前身之间的距离,该距离对于关键字k1,k2,...,k
g
而言是最小的。
51.以下矩阵表是关键字顶点k2和k3的动态标签m的示例性实施例,其提供了矩阵m的元素。
52.关键字顶点k2例如被映射到知识图谱kg的顶点e,并且关键字顶点k3例如被映射到知识图谱kg的顶点c和d。
53.从静态标签ls,特别是从顶点e的标签l(e),可以获得以下信息:顶点e的前身是顶点a和b,其中,顶点e与a之间的距离是0.3,而顶点e与b之间的距离是0.8。顶点e、d和f不是e
的前身。因此,表中的相应条目为“空”。
54.当关键字顶点k3从顶点c和d的静态标签l(c)和l(d)映射到顶点c和d时,可以获得以下信息:顶点a是c和d的前身。顶点a与c之间的距离是0.4,而顶点a与d之间的距离是1。根据实施例,如果关键字k1,k2,

,k
g
包括多于一个关键字顶点k1,k2,

,k
g
,则获得关键字顶点k1,k2,

,k
g
与其前身具有最小距离的距离。因此,获得顶点a与顶点c之间的距离,使得矩阵的元素仅包含关键字顶点k3与它们的前身之间的距离,该距离对于关键字k3而言是最小的。 abcdefk2e
(0.3)
e
(0.8)
空空e
(0)
空k3c
(0.4)
空c
(0)
d
(0)
空空
55.根据实施例,该方法进一步包括:基于静态标签ls和动态标签m,为关键字k1中的每个关键字顶点k1,计算关键字k1的关键字顶点k1与关键字k2至k
g
的关键字顶点k2至k
g
之间的最小距离。
56.对于k1的关键字顶点k1的每个前身,从静态标签ls获得关键字顶点k1与其前身之间的距离。另外,对于前身而言,从动态标签m,特别是从矩阵m获得到其他关键字k2,...,k
g
的关键字顶点k2,...,k
g
的最小距离。
57.关键字k1的关键字顶点k1与关键字顶点k2,...,k
g
之间的最小距离将相加以获得关键字k1,k2,...,k
g
的关键字顶点v之间的最短路径。
58.当确定用于关键字k1,k2,

,k
g
的集合的知识图谱kg的子图谱时,进一步使用计算最短路径的步骤。
59.根据实施例,为关键字k1,k2,

,k
g
的集合确定知识图谱kg的子图谱的步骤包括以下步骤:基于关键字顶点k1,k2,

,k
g
的静态标签和动态标签,确定每对关键字顶点k1,k2,

,k
g
之间的最短路径,使得就所述关键字顶点k1,k2,

,k
g
之间的距离而言,知识图谱kg的子图谱是最小的。
60.根据另一个实施例,可以将该方法有利地扩展成通过将关键字k1,k2,

,k
g
的集合中的关键字k1,k2,

,k
g
映射到知识图谱kg的边缘e来支持边缘匹配。
61.根据实施例,使用图谱细分将边缘e变换成顶点v。边缘e的细分产生新的顶点v,并且用两个新的边缘e替换边缘e。这样,边缘匹配被变换成顶点匹配。有利地,关于将关键字k1,k2,

,k
g
映射到顶点v所描述的步骤可以关于边缘e来实行。
62.图3描绘了根据实施例的、用于在知识图谱kg上进行关键字搜索的系统200的示意图。
63.系统200被配置成至少执行方法100的步骤110、120和130。
64.系统200包括:计算单元210,例如,微处理器和/或微控制器和/或可编程逻辑设备,特别是fpga,和/或专用集成电路、asic和/或数字信号处理器、dsp和/或它们的组合。
65.系统200包括:至少一个存储单元220。存储单元220可以进一步包括:易失性存储器220a,特别是随机存取存储器(ram),和/或非易失性存储器220b,例如,闪存eeprom。非易失性存储器220b包含用于计算单元210的至少一个计算机程序prg1,其控制根据实施例和/或系统200的任何其他操作的、用于在知识图谱kg上进行关键字搜索的方法100的执行。
66.系统200可以进一步包括:接口单元230,用于接收构成关键字k1,k2,

,k
g
的集合
的数据。关键字k1,k2,

,k
g
的集合可以存储在所述存储单元220的所述易失性存储器220a中。另外,动态标签m可以存储在存储单元220的易失性存储器220a中。
67.系统200可以进一步包括:存储单元,用于存储知识图谱kg和/或知识图谱kg的静态标签ls。根据另一个实施例,系统200被配置成访问包括知识图谱kg和/或知识图谱kg的静态标签ls的存储单元,例如,外部存储单元。该外部存储单元由图3中的虚线示例性地描绘。
68.用于在知识图谱kg上进行关键字搜索的计算机程序prg1包括:计算机可读指令,当计算机执行该计算机可读指令时,优选地,系统200的计算单元210使计算机执行根据上述实施例的、用于在知识图谱kg上进行关键字搜索的方法100。
69.有利地,计算机程序prg1包括指令,当计算机执行该指令时,使计算机执行以下步骤中的任何步骤:接收110关键字k1,k2,

,k
g
的集合,基于关键字k1,k2,

,k
g
的集合来构造120动态标签,其中,构造动态标签的步骤120包括以下步骤:通过将关键字k1,k2,

,k
g
的集合中的关键字k1,k2,

,k
g
映射到知识图谱kg的顶点v来获得122关键字顶点k1,k2,...,k
g
,以及从静态标签ls为关键字顶点k1,k2...,k
g
获得124关键字顶点k1,k2,...,k
g
与关键字顶点k1,k2,...,k
g
的前身之间的距离,以及基于静态标签ls且基于动态标签,为关键字k1,k2,

,k
g
的集合确定130知识图谱kg的子图谱。
70.有利地,计算机程序prg1包括指令,当计算机210执行该指令时,使计算机210以矩阵m的形式存储动态标签,其中,矩阵的元素指示关键字顶点k1,k2,...,k
g
与知识图谱kg的顶点v之间的距离。优选地,行对应于关键字k1,k2,...,k
g
的集合中的关键字顶点k1,k2,...,k
g
,而列对应于知识图谱kg的顶点v。根据实施例,关键字k1,k2,...,k
g
的集合包括g个关键字k1,k2,...,k
g
,并且为关键字k2,

,k
g
的每个关键字顶点k
i
(其中2≤i≤g)构造动态标签,使得矩阵m的大小为(g

1)
×
n,其中,n是知识图谱的顶点的数量。根据实施例,如果知识图谱kg的顶点v是关键字顶点k2,

,k
g
的前身,则矩阵m的元素指示关键字顶点k2,

,k
g
与知识图谱kg的顶点v之间的距离。优选地,特定行的元素指示针对关键字k2,...,k
g
的集合中的特定关键字k2,...,k
g
的、关键字顶点k2,...,k
g
与知识图谱kg的顶点v之间的距离。根据实施例,如果知识图谱kg的顶点v不是关键字顶点k2,

,k
g
的前身,则元素为“空”。
71.有利地,计算机程序prg1包括指令,当计算机210执行该指令时,如果关键字k1,k2,

,k
g
包括多于一个关键字顶点k1,k2,

,k
g
,则使计算机210获得关键字顶点k1,k2,...,k
g
的距离,该距离与其前身具有最小距离。优选地,矩阵m的元素仅包含关键字顶点k1,k2,...,k
g
与它们的前身之间的距离,该距离对于关键字k1,k2,...,k
g
而言是最小的。
72.有利地,计算机程序prg1包括指令,当计算机210执行该指令时,使计算机210基于静态标签ls和动态标签m,为第一关键字k1中的每个关键字顶点k1,计算关键字k1的关键字顶点k1与关键字k2至k
g
的关键字顶点k2至k
g
之间的最小距离。对于k1的关键字顶点k1的每个前身,关键字顶点k1与其前身之间的距离是从静态标签ls获得的。另外,对于前身而言,到关键字k2,...,k
g
的关键字顶点k2,...,k
g
的最小距离是从动态标签,特别是从矩阵m获得的。将第一关键字k1的关键字顶点k1与关键字顶点k2,...,k
g
之间的最小距离相加,以获得
关键字k1,k2,...,k
g
的关键字顶点k1,k2,...,k
g
之间的最短路径。
73.有利地,计算机程序prg1包括允许扩展方法100以支持边缘匹配的指令。根据实施例,使用图谱细分将边缘e变换成顶点v。边缘e的细分产生新的顶点v,并且用两个新的边缘e替换边缘e。这样,边缘匹配被变换成顶点匹配。有利地,关于将关键字k1,k2,

,k
g
映射到顶点v所描述的步骤可以关于边缘e来实行。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜