Method and system for conducting keyword search on a knowledge graph

By augmenting knowledge graphs with static labels and constructing dynamic labels for keyword searches, the method addresses the computational inefficiencies of existing keyword search algorithms, achieving faster and more efficient information retrieval on large graphs.

JP7689008B2Active Publication Date: 2025-06-05ROBERT BOSCH GMBH
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2021069284
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-04-16
Filing Date
2021-04-15
Publication Date
2025-06-05
Estimated Expiration
2041-04-15

AI Technical Summary

Technical Problem

Computing answers to keyword queries under Group Steiner Tree (GST) semantics is computationally intensive, and existing approximation algorithms have unacceptably long runtimes for large knowledge graphs.

Method used

The method involves augmenting the knowledge graph with static labels that include distances between vertices, and constructing dynamic labels based on the keywords. These labels are used to determine a subgraph of the knowledge graph that provides efficient answers to keyword searches.

Benefits of technology

This approach significantly reduces the computational intensity of keyword search on large knowledge graphs, enabling faster and more efficient retrieval of relevant information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007689008000005
    Figure 0007689008000005
  • Figure 0007689008000006
    Figure 0007689008000006
  • Figure 0007689008000007
    Figure 0007689008000007
Patent Text Reader

Abstract

To provide a computer-implemented method and a system for efficiently retrieving a keyword on a knowledge graph.SOLUTION: A method 100 includes: a step 110 of receiving a set of keywords K1, K2, ..., Kg; a step 120 of configuring a dynamic label M on the basis of the set; and a step 130 of determining a partial graph of a knowledge graph about the set of keywords K1, K2, ..., Kg on the basis of a static label LS and the dynamic label M. The step 120 configuring the dynamic label M includes: a step 122 of mapping the keywords K1, K2, ..., Kg of the set of the keywords K1, K2, ..., Kg on vertices V of the knowledge graph KG to obtain keyword vertices v; and a step 124 of obtaining a distance between the keyword vertex v and a preceding point of the keyword vertex v about the keyword vertex v from the static label LS.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a computer-implemented method and system for conducting keyword searches on knowledge graphs. [Background technology]

[0002] Keyword search allows users to query data without prior knowledge of specialized query languages. A keyword query is a set of user-posed words that should be matched against the data. In this case, relevant pieces of data are extracted and presented to the user in an appropriate format as an answer. The exact method of keyword matching, data extraction, and answer construction depends on the format of the underlying data and the semantics of the query response.

[0003] Knowledge graphs are primarily used for graph-based knowledge representation by describing (real-world) entities and their relationships. A knowledge graph contains a number of vertices that represent entities and a number of edges that represent relationships between the entities.

[0004] A common type of semantics for keyword queries on graph data is to match each keyword to the vertices of the graph and extract a minimum-weight tree containing these vertices, known as a minimum-weight Steiner tree as described in Stefan Voss. 1992. Steiner's Problem in Graphs: Heuristic Methods. Discr. Appl. Math. 40,1 (1992), 45-72.

[0005] In edge-weighted data graphs and keyword queries, we first find for each keyword a match set of vertices in the graph, i.e., all vertices that can match the keyword, and then find a tree in the graph that spans the match sets, i.e., contains at least one vertex from each match set and minimizes the total edge weight. The optimization problem is the well-known Group Steiner Tree (GST) problem as described in Stefan Voss. 1992. Steiner's Problem in Graphs: Heuristic Methods. Discr. Appl. Math. 40,1 (1992), 45-72. Keywords can also be matched to edges. Edge matches are easily converted to vertex matches by graph subdivision and can be treated as vertex matches. [Prior art documents] [Non-patent literature]

[0006] [Non-Patent Document 1] Stefan Voss.1992.Steiner's Problem in Graphs: Heuristic Methods.Discr.Appl.Math.40,1(1992),45-72 Summary of the Invention [Problem to be solved by the invention]

[0007] Computing answers to keyword queries under GST semantics is computationally intensive. Moreover, existing approximation algorithms with provable quality guarantees have unacceptably long runtimes for large graphs. Knowledge graphs have become increasingly popular in recent years and can become large. It is an object of the present disclosure to provide a system and method for efficient keyword search on knowledge graphs. [Means for solving the problem]

[0008] Disclosure of the Invention This is achieved by means of an apparatus and a method as set out in the independent claims.

