STORAGE MEDIUM, ESTIMATION DEVICE, AND ESTIMATION METHOD

A non-transitory computer-readable storage medium storing an estimation program that causes at least one computer to execute a process, the process includes inputting training data that includes a vector of graph data, a vector of ontology, and a label; training a machine learning model based on a loss function acquired by the label and a value obtained by merging a value of an activation function acquired with the vector of the graph data and a value of the activation function acquired with the vector of the ontology.

FIELD

The disclosed technique relates to a storage medium, an estimation device, and an estimation method.

BACKGROUND

Conventionally, a concerned event has been estimated using a machine learning model in which machine learning has been executed using past cases as training data. For example, a system that calculates similarities between drugs and estimates side effects of a given drug has been proposed. This system includes a similarity calculation device and a side effect determination device. The similarity calculation device obtains data related to drug sets from a plurality of open data sources, generates resource description framework (RDF) triples, and stores an RDF graph of the RDF triples. The similarity calculation device generates feature vectors for each drug, based on the RDF triples, and calculates similarities of each drug to all other drugs by comparing the feature vectors. The side effect determination device estimates side effects of a given drug, based on the similarities between the drugs.

SUMMARY

According to an aspect of the embodiments, a non-transitory computer-readable storage medium storing an estimation program that causes at least one computer to execute a process, the process includes inputting training data that includes a vector of graph data, a vector of ontology, and a label; training a machine learning model based on a loss function acquired by the label and a value obtained by merging a value of an activation function acquired with the vector of the graph data and a value of the activation function acquired with the vector of the ontology.

DESCRIPTION OF EMBODIMENTS

As in the conventional technique described above, there are cases where the accuracy of estimating side effects is not sufficient with only similarities between medications (drugs) obtained by comparing feature vectors. This is because, for example, even patients to which the same medication is administered sometimes experience different situations as to side effects when the patients suffer from different diseases. The situation as described above can arise not only when estimating side effects with similarities between medications, but also when estimating some event using a machine learning model in which machine learning has been executed using past cases as training data.

In one aspect, the disclosed technique aims to train a machine learning model so as to improve the accuracy of event estimation.

In one aspect, the effect that a machine learning model may be trained so as to improve the accuracy of event estimation is achieved.

Hereinafter, examples of embodiments according to the disclosed technique will be described with reference to the drawings. Note that, in each of the following embodiments, a case where the disclosed technique is applied to the estimation of an unexpected effect (hereinafter referred to as “side effect”) in the administration of medications will be described as an example.

First, before describing the details of the embodiments, the case of using feature vectors that combine ontology with past case data will be considered by taking into account that side effects are sometimes not allowed to be estimated with high accuracy only by comparing the similarities between medications, as in the conventional technique. Case data is assumed to include information such as attributes of patients, medications that were administered, and diseases the patients are suffering from. In addition, ontology is a systematization of background knowledge in a concerned field, and in the case of the present embodiments, for example, information such as the similarities and relationships between diseases, and the similarities between medications and the ingredients contained therein are organized in a tree structure format or the like. There is a possibility that alike side effects will arise, for example, when diseases are similar or when medications containing the same ingredient are administered. Thus, it is considered that such a possibility can be estimated by using a feature vector including information on the ontology as described above, as a feature.

However, it is sometimes difficult to generate feature vectors by arranging features indicating the case data and features indicating the ontology. For example, although it is possible to arrange ingredients contained in medications as features, it is difficult to use relationships between diseases organized in a tree structure format as features.

Thus, the method as follows is conceivable. This method converts the case data into graph data constituted by nodes and edges coupling between the nodes and merges the tree structure ontology to this graph data. This method then calculates embedding vectors expressing each node from the graph data that combines the case data and the ontology. Furthermore, this method is a method that trains a machine learning model using feature vectors generated from these embedding vectors as training data. However, in the case of this method, there is no distinction in handling information regarding the case data and the information regarding the ontology included in the feature vector, and the information on the ontology is sometimes not allowed to be appropriately reflected in the estimation of the event (here, the side effect). Thus, each of the following embodiments ensures that the information on the ontology is appropriately reflected in machine learning of a machine learning model. Hereinafter, each embodiment will be described in detail.

