Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7567915B2 - Machine learning program, machine learning method, and information processing device - Google Patents
[go: Go Back, main page]

JP7567915B2 - Machine learning program, machine learning method, and information processing device - Google Patents

Machine learning program, machine learning method, and information processing device Download PDF

Info

Publication number
JP7567915B2
JP7567915B2 JP2022541347A JP2022541347A JP7567915B2 JP 7567915 B2 JP7567915 B2 JP 7567915B2 JP 2022541347 A JP2022541347 A JP 2022541347A JP 2022541347 A JP2022541347 A JP 2022541347A JP 7567915 B2 JP7567915 B2 JP 7567915B2
Authority
JP
Japan
Prior art keywords
triple
machine learning
relationship
vector
entity
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2022541347A
Other languages
Japanese (ja)
Other versions
JPWO2022029852A1 (en
Inventor
成司 岡嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2022029852A1 publication Critical patent/JPWO2022029852A1/ja
Application granted granted Critical
Publication of JP7567915B2 publication Critical patent/JP7567915B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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)

Description

本発明は、ナレッジグラフに基づく機械学習に関する。 The present invention relates to machine learning based on knowledge graphs.

ナレッジグラフ(KG:Knowledge Graph)をベクトル空間上に埋め込み、ナレッジグラフのノード(エンティティ)およびリンク(関係)をベクトルで表現することが行われている。なお、このようなベクトル表現は、埋め込み表現とも呼ばれる。また、ナレッジグラフは、一般化されたレベルの知識(クラス)であり、階層構造を有するオントロジーと、具体例レベルの知識であり、グラフ構造であるインスタンスとにより知識付けされた知識データの一例である。A knowledge graph (KG) is embedded in a vector space, and the nodes (entities) and links (relationships) of the knowledge graph are represented as vectors. This type of vector representation is also called an embedded representation. A knowledge graph is an example of knowledge data that is made up of ontology, which is a generalized level of knowledge (classes) and has a hierarchical structure, and instances, which are knowledge at the specific example level and have a graph structure.

そして、このようなKGのベクトル表現を用いた機械学習により、エンティティ間の関係性をベクトル表現で与えることが行われている。例えば、与えられたKGに含まれる3つの組であるトリプル(主語、述語、目的語)=(h:始点,r:関係,t:終点)に対応するベクトル(v,v,v)が「v+v=v」を満たすように機械学習を実行し、エンティティのベクトルと関係のベクトルとを更新する。このような機械学習により生成されたベクトルを用いて、リンク予測、関係抽出、クラス予測などが実行される。 Then, by machine learning using the vector representation of such KG, relationships between entities are given as vector representations. For example, machine learning is performed so that vectors (vh, vr, vt ) corresponding to triples (subject, predicate, object) = ( h : start point, r : relationship, t: end point) included in a given KG satisfy " vh + vr = vt ", and the entity vectors and relationship vectors are updated. Using the vectors generated by such machine learning, link prediction, relationship extraction, class prediction, etc. are performed.

例えば、リンク予測は、エンティティとリンクとを用いて関係性のあるエンティティを予測する演算であり、例えば、ベクトル「始点」とベクトル「関係」とをモデルに入力して、ベクトル「終点」を予測する。関係抽出は、2つのエンティティからそれらの関係性を予測する演算であり、例えば、ベクトル「始点」とベクトル「終点」とをモデルに入力して、ベクトル「関係」を予測する。タイプ予測は、2つのエンティティからそれらが属するクラスを予測する演算であり、例えば、ベクトル「始点」とベクトル「終点」とをモデルに入力して、ベクトル「クラス」を予測する。For example, link prediction is an operation that predicts related entities using entities and links; for example, vector "start" and vector "relationship" are input into a model to predict vector "end". Relationship extraction is an operation that predicts the relationship between two entities; for example, vector "start" and vector "end" are input into a model to predict vector "relationship". Type prediction is an operation that predicts the class to which two entities belong; for example, vector "start" and vector "end" are input into a model to predict vector "class".

近年では、モデルの精度を上げる手法として、関係の含意関係を利用した制約を埋め込み計算(ベクトル計算)に導入する機械学習手法が知られている。具体的には、任意のエンティティe1,e2間に関係qがあるときに、必ず関係rがある(rがqを含意する)場合、トリプル(e1,q,e2)のスコアがトリプル(e1,r,e2)のスコアよりも高くなるようにそれぞれのベクトルを更新する。In recent years, a machine learning method that introduces constraints using implication relationships into embedding calculations (vector calculations) has been known as a method for improving the accuracy of models. Specifically, when there is a relationship q between any entities e1 and e2, if there is always a relationship r (r implies q), then the vectors are updated so that the score of triple (e1, q, e2) is higher than the score of triple (e1, r, e2).

Boyang Ding et al,“Improving Knowledge Graph Embedding Using Simple Constraints”,ACL 2018.Boyang Ding et al, “Improving Knowledge Graph Embedding Using Simple Constraints”, ACL 2018.

しかしながら、上記機械学習手法では、モデルを用いて取得されるベクトル表現の精度が高いとは限らない。However, with the above machine learning techniques, the vector representations obtained using the models are not necessarily highly accurate.

例えば、上記機械学習手法は、抽象度の低い関係(ターゲット)を含むトリプルに高いスコアを与える手法であるが、整理されていないナレッジグラフでは、ベクトル表現の精度が低下することがある。例えば、ターゲットが異なるクラスのエンティティで共通に利用されることがあるが、上記機械学習手法では、ターゲットを含意する関係を見つけることができず、正確に制約を適用できない場合があり、学習精度が低下する。また、上記機械学習手法は、関係の抽象度を扱っているが、エンティティの抽象度を扱うことができないので、生成されるモデルの精度が期待通りに高くなるとは限らない。For example, the above machine learning method is a method that gives a high score to triples that include a low-level of abstraction (target), but in a disorganized knowledge graph, the accuracy of the vector representation may decrease. For example, a target may be commonly used by entities of different classes, but the above machine learning method may not be able to find a relationship that implies the target and may not be able to apply constraints accurately, resulting in decreased learning accuracy. In addition, while the above machine learning method handles the abstraction of relationships, it cannot handle the abstraction of entities, so the accuracy of the generated model may not be as high as expected.

一つの側面では、精度の高いベクトル表現を生成することができる機械学習プログラム、機械学習方法および情報処理装置を提供することを目的とする。 In one aspect, the objective is to provide a machine learning program, a machine learning method, and an information processing device capable of generating highly accurate vector representations.

第1の案では、機械学習プログラムは、ナレッジグラフに含まれる第1のトリプルと第2のトリプルとを特定する処理をコンピュータに実行させる。機械学習プログラムは、前記ナレッジグラフに含まれる特定のクラスの組の複数のエンティティ間の複数の関係のそれぞれの出現状況に応じた前記第1のトリプルに含まれる第1の2つのエンティティ間の第1の関係と前記第2のトリプルに含まれる第2の2つのエンティティ間の第2の関係との比較と、前記第1の2つのエンティティのいずれかに接続された第1のエンティティと前記第2の2つのエンティティのいずれかに接続された第2のエンティティとの比較とのうち少なくとも一方に基づいて、前記第1のトリプルと前記第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定する処理をコンピュータに実行させる。機械学習プログラムは、前記判定する処理において前記第1のトリプルがより具体性が高い情報と関連付いていると判定された場合、前記第1のトリプルのそれぞれを示すベクトルの差分が前記第2のトリプルのそれぞれを示すベクトルの差分より小さいという制約条件に基づいた機械学習によって前記第1のトリプルのそれぞれを示すベクトルと前記第2のトリプルのそれぞれを示すベクトルとを生成する処理をコンピュータに実行させる。In a first proposal, the machine learning program causes the computer to execute a process of identifying a first triple and a second triple included in a knowledge graph. The machine learning program causes the computer to execute a process of determining which of the first triple and the second triple is associated with more specific information based on at least one of a comparison between a first relationship between two first entities included in the first triple and a second relationship between two second entities included in the second triple according to the occurrence status of each of a plurality of relationships between a plurality of entities of a pair of specific classes included in the knowledge graph, and a comparison between a first entity connected to any of the first two entities and a second entity connected to any of the second two entities. When it is determined in the determination process that the first triple is associated with more specific information, the machine learning program causes the computer to execute a process of generating vectors indicating each of the first triples and vectors indicating each of the second triples by machine learning based on a constraint that the difference between the vectors indicating each of the first triples is smaller than the difference between the vectors indicating each of the second triples.