[0009] One embodiment refers to a computer-implemented method for performing keyword search on a knowledge graph, the knowledge graph including a number of vertices representing entities and a number of edges representing relationships between the entities, the knowledge graph being augmented with static labels, the static label for each vertex including a list of distances between that particular vertex and other vertices of the knowledge graph, the method including the steps of receiving a set of keywords, constructing dynamic labels based on the set of keywords, and for the set of keywords, determining a subgraph of the knowledge graph based on the static labels and the dynamic labels, the step of constructing the dynamic labels including the steps of obtaining keyword vertices by mapping keywords of the set of keywords to vertices of the knowledge graph, and for the keyword vertex, obtaining a distance between the keyword vertex and a predecessor of the keyword vertex from the static labels.

[0010] In the context of this disclosure, static labels are referred to as index structures that are constructed offline.

[0011] Preferably, the static label of each vertex contains a list of distances between that particular vertex and other vertices in the knowledge graph, sorted in descending order with respect to the betweenness centrality of the vertex, starting with the distance to the vertex with the highest number of incoming and outgoing edges.

[0012] The betweenness centrality bc of a vertex v is

number

[0013] Preferably, the distance between a pair of vertices is the sum of the weights of the edges connecting the pair of vertices. The weights are non-negative real numbers mapped to the edges using a weighting function. For example, a small weight indicates high importance and a large weight indicates low importance. The distance between a pair of vertices can be calculated by summing the weights of the edges connecting the pair of vertices.

[0014] Preferably, the static label of each vertex contains further information about the vertex's predecessors: each of the vertex's neighbors contributes the vertex's predecessors. Storing the predecessors does not increase the asymptotic space complexity of the static labels.

[0015] Dynamic labels are constructed online (meaning while a keyword search is running). Dynamic labels are constructed based on a set of keywords by mapping the keywords of the set of keywords to vertices of a knowledge graph. Each keyword constitutes at least one keyword vertex. For a keyword vertex, the distance between the keyword vertex and its predecessor is obtained from the static label. Preferably, dynamic labels are constructed only for vertices to which a keyword is mapped.

[0016] Subgraphs of the knowledge graph provide answers to keyword searches.

[0017] According to one embodiment, the dynamic labels are stored, in particular temporarily, in the form of a matrix whose elements indicate the distances between the keyword vertices and the vertices of the knowledge graph, preferably with rows corresponding to the keywords of the set of keywords and columns corresponding to the vertices of the knowledge graph.

[0018] According to one embodiment, the elements of the matrix indicate the distance between a keyword vertex and a knowledge graph vertex if the knowledge graph vertex is a predecessor of the keyword vertex. Preferably, the elements of a particular row indicate the distance between the keyword vertex and the knowledge graph vertex for a particular keyword of the set of keywords.

[0019] According to one embodiment, if a vertex in the knowledge graph is not a predecessor of a keyword vertex, the element becomes "null (empty character, missing value, zero)".

[0020] According to one embodiment, if a keyword constitutes more than one keyword vertex, for the keyword vertex, the distance with the shortest distance to its predecessor is obtained. Preferably, the elements of the matrix include only the distance between the keyword vertex and its shortest predecessor for the keyword.

[0021] According to one embodiment, the set of keywords includes g keywords, and the dynamic labels are a matrix of size: (g-1)×n So that all keyword vertices K i Constructed for [2≦i≦g].

[0022] According to one embodiment, the method further includes, for each keyword vertex of the first keyword, calculating a shortest distance between the keyword vertex of the first keyword and the keyword vertices of other keywords of the set of keywords based on the static label and the dynamic label.

[0023] According to one embodiment, determining the subgraph for the set of keywords includes determining the shortest path between each pair of keyword vertices based on the static and dynamic labels of the keyword vertices, such that the subgraph of the knowledge graph is shortest in terms of distance between said keyword vertices.

[0024] According to other embodiments, the method can be advantageously extended to support edge matching by mapping keywords of the set of keywords to edges of the knowledge graph.

[0025] According to one embodiment, edges are transformed into vertices by graph refinement. Edge refinement results in new vertices and replaces edges with two new edges. In this way, edge matches are transformed into vertex matches. Advantageously, the steps described for mapping keywords to vertices can be performed for edges.

[0026] The present disclosure further relates to a computer program for performing a keyword search on a knowledge graph, the computer program comprising computer readable instructions, when executed by a computer, for causing the computer to perform a method for performing a keyword search on a knowledge graph according to an embodiment.