First Embodiment

A machine learning system according to a first embodiment includes a machine learning device10and an estimation device30. First, the machine learning device10will be described. As illustrated inFIG.1, machine learning case data and ontology are input to the machine learning device10. The machine learning case data is data including information such as attributes of patients, medications that were administered, and diseases the patients are suffering from, and information on side effects.FIG.2illustrates an example of the machine learning case data. In the example inFIG.2, information on “identifier (ID)”, “gender”, “age”, “weight”, “height”, “medication”, “disease”, and “side effect” is included for each patient. “ID” denotes identification information on the patient. “Gender”, “age”, “weight”, and “height” are examples of attributes of the patient. “Medication” denotes the name of the medication administered to the patient. “Disease” denotes the name of the underlying disease the patient is suffering from. “Side effect” denotes information on the side effect that occurred when the medication indicated in “medication” was administered.

FIG.3illustrates examples of ontology. In the present embodiment, a case where ontology relating to medications (hereinafter referred to as “medication ontology”) and ontology relating to diseases (hereinafter referred to as “disease ontology”) are used will be described. As illustrated inFIG.3, the medication ontology is tree structure information including nodes indicating medications (circles with medication names written inside), nodes indicating background knowledge (ellipses with background knowledge written inside), and edges (arrows) coupling between related nodes. The edge is sometimes associated with related information indicating how the medication and the background knowledge are related. For example, for medications that are prohibited from being administered to patients with severe infections, the node indicating such a medication and the node indicating severe infections are coupled by an edge, and related information for prohibiting administration (written as “contraindications” inFIG.3) is attached.

Similarly, the disease ontology is also tree structure information including nodes indicating diseases (circles with disease names written inside), nodes indicating background knowledge (ellipses with background knowledge written inside), and edges (arrows) coupling between related nodes. For example, when a disease called alcohol ingestion is classified as a mental disease, the node indicating alcohol ingestion and the node indicating mental disease are coupled by an edge, and related information such as “classification” is attached to the edge.

The machine learning device10functionally includes a graph generation unit12, an embedding vector calculation unit14, a training data generation unit16, and a machine learning unit18, as illustrated inFIG.1.

The graph generation unit12acquires the machine learning case data input to the machine learning device10and generates graph data constituted by nodes and edges coupling between the nodes, from the acquired machine learning case data. For example, as illustrated inFIG.4, the graph generation unit12generates each value of each item other than the side effect included in the machine learning case data, as a node. InFIG.4, the nodes indicated by circles with respective values written inside are nodes each indicating one of attributes, medications, and diseases. Then, the graph generation unit12couples edges from each node with “ID” to nodes each indicating one of attributes, medications, and diseases of the patient indicated by that ID. Note that, inFIG.4, in order to clarify the relationship between each piece of case data and side effects, nodes indicating side effects (nodes indicated by rounded squares with side effects written inside), and edges coupling the nodes with “ID” and the nodes indicating side effects are also depicted. In addition, the method of generating the graph data is not limited to the above example, and other methods may be employed. The graph data generated from the case data will be hereinafter referred to as “case graph data”. Note that, in the following description, the case graph data does not include the nodes indicating side effects.

In addition, the graph generation unit12generates graph data in which the ontology is coupled to the case graph data based on the machine learning case data. Specifically, the graph generation unit12couples the case graph data and the ontology by sharing matching nodes between the case graph data and the ontology. For example, the graph generation unit12searches the medication ontology and the disease ontology for nodes that match the nodes indicating “medications” and “diseases” included in the case graph data and extracts the nodes found by the search and the portions coupled to these nodes. Then, the graph generation unit12couples the portions extracted from the ontology to the case graph data so as to superimpose the matching nodes indicating “medications” or “diseases”, as in the portion indicated by the dashed line inFIG.5. In the following, the graph data obtained by coupling the portions extracted from the ontology to the case graph data will be referred to as “overall graph data”.

The embedding vector calculation unit14calculates embedding vectors representing each node included in the overall graph data, based on the overall graph data. Specifically, the embedding vector calculation unit14calculates the embedding vectors by mapping each of the nodes and edges included in the overall graph data to an n-dimensional vector space. More specifically, as illustrated in the upper diagram ofFIG.6, calculation of the embedding vectors by the embedding vector calculation unit14will be described taking graph data including nodes A, B, and C, an edge r between the nodes A and B, and an edge r between the nodes C and B as an example. To simplify the explanation, the case of mapping to a two-dimensional vector space will be described here.

