JP7567915B2 - Machine learning program, machine learning method, and information processing device - Google Patents
Machine learning program, machine learning method, and information processing device Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
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:終点)に対応するベクトル(vh,vr,vt)が「vh+vr=vt」を満たすように機械学習を実行し、エンティティのベクトルと関係のベクトルとを更新する。このような機械学習により生成されたベクトルを用いて、リンク予測、関係抽出、クラス予測などが実行される。 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).
しかしながら、上記機械学習手法では、モデルを用いて取得されるベクトル表現の精度が高いとは限らない。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.
以下に、本発明にかかる機械学習プログラム、機械学習方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。 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
ナレッジグラフは、オントロジーとインスタンスとを有する知識データの一例である。図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)に対応するベクトル(vh,vr,vt)が「vh+vr=vt」を満たすように機械学習を実行し、エンティティのベクトルと関係のベクトルとが更新される。このとき、参考技術では、関係の含意関係を利用した制約をベクトル計算(埋め込み計算)に導入する。 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
図6に示すように、実施例1にかかる情報処理装置10は、通信部11、記憶部12、制御部20を有する。通信部11は、他の装置の通信を制御する。例えば、通信部11は、管理者端末などからナレッジグラフ、各種情報、各処理の開始指示などを受信し、管理者端末に学習結果や予測結果などを表示する。As shown in FIG. 6, the
記憶部12は、各種データや制御部20が実行するプログラムなどを記憶する。例えば、記憶部12は、ナレッジグラフ13とモデル14を記憶する。なお、記憶部12は、制御部20が処理を実行する過程で生成される中間データなどを記憶することもできる。The memory unit 12 stores various data and programs executed by the
ナレッジグラフ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モデルであり、エンティティや関係を示す連続値のベクトルを得るためのモデルである。
制御部20は、情報処理装置10全体を司る処理部であり、取得部21と判定部22と生成部23と予測部24を有する。The
取得部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
例えば、判定部22は、あるクラスペアに属するトリプルを列挙し、列挙されたトリプルに含まれるすべての関係について、その関係を有する主語と述語の組を列挙する。そして、判定部22は、各組について、一方の関係が持つ主語と述語の組み合わせが、他方の関係が持つ主語と述語の組み合わせをすべて含んでいる場合に、含意関係が成立すると判定する。For example, the
図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
生成部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
例えば、生成部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
予測部24は、モデル14等を用いて、リンク予測、関係抽出、クラス予測などを実行する。具体的には、予測部24は、ベクトル(始点)とベクトル(関係)とをモデル14に入力してベクトル(終点)を予測する。また、予測部24は、ベクトル(始点)とベクトル(終点)とをモデルに入力して、ベクトル(関係)を予測する。The
例えば、予測部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
図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
そして、生成部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
次に、実施例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
具体的には、判定部22は、第1の2つのエンティティのいずれかに接続された第1のエンティティと第2の2つのエンティティのいずれかに接続された第2のエンティティとの比較により、第1のトリプルと第2のトリプルとのうちいずれのトリプルがより具体性が高い情報と関連付いているか判定する。Specifically, the
また、生成部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
図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
図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
そして、生成部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
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。 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 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
通信装置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
このように、情報処理装置10は、プログラムを読み出して実行することで機械学習方法を実行する情報処理装置として動作する。また、情報処理装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。In this way, the
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(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
Claims (4)
前記第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のトリプルに含まれる第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のトリプルに含まれる第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.
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)
| 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)
| 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 |
-
2020
- 2020-08-03 WO PCT/JP2020/029718 patent/WO2022029852A1/en not_active Ceased
- 2020-08-03 JP JP2022541347A patent/JP7567915B2/en active Active
-
2023
- 2023-01-05 US US18/093,342 patent/US20230162054A1/en active Pending
Non-Patent Citations (2)
| 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 |