WO2022029852A1 - 機械学習プログラム、機械学習方法および情報処理装置 - Google Patents

機械学習プログラム、機械学習方法および情報処理装置 Download PDF

Info

Publication number
WO2022029852A1
WO2022029852A1 PCT/JP2020/029718 JP2020029718W WO2022029852A1 WO 2022029852 A1 WO2022029852 A1 WO 2022029852A1 JP 2020029718 W JP2020029718 W JP 2020029718W WO 2022029852 A1 WO2022029852 A1 WO 2022029852A1
Authority
WO
WIPO (PCT)
Prior art keywords
triple
relationship
entities
triples
entity
Prior art date
Application number
PCT/JP2020/029718
Other languages
English (en)
French (fr)
Inventor
成司 岡嶋
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to JP2022541347A priority Critical patent/JPWO2022029852A1/ja
Priority to PCT/JP2020/029718 priority patent/WO2022029852A1/ja
Publication of WO2022029852A1 publication Critical patent/WO2022029852A1/ja
Priority to US18/093,342 priority patent/US20230162054A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Definitions

  • the present invention relates to machine learning based on the Knowledge Graph.
  • the Knowledge Graph (KG: Knowledge Graph) is embedded in a vector space, and the nodes (entities) and links (relationships) of the Knowledge Graph are represented by vectors. Note that such a vector expression is also called an embedded expression.
  • the Knowledge Graph is an example of knowledge data that is a generalized level of knowledge (class), an ontology having a hierarchical structure, and a concrete example level of knowledge, which is knowledgeed by an instance that is a graph structure. be.
  • a vector (v h , vr , v t ) corresponding to a triple (subject, predicate, object) (h: start point, r: relationship, t: end point) which is a set of three included in a given KG. )
  • Executes machine learning so that "v h + v r v t " is satisfied, and updates the vector of the entity and the vector of the relationship.
  • Link prediction, relationship extraction, class prediction, etc. are executed using the vector generated by such machine learning.
  • link prediction is an operation that predicts a related entity using an entity and a link.
  • a vector "start point” and a vector “relationship” are input to a model to predict a vector "end point”.
  • Relationship extraction is an operation that predicts the relationship between two entities.
  • the vector "start point” and the vector "end point” are input to the model to predict the vector "relationship”.
  • Type prediction is an operation that predicts the class to which they belong from two entities. For example, the vector "start point” and the vector "end point” are input to the model to predict the vector "class”.
  • the above machine learning method is a method of giving a high score to a triple including a relationship (target) with a low degree of abstraction, but in an unorganized Knowledge Graph, the accuracy of vector expression may decrease.
  • the target may be commonly used by entities of different classes, but in the above machine learning method, it may not be possible to find the relationship that implies the target, and it may not be possible to apply the constraint accurately, and the learning accuracy is poor. descend.
  • the above machine learning method deals with the abstraction degree of the relationship, it cannot deal with the abstraction degree of the entity, so that the accuracy of the generated model is not always as high as expected.
  • One aspect is to provide machine learning programs, machine learning methods and information processing devices that can generate highly accurate vector representations.
  • the machine learning program causes the computer to execute a process for identifying the first triple and the second triple included in the knowledge graph.
  • the machine learning program is a first between the first two entities included in the first triple according to the appearance status of each of the plurality of relationships between the plurality of entities of a specific class set included in the knowledge graph.
  • Which triple of the first triple and the second triple is more specific, based on at least one of the comparisons with the second entity connected to either of the two entities in 2.
  • the difference between the vectors indicating each of the first triples is the second.
  • a computer is made to execute a process of generating a vector indicating each of the first triples and a vector indicating each of the second triples by machine learning based on a constraint condition that the difference between the vectors indicating each of the triples is smaller. ..
  • FIG. 1 is a diagram illustrating an information processing apparatus according to an embodiment.
  • FIG. 2 is a diagram illustrating a knowledge graph.
  • FIG. 3 is a diagram illustrating a reference technique.
  • FIG. 4 is a diagram illustrating a problem of the reference technique.
  • FIG. 5 is a diagram illustrating a problem of the reference technique.
  • FIG. 6 is a functional block diagram showing a functional configuration of the information processing apparatus according to the first embodiment.
  • FIG. 7 is a diagram showing an example of the Knowledge Graph.
  • FIG. 8 is a diagram illustrating the vector generation according to the first embodiment.
  • FIG. 9 is a flowchart showing the flow of the vector generation process according to the first embodiment.
  • FIG. 10 is a diagram illustrating the vector generation according to the second embodiment.
  • FIG. 11 is a flowchart showing the flow of the vector generation process according to the second embodiment.
  • FIG. 12 is a flowchart showing a general-purpose flow of the vector generation process using the class pair.
  • FIG. 13 is a flowchart showing a general-purpose flow of the vector generation process using the class hierarchy.
  • FIG. 14 is a diagram illustrating a hardware configuration example.
  • FIG. 1 is a diagram illustrating an information processing apparatus 10 according to an embodiment.
  • the information processing apparatus 10 expresses the entities and relationships of the Knowledge Graph as vectors, and performs machine learning using the generated vector representations to accurately show the relationships between the entities.
  • the Knowledge Graph is an example of knowledge data that has an ontology and an instance.
  • FIG. 2 is a diagram illustrating a knowledge graph.
  • the knowledge graph ontology is a generalized level of knowledge and has a hierarchical structure.
  • the class "Place” and the class “Person” correspond to the lower hierarchy (subordinate concept) of the class "Thing”.
  • the class "City” and the class “Park” correspond to the lower hierarchy of the class "Place”.
  • the knowledge graph instance is knowledge at the concrete example level and has a graph structure.
  • the entity “Hanako” is connected to the entity “Kawasaki” by the relationship "residence”
  • the entity “Jiro” is connected to the entity “Hanako” by the relationship “friend”.
  • the entity “Ichiro” is connected to the entity “Kawasaki” in the relationship "birthplace” and is connected to the entity “Jiro” in the brother relationship.
  • the entity “Kawasaki” belongs to the class “Place” it has a relationship "type” between the class "Place” and the entity “Kawasaki”.
  • the entities “Hanako", “Jiro”, and “Ichiro” belong to the class “Person", and each has a relationship "type” with the class "Person”.
  • a vector (v h ) corresponding to a triple (h, r, t) included in a given knowledge graph is used.
  • a constraint using the implication relation of the relation is introduced into the vector calculation (embedded calculation).
  • FIG. 3 is a diagram illustrating a reference technique.
  • the reference technique when there is a relationship "member” between any entities, there is always a relationship "affiliation”, and the relationship "affiliation” is a relationship "member".
  • the reference technology is that v (Jiro) + v (member) is v so that v (Ichiro) + v (member) is closer to v (A Corp.) than v (Ichiro) + v (affiliation).
  • Update each vector so that it is closer to v (B Corp.) than (Jiro) + v (affiliation).
  • v (Ichiro) is synonymous with vector (Ichiro), and in this embodiment, vector (Ichiro) and the like may be referred to as v (Ichiro) and the like in order to simplify the description.
  • FIG. 4 is a diagram illustrating a problem of the reference technique.
  • the constraint using the implication relation of the relation can be introduced into the vector calculation.
  • FIG. 4B since the above constraint cannot be applied because the data having the relation "member” but not the relation "affiliation” is included, the machine learning using such a vector representation is used. Then, the learning accuracy may decrease.
  • FIG. 5 is a diagram illustrating a problem of the reference technique.
  • the entity “Person A” and the entity “Person B” have a relationship "friend” (see (a) in FIG. 5), and the entity “Baseball Player A” and the entity “Baseball Player B”. And have a relationship "friend” (see (b) in FIG. 5).
  • “v (Baseball Player A) + v (friend) v (Baseball Player B)” shown in FIG.
  • the accuracy of vector calculation is improved by introducing a constraint based on an ontology.
  • the accuracy of machine learning is improved by using either or both of (method 1) limitation of implication judgment and (method 2) use of class hierarchy.
  • Method 1 will be specifically described
  • method 2 will be specifically described.
  • FIG. 6 is a functional block diagram showing a functional configuration of the information processing apparatus 10 according to the first embodiment.
  • the information processing apparatus 10 limits the range in which the implication determination is made by the class pair when the implication determination is made for the relationship belonging to each class pair, so that even if the knowledge graph is not organized, the relationship between the entities. Realize vector representation and machine learning that properly introduces gender implications.
  • the information processing apparatus 10 has a communication unit 11, a storage unit 12, and a control unit 20.
  • the communication unit 11 controls the communication of other devices.
  • the communication unit 11 receives a knowledge graph, various information, a start instruction for each process, and the like from an administrator terminal and the like, and displays a learning result, a prediction result, and the like on the administrator terminal.
  • the storage unit 12 stores various data, a program executed by the control unit 20, and the like.
  • the storage unit 12 stores the knowledge graph 13 and the model 14.
  • the storage unit 12 can also store intermediate data and the like generated in the process of executing the process by the control unit 20.
  • Knowledge Graph 13 is an example of a knowledge base having an ontology and an instance.
  • FIG. 7 is a diagram showing an example of Knowledge Graph 13. As shown in FIG. 7, the Knowledge Graph 13 has a class pair (Person, Company) and a class pair (Person, SportsClub).
  • the entity “Ichiro”, the entity “Jiro”, the entity “Hanako”, and the entity “Saburo” belong to the class "Person”.
  • the entity “A Corp.”, the entity “B Corp.”, and the entity “C Corp.” belong to the class “Company”.
  • the entity “A Team” belongs to the class "Sports Club”.
  • the entity “Ichiro” is connected to the entity "A Corp.” by the relationship "affiliation” and is connected to the entity "A Corp.” by the relationship "member”.
  • the entity “Jiro” is connected to the entity “B Corp.” by the relationship "affiliation” and is connected to the entity “B Corp.” by the relationship "member”.
  • the entity “Hanako” is connected to the entity “C Corp.” by the relationship "affiliation”.
  • the entity “Sabro” is connected to the entity "A Team" by the relationship "member".
  • Model 14 is a model used for machine learning of vector representation.
  • the model 14 is a translation-based model for complementing the Knowledge Graph, and is a model for obtaining a vector of continuous values indicating an entity or a relationship.
  • the control unit 20 is a processing unit that controls the entire information processing device 10, and has an acquisition unit 21, a determination unit 22, a generation unit 23, and a prediction unit 24.
  • the acquisition unit 21 acquires the knowledge graph 13 and stores it in the storage unit 12. For example, the acquisition unit 21 acquires the knowledge graph 13 from the designated acquisition destination, and acquires the knowledge graph 13 transmitted from the administrator terminal or the like.
  • the determination unit 22 executes the implication determination by limiting the range in which the implication determination is performed by the class pair. Specifically, the determination unit 22 identifies the first triple and the second triple included in the Knowledge Graph. Then, the determination unit 22 between the first two entities included in the first triple according to the appearance status of each of the plurality of relationships between the plurality of entities of the specific class set included in the knowledge graph 13. Compare the first relationship with the second relationship between the second two entities contained in the second triple. Then, the determination unit 22 determines which triple of the first triple and the second triple is associated with the more specific information.
  • the determination unit 22 enumerates the triples belonging to a certain class pair, and enumerates the set of the subject and the predicate having the relation for all the relations included in the listed triples. Then, the determination unit 22 determines that the implication relationship is established when the combination of the subject and the predicate of one relationship includes all the combinations of the subject and the predicate of the other relationship for each set.
  • the determination unit 22 has (Ichiro, affinity, A Corp.), (Ichiro, member, A Corp.), (Jiro, affinity, B) as triples belonging to (Person, Company). Extract Corp.), (Ichiro, member, B Corp.), (Hanako, affiliation, C Corp.). Subsequently, the determination unit 22 states that "affiliation: (Ichiro, A Corp.), (Jiro, B Corp.), (Hanako, C Corp.)" is included in the triple belonging to (Person, Company). Generate “member: (Ichiro, A Corp.), (Jiro, B Corp.)". As a result, the determination unit 22 determines that the relation "affiliation” implies the relation "member” because all the (subjects and predicates) included in the relation "member” are included in the relation "affiliation".
  • the difference between the vectors indicating each of the first triples is the difference between the vectors indicating each of the second triples.
  • Machine learning is performed based on the knowledge graph 13 and the model 14 according to the constraint that it is smaller, and the vector of the entity and the vector of the relationship are generated.
  • the generation unit 23 always has a relation r when there is a relation q between arbitrary entities e1 and e2 (e1 belongs to C1 and e2 belongs to C2) belonging to a certain class pair (C1, C2). If there is (r implies q), each vector is updated so that the score of the triple (e1.q, e2) is higher than the score of the triple (e1, r, e2).
  • FIG. 8 is a diagram illustrating the vector generation according to the first embodiment.
  • the generation unit 23 determines that the relationship “affiliation” implies the relationship “member” for the class pair (Person, Company), so that the relationship “member” is a more specific relationship. Perform machine learning with an emphasis on.
  • the generation unit 23 has "v (Ichiro) + v (member) v from v (Ichiro) + v (affiliation) for triples (Ichiro, affinity, A Corp.) and triples (Ichiro, member, A Corp.). Update the vector so that it is closer to (A Corp.).
  • the generation unit 23 has "v (Jiro) + v (member) from v (Jiro) + v (affiliation) for triples (Jiro, affiliation, B Corp.) and triples (Jiro, member, B Corp.). Update the vector so that it is closer to v (B Corp.).
  • the generation unit 23 executes machine learning based on the knowledge graph 13 and the model 14 for each triple of each class pair, and generates a vector of entities and a vector of relationships.
  • the machine learning method various methods such as the gradient method can be used.
  • the prediction unit 24 executes link prediction, relationship extraction, class prediction, etc. using the model 14 and the like. Specifically, the prediction unit 24 inputs a vector (start point) and a vector (relationship) into the model 14 to predict the vector (end point). Further, the prediction unit 24 inputs a vector (start point) and a vector (end point) into the model, and predicts the vector (relationship).
  • the prediction unit 24 predicts an entity connected to the entity “Ichiro” by the relationship “brotherOf", the vector “v (Ichiro)” of the entity “Ichiro” and the vector “v (brotherOf)” of the relationship “brotherOf”. Is input to the model 14. Then, the prediction unit 24 acquires the output result as the prediction result by executing the vector operation “v (Ichiro) + v (brotherOf)” or the like by the model 14. Then, the prediction unit 24 stores the prediction result in the storage unit 12, displays it on a display or the like, and transmits it to the administrator terminal.
  • FIG. 9 is a flowchart showing the flow of the vector generation process according to the first embodiment.
  • the determination unit 22 initializes all the vectors of the knowledge graph with random numbers (S101), and acquires the patterns of all the class pairs corresponding to the subject and the object from the knowledge graph (S102). Subsequently, the determination unit 22 executes an implication determination for the relations belonging to each class pair (S103).
  • the generation unit 23 acquires the triple (e1, r, e2) from the knowledge graph (S104), and the size of the vector of the triple "
  • the generation unit 23 sets "e1, r, e2" so that the vector difference (e1 + r-e2) approaches 0, respectively.
  • the vector of is updated (S106).
  • the generation unit 23 implies the relation r or the relation implied by the relation r. Acquire q (S107).
  • the generation unit 23 ends the process when the vector is no longer updated or is repeated a specified number of times (S111: Yes).
  • the generation unit 23 repeats S104 and subsequent steps when the vector to be updated exists or when the number of executions is less than the specified number (S111: No).
  • the information processing apparatus 10 determines the implications of the relationship for each class pair, so that the relationship has a low degree of abstraction but is used among a plurality of class pairs. , The implications of relationships between entities can be properly distinguished and reflected in machine learning. As a result, the information processing apparatus 10 can generate a highly accurate vector representation.
  • the method 2 using the class hierarchy will be described. Since the functional configuration of the information processing apparatus 10 according to the second embodiment is the same as that of the first embodiment, detailed description thereof will be omitted.
  • the information processing apparatus 10 according to the second embodiment executes the application of the constraint using the class hierarchy at the time of machine learning of the vector expression.
  • the determination unit 22 compares the first entity connected to either of the first two entities with the second entity connected to any of the second two entities. It is determined which triple of the first triple and the second triple is associated with more specific information.
  • the difference between the vectors indicating each of the first triples is a vector indicating each of the second triples.
  • Machine learning is performed based on the knowledge graph 13 and the model 14 according to the constraint condition that the difference is smaller than the difference between the two.
  • the generation unit 23 when class C'1 is a subordinate concept of class C1 and class C'2 is a subordinate concept of class C2, the entities (e1, e2) and (C) belonging to (C1, C2) For the entities (e1', e2') belonging to'1, C'2), the score of the triple (e1', r, e2') is higher than the score of the triple (e1, r, e2). Update the vector.
  • FIG. 10 is a diagram illustrating the vector generation according to the second embodiment.
  • the Knowledge Graph shown in FIG. 10 has a class "Person", a class “Teacher”, and a class “Doctor” as ontology.
  • the class "Person” is a higher hierarchy (upper class), and each of the class “Teacher” and the class “Doctor” is a lower hierarchy (lower class) of the class "Person”.
  • the Knowledge Graph has an entity “Taro”, an entity “Ichiro”, an entity “Hanako”, and an entity “Jiro” as instances. Then, the entity “Taro” and the entity “Ichiro” belong to the class “Person” and have a relationship "friend”. The entity “Hanako” and the entity “Jiro” belong to the class “Doctor” and have a relationship "friend”.
  • FIG. 11 is a flowchart showing the flow of the vector generation process according to the second embodiment.
  • the determination unit 22 initializes all the vectors of the knowledge graph with random numbers (S201), and makes an upper / lower determination for each triple of the knowledge graph based on the class hierarchy (S202).
  • the generation unit 23 acquires the triple t (e1, r, e2) from the knowledge graph (S203), and the size of the vector of the triple t "
  • the generation unit 23 sets "e1, r, e2" so that the vector difference (e1 + r-e2) approaches 0, respectively.
  • the vector of is updated (S205).
  • the generation unit 23 has a triple t'(upper and lower relationship with the triple t from the knowledge graph). e1', r, e2') is acquired (S206).
  • the vector difference (e1'+ r-e2') is larger than the score of the vector difference (e1 + r-e2).
  • the respective vectors of "e1, e2, e1', e2'" are updated so as to be (S208).
  • the vector difference (e1'+ r-e2') is smaller than the vector difference (e1 + r-e2) score.
  • the respective vectors of "e1, e2, e1', e2'" are updated (S209).
  • the generation unit 23 ends the process when the vector is no longer updated or is repeated a specified number of times (S210: Yes).
  • the generation unit 23 repeats S203 and subsequent steps when the vector to be updated exists or when the number of executions is less than the specified number (S210: No).
  • the information processing apparatus 10 can generate a highly accurate vector representation by executing machine learning with an emphasis on the relationship between more specific entities even if the relationship is the same. can.
  • the knowledge graph, entity example, class example, relationship example, numerical example, threshold value, display example, etc. used in the above embodiment are merely examples and can be changed arbitrarily. Further, the method 1 described in the first embodiment and the method described in the second embodiment can be used in combination.
  • Example 1 a flowchart of Example 1 and Example 2 when a general-purpose model is used will be described.
  • FIG. 12 is a flowchart showing a general flow of vector generation processing using a class pair.
  • f entity, relationship, entity
  • the score function various known functions can be used.
  • the generation unit 23 determines whether or not the score function (f (e1, r, e2)) using the triple vector acquired from the knowledge graph is larger than the threshold value (Margin) (S305).
  • the generation unit 23 makes the score function (f (e1, r, e2)) approach 0.
  • Each vector of "e1, r, e2" is updated (S306).
  • the generation unit 23 implies the relation r or implies the relation r.
  • the relation q to be formed is acquired (S307).
  • the score function (f (e1, r, e2)) is larger than the score function (f (e1, q, e2)).
  • the respective vectors of "e1, r, e2" are updated so as to be (S309).
  • the generation unit 23 ends the process when the vector is no longer updated or is repeated a specified number of times (S311: Yes).
  • the generation unit 23 repeats S304 and subsequent steps when the vector to be updated exists or when the number of executions is less than the specified number (S311: No).
  • FIG. 13 is a flowchart showing a general-purpose flow of vector generation processing using a class hierarchy.
  • f entity, relationship, entity
  • the score function various known functions can be used.
  • S401 to S403 in FIG. 13 are the same as S201 to S203 in FIG. 11, so detailed description thereof will be omitted.
  • the generation unit 23 determines whether or not the score function (f (e1, r, e2)) using the triple vector acquired from the knowledge graph is larger than the threshold value (Margin) (S404).
  • the generation unit 23 makes the score function (f (e1, r, e2)) approach 0.
  • Each vector of "e1, r, e2" is updated (S405).
  • the generation unit 23 has an upper / lower relationship with the triple t from the knowledge graph. Acquire t'(e1', r, e2') (S406).
  • the score function (f (e1', r, e2')) is the score function (f (e1, r,).
  • Each vector of "e1, e2, e1', e2'" is updated so as to be larger than e2)) (S408).
  • the score function (f (e1', r, e2')) is the score function (f (e1, r, e2). )
  • the respective vectors of "e1, e2, e1', e2'" are updated so as to be smaller (S409).
  • the generation unit 23 ends the process when the vector is no longer updated or is repeated a specified number of times (S410: Yes).
  • the generation unit 23 repeats S403 and subsequent steps when the vector to be updated exists or when the number of executions is less than the specified number (S410: No).
  • the information processing apparatus 10 can apply the method 1 and the method 2 to a widely used machine learning model, so that the versatility can be improved.
  • each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution or integration of each device is not limited to the one shown in the figure. That is, all or a part thereof can be functionally or physically distributed / integrated in any unit according to various loads, usage conditions, and the like.
  • each processing function performed by each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic.
  • FIG. 14 is a diagram illustrating a hardware configuration example.
  • the information processing device 10 includes a communication device 10a, an HDD (Hard Disk Drive) 10b, a memory 10c, and a processor 10d. Further, the parts shown in FIG. 14 are connected to each other by a bus or the like.
  • HDD Hard Disk Drive
  • the communication device 10a is a network interface card or the like, and communicates with other devices.
  • the HDD 10b stores a program or DB that operates the function shown in FIG.
  • the processor 10d reads a program that executes the same processing as each processing unit shown in FIG. 6 from the HDD 10b or the like and expands the program into the memory 10c to operate a process that executes each function described in FIG. 6 or the like. For example, this process executes the same function as each processing unit of the information processing apparatus 10. Specifically, the processor 10d reads a program having the same functions as the acquisition unit 21, the determination unit 22, the generation unit 23, the prediction unit 24, and the like from the HDD 10b and the like. Then, the processor 10d executes a process of executing the same processing as the acquisition unit 21, the determination unit 22, the generation unit 23, the prediction unit 24, and the like.
  • the information processing device 10 operates as an information processing device that executes a machine learning method by reading and executing a program. Further, the information processing apparatus 10 can realize the same function as that of the above-described embodiment by reading the program from the recording medium by the medium reader and executing the read program.
  • the program referred to in the other embodiment is not limited to being executed by the information processing apparatus 10.
  • the present invention can be similarly applied when other computers or servers execute programs, or when they execute programs in cooperation with each other.
  • This program can be distributed via networks such as the Internet.
  • this program is recorded on a computer-readable recording medium such as a hard disk, flexible disk (FD), CD-ROM, MO (Magneto-Optical disk), DVD (Digital Versatile Disc), and is recorded from the recording medium by the computer. It can be executed by being read.
  • Information processing device 11 Communication unit 12 Storage unit 13 Knowledge graph 14 Model 20 Control unit 21 Acquisition unit 22 Judgment unit 23 Generation unit 24 Prediction unit

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

