Devices, computer-implemented methods, and data structures for clustering entities in a knowledge graph.
The method addresses the challenge of optimal clustering in knowledge graphs by using a neural network-based auxiliary similarity measure to enhance clustering quality and connectivity, particularly in knowledge graphs with physical quantities, achieving efficient and improved clustering results.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- ROBERT BOSCH GMBH
- Filing Date
- 2025-11-12
- Publication Date
- 2026-05-25
AI Technical Summary
Existing methods for clustering entities in knowledge graphs often fail to produce clusters of optimal size and quality, particularly when dealing with large datasets, and do not effectively utilize deeper paths and lexical similarities between entities.
A computer-implemented method using an auxiliary similarity measure based on a neural network that maps kernels and parameters to improve clustering quality, incorporating deeper paths and lexical similarities, and an objective function to optimize cluster size and connectivity.
The method efficiently determines high-quality clusters in a reasonable time by leveraging neural networks to enhance clustering results, particularly in knowledge graphs with physical quantities, improving connectivity and identifying relevant links between entities.
Smart Images

Figure 2026085904000001_ABST
Abstract
Description
[Technical Field]
[0001] This invention relates to a device, a computer-implemented method, and a data structure for clustering entities in a knowledge graph. [Overview of the project] [Means for solving the problem]
[0002] Disclosure of the invention A computer-implemented method for clustering entities in a knowledge graph is provided, comprising: providing a knowledge graph containing a set of entities; determining a kernel containing similarity between entity pairs in the set of entities; and determining the clustering of entities in the set of entities with respect to the parameters using an auxiliary similarity measure that depends on the kernel and parameters, and an objective function that depends on a combination of a given heuristic and a function that measures the quality of the clustering. The method finds clustering using an arbitrary given heuristic based on the auxiliary similarity measure of entity pairs. The auxiliary similarity measure is based on a kernel and configuration parameters that define the weights of a neural network. The auxiliary similarity measure is configured, through an optimization algorithm, to increase the quality of the resulting clustering found by the heuristic with respect to the original kernel. Thus, clusters of a size that is neither too small nor too large are found.
[0003] This method involves determining an auxiliary similarity measure using a neural network configured to map kernels and parameters to the auxiliary similarity measure. In addition to the original kernel, the neural network captures similarity based on deeper paths between entities. The neural network computes clustering in a reasonable amount of time and allows for improvement of the results of the selected heuristic compared to the results returned by the heuristic when measuring similarity between entity pairs using the original kernel.
[0004] This method involves determining the similarity of at least one entity pair in a kernel depending on the similarity of the vocabulary information associated with a first entity in a knowledge graph and the similarity of the vocabulary information associated with a second entity in the knowledge graph. The first entity is on a first path of the knowledge graph, and the second entity is on a second path of the knowledge graph. The first path starts or ends with one of the entities of the entity pair, and the second path starts or ends with the other entity of the entity pair. This means that the similarity of at least one pair is based on entity pairs that are lexically similar. The vocabulary information associated with an entity in the knowledge graph is, for example, the name of the entity broken down into words and their optional synonyms. In this way, synonyms, that is, words that are contextually similar, are properly identified by using the similarity of the vocabulary information.
[0005] This method may involve determining the respective weights associated with a pair of a first entity and a second entity depending on the similarity of the vocabulary information associated with the first entity and the similarity of the vocabulary information associated with the second entity, where the first entity is connected to an entity at the start or end of a first path in the same predicate sequence as the second entity is connected to an entity at the start or end of a second path.
[0006] The method may include providing a knowledge graph with an entity set including entities representing physical quantities and labeled with the name of each physical quantity, and determining clustering depending on an objective function. The method finds a reasonably good solution in a reasonable time. By using the objective function for entities labeled with the name of each physical quantity, higher-quality clustering results in terms of the intra-cluster connectivity of physical quantities. Clusters can provide access to links between physical quantities not linked to each other by paths in the knowledge graph.
[0007] The method may include receiving the name of a physical quantity, finding a cluster including entities labeled with the name of the physical quantity in clustering, selecting another entity of the cluster labeled with the name of another physical quantity, and measuring other physical quantities.
[0008] The method may include outputting the clustering. An apparatus for clustering entities of a knowledge graph includes at least one processor and at least one memory. The at least one memory stores instructions for causing the apparatus to implement the method when executed by the at least one processor, and the at least one processor is configured to execute the instructions.
[0009] A computer program includes instructions for causing a computer to implement the method when executed by the computer.
[0010] The data structure includes at least one data field for storing a knowledge graph, the knowledge graph includes an entity set, the data structure includes at least one data field for storing a kernel, the kernel includes the similarity between entity pairs in the entity set, and the data structure includes at least one data field for storing the clustering of entities in the entity set and parameters, which are determined using a similarity measure that depends on the kernel and parameters, and an objective function that depends on a combination of a given heuristic and a function that measures the quality of clustering.
[0011] The data structure includes at least one data field for storing a neural network configured to map kernels and parameters to a similarity scale.
[0012] The data structure may include at least one data field for storing the similarity of at least one entity pair in a kernel, determined depending on the similarity of lexical information associated with a first entity in the knowledge graph and the similarity of lexical information associated with a second entity in the knowledge graph, wherein the first entity is on a first path in the knowledge graph, the second entity is on a second path in the knowledge graph, the first path begins with one entity of the entity pair or ends with one entity of the entity pair, and the second path begins with the other entity of the entity pair or ends with the other entity of the entity pair.
[0013] Further examples are derived from the following description and drawings. [Brief explanation of the drawing]
[0014] [Figure 1] This is a schematic diagram showing a device for clustering entities in a knowledge graph. [Figure 2]This flowchart shows the steps for a method of clustering entities in a knowledge graph. [Figure 3] This diagram shows a comparison of two exemplary entities in an exemplary knowledge graph. [Figure 4] This figure shows a portion of an exemplary knowledge graph for welding. [Figure 5] This is a diagram illustrating an example of clustering. [Figure 6] This diagram shows a data structure for clustering entities in a knowledge graph. [Modes for carrying out the invention]
[0015] Figure 1 schematically shows a device 100 for clustering entities in the knowledge graph G.
[0016] The Knowledge Graph G contains multiple entities and multiple edges. The edges of the Knowledge Graph G link related entities in pairs according to the knowledge represented by the Knowledge Graph G. The edges linking two entities represent the relationship between the two entities according to the knowledge represented by the Knowledge Graph G.
[0017] The device 100 includes at least one processor 102 and at least one memory 104.
[0018] At least one memory 104 stores instructions that cause the device 100 to implement a method for clustering entities of the knowledge graph G, when executed by at least one processor 102. At least one processor 102 is configured to execute these instructions.
[0019] Knowledge Graph G contains an entity set E. Entities within entity set E represent, for example, physical quantities. Entities within entity set E are represented, for example, by being labeled with the names of their respective physical quantities.
[0020] Knowledge Graph G is in the following format: <Subject; Predicate; Object> It is the set of triples.
[0021] Knowledge Graph G can be viewed as a directed graph with additional information associated with vertices (entities) and arcs. In Knowledge Graph G, the set of arcs A(G) is the set of all triples, and the set of vertices V(G) is the set of all entities (subjects, objects, or independent entities).
[0022] In the knowledge graph G, information associated with entity x takes the form of a string T(x). For example, if x corresponds to a class, T(x) may be the class name, and may also include other information associated with annotations such as labels and comments.
[0023] These strings contain atomic propositions from the set of atomic propositions L(x) associated with x.
[0024] Regarding predicate p, G P This shows the subgraph of G induced by the predicate p. P However, this means that the predicate consists of triples where p is the predicate. For example, the knowledge graph G contains a “subSetOf” relation, and p refers to the “subSetOf” relation.
[0025] When executed, this method for clustering determines a clustering C for the entity set E. This clustering C contains multiple clusters. Entities within the entity set are associated with one of these clusters by clustering C. This means that the device 100 is configured to determine clustering C.
[0026] The device 100 may include an interface 106. This interface 106 may be configured to receive the names of physical quantities, in particular, physical quantities of interest to the user or technical system. Interface 106 may be configured to output clustering C. Interface 106 may be configured to output the names of other physical quantities, in particular for measuring other physical quantities.
[0027] The device 100 is configured, for example, to receive a physical quantity, determine other physical quantities depending on clustering C, and output them.
[0028] Figure 2 is a flowchart showing the steps of a method for clustering entities in a knowledge graph.
[0029] This method includes step 202.
[0030] Step 202 includes the step of providing the knowledge graph G.
[0031] Knowledge graph G contains entity set E. Entity set E contains multiple entities.
[0032] For example, the knowledge graph G is provided with an entity set E containing entities that represent physical quantities and are labeled with the names of those physical quantities.
[0033] This method includes step 204.
[0034] Step 204 includes the step of determining kernel K.
[0035] The kernel K contains the similarity between entity pairs in the entity set E, where each entity pair (x,y) includes a first entity x and a second entity y.
[0036] The first entity x of the pair is the first path P of the knowledge graph G.x is in. The second entity y of the pair is in the second path P of the knowledge graph G y .
[0037] The first path P x starts with x or ends with x.
[0038] The second path P4] y starts with y or ends with y.
[0039] The first path starting with or ending with x
Number
Number
Number
Number
[0040] Similarity measurement is defined based on the neighborhoods of entities x and y. The neighborhood of entity e is the set of paths in the knowledge graph G that start or end at e. Similarity is defined by a recursive formula in which, at each step, weights from previous steps are used until the step reaches a given number.
[0041] For example, a path for entity x is determined by its neighbors NG(x). Neighbors NG(x) for entity x in V(G) are the set of all directed paths in the knowledge graph G that start or end at entity x.
[0042] First pass P x It is in the neighborhood of the first entity x. Second path P y The first entity x is in the neighborhood of the second entity y. The neighborhood of the first entity x is, for example, an entity that can be reached by a path from the first entity x through any other entity in the knowledge graph G, not exceeding a given maximum number of other entities in the knowledge graph G. The neighborhood of the second entity y is, for example, an entity that can be reached by a path from the second entity y through any other entity in the knowledge graph G, not exceeding a given maximum number of other entities in the knowledge graph G. The maximum number is, for example, an integer between 1 and 10. The predetermined maximum number is the same for both the first entity x and the second entity y.
[0043] This method does not use an explicit closed formula for path similarity, nor does it explicitly enumerate path pairs. Rather, it calculates the similarity of entity pairs using a recursive formula that allows the calculation of entity similarity based on their neighborhoods.
[0044] This method includes step 206.
[0045] Step 206 includes sampling the radius r of a sphere S centered on parameter θ from a uniform distribution.
[0046] The uniform distribution extends particularly over [0,1].
[0047] This method includes step 208.
[0048] Step 208 includes determining the clustering C of entities for the entity set E and parameter θ using an objective function.
number
[0049] The objective function depends on a combination of an auxiliary similarity measure N(K,θ), a given heuristic H, and a function f that measures the quality of the clustering C returned by H when H is applied to N(K,θ).
[0050] Step 208 includes determining the clustering C, for example, by applying a suitable heuristic algorithm to the optimization problem.
number
number
[0051] One well-known example of a function f for measuring the quality of clustering C is directed weighted modularity.
number
number
[0052] The initial measurement of the similarity between the first entity x and the second entity y is defined, for example, by the following equation: K0(x;y)=J(L(x),L(y))=|L(x)∩L(y)| / |L(x)∪L(y)| Here, J is the Jaccard index.
[0053] This means that K0(x;y) essentially measures the number of atomic proposition words shared by the first entity x and the second entity y by comparing it to the total set of atomic proposition words contained in both L(x) and L(y). In this measurement, no similarity is shown if neither L(x) nor L(y) contains a word.
[0054] According to this method, the kernel K is given by K for a given positive integer l. l It is defined as follows, where Kl is recursively calculated for i=1…l via the following equation:
number
number
number
number
number
[0055] First bipartite graph Γ + The set of vertices (x,y) is out G (x)∪out G (y) and x'∈out G (x) and y'∈out G An edge exists between (y) and (x',y') if K0(x',y')≧α holds and there exists a p∈P+(G,x)∩P+(G,y) such that both <x,p,x'> and <y,p,y'> belong to A(G).
[0056] Second bipartite graph Γ - The set of vertices (x,y) is in G (x)∪in G (y) and x'∈outG(x) and y'∈out G An edge exists between (y) and (x',y') if K0(x',y')≧α and p∈P - (G,x)∩P - This is only true if (G,y) exists such that both <x',p,x> and <y',p,y> belong to A(G).
[0057]
number
[0058]
number
[0059] According to the definition, K i (x,y)∈[0,1] and K i (x,x)=1 holds true.
[0060] The function f that measures the quality of clustering C uses the original kernel K.
[0061] A selected heuristic H for a function f, such as the Leuven algorithm, may be used to improve the result, and an auxiliary similarity measure N(K,θ) that depends on the kernel K and parameter θ may be used.
[0062] This auxiliary similarity measure N(K,θ) is determined, for example, using a neural network configured to map the kernel K and parameter θ to the similarity measure N(K,θ).
[0063] Optionally, this method includes step 210.
[0064] Step 210 includes, for example, the step of outputting clustering C.
[0065] Step 210 may include a step that uses clustering C.
[0066] This is explained as an example of a use case where clustering C is used to find a suitable substitute for a physical quantity that a user or technical system wants to measure.
[0067] In this use case, the method includes the step of receiving the name of a physical quantity.
[0068] This name is received, for example, via interface 106.
[0069] In this use case, the method includes the step of finding clusters in clustering C that contain entities labeled by the names of physical quantities.
[0070] In this use case, the method includes the step of selecting another entity in the cluster, which is labeled with the name of a different physical quantity.
[0071] This use case may include steps for automatically measuring other physical quantities.
[0072] Figure 3 shows a comparison of two exemplary entities x and y in an exemplary knowledge graph G, using K=K1 and α=1 / 4. In Figure 3, q and p represent predicates.
[0073] The dashed lines in Figure 3 represent the two optimal matches.
[0074] Second bipartite graph Γ - For (x,y), the first optimal matching consists only of edges with a weight of 1 / 2.
[0075] First bipartite graph Γ + For (x,y), the second optimal match consists of two edges: one with a weight of 1 and another with a weight of 1 / 3.
[0076] The symbols a, b, c, d, e, f, g, and h in entity representation 302 represent atomic propositions. That is, L(x)={a} and L(y)={b}, which means K0(x,y)=J({a},{b})=0.
[0077] According to this method, the similarity between two exemplary entities x and y is measured using the following formula.
number
[0078] The following observations are derived from the definition of K.
[0079] Let X be the set of entities adjacent to x, and let Y be the set of entities adjacent to y. (∪ x∈Y L(x)∩(∪ y∈Y If L(y)=φ, then K(x,y)=0. This is because the edge sets of each bipartite graph are empty, and the weights of empty matchings can be considered as 0.
[0080] The relationship K(x,y)>0 holds only if there is a pair of paths, as shown in the following equation. P x =(〈x0,p1,x1〉,〈x1,p2,x2〉…〈x k-1 ,p k ,x k >) P y =(〈y0,p1,y1〉,〈y1,p2,y2〉…〈y k-1 ,p k ,y k >)
[0081] P x and P y Both of the other entity pairs start at x and y or end at x and y, and all other entity pairs x i and y i For values that are different from x and y, K0(x i ,y i They are similar in a direct sense, such as )>0, meaning that their paths are lexically similar entity pairs x i and y i The process passes through. All similar path pairs of the above form are obtained using the best matching found during the calculation of K(x,y).
[0082] The auxiliary similarity measure N(K,θ) is determined using a neural network, particularly a deep neural network.
[0083] The neural network is generated according to the configuration provided by the parameter θ.
[0084] To access the elements of parameter θ, we use a function α corresponding to each layer t of the neural network at depth d. t ,β t γ t This is used.
[0085] The operation of a neural network is described by the following algorithm (here, M x and M y (These represent vectors consisting of values of M(x,y'), y'∈E and M(y,x'), x'∈E, respectively.)
[0086]
number
[0087] The weights of each neural network are controlled by a relatively small number of parameters θ. At the same time, the number of parameters θ is independent of E.
[0088] An exemplary algorithm for determining the clustering C and parameter θ is as follows: Input: K, E Output:C θ=0 repeat [0;1] Select r from the above uniform distribution. For a sphere S with radius r and center θ, the following objective function
number
[0089] Similarity measure M=N(K,θ * ) performs a given heuristic H. The resulting clustering C is returned.
[0090] This exemplary algorithm determines the parameter θ and outputs the resulting clustering C.
[0091] Since a knowledge graph can contain a large number of entities, in practice it may be beneficial to consider only a smaller subset E' of the entities in the original set E. This subset may be randomly sampled or sampled using other techniques, for example, to filter out content that is unnecessary for clustering purposes.
[0092] Randomly sampling E' from the original entity set E can, for example, ensure that relevant clusters in a hypothetical optimal clustering of the original entity set are included with a high probability by entity set E'.
[0093] For example, clustering C is constructed here by applying the aforementioned algorithm to a knowledge subgraph induced by a subset E', resulting in k clusters C1…C. k It may include.
[0094] Here, let x be a given entity not included in E'. The goal here is to clarify the relationship between x and the entities within the cluster.
[0095] For this purpose, embedding is considered.
number
[0096] space
number
number
[0097] Based on this embedding, we can identify the cluster most relevant to x.
[0098] For example, one of the simplest methods for assigning a cluster to x is to choose the following:
number
[0099] If necessary, embeddings can be used for clustering the entire graph G. Entity x mapped to the zero vector is considered not to be similar to any entity in the entity set E, and in that case, they are considered to form a separate cluster.
[0100] Figure 4 shows a portion of an exemplary knowledge graph 400. The exemplary knowledge graph 400 represents the welding ontology.
[0101] This welding ontology includes the predicates “domain,” “range,” “subClassOf,” and “inverseOf” for each edge 402 of the exemplary knowledge graph 400, and further includes the names “has Weld Current Time,” “has Weld Force Time,” “has Weld Current,” “has Weld Force,” “Weld Current At Time,” “Weld Force At Time,” “Wectric Current,” “Weld Force,” “has Current,” and “Observable Property” for each entity 404 of the exemplary knowledge graph 400.
[0102] In the exemplary knowledge graph 400, the first entity x is associated with the name "Electric Current". In the exemplary knowledge graph 400, the second entity y is associated with the name "Weld Force".
[0103] This method places entities x and y, described by T(x)=“ElectricCurrent” and T(y)=“WeldForce”, into the same cluster.
[0104] Each L(x) and L(y) has the form L(x)={"Electric";"Current"} and L(y)={"Weld","Force"}.
[0105] Since L(x)∩L(y)=φ, it is clear that K0(x,y)=0. That is, entities x and y are not similar in direct terms. However, in this method, K is constructed for a sufficiently large l, and there exist path pairs with similar lexical information items associated with each entity pair, so as a result, the relationship K(x,y)>0 arises. In this example, α=0,5.
[0106] Figure 5 shows an exemplary similarity matrix 500 containing values K(x,y) for entities x and y, reordered according to clustering C of 113 entities of a welding ontology involved in a “subClassOf” relationship, determined using the Louven algorithm as the heuristic H. Figure 5 illustrates an example of what clustering C may look like. In this example, the results of the Louven algorithm are improved by more than 10%, resulting in a higher quality clustering in terms of intra-cluster connectivity. The improvement was measured by comparing the modularity f(C) of the resulting clustering C with f(C0), where C0 is the clustering obtained by directly applying the Louven algorithm to K.
[0107] Figure 6 shows a data structure 600 for clustering entities in the knowledge graph G.
[0108] The data structure 600 contains data fields 602, where at least one data field 602 is at least the following: Knowledge Graph G, Kernel K, Clustering C, Parameter θ, Neural networks, Similarity of entity pairs, Weights associated with edges that connect entities in a path It is provided for storing.
Claims
1. In a computer-implemented method for clustering entities in a knowledge graph, The aforementioned method, To provide a knowledge graph that includes a set of entities (202), Determining a kernel that includes the similarity between entity pairs (x, y) in the entity set (204), (208) The clustering of entities in the entity set is determined using an auxiliary similarity measurement that depends on the kernel and parameters, and an objective function that depends on a combination of a given heuristic and a function that measures the quality of clustering, and the parameters. A method characterized by including
2. The aforementioned method, Determining the auxiliary similarity measurement using a neural network configured to map the kernel and parameters to the auxiliary similarity measurement (208) The method according to claim 1, including the method described in claim 1.
3. The aforementioned method, The similarity of at least one entity pair (x, y) in the kernel is determined based on the similarity of the lexical information associated with the first entity in the knowledge graph and the similarity of the lexical information associated with the second entity in the knowledge graph (204). Includes, The first entity lies on a first path of the knowledge graph (G), the second entity lies on a second path of the knowledge graph, the first path begins at one entity (x) of the entity pair (x, y) or ends at one entity (x) of the entity pair (x, y), and the second path begins at the other entity (y) of the entity pair (x, y) or ends at the other entity (y) of the entity pair (x, y). The method according to claim 1 or 2.
4. The aforementioned method, The weights associated with the entity pair of the first entity and the second entity are determined based on the similarity of the lexical information associated with the first entity and the similarity of the lexical information associated with the second entity (204) Includes, The first entity is connected to the first entity at the beginning or end of the first path by the same predicate sequence that the second entity is connected to at the beginning or end of the second path. The method according to claim 3.
5. The aforementioned method, (202) The knowledge graph is provided with a set of entities that include entities representing physical quantities and labeled with the names of each physical quantity. Determining clustering based on the aforementioned objective function (208), The method according to any one of claims 1 to 4, including the method described in any one of claims 1 to 4.
6. The aforementioned method, Receiving the name of a physical quantity, In the aforementioned clustering, the clusters containing entities labeled with the name of the physical quantity are found, Selecting another entity in the cluster that is labeled with the name of a different physical quantity, Measuring other physical quantities, The method according to claim 5, including the method described in claim 5.
7. The aforementioned method, Outputting the aforementioned clustering (210) The method according to any one of claims 1 to 6, including the method described in any one of claims 1 to 6.
8. In a device (100) for clustering entities of a knowledge graph, the device (100) is: At least one processor (102), At least one memory (104), Equipped with, The at least one memory (104) stores instructions for causing the device (100) to perform the method according to any one of claims 1 to 7 when executed by the at least one processor (102), The at least one processor (102) is configured to execute the instruction. A device (100) characterized by the following.
9. In computer programs, The computer program, when executed by a computer, includes instructions to cause the computer to carry out the method described in any one of claims 1 to 7. A computer program characterized by the following features.
10. In the data structure (600), The data structure (600) includes at least one data field (602) for storing a knowledge graph, The aforementioned knowledge graph includes a set of entities, The data structure (600) includes at least one data field (602) for storing the kernel, The kernel includes the similarity between entity pairs (x, y) in the entity set, The data structure (600) includes at least one data field (602) for storing the clustering of entities in the entity set and the parameters, which are determined using a similarity measurement that depends on the kernel and parameters, and an objective function that depends on a combination of a given heuristic and a function that measures the quality of the clustering. A data structure (600) characterized by the following.
11. The data structure (600) according to claim 10, wherein the data structure (600) includes at least one data field (602) for storing a neural network configured to map the kernel and the parameters to the similarity measurement.
12. The data structure (600) includes at least one data field (602) for storing the similarity of at least one entity pair (x, y) in the kernel, which is determined depending on the similarity of lexical information associated with a first entity in the knowledge graph and the similarity of lexical information associated with a second entity in the knowledge graph. The first entity lies on a first path in the knowledge graph, the second entity lies on a second path in the knowledge graph, the first path begins at one entity (x) of the entity pair (x, y) or ends at one entity (x) of the entity pair (x, y), and the second path begins at the other entity (y) of the entity pair (x, y) or ends at the other entity (y) of the entity pair (x, y). The data structure (600) according to claim 10 or 11.