Analyzer, analysis method, and analysis program
By converting edge information to node information or vice versa in the analysis device, the input graph is transformed into a more suitable data structure for graph analysis, thereby improving prediction accuracy and addressing the oversmoothing problem.
Patent Information
- Application Number
- JP2023149884
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-15
- Publication Date
- 2025-03-28
AI Technical Summary
The data structure of input graphs to graph analysis systems is often not suitable for graph analysis models, leading to reduced accuracy in graph data analysis. Additionally, existing methods do not effectively utilize information from both the input graph and explanatory sub-graphs to create a single GNN model.
An analysis device that acquires a first graph and generates a second graph by converting edge information to node information or vice versa, based on predetermined conversion conditions. This process improves the data structure suitability for graph analysis models, enhancing prediction accuracy.
The proposed solution improves the accuracy of graph data analysis by transforming the input graph into a more suitable data structure, effectively addressing the oversmoothing problem and enhancing prediction performance.
Smart Images

Figure 2025042766000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an analysis device, an analysis method, and an analysis program for analyzing data. [Background technology]
[0002] Graphs are used as a data format that mainly represents the interrelationships between things in real-world phenomena. Graph data includes image data (e.g., lattice-structured data), text data (e.g., sequence data), and other forms of structured data in various application domains, including but not limited to scientific domains (molecular structures, protein interactions, gene sequences, organic compound synthesis pathways), social media, and e-commerce domains (friendship relationships, value chains).
[0003] A graph is composed of nodes (vertices) and edges (lines). Each node and edge has attribute information. Attribute information is often composed of one or more texts or numbers, or a combination of them, but is not limited to these. For example, when attribute information on nodes and attribute information on edges are in the form of multivariate data, they are called node features and edge features, respectively.
[0004] A graph analysis model is a graph-based machine learning model or a graph-based neural network model that is used for data analysis based on a specific analytical objective based on graph data. For example, a graph convolutional neural network (GCNN) performs convolution processing on multivariate data related to nodes, edges, or both, changing the target based on the connection relationship between nodes and edges, performs learning according to a task such as classification or regression, and outputs a predicted value related to a classification or regression task for a specific input. A user makes a decision based on the predicted value calculated in this way.
[0005] The graph convolution process in GCNN can be realized by a graph convolution layer, which is a form of neural network. Non-Patent Document 1 discloses one form of graph convolution process in a graph convolutional neural network.
[0006] In general, k graph convolution layers may be executed to convolute the node features up to k neighboring nodes when tracing k nodes that have a connection relationship with a certain node in order. The convolution process may be executed for all nodes. In this case, when the number of graph convolution layers is increased to consider the features of distant nodes in order to improve prediction accuracy, the nodes to be convoluted may become mutually inclusive. Therefore, the multiple node features after the convolution process may asymptotically approach an average value.
[0007] For example, if all node features are composed of very close sets of values, the prediction accuracy of GCNN may be significantly degraded. This problem is called the over-smoothing problem. Therefore, a graph analysis method that can avoid the over-smoothing problem is needed.
[0008] Non-Patent Document 2 discloses a form of pooling processing that constructs a graph with a reduced total number of nodes, edges, or both, in order to avoid the over-smoothing problem. When graph convolution processing is performed on a graph that has been subjected to pooling processing, it may be possible to suppress an increase in the number of graph convolution layers.
[0009] Patent Literature 1 discloses a method for illustrating graph-based prediction using network motif analysis, which includes the steps of extracting a first set of subgraphs from a first graph in graph-based prediction using network motif analysis, extracting a set of network motifs based on first statistical information associated with the first set, locating a set of network motif instances, determining second statistical information of the set of network motifs, applying a graph explanation model to the first graph based on the second statistical information, extracting a first explanation subgraph for a first class from the first graph based on the application of the graph explanation model and a set of regularization constraints, and displaying an output representation showing the first explanation subgraphs. [Prior art documents] [Patent documents]
[0010] [Patent Document 1] JP 2022-117452 A [Non-patent literature]
[0011] [Non-Patent Document 1] Kipf, Thomas N., and Max Welling. "Semi-supervised classification with graph convolutional networks." arXiv preprint arXiv:1609.02907 (2016). [Non-Patent Document 2] Knyazev, Boris, Graham W. Taylor, and Mohamed Amer. "Understanding attention and generalization in graph neural networks." Advances in neural information processing systems 32 (2019). Summary of the Invention [Problem to be solved by the invention]
[0012] The data structure of a graph input to a graph analysis system is not necessarily a data structure suitable for a graph analysis model. The pooling process can be interpreted as a process to create a graph with a reduced total number of nodes or edges from the input graph, resulting in a data structure more suitable for the graph analysis model. In this case, the accuracy of graph analysis can be interpreted as depending on how well the graph can be converted into a graph with a data structure suitable for the purpose of analysis.
[0013] Furthermore, Patent Document 1 does not disclose how one GNN model is created by referring to information on both the input graph and the explanation subgraph.
[0014] An object of the present invention is to improve the accuracy of graph data analysis. [Means for solving the problem]
[0015] An analysis apparatus according to one aspect of the invention disclosed in the present application is an analysis apparatus having a processor that executes a program and a storage device that stores the program, wherein the processor executes an acquisition process to acquire a first graph consisting of a group of nodes and one or more edges connecting two nodes within the group of nodes, and a conversion process to generate a second graph by performing at least one of a conversion from the edges to the nodes or a conversion from the nodes to the edges in the first graph acquired by the acquisition process in accordance with predetermined conversion conditions. Effect of the Invention
[0016] According to the representative embodiment of the present invention, it is possible to improve the accuracy of graph data analysis. Problems, configurations and effects other than those described above will become apparent from the following description of the embodiments. [Brief description of the drawings]
[0017] [Figure 1] FIG. 1 is a diagram illustrating an example of a graph analysis according to the first embodiment. [Diagram 2] FIG. 2 is a block diagram of an example of a hardware configuration of the analysis apparatus according to the first embodiment. [Diagram 3] FIG. 3 is a diagram of an example of a node feature table according to the first embodiment. [Figure 4] FIG. 4 is a diagram of an example of an edge feature amount table according to the first embodiment. [Diagram 5] FIG. 5 is a diagram of an example of an adjacency matrix according to the first embodiment. [Figure 6] FIG. 6 is a flowchart of a detailed example of a procedure of the graph conversion process performed by the analysis device according to the first embodiment. [Figure 7] FIG. 7 is an explanatory diagram of an example of generating a transformed graph in the pooling process (step S602) according to the first embodiment. [Figure 8] FIG. 8 is a diagram of an example of the converted node feature table according to the first embodiment. [Figure 9] FIG. 9 is a diagram illustrating an example of the converted edge feature amount table according to the first embodiment. [Figure 10] FIG. 10 is a diagram illustrating an example of the converted adjacency matrix according to the first embodiment. [Figure 11] FIG. 11 is a diagram of an example of graph correspondence information according to the first embodiment. [Figure 12] FIG. 12 is a flowchart of an example of an analysis process procedure using a transformed graph according to the first embodiment. [Figure 13] FIG. 13 is an explanatory diagram of an example of a display screen according to the first embodiment. [Figure 14] FIG. 14 is a diagram of an example of an input graph according to the second embodiment. [Figure 15] FIG. 15 is a diagram of an example of a node feature table according to the second embodiment. [Figure 16]FIG. 16 is a diagram of an example of an edge feature amount table according to the second embodiment. [Figure 17] FIG. 17 is a diagram illustrating an example of an adjacency matrix according to the second embodiment. [Figure 18] FIG. 18 is a flowchart of an example of a graph conversion process procedure according to the second embodiment. [Figure 19] FIG. 19 is an explanatory diagram of an example of generation of a transformed graph 700 in the graph conversion process (step S1802) according to the second embodiment. [Figure 20] FIG. 20 is a diagram of an example of a converted node feature table according to the second embodiment. [Figure 21] FIG. 21 is a diagram illustrating an example of a converted edge feature amount table according to the second embodiment. [Figure 22] FIG. 22 is a diagram illustrating an example of an adjacency matrix according to the second embodiment. [Diagram 23] FIG. 23 is a diagram of an example of graph correspondence information according to the second embodiment. [Figure 24] FIG. 24 is a diagram of an example of an input graph according to the third embodiment. [Diagram 25] FIG. 25 is a diagram of an example of a node feature table according to the third embodiment. [Figure 26] FIG. 26 is an explanatory diagram illustrating an example of an edge feature amount table. [Figure 27] FIG. 27 is a diagram illustrating an example of an adjacency matrix according to the third embodiment. [Figure 28] FIG. 28 is an explanatory diagram of an example of generation of a transformed graph in the graph conversion process (step S1802) according to the third embodiment. [Figure 29] FIG. 29 is a diagram illustrating an example of a converted node feature table according to the third embodiment. [Diagram 30] FIG. 30 is a diagram illustrating an example of the converted edge feature amount table according to the third embodiment. [Diagram 31] FIG. 31 is a diagram illustrating an example of the converted adjacency matrix according to the third embodiment. [Diagram 32]FIG. 32 is a diagram of an example of graph correspondence information according to the third embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0018] In the following, when necessary for convenience, the description will be divided into multiple sections or examples, but unless otherwise specified, they are not unrelated to each other, and one is related to the other as a partial or complete modification, detail, supplementary explanation, etc. Furthermore, in the following, when the number of elements, etc. (including the number, numerical value, amount, range, etc.) is mentioned, it is not limited to the specific number, and may be more or less than the specific number, unless otherwise specified or clearly limited in principle to a specific number, etc.
[0019] This system may be a physical computer system (one or more physical computers) or a system built on a group of computing resources (multiple computing resources) such as a cloud infrastructure. The computer system or the group of computing resources includes one or more interface devices (including, for example, a communication device and an input / output device), one or more storage devices (including, for example, a memory (main memory) and an auxiliary storage device), and one or more processors.
[0020] When a function is realized by a program being executed by a processor, the defined processing is performed using a storage device and / or an interface device, etc. as appropriate, and therefore the function may be at least a part of the processor. Processing described with a function as the subject may be processing performed by a processor or a system having the processor. The program may be installed from a program source. The program source may be, for example, a program distribution computer or a computer-readable storage medium (for example, a computer-readable non-transitory storage medium). The description of each function is an example, and multiple functions may be combined into one function, or one function may be divided into multiple functions. EXAMPLES
[0021] 1 is a diagram illustrating an example of graph analysis according to Example 1. The analysis model 100 includes a pooling layer 101, a first convolution layer 102, a second convolution layer 103, and an output layer 105.
[0022] The pooling layer 101 pools the input graph 110. The input graph 110 is composed of nodes and edges. The nodes are indicated by circles. The edges are indicated by lines connecting the nodes. The numbers in the nodes are numbers that uniquely identify the nodes. The graph 110 represents, for example, a molecular structure. In this case, each node represents an atom that constitutes a molecule, and the relationship of the bonds between atoms is represented by edges. In general, the bonds between atoms in a molecule are symmetrical, so the input graph 110 is an undirected graph, but is not limited to this. A convolutional layer may exist before the pooling layer.
[0023] The first convolution layer 102 performs a convolution operation on the pooling result 111 by the pooling layer 101. Alternatively, the first convolution layer 102 performs a convolution operation on the graph 110.
[0024] The second convolution layer 103 performs a convolution operation on the first convolution result 112 by the first convolution layer 102.
[0025] The output layer 104 outputs a predicted physical property value 120 based on the second convolution result 113 by the second convolution layer 103. The output layer 104 may be a fully connected layer.
[0026] <Example of hardware configuration of analytical equipment> FIG. 2 is a block diagram showing an example of a hardware configuration of the analysis device according to the first embodiment. The analysis device 200 includes a processor 201, a storage device 202, an input device 203, an output device 204, and a communication interface (communication IF) 205. The processor 201, the storage device 202, the input device 203, the output device 204, and the communication IF 205 are connected by a bus 206. The processor 201 controls the analysis device 200. The storage device 202 serves as a working area for the processor 201. The storage device 202 is a non-transient or temporary recording medium that stores various programs and data. Examples of the storage device 202 include a read only memory (ROM), a random access memory (RAM), a hard disk drive (HDD), and a flash memory. The input device 203 inputs data. Examples of the input device 203 include a keyboard, a mouse, a touch panel, a numeric keypad, a scanner, a microphone, and a sensor. The output device 204 outputs data. The output device 204 may be, for example, a display, a printer, or a speaker. The communication IF 205 connects to a network and transmits and receives data.
[0027] Learning and inference using the analytical model 100 shown in Fig. 1 are executed by an analytical device 200. Data using the analytical model 100 shown in Fig. 1 (including a graph 110, a first convolution result 112, a second convolution result 113, a predicted physical property value 120, and learning parameters of the analytical model 100) is stored in a storage device 202. Fig. 2 is also applied to Example 2 and Example 3 described later.
[0028] <Node feature table> 3 is a diagram illustrating an example of a node feature table according to the embodiment 1. The node feature table 300 is a table that stores information about the nodes that configure the graph 110. The node feature table has a graph ID 301, a node ID 302, an element type 303, and a node descriptor 304 as fields.
[0029] Graph ID 301 is identification information that uniquely identifies a graph. The value of graph ID 301 for graph 110 is "G01". Node ID 302 is identification information that uniquely identifies a node. In this example, "N#" is the "N" with the number # in a circle indicating the node attached thereto, and this is used as node ID 302.
[0030] The element type 303 is the atomic symbol of the node N# identified by the node ID 302. The node descriptor 304 and the second node descriptor 305 are the descriptors of the node N# identified by the node ID 302, that is, the feature values. The descriptor is physical or chemical data related to molecules or atoms. It may be a value calculated based on a calculation method widely used in the chemical field, or may be a value calculated independently. The number of descriptors may be three or more. The descriptor of the node N# can store any type of information related to the node.
[0031] <Edge feature table> 4 is a diagram illustrating an example of an edge feature table according to the first embodiment. The edge feature table 400 is a table that stores information about edges that configure the input graph 110. The edge feature table 400 has, as fields, a graph ID 301, an edge ID 402, an interatomic bond count 403, and an edge descriptor 404.
[0032] The edge ID 402 is identification information that uniquely identifies an edge. In this example, the edge ID 402 is represented as E(x, y) (x, y (x≠y) is the number # of the node N#).
[0033] The number of interatomic bonds 403 is a value indicating how many interatomic bonds there are. An edge E(x, y) indicates how many bonds there are between node Nx and node Ny.
[0034] The edge descriptor 404 is a descriptor related to an interatomic bond specified by the edge E(x, y). The descriptor of the edge E(x, y) can store any type of information related to the edge E(x, y).
[0035] <adjacency matrix> 5 is an explanatory diagram illustrating an example of an adjacency matrix according to the first embodiment. The adjacency matrix 500 is a table that specifies which two nodes Nx, Ny an edge E(x, y) connects. Specifically, for example, the adjacency matrix 500 has a graph ID 301, an edge ID 402, a start node ID 503, and an end node ID 504. The start node ID 503 is identification information that uniquely identifies the node Nx connected to one end of the edge E(x, y). The end node ID 504 is identification information that uniquely identifies the node Ny connected to one end of the edge E(x, y).
[0036] In addition, when the graph 110 is an undirected graph, it may be interpreted as having a bidirectional connection relationship from node Nx to node Ny and from node Ny to node Nx, and the two connection relationships may be stored using two rows for the same edge E(x, y).
[0037] <Graph conversion processing> FIG. 6 is a flowchart of a detailed example of a procedure of the graph conversion process performed by the analysis device 200 according to the first embodiment.
[0038] (Step S600) The analysis device 200 reads the parameters. The parameters are data that are set in advance.
[0039] (Step S601) The analysis apparatus 200 reads the input graph 110 corresponding to the graph ID 301 included in the parameters of step S600 from the storage device 202. If the graph ID 301 is "G01", the input graph G01 is read.
[0040] (Step S602) Next, the analysis device 200 executes a pooling process on the input graph G01 in the pooling layer 101. Specifically, for example, the analysis device 200 executes the pooling process using the distance (number of hops) from the focus node N# and a weight according to the distance. The rules for such pooling process (step S602) are managed by a rule ID included in the parameters as a conversion condition for pooling.
[0041] The input graph G01 is transformed by the pooling process (step S602). The transformed graph 700 transformed from the input graph G01 is defined as the transformed graph G02. For example, the pooling process (step S602) may delete at least one or more nodes N# from the input graph G01, and may also delete at least one or more edges E(x, y) in the input graph G01 with the deletion of the node N#. Also, a new edge E(x, y) may be added with the deletion of the node N#.
[0042] In this case, the node features for at least one remaining node N# connected to the deleted node N# may be determined by performing a convolution operation using at least one or more of the node features assigned to the remaining nodes in the input graph G01, the node features for the deleted node, the edge features for the deleted or added edge E(x, y), and the edge features for the edge E(x, y) to which the remaining node N# was connected in the input graph G01.
[0043] (Step S603) Next, the analysis device 200 determines whether or not to end the pooling process (step S602) based on a predetermined condition included in the parameter. For example, when the number of nodes or edges constituting the transformed graph G02 generated as a result of the pooling process (step S602) becomes equal to or less than a predetermined number, the analysis device 200 determines that the pooling process (step S602) should be ended. When it is determined that the pooling process (step S602) should not be ended (step S603: No), the process returns to step S602. When it is determined that the pooling process (step S602) should be ended (step S603: Yes), the process proceeds to step S604.
[0044] (Step S604) Next, the analysis device 200 writes out the combinations of nodes or edges replaced, inserted or deleted by the pooling process (step S602) into graph correspondence information. The graph correspondence information will be described later with reference to FIG.
[0045] (Step S605) Next, the analysis device 200 stores the graph after the pooling process (step S602) in the storage device 202 as a transformed graph.
[0046] <Example of generating a transformation graph> 7 is an explanatory diagram showing an example of generation of a transformed graph in the pooling process (step S602) according to the first embodiment. When the input graph 110 is a graph G01, it is assumed that the input graph 110 is transformed into a transformed graph G02, which is an example of the transformed graph 700, by the pooling process (step S602). For example, the node N3 of the transformed graph G02 is calculated by convolving the node descriptor 304 of the node N3 in the input graph G01 with the node descriptors 304 of the nodes N1, N2, N4, and N8 in the graph G01.
[0047] As a result, the node feature table 300, edge feature table 400, and adjacency matrix 500 of the graph G01 are converted as follows.
[0048] 8 is a diagram illustrating an example of a transformed node feature table according to the embodiment 1. The transformed node feature table 800 is a table that stores information about the nodes that configure the transformed graph 700. The transformed node feature table 800 has a transformed graph ID 801, a node ID 302, and a transformed node descriptor 804 as fields.
[0049] The transformed graph ID 801 is identification information that uniquely identifies the transformed graph 700. In this example, the transformed graph ID 801 is "G02."
[0050] Each converted node descriptor 804 is a descriptor, that is, a feature amount, of node N# identified by node ID 302 after the pooling process (step S602).
[0051] 9 is a diagram illustrating an example of a converted edge feature table according to the embodiment 1. The converted edge feature table 900 is a table that stores information about edges that configure the deformed graph 700. The converted edge feature table 900 has a deformed graph ID 801, an edge ID 402, an interatomic bond count 403, and an edge descriptor 404 as fields.
[0052] 10 is an explanatory diagram illustrating an example of a transformed adjacency matrix according to the first embodiment. The transformed adjacency matrix 1000 is a table that specifies which two nodes Nx, Ny an edge E(x, y) connects in the transformed graph 700. Specifically, for example, the transformed adjacency matrix 1000 has a transformed graph ID 801, an edge ID 402, a start node ID 503, and an end node ID 504.
[0053] 11 is a diagram illustrating an example of graph correspondence information according to Example 1. The graph correspondence information 1100 is a table that stores combinations of nodes or edges that have been replaced, inserted, or deleted by the pooling process (step S602).
[0054] The graph correspondence information 1100 has, as fields, a graph ID 301, a transformed graph ID 801, a node ID 302, and an association 1004. The node ID 302 is identification information that uniquely identifies a node N# that is common to the input graph 110 identified by the graph ID 301 and the transformed graph 700 identified by the transformed graph ID 801.
[0055] The association 1004 is information indicating the association between the input graph 110 identified by the graph ID 301 and the transformed graph 700 identified by the transformed graph ID 801. Specifically, the association 1004 stores data related to the node N# of the transformed graph 700, such as the node N# used in the pooling process (step S602).
[0056] For example, the entry in the first row indicates that node N3 has been convoluted with the node features of nodes N1, N2, N4, and N8 by the pooling process (step S602).
[0057] <Analysis processing using deformation graph 700> Fig. 12 is a flowchart illustrating an example of an analysis process procedure using the transformed graph 700 according to the first embodiment. Fig. 12 illustrates an example of processing performed by the first convolutional layer 102, the second convolutional layer 103, and the output layer 105 on the transformed graph 700 output from the pooling layer 101, for example.
[0058] (Step S1200) The analytical device 200 reads the parameters. The parameters are data that are set in advance. Here, the parameters include a performance index value that indicates the performance of each molecule for each graph.
[0059] (Step S1201) The analysis apparatus 200 reads from the storage device 202 the modified graph 700 that corresponds to the modified graph ID 801 included in the parameters of step S1200.
[0060] (Step S1202) The analysis apparatus 200 reads from the storage device 202 the analysis model 100 that corresponds to the model ID included in the parameters in step S1200.
[0061] (Step S1203) Next, the analysis device 200 determines whether to refer to the input graph 110 (step S1203). Specifically, for example, if the parameters of step S1200 include the graph ID 301 of the input graph 110 (step S1203: Yes), the analysis device 200 proceeds to step S1204. On the other hand, if the parameters of step S1200 include the graph ID 301 of the input graph 110 (step S1203: No), the analysis device 200 proceeds to step S1206.
[0062] (Step S1204) The analysis device 200 reads the graph correspondence information 1100 corresponding to the graph ID 301 and the transformed graph ID 801 from the storage device 202 .
[0063] (Step S1205) The analysis device 200 reads the input graph 110 corresponding to the graph ID 301 from the storage device 202 .
[0064] (Step S1206) Analysis device 200 determines whether the operation mode set in the parameters is learning or inference. If it is learning (step S1206: learning), the process proceeds to step S1207. In this case, transformed graph 700 read in step S1201, graph correspondence information 1100 read in step S1204, and input graph 110 read in step S1205 become the learning target graphs.
[0065] If it is inference (step S1206: inference), the process proceeds to step S1213. In this case, the transformed graph 700 loaded in step S1201 becomes the inference target graph.
[0066] (Step S1207) The analysis device 200 instantiates the analysis model 100 and initializes the learning parameters of the analysis model 100 using the learning parameters given in the parameters.
[0067] (Step S1208) Analysis device 200 inputs the graph to be learned (transformed graph 700, graph correspondence information 1100, and input graph 110) to analysis model 100 as training data.
[0068] (Step S1209) Analysis device 200 uses the learning target graph to execute a learning process for analysis model 100. Specifically, analysis device 200 executes the learning process using first convolution layer 102, second convolution layer 103, and output layer 105, for example.
[0069] (Step S1210) The analysis device 200 calculates the value of the loss function defined for the analysis model 100, optimizes the learning parameters of the analysis model 100, and updates the learning parameters. The value of the loss function can be calculated, for example, from the difference between the performance prediction value calculated by the analysis model 100 for each graph and the performance index value (read in step S1200) which is the true value (correct data), and in this case the learning parameters are updated so that the difference becomes zero.
[0070] (Step S1211) The analysis device 200 determines whether to end the learning operation of the analysis model 100 based on the end condition specified by the parameter. For example, when the value of the loss function becomes equal to or less than a threshold, the analysis device 200 determines to end the learning operation. Also, when the number of iterations of the learning operation reaches a threshold, the analysis device 200 determines to end the learning operation. If the learning operation is to be continued (step S1211: No), the process returns to step S1208. If the learning operation is to be ended (step S1211: Yes), the process proceeds to step S1212.
[0071] (Step S1212) The analysis device 200 stores the learning parameters of the analytical model 100 after learning as learning results in the storage device 202. This learning result is used in step S1213. The analysis device 200 also stores index values indicating learning performance, such as the final reached value of the loss function, and predicted values regarding the test data as learning results in the storage device 202. This completes the series of learning processes.
[0072] (Step S1213) Since the operation mode of analysis device 200 is inference, analysis device 200 instantiates analysis model 100 by reading the learning parameters saved in step S1212.
[0073] (Step S1214) The analysis device 200 inputs the graph to be inferred (the transformed graph 700 ) into the analysis model 100 .
[0074] (Step S1215) Analysis device 200 uses the training graph to execute inference processing of analysis model 100. Specifically, for example, analysis device 200 executes inference processing using first convolution layer 102, second convolution layer 103, and output layer 105.
[0075] (Step S1216) The analysis apparatus 200 stores the inference result from the inference process (step S1215) in the storage device 202. This ends a series of the inference processes.
[0076] <Display screen> FIG. 13 is an explanatory diagram showing an example of a display screen according to the first embodiment. The display screen 1300 has a selection information display area 1310, an input graph display area 1320, and a transformation graph display area 1330. The selection information display area 1310 has selection information 1311, a comparison button 1312, and a display button 1313. The selection information 1311 is composed of one or more entries including a graph ID 301, a transformation graph ID 801, an input graph 110, and an analysis model ID for each execution ID. Each entry of the selection information 1311 is generated in steps S1212 and S1216. Each entry can be selected by a radio button in the selection column of the selection information 1311. In FIG. 13, a black circle indicates that the entry is selected.
[0077] The compare button 1312 is a user interface for comparing multiple entries selected with radio buttons in the selection column of the selection information 1311. The deformation graph 700 specified by the selected multiple entries is displayed in a deformation graph display area 1330.
[0078] The display button 1313 is a user interface for displaying a single entry selected by a radio button in the selection column of the selection information 1311. The input graph 110 specified by the selected single entry is displayed in an input graph display area 1320.
[0079] The input graph display area 1320 is an area for displaying the input graph 110. In addition to the input graph 110, the input graph display area 1320 displays the node feature table 300 and the edge feature table 400.
[0080] 13, two entries are selected from the selection information 1311, so that a transformed graph G02 having a transformed graph ID 801 of "G02" is displayed in a first transformed graph display area 1331, and a transformed graph G03 having a transformed graph ID 801 of "G03" is displayed in a second transformed graph display area 1332. In the transformed graph display area 1330, the transformed graph 700 and the node N that has been removed by the pooling process (step S602) are displayed to be distinguished from the remaining nodes.
[0081] For example, the analysis device 200 can perform regression prediction of the physical property value of each molecule in learning in the graph data analysis of molecular structures. In this case, the value of the loss function is calculated based on the error between the output of the analysis model 100 and the physical property value of the molecule corresponding to the input of the analysis model 100.
[0082] Furthermore, when the analytical model 100 after learning is operated in inference mode (step S1206: Yes), the analytical device 200 can obtain the physical property values of the new molecular structure as predicted values by inputting a graph related to the new molecular structure into the analytical model 100. Using the predicted physical property values, the user can narrow down candidate molecules whose performance should be confirmed in the next experiment, thereby reducing the man-hours required for material development.
[0083] For example, the learning graph is composed of the transformed graph G02, graph correspondence information 1100, and the input graph G01, and the inference graph is composed of the transformed graph G02. The node feature of node N6 in the transformed graph G02 is specified by the transformed node descriptor 804 of the entry whose node ID 302 is “N6” in the transformed node feature table 800 of the transformed graph G02.
[0084] Nodes N3 and N10, which are adjacent nodes of node N6 in the transformed graph G02, are identified from the transformed adjacency matrix 1000. The node features of nodes N3 and N10, which are adjacent nodes of node N6 in the transformed graph G02, are identified by transformed node descriptors 804 of entries whose node IDs 302 are "N3" and "N10" in the transformed node feature table 800 of the transformed graph G02.
[0085] The analysis device 200 performs a convolution operation on the converted node descriptors 804 of the node N6 and its adjacent nodes N3 and N10. Furthermore, the analysis device 200 may add the converted node descriptor 804 of the node N6 in the input graph G01 and the converted node descriptors 804 of the nodes N5, N7, and N9 adjacent to the node N6 to the node features to be convolved, by referring to the associations 1104 in the graph correspondence information 1100. This enables learning that takes into account data derived from the input graph G01 that was lost by the pooling process (step S602), improving the prediction accuracy during inference. EXAMPLES
[0086] Next, a second embodiment will be described. The second embodiment is an example in which a material synthesis process in a scientific domain is treated as a graph. The same components as those in the first embodiment are given the same reference numerals, and the description thereof will be omitted.
[0087] <Input Graph 110> 14 is a diagram illustrating an example of the input graph 110 according to the second embodiment. A graph G140, which is the input graph 110, is a graph that expresses the procedure of a chemical reaction process as a graph. Nodes N1 and N2 indicate reactants in the chemical reaction. For example, node N1 is copper oxide, and node N2 is activated carbon.
[0088] Nodes N3 and N4 represent intermediate products in the chemical reaction. Nodes N5 to N7 represent products or unreacted residues in the chemical reaction. For example, node N5 is copper, node N6 is activated carbon, and node N7 is carbon dioxide.
[0089] Each edge E(1,3), E(2,3), E(3,4), E(4,5), E(4,6), and E(4,7) in the graph G140 represents a chemical operation or reaction. For example, edges E(1,3) and E(2,3) represent the operation of mixing copper oxide (node N1) and activated carbon (node N2) and stirring them in a mortar.
[0090] Edge E(3,4) represents the operation of heating a mixture of copper oxide (node N1) and activated carbon (node N2).
[0091] Edges E(4,5), E(4,6), and E(4,7) represent the operations of separating each substance from the mixture after heating by edge E(3,4).
[0092] Since the operations or chemical changes in the chemical reaction process have a time series or order, the graph G140 may take the form of a directed graph, but is not limited to this. Data accompanying the graph G140 as graph data of the chemical reaction process include a node feature table, an edge feature table, and an adjacency matrix.
[0093] <Node feature table> 15 is a diagram illustrating an example of a node feature table according to Example 2. A node feature table 1500 has fields such as a graph ID 301, a node ID 302, a category 1503, a material 1504, a manufacturer 1505, and a mass 1506. The value of each field in the same row is an entry that specifies information about a substance such as a reactant, an intermediate product, or a final product.
[0094] Category 1503 is an identifier for the type of substance, such as "MS1" indicating a pure substance or "MS2" indicating a mixture.
[0095] The material 1504 is the chemical formula of the substance represented by the node N#. In the case of a mixture, the string "None" is stored in the material 1504. The manufacturer 1505 is information on the source of the substance, for example, the name of the supplier.
[0096] The mass 1506 is the amount of an immutable substance that constitutes an object. The above-mentioned category 1503, material 1504, manufacturer 1505, and mass 1506 are examples of node features, and other node features may be used.
[0097] <Edge feature table> 16 is a diagram illustrating an example of an edge feature table according to Example 2. An edge feature table 1600 has fields, such as a graph ID 301, an edge ID 402, an operation 1603, a container ID 1604, a heating temperature 1605, and a separation method 1606. The value of each field in the same row is an entry that specifies information about a chemical reaction or an experimental operation in a chemical reaction process.
[0098] An operation 1603 specifies how to handle node N#. A container ID 1604 is an identifier that uniquely identifies a container used when executing a process.
[0099] The heating temperature 1605 is the temperature when the operation 1603 is "heating". The separation method 1606 is the method when the operation 1603 is "separation". The above-mentioned operation 1603, container ID 1604, heating temperature 1605, and separation method 1606 are examples of edge features, and other edge features may be used.
[0100] <adjacency matrix> 17 is a diagram illustrating an example of an adjacency matrix according to Example 2. An adjacency matrix 1700 has, as in Example 1, a graph ID 301, an edge ID 402, a start node ID 503, and an end node ID 504 as fields.
[0101] <Graph conversion processing> FIG. 18 is a flowchart of an example of a graph conversion process procedure according to the second embodiment.
[0102] (Step S1800) The analysis device 200 reads the parameters. The parameters are data that are set in advance.
[0103] (Step S1801) The analysis apparatus 200 reads the input graph 110 corresponding to the graph ID 301 included in the parameters of step S1800 from the storage device 202. If the graph ID 301 is "G140", the input graph G140 is read.
[0104] (Step S1802) Analysis device 200 performs graph transformation processing on input graph G140, that is, processing for inserting node N# and processing for making edge E(x, y) into a node, and generates transformed graph 700.
[0105] This graph conversion is performed under conditions based on the specifications specified by parameters. For example, the analysis device 200 inserts a dummy node between predetermined nodes N# in the input graph G140. The analysis device 200 also replaces an edge E(x, y) with a node N# and inserts the replaced node N# at the position of the edge E(x, y) before replacement. The analysis device 200 also inserts a new edge E(x, y) so as to maintain the adjacency relationship in the input graph G140.
[0106] (Step S1803) The analysis apparatus 200 writes out, as graph correspondence information, a combination of replacement, insertion, and deletion for the node N#, the edge E(x, y), or both, that has occurred in the graph conversion process (step S1802).
[0107] (Step S1804) The analysis device 200 stores the transformed graph as a transformed graph 700 in the storage device 202 .
[0108] <Example of generating transformation graph 700> Fig. 19 is an explanatory diagram showing an example of generation of a transformed graph 700 in the graph conversion process (step S1802) according to the embodiment 2. In Fig. 19, an input graph G140 is converted into a transformed graph G190.
[0109] 19, the conversion condition regarding mixture set as a parameter in step S1800 is, for example, "When an edge E(x, y) is connected from one or more nodes N# whose category 1503 is "MS1" (pure substance) to a node N# whose category 1503 is "MS2" (mixture), replace the node N# to which "MS2" is assigned with a new node N# whose category 1503 is a dummy node." As a result, node N3 of the input graph G140 is replaced with dummy node N8 of the transformed graph G190.
[0110] Also, for example, the conversion condition for mixing may include "for an edge E(x,y) whose operation 1603 in the edge feature is not "None", replace the edge E(x,y) with a new node N#". In this case, edges E(1,3) and E(2,3) in the input graph G140 are replaced with a mixed node N9 in the transformed graph 190.
[0111] Also, for example, the conversion condition for heating may include "for an edge E(x,y) whose operation 1603 in the edge feature is "heating", replace the edge E(x,y) with a new node N#." In this case, the edge E(3,4) in the input graph G140 is replaced with the heating node N10 in the transformation graph 190.
[0112] Also, for example, the conversion condition regarding separation may include "for an edge E(x,y) whose operation 1603 in the edge feature is "separate", replace the edge E(x,y) with a new node N#". In this case, edges E(4,5), E(4,6), and E(4,7) in the input graph G140 are replaced with a separation node N11 in the transformed graph 190.
[0113] Edge E(3,4) in the input graph G140 is replaced with node N10 in the transformed graph 190. Edges E(4,5), E(4,6), and E(4,7) in the input graph G140 are replaced with a separate node N11 in the transformed graph 190.
[0114] By such replacement, edges E(x, y) representing operation 1603 in input graph G140 are all represented by node N# in transformed graph G190. Accordingly, node feature table 1500, edge feature table 1600, and adjacency matrix 1700 are also transformed.
[0115] <Post-conversion node feature table> 20 is an explanatory diagram showing an example of a transformed node feature table according to Example 2. The transformed node feature table 2000 is a table in which the node features (node ID 302, category 1503, material 1504, manufacturer 1505, mass 1506) in the node feature table 1500 in the input graph G140 are combined with the edge features (operation 1603, container ID 1604, heating temperature 1605, separation method 1606) in the edge feature table 1600, and a transformed graph ID 801 is assigned.
[0116] <Converted edge feature table> 21 is an explanatory diagram showing an example of a converted edge feature table according to the second embodiment. The converted edge feature table 2100 has a transformation graph ID 801, an edge ID 402, an operation 1603, a container ID 1604, a heating temperature 1605, and a separation method 1606. Since the mixed edges E(1,3), E(2,3), the heating edge E(3,4), and the separation edges E(4,5), E(4,6), and E(4,7) in the input graph G140 are transformed into a mixed node N9, a heating node N10, and a separation node N11, respectively, in the transformation graph G190, the operation 1603, the heating temperature 1605, and the separation method 1606 in the transformation graph G190 all become "None."
[0117] <Post-transformation adjacency matrix> 22 is a diagram illustrating an example of an adjacency matrix according to Example 2. A transformed adjacency matrix 2200 has a transformed graph ID 801, an edge ID 402, a start node ID 503, and an end node ID 504 as fields.
[0118] <Graph support information> 23 is a diagram illustrating an example of graph correspondence information according to Example 2. The graph correspondence information 2300 is a table that stores the relationship between nodes N# or the relationship between edges E(x, y) and nodes N# that are simultaneously replaced by the graph conversion process (step S1802).
[0119] The graph correspondence information 2300 has, as fields, a graph ID 301, a transformed graph ID 801, a node ID 2202, and an association 2204. The node ID 2202 is the node ID 302 in the transformed graph 700 identified by the transformed graph ID 801.
[0120] The association 2204 is information indicating the association between the input graph 110 identified by the graph ID 301 and the transformed graph 700 identified by the transformed graph ID 801. For a node N# of an entry with a value of “*” in the association 2204, this indicates that there is no change before and after the graph conversion process (step S1802). For example, this indicates that nodes N1, N2, and N5 to N7 are the same node in the input graph 110 and the transformed graph 700.
[0121] A node N# of an entry with a value of “None” in the association 2204 indicates that the node N# of the transformation graph 700 is a node that is not associated with the input graph 110, that is, a dummy node. For example, node N8 is a dummy node that does not exist in the input graph G140 and is added to the transformation graph G190.
[0122] For a node N# whose edge ID 402 is registered in the relationship 2204 , this indicates that the node N# of the transformation graph 700 is a node that has been transformed based on the edge ID 402 registered in the relationship 2204 .
[0123] For example, the value of the association 2204 of the entry with the node ID 2202 of “N9” is [E(1,3),E(2,3)], which indicates that the mixed edges E(1,3),E(2,3) of the input graph G140 have been transformed into the mixed node N9 of the transformed graph G190.
[0124] Also, the value of the association 2204 of the entry with the node ID 2202 being "N10" is [E(3,4)]. This indicates that the heating edge E(3,4) of the input graph G140 has been transformed into the heating node N10 of the transformed graph G190.
[0125] Also, the value of the association 2204 of the entry whose node ID 2202 is “N11” is [E(4,5),E(4,6),E(4,7)], which indicates that the separating edges E(4,5),E(4,6),E(4,7) of the input graph G140 have been transformed into the separating node N11 of the transformed graph G190.
[0126] The analysis objective realized by the operation in the second embodiment is to improve the yield of a product in a chemical synthesis experiment. For example, the selected analysis model 100 may be a graph neural network that executes a regression analysis on experimental data of the yield associated with each input graph 110. Therefore, in the second embodiment, the analysis device 200 can learn the analysis model 100 or obtain an analytical result from the analysis model 100 by executing the analysis process by the transformed graph shown in FIG. 12 using the transformed graph 700 converted in the graph conversion process (step S1802).
[0127] Furthermore, the analysis device 200 may input the learning result obtained in step S1212 to an external system as primary information. This allows the analysis desired by the user to be realized. For example, the analysis device 200 may be a graph variational autoencoder having an encoder that converts the input graph 110 into multivariates and a decoder that performs reverse conversion from the multivariates to the input graph. Here, the written multivariates and experimental data of yields given as teacher labels may be input to a machine learning model or a neural network model derived from another system to perform regression or classification desired by the user.
[0128] In the second embodiment, the analysis device 200 can analyze events related to any procedure that can be represented by the deformation graph 700. For example, the analysis device 200 can be applied to the optimization of a dam's water discharge operation, and the optimization of a recipe or manufacturing procedure in food production.
[0129] In the input graph G140, a structure showing mixing → heating → separation is used, but a structure showing heating → separation, a structure showing mixing → heating, or a structure showing mixing → separation may also be used.
[0130] For example, if the input graph G140 has a structure showing heating ⇒ separation, since mixing is not included, the structure will be such that, for example, node N1 showing copper oxide is heated. In this case, in the transformation graph G190, the dummy node N8 is not inserted, the mixing node N9 is not generated, and node N1 showing copper oxide is directly connected to the heating node N10.
[0131] Also, if the input graph G140 has a structure indicating mixing ⇒ heating, because separation is not included, for example, edges E(4,5), E(4,6), and E(4,7) and nodes N5 to N7 are missing. In this case, in the transformation graph G190, the heating node N10 is connected to a newly added node indicating the heated mixture, which is the product of heating.
[0132] Also, if the input graph G140 has a structure showing mixing ⇒ separation, since heating is not included, for example, edge E(3,4) and node N4 are missing. In this case, in the transformation graph G190, the heating node N10 is not added, and the mixing node N9 is connected to the separation node N11. EXAMPLES
[0133] Next, a third embodiment will be described. In the second embodiment, an example of converting an edge E(x,y) of the input graph 110 into a node N# of the transformed graph 700 is described, whereas in the third embodiment, an example of converting a node N# of the input graph 110 into an edge E(x,y) of the transformed graph 700 is described. The same components as those in the first and second embodiments are denoted by the same reference numerals, and the description thereof will be omitted.
[0134] In the third embodiment, a case where a crosslinked polymer structure in a scientific domain is treated as the input graph 110 will be described as an example.
[0135] <Input Graph 110> FIG. 24 is an explanatory diagram showing an example of the input graph 110 according to the third embodiment. The input graph G240 is a graph showing the structure of a cross-linked polymer. The nodes N1 to N19 show atoms constituting a molecule, molecules consisting of one or more atoms, ionized atoms, or electrons. Physicochemical interactions acting between the nodes N#, such as covalent bonds, ionic bonds, and hydrogen bonds, are expressed as edges E(x, y). In general, these interactions are symmetrical, so the input graph G240 takes the form of an undirected graph, but is not limited thereto.
[0136] <Note feature table> 25 is a diagram illustrating an example of a node feature table according to Example 3. The node feature table 2500 has a graph ID 301, a node ID 302, an element type 303, a node descriptor 304, and a second node descriptor 305 as fields.
[0137] The graph ID 301 is identification information that uniquely identifies a graph. The value of the graph ID 301 of the graph 110 is "G01". The node ID 302 is identification information that uniquely identifies a node. The node feature table 2500 indicates the node features of the nodes N1 to N19 that form the input graph G240.
[0138] <Edge feature table> 26 is an explanatory diagram showing an example of an edge feature table. The edge feature table 2600 is a table that stores information about edges that configure the input graph 110. The edge feature table 2600 has, as fields, a graph ID 301, an edge ID 402, an interatomic bond number 403, and an edge descriptor 404. The edge feature table 2600 shows edge features of edges E(x, y) that configure the input graph G240.
[0139] <adjacency matrix> 27 is a diagram illustrating an example of an adjacency matrix according to the third embodiment. The adjacency matrix 2700 is a table that specifies which two nodes Nx, Ny an edge E(x, y) connects. Specifically, for example, the adjacency matrix 2700 includes a graph ID 301, an edge ID 402, a start node ID 503, and an end node ID 504.
[0140] The polymer represented by the input graph G240 is configured, for example, by one molecular structure 2401 from node N1 to node N6, and another molecular structure 2402 from node N7 to node N17. In this case, edge E(3,10) between node N3 and node N10 and edge E(5,14) between node N5 and node N14 indicate a cross-link occurring between the two molecular structures 2401 and 2402. Since a cross-link is different from a covalent bond, a different index is assigned to each of the interatomic bond numbers 403 in the edge feature table 2600. In other words, different indexes are assigned to edge E(3,10 and edge E(5,14) and the other edges.
[0141] In the study of polymer compounds, there may be cases where it is desired to analyze macroscopic properties such as three-dimensional structures. In such cases, it may be desired to take into account intermolecular interactions including cross-linking. For example, the input graph G240 is converted by a process similar to the graph conversion process shown in FIG. 18 of the second embodiment.
[0142] <Example of generating transformation graph 700> Fig. 28 is an explanatory diagram showing an example of generation of a transformed graph 700 in the graph conversion process (step S1802) according to the third embodiment. In Fig. 28, an input graph G340 is converted into a transformed graph G280. As a result, a node feature table 2500, an edge feature table 2600, and an adjacency matrix 2700 of the input graph G240 are converted as follows.
[0143] <Post-conversion node feature table> 29 is a diagram illustrating an example of a converted node feature table according to Example 3. The converted node feature table 2900 has, as fields, a transformed graph ID 801, a node ID 302, an element type 303, a converted node descriptor 804, and a converted second node descriptor 805.
[0144] <Converted edge feature table> 30 is a diagram illustrating an example of a converted edge feature table according to Example 3. A converted edge feature table 3000 has a transformed graph ID 801, an edge ID 402, an interatomic bond count 403, and an edge descriptor 404 as fields.
[0145] <Post-transformation adjacency matrix> 31 is a diagram illustrating an example of a transformed adjacency matrix according to Example 3. The transformed adjacency matrix 3100 has a transformed graph ID 801, an edge ID 402, a start node ID 503, and an end node ID 504.
[0146] <Graph support information> 32 is a diagram illustrating an example of graph correspondence information according to Example 3. The graph correspondence information 3200 is a table that stores combinations of nodes or edges that have been replaced, inserted, or deleted by the graph conversion process illustrated in FIG.
[0147] The graph correspondence information 3200 has, as fields, a graph ID 301, a transformed graph ID 801, an edge ID 402, and an association 3204. The edge ID 402 is identification information that uniquely identifies an edge E(x, y) that is common to the input graph 110 identified by the graph ID 301 and the transformed graph 700 identified by the transformed graph ID 801.
[0148] The association 3204 is information indicating the association between the input graph 110 identified by the graph ID 301 and the transformed graph 700 identified by the transformed graph ID 801. Specifically, the association 1004 stores data related to the node N# of the transformed graph 700, such as the node N# used in the pooling process (step S602).
[0149] For example, entry 3211 has edge ID 402 E(2,10) and relationship 3204 [N3,E(2,3),E(3,10)], which means that node N3 and edges E(2,3), E(3,10) in the input graph G240 have been replaced with E(2,10) in the transformed graph G280.
[0150] Also, entry 3212 has edge ID 402 E(5,13) and relationship 3204 [N14,E(5,14),E(13,14)], which means that node N14 and edges E(5,14), E(13,14) of input graph G240 have been replaced with E(5,13) of transformed graph G280. The conversion conditions in the graph conversion process (step S1802) for performing such a replacement will be described below.
[0151] The conversion condition in the graph conversion process (step S1802) is, for example, "if a node N# whose element type 303 is "O" (oxygen) is connected to an edge E(x, y) whose interatomic bond number 403 is "5" (crosslink), then the node N# and all edges E(x, y) connected to the node N# are collectively replaced with a new edge E(x, y), and the interatomic bond number 403 of the replaced edge E(x, y) is given "11", indicating a special edge."
[0152] In this case, the nodes N# in the input graph 110 that satisfy the conversion condition are the nodes N3 and N14. The analysis device 200 converts the node N3 and the two edges E(2,3), E(3,10) connecting to the node N3 into an edge E(2,10). As a result, [N3, E(2,3), E(3,10)] is stored in the association 3204 of the entry 3211.
[0153] Similarly, the analysis apparatus 200 converts the node N14 and the two edges E(5,14) and E(13,14) connected to the node N14 into an edge E(5,13). As a result, [N14, E(5,14), E(13,14)] is stored in the association 3204 of the entry 3212.
[0154] The analysis objective realized by the operation in the third embodiment is an analysis that takes into account a crosslinked structure in predicting the physical properties of a polymer compound. For example, the selected analysis model 100 may be a graph neural network that performs a regression analysis on experimental data of a physical property of interest associated with each input graph 110. Therefore, in the third embodiment, the analysis device 200 can learn the analysis model 100 or obtain an analytical result from the analysis model 100 by performing an analysis process by the deformed graph 700 shown in FIG. 12 using the deformed graph 700 (G280) converted in the graph conversion process (step S1802).
[0155] Furthermore, the analysis device 200 may realize the analysis desired by the user by further inputting the learning result obtained in step S1212 to an external system as primary information. For example, the analysis device 200 may be a graph variational autoencoder having an encoder that converts the input graph 110 into multivariates and a decoder that performs reverse conversion from the multivariates to the input graph. Here, the written multivariates and experimental data of the yield given as the teacher labels may be input to a machine learning model or a neural network model derived from another system to execute regression or classification desired by the user.
[0156] Moreover, the transformed graph 700 of the second or third embodiment described above may be applied to the input graph 110 of the first embodiment. This makes it possible to execute the pooling process (step S602) on the transformed graph 700 of the second or third embodiment.
[0157] The analysis device 200 according to the first to third embodiments can also be applied to super-resolution tasks in the image analysis domain. Image data is composed of pixels arranged in a lattice pattern, which can be understood as a graph with pixels as nodes. Therefore, the analysis device 200 according to the first to third embodiments can perform graph data analysis using the analysis model 100 that targets one or more of the image data in the form of the input graph 110 and the transformed graph 700 in which the number of pixels is increased or decreased from the image data by a user-specified method, or both.
[0158] Moreover, the analysis device 200 according to the above-mentioned first to third embodiments can also be applied to a syntax analysis task in the language processing domain. Language data can be expressed as a sequential symbol string, which can be expressed in a graph format by nodes each consisting of a word or phrase and their connection relationships. Furthermore, since the meaning of a word or phrase is identified by a plurality of combinations, the analysis device 200 according to the first to third embodiments can mechanically interpret a sentence by a transformation graph 700 that aggregates a plurality of nodes N#. Therefore, the analysis device 200 according to the first to third embodiments can realize a more accurate language interpretation from the input graph 110 and the transformation graph 700.
[0159] As described above, according to the first to third embodiments, the transformed graph 700 can be generated without significant loss of information about the input graph 110, which is important for high-precision analysis. Therefore, the analysis device 200 or another computer having the analytical model 100 can perform high-precision graph data analysis by applying the transformed graph 700. In particular, by using the input graph 110 before graph transformation and pooling, it is possible to solve the over-smoothing problem in which the feature values are averaged as the analytical model 100 has more layers, and the loss of information due to pooling.
[0160] The analysis device 200 according to the above-mentioned first to third embodiments can also be configured as follows (1) to (13).
[0161] (1) An analytical device having a processor that executes a program and a storage device that stores the program, The processor, An acquisition process for acquiring a first graph (G140) consisting of a group of nodes and one or more edges connecting two nodes in the group of nodes; a conversion process for generating a second graph (G190) by performing at least one of conversion from the edges to the nodes and conversion from the nodes to the edges in the first graph (G140) acquired by the acquisition process according to a predetermined conversion condition; An analytical device characterized by performing the above.
[0162] (2) The analytical device according to (1), In the conversion process, the processor generates the second graph (G190) by converting, in accordance with a first conversion condition, a portion of the first graph (G140) connected from a plurality of first nodes (N1, N2) to a second node (N3) indicating a result of the first operation (mixing) via first edges (E(1, 3), E(2, 3)) each indicating a first operation (mixing) into a third node (N8) connected to the plurality of first nodes (N1, N2) and aggregating the plurality of first nodes (N1, N2), and a fourth node (N9) connected to the third node (N8) and indicating the first operation (mixing). 1. An analytical device comprising:
[0163] (3) The analytical device according to (2), the first operation indicates a mixture of materials identified at the plurality of first nodes; 1. An analytical device comprising:
[0164] (4) The analytical device according to (2), In the conversion process, the processor converts, in accordance with a second conversion condition, a portion of the first graph (G140) connected from the second node (N3) to a fifth node (N4) indicating a result of the second operation (heating) via a second edge (E(3,4)) indicating the second operation (heating) into a sixth node (N10) connected to the fourth node (N9) and indicating the second operation (heating), thereby generating the second graph (G190). 1. An analytical device comprising:
[0165] (5) The analytical device according to (4), The second operation (heating) indicates heating of a substance identified in the second node (N3); 1. An analytical device comprising:
[0166] (6) The analytical device according to (4), In the conversion process, the processor generates the second graph (G190) by converting, in accordance with a third conversion condition, a portion of the first graph (G140) connected from the fifth node (N4) to a plurality of seventh nodes (N5 to N7) each indicating a result of the third operation (separation) via a plurality of third edges (E(4,5), E(4,6), E(4,7)) indicating a third operation (separation) into an eighth node (N11) connected to the sixth node (N10) and the plurality of seventh nodes (N5 to N7) and indicating the third operation (separation). 1. An analytical device comprising:
[0167] (7) The analytical device according to (6), The third operation (separation) indicates separation into substances identified by the seventh nodes (N5 to N7). 1. An analytical device comprising:
[0168] (8) The analytical device according to (1), In the conversion process, the processor generates a second graph (G280) by converting, in accordance with a fourth conversion condition, a portion of the first graph (G240) acquired by the acquisition process, which portion is made up of a fourth edge (E(2,3)) connecting the ninth node (N2) and the tenth node (N3), the tenth node (N3), and a fifth edge (E(3,10)) connecting the tenth node (N3) and the eleventh node (N10), into a sixth edge (E(2,10)) connecting the ninth node (N2) and the eleventh node (N10). 1. An analytical device comprising:
[0169] (9) The analytical device according to (8), The portion indicates a boundary between a first structure (2401) including a tenth node (N3) in the first graph and a second structure (2402) including the eleventh node (N10) connected by the fourth edge (E(2,3)). 1. An analytical device comprising:
[0170] (10) The analytical device according to (1), The processor, a learning process for learning an analytical model (100) that can learn based on correct answer data corresponding to training data and an output result obtained as a result of inputting the training data, by executing a convolution operation using the first graph and the second graph as the training data, thereby learning the analytical model (100); An analytical device characterized by performing the above.
[0171] (11) The analytical device according to (10), The processor, an inference process for inputting the first graph and the second graph into the analysis model (100) and executing a convolution operation to output an inference result from the analysis model (100); An analytical device characterized by performing the above.
[0172] (12) An analytical device having a processor that executes a program and a storage device that stores the program, The processor, An acquisition process for acquiring a first graph (G01) that is configured from a node group and one or more edges connecting two nodes in the node group; a conversion process of generating a second graph (G02) by pooling a plurality of nodes (N1, N2) of the first graph (G01) acquired by the acquisition process in accordance with a fifth conversion condition; a learning process for learning an analytical model (100) that can learn based on correct answer data corresponding to training data and an output result obtained as a result of inputting the training data, by executing a convolution operation using the first graph and the second graph as the training data, thereby learning the analytical model (100); An analytical device characterized by performing the above.
[0173] (13) The analytical device according to (12), The processor, an inference process for inputting the first graph and the second graph into the analysis model (100) and executing a convolution operation to output an inference result from the analysis model (100); An analytical device characterized by performing the above.
[0174] The present invention is not limited to the above-described embodiments, and includes various modified examples and equivalent configurations within the spirit of the appended claims. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those having all of the configurations described. Also, a part of the configuration of one embodiment may be replaced with a configuration of another embodiment. Also, a configuration of another embodiment may be added to a configuration of one embodiment. Also, a part of the configuration of each embodiment may be added, deleted, or replaced with another configuration.
[0175] Furthermore, each of the aforementioned configurations, functions, processing units, processing means, etc. may be realized in hardware, for example by designing some or all of them as an integrated circuit, or may be realized in software by a processor interpreting and executing a program that realizes each function.
[0176] Information such as programs, tables, files, etc. that realize each function can be stored in a storage device such as a memory, a hard disk, or an SSD (Solid State Drive), or in a recording medium such as an IC (Integrated Circuit) card, an SD card, or a DVD (Digital Versatile Disc).
[0177] In addition, the control lines and information lines shown are those considered necessary for the explanation, and do not necessarily show all the control lines and information lines necessary for implementation. In reality, it can be considered that almost all components are connected to each other. [Explanation of symbols]
[0178] 100 Analysis Models 110 Input Graph 200 Analyzer 201 Processor 202 Storage Devices 240 Input Graph 300 node feature table 400 Edge feature table 403 interatomic bonds 404 Edge Descriptor 500 Adjacency Matrix 700 Deformation Graph 800 Transformed node feature table 900 Post-conversion edge feature table 1000 Transformed Adjacency Matrix 1100 Graph-compatible information 1500 node feature table 1600 Edge feature table 1700 Adjacency Matrix 2000 Transformed node feature table 2100 Post-conversion edge feature table 2200 Transformed Adjacency Matrix 2300 Graph-compatible information 2500 node feature table 2600 Edge feature table 2700 Adjacency Matrix 2900 Transformed node feature table 3000 Post-conversion edge feature table 3100 Transformed Adjacency Matrix 3200 Graph Support Information N# Node E(x,y) edge
Claims
1. An analysis apparatus having a processor that executes a program and a storage device that stores the program, The processor, an acquisition process for acquiring a first graph including a group of nodes and one or more edges connecting two nodes in the group of nodes; a conversion process for generating a second graph by performing at least one of conversion from the edges to the nodes and conversion from the nodes to the edges in the first graph acquired by the acquisition process in accordance with a predetermined conversion condition; An analytical device characterized by performing the above.
2. The analysis device according to claim 1 , In the conversion process, the processor generates the second graph by converting, in accordance with a first conversion condition, a portion of the first graph that is connected from a plurality of first nodes to a second node that indicates a result of the first operation via first edges that respectively indicate a first operation, into a third node that is connected to the plurality of first nodes and aggregates the plurality of first nodes, and a fourth node that is connected to the third node and indicates the first operation.
1. An analytical device comprising:
3. The analysis device according to claim 2, the first operation indicates a mixture of materials identified at the plurality of first nodes; 1. An analytical device comprising:
4. The analysis device according to claim 2, In the conversion process, the processor converts, in accordance with a second conversion condition, a portion of the first graph that is connected from the second node to a fifth node that indicates a result of the second operation via a second edge that indicates a second operation, into a sixth node that is connected to the fourth node and indicates the second operation, thereby generating the second graph.
1. An analytical device comprising:
5. The analysis device according to claim 4, the second operation indicating heating of a substance identified at the second node; 1. An analytical device comprising:
6. The analysis device according to claim 4, In the conversion process, the processor converts, in accordance with a third conversion condition, a portion of the first graph that is connected from the fifth node to a plurality of seventh nodes that respectively indicate results of the third operation via a plurality of third edges that indicate a third operation, into an eighth node that is connected to the sixth node and the plurality of seventh nodes and indicates the third operation, thereby generating the second graph.
1. An analytical device comprising:
7. The analysis device according to claim 6, the third operation indicates separation into materials identified by the plurality of seventh nodes; 1. An analytical device comprising:
8. The analysis device according to claim 1 , In the conversion process, the processor converts, in accordance with a fourth conversion condition, a portion of the first graph acquired by the acquisition process, which portion is made up of a fourth edge connecting a ninth node and a tenth node, and a fifth edge connecting the tenth node and an eleventh node, into a sixth edge connecting the ninth node and the eleventh node, thereby generating a second graph.
1. An analytical device comprising:
9. The analysis device according to claim 8, the portion is a portion indicating a boundary where a first structure including a tenth node in the first graph and a second structure including the eleventh node are connected by the fourth edge; 1. An analytical device comprising:
10. The analysis device according to claim 1 , The processor, a learning process for learning an analytical model that can be trained based on correct answer data corresponding to training data and an output result obtained as a result of inputting the training data, by executing a convolution operation using the first graph and the second graph as the training data, thereby learning the analytical model; An analytical device characterized by performing the above.
11. The analysis device according to claim 10, The processor, an inference process of inputting the first graph and the second graph into the analysis model and performing a convolution operation to output an inference result from the analysis model; An analytical device characterized by performing the above.
12. An analysis apparatus having a processor that executes a program and a storage device that stores the program, The processor, an acquisition process for acquiring a first graph including a group of nodes and one or more edges connecting two nodes in the group of nodes; a conversion process of generating a second graph by pooling a plurality of nodes of the first graph acquired by the acquisition process in accordance with a fifth conversion condition; a learning process for learning an analytical model that can be trained based on correct answer data corresponding to training data and an output result obtained as a result of inputting the training data, by executing a convolution operation using the first graph and the second graph as the training data, thereby learning the analytical model; An analytical device characterized by performing the above.
13. The analysis device according to claim 12, The processor, an inference process of inputting the first graph and the second graph into the analysis model and performing a convolution operation to output an inference result from the analysis model; An analytical device characterized by performing the above.
14. An analysis method performed by an analysis device having a processor that executes a program and a storage device that stores the program, comprising: The processor, an acquisition process for acquiring a first graph including a group of nodes and one or more edges connecting two nodes in the group of nodes; a conversion process for generating a second graph by performing at least one of conversion from the edges to the nodes and conversion from the nodes to the edges in the first graph acquired by the acquisition process in accordance with a predetermined conversion condition; An analysis method comprising the steps of:
15. The processor: an acquisition process for acquiring a first graph including a group of nodes and one or more edges connecting two nodes in the group of nodes; a conversion process for generating a second graph by performing at least one of conversion from the edges to the nodes and conversion from the nodes to the edges in the first graph acquired by the acquisition process in accordance with a predetermined conversion condition; An analysis program characterized by executing the above.
Citation Information
Patent Citations
Explaining graph-based predictions using network motif analysis
JP2022117452A
Cited By
control device
CN122778388A