情報処理装置は、ナレッジグラフに含まれる特定のクラスの組の複数のエンティティ間の複数の関係のそれぞれの出現状況に応じた第1のトリプルに含まれる第1の2つのエンティティ間の第1の関係と第2のトリプルに含まれる第2の2つのエンティティ間の第2の関係との比較と、第1の2つのエンティティのいずれかに接続された第1のエンティティと第2の2つのエンティティのいずれかに接続された第2のエンティティとの比較とのうち少なくとも一方に基づいて、第1のトリプルと第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定する。情報処理装置は、より具体性が高い第1のトリプルのそれぞれを示すベクトルの差分が第2のトリプルのそれぞれを示すベクトルの差分より小さいという制約条件に基づいた機械学習によって第1のトリプルのそれぞれを示すベクトルと第2のトリプルのそれぞれを示すベクトルとを生成する。

Description

機械学習プログラム、機械学習方法および情報処理装置
 本発明は、ナレッジグラフに基づく機械学習に関する。
 ナレッジグラフ(KG:Knowledge Graph)をベクトル空間上に埋め込み、ナレッジグラフのノード(エンティティ)およびリンク(関係)をベクトルで表現することが行われている。なお、このようなベクトル表現は、埋め込み表現とも呼ばれる。また、ナレッジグラフは、一般化されたレベルの知識(クラス)であり、階層構造を有するオントロジーと、具体例レベルの知識であり、グラフ構造であるインスタンスとにより知識付けされた知識データの一例である。
 そして、このようなKGのベクトル表現を用いた機械学習により、エンティティ間の関係性をベクトル表現で与えることが行われている。例えば、与えられたKGに含まれる3つの組であるトリプル(主語、述語、目的語)=(h:始点,r:関係,t:終点)に対応するベクトル(v,v,v)が「v+v=v」を満たすように機械学習を実行し、エンティティのベクトルと関係のベクトルとを更新する。このような機械学習により生成されたベクトルを用いて、リンク予測、関係抽出、クラス予測などが実行される。
 例えば、リンク予測は、エンティティとリンクとを用いて関係性のあるエンティティを予測する演算であり、例えば、ベクトル「始点」とベクトル「関係」とをモデルに入力して、ベクトル「終点」を予測する。関係抽出は、2つのエンティティからそれらの関係性を予測する演算であり、例えば、ベクトル「始点」とベクトル「終点」とをモデルに入力して、ベクトル「関係」を予測する。タイプ予測は、2つのエンティティからそれらが属するクラスを予測する演算であり、例えば、ベクトル「始点」とベクトル「終点」とをモデルに入力して、ベクトル「クラス」を予測する。
 近年では、モデルの精度を上げる手法として、関係の含意関係を利用した制約を埋め込み計算(ベクトル計算)に導入する機械学習手法が知られている。具体的には、任意のエンティティe1,e2間に関係qがあるときに、必ず関係rがある(rがqを含意する)場合、トリプル(e1,q,e2)のスコアがトリプル(e1,r,e2)のスコアよりも高くなるようにそれぞれのベクトルを更新する。
 しかしながら、上記機械学習手法では、モデルを用いて取得されるベクトル表現の精度が高いとは限らない。
 例えば、上記機械学習手法は、抽象度の低い関係(ターゲット)を含むトリプルに高いスコアを与える手法であるが、整理されていないナレッジグラフでは、ベクトル表現の精度が低下することがある。例えば、ターゲットが異なるクラスのエンティティで共通に利用されることがあるが、上記機械学習手法では、ターゲットを含意する関係を見つけることができず、正確に制約を適用できない場合があり、学習精度が低下する。また、上記機械学習手法は、関係の抽象度を扱っているが、エンティティの抽象度を扱うことができないので、生成されるモデルの精度が期待通りに高くなるとは限らない。
 一つの側面では、精度の高いベクトル表現を生成することができる機械学習プログラム、機械学習方法および情報処理装置を提供することを目的とする。
 第1の案では、機械学習プログラムは、ナレッジグラフに含まれる第1のトリプルと第2のトリプルとを特定する処理をコンピュータに実行させる。機械学習プログラムは、前記ナレッジグラフに含まれる特定のクラスの組の複数のエンティティ間の複数の関係のそれぞれの出現状況に応じた前記第1のトリプルに含まれる第1の2つのエンティティ間の第1の関係と前記第2のトリプルに含まれる第2の2つのエンティティ間の第2の関係との比較と、前記第1の2つのエンティティのいずれかに接続された第1のエンティティと前記第2の2つのエンティティのいずれかに接続された第2のエンティティとの比較とのうち少なくとも一方に基づいて、前記第1のトリプルと前記第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定する処理をコンピュータに実行させる。機械学習プログラムは、前記判定する処理において前記第1のトリプルがより具体性が高い情報と関連付いていると判定された場合、前記第1のトリプルのそれぞれを示すベクトルの差分が前記第2のトリプルのそれぞれを示すベクトルの差分より小さいという制約条件に基づいた機械学習によって前記第1のトリプルのそれぞれを示すベクトルと前記第2のトリプルのそれぞれを示すベクトルとを生成する処理をコンピュータに実行させる。
 一実施形態によれば、精度の高いベクトル表現を生成することができる。