一実施形態によれば、精度の高いベクトル表現を生成することができる。 According to one embodiment, a highly accurate vector representation can be generated.

図1は、実施例にかかる情報処理装置を説明する図である。FIG. 1 is a diagram illustrating an information processing apparatus according to an embodiment. 図2は、ナレッジグラフを説明する図である。FIG. 2 is a diagram illustrating a knowledge graph. 図3は、参考技術を説明する図である。FIG. 3 is a diagram for explaining the reference technique. 図4は、参考技術の問題点を説明する図である。FIG. 4 is a diagram for explaining the problem of the reference technology. 図5は、参考技術の問題点を説明する図である。FIG. 5 is a diagram for explaining the problem of the reference technology. 図6は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。FIG. 6 is a functional block diagram of the information processing apparatus according to the first embodiment. 図7は、ナレッジグラフの一例を示す図である。FIG. 7 is a diagram illustrating an example of a knowledge graph. 図8は、実施例1にかかるベクトル生成を説明する図である。FIG. 8 is a diagram illustrating vector generation according to the first embodiment. 図9は、実施例1にかかるベクトル生成処理の流れを示すフローチャートである。FIG. 9 is a flowchart of the vector generation process according to the first embodiment. 図10は、実施例2にかかるベクトル生成を説明する図である。FIG. 10 is a diagram for explaining vector generation according to the second embodiment. 図11は、実施例2にかかるベクトル生成処理の流れを示すフローチャートである。FIG. 11 is a flowchart illustrating a flow of a vector generation process according to the second embodiment. 図12は、クラスペアを用いたベクトル生成処理の汎用的な流れを示すフローチャートである。FIG. 12 is a flowchart showing a general flow of vector generation processing using class pairs. 図13は、クラス階層を用いたベクトル生成処理の汎用的な流れを示すフローチャートである。FIG. 13 is a flowchart showing a generalized flow of vector generation processing using a class hierarchy. 図14は、ハードウェア構成例を説明する図である。FIG. 14 is a diagram illustrating an example of a hardware configuration.

以下に、本発明にかかる機械学習プログラム、機械学習方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。 Below, examples of the machine learning program, machine learning method, and information processing device according to the present invention are described in detail with reference to the drawings. Note that the present invention is not limited to these examples. Furthermore, each example can be appropriately combined within a range that does not cause inconsistency.

図1は、実施例にかかる情報処理装置10を説明する図である。図1に示すように、情報処理装置10は、ナレッジグラフのエンティティと関係をベクトルで表現し、生成したベクトル表現を用いて機械学習を実行することで、エンティティ間の関係を精度よく示すベクトル表現を生成するコンピュータの一例である。1 is a diagram illustrating an information processing device 10 according to an embodiment. As shown in FIG. 1, the information processing device 10 is an example of a computer that generates vector representations that accurately indicate relationships between entities by expressing entities and relationships in a knowledge graph as vectors and performing machine learning using the generated vector representations.

ナレッジグラフは、オントロジーとインスタンスとを有する知識データの一例である。図2は、ナレッジグラフを説明する図である。図2に示すように、ナレッジグラフのオントロジーは、一般化されたレベルの知識であり、階層構造を有する。例えば、クラス「Thing」の下位階層(下位概念)として、クラス「Place」とクラス「Person」とが該当する。また、クラス「Place」の下位階層として、クラス「City」とクラス「Park」とが該当する。 A knowledge graph is an example of knowledge data having an ontology and an instance. Figure 2 is a diagram explaining a knowledge graph. As shown in Figure 2, the ontology of a knowledge graph is a generalized level of knowledge and has a hierarchical structure. For example, the classes "Place" and "Person" are lower-level (sub-concept) classes of the class "Thing". Furthermore, the classes "City" and "Park" are lower-level classes of the class "Place".

また、ナレッジグラフのインスタンスは、具体例レベルの知識であり、グラフ構造である。例えば、エンティティ「Hanako」は、関係「residence」でエンティティ「Kawasaki」に接続されており、エンティティ「Jiro」は、関係「friend」でエンティティ「Hanako」に接続される。エンティティ「Ichiro」は、関係「birthplace」でエンティティ「Kawasaki」に接続されるとともに、brother関係でエンティティ「Jiro」に接続される。また、エンティティ「Kawasaki」は、クラス「Place」に属することから、クラス「Place」とエンティティ「Kawasaki」の関係「type」を有する。同様に、エンティティ「Hanako」、「Jiro」、「Ichiro」は、クラス「Person」に属し、それぞれがクラス「Person」と関係「type」を有する。 Furthermore, a knowledge graph instance is knowledge at the level of a specific example, and has a graph structure. For example, the entity "Hanako" is connected to the entity "Kawasaki" through the relationship "residence", and the entity "Jiro" is connected to the entity "Hanako" through the relationship "friend". The entity "Ichiro" is connected to the entity "Kawasaki" through the relationship "birthplace", and is also connected to the entity "Jiro" through a brother relationship. Furthermore, the entity "Kawasaki" belongs to the class "Place", and therefore has a relationship "type" between the class "Place" and the entity "Kawasaki". Similarly, the entities "Hanako", "Jiro", and "Ichiro" belong to the class "Person", and each has a relationship "type" with the class "Person".

ここで、Translation-based modelの一種であるTransEと呼ばれる技術を用いた参考技術では、与えられたナレッジグラフに含まれる3つ組であるトリプル(h,r,t)に対応するベクトル(v,v,v)が「v+v=v」を満たすように機械学習を実行し、エンティティのベクトルと関係のベクトルとが更新される。このとき、参考技術では、関係の含意関係を利用した制約をベクトル計算(埋め込み計算)に導入する。 Here, in the reference technology using a technology called TransE, which is a type of translation-based model, machine learning is performed so that vector ( vh , vr , vt) corresponding to triple (h, r, t ) which is a triple included in a given knowledge graph satisfies " vh + vr = vt ", and entity vectors and relationship vectors are updated. At this time, in the reference technology, a constraint using the implication relationship of the relationship is introduced into vector calculation (embedding calculation).

図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)などと表記することがある。 Figure 3 is a diagram explaining the reference technology. Given the knowledge graph shown in Figure 3, for example, the reference technology performs machine learning assuming that when there is a relationship "member" between any entities, there is also a relationship "affiliation" and that the relationship "affiliation" implies the relationship "member". Specifically, the reference technology updates each vector so that "v(Ichiro) + v(member) is closer to v(A Corp.) than v(Ichiro) + v(affiliation), and v(Jiro) + v(member) is closer to v(B Corp.) than v(Jiro) + v(affiliation)". In other words, the reference technology gives a higher score to triples that include a less abstract relationship. Note that v(Ichiro) is synonymous with vector(Ichiro), and to simplify the description, in this embodiment, vector(Ichiro) etc. may be written as v(Ichiro), etc.

この参考技術は、抽象度の低い関係やターゲットを含むトリプルに高いスコアを与えて機械学習を実行するが、整理されていないナレッジグラフでは、異なるクラスのエンティティで共通にターゲットが利用されることがある。この場合、参考技術では、ターゲットを含意する関係が見つからず、制約が適切に適用できない場合がある。図4は、参考技術の問題点を説明する図である。図4の(a)では、関係「affiliation」を有するクラスと属性値との関係であることから、関係の含意関係を利用した制約をベクトル計算に導入することができる。一方で、図4の(b)では、関係「member」を有するが関係「affiliation」を有さないデータが含まれているから上記制約を適用できないので、このようなベクトル表現を用いた機械学習では、学習精度の低下が起こり得る。This reference technology performs machine learning by giving a high score to triples that include relationships and targets with low abstraction, but in a disorganized knowledge graph, targets may be commonly used by entities of different classes. In this case, the reference technology may not find a relationship that implies the target, and the constraint may not be applied appropriately. Figure 4 is a diagram explaining the problems with the reference technology. In (a) of Figure 4, since the relationship is between a class and an attribute value that has the relationship "affiliation", a constraint using the implication relationship of the relationship can be introduced into the vector calculation. On the other hand, in (b) of Figure 4, data that has the relationship "member" but does not have the relationship "affiliation" is included, so the above constraint cannot be applied, and therefore machine learning using such a vector representation may result in a decrease in learning accuracy.