[0027] Advantageously, the computer program comprises instructions, when executed by a computer, to cause the computer to perform any of the following steps: receiving a set of keywords; constructing dynamic labels based on the set of keywords; and for the set of keywords, determining a subgraph of the knowledge graph based on the static labels and the dynamic labels, wherein the step of constructing dynamic labels comprises the steps of obtaining keyword vertices by mapping keywords of the set of keywords to vertices of the knowledge graph; and, for a vertex to which a keyword is mapped, obtaining from the static labels a distance between the vertex and a predecessor of the vertex.

[0028] Advantageously, the computer program, when executed by the computer, 1 For each keyword vertex in,based on the static and dynamic labels, we,select a keyword,K, 1 Keyword vertex and keyword K 1 ~K g The method includes instructions for causing a computer to calculate the shortest distance between the keyword vertices.

[0029] Advantageously, the computer program comprises instructions for causing the computer to determine a subgraph of the set of keywords when executed by the computer, the instructions comprising a step of determining the shortest path between each pair of keyword vertices based on the static and dynamic labels of the keyword vertices, such that the subgraph of the knowledge graph is shortest in terms of distance between said keyword vertices.

[0030] Advantageously, the computer program includes instructions that allow the method to be extended to support edge matching.

[0031] The present disclosure further relates to a system for performing a keyword search on a knowledge graph, the system being configured to execute a method for performing a keyword search on a knowledge graph according to an embodiment.

[0032] According to one embodiment, a system for performing a keyword search on a knowledge graph comprises at least one memory unit for storing a set of keywords and / or at least one memory unit for storing a computer program for performing a keyword search on a knowledge graph, said computer program controlling the execution of a method for performing a keyword search on a knowledge graph according to an embodiment.

[0033] Advantageously, the system comprises a storage unit for storing the knowledge graph and / or a storage unit for storing a computer program for performing a keyword search on the knowledge graph according to the embodiment.

[0034] Further advantageous embodiments emerge from the following description and the drawings. [Brief description of the drawings]

[0035] [Figure 1] FIG. 1 is a schematic diagram showing a knowledge graph. [Diagram 2] FIG. 1 is a schematic diagram illustrating a flowchart of a computer-implemented method for performing keyword search on a knowledge graph according to one embodiment. [Diagram 3] FIG. 1 is a schematic diagram illustrating a block diagram of a system for performing keyword search on a knowledge graph according to one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0036] 1 shows an exemplary representation of a knowledge graph KG. A knowledge graph KG can be used for graph-based knowledge representation by describing (real-world) entities and their relationships. A knowledge graph KG includes a number of vertices V that represent entities and a number of edges E that represent relationships between said entities.

[0037] As shown in FIG. 1, a knowledge graph KG includes vertices A, B, C, D, E, and F. The distance between the vertices is, for example, dist AB =0.6, dist AC =0.4, dist AD =1, dist AE =0.3, dist BE =0.8, dist BF = 0.1 and dist CF =2.

[0038] The knowledge graph KG is extended by static labels LS, which in the context of this disclosure are referred to as an offline constructed index structure.

[0039] The computation of the static label LS is explained with reference to the following table, which gives an exemplary representation of the static label LS.

[0040] [Table 1]

[0041] The distances are sorted in descending order with respect to the betweenness centrality of the vertices, starting with the distance to the vertex with the highest number of incoming and outgoing edges.

[0042] The betweenness centrality bc of a vertex v is

number

[0043] In one embodiment, the distance between a pair of vertices is the sum of the weights of the edges E connecting the pair of vertices V. The weights are non-negative real numbers that are mapped to the edges E using a weighting function. For example, a small weight indicates high importance and a large weight indicates low importance.

[0044] The distance between a pair of vertices V can be calculated by adding up the weights of the edges E connecting the pair of vertices V. Preferably, the distance is calculated by calculating the shortest distance between the pair of vertices V.

[0045] According to this embodiment, the static label LS of each vertex V contains further information about the predecessors of vertex V. Each neighboring vertex V of a particular vertex V gives the predecessors of vertex V.

[0046] A computer-implemented method 100 for performing keyword search on a knowledge graph KG will now be described with reference to Figure 2. The knowledge graph KG is extended with static labels LS as described above.