図1は、実施例にかかる情報処理装置を説明する図である。 図2は、ナレッジグラフを説明する図である。 図3は、参考技術を説明する図である。 図4は、参考技術の問題点を説明する図である。 図5は、参考技術の問題点を説明する図である。 図6は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。 図7は、ナレッジグラフの一例を示す図である。 図8は、実施例1にかかるベクトル生成を説明する図である。 図9は、実施例1にかかるベクトル生成処理の流れを示すフローチャートである。 図10は、実施例2にかかるベクトル生成を説明する図である。 図11は、実施例2にかかるベクトル生成処理の流れを示すフローチャートである。 図12は、クラスペアを用いたベクトル生成処理の汎用的な流れを示すフローチャートである。 図13は、クラス階層を用いたベクトル生成処理の汎用的な流れを示すフローチャートである。 図14は、ハードウェア構成例を説明する図である。
 以下に、本発明にかかる機械学習プログラム、機械学習方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
 図1は、実施例にかかる情報処理装置10を説明する図である。図1に示すように、情報処理装置10は、ナレッジグラフのエンティティと関係をベクトルで表現し、生成したベクトル表現を用いて機械学習を実行することで、エンティティ間の関係を精度よく示すベクトル表現を生成するコンピュータの一例である。
 ナレッジグラフは、オントロジーとインスタンスとを有する知識データの一例である。図2は、ナレッジグラフを説明する図である。図2に示すように、ナレッジグラフのオントロジーは、一般化されたレベルの知識であり、階層構造を有する。例えば、クラス「Thing」の下位階層(下位概念)として、クラス「Place」とクラス「Person」とが該当する。また、クラス「Place」の下位階層として、クラス「City」とクラス「Park」とが該当する。
 また、ナレッジグラフのインスタンスは、具体例レベルの知識であり、グラフ構造である。例えば、エンティティ「Hanako」は、関係「residence」でエンティティ「Kawasaki」に接続されており、エンティティ「Jiro」は、関係「friend」でエンティティ「Hanako」に接続される。エンティティ「Ichiro」は、関係「birthplace」でエンティティ「Kawasaki」に接続されるとともに、brother関係でエンティティ「Jiro」に接続される。また、エンティティ「Kawasaki」は、クラス「Place」に属することから、クラス「Place」とエンティティ「Kawasaki」の関係「type」を有する。同様に、エンティティ「Hanako」、「Jiro」、「Ichiro」は、クラス「Person」に属し、それぞれがクラス「Person」と関係「type」を有する。
 ここで、Translation-based modelの一種であるTransEと呼ばれる技術を用いた参考技術では、与えられたナレッジグラフに含まれる3つ組であるトリプル(h,r,t)に対応するベクトル(v,v,v)が「v+v=v」を満たすように機械学習を実行し、エンティティのベクトルと関係のベクトルとが更新される。このとき、参考技術では、関係の含意関係を利用した制約をベクトル計算(埋め込み計算)に導入する。
 図3は、参考技術を説明する図である。図3に示すナレッジグラフが与えられたとき、例えば、参考技術は、任意のエンティティの間に関係「member」があるとき、必ず関係「affiliation」も存在し、関係「affiliation」が関係「member」を含意するとして、機械学習を実行する。具体的には、参考技術は、「v(Ichiro)+v(member)がv(Ichiro)+v(affiliation)よりv(A Corp.)に近くなるように、v(Jiro)+v(member)がv(Jiro)+v(affiliation)よりv(B Corp.)に近くなる」ように、それぞれのベクトルを更新する。つまり、参考技術は、より抽象度の低いリレーションを含むトリプルに高いスコア与える。なお、v(Ichiro)は、ベクトル(Ichiro)と同義であり、記載を簡略化するために、本実施例では、ベクトル(Ichiro)などをv(Ichiro)などと表記することがある。
 この参考技術は、抽象度の低い関係やターゲットを含むトリプルに高いスコアを与えて機械学習を実行するが、整理されていないナレッジグラフでは、異なるクラスのエンティティで共通にターゲットが利用されることがある。この場合、参考技術では、ターゲットを含意する関係が見つからず、制約が適切に適用できない場合がある。図4は、参考技術の問題点を説明する図である。図4の(a)では、関係「affiliation」を有するクラスと属性値との関係であることから、関係の含意関係を利用した制約をベクトル計算に導入することができる。一方で、図4の(b)では、関係「member」を有するが関係「affiliation」を有さないデータが含まれているから上記制約を適用できないので、このようなベクトル表現を用いた機械学習では、学習精度の低下が起こり得る。
 また、参考技術は、関係の抽象度を扱っているが、エンティティの抽象度を扱うことができない。例えば、ある人とある人が友人関係にあるという事実よりも、ある野球選手とあるバスケットボール選手が友人関係にあるという事実を重視したい場合が考えられる。図5は、参考技術の問題点を説明する図である。図5に示すナレッジグラフは、エンティティ「Person A」とエンティティ「Person B」とが関係「friend」を有し(図5の(a)参照)、エンティティ「Baseball Player A」とエンティティ「Baseball Player B」と関係「friend」を有する(図5の(b)参照)。この場合、図5の(b)に示す「v(Baseball Player A)+v(friend)=v(Baseball Player B)」の方が図5の(a)に示す「v(Person A)+v(friend)=v(Person B)」よりも、重要であるとして機械学習を実行したい。しかし、参考技術では、これらのエンティティの抽象度を正確に区別して機械学習に反映することができないので、これらを区別できる程度に機械学習が進まず、学習精度が期待通りに高くなるとは限らない。
 そこで、実施例では、ナレッジグラフに基づく機械学習において、オントロジーに基づく制約を導入することで、ベクトル算出の精度を向上させる。具体的には、図1に示すように、実施例では、(手法1)含意判定の限定と(手法2)クラス階層の利用のいずれかまたは両方を用いることで、機械学習の精度を向上させ、精度の高いベクトル表現を生成する。なお、実施例1では、手法1を具体的に説明し、実施例2では、手法2を具体的に説明する。
 まず、手法1を用いた情報処理装置10を説明する。図6は、実施例1にかかる情報処理装置10の機能構成を示す機能ブロック図である。この情報処理装置10は、各クラスペアに属する関係について含意判定を行う際に、クラスペアによって含意判定を行う範囲を限定することで、整理されていないナレッジグラフであっても、エンティティ間の関係性の含意関係を適切に導入したベクトル表現および機械学習を実現する。
 図6に示すように、実施例1にかかる情報処理装置10は、通信部11、記憶部12、制御部20を有する。通信部11は、他の装置の通信を制御する。例えば、通信部11は、管理者端末などからナレッジグラフ、各種情報、各処理の開始指示などを受信し、管理者端末に学習結果や予測結果などを表示する。
 記憶部12は、各種データや制御部20が実行するプログラムなどを記憶する。例えば、記憶部12は、ナレッジグラフ13とモデル14を記憶する。なお、記憶部12は、制御部20が処理を実行する過程で生成される中間データなどを記憶することもできる。
 ナレッジグラフ13は、オントロジーとインスタンスとを有する知識ベースの一例である。図7は、ナレッジグラフ13の一例を示す図である。図7に示すように、ナレッジグラフ13は、クラスペア(Person,Company)とクラスペア(Person,SportsClub)とを有する。
 クラス「Person」には、エンティティ「Ichiro」とエンティティ「Jiro」とエンティティ「Hanako」とエンティティ「Saburo」とが属する。クラス「Company」には、エンティティ「A Corp.」とエンティティ「B Corp.」とエンティティ「C Corp.」とが属する。クラス「SportsClub」には、エンティティ「A Team」が属する。
 エンティティ「Ichiro」は、関係「affiliation」でエンティティ「A Corp.」に接続されるとともに、関係「member」でエンティティ「A Corp.」に接続される。エンティティ「Jiro」は、関係「affiliation」でエンティティ「B Corp.」に接続されるとともに、関係「member」でエンティティ「B Corp.」に接続される。エンティティ「Hanako」は、関係「affiliation」でエンティティ「C Corp.」に接続される。エンティティ「Sabro」は、関係「member」でエンティティ「A Team」に接続される。
 モデル14は、ベクトル表現の機械学習に用いるモデルである。例えば、モデル14は、ナレッジグラフを補完するためのtranslation-basedモデルであり、エンティティや関係を示す連続値のベクトルを得るためのモデルである。
 制御部20は、情報処理装置10全体を司る処理部であり、取得部21と判定部22と生成部23と予測部24を有する。
 取得部21は、ナレッジグラフ13を取得して記憶部12に格納する。例えば、取得部21は、指定された取得先からナレッジグラフ13を取得し、管理者端末などから送信されたナレッジグラフ13を取得する。
 判定部22は、ナレッジグラフの各クラスの含意関係を判定する際に、クラスペアによって含意判定を行う範囲を限定して含意判定を実行する。具体的には、判定部22は、ナレッジグラフに含まれる第1のトリプルと第2のトリプルとを特定する。そして、判定部22は、ナレッジグラフ13に含まれる特定のクラスの組の複数のエンティティ間の複数の関係のそれぞれの出現状況に応じた第1のトリプルに含まれる第1の2つのエンティティ間の第1の関係と第2のトリプルに含まれる第2の2つのエンティティ間の第2の関係とを比較する。そして、判定部22は、第1のトリプルと第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定する。
 例えば、判定部22は、あるクラスペアに属するトリプルを列挙し、列挙されたトリプルに含まれるすべての関係について、その関係を有する主語と述語の組を列挙する。そして、判定部22は、各組について、一方の関係が持つ主語と述語の組み合わせが、他方の関係が持つ主語と述語の組み合わせをすべて含んでいる場合に、含意関係が成立すると判定する。
 図7を例にして説明すると、判定部22は、(Person,Company)に属するトリプルとして、(Ichiro,affiliation,A Corp.)、(Ichiro,member,A Corp.)、(Jiro,affiliation,B Corp.)、(Ichiro,member,B Corp.)、(Hanako,affiliation,C Corp.)を抽出する。続いて、判定部22は、(Person,Company)に属するトリプルに含まれる関係として、「affiliation:(Ichiro,A Corp.)、(Jiro,B Corp.)、(Hanako,C Corp.)」と「member:(Ichiro,A Corp.)、(Jiro,B Corp.)」とを生成する。この結果、判定部22は、関係「member」に含まれる(主語,述語)が関係「affiliation」にすべて含まれることから、関係「affiliation」が関係「member」を含意すると判定する。
 生成部23は、第1のトリプルがより具体性が高い情報と関連付いていると判定された場合、第1のトリプルのそれぞれを示すベクトルの差分が第2のトリプルのそれぞれを示すベクトルの差分より小さいという制約条件に従って、ナレッジグラフ13とモデル14とに基づいた機械学習を実行し、エンティティのベクトルや関係のベクトルを生成する。
 例えば、生成部23は、あるクラスペア(C1,C2)に属する任意のエンティティe1,e2(e1はC1に属し、e2はC2に属する)間に、関係qがあるときに、必ず関係rがある(rがqを含意する)場合、トリプル(e1.q,e2)のスコアがトリプル(e1,r,e2)のスコアよりも高くなるようにそれぞれのベクトルを更新する。
 図8は、実施例1にかかるベクトル生成を説明する図である。図8では、図7で説明したナレッジグラフ13を用いた機械学習について説明する。図8に示すように、生成部23は、クラスペア(Person,Company)について、関係「affiliation」が関係「member」を含意すると判定されたことから、より具体的なリレーションである関係「member」の方を重要視した機械学習を実行する。
 例えば、生成部23は、トリプル(Ichiro,affiliation,A Corp.)およびトリプル(Ichiro,member,A Corp.)について、「v(Ichiro)+v(member)がv(Ichiro)+v(affiliation)よりv(A Corp.)に近くなる」ように、ベクトルを更新する。同様に、生成部23は、トリプル(Jiro,affiliation,B Corp.)およびトリプル(Jiro,member,B Corp.)について、「v(Jiro)+v(member)がv(Jiro)+v(affiliation)よりv(B Corp.)に近くなる」ように、ベクトルを更新する。
 このように、生成部23は、各クラスペアの各トリプルについて、ナレッジグラフ13とモデル14とに基づいた機械学習を実行し、エンティティのベクトルや関係のベクトルを生成する。なお、機械学習の手法は、勾配法などの各種手法を用いることができる。
 予測部24は、モデル14等を用いて、リンク予測、関係抽出、クラス予測などを実行する。具体的には、予測部24は、ベクトル(始点)とベクトル(関係)とをモデル14に入力してベクトル(終点)を予測する。また、予測部24は、ベクトル(始点)とベクトル(終点)とをモデルに入力して、ベクトル(関係)を予測する。
 例えば、予測部24は、エンティティ「Ichiro」と関係「brotherOf」で接続されるエンティティを予測する場合、エンティティ「Ichiro」のベクトル「v(Ichiro)」と関係「brotherOf」のベクトル「v(brotherOf)」とをモデル14に入力する。そして、予測部24は、モデル14によりベクトル演算「v(Ichiro)+v(brotherOf)」などが実行されることで出力された結果を予測結果として取得する。そして、予測部24は、予測結果を記憶部12に記憶したり、ディスプレイなどに表示したり、管理者端末に送信したりする。
 図9は、実施例1にかかるベクトル生成処理の流れを示すフローチャートである。図9に示すように、判定部22は、ナレッジグラフのすべてのベクトルを乱数で初期化し(S101)、ナレッジグラフから主語と目的語に対応するすべてのクラスペアのパターンを取得する(S102)。続いて、判定部22は、各クラスペアに属するリレーションについて、含意判定を実行する(S103)。
 そして、生成部23は、ナレッジグラフから、トリプル(e1,r,e2)を取得し(S104)、トリプルのベクトルの大きさである「||e1+r-e2||」が閾値(Margin)より大きいか否かを判定する(S105)。
 ここで、「||e1+r-e2||」が閾値より大きい場合(S105:Yes)、生成部23は、ベクトルの差分(e1+r-e2)が0に近づくように「e1,r,e2」それぞれのベクトルを更新する(S106)。
 そして、S106を実行した後、または、「||e1+r-e2||」が閾値未満の場合(S105:No)、生成部23は、関係rを含意する、または、関係rに含意される関係qを取得する(S107)。
 ここで、生成部23は、関係rが関係qを含意する場合(S108:Yes)、ベクトルの差分(e1+r-e2)がベクトルの差分(e1+q-e2)のスコアより大きくなるように、「e1,r,e2」のそれぞれのベクトルを更新する(S109)。
 一方、生成部23は、関係rが関係qを含意しない場合(S108:No)、ベクトルの差分(e1+r-e2)がベクトルの差分(e1+q-e2)より小さくなるように、「e1,r,e2」それぞれのベクトルを更新する(S110)。
 その後、生成部23は、ベクトルの更新がなくなった、または、規定回数繰り返した場合に(S111:Yes)、処理を終了する。なお、生成部23は、更新対象のベクトルが存在する場合、または、実行回数が規定回数未満の場合(S111:No)、S104以降を繰り返す。
 上述したように、実施例1にかかる情報処理装置10は、クラスペアごとに関係の含意を判定することで、抽象度が低い関係ではあるが複数のクラスペア間で使われるような関係に対し、エンティティ間の関係性の含意関係を適切に区別して機械学習に反映することができる。この結果、情報処理装置10は、精度の高いベクトル表現を生成することができる。
 次に、実施例2では、クラス階層を利用する手法2について説明する。なお、実施例2にかかる情報処理装置10の機能構成は、実施例1と同様なので、詳細な説明は省略する。実施例2にかかる情報処理装置10は、ベクトル表現の機械学習時に、クラス階層を利用した制約の適用を実行する。
 具体的には、判定部22は、第1の2つのエンティティのいずれかに接続された第1のエンティティと第2の2つのエンティティのいずれかに接続された第2のエンティティとの比較により、第1のトリプルと第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定する。
 また、生成部23は、第1のトリプルがより具体性が高い情報と関連付いていると判定された場合、第1のトリプルのそれぞれを示すベクトルの差分が第2のトリプルのそれぞれを示すベクトルの差分より小さいという制約条件に従って、ナレッジグラフ13とモデル14とに基づいた機械学習を実行する。具体的には、生成部23は、クラスC´1がクラスC1の下位概念、クラスC´2がクラスC2の下位概念のとき、(C1,C2)に属するエンティティ(e1,e2)、(C´1,C´2)に属するエンティティ(e1´,e2´)について、トリプル(e1´,r,e2´)のスコアがトリプル(e1,r,e2)のスコアよりも高くなるようにそれぞれのベクトルを更新する。
 図10を用いて具体的に説明する。図10は、実施例2にかかるベクトル生成を説明する図である。図10に示すナレッジグラフは、オントロジーとして、クラス「Person」、クラス「Teacher」、クラス「Doctor」を有する。そして、クラス「Person」が上位階層(上位クラス)であり、クラス「Teacher」とクラス「Doctor」のそれぞれがクラス「Person」の下位階層(下位クラス)である。
 また、ナレッジグラフは、インスタンスとして、エンティティ「Taro」、エンティティ「Ichiro」、エンティティ「Hanako」、エンティティ「Jiro」を有する。そして、エンティティ「Taro」とエンティティ「Ichiro」は、クラス「Person」に属し、関係「friend」を有する。エンティティ「Hanako」とエンティティ「Jiro」は、クラス「Doctor」に属し、関係「friend」を有する。
 図10の場合、判定部22は、エンティティ「Hanako」のクラス「Teacher」がエンティティ「Taro」のクラス「Person」の下位概念かつエンティティ「Jiro」のクラス「Doctor」がエンティティ「Ichiro」のクラス「Person」の下位概念であることを特定する。このため、生成部23は、トリプル(Taro,friend,Ichiro)よりもトリプル(Hanako,friend,Jiro)のスコアが高くなるように、ベクトルを更新する。すなわち、生成部23は、「v(Hanako)+v(friend)=v(Jiro)」の方が「v(Taro)+v(friend)=v(Ichiro)」よりも大きくなるように、ベクトルを更新する。
 図11は、実施例2にかかるベクトル生成処理の流れを示すフローチャートである。図11に示すように、判定部22は、ナレッジグラフのすべてのベクトルを乱数で初期化し(S201)、レッジグラフの各トリプルについて、クラス階層に基づいて上位下位判定を行う(S202)。
 そして、生成部23は、ナレッジグラフから、トリプルt(e1,r,e2)を取得し(S203)、トリプルtのベクトルの大きさである「||e1+r-e2||」が閾値(Margin)より大きいか否かを判定する(S204)。
 ここで、「||e1+r-e2||」が閾値より大きい場合(S204:Yes)、生成部23は、ベクトルの差分(e1+r-e2)が0に近づくように「e1,r,e2」それぞれのベクトルを更新する(S205)。
 そして、S205を実行した後、または、「||e1+r-e2||」が閾値未満の場合(S204:No)、生成部23は、ナレッジグラフからトリプルtと上位下位関係にあるトリプルt´(e1´,r,e2´)を取得する(S206)。
 ここで、生成部23は、トリプルt´がトリプルtの上位トリプルである場合(S207:Yes)、ベクトルの差分(e1´+r-e2´)がベクトルの差分(e1+r-e2)のスコアより大きくなるように、「e1,e2,e1´,e2´」のそれぞれのベクトルを更新する(S208)。
 一方、生成部23は、トリプルt´がトリプルtの下位トリプルである場合(S207:No)、ベクトルの差分(e1´+r-e2´)がベクトルの差分(e1+r-e2)のスコアより小さくなるように、「e1,e2,e1´,e2´」それぞれのベクトルを更新する(S209)。
 その後、生成部23は、ベクトルの更新がなくなった、または、規定回数繰り返した場合に(S210:Yes)、処理を終了する。なお、生成部23は、更新対象のベクトルが存在する場合、または、実行回数が規定回数未満の場合(S210:No)、S203以降を繰り返す。
 上述したように、実施例2にかかる情報処理装置10は、同じ関係でも、より具体的なエンティティ間の関係を重視して機械学習を実行することで、精度の高いベクトル表現を生成することができる。
 さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
 上記実施例で用いたナレッジグラフ、エンティティ例、クラス例、関係例、数値例、閾値、表示例等は、あくまで一例であり、任意に変更することができる。また、実施例1で説明した手法1と実施例2で説明した手法は、組み合わせて用いることもできる。
 また、上記各実施例では、TransEを用いた機械学習を実行する例で説明したが、これに限定されるものではなく、他の機械学習モデルを採用することができる。そこで、実施例1と実施例2について、汎用的なモデルを用いたときのフローチャートを説明する。
 図12は、クラスペアを用いたベクトル生成処理の汎用的な流れを示すフローチャートである。図12に示す処理の流れにおいて、実施例1の図9と異なる点は、スコア関数として、f(エンティティ,関係,エンティティ)を用いる点である。なお、スコア関数は、様々な公知の関数を用いることができる。
 具体的には、図12のS301からS304は、図9のS101からS104と同様なので、詳細な説明は省略する。生成部23は、ナレッジグラフから取得したトリプルのベクトルを用いたスコア関数(f(e1,r,e2))が閾値(Margin)より大きいか否かを判定する(S305)。
 ここで、スコア関数(f(e1,r,e2))が閾値より大きい場合(S305:Yes)、生成部23は、スコア関数(f(e1,r,e2))が0に近づくように「e1,r,e2」それぞれのベクトルを更新する(S306)。
 そして、S306を実行した後、または、スコア関数(f(e1,r,e2))が閾値未満の場合(S305:No)、生成部23は、関係rを含意する、または、関係rに含意される関係qを取得する(S307)。
 ここで、生成部23は、関係rが関係qを含意する場合(S308:Yes)、スコア関数(f(e1,r,e2))がスコア関数(f(e1,q,e2))より大きくなるように、「e1,r,e2」のそれぞれのベクトルを更新する(S309)。
 一方、生成部23は、関係rが関係qを含意しない場合(S308:No)、スコア関数(f(e1,r,e2))がスコア関数(f(e1,q,e2))より小さくなるように、「e1,r,e2」それぞれのベクトルを更新する(S310)。
 その後、生成部23は、ベクトルの更新がなくなった、または、規定回数繰り返した場合に(S311:Yes)、処理を終了する。なお、生成部23は、更新対象のベクトルが存在する場合、または、実行回数が規定回数未満の場合(S311:No)、S304以降を繰り返す。
 図13は、クラス階層を用いたベクトル生成処理の汎用的な流れを示すフローチャートである。図13に示す処理の流れにおいて、実施例2の図11と異なる点は、スコア関数として、f(エンティティ,関係,エンティティ)を用いる点である。なお、スコア関数は、様々な公知の関数を用いることができる。
 具体的には、図13のS401からS403は、図11のS201からS203と同様なので、詳細な説明は省略する。生成部23は、ナレッジグラフから取得したトリプルのベクトルを用いたスコア関数(f(e1,r,e2))が閾値(Margin)より大きいか否かを判定する(S404)。
 ここで、スコア関数(f(e1,r,e2))が閾値より大きい場合(S404:Yes)、生成部23は、スコア関数(f(e1,r,e2))が0に近づくように「e1,r,e2」それぞれのベクトルを更新する(S405)。
 そして、S405を実行した後、または、スコア関数(f(e1,r,e2))が閾値未満の場合(S404:No)、生成部23は、ナレッジグラフからトリプルtと上位下位関係にあるトリプルt´(e1´,r,e2´)を取得する(S406)。
 ここで、生成部23は、トリプルt´がトリプルtの上位トリプルである場合(S407:Yes)、スコア関数(f(e1´,r,e2´))がスコア関数(f(e1,r,e2))より大きくなるように、「e1,e2,e1´,e2´」それぞれのベクトルを更新する(S408)。
 一方、生成部23は、トリプルt´がトリプルtの下位トリプルである場合(S407:No)、スコア関数(f(e1´,r,e2´))がスコア関数(f(e1,r,e2))より小さくなるように、「e1,e2,e1´,e2´」それぞれのベクトルを更新する(S409)。
 その後、生成部23は、ベクトルの更新がなくなった、または、規定回数繰り返した場合に(S410:Yes)、処理を終了する。なお、生成部23は、更新対象のベクトルが存在する場合、または、実行回数が規定回数未満の場合(S410:No)、S403以降を繰り返す。
 上述したように、情報処理装置10は、上記手法1および手法2を広く利用される機械学習モデルに適用することができるので、汎用性を向上させることができる。
 上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
 さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 図14は、ハードウェア構成例を説明する図である。図14に示すように、情報処理装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図14に示した各部は、バス等で相互に接続される。
 通信装置10aは、ネットワークインタフェースカードなどであり、他の装置との通信を行う。HDD10bは、図6に示した機能を動作させるプログラムやDBを記憶する。
 プロセッサ10dは、図6に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図6等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、情報処理装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、取得部21、判定部22、生成部23、予測部24等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、取得部21、判定部22、生成部23、予測部24等と同様の処理を実行するプロセスを実行する。
 このように、情報処理装置10は、プログラムを読み出して実行することで機械学習方法を実行する情報処理装置として動作する。また、情報処理装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
 このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
 10 情報処理装置
 11 通信部
 12 記憶部
 13 ナレッジグラフ
 14 モデル
 20 制御部
 21 取得部
 22 判定部
 23 生成部
 24 予測部