また、参考技術は、関係の抽象度を扱っているが、エンティティの抽象度を扱うことができない。例えば、ある人とある人が友人関係にあるという事実よりも、ある野球選手とあるバスケットボール選手が友人関係にあるという事実を重視したい場合が考えられる。図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)」よりも、重要であるとして機械学習を実行したい。しかし、参考技術では、これらのエンティティの抽象度を正確に区別して機械学習に反映することができないので、これらを区別できる程度に機械学習が進まず、学習精度が期待通りに高くなるとは限らない。 In addition, the reference technology handles the abstraction level of relationships, but cannot handle the abstraction level of entities. For example, it is possible to consider a case where the fact that a baseball player and a basketball player are friends is more important than the fact that a certain person and another person are friends. Figure 5 is a diagram explaining the problems of the reference technology. In the knowledge graph shown in Figure 5, the entity "Person A" and the entity "Person B" have a relationship "friend" (see (a) of Figure 5), and the entity "Baseball Player A" and the entity "Baseball Player B" have a relationship "friend" (see (b) of Figure 5). In this case, we want to perform machine learning assuming that "v (Baseball Player A) + v (friend) = v (Baseball Player B)" shown in (b) of Figure 5 is more important than "v (Person A) + v (friend) = v (Person B)" shown in (a) of Figure 5. However, in the reference technology, the abstraction levels of these entities cannot be accurately distinguished and reflected in the machine learning, so the machine learning does not progress to a degree that allows them to be distinguished, and the learning accuracy is not necessarily as high as expected.

そこで、実施例では、ナレッジグラフに基づく機械学習において、オントロジーに基づく制約を導入することで、ベクトル算出の精度を向上させる。具体的には、図1に示すように、実施例では、(手法1)含意判定の限定と(手法2)クラス階層の利用のいずれかまたは両方を用いることで、機械学習の精度を向上させ、精度の高いベクトル表現を生成する。なお、実施例1では、手法1を具体的に説明し、実施例2では、手法2を具体的に説明する。 In the embodiment, therefore, in machine learning based on knowledge graphs, ontology-based constraints are introduced to improve the accuracy of vector calculation. Specifically, as shown in FIG. 1, in the embodiment, the accuracy of machine learning is improved and highly accurate vector expressions are generated by using either or both of (Method 1) limiting implication determination and (Method 2) using class hierarchies. Note that in Example 1, Method 1 is specifically described, and in Example 2, Method 2 is specifically described.

まず、手法1を用いた情報処理装置10を説明する。図6は、実施例1にかかる情報処理装置10の機能構成を示す機能ブロック図である。この情報処理装置10は、各クラスペアに属する関係について含意判定を行う際に、クラスペアによって含意判定を行う範囲を限定することで、整理されていないナレッジグラフであっても、エンティティ間の関係性の含意関係を適切に導入したベクトル表現および機械学習を実現する。First, an information processing device 10 using method 1 will be described. FIG. 6 is a functional block diagram showing the functional configuration of the information processing device 10 according to Example 1. When performing an entailment determination for relationships belonging to each class pair, this information processing device 10 limits the scope of the entailment determination by class pair, thereby realizing vector representation and machine learning that appropriately introduces entailment relationships of relationships between entities even in a disorganized knowledge graph.

図6に示すように、実施例1にかかる情報処理装置10は、通信部11、記憶部12、制御部20を有する。通信部11は、他の装置の通信を制御する。例えば、通信部11は、管理者端末などからナレッジグラフ、各種情報、各処理の開始指示などを受信し、管理者端末に学習結果や予測結果などを表示する。As shown in FIG. 6, the information processing device 10 according to the first embodiment has a communication unit 11, a memory unit 12, and a control unit 20. The communication unit 11 controls communication with other devices. For example, the communication unit 11 receives a knowledge graph, various information, and instructions to start each process from an administrator terminal, etc., and displays learning results, prediction results, etc. on the administrator terminal.

記憶部12は、各種データや制御部20が実行するプログラムなどを記憶する。例えば、記憶部12は、ナレッジグラフ13とモデル14を記憶する。なお、記憶部12は、制御部20が処理を実行する過程で生成される中間データなどを記憶することもできる。The memory unit 12 stores various data and programs executed by the control unit 20. For example, the memory unit 12 stores a knowledge graph 13 and a model 14. The memory unit 12 can also store intermediate data generated in the process of the control unit 20 executing processing.

ナレッジグラフ13は、オントロジーとインスタンスとを有する知識ベースの一例である。図7は、ナレッジグラフ13の一例を示す図である。図7に示すように、ナレッジグラフ13は、クラスペア(Person,Company)とクラスペア(Person,SportsClub)とを有する。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, knowledge graph 13 has a class pair (Person, Company) and a class pair (Person, Sports Club).

クラス「Person」には、エンティティ「Ichiro」とエンティティ「Jiro」とエンティティ「Hanako」とエンティティ「Saburo」とが属する。クラス「Company」には、エンティティ「A Corp.」とエンティティ「B Corp.」とエンティティ「C Corp.」とが属する。クラス「SportsClub」には、エンティティ「A Team」が属する。 The class "Person" includes the entities "Ichiro", "Jiro", "Hanako", and "Saburo". The class "Company" includes the entities "A Corp.", "B Corp.", and "C Corp.". The class "SportsClub" includes the entity "A Team".

エンティティ「Ichiro」は、関係「affiliation」でエンティティ「A Corp.」に接続されるとともに、関係「member」でエンティティ「A Corp.」に接続される。エンティティ「Jiro」は、関係「affiliation」でエンティティ「B Corp.」に接続されるとともに、関係「member」でエンティティ「B Corp.」に接続される。エンティティ「Hanako」は、関係「affiliation」でエンティティ「C Corp.」に接続される。エンティティ「Sabro」は、関係「member」でエンティティ「A Team」に接続される。 The entity "Ichiro" is connected to entity "A Corp." through the relationship "affiliation" and to entity "A Corp." through the relationship "member". The entity "Jiro" is connected to entity "B Corp." through the relationship "affiliation" and to entity "B Corp." through the relationship "member". The entity "Hanako" is connected to entity "C Corp." through the relationship "affiliation". The entity "Sabro" is connected to entity "A Team" through the relationship "member".

モデル14は、ベクトル表現の機械学習に用いるモデルである。例えば、モデル14は、ナレッジグラフを補完するためのtranslation-basedモデルであり、エンティティや関係を示す連続値のベクトルを得るためのモデルである。 Model 14 is a model used for machine learning of vector representations. For example, model 14 is a translation-based model for complementing knowledge graphs, and is a model for obtaining vectors of continuous values that represent entities and relationships.

制御部20は、情報処理装置10全体を司る処理部であり、取得部21と判定部22と生成部23と予測部24を有する。The control unit 20 is a processing unit that controls the entire information processing device 10, and has an acquisition unit 21, a judgment unit 22, a generation unit 23, and a prediction unit 24.

取得部21は、ナレッジグラフ13を取得して記憶部12に格納する。例えば、取得部21は、指定された取得先からナレッジグラフ13を取得し、管理者端末などから送信されたナレッジグラフ13を取得する。The acquisition unit 21 acquires the knowledge graph 13 and stores it in the memory unit 12. For example, the acquisition unit 21 acquires the knowledge graph 13 from a specified acquisition source, and acquires the knowledge graph 13 transmitted from an administrator terminal, etc.

