JP7375919B2 - オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法 - Google Patents

オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法 Download PDF

Info

Publication number
JP7375919B2
JP7375919B2 JP2022515154A JP2022515154A JP7375919B2 JP 7375919 B2 JP7375919 B2 JP 7375919B2 JP 2022515154 A JP2022515154 A JP 2022515154A JP 2022515154 A JP2022515154 A JP 2022515154A JP 7375919 B2 JP7375919 B2 JP 7375919B2
Authority
JP
Japan
Prior art keywords
word
ontology
vector
words
vectors
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
JP2022515154A
Other languages
English (en)
Other versions
JPWO2021210148A1 (ja
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 JPWO2021210148A1 publication Critical patent/JPWO2021210148A1/ja
Application granted granted Critical
Publication of JP7375919B2 publication Critical patent/JP7375919B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Description

本発明は、オントロジー生成技術などに関する。
近年、ドメイン(特定の分野)の知識を記述するための基盤となるオントロジーの生成がなされている。かかるオントロジーは、あるドメインをモデル化するために使われている語彙を提供する。また、オントロジーは、ナレッジグラフの構造を決めるので、ナレッジグラフにとって重要である。ナレッジグラフは、計算機による意味処理を可能とするために、オントロジーという語彙体系で定められた例えばクラスとプロパティとを用いて記述される。
あるドメインのオントロジーが生成されるためには、当該対象のドメインで用いられる語彙が集められる。そして、例えば人間が、集められた語彙同士の関係を整理して、対象のドメインのオントロジーを生成する。
また、ナレッジグラフから、検索時のコンテンツの文脈を考慮してユーザの検索意図に近い情報を提供する技術が開示されている(例えば特許文献1参照)。かかる技術では、情報提供装置は、ナレッジグラフから、コンテンツに含まれるワード群の意味情報として、オントロジーにより定義されるクラスおよびプロパティの少なくとも一方を抽出し、抽出した情報に基づいて検索を推奨するクエリの候補を提供する。また、情報提供装置は、コンテンツから抽出される重要ワードに対応したエンティティがナレッジグラフに存在しない場合、ナレッジグラフから、重要ワードと共に同じコンテンツから抽出された他のワードに対応するエンティティを抽出する。更に、情報提供装置は、他のワードに対応するプロパティによって定義されたエンティティ(類似エンティティ)を抽出する。そして、情報提供装置は、類似エンティティとそのエンティティのプロパティに相当するワードを推薦クエリとして提供する。
特開2019-74843号公報
例えば、人間があるドメインのオントロジーを生成する場合には、人間が対象のドメインで用いられる語彙同士の関係を整理するため、オントロジーを生成するために工数がかかってしまう。
また、情報提供装置が実行する技術を利用してオントロジーを生成することが考えられる。ところが、情報提供装置は、重要ワードに対応したエンティティがナレッジグラフに存在しない場合には、ナレッジグラフから、重要ワードと共に同じコンテンツから抽出された他のワードに対応するプロパティによって定義されたエンティティ(類似エンティティ)を抽出して、類似エンティティとそのエンティティのプロパティに相当するワードを推薦クエリとして提供する。このため、情報提供装置は、重要ワードの同じドメインの他のワードに対応するプロパティによって定義された類似エンティティを抽出できるが、重要ワードに対応するプロパティによって定義される類似エンティティを抽出できない。すなわち、情報提供装置は、重要ワードに関係付けられるエンティティまたは類似エンティティを抽出できないといった課題がある。
本発明は、1つの側面では、ナレッジグラフを用いてオントロジーを生成することを目的とする。
1つの態様では、オントロジー生成プログラムが、複数の単語の特定の関係を示すオントロジーを追加したナレッジグラフに基づいた機械学習によって生成された機械学習モデルを用いて、前記複数の単語に含まれる単語と前記特定の関係を有する他の単語を予測し、前記オントロジーに、予測された前記他の単語を追加することによって新たなオントロジーを生成する、ことをコンピュータに実行させる。
1実施態様によれば、ナレッジグラフを用いてオントロジーを生成することができる。
図1は、実施例に係るオントロジー生成装置の構成を示す機能ブロック図である。 図2は、ナレッジグラフの関係情報の一例を示す図である。 図3は、実施例に係る探索処理の一例を示す図である。 図4Aは、実施例に係る学習処理の一例を示す図である。 図4Bは、実施例に係る学習処理の一例を示す図である。 図4Cは、実施例に係る学習処理の一例を示す図 図5Aは、実施例に係る予測処理の一例を示す図である。 図5Bは、実施例に係る予測処理の一例を示す図である。 図6は、学習された拡張ナレッジグラフのイメージの一例を示す図である。 図7は、同じ単語が複数の特定の関係で予測される場合の一例を示す図である。 図8は、生成されたオントロジーの一例を示す図である。 図9は、実施例に係るオントロジー生成処理のフローチャートの一例を示す図である。 図10Aは、複数の親がある場合のオントロジー生成処理のフローチャートの一例を示す図である。 図10Bは、複数の親がある場合のオントロジー生成処理のフローチャートの一例を示す図である。 図11は、オントロジー生成プログラムを実行するコンピュータの一例を示す図である。 図12は、単語ベクトルを利用してオントロジーを生成する参考例を示す図である。 図13は、単語ベクトルを利用してオントロジーを生成する参考例を示す図である。 図14は、単語ベクトルを利用してオントロジーを生成する参考例を示す図である。
以下に、本願の開示するオントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。
まず、単語ベクトルを利用してオントロジーを生成する参考例を、図12~図14を参照して説明する。図12~図14は、単語ベクトルを利用してオントロジーを生成する参考例を示す図である。オントロジーは、あるドメイン(特定の分野)をモデル化するために使われている語彙を提供する。提供される語彙は、ドメイン内に存在しているオブジェクト、概念、プロパティ、性質(コンテキスト)または関係を示す語彙である。オントロジーは、ナレッジグラフの構造を決めるので、ナレッジグラフにとって重要である。ナレッジグラフは、1つのドメインだけでなく、複数のドメインに関する様々な知識の関係をグラフ構造で表わしたものであり、オントロジーという語彙体系で定められたクラスとプロパティとを用いて記述される。クラスは、オブジェクトや概念に対応する。プロパティは、性質(コンテキスト)やクラス間の関係に対応する。なお、語彙には、単語が含まれる。
図12に示すように、殺人の方法を定義するオントロジーを生成する場合を参考例として用いる。クラスは、丸、すなわちノードで示されている。プロパティは、矢印の側にラベルで示されている。一例として、「殺人」の「方法」には、「撲殺」と「絞殺」があることが示されている。「撲殺」の「武器」には、「素手」、「こん棒」、「鉄パイプ」があることが示されている。「絞殺」の「武器」には、「糸」、「ロープ」、「鞭」があることが示されている。
オントロジー生成装置は、単語ベクトルを用いて関連語を抽出し、オントロジーを生成する。ここでいう単語ベクトルとは、文章中に含まれる単語が、どのような単語と一緒に使われるかという共起関係に基づいた機械学習の処理によって単語をベクトル化したものである。オントロジー生成装置は、単語ベクトルを用いて、例えば、「王様」-「男」+「女」=「女王」のような関連語を得ることができる。
図13に示すように、オントロジー生成装置は、単語ベクトルを用いて、「撲殺」+「武器」を計算して、「撲殺」に用いられる「武器」の道具を得ることができる。オントロジー生成装置は、単語ベクトルを用いて、「絞殺」+「武器」を計算して、「絞殺」に用いられる「武器」の道具を得ることができる。
図14に示すように、「撲殺」に用いられる「武器」の道具として、例えば「素手」、「こん棒」、「鉄パイプ」、「サップ」、「日用品」、「鞭」、「騎士」が得られる。また、「絞殺」に用いられる「武器」の道具として、例えば「糸」、「ロープ」、「鞭」、「キャラクタ」、「糸使い」が得られる。
このように、オントロジー生成装置は、単語ベクトルを利用すると、「殺人の方法」を定義するオントロジーを生成することができる。しかしながら、単語ベクトルを利用すると、ノイズが多くなるという問題がある。すなわち、単語ベクトルを利用すると、武器ではない単語が多く得られてしまう。ここでは、「日用品」や「騎士」、「キャラクタ」や「糸使い」のような武器ではない単語が得られてしまう。
そこで、以降の実施例では、ノイズを抑制しつつ、オントロジーを生成するオントロジー生成装置について説明する。
図1は、実施例に係るオントロジー生成装置の構成を示す機能ブロック図である。オントロジー生成装置1は、単語ベクトルに加えて、ナレッジグラフから変換されるグラフベクトルを用いて、オントロジーを生成する。ここでいう単語ベクトルとは、文章中に含まれる単語が、どのような単語と一緒に使われるかという共起関係に基づいた機械学習の処理によって単語をベクトル化したものである。ここでいうグラフベクトルとは、3つのデータを関係情報としたナレッジグラフのエンティティとプロパティとをベクトル空間上に埋め込み、機械学習の処理を用いて得られたエンティティのベクトル表現をいう。なお、グラフベクトルは、例えば、TransEの技術によって得られる。単語ベクトルとグラフベクトルとは、分散表現と称される場合もある。
オントロジー生成装置1は、ユーザ端末2と接続し、制御部10と、記憶部20とを有する。制御部10は、CPU(Central Processing Unit)などの電子回路により実現される。制御部10は、探索部11、機械学習部12および予測部13を有する。なお、予測部13は、予測部および第2の生成部の一例である。記憶部20は、各種データを記憶する。記憶部20は、単語ベクトルデータ21、ナレッジグラフ22、学習結果データ23およびオントロジー24を有する。
単語ベクトルデータ21は、様々な単語に対する単語ベクトルを示す。単語ベクトルデータ21は、例えばインターネット上に存在する多くの文章を利用して、それぞれの文章に含まれるそれぞれの単語を、機械学習の処理を用いてベクトル化した単語ベクトルの群である。なお、単語ベクトルデータ21は、一般の文章から生成されるので、語彙の分野(ドメイン)が広いが、ノイズが多いという特徴がある。
ナレッジグラフ22は、様々な知識の関係をグラフ構造で表したものである。ナレッジグラフ22は、3つのデータを組とした関係情報を用いた情報である。それぞれの関係情報の組は、クラス、プロパティ、クラスの3つ(トリプル)のデータを含む。なお、実施例では、関係情報の組の1個目のクラスを第1のクラス、2個目のクラスを第2のクラスと記述する場合がある。また、関係情報の具体例として、RDF(Resource Description Framework)が挙げられる。一般的に、ナレッジグラフ22は、単語ベクトルに比べて、1つのナレッジグラフが網羅する知識の範囲は狭いが、精緻にできているという特徴がある。
ここで、ナレッジグラフ22の関係情報の一例を、図2を参照して説明する。図2は、ナレッジグラフの関係情報の一例を示す図である。図2に示すように、クラスとプロパティとクラスとの3つのデータを1組とした関係情報が表わされている。それぞれの組は、「(第1の)クラスの性質(プロパティ)は(第2の)クラスである」という関係性を持っている。ナレッジグラフ22の関係情報では、この関係性を有向ラベル付きのグラフで表現できる。
一例として、関係情報には、(クラス、プロパティ、クラス)として(「こん棒」,「原料」,「木」)が記憶されている。すなわち、かかる関係情報は、「“こん棒”の“原料”は“木”である」という関係性を持つ。
図1に戻って、学習結果データ23は、関係情報を学習した結果のデータである。例えば、学習結果データ23には、関係情報に含まれるクラス、プロパティおよびクラスに含まれる文字列ごとの学習済みのベクトルの集合が含まれる。文字列には、単語が含まれる。なお、学習結果データ23は、機械学習部12によって生成される。
オントロジー24は、あるドメインをモデル化するために当該ドメインで使われている語彙を提供する。オントロジー24は、あるドメインについて、3つのデータを組とした関係情報を用いた情報である。それぞれの関係情報の組は、クラス、プロパティ、クラスの3つ(トリプル)のデータを含む。なお、オントロジー24は、例えば、探索部11および予測部13によって追加される。
探索部11は、単語ベクトルを用いて、オントロジーの知識としての単語を探索する。例えば、探索部11は、単語ベクトルデータ21を用いて、あるドメインにおける単語と特定の関係を有する単語を抽出する。一例として、あるドメインにおける単語Aの特定の性質Bを持った単語Cが探索される場合について説明する。探索部11は、単語ベクトルデータ21を用いて、単語Aの単語ベクトルに、特定の性質Bの単語ベクトルを加えたベクトルに近似する単語Cの単語ベクトルを取得する。探索部11は、取得した単語ベクトルに対する単語Cを探索する。ここでいう単語A,Cは、クラスに対応する。ここでいう性質Bは、プロパティに対応する。なお、単語A,性質Bおよび単語Cは、単語で表される。
また、探索部11は、取得した単語ベクトルのうち、スコアが予め定められたスコア以上となる単語ベクトルに対する単語を探索する。ここでいうスコアとは、近似の度合いが高い程高くなるような評価値のことをいい、以降、「第1のスコア」というものとする。そして、探索部11は、探索した単語を、オントロジーの知識としてオントロジー24に追加する。一例として、探索部11は、単語A,性質Bおよび単語Cの3つのデータの組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。これにより、探索部11は、近似のスコアが予め定められたスコアより小さい単語ベクトルに対する単語をオントロジーの知識として適用しないこととなり、ノイズが少ないオントロジーの知識を追加できる。但し、探索部11は、オントロジー24における十分な量の語彙を集めることができない。
機械学習部12は、オントロジー24をナレッジグラフ22に追加したナレッジグラフに基づいた機械学習によって機械学習モデルを生成する。オントロジー24をナレッジグラフ22に追加したナレッジグラフのことを「拡張ナレッジグラフ」というものとする。例えば、機械学習部12は、オントロジー24をナレッジグラフ22に追加(接続)した拡張ナレッジグラフに含まれる単語に関し、第1のクラス,プロパティおよび第2のクラスから構成される関係情報を示す3つの単語を含む教師データを生成する。機械学習部12は、生成した教師データの集合を用いて、それぞれの教師データについて、第1のクラスに対する単語のベクトルにプロパティに対する単語のベクトルを加えたベクトルが、第2のクラスに対する単語のベクトルに近づく条件に基づき機械学習を実行する。すなわち、機械学習部12は、教師データの集合をもとに、それぞれの教師データに含まれるクラスおよびプロパティに対する単語のベクトル(分散表現)を学習する。
一例として、機械学習部12は、教師データの集合のそれぞれの教師データに含まれる単語のベクトルを初期化し、初期化されたベクトルをベクトル空間上に配置する。そして、機械学習部12は、教師データの集合に含まれる全ての教師データについて、第1のクラスに対する単語のベクトルに、プロパティに対する単語のベクトルを加えたベクトルが、第2のクラスに対する単語のベクトルに近づく条件に基づき機械学習を実行する。
また、機械学習部12は、機械学習の結果を学習結果データ23に保存する。機械学習の結果は、機械学習モデルを含む。そして、機械学習の結果には、関係情報に含まれるクラス、プロパティおよびクラスに含まれる単語の学習済みのグラフベクトルの集合が含まれる。
予測部13は、機械学習モデルを用いて、オントロジー24に含まれる単語と特定の関係(性質)を有する他の単語を予測する。
例えば、予測部13は、オントロジー24に含まれる関係情報であって第2のクラスを予測対象とする関係情報を、ユーザ端末2から取得する。一例として、予測部13は、予測対象の単語を予測するために、予測対象以外の第1のクラスおよびプロパティに対するそれぞれの単語を、ユーザ端末2から取得する。そして、予測部13は、学習結果データ23の学習済みのグラフベクトルの集合を用いて、取得されたそれぞれの関係情報の予測対象を、以下のように予測する。予測部13は、学習済みのグラフベクトルの集合から予測対象以外の第1のクラスおよびプロパティに対するそれぞれの単語のグラフベクトルを取得する。そして、予測部13は、学習済みのグラフベクトルの集合から1つずつグラフベクトルを選択する。そして、予測部13は、第1のクラスのグラフベクトルにプロパティのグラフベクトルを加えたベクトルから選択したグラフベクトルを引いて得られた差分ベクトルが予め定められた許容誤差より小さくなるような、選択したグラフベクトルを検索する。予測部13は、検索により抽出されたグラフベクトルに対する単語を予測結果として決定する。
一例として、「“撲殺”の“武器”が何であるかを予測する場合には、(第1のクラス,プロパティ,第2のクラス)が(“撲殺”,“武器”,?p)であり、第2のクラスが予測対象となる。そして、予測部13は、“撲殺”のグラフベクトルVに“武器”のグラフベクトルVを加えたベクトルから選択したグラフベクトルVを引いた差分ベクトルが予め定められた許容誤差より小さくなるような、選択したグラフベクトルVを検索する。そして、予測部13は、検索により抽出されたグラフベクトルVに対する単語pを予測結果として決定する。
そして、予測部13は、予測結果として決定した単語をオントロジー24に追加することによって新たなオントロジー24を生成する。一例として、予測部13は、単語A、性質Bおよび探索した単語の3つのデータを組とした関係情報をオントロジー24に追加する。
なお、予測部13は、同じ単語が複数の特定の関係(性質)の予測結果となる場合には、当該単語を、スコアが最も高い特定の関係(性質)の予測結果としても良い。ここでいうスコアとは、差分ベクトルが小さい程高くなるような評価値のことをいい、以降、「第2のスコア」というものとする。
ここで、図3~図6を参照して、「殺人の方法」をドメインとするオントロジー24を生成する場合について説明する。
図3は、実施例に係る探索処理の一例を示す図である。なお、図3では、「殺人の方法」をドメインとするオントロジーについて、「撲殺」の「武器」の道具または「絞殺」の「武器」の道具を探索する場合について説明する。
図3に示すように、探索部11は、「撲殺」の単語ベクトルに、「武器」の単語ベクトルを加えたベクトルに近似する単語の単語ベクトルを取得する。そして、探索部11は、取得した単語ベクトルのうち、第1のスコアが予め定められたスコア以上の単語ベクトルに対する単語を探索する。ここでは、「素手」、「こん棒」、「鉄パイプ」が探索されている。
また、探索部11は、「絞殺」の単語ベクトルに、「武器」の単語ベクトルを加えたベクトルに近似する単語の単語ベクトルを取得する。そして、探索部11は、取得した単語ベクトルのうち、第1のスコアが予め定められたスコア以上の単語ベクトルに対する単語を探索する。ここでは、「糸」、「ロープ」、「鞭」が探索されている。
そして、探索部11は、「撲殺」,「武器」および「素手」の3つのデータの組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。探索部11は、「撲殺」,「武器」および「こん棒」の3つのデータの組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。探索部11は、「撲殺」,「武器」および「鉄パイプ」の3つのデータの組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。また、探索部11は、「絞殺」,「武器」および「糸」の3つのデータの組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。探索部11は、「絞殺」,「武器」および「ロープ」の3つのデータの組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。探索部11は、「絞殺」,「ロープ」および「鞭」の3つのデータの組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。
図4A~図4Cは、実施例に係る学習処理の一例を示す図である。なお、図4A~図4Cでは、「殺人の方法」をドメインとするオントロジー24を生成する場合に、ナレッジグラフ22にオントロジー24を追加した結果の拡張ナレッジグラフを学習する場合について説明する。
図4Aに示すように、機械学習部12は、図3で示したオントロジー24をナレッジグラフ22に接続する。ここでは、オントロジー24に含まれる「素手」,「こん棒」,「鉄パイプ」,「糸」,「ロープ」,「鞭」とナレッジグラフ22に含まれる同じ単語とが接続される。
図4Bに示すように、機械学習部12は、オントロジー24をナレッジグラフ22に接続した結果の拡張ナレッジグラフに含まれる単語に関し、第1のクラス,プロパティおよび第2のクラスから構成される関係情報を示す3つの単語から成る教師データを生成する。ここでは、オントロジー24側から、例えば、(“撲殺”,“武器”,“素手”)、(“撲殺”,“武器”,“こん棒”)、(“撲殺”,“武器”,“鉄パイプ”)の教師データが生成される。また、(“絞殺”,“武器”,“糸”)、(“絞殺”,“武器”,“ロープ”)(“絞殺”,“武器”,“鞭”)などの教師データが生成される。さらに、図示しないが、ナレッジグラフ22側から、例えば、(“こん棒”,“原料”,“木”)、(“木刀”,“原料”,“木”)などの教師データが生成される。
機械学習部12は、生成した教師データの集合を用いて、それぞれの教師データについて、第1のクラスに対する単語のベクトルにプロパティに対する単語のベクトルを加えたベクトルが、第2のクラスに対する単語のベクトルに近づく条件に基づき機械学習を実行する。すなわち、機械学習部12は、教師データの集合をもとに、それぞれの教師データに含まれるクラスおよびプロパティに対する単語のベクトル(分散表現)を学習する。
一例として、教師データに含まれる(クラス,プロパティ,クラス)が(“撲殺”,“武器”,“素手”)、(“撲殺”,“武器”,“こん棒”)、・・・であるとする。機械学習部12は、教師データの集合に含まれる全ての単語をn次元のベクトルで初期化する。なお、便宜上、n次元を2次元として説明する。機械学習部12は、初期化されたベクトルを2次元空間上に配置する。そして、機械学習部12は、(“撲殺”,“武器”,“素手”)の教師データについて、第1のクラスに対する“撲殺”のベクトルに、プロパティに対する“武器”のベクトルを加えたベクトルと、第2のクラスに対する“素手”のベクトルとを近寄せる。機械学習部12は、(“撲殺”,“武器”,“こん棒”)の教師データについて、第1のクラスに対する“撲殺”のベクトルに、プロパティに対する“武器”のベクトルを加えたベクトルと、第2のクラスに対する“こん棒”のベクトルとを近寄せる。このように、機械学習部12は、教師データの集合に含まれる全ての教師データについて、第1のクラスに対する単語のベクトルに、プロパティに対する単語のベクトルを加えたベクトルが、第2のクラスに対する単語のベクトルに近づく条件に基づき機械学習を実行する。
この結果、図4Cに示すように、機械学習部12は、それぞれの組の距離が十分縮まるまで繰り返す。そして、機械学習部12は、学習結果としてそれぞれの組の距離が十分縮まったベクトルを生成する。機械学習部12は、学習結果を学習結果データ23に保存する。学習結果は、学習済みのグラフベクトルの集合である。
図4Bに戻って、つまり、ナレッジグラフ22には「殺人の方法」としての道具という文脈は存在しない。しかしながら、機械学習部12は、「殺人の方法」に関するオントロジー24に含まれる「殺人の方法」としての道具をナレッジグラフ22と接続して、拡張ナレッジグラフで「撲殺」という文脈や「絞殺」という文脈に基づき機械学習が実行される。
図5A,図5Bは、実施例に係る予測処理の一例を示す図である。なお、図5A,図5Bでは、図4Bの例に関する学習結果データ23が利用されるものとする。
図5Aに示すように、予測部13は、「撲殺」の「武器」が何であるかを予測する。予測部13は、学習結果データ23の学習済みのグラフベクトルの集合から、予測対象以外の第1のクラスに対する「撲殺」およびプロパティに対する「武器」のそれぞれのグラフベクトルを取得する。そして、予測部13は、学習結果データ23の学習済みのグラフベクトルの集合から1つずつグラフベクトルを選択する。そして、予測部13は、「撲殺」のグラフベクトルに「武器」のグラフベクトルを加えたベクトルから、選択したグラフベクトルを引いて得られる差分ベクトルが予め定められた許容誤差より小さくなるような、選択したグラフベクトルを検索する。予測部13は、検索により抽出されたグラフベクトルに対する単語を予測結果として決定する。
図5Bに示すように、例えば、予測部13は、「撲殺」の「武器」が何であるかの問い合わせ(撲殺,武器,?p(0.1))を受け付ける。「?」は、予測対象を示す予測変数を意味する。予測変数の後の値「0.1」は、ベクトルの許容誤差を意味する。一例として、許容誤差は、図5Bで示す円内を示す情報のことをいう。すなわち、距離が近い程、第2のスコアは高くなる。
そして、予測部13は、学習済みのグラフベクトルの集合から1つずつグラフベクトルを選択し、「撲殺」のグラフベクトルに「武器」のグラフベクトルを加えたベクトルから選択したグラフベクトルを引いて得られる差分ベクトルが「0.1」の許容誤差より小さくなるような、選択したグラフベクトルを検索する。ここでは、検索により単語「木刀」のグラフベクトルが抽出される。従って、「木刀」が予測結果として決定される。
図5Aに戻って、同様に、予測部13は、「絞殺」の「武器」が何であるかを予測する。予測部13は、学習済みのグラフベクトルの集合から予測対象以外の第1のクラスに対する「絞殺」およびプロパティに対する「武器」のそれぞれのグラフベクトルを取得する。そして、予測部13は、学習済みのグラフベクトルの集合から1つずつグラフベクトルを選択する。そして、予測部13は、「絞殺」のグラフベクトルに「武器」のグラフベクトルを加えたベクトルから選択したグラフベクトルを引いて得られた差分ベクトルが予め定められた許容誤差より小さくなるような、選択したグラフベクトルを検索する。ここでは、検索により単語「ワイヤ」のグラフベクトルが抽出される。従って、「ワイヤ」が予測結果として決定される。
そして、予測部13は、予測対象として予測された単語をオントロジー24に追加することによって新たなオントロジー24を生成する。
図6は、学習された拡張ナレッジグラフのイメージの一例を示す図である。図6に示すように、機械学習部12が拡張ナレッジグラフで「撲殺」という文脈を学習したので、「木刀」のグラフベクトルが「撲殺」のグラフベクトルに「武器」のグラフベクトルを加えたものに近づく。同様に、機械学習部12が拡張ナレッジグラフで「絞殺」という文脈を学習したので、「ワイヤ」のグラフベクトルが「絞殺」のグラフベクトルに「武器」のグラフベクトルを加えたものに近づく。一方、機械学習部12が拡張ナレッジグラフで「撲殺」という文脈や「絞殺」という文脈を学習したので、「日用品」のグラフベクトルが「撲殺」のグラフベクトルに「武器」のグラフベクトルを加えたものから離れる。
ここで、同じ単語が複数の特定の関係(性質)の予測結果となる場合がある。図7は、同じ単語が複数の特定の関係で予測される場合の一例を示す図である。図7に示すように、予測部13は、「撲殺」の「武器」が「鞭」であると予測する。また、予測部13は、「絞殺」の「武器」が「鞭」であると予測する。すなわち、予測部13は、「撲殺」の「武器」としての道具および「絞殺」の「武器」としての道具の両方で「鞭」という単語を予測している。
同じ単語が複数の特定の関係(性質)の予測結果となる場合には、予測部13は、同じ単語「鞭」を、第2のスコアが最も高い特定の関係(性質)に紐付けるようにしても良い。すなわち、予測部13は、同じ単語「鞭」のグラフベクトルとの距離が近い特定の関係(性質)に、単語「鞭」を予測結果として紐付けても良い。
図8は、生成されたオントロジーの一例を示す図である。図8に示すように、予測部13によって予測された単語を含むオントロジー24が示されている。生成されたオントロジー24には、単語ベクトルを用いて計算された「素手」,「こん棒」,「鉄パイプ」に加えて、予測部13によって予測された「木刀」が追加されている。また、生成されたオントロジー24には、単語ベクトルを用いて計算された「糸」,「ロープ」,「鞭」に加えて、予測部13によって予測された「ワイヤ」が追加されている。このようにして、予測部13は、拡張ナレッジグラフを用いることで、豊富な語彙が含まれるオントロジー24を生成することができる。
図9は、実施例に係るオントロジー生成処理のフローチャートの一例を示す図である。図9に示すように、探索部11は、オントロジー24の追加したい部分(S,p)を受け付ける(ステップS11)。ここでいう(S,p)は、オントロジー24に第1のクラスと特定の性質(プロパティ)を持つ第2のクラスを追加したい場合の第1のクラスおよびプロパティに対する単語を示す。Sは、第1のクラスに対する単語、pは、プロパティに対する単語である。
探索部11は、Sの単語ベクトル+pの単語ベクトルに近いベクトルをもつ単語をn個(W1,・・・,Wn)取得する(ステップS12)。例えば、探索部11は、単語ベクトルデータ21からSの単語ベクトル,pの単語ベクトルおよび他の単語ベクトルを取得する。そして、探索部11は、Sの単語ベクトル+pの単語ベクトルと他の単語ベクトルとの第1のスコアが予め定められたスコア以上の他の単語ベクトルをn個取得する。
そして、探索部11は、(S,p,W1),・・・,(S,p,Wn)のn個の3つ組を、ナレッジグラフ22に追加する(ステップS13)。例えば、探索部11は、Sに対する単語,pに対する単語およびW1~Wnに対する単語の3つのデータの各組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。そして、機械学習部12は、オントロジー24をナレッジグラフ22に追加(接続)する。オントロジー24をナレッジグラフ22に追加(接続)したナレッジグラフが拡張ナレッジグラフである。
そして、機械学習部12は、追加されたナレッジグラフの埋め込みを計算する(ステップS14)。例えば、機械学習部12は、拡張ナレッジグラフに含まれる単語に関し、第1のクラス、プロパティおよび第2のクラスから構成される関係情報を示す3つの単語から成る教師データを生成する。機械学習部12は、生成した教師データの集合を用いて、それぞれの教師データについて、第1のクラスに対する単語のベクトルにプロパティに対する単語のベクトルを加えたベクトルが、第2のクラスに対する単語のベクトルに近づく条件に基づき機械学習を実行する。すなわち、機械学習部12は、教師データの集合をもとに、それぞれの教師データに含まれるクラスおよびプロパティに対する単語のベクトル(分散表現)を学習する。そして、機械学習部12は、学習した結果(学習済みのグラフベクトルの集合)を学習結果データ23に保存する。
そして、予測部13は、計算された埋め込みを利用して、Sとpから予測される単語をm個(O1,・・・,Om)取得する(ステップS15)。例えば、予測部13は、学習した結果(学習済みのグラフベクトルの集合)から予測対象以外の第1のクラスSおよびプロパティpに対するそれぞれの単語のグラフベクトルを取得する。そして、予測部13は、学習済みのグラフベクトルの集合から1つずつグラフベクトルを選択する。そして、予測部13は、第1のクラスSのグラフベクトルにプロパティpのグラフベクトルを加えたベクトルから選択したグラフベクトルを引いて得られる差分ベクトルが予め定められた許容誤差より小さくなるような、選択したグラフベクトルを検索する。予測部13は、検索できたグラフベクトルに対する単語を予測対象としてm個取得する。
そして、予測部13は、取得した(S,p,W1),・・・(S,p,Wn)および(S,p,O1),(S,p,Om)をオントロジー24として出力する(ステップS16)。
図10A,図10Bは、複数の親がある場合のオントロジー生成処理のフローチャートの一例を示す図である。すなわち、図10A,図10Bは、同じ単語が複数の特定の関係(性質)の予測対象となる場合のオントロジー生成処理のフローチャートの一例である。
図10Aに示すように、探索部11は、オントロジー24の追加したい部分(S1,p),・・・(Sk,p)を受け付ける(ステップS21)。ここでいう(Sk,p)は、オントロジー24に第1のクラスと特定の性質(プロパティ)を持つ第2のクラスを追加したい場合の第1のクラスおよびプロパティに対する単語を示す。Skは、第1のクラスに対する単語、pは、プロパティに対する単語である。
探索部11は、S1,・・・,Skのそれぞれの単語ベクトル+pの単語ベクトルに近いベクトルをもつ単語をそれぞれn個(W11,W12,・・・,Wkn)取得する(ステップS22)。例えば、探索部11は、単語ベクトルデータ21からS1の単語ベクトル,pの単語ベクトルおよび他の単語ベクトルを取得する。そして、探索部11は、S1の単語ベクトル+pの単語ベクトルと他の単語ベクトルとの第1のスコアが予め定められたスコア以上の他の単語ベクトルをn個(W11,W12,・・・,W1n)取得する。探索部11は、単語ベクトルデータ21からS2の単語ベクトル,pの単語ベクトルおよび他の単語ベクトルを取得する。そして、探索部11は、S2の単語ベクトル+pの単語ベクトルと他の単語ベクトルとの第1のスコアが予め定められたスコア以上の他の単語ベクトルをn個(W21,W22,・・・,W2n)取得する。同様に、探索部11は、単語ベクトルデータ21からSkの単語ベクトル,pの単語ベクトルおよび他の単語ベクトルを取得する。そして、探索部11は、Skの単語ベクトル+pの単語ベクトルと他の単語ベクトルとの第1のスコアが予め定められたスコア以上の他の単語ベクトルをn個(Wk1,Wk2,・・・,Wkn)取得する。
そして、探索部11は、(S1,p,W11),・・・,(Sk,p,Wkn)のk×n個の3つ組を、ナレッジグラフ22に追加する(ステップS23)。例えば、探索部11は、S1に対する単語,pに対する単語およびW11~W1nに対する単語の3つのデータの各組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。探索部11は、S2に対する単語,pに対する単語およびW21~W2nに対する単語の3つのデータの各組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。同様に、探索部11は、Skに対する単語,pに対する単語およびWk1~Wknに対する単語の3つのデータの各組を(クラス、プロパティ、クラス)とした関係情報をオントロジー24に追加する。そして、機械学習部12は、オントロジー24をナレッジグラフ22に追加(接続)する。オントロジー24をナレッジグラフ22に追加(接続)したナレッジグラフが拡張ナレッジグラフである。
そして、機械学習部12は、追加されたナレッジグラフの埋め込みを計算する(ステップS24)。例えば、機械学習部12は、拡張ナレッジグラフに含まれる単語に関し、第1のクラス、プロパティおよび第2のクラスから構成される関係情報を示す3つの単語から成る教師データを生成する。機械学習部12は、生成した教師データの集合を用いて、それぞれの教師データについて、第1のクラスに対する単語のベクトルにプロパティに対する単語のベクトルを加えたベクトルが、第2のクラスに対する単語のベクトルに近づく条件に基づき機械学習を実行する。すなわち、機械学習部12は、教師データの集合をもとに、それぞれの教師データに含まれるクラスおよびプロパティに対する単語のベクトルの埋め込みを学習する。そして、機械学習部12は、学習した結果(学習済みのグラフベクトルの集合)を学習結果データ23に保存する。
そして、予測部13は、計算された埋め込みを利用して、S1,・・・Skそれぞれとpから予測される単語をそれぞれm個とそれぞれのスコアを取得する(ステップS25)。ここでいうスコアは、第2のスコアである。S1とpとから予測されるm個の単語とスコアは、(O11,s11),(O12,s12),・・・,(O1m,s1m)と取得される。S2とpとから予測されるm個の単語とスコアは、(O21,s21),(O22,s22),・・・,(O2m,s2m)と取得される。同様に、Skとpとから予測されるm個の単語とスコアは、(Ok1,sk1),(Ok2,sk2),・・・,(Okm,skm)と取得される。
ここでは、(O11,s11),(O12,s12),・・・,(Okm,skm)をAの集合とする。予測部13は、Aの集合の予測対象のOをそれぞれ比較して、同じ場合には、スコアsを比較して、スコアsの小さい方を削除する(ステップS26)。なお、予測対象のOが同じ場合にスコアsの大きい方を残し、スコアsの小さい方を削除する処理のフローチャートは、後述する。
そして、予測部13は、取得した(S1,p,W11),・・・(Sk,p,Wkn)および残ったAの集合の要素(S1,p,O11),(Sk,p,Okm)をオントロジー24として出力する(ステップS27)。
図10Bは、予測対象のOが同じ場合にスコアsの大きい方を残し、スコアsの小さい方を削除する処理のフローチャートの一例である。なお、ここでいうスコアは、第2のスコアのことをいう。図10Bに示すように、予測部13は、Aの集合を入力する(ステップS31)。予測部13は、Aの集合の要素を1つ取り出し、取り出した要素の中のそれぞれの要素(単語O,スコアs)をS、Kに入力する(ステップS32)。
予測部13は、Aの集合からすべての要素を取り出したか否かを判定する(ステップS33)。Aの集合からすべての要素を取り出していないと判定した場合には(ステップS33;No)、予測部13は、Aの集合の要素を1つ取り出し、取り出した要素の中のそれぞれの要素(単語O,スコアs)をT、Jに入力する(ステップS35)。
予測部13は、Aの集合からすべての要素を取り出したか否かを判定する(ステップS36)。Aの集合からすべての要素を取り出していないと判定した場合には(ステップS36;No)、予測部13は、単語Sが単語Tと一致しているか否かを判定する(ステップS38)。単語Sが単語Tと一致していないと判定した場合には(ステップS38;No)、予測部13は、次の要素の(T,J)を現在処理中の(S,K)と比較すべく、ステップS35に移行する。
一方、単語Sが単語Tと一致したと判定した場合には(ステップS38;Yes)、予測部13は、スコアJがスコアKより大きいか否かを判定する(ステップS39)。スコアJがスコアK以下と判定した場合には(ステップS39;No)、予測部13は、次の要素の(T,J)を現在処理中の(S,K)と比較すべく、ステップS35に移行する。すなわち、予測部13は、現在処理中の単語Sが単語Tと一致している場合に、単語SのスコアKより大きい単語Tを探索する。
そして、スコアJがスコアKより大きいと判定した場合には(ステップS39;Yes)、予測部13は、Aの集合の次の要素を処理すべく、ステップS32に移行する。すなわち、予測部13は、現在処理中の(S,K)をAの集合から削除する。
また、ステップS36において、Aの集合からすべての要素を取り出したと判定した場合には(ステップS36;Yes)、予測部13は、現在処理中の(S,K)をBの集合に追加する(ステップS37)。また、ステップS33において、Aの集合からすべての要素を取り出したと判定した場合には(ステップS33;Yes)、予測部13は、集合Bを集合Aとして出力する(ステップS34)。
なお、予測部13は、同じ単語が複数の特定の関係(性質)の予測対象となる場合には、当該単語を第2のスコアが最も高い特定の関係(性質)の予測対象とすると説明した。しかしながら、予測部13は、これに限定されず、予測部13は、同じ単語が複数の特定の関係(性質)の予測対象となる場合であっても、そのまま当該単語をそれぞれの特定の関係(性質)の予測対象としても良い。
上記実施例によれば、オントロジー生成装置1は、複数の単語の特定の関係を示すオントロジー24を追加したナレッジグラフに基づいた機械学習によって生成された機械学習モデルを用いて、複数の単語に含まれる単語と特定の関係を有する他の単語を予測する。オントロジー生成装置1は、オントロジー24に、予測された他の単語を追加することによって新たなオントロジー24を生成する。かかる構成によれば、オントロジー生成装置1は、ノイズができるだけ少なく、語彙が豊富なオントロジーを生成することができる。例えば、オントロジー生成装置1は、オントロジー24を追加したナレッジグラフについて埋め込みを利用した予測を基にオントロジー24を生成することで、不要な語(ノイズ)が少ないオントロジー24を生成できる。加えて、オントロジー生成装置1は、オントロジー24の中の単語だけで生成するよりも、数多くの語彙を持ったオントロジー24を生成できる。
また、上記実施例によれば、オントロジー生成装置1は、オントロジー24を追加したナレッジグラフに含まれる単語に関し、第1の単語と第2の単語と特定の関係とを有するトリプルを生成する。オントロジー生成装置1は、生成したトリプルについて、第1の単語のベクトルに第2の単語のベクトルを加えたベクトルが特定の関係のベクトルに近づく条件に基づき機械学習を実行することによって、機械学習モデルを生成する。かかる構成によれば、オントロジー生成装置1は、オントロジー24にナレッジグラフの埋め込みを利用して機械学習モデルを生成することで、不要な語(ノイズ)が少ないオントロジー24を生成することが可能になる。
また、上記実施例によれば、オントロジー生成装置1は、オントロジーに含まれる第1の単語と特定の関係とを機械学習モデルに入力する。オントロジー生成装置1は、機械学習モデルに含まれる学習済みのベクトルの中から特定のベクトルを選択する。オントロジー生成装置1は、選択された特定のベクトルと第1の単語のベクトルとを加えて得られたベクトルから特定の関係のベクトルを引いて得られる第1の差分ベクトルが閾値より小さいか否かを判定する。そして、オントロジー生成装置1は、第1の差分ベクトルが閾値より小さいと判定された場合、選択された特定のベクトルに対応する単語を他の単語として決定する。かかる構成によれば、オントロジー生成装置1は、オントロジー24における単語の予測を、機械学習モデルに含まれる学習済みのベクトルを用いることで、単語の予測精度を向上させることができる。したがって、オントロジー生成装置1は、不要な語(ノイズ)が少ないオントロジー24を生成できる。
また、上記実施例によれば、オントロジー生成装置1は、オントロジーに含まれる第2の単語と特定の関係との入力に応じて、特定のベクトルに対応する単語が他の単語として決定された場合、特定のベクトルと第2の単語のベクトルとを加えて得られたベクトルから特定の関係のベクトルを引いて得られる第2の差分ベクトルと第1の差分ベクトルとを比較する。そして、オントロジー生成装置1は、第1の差分ベクトルが第2の差分ベクトルより小さい場合、第1の単語と他の単語と特定の関係とを含むトリプルを示す情報をオントロジーに追加する。つまり、オントロジー生成装置1は、同じ単語が複数の特定の関係の予測結果となる場合には、当該単語を、スコアが最も高い特定の関係の予測結果とする。かかる構成によれば、オントロジー生成装置1は、予測精度が高い単語をオントロジー24に追加することが可能となる。
また、上記実施例によれば、オントロジー生成装置1は、数の単語に含まれる単語と特定の関係を有する一又は複数の単語を、単語ベクトルを用いて探索する。そして、オントロジー生成装置1は、探索した一又は複数の単語のうちスコアが高い特定の数の単語をオントロジーに追加することによって新たなオントロジー24を生成する。かかる構成によれば、オントロジー生成装置1は、単語ベクトルを用いて探索する単語の探索精度を向上させることができ、この後のオントロジー24の生成において、不要な語(ノイズ)が少ないオントロジー24を生成できる。
なお、実施例では、予測部13が、オントロジー24に含まれる関係情報であって第2のクラスを予測対象とする場合を説明した。しかしながら、予測部13は、これに限定されず、第1のクラスを予測対象としても良いし、プロパティを予測対象としても良い。第1のクラスを予測対象とする場合には、予測部13は、予測対象以外のプロパティおよび第2のクラスに対するそれぞれの単語を、ユーザ端末2から入力する。予測部13は、学習済みのグラフベクトルの集合から予測対象以外のプロパティおよび第2のクラスに対するそれぞれの単語のグラフベクトルを取得する。予測部13は、選択したグラフベクトルのグラフベクトルにプロパティのグラフベクトルを加えたベクトルから第2のクラスのグラフベクトルを引いて得られた差分ベクトルが予め定められた許容誤差より小さくなるような、選択したグラフベクトルを検索する。予測部13は、検索により抽出したグラフベクトルに対する単語を予測結果として決定すれば良い。
また、図示したオントロジー生成装置1の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、オントロジー生成装置1の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、探索部11を、単語ベクトルデータ21を用いてあるドメインにおける単語と特定の関係を有する単語を探索する第1の探索部と、所定のスコア以上の単語ベクトルに対する単語を探索する第2の探索部とに分散しても良い。また、記憶部20をオントロジー生成装置1の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示したオントロジー生成装置1と同様の機能を実現するオントロジー生成プログラムを実行するコンピュータの一例を説明する。ここでは、オントロジー生成装置1と同様の機能を実現するオントロジー生成プログラムを一例として説明する。図11は、オントロジー生成プログラムを実行するコンピュータの一例を示す図である。
図11に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD(Hard Disk Drive)205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
ドライブ装置213は、例えばリムーバブルディスク210用の装置である。HDD205は、オントロジー生成プログラム205aおよびオントロジー生成処理関連情報205bを記憶する。
CPU203は、オントロジー生成プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、オントロジー生成装置1の各機能部に対応する。オントロジー生成処理関連情報205bは、単語ベクトルデータ21、ナレッジグラフ22、学習結果データ23およびオントロジー24に対応する。そして、例えばリムーバブルディスク210が、オントロジー生成プログラム205aなどの各情報を記憶する。
なお、オントロジー生成プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、光磁気ディスク、IC(Integrated Circuit)カードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらからオントロジー生成プログラム205aを読み出して実行するようにしても良い。
1 オントロジー生成装置
10 制御部
11 探索部
12 機械学習部
13 予測部
20 記憶部
21 単語ベクトルデータ
22 ナレッジグラフ
23 学習結果データ
24 オントロジー
2 ユーザ端末

Claims (6)

  1. 複数の単語の特定の関係を示すオントロジーを追加したナレッジグラフに含まれる単語に関し、第1の単語と第2の単語と前記特定の関係を示す第3の単語とを有するトリプルを1組とした教師データを生成し、
    前記教師データの集合を入力して、前記教師データの集合に含まれる各教師データについて、前記第1の単語をベクトル表現したベクトルに前記第3の単語をベクトル表現したベクトルを加えたベクトルが、前記第2の単語をベクトル表現したベクトルに近づく条件に基づき機械学習を実行し、前記教師データの集合に含まれる単語ごとの学習済みのベクトルの集合を出力し、
    前記学習済みのベクトルの集合を用いて、前記複数の単語に含まれる単語と前記特定の関係を有する他の単語を予測し、
    前記オントロジーに、予測された前記他の単語を追加することによって新たなオントロジーを生成する、
    ことをコンピュータに実行させるオントロジー生成プログラム。
  2. 前記予測する処理は、
    前記オントロジーに含まれる第1の単語と前記特定の関係を示す第3の単語とを入力し、
    前記学習済みのベクトルの集合の中から、前記第1の単語および前記第3の単語に対するそれぞれの単語をベクトル表現したベクトルを取得し、
    前記学習済みのベクトルの中から一つずつベクトルを選択し、
    前記第1の単語をベクトル表現したベクトルと前記第3の単語をベクトル表現したベクトルとを加えて得られたベクトルから、選択したベクトルを引いて得られる第1の差分ベクトルが閾値より小さいか否かを判定し、
    前記第1の差分ベクトルが前記閾値より小さいと判定された場合、選択したベクトルに対応する単語を前記他の単語として予測する、
    処理を含むことを特徴とする請求項1に記載のオントロジー生成プログラム。
  3. 前記他の単語を追加する処理は、前記オントロジーに含まれる第の単語と前記特定の関係を示す第3の単語との入力に応じて予測される前記他の単語が、前記第1の単語と前記第3の単語との入力に応じて予測される前記他の単語と同じ場合、前記第の単語をベクトル表現したベクトルと前記第3の単語をベクトル表現したベクトルとを加えて得られたベクトルから前記他の単語に対応するベクトルを引いて得られる第2の差分ベクトルと前記第1の差分ベクトルとを比較し、
    前記第1の差分ベクトルが前記第2の差分ベクトルより小さい場合、前記第1の単語と前記他の単語と前記特定の関係を示す第3の単語とを含むトリプルを示す情報を前記オントロジーに追加する、
    処理を含むことを特徴とする請求項に記載のオントロジー生成プログラム。
  4. 前記オントロジーは、前記複数の単語に含まれる単語と特定の関係を有する一又は複数の単語を、単語ベクトルを用いて探索し、探索した前記一又は複数の単語のうちスコアが高い特定の数の単語を前記オントロジーに追加することによって生成される、
    ことを特徴とする請求項1に記載のオントロジー生成プログラム。
  5. 複数の単語の特定の関係を示すオントロジーを追加したナレッジグラフに含まれる単語に関し、第1の単語と第2の単語と前記特定の関係を示す第3の単語とを有するトリプルを1組とした教師データを生成する生成部と、
    前記教師データの集合を入力して、前記教師データの集合に含まれる各教師データについて、前記第1の単語をベクトル表現したベクトルに前記第3の単語をベクトル表現したベクトルを加えたベクトルが、前記第2の単語をベクトル表現したベクトルに近づく条件に基づき機械学習を実行し、前記教師データの集合に含まれる単語ごとの学習済みのベクトルの集合を出力する出力部と、
    前記学習済みのベクトルの集合を用いて、前記複数の単語に含まれる単語と前記特定の関係を有する他の単語を予測する予測部と、
    前記オントロジーに、予測された前記他の単語を追加することによって新たなオントロジーを生成する成部と、
    を有することを特徴とするオントロジー生成装置。
  6. 複数の単語の特定の関係を示すオントロジーを追加したナレッジグラフに含まれる単語に関し、第1の単語と第2の単語と前記特定の関係を示す第3の単語とを有するトリプルを1組とした教師データを生成し、
    前記教師データの集合を入力して、前記教師データの集合に含まれる各教師データについて、前記第1の単語をベクトル表現したベクトルに前記第3の単語をベクトル表現したベクトルを加えたベクトルが、前記第2の単語をベクトル表現したベクトルに近づく条件に基づき機械学習を実行し、前記教師データの集合に含まれる単語ごとの学習済みのベクトルの集合を出力し、
    前記学習済みのベクトルの集合を用いて、前記複数の単語に含まれる単語と前記特定の関係を有する他の単語を予測し、
    前記オントロジーに、予測された前記他の単語を追加することによって新たなオントロジーを生成する、
    ことをコンピュータが実行するオントロジー生成方法。
JP2022515154A 2020-04-16 2020-04-16 オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法 Active JP7375919B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/016804 WO2021210148A1 (ja) 2020-04-16 2020-04-16 オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法

Publications (2)

Publication Number Publication Date
JPWO2021210148A1 JPWO2021210148A1 (ja) 2021-10-21
JP7375919B2 true JP7375919B2 (ja) 2023-11-08

Family

ID=78085351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022515154A Active JP7375919B2 (ja) 2020-04-16 2020-04-16 オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法

Country Status (2)

Country Link
JP (1) JP7375919B2 (ja)
WO (1) WO2021210148A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018085116A (ja) 2016-11-23 2018-05-31 富士通株式会社 知識グラフを完成させるための方法および装置
CN110275894A (zh) 2019-06-24 2019-09-24 恒生电子股份有限公司 一种知识图谱的更新方法、装置、电子设备及存储介质
WO2020037217A1 (en) 2018-08-16 2020-02-20 Oracle International Corporation Techniques for building a knowledge graph in limited knowledge domains
JP2020047209A (ja) 2018-09-21 2020-03-26 沖電気工業株式会社 オントロジー処理装置およびオントロジー処理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018085116A (ja) 2016-11-23 2018-05-31 富士通株式会社 知識グラフを完成させるための方法および装置
WO2020037217A1 (en) 2018-08-16 2020-02-20 Oracle International Corporation Techniques for building a knowledge graph in limited knowledge domains
JP2020047209A (ja) 2018-09-21 2020-03-26 沖電気工業株式会社 オントロジー処理装置およびオントロジー処理プログラム
CN110275894A (zh) 2019-06-24 2019-09-24 恒生电子股份有限公司 一种知识图谱的更新方法、装置、电子设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
大貫陽平ほか,DNNによるRDF上の単語間の関係の予測,一般社団法人人工知能学会 研究会 SWO:セマンティックウェブとオントロジー研究会 [online],一般社団法人人工知能学会,2017年10月17日,Vol.SIG-SWO-041,pp.02-01~02-08,[検索日:2017.10.17], Internet<URL:https://jsai.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=8520&file_id=1&file_no=1>
蛭子琢磨ほか,知識グラフの補完におけるTranslation-based Modelsの発展と課題,一般社団法人人工知能学会 研究会 SWO:セマンティックウェブとオントロジー研究会 [online],一般社団法人人工知能学会,2018年03月19日,Vol.SIG-SWO-044,pp.03-1~03-6,[検索日:2018.03.19], Internet<URL:https://jsai.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=9161&file_id=1&file_no=1>

Also Published As

Publication number Publication date
JPWO2021210148A1 (ja) 2021-10-21
WO2021210148A1 (ja) 2021-10-21

Similar Documents

Publication Publication Date Title
JP7120433B2 (ja) 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム
KR102483643B1 (ko) 모델을 학습하는 방법 및 장치 및 상기 뉴럴 네트워크를 이용한 인식 방법 및 장치
Weston et al. Memory networks
JP7247878B2 (ja) 回答学習装置、回答学習方法、回答生成装置、回答生成方法、及びプログラム
Heigold et al. An extensive empirical evaluation of character-based morphological tagging for 14 languages
US11645479B1 (en) Method for AI language self-improvement agent using language modeling and tree search techniques
JP6498095B2 (ja) 単語埋込学習装置、テキスト評価装置、方法、及びプログラム
US11481560B2 (en) Information processing device, information processing method, and program
JP7070653B2 (ja) 学習装置、音声認識順位推定装置、それらの方法、およびプログラム
JP2020135289A (ja) 質問応答装置、学習装置、質問応答方法及びプログラム
CN107408110A (zh) 含意配对扩展装置、用于其的计算机程序以及提问应答系统
CN114358657A (zh) 一种基于模型融合的岗位推荐方法及装置
KR20210044697A (ko) Ai 기반 질의응답 시스템 및 방법
Shah et al. Simple App Review Classification with Only Lexical Features.
CN109726404B (zh) 端到端模型的训练数据增强方法、装置及介质
CN117057173B (zh) 一种支持发散思维的仿生设计方法、系统及电子设备
Korade et al. Strengthening Sentence Similarity Identification Through OpenAI Embeddings and Deep Learning.
JP7375919B2 (ja) オントロジー生成プログラム、オントロジー生成装置およびオントロジー生成方法
Zhao et al. Finding answers from the word of god: Domain adaptation for neural networks in biblical question answering
JP7452623B2 (ja) 学習装置、情報処理装置、学習方法、情報処理方法及びプログラム
Twardowski et al. Metric learning for session-based recommendations
JP2009116593A (ja) 単語ベクトル生成装置、単語ベクトル生成方法、プログラムおよびプログラムを記録した記録媒体
WO2018066083A1 (ja) 学習プログラム、情報処理装置および学習方法
JP7416082B2 (ja) 学習方法、学習装置、学習プログラム、予測方法、予測装置および予測プログラム
JP7265837B2 (ja) 学習装置および学習方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230718

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230824

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231009

R150 Certificate of patent or registration of utility model

Ref document number: 7375919

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150