Claims (6)

  1.  ナレッジグラフに含まれる第1のトリプルと第2のトリプルとを特定し、
     前記ナレッジグラフに含まれる特定のクラスの組の複数のエンティティ間の複数の関係のそれぞれの出現状況に応じた前記第1のトリプルに含まれる第1の2つのエンティティ間の第1の関係と前記第2のトリプルに含まれる第2の2つのエンティティ間の第2の関係との比較と、前記第1の2つのエンティティのいずれかに接続された第1のエンティティと前記第2の2つのエンティティのいずれかに接続された第2のエンティティとの比較とのうち少なくとも一方に基づいて、前記第1のトリプルと前記第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定し、
     前記判定する処理において前記第1のトリプルがより具体性が高い情報と関連付いていると判定された場合、前記第1のトリプルのそれぞれを示すベクトルの差分が前記第2のトリプルのそれぞれを示すベクトルの差分より小さいという制約条件に基づいた機械学習によって前記第1のトリプルのそれぞれを示すベクトルと前記第2のトリプルのそれぞれを示すベクトルとを生成する、
     処理をコンピュータに実行させることを特徴とする機械学習プログラム。
  2.  前記判定する処理は、前記第1の関係と前記第2の関係との比較として、前記特定のクラスの組の前記複数のエンティティ間に前記第1の関係が存在するときに前記第2の関係も存在する前記出現状況において、前記第1の関係と前記第2の関係との含意関係により、前記第1のトリプルと前記第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定する処理を含む、
     ことを特徴とする請求項1に記載の機械学習プログラム。
  3.  前記判定する処理は、
      前記第1の関係と前記第2の関係との比較として、前記特定のクラスの組に属する複数のトリプルから、前記第1の関係を有する複数の前記第1の2つのエンティティの組と前記第2の関係を有する複数の前記第2の2つのエンティティの組とを特定し、
     前記複数の第1のエンティティの組が前記複数の第2の2つのエンティティの組に含まれる場合に、前記第1のトリプルがより具体性が高い情報と関連付いていると判定する、
     処理を含むことを特徴とする請求項2に記載の機械学習プログラム。
  4.  前記判定する処理は、
     前記第1のエンティティと前記第2のエンティティとの比較として、前記ナレッジグラフに含まれる各エンティティンが属するクラス間の階層構造に基づき、前記第1のエンティティが属する第1のクラスと前記第2のエンティティが属する第2のクラスとを特定し、
      前記第1のクラスが前記第2のクラスよりも下位層に位置する場合に、前記第1のトリプルがより具体性が高い情報と関連付いていると判定する、
     処理を含むことを特徴とする請求項1に記載の機械学習プログラム。
  5.  ナレッジグラフに含まれる第1のトリプルと第2のトリプルとを特定し、
     前記ナレッジグラフに含まれる特定のクラスの組の複数のエンティティ間の複数の関係のそれぞれの出現状況に応じた前記第1のトリプルに含まれる第1の2つのエンティティ間の第1の関係と前記第2のトリプルに含まれる第2の2つのエンティティ間の第2の関係との比較と、前記第1の2つのエンティティのいずれかに接続された第1のエンティティと前記第2の2つのエンティティのいずれかに接続された第2のエンティティとの比較とのうち少なくとも一方に基づいて、前記第1のトリプルと前記第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定し、
     前記判定する処理において前記第1のトリプルがより具体性が高い情報と関連付いていると判定された場合、前記第1のトリプルのそれぞれを示すベクトルの差分が前記第2のトリプルのそれぞれを示すベクトルの差分より小さいという制約条件に基づいた機械学習によって前記第1のトリプルのそれぞれを示すベクトルと前記第2のトリプルのそれぞれを示すベクトルとを生成する、
     処理をコンピュータが実行することを特徴とする機械学習方法。
  6.  ナレッジグラフに含まれる第1のトリプルと第2のトリプルとを特定し、
     前記ナレッジグラフに含まれる特定のクラスの組の複数のエンティティ間の複数の関係のそれぞれの出現状況に応じた前記第1のトリプルに含まれる第1の2つのエンティティ間の第1の関係と前記第2のトリプルに含まれる第2の2つのエンティティ間の第2の関係との比較と、前記第1の2つのエンティティのいずれかに接続された第1のエンティティと前記第2の2つのエンティティのいずれかに接続された第2のエンティティとの比較とのうち少なくとも一方に基づいて、前記第1のトリプルと前記第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定し、
     前記第1のトリプルがより具体性が高い情報と関連付いていると判定された場合、前記第1のトリプルのそれぞれを示すベクトルの差分が前記第2のトリプルのそれぞれを示すベクトルの差分より小さいという制約条件に基づいた機械学習によって前記第1のトリプルのそれぞれを示すベクトルと前記第2のトリプルのそれぞれを示すベクトルとを生成する、
     制御部を有することを特徴とする情報処理装置。