First, as illustrated in the middle diagram ofFIG.6, the embedding vector calculation unit14places each of the nodes and edges included in the graph data in the vector space as initial value vectors. Then, the embedding vector calculation unit14optimizes the placement of each vector so as to represent the coupling relationship between the nodes. In the example inFIG.6, the embedding vector calculation unit14optimizes the placement of each vector such that the vector A + vector r is made closer to the vector B, and the vector C + vector r is made closer to the vector B, as illustrated in the lower diagram ofFIG.6. The vector after optimization is regarded as the embedding vector of the node indicated by that vector. The embedding vector calculation unit14calculates the embedding vectors for each node included in the overall graph data, by the calculation method as described above.

The training data generation unit16uses the embedding vectors calculated by the embedding vector calculation unit14and correct answer labels generated from information on side effects to generate training data to be used for machine learning of the machine learning model. Specifically, for each node with “ID” included in the overall graph data, the training data generation unit16generates features by concatenating the vector values of the embedding vectors calculated for each node coupled to each node with “ID”. Then, based on the information on side effects, the training data generation unit16generates a correct answer label indicating “TRUE” when the concerned side effect has been caused, and a correct answer label indicating “FALSE” when the concerned side effect has not been caused, and generates training data by adding the generated correct answer labels to the features.

FIG.7illustrates an example of the training data. As illustrated inFIG.7, since the vector values of the embedding vectors for each node are concatenated, the features include features obtained by concatenating the embedding vectors of the nodes of the case graph data (hereinafter referred to as “case data features”). The features will also include features obtained by concatenating the embedding vectors of the nodes of the medication ontology (hereinafter referred to as “medication features”), and features obtained by concatenating the embedding vectors of the nodes of the disease ontology (hereinafter referred to as “disease features”). Note that the embedding vectors of the nodes common to the case graph data and the ontology (the nodes of the case data indicating the items “medication” and “disease”) are included in both of the case data features and the medication features or disease features. In addition, the example inFIG.7illustrates a case where the concerned side effect is assumed as “venous occlusion”.

The machine learning unit18uses the training data generated by the training data generation unit16to update the parameters of a machine learning model20, for example, constituted by a neural network or the like. Here,FIG.8schematically illustrates a network configuration of the machine learning model20. As illustrated inFIG.8, the machine learning model20includes a first hidden layer, a second hidden layer, a third hidden layer, and a fourth hidden layer. From the training data, the case data features are input to the first hidden layer, the medication features are input to the second hidden layer, and the disease features are input to the third hidden layer. The output from each of the first hidden layer, the second hidden layer, and the third hidden layer and all the features included in the training data are input to the fourth hidden layer. The machine learning model20then outputs the probability that the concerned side effect is caused, based on the output from the fourth hidden layer.

The machine learning unit18updates the parameters of the machine learning model20having the network configuration as described above so as to minimize the value LOSS of the loss function indicated below.

The loss function of A and B is denoted by g(A, B) and, for example, is a function for working out the sum-of-squares error, cross-entropy error, and the like. The function that returns 1 when the correct answer label has TRUE and 0 when the correct answer label has FALSE is denoted by Label. The output value when features of the training data are input to the machine learning model20is denoted by Output. A vector made up of the case data feature among the features included in the training data is denoted by T. A vector made up of the medication feature among the features included in the training data is denoted by O1. A vector made up of the disease feature among the features included in the training data is denoted by O2. The activation function corresponding to the first hidden layer is denoted by f1, the activation function corresponding to the second hidden layer is denoted by f2, and the activation function corresponding to the third hidden layer is denoted by f3. These activation functions are, for example, rectified linear units (ReLUs). That is, the value of the activation function calculated only with the embedding vectors of the nodes of the case graph data in the input training data is denoted by f1(T). In addition, the value of the activation function calculated only with the embedding vectors of the nodes of the medication ontology in the input training data is denoted by f2(O1). Likewise, the value of the activation function calculated only with the embedding vectors of the nodes of the disease ontology in the input training data is denoted by f3(O2). The activation function corresponding to the fourth hidden layer is denoted by f4 and, for example, is a sigmoid function. That is, the value obtained by applying the activation function to the vector obtained by merging all features and output from each of the first to third hidden layers is denoted by f4(T, O1, O2, f1(T), f2(O1), f3(O2)).