判定部22は、ナレッジグラフの各クラスの含意関係を判定する際に、クラスペアによって含意判定を行う範囲を限定して含意判定を実行する。具体的には、判定部22は、ナレッジグラフに含まれる第1のトリプルと第2のトリプルとを特定する。そして、判定部22は、ナレッジグラフ13に含まれる特定のクラスの組の複数のエンティティ間の複数の関係のそれぞれの出現状況に応じた第1のトリプルに含まれる第1の2つのエンティティ間の第1の関係と第2のトリプルに含まれる第2の2つのエンティティ間の第2の関係とを比較する。そして、判定部22は、第1のトリプルと第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定する。When determining the entailment relationship of each class in the knowledge graph, the determination unit 22 performs the entailment determination by limiting the scope of the entailment determination by class pairs. Specifically, the determination unit 22 identifies a first triple and a second triple included in the knowledge graph. Then, the determination unit 22 compares a first relationship between the first two entities included in the first triple according to the occurrence status of each of a plurality of relationships between a plurality of entities of a specific class pair included in the knowledge graph 13 with a second relationship between the second two entities included in the second triple. Then, the determination unit 22 determines which of the first triple and the second triple is associated with more specific information.

例えば、判定部22は、あるクラスペアに属するトリプルを列挙し、列挙されたトリプルに含まれるすべての関係について、その関係を有する主語と述語の組を列挙する。そして、判定部22は、各組について、一方の関係が持つ主語と述語の組み合わせが、他方の関係が持つ主語と述語の組み合わせをすべて含んでいる場合に、含意関係が成立すると判定する。For example, the determination unit 22 lists triples belonging to a certain class pair, and for all relationships contained in the listed triples, lists pairs of subject and predicate that have the relationship. Then, for each pair, the determination unit 22 determines that an implication relationship is established when the combination of subject and predicate in one relationship includes all the combinations of subject and predicate in the other relationship.

図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」を含意すると判定する。 Using FIG. 7 as an example, the determination unit 22 extracts (Ichiro, affiliation, A Corp.), (Ichiro, member, A Corp.), (Jiro, affiliation, B Corp.), (Ichiro, member, B Corp.), and (Hanako, affiliation, C Corp.) as triples belonging to (Person, Company). Next, the determination unit 22 generates "affiliation: (Ichiro, A Corp.), (Jiro, B Corp.), (Hanako, C Corp.)" and "member: (Ichiro, A Corp.), (Jiro, B Corp.)" as relationships contained in the triples belonging to (Person, Company). As a result, the determination unit 22 determines that the relationship "affiliation" implies the relationship "member" because all of the (subject, predicate) contained in the relationship "member" are included in the relationship "affiliation".

生成部23は、第1のトリプルがより具体性が高い情報と関連付いていると判定された場合、第1のトリプルのそれぞれを示すベクトルの差分が第2のトリプルのそれぞれを示すベクトルの差分より小さいという制約条件に従って、ナレッジグラフ13とモデル14とに基づいた機械学習を実行し、エンティティのベクトルや関係のベクトルを生成する。 When the generation unit 23 determines that the first triple is associated with more specific information, it performs machine learning based on the knowledge graph 13 and the model 14 in accordance with the constraint that the difference between the vectors representing each of the first triples is smaller than the difference between the vectors representing each of the second triples, and generates entity vectors and relationship vectors.

例えば、生成部23は、あるクラスペア(C1,C2)に属する任意のエンティティe1,e2(e1はC1に属し、e2はC2に属する)間に、関係qがあるときに、必ず関係rがある(rがqを含意する)場合、トリプル(e1.q,e2)のスコアがトリプル(e1,r,e2)のスコアよりも高くなるようにそれぞれのベクトルを更新する。For example, when a relationship q exists between any entities e1 and e2 (e1 belongs to C1 and e2 belongs to C2) belonging to a certain class pair (C1, C2), and a relationship r exists (r implies q), the generation unit 23 updates each vector so that the score of the triple (e1.q, e2) is higher than the score of the triple (e1, r, e2).

図8は、実施例1にかかるベクトル生成を説明する図である。図8では、図7で説明したナレッジグラフ13を用いた機械学習について説明する。図8に示すように、生成部23は、クラスペア(Person,Company)について、関係「affiliation」が関係「member」を含意すると判定されたことから、より具体的なリレーションである関係「member」の方を重要視した機械学習を実行する。 Figure 8 is a diagram explaining vector generation according to the first embodiment. In Figure 8, machine learning using the knowledge graph 13 explained in Figure 7 is explained. As shown in Figure 8, since it is determined that the relationship "affiliation" implies the relationship "member" for the class pair (Person, Company), the generation unit 23 executes machine learning that places importance on the relationship "member", which is a more specific relationship.

例えば、生成部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.)に近くなる」ように、ベクトルを更新する。For example, the generation unit 23 updates the vectors for triple (Ichiro, affiliation, A Corp.) and triple (Ichiro, member, A Corp.) so that "v(Ichiro) + v(member) is closer to v(A Corp.) than v(Ichiro) + v(affiliation)." Similarly, the generation unit 23 updates the vectors for triple (Jiro, affiliation, B Corp.) and triple (Jiro, member, B Corp.) so that "v(Jiro) + v(member) is closer to v(B Corp.) than v(Jiro) + v(affiliation)."

このように、生成部23は、各クラスペアの各トリプルについて、ナレッジグラフ13とモデル14とに基づいた機械学習を実行し、エンティティのベクトルや関係のベクトルを生成する。なお、機械学習の手法は、勾配法などの各種手法を用いることができる。In this way, the generation unit 23 performs machine learning based on the knowledge graph 13 and the model 14 for each triple of each class pair to generate entity vectors and relationship vectors. Note that various machine learning techniques, such as gradient methods, can be used.

予測部24は、モデル14等を用いて、リンク予測、関係抽出、クラス予測などを実行する。具体的には、予測部24は、ベクトル(始点)とベクトル(関係)とをモデル14に入力してベクトル(終点)を予測する。また、予測部24は、ベクトル(始点)とベクトル(終点)とをモデルに入力して、ベクトル(関係)を予測する。The prediction unit 24 performs link prediction, relationship extraction, class prediction, etc., using the model 14, etc. Specifically, the prediction unit 24 inputs a vector (start point) and a vector (relationship) to the model 14 to predict a vector (end point). The prediction unit 24 also inputs a vector (start point) and a vector (end point) to the model to predict a vector (relationship).

例えば、予測部24は、エンティティ「Ichiro」と関係「brotherOf」で接続されるエンティティを予測する場合、エンティティ「Ichiro」のベクトル「v(Ichiro)」と関係「brotherOf」のベクトル「v(brotherOf)」とをモデル14に入力する。そして、予測部24は、モデル14によりベクトル演算「v(Ichiro)+v(brotherOf)」などが実行されることで出力された結果を予測結果として取得する。そして、予測部24は、予測結果を記憶部12に記憶したり、ディスプレイなどに表示したり、管理者端末に送信したりする。For example, when predicting an entity connected to the entity "Ichiro" through the relationship "brotherOf", the prediction unit 24 inputs the vector "v(Ichiro)" of the entity "Ichiro" and the vector "v(brotherOf)" of the relationship "brotherOf" into the model 14. The prediction unit 24 then obtains the result output by the model 14 executing a vector operation such as "v(Ichiro) + v(brotherOf)" as a prediction result. The prediction unit 24 then stores the prediction result in the memory unit 12, displays it on a display, or transmits it to an administrator terminal.

図9は、実施例1にかかるベクトル生成処理の流れを示すフローチャートである。図9に示すように、判定部22は、ナレッジグラフのすべてのベクトルを乱数で初期化し(S101)、ナレッジグラフから主語と目的語に対応するすべてのクラスペアのパターンを取得する(S102)。続いて、判定部22は、各クラスペアに属するリレーションについて、含意判定を実行する(S103)。 Figure 9 is a flowchart showing the flow of the vector generation process according to the first embodiment. As shown in Figure 9, the determination unit 22 initializes all vectors in the knowledge graph with random numbers (S101), and obtains all class pair patterns corresponding to the subject and object from the knowledge graph (S102). Next, the determination unit 22 performs an implication determination for the relations belonging to each class pair (S103).

