System and method for establishing relationships between data elements
By iteratively adjusting weights in knowledge graphs to match calculated relationship strengths, the method improves the accuracy of relationship determination, facilitating efficient manufacturing decisions like supplier selection in 3D printing.
Patent Information
- Application Number
- CN202280092403.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-01-29
- Filing Date
- 2022-03-23
- Publication Date
- 2024-12-10
AI Technical Summary
Knowledge graphs struggle with accurately assigning weights to relationships between data elements, affecting the accuracy of recommendations, particularly in large-scale applications like manufacturing resource distribution in 3D printing environments.
A method and system for determining relationship strengths in knowledge graphs by establishing a graph with nodes and edges, associating weights, and iteratively adjusting modifiable weights to match calculated relationship strength values, using training data and defining parameters to filter and rank relationships.
Enhances the accuracy and consistency of relationship strengths in knowledge graphs, enabling efficient decision-making in manufacturing processes such as selecting suppliers for 3D printing, by accurately determining whether to print parts internally or outsource them.
Smart Images

Figure CN119110951A_ABST
Abstract
Description
Technical Field
[0001] The present specification relates generally to the technical field of artificial intelligence and measurement methods, and in particular to knowledge graphs for recommendations. Background Art
[0002] The present disclosure relates to computer-implemented systems and methods for determining relationships between data elements using a knowledge graph.
[0003] In knowledge representation and reasoning, a knowledge graph is a knowledge base that uses a graph-structured data model to integrate data. The knowledge graph is used to store and process descriptions of interconnections on edges, which are called relationships between nodes.
[0004] Because social networks encode entities such as people, social networks can be viewed as an analogy for knowledge graphs. For example, two individuals can be connected by a relationship such as friends, and these relationships are called edges. Knowledge graphs encode their content in a similarly connected manner by means of nodes for entities and edges for relationships between two entities, but unlike social networks, knowledge graphs do not need to encode knowledge focused on people.
[0005] By analyzing existing edges in the graph, new subtle relationships in the graph can be discovered. For example, two individuals with ten common friends may benefit from a recommendation to become friends. Because each relationship may have a different relevance to the question at hand, using artificial intelligence techniques for such reasoning may require assigning weights to different types of relationships (such as friends or colleagues). Therefore, assigning accurate weights to different types of relationships can greatly affect the accuracy of recommendations. Summary of the invention
[0006] According to one aspect of the present disclosure, a computer-implemented method is disclosed for determining relationships between data elements in a data repository that obtains data from multiple information sources. In the present disclosure, we address the problem of assigning weights in order to improve the customizability of a knowledge graph. The method includes: establishing a knowledge graph having a graph element including a plurality of nodes representing data elements and a plurality of edges, wherein each edge connects two of the plurality of nodes and represents the strength of the relationship between the two nodes; and including: associating weights with the graph element, and determining at least some of the weights as modifiable weights. The method also includes: using training data including relationship strength values established between node pairs, determining the relationship between node pairs by establishing a set of defined paths between each node pair. Once the defined paths are established, the strength of the relationship between the node pairs is determined by summing the weights associated with each defined path in the set of defined paths to calculate the relationship strength value of the edge between the node pairs. Then, the established relationship strength value is compared with the calculated relationship strength value, and one or more of the modifiable weights are modified so that the established relationship strength value matches the calculated relationship strength value. The steps of calculating the relationship strength value and modifying the modifiable weights are repeated until the matching criteria are met. Relationship strengths are then established between data elements in the data repository based on relationship strengths calculated between nodes representing those data elements.
[0007] Since paths exceeding a given length tend to lose their importance, the method may further comprise: defining the path to include a cut-off condition as a defining parameter, wherein there is a trade-off of interest between computation time and the importance of the path, and defining the path to include a filter as a defining parameter, wherein paths matching one or several irrelevance patterns are filtered out. It should be noted that the defining parameters are specified as inputs during initialization.
[0008] In some embodiments, the calculated relationship strength value depends on modifiable weights that characterize the graphical elements. The modifiable weights are then adjusted to reduce the error between the calculated relationship strength value and the established relationship strength value recorded in the training data. The method also includes a matching criterion that is satisfied only when the change in the modifiable weight is less than a predefined threshold.
[0009] In a second aspect, the present disclosure provides a method for selecting manufacturing resources for manufacturing a product, wherein the method comprises a computer-implemented method of determining relationships between data elements according to the first aspect. The data elements are related to manufacturing the product using a set of manufacturing resources, and the method comprises: determining a strength of a relationship between a first node representing a manufacturing resource in the set of manufacturing resources and a second node representing the product, wherein the resulting strength of the relationship between the first node and the second node is ranked to sort the manufacturing resources for the product.
[0010] A third aspect of the present disclosure includes a corresponding system for determining a relationship between data elements, the data elements including data obtained from multiple information sources. The system includes: one or more connections, the one or more connections providing access to multiple data sources including data elements; and a computing device, including at least a memory and a processor. The processor is programmed to: establish a knowledge graph, the knowledge graph having a plurality of nodes each representing a data element and a plurality of edges, wherein each edge connects two of the plurality of nodes and represents the strength of the relationship between the two nodes. The system also includes: weights associated with the graph elements, wherein some of the weights are modifiable weights; and training data including: established relationship strength values between node pairs, wherein the training data is used to determine the relationship between node pairs. In order to determine the relationship between node pairs having edges between the nodes, a defined path set is established, and the relationship strength between the node pairs is determined by summing the weights associated with each defined path in the defined path set to calculate the relationship strength value of the edge between the node pairs. Then, the established relationship strength value is compared with the calculated relationship strength value, and one or more of the modifiable weights are modified so that the established relationship strength value matches the calculated relationship strength value. The steps of calculating relationship strength values and modifying modifiable weights are repeated until the matching criteria are met. Relationship strengths are established between data elements in the data repository based on the resulting relationship strengths calculated between the nodes representing those data elements.
[0011] The system also includes one or more connections to data sources, the one or more connections including at least one database in a memory of the system. The one or more connections to data sources include at least one connection to an external system via an API.
[0012] In a fourth aspect, the present disclosure provides a system for selecting manufacturing resources for manufacturing a product, wherein the system includes a system for determining relationships between data elements according to the third aspect, wherein the data elements are related to manufacturing the product using a set of manufacturing resources. The system is programmed to determine the strength of the relationship between a first node representing a manufacturing resource in the set of manufacturing resources and a second node representing the product. In addition, the resulting relationship strengths between the first node and the second node are ranked to sort the manufacturing resources for the product.
[0013] This is a challenging problem because knowledge graphs can be large, and the calculation of relationship strengths needs to be accurate and consistent across the graph. A relevant context for this problem is the manufacturing of mechanical parts. In practice, it is difficult to determine how best to distribute parts for printing using 3D printing devices, where multiple 3D printing devices can be used - for example, 3D printing devices in an organizational network or in a 3D printing device farm. There is even a choice as to whether the part can be obtained through another manufacturing path. Currently, 3D printing farm technology cannot accurately determine whether it is faster or more efficient to print parts internally or to outsource them to external suppliers. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Specific embodiments of the present disclosure will now be described, by way of example, with reference to the accompanying drawings, in which:
[0015] Figure 1 is an overview diagram of a system according to an embodiment of the present disclosure;
[0016] Figure 2 is a flow chart outlining a method for determining relationships between data elements in a data repository from which data is obtained from a plurality of information sources, according to an embodiment of the present disclosure;
[0017] Figure 3 It is a flowchart for initializing the training data set;
[0018] Figure 4 It is a flowchart of the training data set;
[0019] Figure 5 It is a flow chart for calculating the strength of the relationship between pairs of nodes;
[0020] Figure 6 is a flow chart that adjusts the weights; and
[0021] Figure 7 It is a flowchart of the update system. DETAILED DESCRIPTION
[0022] Figure 1An overview diagram of a system (10) is shown. The system includes one or more connections to data sources that provide access to multiple data sources (110) including at least one database (130) in the memory of the system (10). The system (10) also includes: a processor programmed to build a knowledge graph (120); a server (140) that exposes the output of the knowledge graph adjustment process (100); and an API (150) that communicates with a manufacturing environment (160) and a third party environment (170) or a 3D printing device (180). The system (10) performs the knowledge graph adjustment process (100) to determine relationships between data elements in a data repository (130) that obtains data from multiple information sources (110). The knowledge graph (120) has graph elements built on top of an existing database (110) that connects data together. The knowledge graph elements are represented by entities as nodes and connections across entities as edges, wherein an edge connects a pair of nodes and captures a relationship of interest between the nodes. The database (130) is used to store the knowledge graph (120), models, training and metadata, and weights of the knowledge graph (120). The weights are associated with graph elements, and some of the weights are modifiable parameters that can transform input data during training. In the present disclosure, training is an iterative process, wherein training in each iteration establishes a relationship strength value between each node pair. Once the training has reached a matching criterion (such as when the change in weight is less than a predefined threshold), the output of the knowledge graph adjustment process (100) is sent to the server (140).
[0023] The server (140) communicates with the API (150) to expose data output to the 3D printing device (180) and environment in the cloud. In this embodiment, the API (150) communicates with the manufacturing environment (160), the third-party environment (170), and the 3D printing device (180). The embodiments described herein have particular value in determining the best method for providing a part - specifically, whether to purchase it through a manufacturer or some other supplier, or to directly 3D print it in-house. However, this is only one of many possible applications of the methods described herein, and other embodiments may be related to other decision-making processes.
[0024] exist Figure 2In, a flow chart outlines a method for determining relationships between data elements in a data repository that obtains data from multiple information sources. At box (200), a knowledge graph is established. It has a graphical element including a plurality of nodes representing data elements and a plurality of edges, wherein each edge connects two nodes of the plurality of nodes and represents the strength of the relationship between the two nodes. At box (300), training data including relationship strength values established between pairs of nodes is used to determine the relationship between the pairs of nodes, and the process establishes a set of defined paths between the pairs of nodes. Next, at box (400), the strength of the relationship between the pairs of nodes is calculated by summing the weights associated with each defined path in the set of defined paths to calculate the relationship strength value of the edge between the pairs of nodes. The established relationship strength value is compared with the calculated relationship strength value, and at box (500), one or more of the weights can be modified so that the established relationship strength value matches the calculated relationship strength value. At box (600), if the matching criteria are met, the training process ends. However, at box (300), if the matching criteria are not met, another training iteration is performed. When the training process is completed at box (300), the manufacturing selection process and selection API are updated at box (700), and the node pairs are ranked. Finally, at box (800), the data repository is updated with the newly ranked node pairs and the process ends.
[0025] refer to Figure 3 , the flowchart describes the initialization process of the training data set (30). At box (200), a knowledge graph (120) is initialized, the knowledge graph having a graph element including a plurality of nodes representing data elements, a plurality of edges, and a list of zero or more attributes for each node and edge. The nodes of the graph are also referred to as entities, and each of the plurality of edges connects two nodes of the plurality of nodes and represents the strength of the relationship between the two nodes.
[0026] At box (200), a training data set including nodes and relationship strength values established between nodes is also initialized. Once the knowledge graph (120) and training data set are defined, they are read into the system from the data repository (130) at boxes (210) and (220). Then, at box (230), weights associated with the nodes and edges are initialized, and at box (240), a subset of these weights are modified. For example, in one embodiment, only edge types can be modified. The modifiable weights for each type of edge, node, and attribute in the knowledge graph (120) are parameters that can transform input data during training.
[0027] exist Figure 4In the example of FIG. 4 , the training process (40) is performed as an iterative process. The training block (300) is a series of manual iterations (310), each iteration (310) using training data including relationship strength values established between pairs of nodes and determining relationships between pairs of nodes. These relationship strength values are presented to the graph one by one, and the values of the modifiable weights are adjusted in each iteration. It should be understood that the relationship strength values do not require the nodes to be connected by direct edges, and as such, iterative training will adjust the modifiable weights of edge types captured in the set of paths between nodes in the graph.
[0028] During the training process (40), at box (320), a set of relevant qualified paths between nodes that meet a cutoff condition is retrieved. If a qualified path can be easily obtained from a previous iteration at box (330), the qualified path is obtained at box (390). These qualified paths can be calculated on the fly, or can be obtained from a cache (if any). In one possible embodiment, at box (340), the qualified path set can be calculated during the first iteration when processing a given relationship strength value. In order to calculate the qualified path set, the following sub-steps can be followed: First, a cutoff condition should be met. This is a trade-off between the computation time and the importance of the qualified path, and in this embodiment can be expressed as avoiding the generation of paths longer than a given threshold. In fact, paths that exceed a given length tend to lose their importance. For example, in a social network, a short path such as a single-hop path: "John is a friend of Mark" indicates a much closer relationship than a multi-hop path such as "John is a friend of a friend of Peter's friend". Once the cutoff condition has been met, at box (350), the qualified paths are further reduced by filtering means to remove information that is not relevant to the application. This is performed by using one or more given patterns and filtering out paths that match such patterns. After filtering the paths, at box (360), a cache of the final set of qualified paths is generated for future use. It should be understood that parameters such as the cutoff threshold and the set of irrelevance patterns need to be specified as input.
[0029] exist Figure 5, at box (400), a relationship strength value between the nodes of each defined path set is calculated during the strength calculation process (50). It will be appreciated that the calculated relationship strength value depends on modifiable weights that characterize graphical elements (such as edges contained in the path set). In one possible embodiment, at box (410), the calculated relationship strength value of the edge between the node pair is determined by the strength between the node pair. At box (420), this is calculated by summing the scores associated with each defined path in the defined path set. The individual defined path scores should take into account weights and reflect a heuristic approach that the shorter the path, the higher the score. For example, in this embodiment, a smaller weight indicates a more important type of edge, so the cost of each path is the sum of the edge weights in each path.
[0030] Reference Figure 6 , at box (500), the weights of the graph elements are adjusted during the weight adjustment process (60). At box (510), the weights in the defined path set are adjusted by applying gradient descent to reduce the error between the established relationship strength values and the calculated relationship strength values. In this step, at box (520), the established relationship strength values are compared to the calculated relationship strength values, and the modification can modify one or more of the weights so that the established relationship strength values match the calculated relationship strength values. It should be understood that any change in weight must be reflected in all elements of the same type. For example, if the weight of an edge of type "friend" is changed, all edges of that type should also adopt the "change". In a preferred embodiment, all elements of a given type have the same weight. This allows the method to be scalable to the entire graph, because the knowledge graph (120) may be large, but the number of elements of different types, such as relationship types, is much smaller in comparison.
[0031] However, in reality, not all elements of the same type have the same weight. That is, a given element such as a weight may have two weights, one corresponding to its type, and one corresponding to the element that is about to occur. For example, the weight of the type is the weight of the friendship, and the weight of the element is the weight that two friends who interact frequently may have a closer relationship than two friends who rarely interact. The present disclosure focuses on adjusting the weight of a specific type, and allows for combination with element weights.
[0032] Finally, in Figure 7 In the example of FIG. 1 , at block (600), a determination is made in the matching criteria process (70) whether the matching criteria is achieved on the training iteration. If the matching criteria is achieved, the training process ends. However, at block (310), if the matching criteria is not achieved, another training iteration is performed. An example of a possible implementation may be that the criteria is met when the change in weight is less than a predefined threshold.
[0033] This embodiment can be used for a variety of different purposes. For example, the method is very useful in the manufacturing industry, especially in the field of 3D printing where it is necessary to select suppliers of manufacturing resources for product manufacturing. The process includes automatically allocating parts from top-ranked suppliers to print products using 3D printing devices, where multiple 3D printing devices are available. The benefit of this is that it can be accurately determined whether it is faster or more efficient to print the part internally or outsource it to an external supplier.
[0034] Once the training process is complete, at blocks (700) and (710), the manufacturing selection process and selection API are updated, respectively, by ranking the options using the adjusted knowledge graph. The node pairs are ranked based on their calculated relationship strength values, where the highest ranked pairs can automatically identify the supplier to be selected that will achieve the best results based on criteria such as cost, quality, reliability, or multiple other factors. Finally, at block (720), the data repository (130) is updated with the newly ranked node pairs, and at block (800), the process ends.
[0035] The skilled artisan will appreciate that further embodiments may be provided within the spirit and scope of the claimed invention - for example, embodiments relating to decision-making processes other than component manufacturing.
Claims
1. A computer-implemented method for determining (400) relationships between data elements in a data repository (130) that obtains data from a plurality of information sources (110), the method include: Establishing (200) a knowledge graph (120) having a graph element including a plurality of nodes representing data elements and a plurality of edges, wherein each edge connects two nodes of the plurality of nodes and represents the strength of a relationship between the two nodes; associating weights with graphical elements (230), and determining (240) at least some of the weights as modifiable weights; Using (300) training data including relationship strength values established between pairs of nodes, relationships between pairs of nodes are determined (400) by: For each node pair having an edge between the nodes, establishing (340) a set of defined paths between the node pair, determining (410) a strength of the relationship between the node pair by summing (420) the weights associated with each defined path in the set of defined paths to calculate a strength of relationship value for the edge between the node pair; comparing the established relationship strength value to a calculated (410) relationship strength value, and modifying (500) one or more of the modifiable weights so that the established relationship strength value matches the calculated (410) relationship strength value; and Repeating the steps of calculating (410) the relationship strength value and modifying (500) the modifiable weight until the matching criteria (600) are met; Based on the relationship strengths calculated (410) between the nodes representing the data elements, resulting relationship strengths are established between the data elements in the data repository (130).
2. The method according to claim 1, in, Defining (340) the paths includes cutoff conditions as defining parameters, wherein there is a trade-off of interest between computation time and importance of the paths.
3. The method according to claim 1 or claim 2, in, Paths are defined (340) including filters as definition parameters, wherein paths matching one or several irrelevant patterns are filtered (350) out.
4. The method according to claim 2 or claim 3, in, The defined parameters are specified as input during initialization (200).
5. A method according to any preceding claim, in, The relationship strength value calculated (410) depends on the modifiable weight characterizing the graphical element.
6. The method according to claim 5, in, The modifiable weights are adjusted (500) to reduce (510) an error between the relationship strength values calculated (410) and the established relationship strength values recorded in the training data.
7. A method according to any preceding claim, in, When the change in the modifiable weight is less than a predefined threshold, the matching criterion (600) is met.
8. A method of selecting a manufacturing resource for manufacturing a product, in, The method comprises a computer-implemented method for determining (400) relationships between data elements according to any one of claims 1 to 7, wherein the data elements are related to manufacturing a product using a manufacturing resource set, and the method comprises: determining (410) the strength of the relationship between a first node representing the manufacturing resource in the manufacturing resource set and a second node representing the product, wherein the resulting relationship strength between the first node and the second node is ranked to sort the manufacturing resources used for the product.
9. A system (10) for determining (400) relationships between data elements, the data elements comprising data obtained from a plurality of information sources (110), the system (10) include: one or more connections to data sources, the one or more connections providing access to a plurality of data sources (110) including the data elements; as well as A computing device comprising at least a memory and a processor, wherein the processor is programmed to: Establishing a knowledge graph (120), the knowledge graph having a graph element including a plurality of nodes each representing one of the data elements and a plurality of edges, wherein each edge connects two nodes of the plurality of nodes and represents the strength of the relationship between the two nodes; associating weights with graphical elements, wherein some of the weights are modifiable weights; Using (300) training data including relationship strength values established between pairs of nodes, relationships between pairs of nodes are determined (400) by: For each node pair having an edge between the nodes, establishing (340) a set of defined paths between the node pair, calculating (410) a relationship strength value for the edge between the node pair by summing (420) the weights associated with each defined path in the set of defined paths, to determine (400) the strength of the relationship between the node pairs; comparing the established relationship strength value to a calculated (410) relationship strength value, and modifying (500) one or more of the modifiable weights so that the established relationship strength value matches the calculated (410) relationship strength value; and Repeating the steps of calculating (410) the relationship strength value and modifying (500) the modifiable weight until the matching criteria (600) are met; Based on the relationship strengths calculated (410) between the nodes representing the data elements, resulting relationship strengths are established between the data elements in the data repository.
10. The system (10) according to claim 9, in, The one or more connections to data sources (110) include at least one database (130) in the memory of the system (10).
11. The system (10) according to claim 9 or claim 10, in, The one or more connections to the data source include via an API (150) to an external system (160; 170; 180) at least one connection.
12. A system (10) for selecting manufacturing resources for manufacturing a product, in, The system (10) comprises a system (10) for determining (400) relationships between data elements according to any one of claims 9 to 11, and wherein the data elements relate to manufacturing a product using a set of manufacturing resources, wherein the system (10) is programmed to determine (400) the strength of the relationship between a first node representing the manufacturing resource in the set of manufacturing resources and a second node representing the product, wherein the resulting relationship strengths between the first node and the second node are ranked to sort the manufacturing resources used for the product.