In cases such as when the value LOSS of the loss function described above is equal to or lower than a predetermined threshold value, when the difference from previously worked-out LOSS is equal to or lower than a predetermined value, and when the number of iterations of machine learning has reached a predetermined number, the machine learning unit18concludes that the value LOSS of the loss function has been minimized. When concluding that the value LOSS of the loss function has been minimized, the machine learning unit18ends the machine learning and outputs the machine learning model20including information on the network configuration and the values of the parameters at the time point when the machine learning ended.

Next, the estimation device30will be described. As illustrated inFIG.9, the ontology and estimation object case data, which is case data for which the correct answer is unknown and which is the object to be estimated as to side effects, are input to the estimation device30. The estimation object case data is case data obtained by removing the item “side effect” from the machine learning case data.

The estimation device30functionally includes a graph generation unit32, an embedding vector calculation unit34, and an estimation unit36, as illustrated inFIG.9. In addition, in a predetermined storage area of the estimation device30, the machine learning model20output from the machine learning device10is stored.

The graph generation unit32is similar to the graph generation unit12of the machine learning device10, except that the data from which the graph data is generated is the estimation object case data instead of the machine learning case data. In addition, the embedding vector calculation unit34is also similar to the embedding vector calculation unit14of the machine learning device10.

For each node with “ID” included in the overall graph data generated by the graph generation unit32, the estimation unit36generates features by concatenating the vector values of the embedding vectors calculated by the embedding vector calculation unit34for each node coupled to each node with “ID”. The features to be generated include each of the case data features, the medication features, and the disease features, similar to the features included in the training data generated by the training data generation unit16of the machine learning device10. By inputting the generated features to the machine learning model20, the estimation unit36outputs an estimation result indicating whether or not the concerned side effect is to occur for the estimation object case data. For example, as illustrated inFIG.10, the estimation unit36inputs, to the machine learning model20, the features generated from the estimation object case data for each of patients whose “IDs” are C and D, and acquires the probability that the concerned side effect occurs. The estimation unit36outputs TRUE when the acquired probability is equal to or higher than a predetermined value and outputs FALSE when the acquired probability is lower than the predetermined value. Note that the estimation unit36may output the probability output from the machine learning model20as it is as the estimation result.

The machine learning device10can be implemented by a computer40illustrated inFIG.11, for example. The computer40includes a central processing unit (CPU)41, a memory42as a temporary storage area, and a nonvolatile storage unit43. In addition, the computer40includes an input/output device44such as an input unit or a display unit, and a read/write (R/W) unit45that controls reading and writing of data from and to a storage medium49. The computer40also includes a communication interface (I/F)46to be coupled to a network such as the Internet. The CPU41, the memory42, the storage unit43, the input/output device44, the R/W unit45, and the communication I/F46are coupled to one another via a bus47.

The storage unit43can be implemented by a hard disk drive (HDD), a solid state drive (SSD), a flash memory, or the like. The storage unit43as a storage medium stores a machine learning program50for causing the computer40to function as the machine learning device10. The machine learning program50has a graph generation process52, an embedding vector calculation process54, a training data generation process56, and a machine learning process58.

The CPU41reads the machine learning program50from the storage unit43to load the read machine learning program50into the memory42and sequentially executes the processes included in the machine learning program50. The CPU41operates as the graph generation unit12illustrated inFIG.1by executing the graph generation process52. In addition, the CPU41operates as the embedding vector calculation unit14illustrated inFIG.1by executing the embedding vector calculation process54. The CPU41also operates as the training data generation unit16illustrated inFIG.1by executing the training data generation process56. The CPU41also operates as the machine learning unit18illustrated inFIG.1by executing the machine learning process58. This will cause the computer40that has executed the machine learning program50to function as the machine learning device10. Note that the CPU41that executes the program is hardware.