PCT/JP2020/029718 2020-08-03 2020-08-03 機械学習プログラム、機械学習方法および情報処理装置 WO2022029852A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022541347A JPWO2022029852A1 (ja) 2020-08-03 2020-08-03
PCT/JP2020/029718 WO2022029852A1 (ja) 2020-08-03 2020-08-03 機械学習プログラム、機械学習方法および情報処理装置
US18/093,342 US20230162054A1 (en) 2020-08-03 2023-01-05 Non-transitory computer-readable recording medium, machine training method, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/029718 WO2022029852A1 (ja) 2020-08-03 2020-08-03 機械学習プログラム、機械学習方法および情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/093,342 Continuation US20230162054A1 (en) 2020-08-03 2023-01-05 Non-transitory computer-readable recording medium, machine training method, and information processing apparatus

Publications (1)

Publication Number Publication Date
WO2022029852A1 true WO2022029852A1 (ja) 2022-02-10

Family

ID=80117165

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/029718 WO2022029852A1 (ja) 2020-08-03 2020-08-03 機械学習プログラム、機械学習方法および情報処理装置

Country Status (3)

Country Link
US (1) US20230162054A1 (ja)
JP (1) JPWO2022029852A1 (ja)
WO (1) WO2022029852A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114595686A (zh) * 2022-03-11 2022-06-07 北京百度网讯科技有限公司 知识抽取方法、知识抽取模型的训练方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114691886A (zh) * 2022-03-16 2022-07-01 华中科技大学 一种关系增强的知识图谱嵌入方法及***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BOYANG DING; QUAN WANG; BIN WANG; LI GUO: "Improving Knowledge Graph Embedding Using Simple Constraints", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 7 May 2018 (2018-05-07), 201 Olin Library Cornell University Ithaca, NY 14853 , XP080875444 *
HAMAGUCHI TAKUO, OIWA HIDEKAZU, SHIMBO MASASHI, MATSUMOTO YUJI: "Knowledge Base Completion with Out-of-Knowledge- Base Entities: A Graph Neural Network Approach", TRANSACTIONS OF THE JAPANESE SOCIETY FOR ARTIFICIAL INTELLIGENCE, 社団法人 人工知能学会, vol. 33, no. 2, 1 January 2018 (2018-01-01), pages F - 10, XP055905386, ISSN: 1346-0714, DOI: 10.1527/tjsai.F-H72 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114595686A (zh) * 2022-03-11 2022-06-07 北京百度网讯科技有限公司 知识抽取方法、知识抽取模型的训练方法及装置
CN114595686B (zh) * 2022-03-11 2023-02-03 北京百度网讯科技有限公司 知识抽取方法、知识抽取模型的训练方法及装置