[0047] Method 100 is Keyword k 1 ,k 2 ,…,k g and a step 110 of receiving a set of Keyword k 1 ,k 2 ,…,kg a step 120 of constructing a dynamic label M based on a set of keywords k 1 ,k 2 ,…,k g By mapping to a vertex V in the knowledge graph KG, we obtain the keyword vertex K 1 ,K 2 ,…,K g Step 122 to obtain keyword vertex K 1 ,K 2 ,…,K g For keyword vertex K 1 ,K 2 ,…,K g and keyword vertex K 1 ,K 2 ,…,K g a step 120 of constructing a dynamic label M, including a step 124 of obtaining the distance between the predecessor of Keyword k 1 ,k 2 ,…,k g for the set of k, determining 130 a subgraph of the knowledge graph KG based on the static labels LS and the dynamic labels M; Includes.

[0048] Subgraphs of the knowledge graph KG provide answers to keyword searches.

[0049] The dynamic label M is configured online, meaning that the keyword search is in progress. The dynamic label M is configured online, meaning that the keyword search is in progress. 1 ,k 2 ,…,k g Set of keywords k 1 ,k 2 ,…,k g By mapping k to a vertex V in the knowledge graph KG, 1 ,k 2 ,…,k g Each keyword k 1 ,k 2 ,…,k g has at least one keyword vertex K 1 ,K2 ,…,K g Construct the keyword vertex K 1 ,K 2 ,…,K g For keyword vertex K 1 ,K 2 ,…,K g The distance between and its predecessor is obtained from the static label LS. Preferably, the dynamic label M is a distance between the keyword k 1 ,k 2 ,…,k g is constructed only for the mapped vertices V.

[0050] According to one embodiment, the dynamic labels M are stored, in particular temporarily, in the form of a matrix M, whose elements correspond to the keyword vertices K 1 ,K 2 ,…,K g and a vertex V in the knowledge graph KG. Preferably, the row 1 ,K 2 ,…,K g , and the columns correspond to vertices V in the knowledge graph KG.

[0051] According to one embodiment, the keyword k 1 ,k 2 ,…,k g The set of g keywords k 1 ,k 2 ,…,k g The dynamic labels M are expressed as the size of the matrix M, where n is the number of vertices V in the knowledge graph KG. (g-1)×n So that all keyword vertices K i Constructed for [2≦i≦g].

[0052] According to one embodiment, the elements of the matrix M are determined by the fact that a vertex V in the knowledge graph KG corresponds to a keyword vertex K 1 ,K 2 ,…,K g If K is a predecessor of 1 ,K 2 ,…,K gand a vertex V of the knowledge graph KG. Preferably, the elements of a particular row are 1 ,k 2 ,…,k g A particular keyword k in set K 1 ,k 2 ,…,k g For keyword vertex K 1 ,K 2 ,…,K g and a vertex V in the knowledge graph KG.

[0053] According to one embodiment, a vertex V of a knowledge graph KG is a keyword vertex K 1 ,K 2 ,…,K g If the element is not a predecessor of, then it is "null".

[0054] According to one embodiment, the keyword k 1 ,k 2 ,…,k g There are more than one keyword vertex K 1 ,K 2 ,…,K g When constructing a keyword vertex K 1 ,K 2 ,…,K g For each vertex, the distance to its predecessor is obtained as the shortest distance. Preferably, the elements of the matrix M are 1 ,K 2 ,…,K g and keyword k 1 ,k 2 ,…,k g , and includes only the distance between its predecessor that is shortest for .

[0055] The matrix table below shows the keyword vertex K 2 and K 3 1 is an exemplary embodiment of a dynamic label M for , which provides elements of matrix M.

[0056] Keyword vertex K 2 For example, is mapped to a vertex E in the knowledge graph KG, and a keyword vertex K 3is, for example, mapped to vertices C and D in the knowledge graph KG.

[0057] From the static labels LS, specifically the label L(E) of vertex E, the following information can be obtained: The predecessors of vertex E are vertices A and B, the distance between vertex E and vertex A is 0.3, and the distance between vertex E and vertex B is 0.8. Vertices C, D, and F are not predecessors of vertex E. Therefore, the corresponding entries in the table are "null".

