WO2021176572A1 - 機械学習プログラム、機械学習方法及び機械学習装置 - Google Patents
機械学習プログラム、機械学習方法及び機械学習装置 Download PDFInfo
- Publication number
- WO2021176572A1 WO2021176572A1 PCT/JP2020/008992 JP2020008992W WO2021176572A1 WO 2021176572 A1 WO2021176572 A1 WO 2021176572A1 JP 2020008992 W JP2020008992 W JP 2020008992W WO 2021176572 A1 WO2021176572 A1 WO 2021176572A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- machine learning
- entities
- relationship
- entity
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/027—Frames
Definitions
- the present invention relates to machine learning technology.
- Knowledge graph embedding technology is known.
- knowledge is represented by a triad, so-called triple, such as "for s (subject), the value (object) of r (predicate) is o".
- s and o are sometimes called entities and r is sometimes called a relation.
- a transformation that embeds each of these triple (s, r, o) elements as a vector in the feature space is obtained by performing machine learning.
- the model generated by machine learning in this way is used, for example, for inference such as link prediction for predicting triples having an unknown relationship.
- the machine learning program classifies the plurality of entities included in a graph structure showing the relationships between the plurality of entities, and the first group and the second group generated according to the classification.
- the first learning that identifies the first entity located at the connection portion in the graph structure and shows the relationship between the first entity and another entity among the plurality of training data showing the relationship between the plurality of entities.
- FIG. 1 is a block diagram showing an example of a functional configuration of the server device according to the first embodiment.
- FIG. 2 is a diagram showing an example of a correlation plot of entities.
- FIG. 3 is a diagram showing an example of a module.
- FIG. 4 is a diagram showing another example of the module.
- FIG. 5 is a diagram showing an example of a model.
- FIG. 6 is a flowchart (1) showing a procedure of machine learning processing according to the first embodiment.
- FIG. 7 is a flowchart (2) showing the procedure of the machine learning process according to the first embodiment.
- FIG. 8 is a diagram showing an example of a computer hardware configuration.
- FIG. 1 is a block diagram showing an example of the functional configuration of the server device 10 according to the first embodiment.
- FIG. 1 illustrates a client-server system 1 as an example of a system to which the machine learning service according to the first embodiment is applied.
- the client-server system 1 shown in FIG. 1 provides a machine learning service that executes machine learning related to graph embedding as one aspect.
- the client-server system 1 may include a server device 10 and a client terminal 30.
- the server device 10 and the client terminal 30 are communicably connected via the network NW.
- the network NW may be any kind of communication network such as the Internet or LAN (Local Area Network) regardless of whether it is wired or wireless.
- the server device 10 is an example of a computer that provides the above machine learning service.
- the server device 10 can correspond to an example of a machine learning device.
- the server device 10 can be implemented by installing a machine learning program that realizes a function corresponding to the above machine learning service on an arbitrary computer.
- the server device 10 can be implemented as a server that provides the above machine learning service on-premises.
- the server device 10 may provide the above machine learning service as a cloud service by implementing it as a SaaS (Software as a Service) type application.
- SaaS Software as a Service
- the client terminal 30 is an example of a computer that receives the above machine learning service.
- the client terminal 30 corresponds to a desktop computer such as a personal computer.
- the client terminal 30 may be any computer such as a laptop computer, a mobile terminal device, or a wearable terminal.
- the knowledge graph is given as an example of the graph to be embedded.
- knowledge is represented by a triad, so-called triple, such as "for s (subject), the value (object) of r (predicate) is o".
- s and o are sometimes called entities and r is sometimes called a relation.
- a transformation that embeds each of these triple (s, r, o) elements as a vector in the feature space is obtained by performing machine learning.
- the model generated by machine learning can be used for inference such as link prediction for predicting triples having an unknown relationship.
- the knowledge graph embedding technique above does not have the same effect on model parameter convergence among all entities, but all entities when performing machine learning. Are treated in the same line. Therefore, there is a limit to the speedup of machine learning because the convergence of model parameters is prolonged due in part to some entities.
- a problem-solving approach that gives superiority or inferiority to the entities handled at the time of executing machine learning is adopted.
- the technical point of view is that such an approach has a different effect on the convergence of model parameters depending on whether or not the entity is located at the connection between modules that appears in a network of graph structures showing the relationships between entities. Only then can it be adopted.
- the modularity has an aspect that appears in the correlation matrix.
- Article 2 "Combined Metabolomic Analysis of Plasma and Urine Reveals AHBA, Tryptophan and Serotonin Metabolism as Potential Risk Factors in Gestational Diabetes Mellitus (GDM)"
- the above network can be generated from a correlation matrix between entities.
- a correlation matrix between entities.
- a predetermined threshold value for example, 0.7 or more
- the entity is represented by a node and the relation is represented by an edge.
- generating is an example of generating.
- FIG. 2 is a diagram showing an example of a correlation plot of entities.
- the correlation coefficient between the entities is shown by hatching for each combination of nine entities e 1 to e 9 according to the value.
- the nodes corresponding to the entities e 1 to e 9 are generated.
- edges are generated between the nodes corresponding to the set of entities indicated by the white hatches
- no edges are generated between the nodes corresponding to the set of entities indicated by the other hatches.
- a network having a graph structure is generated.
- such a network can be classified into a plurality of modules.
- the nodes can be classified into the clusters corresponding to the modules.
- FIG. 3 is a diagram showing an example of a module.
- FIG. 3 shows the network data generated from the correlation plot of the entities shown in FIG.
- FIG. 3 shows two modules, module_1 and module_2, as a result of clustering on network data.
- module_1 including six entities E 1 of e 1 ⁇ e 6, and a module_2 comprising three entities E 2 of e 7 ⁇ e 9 obtained ..
- Something: e i ⁇ E 1 (i 1, ..., 6) model_1
- e j ⁇ E 2 (j 7,8,9) model_2
- the intermediary is mediated by the s or o element of the triple among the plurality of learning data (training data) represented by the triple (s, r, o).
- the training data is distinguished by whether or not a target entity is included.
- training data in which the s or o element of the triple contains an intermediary entity is identified as "first training data”, while training data in which the s or o element of the triple does not contain an intermediary entity. Is identified as "other learning data”.
- Examples of such first training data include t 1 (e 8 , r, e 1 ) and t 2 (e 8 , r, e 2 ). These t 1 and t 2, i.e. when the model parameters are updated based on e 8 and e 1, e 2, the effect extends to almost all entities of E 1 and E 2. Although not included in mediating entities such as e 8 and e 1, e 2, the model parameters are modified based on other training data that includes the module entities E 1 and E 2, it At the same time, it is necessary to modify the parameters of the model based on t 1 and t 2 again.
- the cost is calculated for many triples even with only one epoch, so the learning of the embedded vector that satisfies those triples at the same time is performed. Will be.
- the number of triples is smaller in the intermediary entity than in the in-module entity, there is less chance that the cost calculation is performed in one epoch. From these facts, it is highly likely that the triple containing the intermediary entity will take a long time to converge the parameters of the model, or the training will be completed at a high cost.
- the machine learning service includes other machine learning execution order of the first training data including the mediating entity in the triple or the rate of change of the model parameter in the triple. Priority is given to training data.
- the machine learning service it is possible to speed up the convergence of the model parameters, so that it is possible to realize the speeding up of machine learning related to graph embedding.
- FIG. 1 schematically shows a block corresponding to a function of the server device 10.
- the server device 10 includes a communication interface unit 11, a storage unit 13, and a control unit 15.
- FIG. 1 only shows an excerpt of the functional parts related to the above machine learning service, and the functional parts other than those shown in the figure, for example, the functional parts that the existing computer is equipped with by default or as options are servers. It does not prevent the device 10 from being provided.
- the communication interface unit 11 corresponds to an example of a communication control unit that controls communication with another device, for example, a client terminal 30.
- the communication interface unit 11 is realized by a network interface card such as a LAN card.
- the communication interface unit 11 receives a request for executing machine learning from the client terminal 30, or outputs a machine learning model generated as a result of machine learning to the client terminal 30.
- the storage unit 13 is a functional unit that stores data used in various programs such as the above-mentioned machine learning program, including an OS (Operating System) executed by the control unit 15.
- OS Operating System
- the storage unit 13 is realized by the auxiliary storage device in the server device 10.
- auxiliary storage device for example, HDD (Hard Disk Drive), optical disk, SSD (Solid State Drive), etc.
- flash memory such as EPROM (Erasable Programmable Read Only Memory) can also be used as an auxiliary storage device.
- the storage unit 13 stores the correlation data 13A, the learning data 13L, and the model data 13M as an example of the data used in the program executed by the control unit 15.
- the storage unit 13 has various types of test data such as test data used for testing the trained model and account information of a user who receives the above machine learning service. Data can be stored.
- Correlation data 13A is data showing the correlation of entities.
- data in which the correlation coefficient between entities is associated with each combination of entities can be adopted as the correlation data 13A.
- the learning data 13L is data used for machine learning related to graph embedding.
- a plurality of learning data represented by triples (s, r, o) are stored in the storage unit 13.
- Model data 13M is data related to a machine learning model.
- the model data 13M includes the layered structure of the model such as neurons and synapses in each layer of the input layer, the hidden layer, and the output layer forming the model, and the weight and bias of each layer.
- Model parameters such as can be included.
- the parameters initialized by random numbers are stored as an example of the model parameters, while in the stage after the model learning is executed, the trained parameters are stored. It will be saved.
- the control unit 15 is a processing unit that controls the entire server device 10.
- the control unit 15 is realized by a hardware processor such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
- a CPU and an MPU are illustrated as an example of a processor, but it can be implemented by any processor regardless of a general-purpose type or a specialized type.
- the control unit 15 may be realized by hard-wired logic such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
- the control unit 15 virtually realizes the following processing unit by deploying the above machine learning program on a memory (Random Access Memory) work area (not shown). As shown in FIG. 1, the control unit 15 includes a reception unit 15A, a generation unit 15B, a classification unit 15C, a specific unit 15D, and an execution unit 15F.
- the reception unit 15A is a processing unit that receives the above machine learning execution request.
- the reception unit 15A can receive the designation of a set of data used for the above machine learning, for example, correlation data 13A, learning data 13L, and model data 13M.
- a part or all of the data set used for machine learning does not necessarily have to be the data stored in the storage unit 13.
- the reception unit 15A can receive a part or all of the data set stored in the client terminal 30 or an external device (not shown) such as a file server.
- the reception unit 15A can refer to a set of data designated by the client terminal 30, for example, the correlation data 13A, the learning data 13L, and the model data 13M from the storage unit 13 to a predetermined storage area, for example, the control unit 15. Read to the area.
- the generation unit 15B is a processing unit that generates a network having a graph structure showing relationships between each entity.
- the generation unit 15B can be generated from the correlation matrix between the entities included in the correlation data 13A.
- the generation unit 15B considers that among the correlation matrices between the entities included in the correlation data 13A, there is a relationship between the entities whose correlation coefficient is a predetermined threshold value, for example, 0.7 or more, and each entity is a node.
- the generation unit 15B generates an edge between the nodes corresponding to the set of entities indicated by the white hatch, while creating an edge between the nodes corresponding to the set of entities indicated by the other hatches. Do not generate. As a result, as shown in FIG. 3, a network having a graph structure is generated.
- the classification unit 15C is a processing unit that classifies the nodes included in the network into a plurality of modules.
- the "module" here corresponds to an example of a group.
- the classification unit 15C can classify the nodes into clusters corresponding to the modules by applying spectral clustering to the nodes included in the network generated by the generation unit 15B.
- the classification unit 15C can use the correlation coefficient between the entities corresponding to the nodes at both ends of the edge as the similarity in setting the weight given to each edge included in the network. .. For example, when the nodes corresponding to each of the entities e 1 to e 9 included in the network shown in FIG.
- module_1 including the six entities E 1 of e 1 to e 6 and the module _1 including the six entities E 1 of e 7 to e 9
- a model _2 containing the three entities E 2 is obtained.
- each entity is independent between the two modules.
- the identification unit 15D is a processing unit that identifies a first entity located at a connection portion of a graph structure between modules.
- the "module" here corresponds to an example of a group.
- the specific unit 15D searches the network generated by the generation unit 15B for edges connecting the modules generated according to the classification of clustering by the classification unit 15C.
- the entities corresponding to the nodes at both ends of the edge hit by such a search are identified as intermediary entities. For example, in the example shown in FIG. 3, the edge connecting the two independent module_1 and module_2, that is, the edge indicated by the thick line in the figure hits the search.
- Three entities e 8, e 1 and e 2 corresponding to the node at both ends of the thus edges found by the search are identified mediated entities.
- FIG. 4 is a diagram showing another example of the module. 4 shows an example with with a different network data of FIG. 3, as a result of the clustering for the network data, and Module_m containing entity E m, and module_m + 1 containing entity E m + 1 is shown. In the example shown in FIG. 4, since the two module_m and module_m + 1 are not connected at one edge, it is difficult to extract the intermediary entity.
- an upper limit of the number of connected edges connecting modules can be set as a search condition when searching for edges. For example, when the upper limit of the number of connections is "2", the edge connecting the two module_m and the model_m + 1 with two connections, that is, the two edges shown by the thick line in FIG. 4 hits the search. As a result, three entities e 11, e 13 and e 15 corresponding to the nodes at both ends of the edge is identified as mediated entities. On the other hand, the edge connecting the two module_m and module_m + 1 in three connections does not hit the search.
- the intermediary entity specified by the specific unit 15D in this way is stored as the first entity 15E in the storage area that can be referred to by the execution unit 15F.
- Execution unit 15F is a processing unit that executes machine learning.
- the execution unit 15F sets the change rate of the machine learning execution order or model parameters of the first training data including the intermediary entity in the triple more than other learning data in which the intermediary entity is not included in the triple. Prioritize.
- the execution unit 15F extracts the first learning data including the intermediary entity specified by the specific unit 15D from the learning data included in the learning data 13L. Then, the execution unit 15F repeats the following processing for the number of times corresponding to the number of the first learning data per epoch until a predetermined end condition is satisfied. That is, the execution unit 15F inputs the first learning data to the model developed on the work area (not shown) according to the model data 13M. As a result, the triple score ⁇ of the first training data is output from the model.
- FIG. 5 is a diagram showing an example of a model. All of the model examples shown in FIG. 5 are designed so that the calculated value of the scoring function ⁇ for the “true” triple is higher than the calculated value of the scoring function ⁇ for the “false” triple. There is. In the top two models, ⁇ can take any real number. On the other hand, in the two models from the bottom, ⁇ is always negative, so the calculated value of the scoring function ⁇ for triples that are "true” is close to "0", and scoring for triples that are "false”. The calculated value of the function ⁇ is a model that is assumed to be a negative value far from "0".
- the model shown in FIG. 5 is, for example, that RESCAL is shown in Paper 3, DistMult is shown in Paper 4, TransE is shown in Paper 5, and TransH is shown in Paper 6.
- RESCAL is shown in Paper 3
- DistMult is shown in Paper 4
- TransE is shown in Paper 5
- TransH is shown in Paper 6.
- Reatise 3 Maximilian Nickel, Volker Tresp, and Hans-Peter Kriegel. 2011. A three-way model for collective learning on multi-relational data. In Proceedings of the 28th International Conference on Machine Learning. Pages 809-816
- the execution unit 15F updates the parameters of the model.
- the cost can be calculated by summing the scores ⁇ of all triples. Based on the cost calculated in this way, the execution unit 15F executes the calculation of parameters such as the optimization of the log-likelihood. Then, the execution unit 15F updates the parameters of the model included in the model data 13M to the parameters obtained by calculation. The update of the model parameters is repeated until a predetermined end condition is satisfied. For example, as an example of the above termination condition, a specified number of epochs, for example, 1000 times can be set.
- the rate of change obtained from the difference in the amount of parameter updates between the nth and n + 1th times and the difference in the amount of parameter updates between the n + 1th and n + 2nd times is less than the predetermined threshold value ⁇ . That is, the convergence of the parameters can be set to the above-mentioned end condition.
- the execution unit 15F selects other learning data that does not include the intermediary entity specified by the specific unit 15D among the learning data included in the training data 13L. Extract. Then, the execution unit 15F repeats the following processing for the number of times corresponding to the number of other learning data per epoch until a predetermined end condition is satisfied. That is, the execution unit 15F inputs other learning data to the model developed on the work area (not shown) according to the model data 13M after the machine learning of the first learning data is completed. As a result, the triple score ⁇ of other training data is output from the model.
- the execution unit 15F updates the parameters of the model.
- the cost can be calculated by summing the scores ⁇ of all triples. Based on the cost calculated in this way, the execution unit 15F executes the calculation of parameters such as the optimization of the log-likelihood. Then, the execution unit 15F updates the parameters of the model included in the model data 13M to the parameters obtained by calculation. The model parameter update is repeated until the above termination condition is satisfied.
- FIGS. 6 and 7 are flowcharts (1) and (2) showing the procedure of the machine learning process according to the first embodiment.
- this process can be started when a machine learning execution request is received from the client terminal 30 or the like.
- the reception unit 15A acquires a set of data designated at the time of the above machine learning execution request, for example, correlation data 13A, learning data 13L, and model data 13M from the storage unit 13 (step S101). ).
- the generation unit 15B generates a network having a graph structure showing the relationships between the entities based on the correlation matrix between the entities included in the correlation data 13A (step S102).
- the classification unit 15C classifies the nodes into clusters corresponding to the modules by applying spectral clustering to the nodes included in the network generated in step S102 (step S103).
- the identification unit 15D identifies an intermediary entity located at the connection portion of the graph structure between the modules generated according to the classification of clustering according to step S103 from the network generated in step S102 (step S104). ..
- the execution unit 15F extracts the first learning data including the intermediary entity specified in step S104 from the learning data included in the learning data 13L (step S105). Then, the execution unit 15F repeats the processes from the following step S106 to the following step S108 until a predetermined end condition is satisfied. Further, the execution unit 15F repeats the process of step S106 below for the number of times corresponding to the number of the first learning data per epoch.
- the execution unit 15F inputs the first learning data to the model developed on the work area (not shown) according to the model data 13M (step S106). As a result, the triple score ⁇ of the first training data is output from the model.
- the execution unit 15F calculates the cost based on the scores ⁇ of all triples (step S107). Based on the cost calculated in this way, the execution unit 15F executes the calculation of the parameters such as the optimization of the log-likelihood, and then converts the parameters of the model included in the model data 13M into the parameters obtained by the calculation. Update (step S108).
- the execution unit 15F executes the following processing. .. That is, as shown in FIG. 7, the execution unit 15F extracts other learning data that does not include the intermediary entity specified in step S104 from the learning data included in the learning data 13L (step S109).
- the execution unit 15F repeats the processes from the following step S110 to the following step S112 until a predetermined end condition is satisfied. Further, the execution unit 15F repeats the process of step S110 below for the number of times corresponding to the number of other learning data per epoch.
- the execution unit 15F inputs other learning data to the model developed on the work area (not shown) according to the model data 13M after the machine learning of the first learning data is completed (step S110). As a result, the triple score ⁇ of other training data is output from the model.
- the execution unit 15F calculates the cost based on the scores ⁇ of all the triples (step S111). Based on the cost calculated in this way, the execution unit 15F executes the calculation of the parameters such as the optimization of the log-likelihood, and then converts the parameters of the model included in the model data 13M into the parameters obtained by the calculation. Update (step S112).
- the machine learning service according to the present embodiment includes machine learning of training data including triple mediation entities located at connections between modules appearing in a graph-structured network showing relationships between entities. Priority is given to machine learning of learning data. Therefore, according to the machine learning service according to the present embodiment, the convergence of the model parameters can be accelerated, so that the machine learning related to graph embedding can be accelerated.
- the execution order of machine learning of the first learning data is prioritized, but the present invention is not limited to this.
- the execution unit 15F can collectively execute machine learning of the first learning data and other learning data. In this case, when the execution unit 15F updates the parameters using the first learning data including the intermediary entity in the triple, the execution unit 15F updates the parameters using other learning data not including the intermediary entity in the triple. However, the rate of change of the parameters may be changed significantly.
- network data is generated using the correlation data 13A prepared separately from the learning data 13L, but the correlation data can also be generated from the learning data 13L.
- the correlation data can also be generated from the learning data 13L.
- the correlation coefficient is set to "1". Set "0". This makes it possible to generate correlation data.
- Example 1 an undirected graph is illustrated as an example of the graph structure of the network, but the machine learning process shown in FIGS. 6 and 7 can also be applied to the directed graph.
- the structure of the network generated for each type of relation, and the structure of the modules classified for each type of relation do not match between the relations.
- the server device 10 generates an edge between the nodes corresponding to at least one of all the relation types for each combination of entities, while all of them. If there is no relation in any of the relation types of, the edge is prohibited between the nodes corresponding to the combination.
- An intermediary entity can be identified from the module obtained by clustering the nodes included in the network thus generated.
- the server device 10 creates a network for each type of relation and executes network clustering for each type of relation.
- the server device 10 can also identify an intermediary entity based on the module obtained as the result of clustering the relation having the highest modularity among the results of clustering for each type of relation. ..
- the server device 10 can evaluate the modularity of each relation according to Newman Modularity and the like.
- the machine learning of other learning data is executed in order by the number of other learning data, but the present invention is not limited to this.
- other training data includes only intra-module entities, and intra-module entities have much less influence on the vector representation of entities within different modules than intermediary entities.
- other learning data may include a second learning data showing the relationship between the entities in the first group and a third learning data showing the relationship between the entities in the second group. Therefore, the execution unit 15F executes machine learning of the machine learning model by inputting the second learning data and the third learning data into the machine learning model in parallel. For example, in the example of FIG.
- the module_1 corresponds to the first group
- the module_2 has to correspond to the second group
- triple corresponds showing a relationship between entities e 3 ⁇ e 6.
- triples corresponds showing a relationship between entities e 7 and e 9.
- each component of each device shown in the figure does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of the device is functionally or physically dispersed / physically distributed in any unit according to various loads and usage conditions. Can be integrated and configured.
- the reception unit 15A, the generation unit 15B, the classification unit 15C, the specific unit 15D, or the execution unit 15F may be connected via a network as an external device of the server device 10.
- another device has a reception unit 15A, a generation unit 15B, a classification unit 15C, a specific unit 15D, or an execution unit 15F, respectively, and is connected to a network to cooperate with each other to realize the function of the server device 10. You may do so.
- FIG. 8 is a diagram showing an example of a computer hardware configuration.
- the computer 100 includes an operation unit 110a, a speaker 110b, a camera 110c, a display 120, and a communication unit 130. Further, the computer 100 has a CPU 150, a ROM 160, an HDD 170, and a RAM 180. Each of these 110 to 180 parts is connected via the bus 140.
- the HDD 170 includes a machine learning program 170a that exhibits the same functions as the reception unit 15A, the generation unit 15B, the classification unit 15C, the specific unit 15D, and the execution unit 15F shown in the first embodiment. Be remembered.
- the machine learning program 170a may be integrated or separated like the components of the reception unit 15A, the generation unit 15B, the classification unit 15C, the specific unit 15D, and the execution unit 15F shown in FIG. That is, not all the data shown in the first embodiment may be stored in the HDD 170, and the data used for processing may be stored in the HDD 170.
- the CPU 150 reads the machine learning program 170a from the HDD 170 and then deploys it to the RAM 180.
- the machine learning program 170a functions as a machine learning process 180a, as shown in FIG.
- the machine learning process 180a develops various data read from the HDD 170 in the area allocated to the machine learning process 180a in the storage area of the RAM 180, and executes various processes using the developed various data.
- examples of the processes executed by the machine learning process 180a include the processes shown in FIGS. 6 to 7.
- the CPU 150 not all the processing units shown in the first embodiment need to operate, and the processing units corresponding to the processes to be executed may be virtually realized.
- the above machine learning program 170a does not necessarily have to be stored in the HDD 170 or the ROM 160 from the beginning.
- the machine learning program 170a is stored in a "portable physical medium" such as a flexible disk inserted into the computer 100, that is, a so-called FD, CD-ROM, DVD disk, magneto-optical disk, or IC card. Then, the computer 100 may acquire and execute the machine learning program 170a from these portable physical media. Further, the machine learning program 170a is stored in another computer or server device connected to the computer 100 via a public line, the Internet, LAN, WAN, etc., and the computer 100 acquires the machine learning program 170a from these. You may try to execute it.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
機械学習プログラムは、複数のエンティティ間の関係を示すグラフ構造に含まれる複数のエンティティを分類し、分類に応じて生成された第1のグループと第2のグループとのグラフ構造における接続部分に位置する第1のエンティティを特定し、複数のエンティティ間の関係を示す複数の学習データのうち、第1のエンティティと他のエンティティとの関係を示す第1の学習データを他の学習データより優先して機械学習モデルに入力することによって、機械学習モデルの機械学習を実行する、処理をコンピュータに実行させる。
Description
本発明は、機械学習技術に関する。
知識グラフの埋め込み技術が知られている。例えば、知識グラフでは、知識は、「s(主語)についてr(述語)の値(目的語)はoである」といった3つ組、いわゆるトリプルで表現される。sおよびoはエンティティ、rはリレーションと呼ばれることがある。これらのトリプル(s,r,o)の要素各々を特徴量空間上のベクトルとして埋め込む変換が機械学習を実行することにより獲得される。このように機械学習で生成されるモデルは、一例として、未知の関係を有するトリプルを予測するリンク予測等の推論に利用される。
しかしながら、上記の知識グラフの埋め込み技術では、全てのエンティティの間でモデルのパラメータの収束に与える影響が同一でないにもかかわらず、機械学習の実行時に全てのエンティティが同列に扱われる。それ故、一部のエンティティが一因となってモデルのパラメータの収束が長引くので、機械学習の処理遅延の原因となる。
1つの側面では、本発明は、グラフ埋め込みに関する機械学習の高速化を実現できる機械学習プログラム、機械学習方法及び機械学習装置を提供することを目的とする。
一態様では、機械学習プログラムは、複数のエンティティ間の関係を示すグラフ構造に含まれる前記複数のエンティティを分類し、前記分類に応じて生成された第1のグループと第2のグループとの前記グラフ構造における接続部分に位置する第1のエンティティを特定し、前記複数のエンティティ間の関係を示す複数の学習データのうち、前記第1のエンティティと他のエンティティとの関係を示す第1の学習データを他の学習データより優先して機械学習モデルに入力することによって、前記機械学習モデルの機械学習を実行する、処理をコンピュータに実行させる。
グラフ埋め込みに関する機械学習の高速化を実現できる。
以下に添付図面を参照して本願に係る機械学習プログラム、機械学習方法及び機械学習装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
図1は、実施例1に係るサーバ装置10の機能的構成の一例を示すブロック図である。図1には、実施例1に係る機械学習サービスが適用されるシステムのあくまで一例として、クライアントサーバシステム1が例示されている。図1に示すクライアントサーバシステム1は、1つの側面として、グラフ埋め込みに関する機械学習を実行する機械学習サービスを提供するものである。
図1に示すように、クライアントサーバシステム1には、サーバ装置10と、クライアント端末30とが含まれ得る。これらサーバ装置10及びクライアント端末30は、ネットワークNWを介して通信可能に接続される。例えば、ネットワークNWは、有線または無線を問わず、インターネットやLAN(Local Area Network)などの任意の種類の通信網であってよい。
サーバ装置10は、上記の機械学習サービスを提供するコンピュータの一例である。サーバ装置10は、機械学習装置の一例に対応し得る。一実施形態として、サーバ装置10は、上記の機械学習サービスに対応する機能を実現する機械学習プログラムを任意のコンピュータにインストールさせることによって実装できる。例えば、サーバ装置10は、上記の機械学習サービスをオンプレミスに提供するサーバとして実装することができる。この他、サーバ装置10は、SaaS(Software as a Service)型のアプリケーションとして実装することで、上記の機械学習サービスをクラウドサービスとして提供してもよい。
クライアント端末30は、上記の機械学習サービスの提供を受けるコンピュータの一例である。例えば、クライアント端末30には、パーソナルコンピュータなどのデスクトップ型のコンピュータなどが対応する。これはあくまで一例に過ぎず、クライアント端末30は、ラップトップ型のコンピュータや携帯端末装置、ウェアラブル端末などの任意のコンピュータであってもよい。
埋め込み対象とするグラフの一例として知識グラフを挙げる。例えば、知識グラフでは、知識は、「s(主語)についてr(述語)の値(目的語)はoである」といった3つ組、いわゆるトリプルで表現される。sおよびoはエンティティ、rはリレーションと呼ばれることがある。これらのトリプル(s,r,o)の要素各々を特徴量空間上のベクトルとして埋め込む変換が機械学習を実行することにより獲得される。このように機械学習で生成されるモデルは、一例として、未知の関係を有するトリプルを予測するリンク予測等の推論に利用できる。
上記の背景技術の欄で説明した通り、上記の知識グラフの埋め込み技術では、全てのエンティティの間でモデルのパラメータの収束に与える影響が同一でないにもかかわらず、機械学習の実行時に全てのエンティティが同列に扱われる。それ故、一部のエンティティが一因となってモデルのパラメータの収束が長引くので、機械学習の高速化に限界がある。
そこで、本実施例に係る機械学習サービスでは、1つの側面として、機械学習の実行時に扱うエンティティに優劣を付ける課題解決のアプローチを採用する。このようなアプローチは、エンティティ間の関係を示すグラフ構造のネットワークに現れるモジュール間の接続部分に位置するエンティティである否かにより、モデルのパラメータの収束に与える影響に違いが現れるという技術的視点があってはじめて採用し得る。
すなわち、上記のネットワークは、下記に例示される通り、モジュール構造を有することが各種の研究結果として得られている。あくまで一例として、“Stack Overflow”で調査されたネットワークにおいて、モジュール性がしばしば見られる。ネットワークはいくつかのモジュールに分けられることがあり、特に、社会的なネットワークでは、モジュールはコミュニティと呼ばれることもある。他の一例として、下記の論文1からも明らかな通り、現実の代謝ネットワークにおいても、生化学的にまとまって分けて考えられる機能的モジュールが存在している。[論文1]Ravasz E, Somera AL, Mongru DA, Oltvai ZN, Barabasi AL.“Hierarchical organization of modularity in metabolic networks.” Science. 2002 Aug 30;297(5586):1551-5.
さらに、ネットワークに現れるモジュールにおいて、モジュール性は、相関行列に現れる側面がある。下記の論文2の図3では、因子(タンパク質=エンティティ)の発現相関がプロットされた例が示されている。[論文2]“Combined Metabolomic Analysis of Plasma and Urine Reveals AHBA, Tryptophan and Serotonin Metabolism as Potential Risk Factors in Gestational Diabetes Mellitus (GDM)”
例えば、上記のネットワークは、エンティティ間の相関行列から生成することができる。ここでは、あくまで一例として、相関係数が所定の閾値、例えば0.7以上であるエンティティ間にリレーションがあるとみなし、エンティティがノードで表現されると共にリレーションがエッジで表現されたグラフ構造のネットワークを生成する例を挙げる。
図2は、エンティティの相関プロットの一例を示す図である。図2には、あくまで一例として、e1~e9の9個のエンティティの組合せごとにエンティティ間の相関係数がその値に応じて区別されたハッチングで示されている。例えば、図2に示す例で言えば、e1~e9の各エンティティに対応するノードが生成される。さらに、白のハッチングで示されたエンティティの組に対応するノード間にエッジが生成される一方で、それ以外のハッチングで示されたエンティティの組に対応するノード間にはエッジが生成されない。これによって、グラフ構造を有するネットワーク(図3参照)が生成される。
このようなネットワークは、上述の通り、複数のモジュールに分類することができる。あくまで一例として、ネットワークに含まれるノードにスペクトラルクラスタリングを適用することにより、ノードをモジュールに対応するクラスタに分類することができる。
図3は、モジュールの一例を示す図である。図3には、図2に示すエンティティの相関プロットから生成されたネットワークデータが示されている。さらに、図3には、ネットワークデータに対するクラスタリングの結果として、2つのモジュール、すなわちmodule_1及びmodule_2が示されている。図3に示すように、ネットワークデータに対するノードの分類結果として、e1~e6の6つのエンティティE1を含むmodule_1と、e7~e9の3つのエンティティE2を含むmodule_2とが得られる。これらmodule_1およびmodule_2は、独立、すなわちE1∩E2=空集合である。
Entity:ei∈E1(i=1,…,6)module_1
Entity:ej∈E2(j=7,8,9)module_2
Entity:ei∈E1(i=1,…,6)module_1
Entity:ej∈E2(j=7,8,9)module_2
図3に示す例で言えば、2つの独立するmodule_1及びmodule_2間でグラフ構造の接続部分に位置するe8、e1及びe2の3個のエンティティを「媒介的エンティティ」と識別する。一方で、媒介的エンティティ以外のe3~e7及びe9のエンティティを「モジュール内エンティティ」と識別する。なお、媒介的エンティティは、第1のエンティティの一例に対応する。
このような媒介的エンティティ及びモジュール内エンティティの識別がなされた状況の下、トリプル(s,r,o)で表現される複数の学習データ(訓練データ)のうちトリプルのsまたはoの要素に媒介的エンティティが含まれるか否かにより、学習データを区別する。
例えば、トリプルのsまたはoの要素に媒介的エンティティが含まれる学習データを「第1の学習データ」と識別される一方で、トリプルのsまたはoの要素に媒介的エンティティが含まれない学習データを「他の学習データ」と識別される。
このような第1の学習データの例として、t1(e8,r,e1)やt2(e8,r,e2)が挙げられる。これらt1やt2、つまりe8やe1、e2に基づいてモデルのパラメータが更新される際、その影響は、E1およびE2のほぼ全てのエンティティに及ぶ。また、e8やe1、e2などの媒介的エンティティは含まれないが、E1やE2のモジュール内エンティティが含まれる他の学習データに基づいてモデルのパラメータが修正されると、それに合わせてt1やt2に基づくモデルのパラメータの修正が改めて必要となる。
これらのことから、module_1及びmodule_2内のエンティティに基づく学習(訓練)が収束してもなお、媒介的エンティティのトリプルt1及びt2のコストは下がらず、その学習の所要回数はモジュール内エンティティよりも多くなることが考えられる。
より具体的には、モジュール内エンティティは、媒介的エンティティに比べて多数であることから、1エポックだけでも多数のトリプルでコストが計算されるので、それらのトリプルを同時に満たす埋め込みベクトルの学習が行われる。一方で、媒介的エンティティは、モジュール内エンティティに比べてトリプルが少数であるので、1エポックでコスト計算が行われる機会も少ない。これらのことから、媒介的エンティティを含むトリプルは、モデルのパラメータの収束に時間がかかるか、あるいはコストが大きいまま学習が終了される可能性が高い。
以上のことから、本実施例に係る機械学習サービスは、媒介的エンティティをトリプルに含む第1の学習データの機械学習の実行順序またはモデルパラメータの変化率を媒介的エンティティをトリプルに含まない他の学習データよりも優先する。
つまり、複数のモジュール間にまたがるグローバルな関係についての学習を先行させる。これによって、他のエンティティの埋め込みベクトルの表現に影響を与えるインフルエンサーの埋め込みベクトルの表現を先行して安定させる。その上で、1つのモジュールにクローズする局所的な関係についての学習を後続させる。インフルエンサー以外のエンティティ、例えばモジュール内エンティティは、独立性が高い。このため、他のモジュールのエンティティの埋め込みベクトルの表現の学習が行われても、モジュールのエンティティが受ける影響は小さい。それ故、インフルエンサーに対応する媒介的エンティティの埋め込みベクトルの表現が安定した状況下では、モジュールのエンティティの埋め込みベクトルの表現は微修正レベルの修正に抑えることが可能である。
したがって、本実施例に係る機械学習サービスによれば、モデルのパラメータの収束を高速化できるので、グラフ埋め込みに関する機械学習の高速化を実現することが可能になる。
次に、本実施例に係るサーバ装置10の機能的構成について説明する。図1には、サーバ装置10が有する機能に対応するブロックが模式化されている。図1に示すように、サーバ装置10は、通信インタフェイス部11と、記憶部13と、制御部15とを有する。なお、図1には、上記の機械学習サービスに関連する機能部が抜粋して示されているに過ぎず、図示以外の機能部、例えば既存のコンピュータがデフォルトまたはオプションで装備する機能部がサーバ装置10に備わることを妨げない。
通信インタフェイス部11は、他の装置、例えばクライアント端末30との間で通信制御を行う通信制御部の一例に対応する。
あくまで一例として、通信インタフェイス部11は、LANカードなどのネットワークインターフェイスカードにより実現される。例えば、通信インタフェイス部11は、クライアント端末30から機械学習を実行するリクエストを受け付けたり、あるいは機械学習の結果として生成された機械学習モデルをクライアント端末30へ出力したりする。
記憶部13は、制御部15で実行されるOS(Operating System)を始め、上記の機械学習プログラムなどの各種プログラムに用いられるデータを記憶する機能部である。
一実施形態として、記憶部13は、サーバ装置10における補助記憶装置により実現される。例えば、HDD(Hard Disk Drive)や光ディスク、SSD(Solid State Drive)などが補助記憶装置に対応する。この他、EPROM(Erasable Programmable Read Only Memory)などのフラッシュメモリも補助記憶装置に対応し得る。
記憶部13は、制御部15で実行されるプログラムに用いられるデータの一例として、相関データ13Aと、学習データ13Lと、モデルデータ13Mとを記憶する。これら相関データ13A、学習データ13L及びモデルデータ13M以外にも、記憶部13は、学習済みのモデルのテストに用いるテストデータの他、上記の機械学習サービスの提供を受けるユーザのアカウント情報などの各種のデータを記憶することができる。
相関データ13Aは、エンティティの相関を示すデータである。あくまで一例として、相関データ13Aには、エンティティの組合せごとにエンティティ間の相関係数が対応付けられたデータなどを採用できる。
学習データ13Lは、グラフ埋め込みに関する機械学習に用いるデータである。このような学習データ13Lの一例として、記憶部13には、トリプル(s,r,o)で表現される複数の学習データが記憶される。
モデルデータ13Mは、機械学習モデルに関するデータである。例えば、機械学習モデルがニューラルネットワークである場合、モデルデータ13Mには、モデルを形成する入力層、隠れ層及び出力層の各層のニューロンやシナプスなどのモデルの層構造を始め、各層の重みやバイアスなどのモデルのパラメータが含まれ得る。なお、モデル学習が実行される前の段階では、モデルのパラメータの一例として、乱数により初期設定されたパラメータが記憶される一方で、モデル学習が実行された後の段階では、学習済みのパラメータが保存される。
制御部15は、サーバ装置10の全体制御を行う処理部である。一実施形態として、制御部15は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などのハードウェアプロセッサにより実現される。ここでは、プロセッサの一例として、CPUやMPUを例示したが、汎用型および特化型を問わず、任意のプロセッサにより実装することができる。この他、制御部15は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによって実現されてもよい。
制御部15は、図示しないメモリ、例えばRAM(Random Access Memory)のワークエリア上に、上記の機械学習プログラムを展開することにより、下記の処理部を仮想的に実現する。図1に示すように、制御部15は、受付部15Aと、生成部15Bと、分類部15Cと、特定部15Dと、実行部15Fとを有する。
受付部15Aは、上記の機械学習の実行リクエストを受け付ける処理部である。一実施形態として、受付部15Aは、上記の機械学習に用いるデータの一式、例えば相関データ13Aや学習データ13L、モデルデータ13Mの指定を受け付けることができる。このように機械学習に用いるデータセットの一部または全部は、必ずしも記憶部13に記憶されたデータでなくてもよい。例えば、受付部15Aは、クライアント端末30または図示しない外部装置、例えばファイルサーバ等に保存されたデータセットの一部または全部を受け付けることができる。そして、受付部15Aは、クライアント端末30から指定を受け付けたデータの一式、例えば相関データ13Aや学習データ13L、モデルデータ13Mを記憶部13から所定の記憶領域、例えば制御部15が参照可能なワークエリアへ読み出す。
生成部15Bは、各エンティティ間の関係を示すグラフ構造を有するネットワークを生成する処理部である。一実施形態として、生成部15Bは、相関データ13Aに含まれるエンティティ間の相関行列から生成することができる。例えば、生成部15Bは、相関データ13Aに含まれるエンティティ間の相関行列のうち、相関係数が所定の閾値、例えば0.7以上であるエンティティ間にリレーションがあるとみなし、各エンティティをノードで示すと共にリレーションをエッジで示すグラフ構造のネットワークを生成する。図2に示す例で言えば、生成部15Bは、e1~e9の各エンティティに対応するノードを生成する。さらに、生成部15Bは、白のハッチングで示されたエンティティの組に対応するノード間にエッジを生成する一方で、それ以外のハッチングで示されたエンティティの組に対応するノード間にはエッジを生成しない。これによって、図3に示すように、グラフ構造を有するネットワークが生成される。
分類部15Cは、ネットワークに含まれるノードを複数のモジュールに分類する処理部である。ここで言う「モジュール」は、グループの一例に対応する。一実施形態として、分類部15Cは、生成部15Bにより生成されたネットワークに含まれるノードにスペクトラルクラスタリングを適用することにより、ノードをモジュールに対応するクラスタに分類することができる。このようにスペクトラルクラスタリングを適用する場合、分類部15Cは、ネットワークに含まれる各エッジに付与する重みの設定にエッジの両端のノードに対応するエンティティ間の相関係数を類似度として用いることができる。例えば、図3に示すネットワークに含まれるe1~e9の各エンティティに対応するノードがクラスタリングされた場合、e1~e6の6つのエンティティE1を含むmodule_1と、e7~e9の3つのエンティティE2を含むmodule_2とが得られる。これらmodule_1およびmodule_2は、独立、すなわちE1∩E2=空集合である。
なお、ここでは、2つのモジュール間で各エンティティが独立である場合を例示したが、必ずしも各エンティティは完全に独立でなくてもよい。例えば、E1∩E2=ES、ただし|ES|≪|E1|かつ|ES|≪|E2|の条件を満たす場合、2つのモジュール間で重複するエンティティESの存在を認めてもよい。
特定部15Dは、モジュール間でグラフ構造の接続部分に位置する第1のエンティティを特定する処理部である。ここで言う「モジュール」は、グループの一例に対応する。一実施形態として、特定部15Dは、生成部15Bにより生成されたネットワークから、分類部15Cによるクラスタリングの分類に応じて生成されたモジュール間を接続するエッジを検索する。このような検索でヒットするエッジの両端のノードに対応するエンティティが媒介的エンティティとして特定される。例えば、図3に示す例で言えば、2つの独立するmodule_1及びmodule_2を接続するエッジ、すなわち図中の太線で示されたエッジが検索にヒットする。このように検索でヒットしたエッジの両端のノードに対応するe8、e1及びe2の3個のエンティティが媒介的エンティティと識別される。
ここで、複数のモジュール間は、必ずしも1つのエッジで接続されているとは限らない。図4は、モジュールの他の一例を示す図である。図4には、図3の例と異なるネットワークデータと共に、当該ネットワークデータに対するクラスタリングの結果として、エンティティEmを含むmodule_mと、エンティティEm+1を含むmodule_m+1とが示されている。図4に示す例で言えば、2つのmodule_m及びmodule_m+1は、1つのエッジでは接続されていないので、媒介的エンティティの抽出が困難となる。
このような場合に備えて、エッジの検索時にモジュール間を接続するエッジの連結数の上限を検索条件として設定することができる。例えば、連結数の上限を「2」としたとき、2つのmodule_m及びmodule_m+1を2連結で接続するエッジ、すなわち図4に太線で示された2つのエッジが検索にヒットする。この結果、エッジの両端のノードに対応するe11、e13及びe15の3個のエンティティが媒介的エンティティと識別される。その一方で、2つのmodule_m及びmodule_m+1を3連結で接続するエッジは検索にヒットしない。
なお、ここでは、モジュール間を接続するエッジの連結数に上限を設定する例を挙げたが、連結数の初期値を「0」とし、所定数の媒介的エンティティが得られるか、あるいは連結数の上限に達するまで連結数をインクリメントしてモジュール間を接続するエッジを検索することもできる。
このように特定部15Dにより特定された媒介的エンティティが第1のエンティティ15Eとして実行部15Fが参照可能な記憶領域に保存される。
実行部15Fは、機械学習を実行する処理部である。一実施形態として、実行部15Fは、媒介的エンティティをトリプルに含む第1の学習データの機械学習の実行順序またはモデルパラメータの変化率を、媒介的エンティティをトリプルに含まない他の学習データよりも優先する。
以下、あくまで一例として、第1の学習データの機械学習の実行順序を優先する例を挙げる。この場合、実行部15Fは、学習データ13Lに含まれる学習データのうち、特定部15Dにより特定された媒介的エンティティを含む第1の学習データを抽出する。その上で、実行部15Fは、所定の終了条件を満たすまで、1エポックにつき、第1の学習データの数に対応する回数の分、下記の処理を繰り返す。すなわち、実行部15Fは、モデルデータ13Mにしたがって図示しないワークエリア上に展開されたモデルへ第1の学習データを入力する。これによって、モデルから第1の学習データのトリプルのスコアΦが出力される。
ここで、グラフ埋め込みのモデルには、図5に示す各種のモデルを用いることができる。図5は、モデルの一例を示す図である。図5に示すモデルの例はいずれも、「偽」であるトリプルに対するスコアリング関数Φの計算値よりも、「真」であるトリプルに対するスコアリング関数Φの計算値が高くなるように設計されている。上から2個のモデルでは、Φはあらゆる実数値を取り得る。その一方で、下から2個のモデルでは、Φが常に負であるので、「真」であるトリプルに対するスコアリング関数Φの計算値は「0」に近く、「偽」であるトリプルに対するスコアリング関数Φの計算値は「0」から大きく離れた負の値になることが想定されたモデルである。図5示すモデルは、例えば、RESCALは論文3、DistMultは論文4、TransEは論文5、TransHは論文6に示されたものである。
[論文3]
Maximilian Nickel, Volker Tresp, and Hans-Peter Kriegel. 2011. A three-way model for collective learning on multi-relational data. In Proceedings of the 28th International Conference on Machine Learning. pages 809-816
[論文4]
Bishan Yang, Wen-tau Yih, Xiaodong He, Jianfeng Gao, and Li Deng. 2015. Embedding entities and relations for learning and inference in knowledge bases. The 3rd International Conference on Learning Representations.
[論文5]
Antoine Bordes, Nicolas Usunier, Alberto Garcia-Duran, Jason Weston, and Oksana Yakhnenko. 2013. Translating embeddings for modeling multi-relational data. In Advances in Neural Information Processing Systems. pages 2787-2795
[論文6]
Zhen Wang, Jianwen Zhang, Jianlin Feng, and Zheng Chen. 2014. Knowledge graph embedding by trans-lating on hyperplanes. In The Twenty-eighth AAAI Conference on Artificial Intelligence. pages 1112-1119.
[論文3]
Maximilian Nickel, Volker Tresp, and Hans-Peter Kriegel. 2011. A three-way model for collective learning on multi-relational data. In Proceedings of the 28th International Conference on Machine Learning. pages 809-816
[論文4]
Bishan Yang, Wen-tau Yih, Xiaodong He, Jianfeng Gao, and Li Deng. 2015. Embedding entities and relations for learning and inference in knowledge bases. The 3rd International Conference on Learning Representations.
[論文5]
Antoine Bordes, Nicolas Usunier, Alberto Garcia-Duran, Jason Weston, and Oksana Yakhnenko. 2013. Translating embeddings for modeling multi-relational data. In Advances in Neural Information Processing Systems. pages 2787-2795
[論文6]
Zhen Wang, Jianwen Zhang, Jianlin Feng, and Zheng Chen. 2014. Knowledge graph embedding by trans-lating on hyperplanes. In The Twenty-eighth AAAI Conference on Artificial Intelligence. pages 1112-1119.
その後、第1の学習データごとにトリプルのスコアΦが得られた場合、実行部15Fは、モデルのパラメータを更新する。あくまで一例として、図5に示すモデルのうち「TransE」が用いられる場合、全トリプルのスコアΦを合計することによりコストを算出することができる。このように算出されたコストに基づいて、実行部15Fは、対数尤度の最適化などのパラメータの計算を実行する。その上で、実行部15Fは、モデルデータ13Mに含まれるモデルのパラメータを計算により得られたパラメータに更新する。なお、モデルのパラメータの更新は、所定の終了条件を満たすまで繰り返される。例えば、上記の終了条件の一例として、規定のエポック数、例えば1000回を設定するができる。他の一例として、n回目およびn+1回目の間のパラメータの更新量の差と、n+1回目およびn+2回目の間のパラメータの更新量の差とから求まる変化率が所定の閾値ε未満になること、すなわちパラメータの収束を上記の終了条件に設定することもできる。
このように第1の学習データの機械学習が終了した後、実行部15Fは、学習データ13Lに含まれる学習データのうち、特定部15Dにより特定された媒介的エンティティを含まない他の学習データを抽出する。その上で、実行部15Fは、所定の終了条件を満たすまで、1エポックにつき、他の学習データの数に対応する回数の分、下記の処理を繰り返す。すなわち、実行部15Fは、第1の学習データの機械学習の終了後のモデルデータ13Mにしたがって図示しないワークエリア上に展開されたモデルへ他の学習データを入力する。これによって、モデルから他の学習データのトリプルのスコアΦが出力される。
その後、他の学習データごとにトリプルのスコアΦが得られた場合、実行部15Fは、モデルのパラメータを更新する。あくまで一例として、図5に示すモデルのうち「TransE」が用いられる場合、全トリプルのスコアΦを合計することによりコストを算出することができる。このように算出されたコストに基づいて、実行部15Fは、対数尤度の最適化などのパラメータの計算を実行する。その上で、実行部15Fは、モデルデータ13Mに含まれるモデルのパラメータを計算により得られたパラメータに更新する。なお、モデルのパラメータの更新は、上記の終了条件を満たすまで繰り返される。
図6及び図7は、実施例1に係る機械学習処理の手順を示すフローチャート(1)及び(2)である。この処理は、あくまで一例として、クライアント端末30等から機械学習の実行リクエストを受け付けた場合に開始することができる。
図6に示すように、受付部15Aは、上記の機械学習の実行リクエスト時に指定を受け付けたデータの一式、例えば相関データ13Aや学習データ13L、モデルデータ13Mを記憶部13から取得する(ステップS101)。
続いて、生成部15Bは、相関データ13Aに含まれるエンティティ間の相関行列に基づいて各エンティティ間の関係を示すグラフ構造を有するネットワークを生成する(ステップS102)。
そして、分類部15Cは、ステップS102で生成されたネットワークに含まれるノードにスペクトラルクラスタリングを適用することにより、ノードをモジュールに対応するクラスタに分類する(ステップS103)。
続いて、特定部15Dは、ステップS102で生成されたネットワークから、ステップS103によるクラスタリングの分類に応じて生成されたモジュール間でグラフ構造の接続部分に位置する媒介的エンティティを特定する(ステップS104)。
その後、実行部15Fは、学習データ13Lに含まれる学習データのうち、ステップS104で特定された媒介的エンティティを含む第1の学習データを抽出する(ステップS105)。その上で、実行部15Fは、所定の終了条件を満たすまで、下記のステップS106~下記のステップS108までの処理を繰り返す。さらに、実行部15Fは、1エポックにつき、第1の学習データの数に対応する回数の分、下記のステップS106の処理を繰り返す。
すなわち、実行部15Fは、モデルデータ13Mにしたがって図示しないワークエリア上に展開されたモデルへ第1の学習データを入力する(ステップS106)。これによって、モデルから第1の学習データのトリプルのスコアΦが出力される。
その後、第1の学習データごとにトリプルのスコアΦが得られた場合、実行部15Fは、全トリプルのスコアΦに基づいてコストを算出する(ステップS107)。このように算出されたコストに基づいて、実行部15Fは、対数尤度の最適化などのパラメータの計算を実行した上で、モデルデータ13Mに含まれるモデルのパラメータを計算により得られたパラメータに更新する(ステップS108)。
そして、上記のステップS106~上記のステップS108が所定の終了条件を満たすまで実行されることにより第1の学習データの機械学習が終了した後、実行部15Fは、次のような処理を実行する。すなわち、実行部15Fは、図7に示すように、学習データ13Lに含まれる学習データのうち、ステップS104で特定された媒介的エンティティを含まない他の学習データを抽出する(ステップS109)。
その上で、実行部15Fは、所定の終了条件を満たすまで、下記のステップS110~下記のステップS112までの処理を繰り返す。さらに、実行部15Fは、1エポックにつき、他の学習データの数に対応する回数の分、下記のステップS110の処理を繰り返す。
すなわち、実行部15Fは、第1の学習データの機械学習の終了後のモデルデータ13Mにしたがって図示しないワークエリア上に展開されたモデルへ他の学習データを入力する(ステップS110)。これによって、モデルから他の学習データのトリプルのスコアΦが出力される。
そして、他の学習データごとにトリプルのスコアΦが得られた場合、実行部15Fは、全トリプルのスコアΦに基づいてコストを算出する(ステップS111)。このように算出されたコストに基づいて、実行部15Fは、対数尤度の最適化などのパラメータの計算を実行した上で、モデルデータ13Mに含まれるモデルのパラメータを計算により得られたパラメータに更新する(ステップS112)。
その後、上記のステップS110~上記のステップS112が所定の終了条件を満たすまで繰り返して実行された後、他の学習データの機械学習を終了し、全体の処理も終了する。
上述してきたように、本実施例に係る機械学習サービスは、エンティティ間の関係を示すグラフ構造のネットワークに現れるモジュール間の接続部分に位置する媒介的エンティティをトリプルに含む学習データの機械学習を他の学習データの機械学習よりも優先する。したがって、本実施例に係る機械学習サービスによれば、モデルのパラメータの収束を高速化できるので、グラフ埋め込みに関する機械学習の高速化を実現することが可能になる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
上記の実施例1では、あくまで一例として、第1の学習データの機械学習の実行順序を優先する例を挙げたが、これに限定されない。例えば、実行部15Fは、第1の学習データおよび他の学習データの機械学習をまとめて実行することもできる。この場合、実行部15Fは、媒介的エンティティをトリプルに含む第1の学習データを用いてパラメータを更新する際、媒介的エンティティをトリプルに含まない他の学習データを用いてパラメータを更新する場合よりもパラメータの変化率を大きく変化させることとすればよい。
上記の実施例1では、あくまで一例として、学習データ13Lとは別に用意された相関データ13Aを用いてネットワークデータを生成する例を挙げたが、学習データ13Lから相関データを生成することもできる。例えば、学習データ13Lに含まれるエンティティの組合せごとに、当該組合せに対応するエンティティの組をs及びoに含むトリプルが学習データ13Lに存在する場合、すなわち当該組合せのリレーションが存在する場合に相関係数に「1」を設定する一方で、当該組合せに対応するエンティティの組をs及びoに含むトリプルが学習データ13Lに存在しない場合、すなわち当該組合せのリレーションが存在しない場合に相関係数に「0」を設定する。これによって、相関データを生成することができる。
上記の実施例1では、ネットワークが有するグラフ構造の一例として、無向グラフを例示したが、有向グラフにも図6及び図7に示す機械学習処理を適用できる。例えば、トリプルデータに複数種類のリレーションが存在する場合、リレーションの種類ごとに生成されるネットワークの構造、ひいてはリレーションの種類ごとに分類されるモジュールの構造は各リレーションの間で一致しない。
一例として、サーバ装置10は、エンティティの組合せごとに、全てのリレーションの種類のうち少なくともいずれか1つの種類のリレーションが存在する場合に当該組合せに対応するノード間にエッジを生成する一方で、全てのリレーションの種類のいずれにもリレーションが存在しない場合に当該組合せに対応するノード間にエッジを禁止する。このようにして生成されたネットワークに含まれるノードをクラスタリングすることにより得られたモジュールから媒介的エンティティを特定することができる。
他の一例として、サーバ装置10は、リレーションの種類ごとにネットワークを生成し、ネットワークのクラスタリングをリレーションの種類ごとに実行する。その上で、サーバ装置10は、リレーションの種類ごとにクラスタリングが行われた結果のうち、モジュール性が最高であるリレーションのクラスタリング結果として得られたモジュールに基づいて媒介的エンティティを特定することもできる。この場合、サーバ装置10は、Newman Modularityなどにしたがって各リレーションのモジュール性の高低を評価することができる。
上記の実施例1では、他の学習データの数の分、他の学習データの機械学習が順番に実行される例を挙げたが、これに限定されない。上述の通り、他の学習データには、モジュール内エンティティしか含まれず、モジュール内エンティティは異なるモジュール内のエンティティのベクトルの表現に与える影響は媒介的エンティティに比べて十分に少ない。例えば、他の学習データは、第1のグループ内のエンティティ間の関係を示す第2の学習データと第2のグループ内のエンティティ間の関係を示す第3の学習データとが含まれ得る。このことから、実行部15Fは、第2の学習データと第3の学習データとを機械学習モデルに並列に入力することによって、機械学習モデルの機械学習を実行する。例えば、図3の例で言えば、module_1が第1のグループに対応すると共に、module_2が第2のグループに対応するとしたとき、第2の学習データには、e8、e1及びe2の媒介的エンティティを除く、e3~e6のエンティティ間の関係を示すトリプルが該当する。また、第3の学習データには、e8、e1及びe2の媒介的エンティティを除く、e7及びe9のエンティティ間の関係を示すトリプルが該当する。これら第2の学習データおよび第3の学習データが機械学習モデルに並列に入力される。これによって、グラフ埋め込みに関する機械学習をさらに高速化できる。
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、受付部15A、生成部15B、分類部15C、特定部15Dまたは実行部15Fをサーバ装置10の外部装置としてネットワーク経由で接続するようにしてもよい。また、受付部15A、生成部15B、分類部15C、特定部15Dまたは実行部15Fを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のサーバ装置10の機能を実現するようにしてもよい。
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図8を用いて、上記の実施例1および本実施例と同様の機能を有する機械学習プログラムを実行するコンピュータの一例について説明する。
図8は、コンピュータのハードウェア構成例を示す図である。図8に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110~180の各部はバス140を介して接続される。
HDD170には、図8に示すように、上記の実施例1で示した受付部15A、生成部15B、分類部15C、特定部15D及び実行部15Fと同様の機能を発揮する機械学習プログラム170aが記憶される。この機械学習プログラム170aは、図1に示した受付部15A、生成部15B、分類部15C、特定部15D及び実行部15Fの各構成要素と同様、統合又は分離してもよい。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
このような環境の下、CPU150は、HDD170から機械学習プログラム170aを読み出した上でRAM180へ展開する。この結果、機械学習プログラム170aは、図8に示すように、機械学習プロセス180aとして機能する。この機械学習プロセス180aは、RAM180が有する記憶領域のうち機械学習プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、機械学習プロセス180aが実行する処理の一例として、図6~図7に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
なお、上記の機械学習プログラム170aは、必ずしも最初からHDD170やROM160に記憶されてなくてもよい。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に機械学習プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から機械学習プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに機械学習プログラム170aを記憶させておき、コンピュータ100がこれらから機械学習プログラム170aを取得して実行するようにしてもよい。
10 サーバ装置
11 通信インタフェイス部
13 記憶部
13A 相関データ
13L 学習データ
13M モデルデータ
15 制御部
15A 受付部
15B 生成部
15C 分類部
15D 特定部
15F 実行部
30 クライアント端末
11 通信インタフェイス部
13 記憶部
13A 相関データ
13L 学習データ
13M モデルデータ
15 制御部
15A 受付部
15B 生成部
15C 分類部
15D 特定部
15F 実行部
30 クライアント端末
Claims (20)
- 複数のエンティティ間の関係を示すグラフ構造に含まれる前記複数のエンティティを分類し、
前記分類に応じて生成された第1のグループと第2のグループとの前記グラフ構造における接続部分に位置する第1のエンティティを特定し、
前記複数のエンティティ間の関係を示す複数の学習データのうち、前記第1のエンティティと他のエンティティとの関係を示す第1の学習データを他の学習データより優先して機械学習モデルに入力することによって、前記機械学習モデルの機械学習を実行する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。 - 前記複数のエンティティ間の相関行列から前記グラフ構造を生成する処理を前記コンピュータにさらに実行させ、
前記分類する処理は、前記複数のエンティティ間の相関行列から生成された前記グラフ構造に含まれる前記複数のエンティティを分類する処理を含む、
ことを特徴とする請求項1に記載の機械学習プログラム。 - 前記複数のエンティティ間の相関行列は、前記複数の学習データが示す前記複数のエンティティ間の関係に基づいて生成される、
ことを特徴とする請求項2に記載の機械学習プログラム。 - 前記特定する処理は、前記第1のグループと前記第2のグループとを所定の上限値以内の連結数で接続するエッジの両端のノードに対応するエンティティを前記第1のエンティティとして特定する処理を含む、
ことを特徴とする請求項1に記載の機械学習プログラム。 - 前記分類する処理は、前記複数のエンティティ間の複数種類の関係のうちいずれか1つの関係に基づいて実行される、
ことを特徴とする請求項1に記載の機械学習プログラム。 - 前記分類する処理は、前記グラフ構造に含まれる前記複数のエンティティを関係の種類ごとに分類する処理を含み、
前記特定する処理は、前記関係の種類ごとに生成されたグループの分類結果のうちモジュール性が最高であるグループの分類結果に基づいて実行される、
ことを特徴とする請求項1に記載の機械学習プログラム。 - 前記他の学習データは、前記第1のグループ内のエンティティ間の関係を示す第2の学習データと前記第2のグループ内のエンティティ間の関係を示す第3の学習データとを含み、
前記実行する処理は、前記第2の学習データと前記第3の学習データとを前記機械学習モデルに並列に入力することによって、前記機械学習モデルの機械学習を実行する処理を含む、
ことを特徴とする請求項1に記載の機械学習プログラム。 - 複数のエンティティ間の関係を示すグラフ構造に含まれる前記複数のエンティティを分類し、
前記分類に応じて生成された第1のグループと第2のグループとの前記グラフ構造における接続部分に位置する第1のエンティティを特定し、
前記複数のエンティティ間の関係を示す複数の学習データのうち、前記第1のエンティティと他のエンティティとの関係を示す第1の学習データを他の学習データより優先して機械学習モデルに入力することによって、前記機械学習モデルの機械学習を実行する、
処理をコンピュータが実行することを特徴とする機械学習方法。 - 前記複数のエンティティ間の相関行列から前記グラフ構造を生成する処理を前記コンピュータがさらに実行し、
前記分類する処理は、前記複数のエンティティ間の相関行列から生成された前記グラフ構造に含まれる前記複数のエンティティを分類する処理を含む、
ことを特徴とする請求項8に記載の機械学習方法。 - 前記複数のエンティティ間の相関行列は、前記複数の学習データが示す前記複数のエンティティ間の関係に基づいて生成される、
ことを特徴とする請求項9に記載の機械学習方法。 - 前記特定する処理は、前記第1のグループと前記第2のグループとを所定の上限値以内の連結数で接続するエッジの両端のノードに対応するエンティティを前記第1のエンティティとして特定する処理を含む、
ことを特徴とする請求項8に記載の機械学習方法。 - 前記分類する処理は、前記複数のエンティティ間の複数種類の関係のうちいずれか1つの関係に基づいて実行される、
ことを特徴とする請求項8に記載の機械学習方法。 - 前記分類する処理は、前記グラフ構造に含まれる前記複数のエンティティを関係の種類ごとに分類する処理を含み、
前記特定する処理は、前記関係の種類ごとに生成されたグループの分類結果のうちモジュール性が最高であるグループの分類結果に基づいて実行される、
ことを特徴とする請求項8に記載の機械学習方法。 - 前記他の学習データは、前記第1のグループ内のエンティティ間の関係を示す第2の学習データと前記第2のグループ内のエンティティ間の関係を示す第3の学習データとを含み、
前記実行する処理は、前記第2の学習データと前記第3の学習データとを前記機械学習モデルに並列に入力することによって、前記機械学習モデルの機械学習を実行する処理を含む、
ことを特徴とする請求項8に記載の機械学習方法。 - 複数のエンティティ間の関係を示すグラフ構造に含まれる前記複数のエンティティを分類し、
前記分類に応じて生成された第1のグループと第2のグループとの前記グラフ構造における接続部分に位置する第1のエンティティを特定し、
前記複数のエンティティ間の関係を示す複数の学習データのうち、前記第1のエンティティと他のエンティティとの関係を示す第1の学習データを他の学習データより優先して機械学習モデルに入力することによって、前記機械学習モデルの機械学習を実行する、
処理を実行する制御部を含む機械学習装置。 - 前記制御部は、前記複数のエンティティ間の相関行列から前記グラフ構造を生成する処理をさらに実行し、
前記分類する処理は、前記複数のエンティティ間の相関行列から生成された前記グラフ構造に含まれる前記複数のエンティティを分類する処理を含む、
ことを特徴とする請求項15に記載の機械学習装置。 - 前記複数のエンティティ間の相関行列は、前記複数の学習データが示す前記複数のエンティティ間の関係に基づいて生成される、
ことを特徴とする請求項16に記載の機械学習装置。 - 前記特定する処理は、前記第1のグループと前記第2のグループとを所定の上限値以内の連結数で接続するエッジの両端のノードに対応するエンティティを前記第1のエンティティとして特定する処理を含む、
ことを特徴とする請求項15に記載の機械学習装置。 - 前記分類する処理は、前記複数のエンティティ間の複数種類の関係のうちいずれか1つの関係に基づいて実行される、
ことを特徴とする請求項15に記載の機械学習装置。 - 前記分類する処理は、前記グラフ構造に含まれる前記複数のエンティティを関係の種類ごとに分類する処理を含み、
前記特定する処理は、前記関係の種類ごとに生成されたグループの分類結果のうちモジュール性が最高であるグループの分類結果に基づいて実行される、
ことを特徴とする請求項15に記載の機械学習装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022504825A JP7298769B2 (ja) | 2020-03-03 | 2020-03-03 | 機械学習プログラム、機械学習方法及び機械学習装置 |
PCT/JP2020/008992 WO2021176572A1 (ja) | 2020-03-03 | 2020-03-03 | 機械学習プログラム、機械学習方法及び機械学習装置 |
EP20923396.4A EP4116841A4 (en) | 2020-03-03 | 2020-03-03 | MACHINE LEARNING PROGRAM, MACHINE LEARNING METHOD AND MACHINE LEARNING DEVICE |
US17/897,290 US20220414490A1 (en) | 2020-03-03 | 2022-08-29 | Storage medium, machine learning method, and machine learning device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/008992 WO2021176572A1 (ja) | 2020-03-03 | 2020-03-03 | 機械学習プログラム、機械学習方法及び機械学習装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/897,290 Continuation US20220414490A1 (en) | 2020-03-03 | 2022-08-29 | Storage medium, machine learning method, and machine learning device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021176572A1 true WO2021176572A1 (ja) | 2021-09-10 |
Family
ID=77613211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/008992 WO2021176572A1 (ja) | 2020-03-03 | 2020-03-03 | 機械学習プログラム、機械学習方法及び機械学習装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220414490A1 (ja) |
EP (1) | EP4116841A4 (ja) |
JP (1) | JP7298769B2 (ja) |
WO (1) | WO2021176572A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113869430A (zh) * | 2021-09-29 | 2021-12-31 | 北京百度网讯科技有限公司 | 训练方法、图像识别方法、装置、电子设备以及存储介质 |
CN114691886A (zh) * | 2022-03-16 | 2022-07-01 | 华中科技大学 | 一种关系增强的知识图谱嵌入方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016532942A (ja) | 2014-01-09 | 2016-10-20 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | イベント知識データベースの構築方法および装置 |
WO2019005606A1 (en) * | 2017-06-30 | 2019-01-03 | Visa International Service Association | GPU ENHANCED GRAPH MODEL CONSTRUCTION AND SCANNING ENGINE |
JP2019125364A (ja) | 2018-01-03 | 2019-07-25 | エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー | マルチモーダルレコメンデーション方法及びシステム |
JP2019164669A (ja) * | 2018-03-20 | 2019-09-26 | ヤフー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190122111A1 (en) * | 2017-10-24 | 2019-04-25 | Nec Laboratories America, Inc. | Adaptive Convolutional Neural Knowledge Graph Learning System Leveraging Entity Descriptions |
US11106979B2 (en) * | 2018-06-28 | 2021-08-31 | Microsoft Technology Licensing, Llc | Unsupervised learning of entity representations using graphs |
-
2020
- 2020-03-03 EP EP20923396.4A patent/EP4116841A4/en active Pending
- 2020-03-03 WO PCT/JP2020/008992 patent/WO2021176572A1/ja unknown
- 2020-03-03 JP JP2022504825A patent/JP7298769B2/ja active Active
-
2022
- 2022-08-29 US US17/897,290 patent/US20220414490A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016532942A (ja) | 2014-01-09 | 2016-10-20 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | イベント知識データベースの構築方法および装置 |
WO2019005606A1 (en) * | 2017-06-30 | 2019-01-03 | Visa International Service Association | GPU ENHANCED GRAPH MODEL CONSTRUCTION AND SCANNING ENGINE |
JP2019125364A (ja) | 2018-01-03 | 2019-07-25 | エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー | マルチモーダルレコメンデーション方法及びシステム |
JP2019164669A (ja) * | 2018-03-20 | 2019-09-26 | ヤフー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
Non-Patent Citations (6)
Title |
---|
ANTOINE BORDESNICOLAS USUNIERALBERTO GARCIA-DURANJASON WESTONOKSANA YAKHNENKO: "Translating embeddings for modeling multi-relational data", ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS, 2013, pages 2787 - 2795 |
BISHAN YANGWEN-TAU YIHXIAODONG HEJIANFENG GAOLI DENG: "Embedding entities and relations for learning and inference in knowledge bases", THE 3RD INTERNATIONAL CONFERENCE ON LEARNING REPRESENTATIONS, 2015 |
MAXIMILIAN NICKELVOLKER TRESPHANS-PETER KRIEGEL: "A three-way model for collective learning on multi-relational data", PROCEEDINGS OF THE 28TH INTERNATIONAL CONFERENCE ON MACHINE LEARNING, 2011, pages 809 - 816 |
RAVASZ ESOMERA ALMONGRU DAOLTVAI ZNBARABASI AL: "Hierarchical organization of modularity in metabolic networks", SCIENCE, vol. 297, no. 5586, 30 August 2002 (2002-08-30), pages 1551 - 5, XP055454166, DOI: 10.1126/science.1073374 |
See also references of EP4116841A4 |
ZHEN WANGJIANWEN ZHANGJIANLIN FENGZHENG CHEN: "Knowledge graph embedding by trans-lating on hyperplanes", THE TWENTY-EIGHTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, 2014, pages 1112 - 1119 |
Also Published As
Publication number | Publication date |
---|---|
JP7298769B2 (ja) | 2023-06-27 |
EP4116841A4 (en) | 2023-03-22 |
JPWO2021176572A1 (ja) | 2021-09-10 |
US20220414490A1 (en) | 2022-12-29 |
EP4116841A1 (en) | 2023-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210049512A1 (en) | Explainers for machine learning classifiers | |
Ponmalar et al. | An intrusion detection approach using ensemble support vector machine based chaos game optimization algorithm in big data platform | |
Chen et al. | Fedmax: Mitigating activation divergence for accurate and communication-efficient federated learning | |
US8738549B2 (en) | Predictive modeling | |
US11875253B2 (en) | Low-resource entity resolution with transfer learning | |
US20220414490A1 (en) | Storage medium, machine learning method, and machine learning device | |
US11436412B2 (en) | Predictive event searching utilizing a machine learning model trained using dynamically-generated event tags | |
Banerjee et al. | Fed-FiS: A novel information-theoretic federated feature selection for learning stability | |
Dabare et al. | A fuzzy data augmentation technique to improve regularisation | |
Jat et al. | Applications of statistical techniques and artificial neural networks: A review | |
WO2021144938A1 (ja) | 学習支援プログラム、学習支援方法及び学習支援装置 | |
Saeed et al. | A bi-objective hybrid algorithm for the classification of imbalanced noisy and borderline data sets | |
JP7047664B2 (ja) | 学習装置、学習方法および予測システム | |
Babu et al. | Three-stage multi-objective feature selection with distributed ensemble machine and deep learning for processing of complex and large datasets | |
Sarawan et al. | Machine Learning-Based Methods for Identifying Bug Severity Level from Bug Reports | |
Du et al. | Xfinder: detecting unknown anomalies in distributed machine learning scenario | |
Lupo Pasini et al. | Scalable balanced training of conditional generative adversarial neural networks on image data | |
US20240296929A1 (en) | Precision combination therapy using tumor clone response prediction from cell data | |
Elkano et al. | A global distributed approach to the Chi et al. fuzzy rule-based classification system for big data classification problems | |
Budhi et al. | Multi-level particle swarm optimisation and its parallel version for parameter optimisation of ensemble models: a case of sentiment polarity prediction | |
US12045291B2 (en) | Entity explanation in data management | |
US11973785B1 (en) | Two-tier cybersecurity method | |
US20240202556A1 (en) | Precomputed explanation scores | |
US20240330333A1 (en) | Automatically modifying communication content using artificial intelligence techniques | |
US20240086434A1 (en) | Enhancing dialogue management systems using fact fetchers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20923396 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022504825 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2020923396 Country of ref document: EP Effective date: 20221004 |