The estimation device30can be implemented by, for example, a computer60illustrated inFIG.12. The computer60includes a CPU61, a memory62, a storage unit63, an input/output device64, an R/W unit65, and a communication I/F66. The CPU61, the memory62, the storage unit63, the input/output device64, the R/W unit65, and the communication I/F66are coupled to one another via a bus67.

The storage unit63can be implemented by an HDD, an SSD, a flash memory, or the like. The storage unit63as a storage medium stores an estimation program70for causing the computer60to function as the estimation device30. The estimation program70has a graph generation process72, an embedding vector calculation process74, and an estimation process76. In addition, the storage unit63includes an information storage area80in which information constituting the machine learning model20that has undergone machine learning is stored.

The CPU61reads the estimation program70from the storage unit63to load the read estimation program70into the memory62and sequentially executes the processes included in the estimation program70. The CPU61operates as the graph generation unit32illustrated inFIG.9by executing the graph generation process72. The CPU61also operates as the embedding vector calculation unit34illustrated inFIG.9by executing the embedding vector calculation process74. The CPU61also operates as the estimation unit36illustrated inFIG.9by executing the estimation process76. In addition, the CPU61reads information from the information storage area80to load the machine learning model20into the memory62. This will cause the computer60that has executed the estimation program70to function as the estimation device30. Note that the CPU61that executes the program is hardware.

Note that the functions implemented by each of the machine learning program50and the estimation program70can also be implemented by, for example, a semiconductor integrated circuit, in more detail, an application specific integrated circuit (ASIC) or the like.

Next, an effect of a machine learning system according to the first embodiment will be described. First, when the machine learning case data and the ontology are input to the machine learning device10, the machine learning device10executes machine learning processing illustrated inFIG.13. Then, the machine learning model20that has been subjected to machine learning by executing the machine learning processing is output from the machine learning device10. When the estimation device30acquires the machine learning model20output from the machine learning device10and the estimation object case data and the ontology are input to the estimation device30in a state with the acquired machine learning model20stored in a predetermined storage area, the estimation device30executes estimation processing illustrated inFIG.14. Note that the machine learning processing is an example of a machine learning method of the disclosed technique, and the estimation processing is an example of an estimation method of the disclosed technique. Hereinafter, each of the machine learning processing and the estimation processing will be described in detail.

First, the machine learning processing illustrated inFIG.13will be described. In step S10, the graph generation unit12generates each value of each item of the machine learning case data as a node. Then, the graph generation unit12generates the case graph data by coupling edges from each node with “ID” to nodes each indicating one of attributes, medications, and diseases of the patient indicated by that ID.

Next, in step S12, the graph generation unit12searches the medication ontology and the disease ontology for nodes that match the nodes indicating “medications” and “diseases” included in the case graph data and extracts the nodes found by the search and the portions coupled to these nodes. Then, the graph generation unit12couples the portions extracted from the ontology to the case graph data so as to superimpose the matching nodes indicating “medications” or “diseases” and generates the overall graph data.

Next, in step S14, the embedding vector calculation unit14places each of the nodes and edges included in the overall graph data in an n-dimensional vector space as an initial value vector. Then, the embedding vector calculation unit14calculates the embedding vector of each node included in the overall graph data, by optimizing the placement of each vector so as to represent the coupling relationship between the nodes. Therefore, the embedding vector of each node of the case graph data and the embedding vector of each node of the ontology are calculated.

Next, in step S16, for each node with “ID” included in the overall graph data, the training data generation unit16generates features by concatenating the vector values of the embedding vectors calculated for each node coupled to each node with “ID”. Then, the training data generation unit16generates the correct answer labels for the concerned side effect, based on the information on the side effect, and adds the generated correct answer labels to the features to generate the training data.

Next, in step S18, the machine learning unit18uses the training data generated in above step S16to update the parameters of the machine learning model20so as to minimize the value LOSS of the loss function described above. When concluding that the value LOSS of the loss function has been minimized, the machine learning unit18ends the machine learning and outputs the machine learning model20including information on the network configuration and the values of the parameters at the time point when the machine learning ended, which completes the machine learning processing.