[0058] Keyword vertex K 3 is mapped to vertices C and D, the following information can be obtained from the static labels L(C) and L(D) of vertices C and D: Vertex A is the predecessor of vertices C and D; the distance between vertex A and vertex C is 0.4, and the distance between vertex A and vertex D is 1. According to this embodiment, the keyword k 1 ,k 2 ,…,k g There are more than one keyword vertex K 1 ,K 2 ,…,K g When constructing a keyword vertex K 1 ,K 2 ,…,K g For each vertex, the distance to its predecessor is the shortest. Therefore, the elements of the matrix are the keyword vertex K 3 and its predecessor, the distance between the keyword k 3 The distance between vertex A and vertex C is obtained to include only the distance that is shortest for

[0059] [Table 2]

[0060] According to one embodiment, the method comprises: 1 Each keyword vertex K 1 For a keyword k, based on the static label LS and the dynamic label M, 1 Keyword vertex K 1 and keyword k 2 ~ k gKeyword vertex K 2 ~K g and further comprising calculating the shortest distance between the

[0061] k 1 Keyword vertex K 1 For all predecessors of , the keyword vertex K 1 The distance between and its predecessor is obtained from the static label LS. Furthermore, for a predecessor, the distance between other keywords k 2 ,…,k g Keyword vertex K 2 ,…,K g The shortest distance to is obtained from the dynamic label M, specifically from the matrix M.

[0062] Keyword k 1 Keyword vertex K 1 and keyword vertex K 2 ,…,K g The shortest distances between 1 ,K 2 ,…,K g The shortest path between the keywords vertices v is obtained.

[0063] The step of calculating the shortest path is to use the keyword k 1 ,k 2 ,…,k g It is further used when determining a subgraph of the knowledge graph KG for the set of

[0064] According to one embodiment, the keyword k 1 ,k 2 ,…,k g The step of determining a subgraph of the knowledge graph KG for the set of 1 ,K 2 ,…,K g The keyword vertex K is chosen so that the distance between them is the shortest. 1 ,K 2 ,…,K g Based on the static and dynamic labels of the keyword vertex K 1 ,K 2 ,…,Kg determining the shortest path between each pair of

[0065] According to another embodiment, the method further comprises: 1 ,k 2 ,…,k g Set of keywords k 1 ,k 2 ,…,k g This can be advantageously extended to support edge matching by mapping

[0066] According to one embodiment, an edge E is transformed into a vertex V by graph refinement. The refinement of edge E results in a new vertex V and replaces edge E by two new edges E. In this way, edge matches are transformed into vertex matches. Advantageously, the association of a keyword k to a vertex V is 1 ,k 2 ,…,k g The steps described for the mapping of can be performed for edge E.

[0067] FIG. 3 illustrates a schematic diagram of a system 200 for performing keyword search on a knowledge graph KG, according to one embodiment.

[0068] The system 200 is configured to perform at least steps 110 , 120 , and 130 of the method 100 .

[0069] The system 200 comprises a computing unit 210, such as a microprocessor and / or a microcontroller and / or a programmable logic device, in particular an FPGA and / or an application specific integrated circuit (ASIC) and / or a digital signal processor (DSP) and / or a combination thereof.

[0070] The system 200 comprises at least one storage unit 220. The storage unit 220 may further comprise a volatile memory 220a, in particular a random access memory (RAM), and / or a non-volatile memory 220b, for example a flash EEPROM. The non-volatile memory 220b comprises at least one computer program PRG1 for the computing unit 210, which computer program PRG1 controls the implementation of the method 100 for performing a keyword search on a knowledge graph KG according to an embodiment and / or any other operation of the system 200.

[0071] The system 200 detects the keyword k 1 ,k 2 ,…,k g The apparatus may further comprise an interface unit 230 for receiving data constituting a set of keywords k 1 ,k 2 ,…,k g The set of may be stored in the volatile memory 220a of the storage unit 220. Furthermore, the dynamic label M may be stored in the volatile memory 220a of the storage unit 220.

[0072] The system 200 may further comprise a storage unit for storing the knowledge graph KG and / or the static labels LS of the knowledge graph KG. According to another embodiment, the system 200 is configured to access a storage unit, for example an external storage unit, which contains the knowledge graph KG and / or the static labels LS of the knowledge graph KG. The external storage unit is exemplarily shown in Fig. 3 by a dotted line.

[0073] The computer program PRG1 for performing a keyword search on a knowledge graph KG comprises computer-readable instructions which, when executed by a computer, preferably the computing unit 210 of the system 200, cause the computer to perform the method 100 for performing a keyword search on a knowledge graph KG according to the embodiment described above.