Also Published As

Publication number Publication date
JPWO2022029852A1 (ja) 2022-02-10
US20230162054A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
JP6555411B2 (ja) 情報処理方法および情報処理装置
US10831486B2 (en) Automation of sequences of actions
Md Saad et al. Hamming distance method with subjective and objective weights for personnel selection
Sala et al. Sharing graphs using differentially private graph models
US20230162054A1 (en) Non-transitory computer-readable recording medium, machine training method, and information processing apparatus
JP5267398B2 (ja) 自動回路設計用パレートデータ生成プログラム、方法及び装置、並びに自動回路設計プログラム、方法及び装置
Beyer et al. On the design of constraint covariance matrix self-adaptation evolution strategies including a cardinality constraint
CN110222874B (zh) 信息处理方法及装置、存储介质及计算设备
CN107408115A (zh) web站点访问控制
Akazaki Falsification of conditional safety properties for cyber-physical systems with gaussian process regression
Jiang et al. Multiclass adaboost elm and its application in lbp based face recognition
Pougué-Biyong et al. Learning stance embeddings from signed social graphs
Tehreem et al. [Retracted] Analysis of Social Networks by Using Pythagorean Cubic Fuzzy Einstein Weighted Geometric Aggregation Operators
CN112766505B (zh) 非单调推理在逻辑动作语言***刻画中的知识表示方法
Zou et al. A multiobjective particle swarm optimization algorithm based on grid technique and multistrategy
He et al. A modified artificial bee colony algorithm based on search space division and disruptive selection strategy
US20040143808A1 (en) Method of resolving mismatched parameters in computer-aided integrated circuit design
Yuan et al. Matching recommendations based on siamese network and metric learning
WO2022074796A1 (ja) 評価方法、評価装置、および評価プログラム
Ergenç Bostanoǧlu et al. Minimizing information loss in shared data: Hiding frequent patterns with multiple sensitive support thresholds
Kong et al. Taprank: A time-aware author ranking method in heterogeneous networks
JP7367410B2 (ja) 生成プログラム、生成方法、および情報処理装置
Izadi et al. A planning algorithm for predictive state representations
Yuan et al. Fine-grained relational learning for few-shot knowledge graph completion
Qian et al. A Statistical Test of Change‐Point in Mean that Almost Surely Has Zero Error Probabilities

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: 20947871

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022541347

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20947871

Country of ref document: EP

Kind code of ref document: A1