Next, the estimation processing illustrated inFIG.14will be described. In step S20, the graph generation unit32generates the case graph data from the estimation object case data. Next, in step S22, the graph generation unit32couples the ontology to the case graph data and generates the overall graph data. Next, in step S24, the embedding vector calculation unit34calculates the embedding vector of each node of the case graph data and the ontology from the overall graph data. Next, in step S26, for each node with “ID” included in the overall graph data, the estimation unit36generates features by concatenating the vector values of the embedding vectors calculated for each node coupled to each node with “ID”. Next, in step S28, by inputting the features generated in above step S26to the machine learning model20, the estimation unit36outputs the estimation result indicating whether or not the concerned side effect is to occur for the estimation object case data, and the estimation processing ends.

As described above, according to the machine learning system according to the first embodiment, the machine learning device accepts input of the training data including embedding vectors of the case graph data, the embedding vectors of the ontology, and the correct answer labels. The machine learning device then executes machine learning of the machine learning model, based on the loss function. The values of the loss function are calculated by values obtained by merging the values of the activation function calculated only with the embedding vectors of the case graph data of the input training data and the values of the activation function calculated only with the embedding vectors of the ontology, and the correct answer labels. This allows the machine learning device according to the first embodiment to train a machine learning model in which information on the case data and information on the ontology are grouped and transmitted. Therefore, the machine learning device according to the first embodiment may train the machine learning model by appropriately reflecting the information on the ontology so as to improve the accuracy of event estimation.

In addition, according to the machine learning system according to the first embodiment, the estimation device uses the machine learning model that has been subjected to the machine learning as described above and the embedding vectors calculated from the estimation object case data and the ontology to estimate an event for the estimation object case. This may improve the accuracy of event estimation.

Second Embodiment

Next, a second embodiment will be described. Note that, in a machine learning system according to the second embodiment, similar parts to those of the machine learning system according to the first embodiment are designated by the same reference signs and detailed description thereof will be omitted.

A machine learning system according to the second embodiment includes a machine learning device210and an estimation device230. First, the machine learning device210will be described. The machine learning device210functionally includes a graph generation unit12, an embedding vector calculation unit214, a training data generation unit16, and a machine learning unit18, as illustrated inFIG.1.

The embedding vector calculation unit214first calculates embedding vectors of nodes of ontology in an overall graph data in which the ontology is coupled to the case graph data. For example, as illustrated inFIG.15, the embedding vector calculation unit214calculates embedding vectors of nodes of medication ontology (the nodes indicated by the solid lines inFIG.15). In addition, as illustrated inFIG.16, the embedding vector calculation unit214calculates embedding vectors of nodes of disease ontology (the nodes indicated by the solid lines inFIG.16). Then, as illustrated inFIG.17, the embedding vector calculation unit214calculates embedding vectors of the nodes of the case graph data (the nodes indicated by the solid lines inFIG.16) with the embedding vectors of the nodes of the ontology as initial values (the dashed line portion inFIG.17).

Since the ontology is a systematization of background knowledge, the embedding vector of the ontology accurately reflects the meaning that the coupling between nodes has. Since the embedding vector can be calculated with higher accuracy when the initial values are more appropriately given, the embedding vectors of the case graph data can be calculated with higher accuracy, by using the embedding vectors of the ontology as initial values.

The estimation device230functionally includes a graph generation unit32, an embedding vector calculation unit234, and an estimation unit36, as illustrated inFIG.9. In addition, in a predetermined storage area of the estimation device230, a machine learning model20output from the machine learning device210is stored. Similar to the embedding vector calculation unit214of the machine learning device210, the embedding vector calculation unit234first calculates the embedding vectors of the ontology and, with these calculated embedding vectors as initial values, calculates the embedding vectors of the case graph data.

The machine learning device210can be implemented by a computer40illustrated inFIG.11, for example. A storage unit43of the computer40stores a machine learning program250for causing the computer40to function as the machine learning device210. The machine learning program250has a graph generation process52, an embedding vector calculation process254, a training data generation process56, and a machine learning process58.

A CPU41reads the machine learning program250from the storage unit43to load the read machine learning program250into a memory42and sequentially executes the processes included in the machine learning program250. The CPU41operates as the embedding vector calculation unit214illustrated inFIG.1by executing the embedding vector calculation process254. The other processes are similar to the processes of the machine learning program50according to the first embodiment. This will cause the computer40that has executed the machine learning program250to function as the machine learning device210.

