(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-12-05
(45)【発行日】2024-12-13
(54)【発明の名称】学習装置、学習方法、及び学習プログラム
(51)【国際特許分類】
G06N 5/02 20230101AFI20241206BHJP
G06N 3/0475 20230101ALI20241206BHJP
【FI】
G06N5/02
G06N3/0475
(21)【出願番号】P 2024530440
(86)(22)【出願日】2024-02-16
(86)【国際出願番号】 JP2024005618
【審査請求日】2024-05-22
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】弁理士法人クロスボーダー特許事務所
(72)【発明者】
【氏名】風間 健太郎
【審査官】福西 章人
(56)【参考文献】
【文献】米国特許出願公開第2023/0186030(US,A1)
【文献】特表2022-517292(JP,A)
【文献】ZHANG, Zhengyan et al.,ERNIE: Enhanced Language Representation with Informative Entities,arXiv [online],2019年06月04日,pp.1-11,[検索日 2024.03.12]、インターネット:<URL:https://arxiv.org/pdf/1905.07129v3.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
知識グラフである対象知識グラフに含まれている2つのエンティティと1つのリレーションとから成る三つ組みの各要素を対象要素としたとき、前記対象要素に対応する対象ベクトル表現と、前記対象要素に対応するテキスト情報とに基づいて前記対象要素に対応する埋め込みベクトルを生成し、生成した埋め込みベクトルに基づいて前記対象知識グラフに対応する知識グラフ埋め込み表現を学習する埋込学習部
と、
前記対象要素に含まれている対象ラベル文字列に対応するテキストを文書データから成る文書データベースから検索することに用いられるクエリを生成する文字列生成部と、
生成されたクエリに基づいて前記文書データベースを検索することにより前記対象要素に対応するテキスト情報を取得する検索部と、
取得されたテキストに対応する対象テキストベクトルを、言語モデルである対象言語モデルに基づいて生成する特徴抽出部と
を備える学習装置
であって、
前記埋込学習部は、前記対象ベクトル表現と、前記対象テキストベクトルとに基づいて前記埋め込みベクトルを生成する学習装置。
【請求項2】
知識グラフである対象知識グラフに含まれている2つのエンティティと1つのリレーションとから成る三つ組みの各要素を対象要素としたとき、前記対象要素に対応する対象ベクトル表現と、前記対象要素に対応するテキスト情報とに基づいて前記対象要素に対応する埋め込みベクトルを生成し、生成した埋め込みベクトルに基づいて前記対象知識グラフに対応する知識グラフ埋め込み表現を学習する埋込学習部
と、
前記対象要素に含まれている対象ラベル文字列に対応するテキストを、入力されたテキストに対応する説明を出力する説明モデルに対して生成させることに用いられるプロンプトを生成する文字列生成部と、
生成されたプロンプトを前記説明モデルに入力して前記対象要素に対応するテキスト情報を取得する検索部と、
取得されたテキストに対応する対象テキストベクトルを、言語モデルである対象言語モデルに基づいて生成する特徴抽出部と
を備える学習装置
であって、
前記埋込学習部は、前記対象ベクトル表現と、前記対象テキストベクトルとに基づいて前記埋め込みベクトルを生成する学習装置。
【請求項3】
前記学習装置は、さらに、
前記対象要素に対応するテキスト情報を文書データから成る文書データベースから取得する情報取得部と、
取得されたテキストに対応する対象テキストベクトルを、言語モデルである対象言語モデルに基づいて生成する特徴抽出部と
を備え、
前記埋込学習部は、前記対象ベクトル表現と、前記対象テキストベクトルとに基づいて前記埋め込みベクトルを生成する請求項1
又は2に記載の学習装置。
【請求項4】
前記埋込学習部は、前記対象要素に対応するテキスト情報が前記文書データベースに存在しない場合に、前記対象ベクトル表現を前記埋め込みベクトルとする請求項
3に記載の学習装置。
【請求項5】
前記学習装置は、さらに、
前記対象要素に含まれている対象ラベル文字列に対して正規化処理を施すことにより正規化済みラベル文字列を、前記対象要素に対応するテキスト情報として生成する文字列生成部と、
生成された正規化済みラベル文字列に対応する対象テキストベクトルを、言語モデルである対象言語モデルに基づいて生成する特徴抽出部と
を備え、
前記埋込学習部は、前記対象ベクトル表現と、前記対象テキストベクトルとに基づいて前記埋め込みベクトルを生成する請求項1
又は2に記載の学習装置。
【請求項6】
前記埋込学習部は、前記対象要素に対応するテキスト情報が前記文書データベースに存在する場合に、前記対象ベクトル表現と前記対象テキストベクトルとの間において次元数を一致させ、次元数を一致させた後における前記対象ベクトル表現と前記対象テキストベクトルとを結合することにより前記埋め込みベクトルを生成する請求項
4に記載の学習装置。
【請求項7】
コンピュータが、知識グラフである対象知識グラフに含まれている2つのエンティティと1つのリレーションとから成る三つ組みの各要素を対象要素としたとき、前記対象要素に対応する対象ベクトル表現と、前記対象要素に対応するテキスト情報とに基づいて前記対象要素に対応する埋め込みベクトルを生成し、生成した埋め込みベクトルに基づいて前記対象知識グラフに対応する知識グラフ埋め込み表現を学習
し、
前記コンピュータが、前記対象要素に含まれている対象ラベル文字列に対応するテキストを文書データから成る文書データベースから検索することに用いられるクエリを生成し、
前記コンピュータが、生成されたクエリに基づいて前記文書データベースを検索することにより前記対象要素に対応するテキスト情報を取得し、
前記コンピュータが、取得されたテキストに対応する対象テキストベクトルを、言語モデルである対象言語モデルに基づいて生成し、
前記コンピュータが、前記対象ベクトル表現と、前記対象テキストベクトルとに基づいて前記埋め込みベクトルを生成する学習方法。
【請求項8】
コンピュータが、知識グラフである対象知識グラフに含まれている2つのエンティティと1つのリレーションとから成る三つ組みの各要素を対象要素としたとき、前記対象要素に対応する対象ベクトル表現と、前記対象要素に対応するテキスト情報とに基づいて前記対象要素に対応する埋め込みベクトルを生成し、生成した埋め込みベクトルに基づいて前記対象知識グラフに対応する知識グラフ埋め込み表現を学習
し、
前記コンピュータが、前記対象要素に含まれている対象ラベル文字列に対応するテキストを、入力されたテキストに対応する説明を出力する説明モデルに対して生成させることに用いられるプロンプトを生成し、
前記コンピュータが、生成されたプロンプトを前記説明モデルに入力して前記対象要素に対応するテキスト情報を取得し、
前記コンピュータが、取得されたテキストに対応する対象テキストベクトルを、言語モデルである対象言語モデルに基づいて生成し、
前記コンピュータが、前記対象ベクトル表現と、前記対象テキストベクトルとに基づいて前記埋め込みベクトルを生成する学習方法。
【請求項9】
知識グラフである対象知識グラフに含まれている2つのエンティティと1つのリレーションとから成る三つ組みの各要素を対象要素としたとき、前記対象要素に対応する対象ベクトル表現と、前記対象要素に対応するテキスト情報とに基づいて前記対象要素に対応する埋め込みベクトルを生成し、生成した埋め込みベクトルに基づいて前記対象知識グラフに対応する知識グラフ埋め込み表現を学習する埋込学習処理
と、
前記対象要素に含まれている対象ラベル文字列に対応するテキストを文書データから成る文書データベースから検索することに用いられるクエリを生成する文字列生成処理と、
生成されたクエリに基づいて前記文書データベースを検索することにより前記対象要素に対応するテキスト情報を取得する検索処理と、
取得されたテキストに対応する対象テキストベクトルを、言語モデルである対象言語モデルに基づいて生成する特徴抽出処理と
をコンピュータである学習装置に実行させる学習プログラム
であって、
前記埋込学習処理では、前記対象ベクトル表現と、前記対象テキストベクトルとに基づいて前記埋め込みベクトルを生成する学習プログラム。
【請求項10】
知識グラフである対象知識グラフに含まれている2つのエンティティと1つのリレーションとから成る三つ組みの各要素を対象要素としたとき、前記対象要素に対応する対象ベクトル表現と、前記対象要素に対応するテキスト情報とに基づいて前記対象要素に対応する埋め込みベクトルを生成し、生成した埋め込みベクトルに基づいて前記対象知識グラフに対応する知識グラフ埋め込み表現を学習する埋込学習処理
と、
前記対象要素に含まれている対象ラベル文字列に対応するテキストを、入力されたテキストに対応する説明を出力する説明モデルに対して生成させることに用いられるプロンプトを生成する文字列生成処理と、
生成されたプロンプトを前記説明モデルに入力して前記対象要素に対応するテキスト情報を取得する検索処理と、
取得されたテキストに対応する対象テキストベクトルを、言語モデルである対象言語モデルに基づいて生成する特徴抽出処理と
をコンピュータである学習装置に実行させる学習プログラム
であって、
前記埋込学習処理では、前記対象ベクトル表現と、前記対象テキストベクトルとに基づいて前記埋め込みベクトルを生成する学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、学習装置、学習方法、及び学習プログラムに関する。
【背景技術】
【0002】
知識グラフは、現実世界の知識を計算機が読み取りやすい形で記述する一つの手段である。知識グラフにより表現された知識は、検索システム及び対話システムなど様々な用途に応用することが可能である。具体例として、顧客に対する商品の推薦システムに知識グラフが用いられている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1は、エンティティ・リレーションをベクトル空間に埋め込む際に、外部データベースを検索して互いに等価が逆関係にあるリレーションを特定し、特定したリレーションに基づいてエンティティ・リレーションの組み合わせの数を増強させる技術を開示している。しかしながら、当該技術には、エンティティ・リレーションにテキストなどの補助情報が付随する場合に、テキストなどの補助情報を埋込表現の学習に用いることができないという課題がある。
本開示は、エンティティ・リレーションに対応するテキスト情報を活用することにより、知識グラフ埋め込みの表現力を向上させることを目的とする。
【課題を解決するための手段】
【0005】
本開示に係る学習装置は、
知識グラフである対象知識グラフに含まれている2つのエンティティと1つのリレーションとから成る三つ組みの各要素を対象要素としたとき、前記対象要素に対応する対象ベクトル表現と、前記対象要素に対応するテキスト情報とに基づいて前記対象要素に対応する埋め込みベクトルを生成し、生成した埋め込みベクトルに基づいて前記対象知識グラフに対応する知識グラフ埋め込み表現を学習する埋込学習部
を備える。
【発明の効果】
【0006】
本開示によれば、三つ組みの各要素を対象要素としたとき、埋込学習部が、対象要素に対応する対象ベクトル表現と、対象要素に対応するテキスト情報とに基づいて対象要素に対応する埋め込みベクトルを生成し、生成した埋め込みベクトルに基づいて知識グラフ埋め込み表現を学習する。ここで、三つ組みは、対象知識グラフに含まれている2つのエンティティと1つのリレーションとから成る。
従って、本開示によれば、エンティティ・リレーションに対応するテキスト情報を活用することにより、知識グラフ埋め込みの表現力を向上させることができる。
【図面の簡単な説明】
【0007】
【
図1】実施の形態1に係る情報処理システム90の構成例を示す図。
【
図2】実施の形態1に係る学習装置100の構成例を示す図。
【
図3】実施の形態1に係る三つ組みD1の具体例を示す図。
【
図4】実施の形態1に係る三つ組みD1の具体例を示す図。
【
図5】実施の形態1に係る学習装置100のハードウェア構成例を示す図。
【
図6】実施の形態1に係る学習装置100の動作を示すフローチャート。
【
図7】実施の形態1の変形例に係る学習装置100のハードウェア構成例を示す図。
【
図8】実施の形態2に係る情報処理システム91の構成例を示す図。
【
図9】実施の形態2に係る学習装置101の構成例を示す図。
【
図10】実施の形態2に係る学習装置101の動作を示すフローチャート。
【
図11】実施の形態3に係る情報処理システム92の構成例を示す図。
【
図12】実施の形態3に係る学習装置102の構成例を示す図。
【
図13】実施の形態3に係る取得部160の処理を説明する図であり、(a)はクエリD9を生成する処理を説明する図、(b)はプロンプトD10を生成する処理を説明する図。
【
図14】実施の形態3に係る学習装置102の動作を示すフローチャート。
【発明を実施するための形態】
【0008】
実施の形態の説明及び図面において、同じ要素及び対応する要素には同じ符号を付している。同じ符号が付された要素の説明は、適宜に省略又は簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。また、「部」を、「回路」、「工程」、「手順」、「処理」又は「サーキットリー」に適宜読み替えてもよい。
【0009】
実施の形態1.
以下、本実施の形態について、図面を参照しながら詳細に説明する。
【0010】
***構成の説明***
図1は、実施の形態1に係る情報処理システム90の構成例を示している。情報処理システム90は、学習装置100と、三つ組みDB200と、文書DB300と、言語モデル400とを備える。DBはデータベースの略記である。
情報処理システム90は、知識グラフ埋め込み表現を学習する機能を有する。情報処理システム90は、具体例として、論文の本文から当該論文の著者を見つけ出すような、リンク予測などの知識グラフ補完タスクに用いられてもよい。
後述するように、情報処理システム90は、知識グラフ内のエンティティとリレーションとから成る三つ組みを用いて知識グラフ埋め込み表現を学習する。知識グラフ埋め込み表現の学習時に、三つ組み内の要素に対応するテキストが存在する場合に当該テキストが用いられる。情報処理システム90により学習された知識グラフは、具体例として、商品若しくはサービスなどの推薦システム、検索システム、対話システム、質問応答システム、又は意思決定支援システムなどに用いられる。
【0011】
図2は、実施の形態1に係る学習装置100の構成例を示している。
学習装置100は、データ受領部110と、取得部120と、訓練部130と、記憶部140とを備える。
【0012】
データ受領部110は、三つ組みDB200から三つ組みD1を受領し、受領した三つ組みD1内に含まれている任意の要素を要素D2として取得し、取得した要素D2のベクトル表現D3を取得する機能を有する。
三つ組みD1は、知識グラフに含まれている2つのエンティティに当たるヘッドh及びテールtと、2つのエンティティに対応する1つのリレーションrとの組み合わせを示すデータである。即ち、三つ組みD1は、知識グラフである対象知識グラフに含まれている2つのエンティティと1つのリレーションとから成る。三つ組みD1は、<h,r,t>という形式で通常表される。
要素D2は、三つ組みD1に含まれている要素から選択された要素である。即ち、要素D2はhとrとtとのいずれかを示す。
三つ組みD1及び要素D2の具体例について、
図3及び
図4を用いて説明する。
【0013】
図3は、データ受領部110が受領する各三つ組みD1の一例を示している。
各三つ組みD1は、前述した通り、ヘッドhとテールtとリレーションrとから成る。三つ組みD1において、ヘッドhとテールtとリレーションrとの各々の要素を表すラベル文字列が格納されている。具体例として、<Bob,is_born_on,14 July 1990>という三つ組みは、「Bobは1990年7月14日に誕生した」という事実を表す。
データ受領部110は、三つ組みD1の中から任意の要素を選択し、選択した要素を要素D2に格納する。即ち、前述の具体例に関して、要素D2に格納される値は、「Bob」と「is_born_on」と「14 July 1990」とのいずれかである。
【0014】
図4は、データ受領部110が受領する三つ組みD1の別の具体例を示している。
三つ組みD1に含まれているヘッドhとテールtとリレーションrとの各々に格納されている値は、必ずしも各要素を表すラベル文字列であるとは限らない。具体例として、E0001など、IDのような計算機内部において扱いやすいような形式に各要素が変換されている場合もある。このような場合において、データ受領部110には、三つ組みD1として、三つ組みを示す各IDとともに、IDとラベルとの対応表が入力される。このとき、データ受領部110は、入力された対応表を用いて各IDをラベルに対応付けることにより、三つ組みの各要素をラベル文字列に復元する処理を実行する。
【0015】
データ受領部110が取得するベクトル表現D3は、構造的なベクトル表現に当たり、要素D2に対応するベクトル表現に当たる。ベクトル表現D3は、要素D2を表す任意の次元の実数値ベクトルとして表される。
データ受領部110は、要素D2に対応するベクトル表現が存在するか否かを記憶部140に問い合わせる。データ受領部110は、要素D2に対応するベクトル表現が存在する場合に、存在するベクトル表現をベクトル表現D3とする。一方、データ受領部110は、要素D2に対応するベクトル表現が存在しない場合に、任意の初期化手法によって実数値ベクトルを生成し、生成した実数値ベクトルをベクトル表現D3とする。ここで、データ受領部110は、一様分布に従う乱数によって実数値ベクトルを生成してもよく、一様分布の代わりに正規分布を用いてもよい。ただし、初期化手法は本開示の本質的な特徴ではない。
データ受領部110は、要素D2を取得部120に出力し、ベクトル表現D3を訓練部130に出力する。
【0016】
取得部120は、データ受領部110から入力された要素D2に対応するテキストD4を文書DB300から取得する機能を有する。取得部120は、要素D2に対応するテキスト情報が文書DB300に存在するか否かを判定する機能を有してもよい。文書DB300は、文書データから成るデータベースである。
要素D2に対応するテキストD4は、要素D2に対応するテキスト情報に当たり、具体例として、要素D2の説明に当たるテキスト、又は要素D2の補足情報に当たるテキストである。具体例として、要素D2が
図3に示す「The Mona Lisa」である場合、要素D2に対応するテキストD4は、モナリザがどのような絵画であるか説明するテキストである。なお、要素D2に対応するテキストD4が文書DB300内に存在するとは限らない。要素D2に対応するテキストD4は、要素D2に付随するテキストであることもある。
実施の形態1において、取得部120は、情報取得部121を備える。
【0017】
情報取得部121は、対象要素に対応するテキストD4を文書DB300から取得する。対象要素は、三つ組みD1の各要素D2である。
具体例として、情報取得部121は、データ受領部110から入力された要素D2に対応するテキストD4を、文書DB300から取得する。この際、要素D2に対応するテキストが文書DB300内に存在しなかった場合、テキストD4にはテキストの代わりに、テキストが存在しないことを表す値が格納される。格納される値は、Nullなどの特殊文字でもよい。ただし、格納される値は本開示の本質的な特徴ではない。
情報取得部121は、取得したテキストD4を特徴抽出部131に出力する。
【0018】
訓練部130は、データ受領部110が出力したベクトル表現D3と、情報取得部121が出力したテキストD4をベクトル化したテキストベクトルD5とを結合させることによって、要素D2に対応する埋め込みベクトルD6を作成する機能を有する。
実施の形態1において、訓練部130は、特徴抽出部131と、埋込学習部132とを備える。
【0019】
特徴抽出部131は、情報取得部121によって取得されたテキストD4に対応する対象テキストベクトルを対象言語モデルに基づいて生成する。対象テキストベクトルはテキストベクトルD5に当たる。対象言語モデルは言語モデル400に当たる。
具体例として、特徴抽出部131は、情報取得部121が出力したテキストD4を、言語モデル400に基づいてベクトル化することにより、テキストベクトルD5を抽出する機能を有する。
言語モデル400は、Bag оf Words又はTF-IDF(Term Frequency-Inverse Document Frequency)などの古典的なものを利用したモデルであってもよく、BERT(Bidirectional Encoder Representations frоm Transformers)などの深層ニューラルネットワークを用いたモデルであってもよい。
前述した通り、情報取得部121が出力するテキストD4には、テキストが存在しないことを表す特殊な値が格納されている場合がある。特徴抽出部131は、特殊な値がテキストD4に格納されていた場合、言語モデル400によるベクトル化処理を行わず、テキストベクトルD5に、テキストベクトルが存在しないことを表す特殊な値を格納する。格納される値はNullなどの特殊文字であってもよい。ただし、格納される値は本開示の本質的な特徴ではない。
特徴抽出部131は、テキストベクトルD5を埋込学習部132に出力する。
【0020】
埋込学習部132は、対象要素に対応する対象ベクトル表現と、対象要素に対応するテキスト情報とに基づいて対象要素に対応する埋め込みベクトルD6を生成し、生成した埋め込みベクトルD6に基づいて対象知識グラフに対応する知識グラフ埋め込み表現を学習する。具体的には、埋込学習部132は、対象ベクトル表現と、対象テキストベクトルとに基づいて埋め込みベクトルD6を生成する。対象ベクトル表現はベクトル表現D3に当たる。埋込学習部132は、対象要素に対応するテキスト情報が文書DB300に存在しない場合に、対象ベクトル表現を埋め込みベクトルD6とする。埋込学習部132は、対象ベクトル表現と対象テキストベクトルとの間において次元数を一致させ、次元数を一致させた後における対象ベクトル表現と対象テキストベクトルとを結合することにより埋め込みベクトルD6を生成してもよい。
具体例として、埋込学習部132は、データ受領部110が出力したベクトル表現D3と、特徴抽出部131が出力したテキストベクトルD5とを入力とし、要素D2に対応する埋め込みベクトルD6を学習する機能を有する。
埋込学習部132の処理は、テキストベクトルD5に、テキストベクトルが存在しないことを表す特殊な値が格納されているか否かによって異なる。
【0021】
テキストベクトルが存在している、即ち、テキストベクトルD5に格納されている値が、テキストベクトルが存在しないことを表す特殊な値以外である場合における埋込学習部132の処理を説明する。
まず、埋込学習部132は、次元調節処理を実行することにより、テキストベクトルD5の次元数と、ベクトル表現D3の次元数とを一致させる。具体例として、ベクトル表現D3の次元数が200であり、かつテキストベクトルD5の次元数が768である場合、埋込学習部132は、ベクトル表現D3の次元数を768まで増加させる操作、又はテキストベクトルD5の次元数を200まで削減する操作を実行する。次元調節処理において、埋込学習部132は、主成分分析などの次元調節手法を用いてもよく、ニューラルネットワークを用いてもよい。
次に、埋込学習部132は、結合処理を実行する、即ち次元を調節した後におけるベクトル表現D3とテキストベクトルD5とを結合することにより埋め込みベクトルD6を作成する。ここで、埋め込みベクトルD6は要素D2に対応するベクトル表現である。結合処理において、埋込学習部132は、ベクトル表現D3とテキストベクトルD5との要素ごとの和を算出し、算出した各和から成るベクトルを埋め込みベクトルD6としてもよい。また、埋込学習部132は、2つのニューラルネットワークにベクトル表現D3とテキストベクトルD5とをそれぞれ入力し、出力されたベクトルを埋め込みベクトルD6としてもよい。
【0022】
埋込学習部132は、テキストベクトルD5に格納されている値がテキストベクトルが存在しないことを表す特殊な値であった場合、前述の次元調節処理と結合処理とを実行せず、ベクトル表現D3をそのまま埋め込みベクトルD6とする。即ち、要素D2に対応するテキストが文書DB300に存在しない場合、要素D2に対応するベクトル表現D3が、要素D2に対応する埋め込みベクトルD6とされる。
【0023】
埋込学習部132は、三つ組みD1に含まれる全ての要素(hとrとt)の各々に対応する埋め込みベクトルD6が得られた場合、得られた埋め込みベクトルD6を用いて任意の公知の知識グラフ埋込学習アルゴリズムを用いてスコアを計算する。
埋込学習部132、具体例として、知識グラフ埋込学習アルゴリズムとしてTransEを用いる場合、[数1]を用いてスコアを計算する。
【0024】
【0025】
[数1]の右辺のhとrとtとの各々は、埋込学習部132によって得られたベクトル表現である。
埋込学習部132は、三つ組みD1に対するスコアが得られた場合、任意の知識グラフ埋込学習アルゴリズムにより、誤差及び勾配などを計算する。計算された誤差と勾配とスコアとベクトル表現との各々は、記憶部140に記憶される。
なお、本実施の形態に係る学習は、ヘッドhに対応する埋め込みベクトルD6であるh1と、リレーションrに対応する埋め込みベクトルD6であるr1と、テールtに対応する埋め込みベクトルD6であるt1とをそれぞれ生成し、生成したh1とr1とt1とを用いて計算したスコア値が最適値に近くなるようにh1とr1とt1との各々の表現を調整するプロセスである。
【0026】
記憶部140は、埋込学習部132が学習した埋め込みベクトルD6と、埋込学習部132によって生成された埋め込み表現とモデルの各種パラメータなどを記憶する機能を有する。
記憶部140は、ROM(Read Only Memory)又はハードディスクなどの記憶装置により実現される。
記憶部140は、1つのサーバ、又はクラウド上に分散配置された複数のサーバで実現されてもよく、エッジの記憶装置の一部として実現されてもよい。
各埋め込みベクトルD6は、データ受領部110によって受領された要素D2と対応付けられた形で記憶部140に記憶される。
三つ組みDB200に含まれる全ての三つ組みに関してベクトル表現が学習された場合、任意の要素に対応するベクトル表現を、記憶部140を介して獲得することができる。獲得されたベクトル表現は、特にリンク予測(Link Prediction)及びエンティティ・アラインメント(Entity Alignment)などの知識グラフ補完のための主要な下流タスクに応用することができる。
【0027】
図5は、本実施の形態に係る学習装置100のハードウェア構成例を示している。学習装置100はコンピュータから成る。学習装置100は複数のコンピュータから成ってもよい。
【0028】
学習装置100は、本図に示すように、プロセッサ11と、メモリ12と、補助記憶装置13と、入出力IF(Interface)14と、通信装置15などのハードウェアを備えるコンピュータである。これらのハードウェアは、信号線19を介して適宜接続されている。
【0029】
プロセッサ11は、演算処理を行うIC(Integrated Circuit)であり、かつ、コンピュータが備えるハードウェアを制御する。プロセッサ11は、具体例として、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、又はGPU(Graphics Processing Unit)である。
学習装置100は、プロセッサ11を代替する複数のプロセッサを備えてもよい。複数のプロセッサはプロセッサ11の役割を分担する。
【0030】
メモリ12は、典型的には揮発性の記憶装置であり、具体例としてRAM(Random Access Memory)である。メモリ12は、主記憶装置又はメインメモリとも呼ばれる。メモリ12に記憶されたデータは、必要に応じて補助記憶装置13に保存される。
【0031】
補助記憶装置13は、典型的には不揮発性の記憶装置であり、具体例として、ROM(Read Only Memory)、HDD(Hard Disk Drive)、又はフラッシュメモリである。補助記憶装置13に記憶されたデータは、必要に応じてメモリ12にロードされる。
メモリ12及び補助記憶装置13は一体的に構成されていてもよい。
【0032】
入出力IF14は、入力装置及び出力装置が接続されるポートである。入出力IF14は、具体例として、USB(Universal Serial Bus)端子である。入力装置は、具体例として、キーボード及びマウスである。出力装置は、具体例として、ディスプレイである。
【0033】
通信装置15は、レシーバ及びトランスミッタである。通信装置15は、具体例として、通信チップ又はNIC(Network Interface Card)である。
【0034】
学習装置100の各部は、他の装置などと通信する際に、入出力IF14及び通信装置15を適宜用いてもよい。
【0035】
補助記憶装置13は学習プログラムを記憶している。学習プログラムは、学習装置100が備える各部の機能をコンピュータに実現させるプログラムである。学習プログラムは、メモリ12にロードされて、プロセッサ11によって実行される。学習装置100が備える各部の機能は、ソフトウェアにより実現される。
【0036】
学習プログラムを実行する際に用いられるデータと、学習プログラムを実行することによって得られるデータなどは、記憶装置に適宜記憶される。学習装置100の各部は記憶装置を適宜利用する。記憶装置は、具体例として、メモリ12と、補助記憶装置13と、プロセッサ11内のレジスタと、プロセッサ11内のキャッシュメモリとの少なくとも1つから成る。なお、データという用語と情報という用語とは同等の意味を有することもある。記憶装置は、コンピュータと独立したものであってもよい。
メモリ12及び補助記憶装置13の機能は、他の記憶装置によって実現されてもよい。
【0037】
学習プログラムは、コンピュータが読み取り可能な不揮発性の記録媒体に記録されていてもよい。不揮発性の記録媒体は、具体例として、光ディスク又はフラッシュメモリである。学習プログラムは、プログラムプロダクトとして提供されてもよい。
【0038】
***動作の説明***
学習装置の動作手順は学習方法に相当する。また、学習装置の動作を実現するプログラムは学習プログラムに相当する。
【0039】
図6は、学習装置100の動作の一例を示すフローチャートである。
図6を用いて学習装置100の動作を説明する。
【0040】
(ステップS1)
データ受領部110は、学習用データとして、三つ組みD1を三つ組みDB200から取得する。
【0041】
(ステップS2)
データ受領部110は、取得した三つ組みD1に含まれている任意の要素(h、r、又はt)を要素D2として取得する。
【0042】
(ステップS3)
データ受領部110は、要素D2に対応するベクトル表現が存在するか否かを判定する。データ受領部110は、要素D2に対応するベクトル表現が存在すると判定した場合にステップS4に進み、要素D2に対応するベクトル表現が存在しないと判定した場合にステップS5に進む。
【0043】
(ステップS4)
データ受領部110は、要素D2に対応するベクトル表現D3を、記憶媒体(図示せず)から読み込み取得する。
【0044】
(ステップS5)
データ受領部110は、要素D2に対応するベクトル表現D3を、任意のベクトル初期化手法を用いて生成する。
【0045】
(ステップS6)
情報取得部121は、要素D2に対応するテキストD4を、文書DB300から取得する。なお、要素D2に対応するテキストが文書DB300に存在しない場合、情報取得部121は、対応するテキストが存在しないことを表す特殊な値をテキストD4に格納する。
【0046】
(ステップS7)
情報取得部121は、要素D2に対応するテキストがテキストD4に格納されているか否かを判定する。情報取得部121は、要素D2に対応するテキストがテキストD4に格納されていると判定した場合にステップS8に進み、要素D2に対応するテキストがテキストD4に格納されていないと判定した場合にステップS11に進む。
【0047】
(ステップS8)
特徴抽出部131は、テキストD4に格納されているテキストを言語モデル400によってベクトル化することによりテキストベクトルD5を取得する。
【0048】
(ステップS9)
埋込学習部132は、要素D2に対応するベクトル表現D3の次元数と、要素D2に対応するテキストベクトルD5の次元数とのいずれかを調節することにより、ベクトル表現D3の次元数とテキストベクトルD5の次元数とをそろえる。
【0049】
(ステップS10)
埋込学習部132は、要素D2に対応するベクトル表現D3と、要素D2に対応するテキストベクトルD5を結合することにより、要素D2に対応する最終的な埋め込みベクトルD6を生成する。
【0050】
(ステップS11)
埋込学習部132は、要素D2に対応する最終的な埋め込みベクトルD6として、要素D2に対応するベクトル表現D3を用いる。
【0051】
(ステップS12)
埋込学習部132は、未処理の要素が存在するか否かを判定する。埋込学習部132は、未処理の要素が存在すると判定した場合にステップS2に戻り、未処理の要素が存在しないと判定した場合にステップS13に進む。
【0052】
(ステップS13)
埋込学習部132は、三つ組みD1の要素(hとrとt)それぞれに関して得られたベクトル表現を用いて誤差計算及び勾配計算などの処理を行うことにより、知識グラフ埋め込みモデルのパラメータ更新を行う。
【0053】
(ステップS14)
埋込学習部132は、未処理の三つ組みが存在するか否かを判定する。埋込学習部132は、未処理の三つ組みが存在すると判定した場合にステップS1に戻り、未処理の三つ組みが存在しないと判定した場合にステップS15に進む。
【0054】
(ステップS15)
記憶部140は、更新されたモデル及びパラメータを記憶する。
【0055】
***実施の形態1の効果の説明***
以上のような動作により、実施の形態1に係る学習装置100は、三つ組みに含まれている任意の要素のベクトル表現を生成する際に、エンティティ・リレーションの構造的情報と、それらに対応するテキスト情報とを組み合わせて埋め込み表現を学習する。そのため、本実施の形態によれば、知識グラフ埋め込みの表現力を向上させることができ、リンク予測及びエンティティ・アラインメントなどの知識グラフ補完のための主要なタスクの性能を向上させることができる。
【0056】
また、実施の形態1に係る学習装置100は、三つ組みに含まれる任意の要素のベクトル表現を生成する際に、各要素を説明するテキストが存在しない場合に、各要素の構造的なベクトル表現のみを用いて学習する。そのため、本実施の形態によれば、全ての要素にテキストの補助情報が対応していないような知識グラフにおいても、リンク予測及びエンティティ・アラインメントなどの精度を向上させることができる。
【0057】
***他の構成***
<変形例1>
図7は、本変形例に係る学習装置100のハードウェア構成例を示している。
学習装置100は、プロセッサ11、プロセッサ11とメモリ12、プロセッサ11と補助記憶装置13、あるいはプロセッサ11とメモリ12と補助記憶装置13とに代えて、処理回路18を備える。
処理回路18は、学習装置100が備える各部の少なくとも一部を実現するハードウェアである。
処理回路18は、専用のハードウェアであってもよく、また、メモリ12に格納されるプログラムを実行するプロセッサであってもよい。
【0058】
処理回路18が専用のハードウェアである場合、処理回路18は、具体例として、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)又はこれらの組み合わせである。
学習装置100は、処理回路18を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路18の役割を分担する。
【0059】
学習装置100において、一部の機能が専用のハードウェアによって実現されて、残りの機能がソフトウェア又はファームウェアによって実現されてもよい。
【0060】
処理回路18は、具体例として、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせにより実現される。
プロセッサ11とメモリ12と補助記憶装置13と処理回路18とを、総称して「プロセッシングサーキットリー」という。つまり、学習装置100の各機能構成要素の機能は、プロセッシングサーキットリーにより実現される。
他の実施の形態に係る学習装置についても、本変形例と同様の構成であってもよい。
【0061】
実施の形態2.
以下、主に前述した実施の形態と異なる点について、図面を参照しながら説明する。
実施の形態2では、実施の形態1の構成から文書DB300を削除し、実施の形態1の構成に加えて、三つ組みに含まれる任意の要素に直接割り当てられた文字列に対して正規化処理を施す文字列生成部152を加えた構成について説明する。
ある要素に対応するテキストの総量が著しく少ない場合、テキストの情報を十分に活用した学習を実行することができない場合がある。実施の形態2に係る学習装置101は、三つ組みに含まれている任意の要素に直接割り当てられたラベルを取得し、取得したラベルに対して正規化処理を施し、正規化処理を施したラベルを言語モデルによりベクトル化する処理を実行する。この処理により、ある要素に対応するテキストの総量が著しく少ない場合であっても、ラベルに含まれたエンティティ・リレーションを表すラベル情報を活用し、知識グラフ埋め込みの表現力を向上させ、リンク予測精度を向上させることができる。
【0062】
***構成の説明***
図8は、実施の形態2に係る情報処理システム91の構成例を示している。
情報処理システム91の構成は、実施の形態1に係る文書DB300を持たないこと以外、実施の形態1に係る情報処理システム90の構成と同様である。
【0063】
図9は、実施の形態2に係る学習装置101の構成例を示している。
学習装置101は、データ受領部110と、取得部150と、訓練部130と、記憶部140とを備える。
データ受領部110と、訓練部130と、記憶部140との各々については、実施の形態1と同様である。
【0064】
取得部150は、データ受領部110から入力された要素D2に対して直接割り当てられているラベル文字列D7を取得し、取得したラベル文字列D7に対して文字列正規化処理を施すことにより正規化済みラベル文字列D8を生成し、生成した正規化済みラベル文字列D8を出力する機能を有する。
実施の形態2において、取得部150は、情報取得部151と、文字列生成部152とを備える。
【0065】
情報取得部151は、データ受領部110から入力された要素D2に対して直接割り当てられているラベル文字列D7を取得する。
データ受領部110から入力された要素D2には、要素D2を表す文字列が格納されている。即ち、データ受領部110に入力された三つ組みが<Tokyo,is_capital_of,Japan>であり、これらのうち要素「Tokyo」が選択された場合、要素D2に格納されている文字列は「Tokyo」である。従って、情報取得部151の実質的な機能は、ラベル文字列D7に対して要素D2の値を代入する機能に過ぎない。
【0066】
文字列生成部152は、対象ラベル文字列に対して正規化処理を施すことにより正規化済みラベル文字列D8を生成する。正規化済みラベル文字列D8は、対象要素に対応するテキスト情報に当たる。対象ラベル文字列はラベル文字列D7に当たる。
具体例として、文字列生成部152は、情報取得部151から入力されたラベル文字列D7に対して文字列正規化処理を施すことにより正規化済みラベル文字列D8を生成し、生成した正規化済みラベル文字列D8を特徴抽出部131に出力する。
文字列生成部152は、文字列正規化処理として、ラベル文字列D7に含まれているアンダースコア記号の削除、「is」及び「оf」などの頻出単語の削除などを実行する。具体例として、ラベル文字列D7に格納されている文字列が「is_capital_of」であったとき、正規化済みラベル文字列D8に格納される文字列は、アンダースコア記号の削除が実行されることによって「is capital of」となり、頻出単語の削除によって「capital」となる。なお、本例は正規化処理の一例に過ぎない。ただし、文字列正規化処理の具体的な方法は本開示の本質的な特徴ではない。
なお、文字列生成部152は、文字列正規化処理を行わなくてもよい。即ち、ラベル文字列D7の値をそのまま正規化済みラベル文字列D8としてもよい。
【0067】
本実施の形態に係る特徴抽出部131は、文字列生成部152によって生成された正規化済みラベル文字列D8に対応する対象テキストベクトルを対象言語モデルに基づいて生成する。
【0068】
***動作の説明***
図10は、学習装置101の動作の一例を示すフローチャートである。
図10を用いて学習装置101の動作を説明する。
図10に示す処理では、ステップS6とステップS7とステップS11とが実行されない。また、
図10に示す処理では、
図6に示す処理と異なり、ステップS6a及びステップS6bが実行される。そのため、
図10に関してステップS6a及びステップS6bを説明する。
図10に示す他のステップについては、
図6に示すステップ番号と同じステップ番号を付することによって処理の説明を省略する。
【0069】
(ステップS6a)
情報取得部151は、データ受領部110から入力された要素D2に直接割り当てられているラベル文字列を取得し、取得したラベル文字列をラベル文字列D7に格納する。
【0070】
(ステップS6b)
文字列生成部152は、情報取得部151から入力されたラベル文字列D7に対して文字列正規化処理を施すことにより正規化済みラベル文字列を生成し、生成した正規化済みラベル文字列を正規化済みラベル文字列D8に格納する。
【0071】
***実施の形態2の効果の説明***
実施の形態2に係る学習装置101は、要素に対応するテキストとして、要素のラベルを代用する。そのため、本実施の形態によれば、文書DB300と紐づく要素がない知識グラフ、又は文書DB300と紐づく要素が極端に少ない知識グラフについても、リンク予測及びエンティティ・アラインメントなどの下流タスクの精度を向上させることができる。
【0072】
実施の形態3.
以下、主に前述した実施の形態と異なる点について、図面を参照しながら説明する。
実施の形態3では、実施の形態1の構成に対して、文字列生成部162と、検索部163と、説明モデル500とを加えた構成について説明する。
ある要素に対応するテキストの総量が著しく少ない場合、テキストの情報を十分に活用した学習を実行することができない場合がある。さらに、各要素のラベルは、前述した具体例の通り「Tokyo」又は「capital」などであることが多い。ここで、これらのようなラベルから得られる情報は限定的である。
実施の形態3に係る学習装置102は、三つ組みに含まれている任意の要素に直接割り当てられたラベルを取得し、取得したラベルに関連するテキストを検索する処理、あるいは取得したラベルを説明するようなテキストを説明モデル500によって獲得する処理を実行する。これらの処理により、ある要素に対応するテキストの総量が著しく少ない知識グラフであって、かつ当該ある要素のラベルから得られる情報が限定的である場合であっても、知識グラフ埋め込みの表現力を向上させることができ、リンク予測及びエンティティ・アラインメントなどの下流タスクの精度を向上させることができる。
【0073】
***構成の説明***
図11は、実施の形態3に係る情報処理システム92の構成例を示している。
情報処理システム92は、実施の形態1に係る情報処理システム90が備える構成要素に加えて、説明モデル500を備える。
【0074】
説明モデル500は、入力データを受け付けると、受け付けた入力データに基づいて、入力データに対応する出力データを出力する。説明モデル500は、入力されたテキストに対応する説明を出力するモデルである。説明モデル500は、生成AI(Artificial Intelligence)であってもよい。
説明モデル500は、具体例として、教師あり学習と強化学習と教師なし学習とのいずれかによって機械学習されたモデルである。説明モデル500は、具体例として、深層学習、遺伝的プログラム、機能論理プログラム、又はその他の公知のアルゴリズム若しくは方法に従って学習を実行して得られたモデルである。また、説明モデル500は、具体例として、NN(Neural Network)モデル、CNN(Convolutional Neural Network)モデル、RNN(Recurrent Neural Network)、VAE(Variational Autoencoder)、GAN(Generative Adversarial Networks)、拡散モデル(Diffusion model)、Transformerモデル、LLM(Large Language Model)、VLM(Visual Language Model)、BERT、GPT(Generative Pre-trained Transformer)、又はCLIP(Contrastive Language-Image Pre-training)と呼ばれるモデルであってもよい。また、説明モデル500は、予め決められたテーブルを参照したり、予め決められた条件に基づいて判定を行ったりすることにより出力結果を得るルールベースで記述されるモデルであってもよい。
なお、前述したモデルは排他的なものとは限らない。具体例として、LLMとVLMとBERTとGPTとの各々は、Transformerモデルに含まれる。また、具体例として、Transformerモデルは、NNモデルに含まれる。また、学習アルゴリズム及びモデルの各々は、複数の種類を組み合わせたものであってもよい。モデルには、複数の異なる種類のデータを組み合わせて学習したマルチモーダルモデルと呼ばれるものも含まれる。
【0075】
図12は、実施の形態3に係る学習装置102の構成例を示している。
学習装置102は、データ受領部110と、取得部160と、訓練部130と、記憶部140とを備える。
データ受領部110と、訓練部130と、記憶部140との各々については実施の形態1と同様である。
【0076】
取得部160は、データ受領部110から入力された要素D2に直接割り当てられているラベル文字列D7を取得し、取得したラベル文字列D7に関連するテキストを検索するクエリD9、あるいは取得したラベル文字列を説明するようなテキストを出力させるプロンプトD10を作成し、作成したクエリD9あるいはプロンプトD10によってテキストを検索しあるいは生成し、得られたテキストD11を出力する機能を有する。
実施の形態3において、取得部160は、情報取得部161と、文字列生成部162と、検索部163とを備える。
情報取得部161については実施の形態2と同様である。
【0077】
文字列生成部162は、対象要素に含まれている対象ラベル文字列に対応するテキストD11を文書DB300から検索することに用いられるクエリD9を生成する。文字列生成部162は、対象要素に含まれている対象ラベル文字列に対応するテキストD11を説明モデル500に対して生成させることに用いられるプロンプトD10を生成する。クエリD9は、入力されたラベル文字列D7に関連するテキストD11を検索することに用いられる。プロンプトD10は、入力されたラベル文字列D7を説明するテキストD11を説明モデル500に対して生成させることに用いられる。
具体例として、文字列生成部162は、情報取得部161からラベル文字列D7が入力されたとき、クエリD9、又はプロンプトD10を生成する。
【0078】
文字列生成部162の処理の具体例について、
図13を用いて説明する。
図13は、文字列生成部162の処理の具体例を示す概念図である。
最初に、文字列生成部162がクエリD9を生成する場合における処理の具体例を説明し、次に、文字列生成部162がプロンプトD10を生成する場合における処理の具体例を説明する。
【0079】
クエリD9が生成される場合、文字列生成部162には、情報取得部161から要素D2に対応するラベル文字列D7が入力される。文字列生成部162は、入力されたラベル文字列D7を含むテキストを検索するクエリD9を生成する。生成されたクエリD9は、検索部163を介して文書DB300に問い合わせされる。
図13の(a)に示すクエリD9は、文書DB300がHTTP(Hypertext Transfer Protocol)サーバにより実装されているとき、HTTPサーバに、文字列として「tokyo」を含むテキストをGETリクエストにより検索する場合におけるクエリD9の一例である。なお、文字列生成部162が生成するクエリD9の形式は、文書DB300の形態に応じた形式である。
【0080】
プロンプトD10が生成される場合、文字列生成部162には、情報取得部161から要素D2に対応するラベル文字列D7が入力される。文字列生成部162は、ラベル文字列D7を説明するようなテキストを生成させるプロンプトD10を生成する。生成されたプロンプトD10は、検索部163を介して説明モデル500に問い合わせされる。
図13の(b)に示すプロンプトD10は、説明モデル500がGPTなどにより構成された生成型言語モデルであるとき、生成型言語モデルに、「tokyo」という文字列を説明するようなテキストを生成させるプロンプトを入力する場合におけるプロンプトD10の一例である。なお、文字列生成部162が生成するプロンプトD10の形式及び文言は、説明モデル500の形態に応じた形式及び文言である。
【0081】
検索部163は、文字列生成部162によって生成されたクエリD9に基づいて文書DB300を検索することにより対象要素に対応するテキスト情報を取得する。検索部163は、文字列生成部162によって生成されたプロンプトD10を説明モデル500に入力して対象要素に対応するテキスト情報を取得する。
具体例として、検索部163は、文字列生成部162から入力されたクエリD9あるいはプロンプトD10を、文書DB300又は説明モデル500に入力し、得られた応答を要素D2に対応するテキストD11として特徴抽出部131に出力する。
最初に、検索部163がクエリD9を文書DB300に入力する場合における処理の具体例を説明する。次に、検索部163がプロンプトD10を説明モデル500に入力する場合における具体例を説明する。
【0082】
検索部163は、文字列生成部162が生成したクエリD9を、文書DB300に入力する。具体例として、文書DB300は、クエリD9に基づいて、ラベル文字列D7が含まれているテキストのうち1件を出力する。
出力されたテキストは、テキストD11に格納される。その後、テキストD11は特徴抽出部131に入力される。
【0083】
検索部163は、文字列生成部162が生成したプロンプトD10を、説明モデル500に入力する。具体例として、説明モデル500は、プロンプトD10に基づいて、ラベル文字列D7を説明するようなテキストを出力する。
出力されたテキストは、テキストD11に格納される。その後、テキストD11は特徴抽出部131に入力される。
【0084】
本実施の形態に係る特徴抽出部131は、検索部163によって取得されたテキストD11に対応する対象テキストベクトルを対象言語モデルに基づいて生成する。
【0085】
***動作の説明***
図14は、学習装置102の動作の一例を示すフローチャートである。
図14を用いて学習装置102の動作を説明する。
図14に示す処理では、
図10に示す処理と異なり、ステップS6c及びステップS6dが実行される。そのため、
図14に関してステップS6c及びステップS6dを説明する。
図14に示す他のステップについては、
図10に示すステップ番号と同じステップ番号を付することによって処理の説明を省略する。
【0086】
(ステップS6c)
文字列生成部162は、ラベル文字列D7に関連するテキストを検索するようなクエリD9、あるいはラベル文字列D7を説明するようなテキストを生成させるプロンプトD10を生成する。
【0087】
(ステップS6d)
検索部163は、文字列生成部162から入力されたクエリD9を文書DB300に入力する、あるいは文字列生成部162から入力されたプロンプトD10を説明モデル500に入力する。
その後、検索部163は、得られたテキストをテキストD11に格納する。
【0088】
***実施の形態3の効果の説明***
実施の形態3に係る学習装置102は、要素に対応するテキストとして、要素のラベル文字列に関連するテキストを文書DB300から検索することにより、外部リソースから要素を説明するテキストを取得する。そのため、本実施の形態によれば、リンク予測及びエンティティ・アラインメントなどの下流タスクの精度を向上させることができる。
【0089】
実施の形態3に係る学習装置102は、要素に対応するテキストとして、要素のラベル文字列を説明するようなテキストを説明モデル500に対して生成させる。そのため、本実施の形態によれば、文書DB300と紐づくような要素がない知識グラフ、あるいは文書DB300と紐づくような要素が極端に少ないような知識グラフにおいても、要素を説明するテキストを柔軟に利用することができる。また、本実施の形態によれば、リンク予測及びエンティティ・アラインメントなどの下流タスクの精度を向上させることができる。
【0090】
***他の実施の形態***
前述した各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
また、実施の形態は、実施の形態1から3で示したものに限定されるものではなく、必要に応じて種々の変更が可能である。フローチャートなどを用いて説明した手順は適宜変更されてもよい。
【符号の説明】
【0091】
11 プロセッサ、12 メモリ、13 補助記憶装置、14 入出力IF、15 通信装置、18 処理回路、19 信号線、90,91,92 情報処理システム、100,101,102 学習装置、110 データ受領部、120 取得部、121 情報取得部、130 訓練部、131 特徴抽出部、132 埋込学習部、140 記憶部、150 取得部、151 情報取得部、152 文字列生成部、160 取得部、161 情報取得部、162 文字列生成部、163 検索部、200 三つ組みDB、300 文書DB、400 言語モデル、500 説明モデル、D1 三つ組み、D2 要素、D3 ベクトル表現、D4 テキスト、D5 テキストベクトル、D6 埋め込みベクトル、D7,D8 ラベル文字列、D9 クエリ、D10 プロンプト、D11 テキスト。
【要約】
学習装置(100)は、知識グラフである対象知識グラフに含まれている2つのエンティティと1つのリレーションとから成る三つ組み(D1)の各要素を対象要素としたとき、対象要素に対応する対象ベクトル表現と、対象要素に対応するテキスト情報とに基づいて対象要素に対応する埋め込みベクトルを生成し、生成した埋め込みベクトル(D6)に基づいて対象知識グラフに対応する知識グラフ埋め込み表現を学習する埋込学習部(132)を備える。