Analysis device, analysis method, and analysis program
By converting edges to nodes or nodes to edges in the graph analysis device, the method addresses the oversmoothing problem in GCNNs, enhancing the accuracy of graph data analysis and improving prediction performance.
Patent Information
- Application Number
- PCT/JP2024/013059
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-15
- Filing Date
- 2024-03-29
- Publication Date
- 2025-03-20
AI Technical Summary
Existing graph analysis models, particularly Graph Convolutional Neural Networks (GCNNs), face the oversmoothing problem when increasing the number of layers to improve prediction accuracy, leading to deteriorated prediction performance due to averaging of node features.
The proposed solution involves an analysis device and method that generates a second graph by converting the edge to node or node to edge in the original graph, using a predetermined conversion condition, to improve the accuracy of graph data analysis and avoid oversmoothing.
This approach enhances the accuracy of graph data analysis by transforming the graph structure to better suit analysis models, thereby mitigating the oversmoothing issue and improving prediction performance.
Smart Images

Figure JP2024013059_20032025_PF_FP_ABST
Abstract
Description
Analytical device, analytical method, and analytical program Incorporation by Reference
[0001] This application claims priority from Japanese Patent Application No. 2023-149884, filed on September 15, 2023, the contents of which are incorporated herein by reference.
[0002] The present invention relates to an analysis device, an analysis method, and an analysis program for analyzing data.
[0003] Graphs are used as a data format that primarily 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 structured forms of data in various application domains, including, but not limited to, the scientific domain (molecular structures, protein interactions, gene sequences, organic compound synthesis pathways), social media, and e-commerce domains (friendship relationships, value chains).
[0004] A graph is composed of nodes (vertices) and edges (lines). Each node and edge has attribute information. Attribute information is often, but not limited to, composed of one or more texts or numerical values, or a combination thereof. For example, when attribute information about nodes and attribute information about edges are in the form of multivariate data, they are called node features and edge features, respectively.
[0005] A graph analysis model is a graph-based machine learning model or graph-based neural network model used for data analysis based on graph data for a predetermined analytical purpose. 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 relationships between the nodes and edges, performs learning according to a task such as classification or regression, and outputs a predicted value related to the classification or regression task for a predetermined input. A user makes decisions based on the predicted value calculated in this way.
[0006] The graph convolution process in a 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.
[0007] Generally, k graph convolution layers can be executed to convolve the node features of up to k neighboring nodes when tracing k nodes connected to a given node in order. The convolution process can be executed for all nodes. In this case, if 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 convolved may end up mutually encompassing each other. As a result, the multiple node features after the convolution process may asymptotically approach an average value.
[0008] For example, if all node features are composed of very similar sets of values, the prediction accuracy of the 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.
[0009] 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.
[0010] 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 for 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 subgraph.
[0011] Japanese Patent Publication No. 2022-117452
[0012] Kipf, Thomas N., and Max Welling. "Semi-supervised classification with graph convolutional networks." arXiv preprint arXiv:1609.02907 (2016). Knyazev, Boris, Graham W. Taylor, and Mohamed Amer. "Understanding attention and generalization in graph neural networks." Advances in neural information processing systems 32 (2019).
[0013] The data structure of a graph input to a graph analysis system is not necessarily suitable for a graph analysis model. Pooling can be interpreted as processing the input graph to create a graph with a reduced total number of nodes or edges, 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 input graph can be converted into a graph with a data structure suitable for the analytical purpose.
[0014] 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.
[0015] The present invention aims to improve the accuracy of graph data analysis.
[0016] An analysis device according to one aspect of the invention disclosed in the present application is an analysis device having a processor that executes a program and a storage device that stores the program, wherein the processor executes an acquisition process that acquires 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 that generates 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.
[0017] According to the exemplary embodiments 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 examples.
[0018] FIG. 1 is an explanatory diagram illustrating an example of graph analysis according to the first embodiment. FIG. 2 is a block diagram illustrating an example of a hardware configuration of an analysis apparatus according to the first embodiment. FIG. 3 is an explanatory diagram illustrating an example of a node feature table according to the first embodiment. FIG. 4 is an explanatory diagram illustrating an example of an edge feature table according to the first embodiment. FIG. 5 is an explanatory diagram illustrating an example of an adjacency matrix according to the first embodiment. FIG. 6 is a flowchart illustrating a detailed example of a procedure for graph conversion processing by the analysis apparatus according to the first embodiment. FIG. 7 is an explanatory diagram illustrating an example of generation of a transformed graph in the pooling processing (step S602) according to the first embodiment. FIG. 8 is an explanatory diagram illustrating an example of a transformed node feature table according to the first embodiment. FIG. 9 is an explanatory diagram illustrating an example of a transformed edge feature table according to the first embodiment. FIG. 10 is an explanatory diagram illustrating an example of a transformed adjacency matrix according to the first embodiment. FIG. 11 is an explanatory diagram illustrating an example of graph correspondence information according to the first embodiment. FIG. 12 is a flowchart illustrating an example of a procedure for analysis processing using a transformed graph according to the first embodiment. FIG. 13 is an explanatory diagram illustrating an example of a display screen according to the first embodiment. FIG. 14 is an explanatory diagram illustrating an example of an input graph according to the second embodiment. FIG. 15 is an explanatory diagram illustrating an example of a node feature table according to the second embodiment. FIG. 16 is an explanatory diagram illustrating an example of an edge feature table according to the second embodiment. FIG. 17 is an explanatory diagram illustrating an example of an adjacency matrix according to the second embodiment. FIG. 18 is a flowchart illustrating an example of a graph conversion process procedure according to the second embodiment. FIG. 19 is an explanatory diagram illustrating an example of generation of a transformed graph 700 in the graph conversion process (step S1802) according to the second embodiment. FIG. 20 is an explanatory diagram illustrating an example of a transformed node feature table according to the second embodiment. FIG. 21 is an explanatory diagram illustrating an example of a transformed edge feature table according to the second embodiment. FIG. 22 is an explanatory diagram illustrating an example of an adjacency matrix according to the second embodiment. FIG. 23 is an explanatory diagram illustrating an example of graph correspondence information according to the second embodiment. FIG. 24 is an explanatory diagram illustrating an example of an input graph according to the third embodiment. FIG. 25 is an explanatory diagram illustrating an example of a node feature table according to the third embodiment. FIG. 26 is an explanatory diagram illustrating an example of an edge feature table. FIG. 27 is an explanatory diagram illustrating an example of an adjacency matrix according to the third embodiment.Fig. 28 is a diagram illustrating an example of generation of a transformed graph in the graph transformation process (step S1802) according to the third embodiment. Fig. 29 is a diagram illustrating an example of a transformed node feature table according to the third embodiment. Fig. 30 is a diagram illustrating an example of a transformed edge feature table according to the third embodiment. Fig. 31 is a diagram illustrating an example of a transformed adjacency matrix according to the third embodiment. Fig. 32 is a diagram illustrating an example of graph correspondence information according to the third embodiment.
[0019] 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 that specific number, and may be more or less than the specific number, unless otherwise specified or when it is clearly limited in principle to a specific number, etc.
[0020] This system may be a physical computer system (one or more physical computers) or a system built on a group of computing resources (plural computing resources) such as a cloud platform. The computer system or 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.
[0021] When a function is realized by a program being executed by a processor, the specified processing is performed using a storage device and / or an interface device, etc., as appropriate, and therefore the function may be considered to be at least a part of the processor. Processing described with a function as the subject may also be processing performed by a processor or a system having that 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 (e.g., 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.
[0022] 1 is a diagram illustrating an example of graph analysis according to Example 1. An analysis model 100 includes a pooling layer 101, a first convolution layer 102, a second convolution layer 103, and an output layer 105.
[0023] The pooling layer 101 pools the input graph 110. The input graph 110 is composed of nodes and edges. Nodes are represented by circles. Edges are represented by line segments connecting nodes. Numbers in 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 bond relationships between atoms are expressed by edges. Generally, 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.
[0024] The first convolution layer 102 performs a convolution operation on the pooling result 111 from the pooling layer 101. Alternatively, the first convolution layer 102 performs a convolution operation on the graph 110.
[0025] The second convolution layer 103 performs a convolution operation on the first convolution result 112 by the first convolution layer 102.
[0026] 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.
[0027] <Example of Hardware Configuration of Analysis Apparatus> Fig. 2 is a block diagram showing an example of the hardware configuration of the analysis apparatus according to the first embodiment. The analysis apparatus 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 via a bus 206. The processor 201 controls the analysis apparatus 200. The storage device 202 serves as a working area for the processor 201. The storage device 202 is a non-transitory 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. Examples of the output device 204 include a display, a printer, and a speaker. The communication IF 205 connects to a network and transmits and receives data.
[0028] 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 the graph 110, the first convolution result 112, the second convolution result 113, the predicted physical property value 120, and the learning parameters of the analytical model 100) is stored in a storage device 202. Fig. 2 also applies to Examples 2 and 3 described below.
[0029] 3 is a diagram illustrating an example of a node feature table according to Example 1. The node feature table 300 is a table that stores information about the nodes that make up the graph 110. The node feature table has fields including a graph ID 301, a node ID 302, an element type 303, and a node descriptor 304.
[0030] 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. In this example, the node ID 302 is "N#", which is "N" with the number # inside a circle indicating a node.
[0031] The element species 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 each a descriptor, i.e., a feature, of the node N# identified by the node ID 302. A 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 field of chemistry, 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 information related to the node, regardless of its type.
[0032] 4 is a diagram illustrating an example of an edge feature table according to Example 1. The edge feature table 400 is a table that stores information about the 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.
[0033] 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#).
[0034] The interatomic bond number 403 is a value indicating the number of multiple bonds between the atoms. An edge E(x, y) indicates the number of multiple bonds between the nodes Nx and Ny.
[0035] The edge descriptor 404 is a descriptor related to the 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).
[0036] <Adjacency Matrix> Fig. 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 defines which two nodes Nx, Ny an edge E(x, y) connects. Specifically, for example, the adjacency matrix 500 includes 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).
[0037] In addition, if graph 110 is an undirected graph, it can be interpreted as having a bidirectional connection relationship from node Nx to node Ny and from node Ny to node Nx, and these two connection relationships can be stored using two rows for the same edge E(x, y).
[0038] <Graph Conversion Processing> FIG. 6 is a flowchart illustrating a detailed example of a procedure for graph conversion processing performed by the analysis apparatus 200 according to the first embodiment.
[0039] (Step S600) The analysis device 200 reads parameters, which are data that are set in advance.
[0040] (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.
[0041] (Step S602) Next, the analysis device 200 performs pooling processing on the input graph G01 in the pooling layer 101. Specifically, for example, the analysis device 200 performs pooling processing using the distance (number of hops) from the focus node N# and a weight according to the distance. The rules for such pooling processing (step S602) are managed by a rule ID included in the parameters as a conversion condition for pooling.
[0042] The input graph G01 is transformed by the pooling process (step S602). The transformed graph 700 transformed from the input graph G01 is called the transformed graph G02. The pooling process (step S602) may, for example, 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) from the input graph G01 in conjunction with the deletion of the node N#. Furthermore, a new edge E(x, y) may be added in conjunction with the deletion of the node N#.
[0043] 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.
[0044] (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, if the number of nodes or edges constituting the transformed graph G02 generated as a result of the pooling process (step S602) is equal to or less than a predetermined number, the analysis device 200 determines that the pooling process (step S602) should be ended. If it is determined that the pooling process (step S602) should not be ended (step S603: No), the process returns to step S602. If it is determined that the pooling process (step S602) should be ended (step S603: Yes), the process proceeds to step S604.
[0045] (Step S604) Next, the analysis apparatus 200 writes out the combinations of nodes or edges replaced, inserted, or deleted by the pooling process (step S602) to graph correspondence information, which will be described later with reference to FIG.
[0046] (Step S605) Next, the analysis apparatus 200 stores the graph after the pooling process (step S602) in the storage device 202 as a transformed graph.
[0047] 7 is an explanatory diagram showing an example of generation of a transformed graph in the pooling process (step S602) according to the embodiment 1. Assume that the input graph 110 is graph G01, and is transformed by the pooling process (step S602) into a transformed graph G02, which is an example of a transformed graph 700. For example, node N3 in the transformed graph G02 is calculated by convolving the node descriptor 304 of node N3 in the input graph G01 with the node descriptors 304 of nodes N1, N2, N4, and N8 in the graph G01.
[0048] As a result, the node feature table 300, edge feature table 400, and adjacency matrix 500 of the graph G01 are converted as follows.
[0049] 8 is an explanatory diagram illustrating an example of a transformed node feature table according to Example 1. The transformed node feature table 800 is a table that stores information about the nodes that make up the transformed graph 700. The transformed node feature table 800 has, as fields, a transformed graph ID 801, a node ID 302, and a transformed node descriptor 804.
[0050] The modified graph ID 801 is identification information that uniquely identifies the modified graph 700. In this example, the modified graph ID 801 is "G02."
[0051] Each converted node descriptor 804 is a descriptor, i.e., a feature amount, of the node N# identified by the node ID 302 after the pooling process (step S602).
[0052] 9 is a diagram illustrating an example of a converted edge feature table according to Example 1. The converted edge feature table 900 is a table that stores information about the edges that make up the deformed graph 700. The converted edge feature table 900 has fields including a deformed graph ID 801, an edge ID 402, an interatomic bond count 403, and an edge descriptor 404.
[0053] 10 is a 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 includes a transformed graph ID 801, an edge ID 402, a start node ID 503, and an end node ID 504.
[0054] 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).
[0055] 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.
[0056] 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, as data related to the node N# of the transformed graph 700, for example, the node N# used in the pooling process (step S602).
[0057] 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).
[0058] <Analysis Processing Using Deformed Graph 700> Fig. 12 is a flowchart illustrating an example of the procedure of analysis processing using the deformed graph 700 according to Example 1. 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 deformed graph 700 output from the pooling layer 101, for example.
[0059] (Step S1200) The analysis device 200 reads parameters. The parameters are preset data. Here, the parameters include a performance index value representing the performance of each molecule for each graph.
[0060] (Step S1201) The analysis apparatus 200 reads from the storage device 202 the modified graph 700 corresponding to the modified graph ID 801 included in the parameters of step S1200.
[0061] (Step S1202) The analysis apparatus 200 reads from the storage device 202 the analysis model 100 corresponding to the model ID included in the parameters of step S1200.
[0062] (Step S1203) Next, the analysis apparatus 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 apparatus 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 apparatus 200 proceeds to step S1206.
[0063] (Step S1204) The analysis apparatus 200 reads the graph correspondence information 1100 corresponding to the graph ID 301 and the modified graph ID 801 from the storage device 202.
[0064] (Step S1205 ) The analysis apparatus 200 reads the input graph 110 corresponding to the graph ID 301 from the storage device 202 .
[0065] (Step S1206) The analysis apparatus 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, the transformed graph 700 read in step S1201, the graph correspondence information 1100 read in step S1204, and the input graph 110 read in step S1205 become the learning target graphs.
[0066] If it is inference (step S1206: inference), the process proceeds to step S1213. In this case, the transformed graph 700 read in step S1201 becomes the inference target graph.
[0067] (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.
[0068] (Step S1208) The analysis device 200 inputs the learning target graph (the transformed graph 700, the graph correspondence information 1100, and the input graph 110) to the analysis model 100 as training data.
[0069] (Step S1209) The analysis device 200 uses the training graph to perform a training process on the analysis model 100. Specifically, for example, the analysis device 200 performs the training process using the first convolution layer 102, the second convolution layer 103, and the output layer 105.
[0070] (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); in this case, the learning parameters are updated so that the difference becomes zero.
[0071] (Step S1211) The analysis device 200 determines whether to terminate the learning operation of the analysis model 100 based on the termination condition specified by the parameters. For example, if the value of the loss function becomes equal to or less than a threshold, the analysis device 200 determines to terminate the learning operation. Also, if the number of iterations of the learning operation reaches a threshold, the analysis device 200 determines to terminate 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 terminated (step S1211: Yes), the process proceeds to step S1212.
[0072] (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 that represent learning performance, such as the final value of the loss function, and predicted values related to the test data as learning results in the storage device 202. This completes the series of learning processes.
[0073] (Step S1213) Since the operation mode of the analysis device 200 is inference, the analysis device 200 instantiates the analysis model 100 by reading the learning parameters saved in step S1212.
[0074] (Step S1214) The analysis device 200 inputs the inference target graph (transformed graph 700) into the analysis model 100.
[0075] (Step S1215) The analysis device 200 uses the training graph to perform inference processing on the analysis model 100. Specifically, for example, the analysis device 200 performs inference processing using the first convolution layer 102, the second convolution layer 103, and the output layer 105.
[0076] (Step S1216) The analysis apparatus 200 stores the inference results from the inference process (step S1215) in the storage device 202. This completes the series of inference processes.
[0077] <Display Screen> FIG. 13 is an explanatory diagram illustrating 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 configured with one or more entries, each 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 using a radio button in the selection column of the selection information 1311. In FIG. 13, a black circle indicates that the entry has been selected.
[0078] The compare button 1312 is a user interface for comparing multiple entries selected by radio buttons in the selection column of the selection information 1311. The transformation graph 700 specified by the selected multiple entries is displayed in the transformation graph display area 1330.
[0079] 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 the input graph display area 1320.
[0080] 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 also displays the node feature table 300 and the edge feature table 400.
[0081] The deformation graph display area 1330 is an area that displays the deformation graph 700. In Fig. 13, two entries are selected from the selection information 1311, so that the deformation graph G02 having the deformation graph ID 801 of "G02" is displayed in the first deformation graph display area 1331, and the deformation graph G03 having the deformation graph ID 801 of "G03" is displayed in the second deformation graph display area 1332. The deformation graph display area 1330 displays the deformation graph 700 as well as the node N that was lost due to the pooling process (step S602), distinguished from the remaining nodes.
[0082] For example, the analysis device 200 can perform regression prediction of the physical property values of each molecule in learning in the analysis of graph data 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 values of the molecule corresponding to the input of the analysis model 100.
[0083] Furthermore, when the analytical model 100 after learning is operated in inference mode (step S1206: Yes), the analytical device 200 can obtain predicted physical property values of the new molecular structure 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.
[0084] For example, the training graph is composed of a transformed graph G02, graph correspondence information 1100, and an input graph G01, and the inference graph is composed of the transformed graph G02. The node features of node N6 in the transformed graph G02 are identified by the transformed node descriptor 804 of the entry whose node ID 302 is "N6" in the transformed node feature table 800 for the transformed graph G02.
[0085] 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 the transformed node descriptors 804 of the entries whose node IDs 302 are "N3" and "N10" in the transformed node feature table 800 of the transformed graph G02.
[0086] The analysis device 200 performs a convolution operation on the transformed node descriptors 804 of node N6 and its adjacent nodes N3 and N10. Furthermore, the analysis device 200 may add the transformed node descriptor 804 of node N6 in the input graph G01 and the transformed node descriptors 804 of nodes N5, N7, and N9 that were adjacent to node N6 to the node features to be convolved, by referencing the associations 1104 in the graph correspondence information 1100. This enables learning that takes into account data from the input graph G01 that was lost due to the pooling process (step S602), improving the prediction accuracy during inference.
[0087] Next, a second embodiment will be described. The second embodiment is an example in which a material synthesis process in the scientific domain is treated as a graph. The same components as those in the first embodiment are denoted by the same reference numerals, and a description thereof will be omitted.
[0088] <Input Graph 110> Fig. 14 is an explanatory diagram showing 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 graphically represents the steps of a chemical reaction process. Nodes N1 and N2 represent reactants in the chemical reaction. For example, node N1 is copper oxide, and node N2 is activated carbon.
[0089] 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 represents copper, node N6 represents activated carbon, and node N7 represents carbon dioxide.
[0090] In graph G140, edges E(1,3), E(2,3), E(3,4), E(4,5), E(4,6), and E(4,7) represent chemical operations or reactions. 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.
[0091] Edge E(3,4) represents the operation of heating a mixture of copper oxide (node N1) and activated carbon (node N2).
[0092] Edges E(4,5), E(4,6), and E(4,7) represent operations for separating each substance from the mixture after heating by edge E(3,4).
[0093] Because operations or chemical changes in a 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.
[0094] 15 is a diagram illustrating an example of a node feature table according to Example 2. The 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.
[0095] The category 1503 is an identifier such as "MS1" indicating a pure substance or "MS2" indicating a mixture as a type of substance.
[0096] 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 about the source of the substance, for example, the name of the supplier.
[0097] The mass 1506 is the amount of unchanging material that constitutes the object. The above-described category 1503, material 1504, manufacturer 1505, and mass 1506 are examples of node features, and other node features may also be used.
[0098] 16 is a diagram illustrating an example of an edge feature table according to Example 2. The 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.
[0099] The operation 1603 specifies how to handle the node N#. The container ID 1604 is an identifier that uniquely identifies the container used when the process is executed.
[0100] 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 operation 1603, the container ID 1604, the heating temperature 1605, and the separation method 1606 described above are examples of edge features, and other edge features may also be used.
[0101] 17 is a diagram illustrating an example of an adjacency matrix according to Example 2. Similar to Example 1, an adjacency matrix 1700 has, as fields, a graph ID 301, an edge ID 402, a start node ID 503, and an end node ID 504.
[0102] <Graph Conversion Processing> FIG. 18 is a flowchart illustrating an example of a graph conversion processing procedure according to the second embodiment.
[0103] (Step S1800) The analysis device 200 reads parameters, which are data that are set in advance.
[0104] (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.
[0105] (Step S1802) The analysis apparatus 200 performs graph transformation processing on the input graph G140, that is, performs processing to insert a node N# and convert an edge E(x, y) into a node, to generate a transformed graph 700.
[0106] This graph transformation is performed under conditions based on 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 original edge E(x, y). The analysis device 200 also inserts a new edge E(x, y) so as to maintain the adjacency relationship in the input graph G140.
[0107] (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).
[0108] (Step S1804) The analysis apparatus 200 stores the transformed graph as the transformed graph 700 in the storage device 202.
[0109] <Example of Generation of Transformed Graph 700> Fig. 19 is an explanatory diagram showing an example of generation of the transformed graph 700 in the graph conversion process (step S1802) according to Example 2. In Fig. 19, an input graph G140 is converted into a transformed graph G190.
[0110] 19, the conversion condition for mixing set as a parameter in step S1800 is, for example, "If an edge E(x, y) connects 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# assigned with "MS2" with a new node N# whose category 1503 is a dummy node." As a result, node N3 in the input graph G140 is replaced with dummy node N8 in the transformed graph G190.
[0111] Furthermore, for example, the transformation condition for mixing may include "for edges E(x, y) for which the 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.
[0112] Furthermore, for example, the transformation 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.
[0113] Furthermore, for example, the transformation condition for 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.
[0114] Edge E(3,4) in input graph G140 is replaced with node N10 in transformed graph 190. Edges E(4,5), E(4,6), and E(4,7) in input graph G140 are replaced with separation node N11 in transformed graph 190.
[0115] By this replacement, the edges E(x, y) representing the operation 1603 in the input graph G140 are all represented by nodes N# in the transformed graph G190. Accordingly, the node feature table 1500, the edge feature table 1600, and the adjacency matrix 1700 are also transformed.
[0116] 20 is a diagram illustrating an example of a transformed node feature table according to Example 2. The transformed node feature table 2000 is a table obtained by combining 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 with the edge features (operation 1603, container ID 1604, heating temperature 1605, separation method 1606) in the edge feature table 1600, and assigning a transformed graph ID 801.
[0117] 21 is a diagram illustrating an example of a converted edge feature table according to Example 2. The converted edge feature table 2100 includes 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. 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. Therefore, the operation 1603, the heating temperature 1605, and the separation method 1606 in the transformation graph G190 all become "None."
[0118] 22 is a diagram illustrating an example of an adjacency matrix according to Example 2. The transformed adjacency matrix 2200 has, as fields, a transformed graph ID 801, an edge ID 402, a start node ID 503, and an end node ID 504.
[0119] 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).
[0120] The graph correspondence information 2300 has the following fields: graph ID 301, transformed graph ID 801, node ID 2202, and association 2204. The node ID 2202 is the node ID 302 in the transformed graph 700 identified by the transformed graph ID 801.
[0121] 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. A node N# for an entry with a value of "*" in the association 2204 indicates that there is no change before and after the graph transformation process (step S1802). For example, nodes N1, N2, and N5 to N7 indicate that they are the same node in the input graph 110 and the transformed graph 700.
[0122] A node N# of an entry where the value of the association 2204 is "None" indicates that the node N# of the transformed graph 700 is a node that is not associated with the input graph 110, i.e., a dummy node. For example, node N8 is a dummy node that does not exist in the input graph G140 and has been added to the transformed graph G190.
[0123] For a node N# whose edge ID 402 is registered in the relationship 2204, this indicates that the node N# in the transformed graph 700 is a node that has been transformed based on the edge ID 402 registered in the relationship 2204.
[0124] For example, the value of the association 2204 of the entry whose node ID 2202 is “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.
[0125] The value of the association 2204 of the entry whose node ID 2202 is "N10" is [E(3,4)], which 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.
[0126] Furthermore, 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 separation edges E(4,5), E(4,6), and E(4,7) of the input graph G140 have been transformed into the separation node N11 of the transformed graph G190.
[0127] The analysis objective achieved by the operation in Example 2 is to improve the yield of a product in a chemical synthesis experiment. For example, the selected analytical model 100 may be a graph neural network that performs regression analysis on experimental yield data associated with each input graph 110. Therefore, in Example 2, the analytical device 200 can train the analytical model 100 and obtain theoretical results from the analytical model 100 by performing the analytical process using the transformed graph shown in FIG. 12 using the transformed graph 700 converted in the graph conversion process (step S1802).
[0128] Furthermore, analysis apparatus 200 may input the learning results obtained in step S1212 to an external system as primary information. This allows the user to perform the desired analysis. For example, analysis apparatus 200 may be a graph variational autoencoder having an encoder that converts input graph 110 into multivariates and a decoder that performs inverse conversion from the multivariates to the input graph. Here, the exported multivariates and experimental yield data provided as training labels may be input to a machine learning model or neural network model derived from another system to perform the desired regression or classification.
[0129] 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 water release operations of a dam, or the optimization of recipes or production procedures in food production.
[0130] In the input graph G140, the structure is mixing → heating → separation, but it may also be a structure showing heating → separation, a structure showing mixing → heating, or a structure showing mixing → separation.
[0131] For example, if the input graph G140 has a structure indicating heating ⇒ separation, since mixing is not included, the structure will be such that, for example, node N1 indicating copper oxide is heated. In this case, in the transformed graph G190, dummy node N8 is not inserted, and mixing node N9 is not generated, and node N1 indicating copper oxide is directly connected to heating node N10.
[0132] Furthermore, if the input graph G140 has a structure indicating mixing ⇒ heating, because separation is not included, the structure will be one in which, for example, edges E(4,5), E(4,6), E(4,7) and nodes N5 to N7 are missing. In this case, in the transformed graph G190, the heating node N10 is connected to a newly added node indicating the heated mixture, which is the product of heating.
[0133] Furthermore, if the input graph G140 has a structure showing mixing ⇒ separation, since heating is not included, the structure will be such that, for example, edge E(3, 4) and node N4 are missing. In this case, in the transformed graph G190, the heating node N10 is not added, and the mixing node N9 is connected to the separation node N11.
[0134] Next, a third embodiment will be described. In the second embodiment, an example was described in which an edge E(x, y) of the input graph 110 is converted into a node N# of the transformed graph 700. In the third embodiment, an example will be described in which a node N# of the input graph 110 is converted into an edge E(x, y) of the transformed graph 700. The same components as those in the first and second embodiments are denoted by the same reference numerals, and their description will be omitted.
[0135] In the third embodiment, a case where a cross-linked polymer structure in a scientific domain is treated as the input graph 110 will be described as an example.
[0136] <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 represent atoms constituting a molecule, molecules consisting of one or more atoms, ionized atoms, or electrons. Physicochemical interactions acting between nodes N#, such as covalent bonds, ionic bonds, and hydrogen bonds, are expressed as edges E(x, y). Generally, these interactions are symmetric, so the input graph G240 takes the form of an undirected graph, but is not limited to this.
[0137] 25 is a diagram illustrating an example of a node feature table according to Example 3. The node feature table 2500 has fields including a graph ID 301, a node ID 302, an element type 303, a node descriptor 304, and a second node descriptor 305.
[0138] 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 shows the node features of the nodes N1 to N19 that make up the input graph G240.
[0139] <Edge Feature Table> Fig. 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 the edges that make up the input graph 110. The edge feature table 2600 has, as fields, a graph ID 301, an edge ID 402, the number of interatomic bonds 403, and an edge descriptor 404. The edge feature table 2600 shows the edge feature of the edge E(x, y) that makes up the input graph G240.
[0140] 27 is a diagram illustrating an example of an adjacency matrix according to the third embodiment. The adjacency matrix 2700 is a table that defines which two nodes Nx and Ny an edge E(x, y) connects. Specifically, the adjacency matrix 2700 includes, for example, a graph ID 301, an edge ID 402, a start node ID 503, and an end node ID 504.
[0141] The polymer represented by the input graph G240 is composed of, for example, 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 cross-links formed between the two molecular structures 2401 and 2402. Because cross-links are different from covalent bonds, different indices are assigned to the interatomic bond numbers 403 in the edge feature table 2600. In other words, different indices are assigned to edge E(3,10) and edge E(5,14) and the other edges.
[0142] In research into polymer compounds, there may be cases where it is desired to analyze macroscopic physical properties such as three-dimensional structures. In such cases, it may be necessary to consider 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.
[0143] <Example of Generation of Transformed 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 Example 3. In Fig. 28, an input graph G340 is converted into a transformed graph G280. As a result, the node feature table 2500, edge feature table 2600, and adjacency matrix 2700 of the input graph G240 are converted as follows.
[0144] 29 is a diagram illustrating an example of a transformed node feature table according to Example 3. The transformed node feature table 2900 has, as fields, a transformed graph ID 801, a node ID 302, an element type 303, a transformed node descriptor 804, and a transformed second node descriptor 805.
[0145] 30 is a diagram illustrating an example of a converted edge feature table according to Example 3. The converted edge feature table 3000 has, as fields, a transformed graph ID 801, an edge ID 402, an interatomic bond count 403, and an edge descriptor 404.
[0146] 31 is a diagram illustrating an example of a transformed adjacency matrix according to Example 3. The transformed adjacency matrix 3100 includes a transformed graph ID 801, an edge ID 402, a start node ID 503, and an end node ID 504.
[0147] 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.
[0148] 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.
[0149] 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).
[0150] 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) of input graph G240 have been replaced with E(2,10) of transformed graph G280.
[0151] In addition, 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) and 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 now be described.
[0152] 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."
[0153] In this case, the nodes N# in the input graph 110 that satisfy the conversion condition are node N3 and node N14. The analysis apparatus 200 converts node N3 and the two edges E(2,3) and E(3,10) connecting to node N3 into edge E(2,10). As a result, [N3, E(2,3), E(3,10)] is stored in the association 3204 of the entry 3211.
[0154] Similarly, the analysis apparatus 200 converts node N14 and the two edges E(5,14) and E(13,14) connected to node N14 into edge E(5,13). As a result, [N14, E(5,14), E(13,14)] is stored in the association 3204 of entry 3212.
[0155] The analysis objective achieved by the operation in Example 3 is an analysis that takes into account crosslinking structures in predicting the physical properties of polymer compounds. For example, the selected analytical model 100 may be a graph neural network that performs regression analysis on experimental data for a physical property of interest associated with each input graph 110. Therefore, in Example 3, the analytical device 200 uses the transformed graph 700 (G280) converted in the graph conversion process (step S1802) to perform an analytical process using the transformed graph 700 shown in FIG. 12, thereby training the analytical model 100 and obtaining theoretical results from the analytical model 100.
[0156] Furthermore, analysis apparatus 200 may realize the analysis desired by the user by further inputting the learning result obtained in step S1212 into an external system as primary information. For example, analysis apparatus 200 may be a graph variational autoencoder having an encoder that converts input graph 110 into multivariates and a decoder that performs inverse conversion from the multivariates to the input graph. Here, the written multivariates and experimental yield data provided as training labels may be input into a machine learning model or a neural network model derived from another system to perform regression or classification desired by the user.
[0157] Furthermore, the transformed graph 700 of the second or third embodiment may be applied to the input graph 110 of the first embodiment. This makes it possible to perform the pooling process (step S602) on the transformed graph 700 of the second or third embodiment.
[0158] 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 grid, 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 following: image data in the form of an input graph 110; a transformed graph 700 in which the number of pixels is increased or decreased from the image data in a user-specified manner; or both.
[0159] Furthermore, the analysis device 200 according to the first to third embodiments described above can also be applied to tasks such as syntactic analysis in the language processing domain. Language data can be expressed as a sequential symbol string, which can be expressed in a graph format using nodes with words or phrases as units and their connection relationships. Furthermore, since the meaning of a word or phrase is identified by multiple combinations, the analysis device 200 according to the first to third embodiments can mechanically interpret a sentence using a transformation graph 700 that aggregates multiple nodes N#. Therefore, the analysis device 200 according to the first to third embodiments can achieve more accurate language interpretation from the input graph 110 and the transformation graph 700.
[0160] As described above, according to Examples 1 to 3, it is possible to generate the transformed graph 700 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 also using the input graph 110 before graph transformation or pooling, it is possible to solve the over-smoothing problem, in which feature values tend to be averaged as the analytical model 100 becomes more multi-layered, and the loss of information due to pooling.
[0161] The analysis device 200 according to the above-described first to third embodiments can also be configured as follows (1) to (13).
[0162] (1) An analysis device having a processor that executes a program and a storage device that stores the program, wherein the processor executes: an acquisition process that acquires a first graph (G140) composed of a node group and one or more edges connecting two nodes within the node group; and a conversion process that performs 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 (G140) acquired by the acquisition process in accordance with predetermined conversion conditions, to generate a second graph (G190).
[0163] (2) The analysis device of (1), wherein in the conversion process, the processor converts, 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), thereby generating the second graph (G190).
[0164] (3) The analytical device according to (2) above, wherein the first operation indicates a mixture of substances identified by the plurality of first nodes.
[0165] (4) The analysis device of (2) above, wherein in the conversion process, the processor generates the second graph (G190) by converting, 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 the 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).
[0166] (5) The analytical device according to (4), wherein the second operation (heating) indicates heating of a substance identified by the second node (N3).
[0167] (6) The analysis device of (4), wherein in the conversion process, the processor converts, in accordance with a third conversion condition, portions 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 the 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), thereby generating the second graph (G190).
[0168] (7) The analytical device according to (6) above, wherein the third operation (separation) indicates separation into substances identified by the seventh nodes (N5 to N7).
[0169] (8) The analysis device of (1) above, wherein 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, consisting 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).
[0170] (9) The analysis device of (8) above, characterized in that the portion is a portion indicating the boundary where a first structure (2401) including a 10th node (N3) in the first graph and a second structure (2402) including the 11th node (N10) are connected by the fourth edge (E(2,3)).
[0171] (10) The analysis device of (1) above, wherein the processor executes a learning process to learn an analysis model (100) that can be learned based on correct answer data corresponding to training data and output results obtained as a result of inputting the training data, by performing a convolution operation using the first graph and the second graph as the training data.
[0172] (11) The analysis device of (10) above, wherein the processor executes an inference process that inputs the first graph and the second graph into the analysis model (100) and executes a convolution operation to output an inference result from the analysis model (100).
[0173] (12) An analysis device having a processor that executes a program and a storage device that stores the program, wherein the processor executes: an acquisition process that acquires a first graph (G01) composed of a node group and one or more edges connecting two nodes in the node group; a conversion process that generates a second graph (G02) by pooling multiple nodes (N1, N2) from the first graph (G01) acquired by the acquisition process in accordance with a fifth conversion condition; and a learning process that learns an analysis model (100) 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 performing a convolution operation using the first graph and the second graph as the training data.
[0174] (13) The analysis device of (12) above, wherein the processor executes an inference process that inputs the first graph and the second graph into the analysis model (100) and executes a convolution operation to output an inference result from the analysis model (100).
[0175] The present invention is not limited to the above-described embodiments, and includes various modifications and equivalent configurations within the spirit and scope 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 configurations including all of the described configurations. Furthermore, part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Furthermore, the configuration of another embodiment may be added to the configuration of one embodiment. Furthermore, part of the configuration of each embodiment may be added to, deleted from, or replaced with other configurations.
[0176] Furthermore, the aforementioned configurations, functions, processing units, processing means, etc. may be realized in part or in whole in hardware, for example by designing them as integrated circuits, or may be realized in software by having a processor interpret and execute a program that realizes each function.
[0177] Information such as programs, tables, and files that realize each function can be stored in a storage device such as a memory, hard disk, or SSD (Solid State Drive), or in a recording medium such as an IC (Integrated Circuit) card, SD card, or DVD (Digital Versatile Disc).
[0178] In addition, the control lines and information lines shown are those that are considered necessary for the explanation, and do not necessarily show all the control lines and information lines that are necessary for implementation. In reality, it can be considered that almost all components are interconnected.
Claims
1. An analysis device having a processor that executes a program and a storage device that stores the program, wherein the processor executes: an acquisition process that acquires a first graph composed of a group of nodes and one or more edges connecting two nodes in the group of nodes; and a conversion process that generates 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.
2. An analysis device as described in claim 1, wherein 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 the result of the first operation via first edges each indicating 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.
3. An analytical apparatus according to claim 2, characterized in that the first operation indicates a mixture of substances identified by the plurality of first nodes.
4. An analysis device as described in claim 2, characterized in that in the conversion process, the processor generates the second graph by converting, in accordance with a second conversion condition, a portion of the first graph that is connected from the second node to a fifth node indicating the result of the second operation via a second edge indicating the second operation, into a sixth node that is connected to the fourth node and indicates the second operation.
5. An analytical device according to claim 4, characterized in that the second operation indicates heating of a substance identified at the second node.
6. An analysis device as described in claim 4, characterized in that in the conversion process, the processor generates the second graph by converting, in accordance with a third conversion condition, the portion of the first graph that is connected from the fifth node to a plurality of seventh nodes that each indicate the result 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.
7. An analytical apparatus according to claim 6, characterized in that the third operation indicates separation into substances identified by the plurality of seventh nodes.
8. An analysis device as described in claim 1, characterized in that in the conversion process, the processor generates a second graph by converting, in accordance with a fourth conversion condition, a portion of the first graph acquired by the acquisition process, consisting of a fourth edge connecting the 9th node and the 10th node, the 10th node, and a fifth edge connecting the 10th node and the 11th node, into a sixth edge connecting the 9th node and the 11th node.
9. An analysis device according to claim 8, characterized in that the portion is a portion indicating a boundary between a first structure including a 10th node in the first graph and a second structure including the 11th node, the boundary being connected by the fourth edge.
10. An analysis device as described in claim 1, wherein the processor executes a learning process to learn an analysis 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 performing a convolution operation using the first graph and the second graph as the training data.
11. An analysis device as described in claim 10, wherein the processor executes an inference process that inputs the first graph and the second graph into the analysis model and executes a convolution operation to output an inference result from the analysis model.
12. An analysis device having a processor that executes a program and a storage device that stores the program, wherein the processor executes the following: an acquisition process that acquires a first graph composed of a node group and one or more edges connecting two nodes in the node group; a conversion process that generates a second graph by pooling a plurality of nodes in the first graph acquired by the acquisition process in accordance with a fifth conversion condition; and a learning process that learns an analysis 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 performing a convolution operation using the first graph and the second graph as the training data.
13. An analysis device according to claim 12, wherein the processor executes an inference process that inputs the first graph and the second graph into the analysis model and executes a convolution operation to output an inference result from the analysis model.
14. An analysis method executed by an analysis device 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 composed of a group of nodes and one or more edges connecting two nodes in 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.
15. An analysis program that causes a processor to execute: an acquisition process for acquiring a first graph composed of a group of nodes and one or more edges connecting two nodes in the group of nodes; and a conversion process for generating 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.
Citation Information
Patent Citations
Compound property prediction method based on subgraph network and comparative learning
CN115511145A
Molecular representation method and system based on deep map neural network
CN116504333A