The estimation device230can be implemented by, for example, a computer60illustrated inFIG.12. A storage unit63of the computer60stores an estimation program270for causing the computer60to function as the estimation device230. The estimation program270has a graph generation process72, an embedding vector calculation process274, and an estimation process76. In addition, the storage unit63includes an information storage area80in which information constituting the machine learning model20that has undergone machine learning is stored.

The CPU61reads the estimation program270from the storage unit63to load the read estimation program270into a memory62and sequentially executes the processes included in the estimation program270. The CPU61operates as the embedding vector calculation unit234illustrated inFIG.9by executing the embedding vector calculation process274. The other processes are similar to the processes of the estimation program70according to the first embodiment. This will cause the computer60that has executed the estimation program270to function as the estimation device230.

Note that the functions implemented by each of the machine learning program250and the estimation program270can also be implemented by, for example, a semiconductor integrated circuit, in more detail, an ASIC or the like.

As for the effect of the machine learning system according to the second embodiment, only the embedding vector calculation procedures in step S14of the machine learning processing illustrated inFIG.13and step S24of the estimation processing illustrated inFIG.14are different from the embedding vector calculation procedures of the first embodiment as described above, and therefore the description thereof will be omitted.

As described above, according to the machine learning system of the second embodiment, the machine learning device first calculates the embedding vectors of the ontology and, with these calculated embedding vectors as initial values, calculates the embedding vectors of the case graph data. This allows calculation of the embedding vectors with high accuracy, such that the machine learning model may be trained so as to improve the accuracy of event estimation. In addition, the accuracy of event estimation may be improved in the estimation device according to the second embodiment.

Note that, in the above second embodiment, the case where all embedding vectors of the nodes included in the ontology are used as features has been described, but the embodiments are not limited to this. After calculating the embedding vectors by a procedure similar to the procedure in the second embodiment, the medication features and disease features may be generated from the embedding vectors of nodes common between the case graph data and the ontology. That is, in the example inFIG.17, the case data features may be generated from the embedded graph of the nodes of the case graph data indicated by the solid lines, and the medication features and the disease features may be generated from the embedded graph of the nodes surrounded by the dashed line among the nodes of the case graph data. Even in this case, since the embedding vectors of the case graph data are calculated with the embedding vectors of the ontology as initial values, information on the ontology is reflected in the features. Furthermore, since the amount of information on the features can be reduced, the load of machine learning processing and estimation processing may be lessened. In addition, in this case, the embedding vectors of the ontology calculated without coupling the ontology to the case graph data may be given as initial values of the embedding vectors of the case graph data. The embedding vectors of the ontology in this case may be calculated for the specified portion of the ontology by specifying the portion of the ontology including nodes that match the nodes of the case graph data indicating medications and diseases.

In addition, in each of the above embodiments, an example in which the disclosed technique is applied to the case of estimating side effects to the administration of a medication to a patient has been described, but the disclosed technique can also be applied to an example of estimating other events. For example, the application to the case of estimating an event that occurs when mixing a plurality of chemical substances, or the like is possible. In this case, the case data can include information such as chemical substances to be mixed, mixing conditions (temperature, catalyst, and the like), information on chemical substances with similar properties, such as the melting points of substances A and B being the same, or the like can be used as ontology, and events that occur during mixing can be treated as correct answer labels.

In addition, in each of the above embodiments, the case of using two types of ontology has been described, but one type of ontology may be used, or three or more types of ontology may be used. In this case, the hidden layers of the machine learning model can be provided in correspondence to each type of ontology to be used.

In addition, in each of the above embodiments, the case where the machine learning device and the estimation device are configured by separate computers has been described, but the machine learning device and the estimation device may be configured by one computer.

In addition, while a mode in which the machine learning program and the estimation program are stored (installed) in the storage unit in advance has been described in each of the above embodiments, the embodiments are not limited to this. The program according to the disclosed technique can also be provided in a form stored in a storage medium such as a compact disc read only memory (CD-ROM), a digital versatile disc read only memory (DVD-ROM), or a universal serial bus (USB) memory.