そして、生成部23は、ナレッジグラフから、トリプル(e1,r,e2)を取得し(S104)、トリプルのベクトルの大きさである「||e1+r-e2||」が閾値(Margin)より大きいか否かを判定する(S105)。Then, the generation unit 23 obtains the triple (e1, r, e2) from the knowledge graph (S104) and determines whether the magnitude of the vector of the triple, ``||e1 + r - e2||'', is greater than a threshold value (Margin) (S105).

ここで、「||e1+r-e2||」が閾値より大きい場合(S105:Yes)、生成部23は、ベクトルの差分(e1+r-e2)が0に近づくように「e1,r,e2」それぞれのベクトルを更新する(S106)。Here, if "||e1+r-e2||" is greater than the threshold value (S105: Yes), the generation unit 23 updates the vectors "e1, r, e2" so that the vector difference (e1+r-e2) approaches 0 (S106).

そして、S106を実行した後、または、「||e1+r-e2||」が閾値未満の場合(S105:No)、生成部23は、関係rを含意する、または、関係rに含意される関係qを取得する(S107)。Then, after executing S106, or if "||e1+r-e2||" is less than the threshold value (S105: No), the generation unit 23 obtains a relationship q that implies relationship r or is implied by relationship r (S107).

ここで、生成部23は、関係rが関係qを含意する場合(S108:Yes)、ベクトルの差分(e1+r-e2)がベクトルの差分(e1+q-e2)のスコアより大きくなるように、「e1,r,e2」のそれぞれのベクトルを更新する(S109)。Here, if the relationship r implies the relationship q (S108: Yes), the generation unit 23 updates each of the vectors "e1, r, e2" so that the vector difference (e1 + r - e2) is greater than the score of the vector difference (e1 + q - e2) (S109).

一方、生成部23は、関係rが関係qを含意しない場合(S108:No)、ベクトルの差分(e1+r-e2)がベクトルの差分(e1+q-e2)より小さくなるように、「e1,r,e2」それぞれのベクトルを更新する(S110)。On the other hand, if the relationship r does not imply the relationship q (S108: No), the generation unit 23 updates the vectors of "e1, r, e2" so that the vector difference (e1 + r - e2) is smaller than the vector difference (e1 + q - e2) (S110).

その後、生成部23は、ベクトルの更新がなくなった、または、規定回数繰り返した場合に(S111:Yes)、処理を終了する。なお、生成部23は、更新対象のベクトルが存在する場合、または、実行回数が規定回数未満の場合(S111:No)、S104以降を繰り返す。Thereafter, the generation unit 23 ends the process if there is no more vector to be updated or if the process has been repeated a prescribed number of times (S111: Yes). Note that the generation unit 23 repeats S104 and subsequent steps if there is a vector to be updated or if the number of executions is less than the prescribed number of times (S111: No).

上述したように、実施例1にかかる情報処理装置10は、クラスペアごとに関係の含意を判定することで、抽象度が低い関係ではあるが複数のクラスペア間で使われるような関係に対し、エンティティ間の関係性の含意関係を適切に区別して機械学習に反映することができる。この結果、情報処理装置10は、精度の高いベクトル表現を生成することができる。As described above, the information processing device 10 according to the first embodiment can appropriately distinguish the implication relationship between entities for a relationship that has a low level of abstraction but is used between multiple class pairs by determining the implication of the relationship for each class pair, and can reflect this in machine learning. As a result, the information processing device 10 can generate a highly accurate vector representation.

次に、実施例2では、クラス階層を利用する手法2について説明する。なお、実施例2にかかる情報処理装置10の機能構成は、実施例1と同様なので、詳細な説明は省略する。実施例2にかかる情報処理装置10は、ベクトル表現の機械学習時に、クラス階層を利用した制約の適用を実行する。Next, in Example 2, a method 2 using a class hierarchy will be described. Note that the functional configuration of the information processing device 10 according to Example 2 is similar to that of Example 1, and therefore a detailed description will be omitted. The information processing device 10 according to Example 2 applies constraints using a class hierarchy during machine learning of vector representations.

具体的には、判定部22は、第1の2つのエンティティのいずれかに接続された第1のエンティティと第2の2つのエンティティのいずれかに接続された第2のエンティティとの比較により、第1のトリプルと第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定する。Specifically, the determination unit 22 determines which of the first triple and the second triple is associated with more specific information by comparing a first entity connected to one of the first two entities with a second entity connected to one of the second two entities.

また、生成部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)のスコアよりも高くなるようにそれぞれのベクトルを更新する。Furthermore, when it is determined that the first triple is associated with more specific information, the generation unit 23 executes machine learning based on the knowledge graph 13 and the model 14 in accordance with the constraint that the difference between the vectors indicating each of the first triples is smaller than the difference between the vectors indicating each of the second triples. Specifically, when class C'1 is a subconcept of class C1 and class C'2 is a subconcept of class C2, the generation unit 23 updates the vectors of entities (e1, e2) belonging to (C1, C2) and entities (e1', e2') belonging to (C'1, C'2) so that the score of triple (e1', r, e2') is higher than the score of triple (e1, r, e2).

図10を用いて具体的に説明する。図10は、実施例2にかかるベクトル生成を説明する図である。図10に示すナレッジグラフは、オントロジーとして、クラス「Person」、クラス「Teacher」、クラス「Doctor」を有する。そして、クラス「Person」が上位階層(上位クラス)であり、クラス「Teacher」とクラス「Doctor」のそれぞれがクラス「Person」の下位階層(下位クラス)である。A specific explanation will be given using FIG. 10. FIG. 10 is a diagram explaining vector generation according to the second embodiment. The knowledge graph shown in FIG. 10 has classes "Person", "Teacher", and "Doctor" as ontology. The class "Person" is in the upper hierarchy (higher class), and the classes "Teacher" and "Doctor" are each in the lower hierarchy (lower class) of the class "Person".

また、ナレッジグラフは、インスタンスとして、エンティティ「Taro」、エンティティ「Ichiro」、エンティティ「Hanako」、エンティティ「Jiro」を有する。そして、エンティティ「Taro」とエンティティ「Ichiro」は、クラス「Person」に属し、関係「friend」を有する。エンティティ「Hanako」とエンティティ「Jiro」は、クラス「Doctor」に属し、関係「friend」を有する。 The knowledge graph also has the entities "Taro", "Ichiro", "Hanako", and "Jiro" as instances. The entities "Taro" and "Ichiro" belong to the class "Person" and have the relationship "friend". The entities "Hanako" and "Jiro" belong to the class "Doctor" and have the relationship "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)」よりも大きくなるように、ベクトルを更新する。In the case of FIG. 10, the determination unit 22 determines that the class "Teacher" of the entity "Hanako" is a sub-concept of the class "Person" of the entity "Taro" and that the class "Doctor" of the entity "Jiro" is a sub-concept of the class "Person" of the entity "Ichiro". Therefore, the generation unit 23 updates the vectors so that the score of the triple (Hanako, friend, Jiro) is higher than that of the triple (Taro, friend, Ichiro). In other words, the generation unit 23 updates the vectors so that "v(Hanako) + v(friend) = v(Jiro)" is higher than "v(Taro) + v(friend) = v(Ichiro)".

図11は、実施例2にかかるベクトル生成処理の流れを示すフローチャートである。図11に示すように、判定部22は、ナレッジグラフのすべてのベクトルを乱数で初期化し(S201)、レッジグラフの各トリプルについて、クラス階層に基づいて上位下位判定を行う(S202)。 Figure 11 is a flowchart showing the flow of the vector generation process according to Example 2. As shown in Figure 11, the determination unit 22 initializes all vectors in the knowledge graph with random numbers (S201), and performs a high-level/low-level determination for each triple in the knowledge graph based on the class hierarchy (S202).

そして、生成部23は、ナレッジグラフから、トリプルt(e1,r,e2)を取得し(S203)、トリプルtのベクトルの大きさである「||e1+r-e2||」が閾値(Margin)より大きいか否かを判定する(S204)。Then, the generation unit 23 obtains triple t (e1, r, e2) from the knowledge graph (S203) and determines whether the magnitude of the vector of triple t, ``||e1 + r - e2||'', is greater than a threshold value (Margin) (S204).