[0074] Advantageously, the computer program PRG1, when executed by a computer, Keyword k 1 ,k 2 ,…,k g and a step 110 of receiving a set of Keyword k 1 ,k 2 ,…,k g A step 120 of constructing a dynamic label based on a set of keywords k 1 ,k 2 ,…,k g Set of keywords k 1 ,k 2 ,…,k g By mapping to a vertex V in the knowledge graph KG, we obtain the keyword vertex K 1 ,K 2 ,…,K g Step 122 to obtain keyword vertex K 1 ,K 2 ,…,K g For keyword vertex K 1 ,K 2 ,…,K g and keyword vertex K 1 ,K 2 ,…,K g a step 120 of constructing a dynamic label, including a step 124 of obtaining from the static label LS the distance between the predecessor of Keyword k 1 ,k 2 ,…,k g for the set of k, determining 130 a subgraph of the knowledge graph KG based on the static labels LS and the dynamic labels; The present invention includes instructions for causing a computer to carry out any of the following:

[0075] Advantageously, the computer program PRG1, when executed by the computer 210, comprises instructions for causing the computer 210 to store the dynamic labels in the form of a matrix M, the elements of which are the keywords vertices K 1 ,K 2 ,…,K gand a vertex V of the knowledge graph KG. 1 ,k 2 ,…,k g The set of keywords for vertices K 1 ,K 2 ,…,K g , and the columns correspond to vertices V of the knowledge graph KG. According to one embodiment, 1 ,k 2 ,…,k g The set of g keywords k 1 ,k 2 ,…,k g The dynamic labels are,n,= ... (g-1)×n So, keyword k 2 ,…,k g All keyword vertices of K i According to one embodiment, the elements of the matrix M are constructed such that a vertex V in the knowledge graph KG corresponds to a keyword vertex K 2 ,…,K g If K is a predecessor of 2 ,…,K g and a vertex V of the knowledge graph KG. Preferably, the elements of a particular row are 2 ,…,k g A particular keyword k in the set 2 ,…,k g For keyword vertex K 2 ,…,K g and a vertex V of the knowledge graph KG. According to one embodiment, the vertex V of the knowledge graph KG is a keyword vertex K 2 ,…,K g If the element is not a predecessor of, then it is "null".

[0076] Advantageously, the computer program PRG1, when executed by the computer 210, executes the keyword k 1 ,k 2 ,…,k g There are more than one keyword vertex K1 ,K 2 ,…,K g When constructing a keyword vertex K 1 ,K 2 ,…,K g The matrix M preferably includes an instruction to cause the computer 210 to obtain the distance to the keyword vertex K that is the shortest distance to its predecessor. 1 ,K 2 ,…,K g and keyword k 1 ,k 2 ,…,k g , and includes only the distance between its predecessor that is shortest for .

[0077] Advantageously, the computer program PRG1, when executed by the computer 210, generates a first keyword k 1 Each keyword vertex K 1 For a keyword k, based on the static label LS and the dynamic label M, 1 Keyword vertex K 1 and keyword k 2 ~ k g Keyword vertex K 2 ~K g The instructions include instructions for causing the computer 210 to calculate the shortest distance between 1 Keyword vertex K 1 For all predecessors of , the keyword vertex K 1 The distance between and its predecessor is obtained from the static label LS. Furthermore, for a predecessor, 2 ,…,k g Keyword vertex K 2 ,…,K g The shortest distance to is obtained from the dynamic label M, specifically from the matrix M. 1 Keyword vertex K 1 and keyword vertex K 2 ,…,K g The shortest distances between 1 ,k 2 ,…,k g Keyword vertex K 1 ,K 2,…,K g The shortest path between is obtained.

[0078] Advantageously, the computer program PRG1 includes instructions that allow extending the method 100 to support edge matching. According to one embodiment, an edge E is transformed into a vertex V by graph subdivision. The subdivision of edge E results in a new vertex V and replaces edge E by two new edges E. In this way, edge matching is transformed into vertex matching. Advantageously, the assignment of a keyword k to a vertex V is performed. 1 ,k 2 ,…,k g The steps described for the mapping of can be performed for edge E.

Claims