ここで、「||e1+r-e2||」が閾値より大きい場合(S204:Yes)、生成部23は、ベクトルの差分(e1+r-e2)が0に近づくように「e1,r,e2」それぞれのベクトルを更新する(S205)。Here, if "||e1+r-e2||" is greater than the threshold value (S204: Yes), the generation unit 23 updates the vectors "e1, r, e2" so that the vector difference (e1+r-e2) approaches 0 (S205).

そして、S205を実行した後、または、「||e1+r-e2||」が閾値未満の場合(S204:No)、生成部23は、ナレッジグラフからトリプルtと上位下位関係にあるトリプルt´(e1´,r,e2´)を取得する(S206)。Then, after executing S205, or if "||e1+r-e2||" is less than the threshold value (S204: No), the generation unit 23 obtains triple t' (e1', r, e2') that is in a superior-subordinate relationship with triple t from the knowledge graph (S206).

ここで、生成部23は、トリプルt´がトリプルtの上位トリプルである場合(S207:Yes)、ベクトルの差分(e1´+r-e2´)がベクトルの差分(e1+r-e2)のスコアより大きくなるように、「e1,e2,e1´,e2´」のそれぞれのベクトルを更新する(S208)。Here, if triple t' is a superior triple of triple t (S207: Yes), the generation unit 23 updates each of the vectors "e1, e2, e1', e2'" so that the vector difference (e1' + r-e2') is greater than the score of the vector difference (e1 + r-e2) (S208).

一方、生成部23は、トリプルt´がトリプルtの下位トリプルである場合(S207:No)、ベクトルの差分(e1´+r-e2´)がベクトルの差分(e1+r-e2)のスコアより小さくなるように、「e1,e2,e1´,e2´」それぞれのベクトルを更新する(S209)。On the other hand, if triple t' is a subordinate triple of triple t (S207: No), the generation unit 23 updates the vectors of each of "e1, e2, e1', e2'" so that the vector difference (e1' + r-e2') is smaller than the score of the vector difference (e1 + r-e2) (S209).

その後、生成部23は、ベクトルの更新がなくなった、または、規定回数繰り返した場合に(S210:Yes)、処理を終了する。なお、生成部23は、更新対象のベクトルが存在する場合、または、実行回数が規定回数未満の場合(S210:No)、S203以降を繰り返す。Thereafter, the generation unit 23 ends the process if there is no more vector to be updated or if the process has been repeated a prescribed number of times (S210: Yes). Note that the generation unit 23 repeats S203 and subsequent steps if there is a vector to be updated or if the number of executions is less than the prescribed number of times (S210: No).

上述したように、実施例2にかかる情報処理装置10は、同じ関係でも、より具体的なエンティティ間の関係を重視して機械学習を実行することで、精度の高いベクトル表現を生成することができる。As described above, the information processing device 10 of Example 2 can generate highly accurate vector representations by performing machine learning with emphasis on more specific relationships between entities, even for the same relationships.

さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。 So far, we have described embodiments of the present invention, but the present invention may be embodied in various different forms other than the embodiments described above.

上記実施例で用いたナレッジグラフ、エンティティ例、クラス例、関係例、数値例、閾値、表示例等は、あくまで一例であり、任意に変更することができる。また、実施例1で説明した手法1と実施例2で説明した手法は、組み合わせて用いることもできる。The knowledge graphs, entity examples, class examples, relationship examples, numerical examples, thresholds, display examples, etc. used in the above embodiments are merely examples and can be changed as desired. In addition, the method 1 described in embodiment 1 and the method described in embodiment 2 can be used in combination.

また、上記各実施例では、TransEを用いた機械学習を実行する例で説明したが、これに限定されるものではなく、他の機械学習モデルを採用することができる。そこで、実施例1と実施例2について、汎用的なモデルを用いたときのフローチャートを説明する。 In addition, in each of the above embodiments, an example of executing machine learning using TransE has been described, but this is not limited to this, and other machine learning models can be adopted. Therefore, for Examples 1 and 2, a flowchart when a general-purpose model is used will be described.

図12は、クラスペアを用いたベクトル生成処理の汎用的な流れを示すフローチャートである。図12に示す処理の流れにおいて、実施例1の図9と異なる点は、スコア関数として、f(エンティティ,関係,エンティティ)を用いる点である。なお、スコア関数は、様々な公知の関数を用いることができる。 Figure 12 is a flowchart showing a general flow of vector generation processing using class pairs. The process flow shown in Figure 12 differs from Figure 9 of the first embodiment in that f(entity, relationship, entity) is used as the score function. Note that various known functions can be used as the score function.

具体的には、図12のS301からS304は、図9のS101からS104と同様なので、詳細な説明は省略する。生成部23は、ナレッジグラフから取得したトリプルのベクトルを用いたスコア関数(f(e1,r,e2))が閾値(Margin)より大きいか否かを判定する(S305)。Specifically, steps S301 to S304 in Fig. 12 are similar to steps S101 to S104 in Fig. 9, and therefore detailed description will be omitted. The generation unit 23 determines whether the score function (f(e1, r, e2)) using the vector of triples acquired from the knowledge graph is greater than a threshold value (Margin) (S305).

ここで、スコア関数(f(e1,r,e2))が閾値より大きい場合(S305:Yes)、生成部23は、スコア関数(f(e1,r,e2))が0に近づくように「e1,r,e2」それぞれのベクトルを更新する(S306)。Here, if the score function (f(e1, r, e2)) is greater than the threshold value (S305: Yes), the generation unit 23 updates the vectors of "e1, r, e2" so that the score function (f(e1, r, e2)) approaches 0 (S306).

そして、S306を実行した後、または、スコア関数(f(e1,r,e2))が閾値未満の場合(S305:No)、生成部23は、関係rを含意する、または、関係rに含意される関係qを取得する(S307)。Then, after executing S306, or if the score function (f(e1, r, e2)) is less than the threshold (S305: No), the generation unit 23 obtains a relationship q that implies the relationship r or is implied by the relationship r (S307).

ここで、生成部23は、関係rが関係qを含意する場合(S308:Yes)、スコア関数(f(e1,r,e2))がスコア関数(f(e1,q,e2))より大きくなるように、「e1,r,e2」のそれぞれのベクトルを更新する(S309)。Here, if the relationship r implies the relationship q (S308: Yes), the generation unit 23 updates each of the vectors "e1, r, e2" so that the score function (f(e1, r, e2)) is greater than the score function (f(e1, q, e2)) (S309).

一方、生成部23は、関係rが関係qを含意しない場合(S308:No)、スコア関数(f(e1,r,e2))がスコア関数(f(e1,q,e2))より小さくなるように、「e1,r,e2」それぞれのベクトルを更新する(S310)。On the other hand, if the relationship r does not imply the relationship q (S308: No), the generation unit 23 updates the vectors of each of "e1, r, e2" so that the score function (f(e1, r, e2)) is smaller than the score function (f(e1, q, e2)) (S310).

その後、生成部23は、ベクトルの更新がなくなった、または、規定回数繰り返した場合に(S311:Yes)、処理を終了する。なお、生成部23は、更新対象のベクトルが存在する場合、または、実行回数が規定回数未満の場合(S311:No)、S304以降を繰り返す。Thereafter, the generation unit 23 ends the process if there is no more vector to be updated or if the process has been repeated a prescribed number of times (S311: Yes). Note that the generation unit 23 repeats S304 and subsequent steps if there is a vector to be updated or if the number of executions is less than the prescribed number of times (S311: No).

図13は、クラス階層を用いたベクトル生成処理の汎用的な流れを示すフローチャートである。図13に示す処理の流れにおいて、実施例2の図11と異なる点は、スコア関数として、f(エンティティ,関係,エンティティ)を用いる点である。なお、スコア関数は、様々な公知の関数を用いることができる。 Figure 13 is a flowchart showing a general flow of vector generation processing using a class hierarchy. The process flow shown in Figure 13 differs from Figure 11 of the second embodiment in that f(entity, relationship, entity) is used as the score function. Note that various known functions can be used as the score function.