1. A computer-implemented method (100) for performing keyword search on a knowledge graph (KG), the knowledge graph (KG) comprising a number of vertices (V) representing entities and a number of edges (E) representing relationships between the entities, the knowledge graph (KG) being extended with static labels (LS), the static labels (LS) for each vertex (V) comprising a list of distances between the particular vertex (V) and other vertices (V) of the knowledge graph (KG); The method (100) comprises: Keywords (k 1 , k 2 , …, k g ) (110); Keywords (k 1 , k 2 , …, k g constructing (120) a dynamic label (M) based on said set of Keywords (k 1 , k 2 , …, k g determining (130) a subgraph of the knowledge graph (KG) for the set of static labels (LS) and dynamic labels (M); Including, The step (120) of constructing a dynamic label (M) comprises: Keywords (k 1 , k 2 , …, k g ) of the set of keywords (k 1 , k 2 , …, k g ) to a vertex (V) of the knowledge graph (KG), 1 , K 2 , …, K g ) (122); The keyword vertex (K 1 , K 2 , …, K g ), the keyword vertex (K 1 , K 2 , …, K g ) and the keyword vertex (K 1 , K 2 , …, K g deriving (124) a distance between the predecessor of the static label (LS) and the 4. A computer-implemented method comprising:

2. The dynamic labels (M) are stored, in particular temporarily, in the form of a matrix (M), the elements of which are the keyword vertices (K 1 , K 2 , …, K g 2. The computer-implemented method of claim 1, wherein the distance between the knowledge graph (KG) and a vertex (V) of the knowledge graph (KG).

3. The elements of the matrix (M) are such that the vertices (V) of the knowledge graph (KG) are keyword vertices (K 1 , K 2 , …, K g ), if the keyword vertex (K 1 , K 2 , …, K g 3. The computer-implemented method of claim 2, further comprising: indicating a distance between a vertex (V) of the knowledge graph (KG) and the vertex (V) of the knowledge graph (KG).

4. The vertex (V) of the knowledge graph (KG) corresponds to the keyword vertex (K 1 , K 2 , …, K g 4. The computer-implemented method (100) of claim 2 or 3, wherein an element is "null" if it is not a predecessor of the next element.

5. Keywords 1 , K 2 , …, K g ) has more than one keyword vertex (K 1 , K 2 , …, K g ), the keyword vertex (K 1 , K 2 , …, K g 5. The computer-implemented method (100) of claim 1, wherein for each of the nodes, a distance is obtained that has the shortest distance to its predecessor.

6. Keywords (k 1 , k 2 , …, k g The set of keywords (k 1 , k 2 , …, k g ), and the dynamic label (M) is such that the size of the matrix (M) is: (g−1)×n So, for all keyword vertices K i For [2≦i≦g], A computer-implemented method (100) according to claim 2 or 3.

7. The first keyword (k 1 ) for each keyword vertex (K 1 ), based on the static label (LS) and the dynamic label (M), 1 ) of the keyword vertex (K 1 ) and other keywords (k 2 , …, k g ) of the keyword vertex (K 2 , …, K g 7. The computer-implemented method of claim 6, further comprising: computing a minimum distance between

8. Keywords (k 1 , k 2 , …, k g The step of determining (130) a subgraph for the set of keyword vertices (KG) is performed by determining whether the subgraph of the knowledge graph (KG) includes the keyword vertices (KG). 1 , K 2 , …, K g ) so as to be the shortest in terms of distance between the keyword vertices (K 1 , K 2 , …, K g Based on the static labels (LS) and dynamic labels (M) of 1 , K 2 , …, K g 8. The computer-implemented method of claim 1 , further comprising determining a shortest path between each pair of nodes.

9. The computer-implemented method (100) of any one of claims 1 to 8, further comprising mapping keywords of the set of keywords to edges (E) of the knowledge graph (KG).

10. The computer-implemented method (100) of any one of claims 1 to 9, wherein edges (E) of the knowledge graph (KG) are transformed into vertices (V) by graph refinement.

11. A computer program (PRG1) for performing a keyword search on a knowledge graph (KG), the computer program (PRG1) including computer-readable instructions that, when executed by a computer (210), causes the computer (210) to perform a computer-implemented method (100) for performing a keyword search on a knowledge graph (KG) as described in any one of claims 1 to 10.

12. A system (200) for performing a keyword search on a knowledge graph (KG), comprising at least one memory unit (220) for storing a set of keywords and / or at least one memory unit for storing a computer program (PRG1), said computer program (PRG1) controlling the implementation of a computer-implemented method (100) for performing a keyword search on a knowledge graph (KG) according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Computer and response generation method

    JP2018041336A

  • Search device, search method and search program

    JP2018136821A

  • System and method for ranked keyword search on graphs

    US20080243811A1