具体的には、図13のS401からS403は、図11のS201からS203と同様なので、詳細な説明は省略する。生成部23は、ナレッジグラフから取得したトリプルのベクトルを用いたスコア関数(f(e1,r,e2))が閾値(Margin)より大きいか否かを判定する(S404)。Specifically, steps S401 to S403 in Fig. 13 are similar to steps S201 to S203 in Fig. 11, and therefore detailed description will be omitted. The generation unit 23 determines whether a score function (f(e1, r, e2)) using the vector of triples acquired from the knowledge graph is greater than a threshold value (Margin) (S404).

ここで、スコア関数(f(e1,r,e2))が閾値より大きい場合(S404:Yes)、生成部23は、スコア関数(f(e1,r,e2))が0に近づくように「e1,r,e2」それぞれのベクトルを更新する(S405)。Here, if the score function (f(e1, r, e2)) is greater than the threshold value (S404: Yes), the generation unit 23 updates the vectors of "e1, r, e2" so that the score function (f(e1, r, e2)) approaches 0 (S405).

そして、S405を実行した後、または、スコア関数(f(e1,r,e2))が閾値未満の場合(S404:No)、生成部23は、ナレッジグラフからトリプルtと上位下位関係にあるトリプルt´(e1´,r,e2´)を取得する(S406)。Then, after executing S405, or if the score function (f(e1, r, e2)) is less than the threshold (S404: No), the generation unit 23 obtains triple t' (e1', r, e2') that is in a superior-subordinate relationship with triple t from the knowledge graph (S406).

ここで、生成部23は、トリプルt´がトリプルtの上位トリプルである場合(S407:Yes)、スコア関数(f(e1´,r,e2´))がスコア関数(f(e1,r,e2))より大きくなるように、「e1,e2,e1´,e2´」それぞれのベクトルを更新する(S408)。Here, if triple t' is a superior triple of triple t (S407: Yes), the generation unit 23 updates the vectors of each of "e1, e2, e1', e2'" so that the score function (f(e1', r, e2')) is greater than the score function (f(e1, r, e2)) (S408).

一方、生成部23は、トリプルt´がトリプルtの下位トリプルである場合(S407:No)、スコア関数(f(e1´,r,e2´))がスコア関数(f(e1,r,e2))より小さくなるように、「e1,e2,e1´,e2´」それぞれのベクトルを更新する(S409)。On the other hand, if triple t' is a subordinate triple of triple t (S407: No), the generation unit 23 updates the vectors of each of "e1, e2, e1', e2'" so that the score function (f(e1', r, e2')) is smaller than the score function (f(e1, r, e2)) (S409).

その後、生成部23は、ベクトルの更新がなくなった、または、規定回数繰り返した場合に(S410:Yes)、処理を終了する。なお、生成部23は、更新対象のベクトルが存在する場合、または、実行回数が規定回数未満の場合(S410:No)、S403以降を繰り返す。Thereafter, the generation unit 23 ends the process if there is no more vector update or if the process has been repeated a prescribed number of times (S410: Yes). Note that the generation unit 23 repeats S403 and subsequent steps if there is a vector to be updated or if the number of executions is less than the prescribed number of times (S410: No).

上述したように、情報処理装置10は、上記手法1および手法2を広く利用される機械学習モデルに適用することができるので、汎用性を向上させることができる。As described above, the information processing device 10 can apply the above methods 1 and 2 to widely used machine learning models, thereby improving versatility.

上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。 Information including processing procedures, control procedures, specific names, various data and parameters shown in the above documents and drawings may be changed as desired unless otherwise specified.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 In addition, 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 other words, the specific form of distribution and integration of each device is not limited to that shown in the figure. In other words, all or part of it can be functionally or physically distributed and integrated in any unit depending on various loads, usage conditions, etc.

さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。 Furthermore, each processing function performed by each device may be realized, in whole or in part, by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware using wired logic.

図14は、ハードウェア構成例を説明する図である。図14に示すように、情報処理装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図14に示した各部は、バス等で相互に接続される。 Figure 14 is a diagram illustrating an example of a hardware configuration. As shown in Figure 14, the information processing device 10 has a communication device 10a, a HDD (Hard Disk Drive) 10b, a memory 10c, and a processor 10d. In addition, each part shown in Figure 14 is connected to each other by a bus or the like.

通信装置10aは、ネットワークインタフェースカードなどであり、他の装置との通信を行う。HDD10bは、図6に示した機能を動作させるプログラムやDBを記憶する。The communication device 10a is a network interface card or the like, and communicates with other devices. The HDD 10b stores programs and DBs that operate the functions shown in FIG. 6.

プロセッサ10dは、図6に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図6等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、情報処理装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、取得部21、判定部22、生成部23、予測部24等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、取得部21、判定部22、生成部23、予測部24等と同様の処理を実行するプロセスを実行する。The processor 10d reads out a program that executes the same processes as the processing units shown in FIG. 6 from the HDD 10b etc. and expands it in the memory 10c, thereby operating a process that executes the functions described in FIG. 6 etc. For example, this process executes the same functions as the processing units possessed by the information processing device 10. Specifically, the processor 10d reads out a program having the same functions as the acquisition unit 21, the judgment unit 22, the generation unit 23, the prediction unit 24 etc. from the HDD 10b etc. Then, the processor 10d executes a process that executes the same processes as the acquisition unit 21, the judgment unit 22, the generation unit 23, the prediction unit 24 etc.

このように、情報処理装置10は、プログラムを読み出して実行することで機械学習方法を実行する情報処理装置として動作する。また、情報処理装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。In this way, the information processing device 10 operates as an information processing device that executes a machine learning method by reading and executing a program. The information processing device 10 can also realize functions similar to those of the above-mentioned embodiment by reading the program from a recording medium using a media reading device and executing the read program. Note that the program in this other embodiment is not limited to being executed by the information processing device 10. For example, the present invention can be similarly applied to cases where another computer or server executes a program, or where these cooperate to execute a program.

このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。This program can be distributed via a network such as the Internet. This program can also be recorded on a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO (Magneto-Optical disk), or a DVD (Digital Versatile Disc), and can be executed by being read out from the recording medium by a computer.

10 情報処理装置
11 通信部
12 記憶部
13 ナレッジグラフ
14 モデル
20 制御部
21 取得部
22 判定部
23 生成部
24 予測部
REFERENCE SIGNS LIST 10 Information processing device 11 Communication unit 12 Storage unit 13 Knowledge graph 14 Model 20 Control unit 21 Acquisition unit 22 Determination unit 23 Generation unit 24 Prediction unit

Claims (4)

ナレッジグラフに含まれる第1のトリプルと第2のトリプルとを特定し、
前記第1のトリプルに含まれる第1の2つのエンティティのいずれかに接続された第1のエンティティと前記第2のトリプルに含まれる第2の2つのエンティティのいずれかに接続された第2のエンティティとの比較基づいて、前記第1のトリプルと前記第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定し、
前記判定する処理において前記第1のトリプルがより具体性が高い情報と関連付いていると判定された場合、前記第1のトリプルのそれぞれを示すベクトルの差分が前記第2のトリプルのそれぞれを示すベクトルの差分より小さいという制約条件に基づいた機械学習によって前記第1のトリプルのそれぞれを示すベクトルと前記第2のトリプルのそれぞれを示すベクトルとを生成する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
Identifying a first triple and a second triple contained in the knowledge graph;
determining which of the first triple and the second triple is associated with more specific information based on a comparison between a first entity connected to one of the first two entities included in the first triple and a second entity connected to one of the second two entities included in the second triple ;
if it is determined in the determining process that the first triple is associated with more specific information, a vector indicating each of the first triples and a vector indicating each of the second triples are generated by machine learning based on a constraint that a difference between vectors indicating each of the first triples is smaller than a difference between vectors indicating each of the second triples;
A machine learning program that causes a computer to execute processing.
前記判定する処理は、
前記第1のエンティティと前記第2のエンティティとの比較として、前記ナレッジグラフに含まれる各エンティティンが属するクラス間の階層構造に基づき、前記第1のエンティティが属する第1のクラスと前記第2のエンティティが属する第2のクラスとを特定し、
前記第1のクラスが前記第2のクラスよりも下位層に位置する場合に、前記第1のトリプルがより具体性が高い情報と関連付いていると判定する、
処理を含むことを特徴とする請求項1に記載の機械学習プログラム。
The process of determining includes:
As a comparison between the first entity and the second entity, a first class to which the first entity belongs and a second class to which the second entity belongs are identified based on a hierarchical structure between classes to which each entity included in the knowledge graph belongs;
determining that the first triple is associated with more specific information when the first class is located at a lower level than the second class;
2. The machine learning program according to claim 1, further comprising:
ナレッジグラフに含まれる第1のトリプルと第2のトリプルとを特定し、
前記第1のトリプルに含まれる第1の2つのエンティティのいずれかに接続された第1のエンティティと前記第2のトリプルに含まれる第2の2つのエンティティのいずれかに接続された第2のエンティティとの比較基づいて、前記第1のトリプルと前記第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定し、
前記判定する処理において前記第1のトリプルがより具体性が高い情報と関連付いていると判定された場合、前記第1のトリプルのそれぞれを示すベクトルの差分が前記第2のトリプルのそれぞれを示すベクトルの差分より小さいという制約条件に基づいた機械学習によって前記第1のトリプルのそれぞれを示すベクトルと前記第2のトリプルのそれぞれを示すベクトルとを生成する、
処理をコンピュータが実行することを特徴とする機械学習方法。
Identifying a first triple and a second triple contained in the knowledge graph;
determining which of the first triple and the second triple is associated with more specific information based on a comparison between a first entity connected to one of the first two entities included in the first triple and a second entity connected to one of the second two entities included in the second triple ;
if it is determined in the determining process that the first triple is associated with more specific information, a vector indicating each of the first triples and a vector indicating each of the second triples are generated by machine learning based on a constraint that a difference between vectors indicating each of the first triples is smaller than a difference between vectors indicating each of the second triples;
A machine learning method characterized in that processing is executed by a computer.
ナレッジグラフに含まれる第1のトリプルと第2のトリプルとを特定し、
前記第1のトリプルに含まれる第1の2つのエンティティのいずれかに接続された第1のエンティティと前記第2のトリプルに含まれる第2の2つのエンティティのいずれかに接続された第2のエンティティとの比較とのうち少なくとも一方に基づいて、前記第1のトリプルと前記第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定し、
前記第1のトリプルがより具体性が高い情報と関連付いていると判定された場合、前記第1のトリプルのそれぞれを示すベクトルの差分が前記第2のトリプルのそれぞれを示すベクトルの差分より小さいという制約条件に基づいた機械学習によって前記第1のトリプルのそれぞれを示すベクトルと前記第2のトリプルのそれぞれを示すベクトルとを生成する、
制御部を有することを特徴とする情報処理装置。
Identifying a first triple and a second triple contained in the knowledge graph;
determining which of the first triple and the second triple is associated with more specific information based on at least one of a comparison between a first entity connected to one of the first two entities included in the first triple and a second entity connected to one of the second two entities included in the second triple ;
if it is determined that the first triples are associated with more specific information, a vector indicating each of the first triples and a vector indicating each of the second triples are generated by machine learning based on a constraint that a difference between vectors indicating each of the first triples is smaller than a difference between vectors indicating each of the second triples;
An information processing device comprising a control unit.
JP2022541347A 2020-08-03 2020-08-03 Machine learning program, machine learning method, and information processing device Active JP7567915B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/029718 WO2022029852A1 (en) 2020-08-03 2020-08-03 Machine learning program, machine learning method, and information processing device

Publications (2)

Publication Number Publication Date
JPWO2022029852A1 JPWO2022029852A1 (en) 2022-02-10
JP7567915B2 true JP7567915B2 (en) 2024-10-16

Family

ID=80117165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022541347A Active JP7567915B2 (en) 2020-08-03 2020-08-03 Machine learning program, machine learning method, and information processing device

Country Status (3)

Country Link
US (1) US20230162054A1 (en)
JP (1) JP7567915B2 (en)
WO (1) WO2022029852A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114595686B (en) * 2022-03-11 2023-02-03 北京百度网讯科技有限公司 Knowledge extraction method, and training method and device of knowledge extraction model
CN114691886A (en) * 2022-03-16 2022-07-01 华中科技大学 Relation-enhanced knowledge graph embedding method and system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170330080A1 (en) * 2016-05-13 2017-11-16 Cognitive Scale, Inc. Universal Cognitive Graph Architecture
US10855706B2 (en) * 2016-10-11 2020-12-01 Battelle Memorial Institute System and methods for automated detection, reasoning and recommendations for resilient cyber systems
US20190354887A1 (en) * 2018-05-18 2019-11-21 Accenture Global Solutions Limited Knowledge graph based learning content generation
US20210027175A1 (en) * 2019-07-26 2021-01-28 Bae Systems Information And Electronic Systems Integration Inc. Context-infused ontology for knowledge models
US11640540B2 (en) * 2020-03-10 2023-05-02 International Business Machines Corporation Interpretable knowledge contextualization by re-weighting knowledge graphs
US11651413B2 (en) * 2020-06-02 2023-05-16 Kpn Innovations, Llc. Methods and systems for connecting food interests with food providers

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DING, Boyang ほか,Improving Knowledge Graph Embedding Using Simple Constraints,arXiv[online],arXiv,2018年05月08日,[retrieved on 2020.10.21], Retrieved from the Internet: <URL: https://arxiv.org/pdf/1805.02408v2.pdf>
濱口拓男 ほか,未知エンティティを伴う知識ベース補完:グラフニューラルネットワークを用いたアプローチ,人工知能学会論文誌[online],日本,一般社団法人 人工知能学会,2018年,Vol.33, No.2,pp.1-10,[retrieved on 2020.10.21], Retrieved from the Internet: <URL: https://www.jstage.jst.go.jp/article/tjsai/33/2/33_F-H72/_pdf/-char/ja>

Also Published As

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

Similar Documents

Publication Publication Date Title
Martin et al. Counting keys in parallel after a side channel attack
Md Saad et al. Hamming distance method with subjective and objective weights for personnel selection
EP4227864A1 (en) Evaluation method, evaluation device, and evaluation program
Sanchez et al. Towards extracting faithful and descriptive representations of latent variable models
JP7567915B2 (en) Machine learning program, machine learning method, and information processing device
JP7119820B2 (en) Prediction program, prediction method and learning device
CN119558380B (en) Information migration learning method, device and equipment based on depth condition distribution alignment
Wootton A quantum procedure for map generation
WO2020255414A1 (en) Learning assistance device, learning assistance method, and computer-readable recording medium
WO2019208564A1 (en) Neural network learning device, neural network learning method, and program
Youssef et al. Has this fact been edited? detecting knowledge edits in language models
De Luna et al. Choosing a model selection strategy
CN116304607A (en) Automated Feature Engineering for Predictive Modeling Using Deep Reinforcement Learning
JP7502633B2 (en) Optimization device, optimization method, and optimization program
JP2023168813A5 (en)
KR102221263B1 (en) Apparatus and method for constructing and self-evolving knowledge base of brain functions
Zhu et al. A hybrid model for nonlinear regression with missing data using quasilinear kernel
JP3987059B2 (en) Optimal value search support device, optimal value search support method, and recording medium
JP2022007311A (en) A system that evaluates the risk of information leakage from learning models
CN117112858A (en) Object screening method, processor and storage medium based on association rule mining
JP2019185207A (en) Model learning device, model learning method and program
Liu et al. Understanding Endogenous Data Drift in Adaptive Models with Recourse-Seeking Users
US7996339B2 (en) Method and system for generating object classification models
JP7500358B2 (en) Information processing device
Ergenç Bostanoǧlu et al. Minimizing information loss in shared data: Hiding frequent patterns with multiple sensitive support thresholds

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240520

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240916

R150 Certificate of patent or registration of utility model

Ref document number: 7567915

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150