(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024067152
(43)【公開日】2024-05-17
(54)【発明の名称】予測プログラム、情報処理装置および予測方法
(51)【国際特許分類】
G06N 5/04 20230101AFI20240510BHJP
G06N 5/022 20230101ALI20240510BHJP
【FI】
G06N5/04
G06N5/02 120
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022176995
(22)【出願日】2022-11-04
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】鵜飼 孝典
(57)【要約】
【課題】新規のデータについて、特定の項目についてTrueかFalseかを予測する際の予測コストを下げる。
【解決手段】情報処理装置1は、予測対象のグラフデータが、ナレッジグラフの埋め込みの訓練に用いられた訓練データに含まれないノード間の関係を示すノードリンクを含むデータであるか否かを判定し、前記予測対象のグラフデータが前記訓練データに含まれないノードリンクを含むデータであると判定した場合、前記予測対象のグラフデータに含まれるノードのラベルについての埋め込み予測の結果に基づいて、前記訓練データの中から、予測対象のグラフデータに類似するグラフデータを特定し、特定した前記類似するグラフデータに基づいて、前記予測対象のグラフデータに対する予測結果を決定する。かかる情報処理装置1の処理は、例えば、新規医薬品に対する副作用の予測に適用できる。
【選択図】
図5
【特許請求の範囲】
【請求項1】
ナレッジグラフの埋め込みを用いた予測プログラムであって、
予測対象のグラフデータが、ナレッジグラフの埋め込みの訓練に用いられた訓練データに含まれないノード間の関係を示すノードリンクを含むデータであるか否かを判定し、
前記予測対象のグラフデータが前記訓練データに含まれないノードリンクを含むデータであると判定した場合、前記予測対象のグラフデータに含まれるノードのラベルについての埋め込み予測の結果に基づいて、前記訓練データの中から、予測対象のグラフデータに類似するグラフデータを特定し、
特定した前記類似するグラフデータに基づいて、前記予測対象のグラフデータに対する予測結果を決定する
処理をコンピュータに実行させる予測プログラム。
【請求項2】
前記特定する処理は、前記予測対象のグラフデータに含まれるノードのラベルに、既に訓練されたノードのラベルの埋め込みベクトルを用いて、前記訓練データに含まれる複数のグラフデータとのリンク予測を行うことで、前記ノードのラベルと各グラフデータとの類似性を計算し、前記複数のグラフデータの中から最も類似するグラフデータを前記予測対象のグラフデータに類似するグラフデータとして特定する
ことを特徴とする請求項1に記載の予測プログラム。
【請求項3】
前記ノードのラベルと前記グラフデータとの類似性は、前記ノードのラベルと前記グラフデータとの距離であり、
前記予測対象のグラフデータに含まれるノードのラベルは、前記訓練データに含まれる既に訓練されたノードのラベルと同一のラベルであり、
前記特定する処理は、前記予測対象のグラフデータに含まれるノードのラベルが複数存在する場合には、複数のノードそれぞれのラベルに対する前記複数のグラフデータそれぞれとの距離を用いて、前記複数のグラフデータの中から距離が最も小さいグラフデータを特定する
ことを特徴とする請求項2に記載の予測プログラム。
【請求項4】
前記特定する処理は、前記複数のグラフデータそれぞれについて、複数のノードそれぞれのラベルとの距離の合計値を用いて、前記複数のグラフデータの中から距離の合計値が最も小さいグラフデータを特定する
ことを特徴とする請求項3に記載の予測プログラム。
【請求項5】
前記決定する処理は、前記類似するグラフデータに含まれる特定のノードのラベルに応じた値を、前記予測対象のグラフデータに対する予測結果として決定する
ことを特徴とする請求項1に記載の予測プログラム。
【請求項6】
予測対象のグラフデータが、ナレッジグラフの埋め込みの訓練に用いられた訓練データに含まれないノード間の関係を示すノードリンクを含むデータであるか否かを判定する判定部と、
前記予測対象のグラフデータが前記訓練データに含まれないノードリンクを含むデータであると判定した場合、前記予測対象のグラフデータに含まれるノードのラベルについての埋め込み予測の結果に基づいて、前記訓練データの中から、予測対象のグラフデータに類似するグラフデータを特定する特定部と、
特定した前記類似するグラフデータに基づいて、前記予測対象のグラフデータに対する予測結果を決定する決定部と、
を有することを特徴とする情報処理装置。
【請求項7】
ナレッジグラフの埋め込みを用いた予測方法であって、
予測対象のグラフデータが、ナレッジグラフの埋め込みの訓練に用いられた訓練データに含まれないノード間の関係を示すノードリンクを含むデータであるか否かを判定し、
前記予測対象のグラフデータが前記訓練データに含まれないノードリンクを含むデータであると判定した場合、前記予測対象のグラフデータに含まれるノードのラベルについての埋め込み予測の結果に基づいて、前記訓練データの中から、予測対象のグラフデータに類似するグラフデータを特定し、
特定した前記類似するグラフデータに基づいて、前記予測対象のグラフデータに対する予測結果を決定する
処理をコンピュータが実行する予測方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、予測プログラムなどに関する。
【背景技術】
【0002】
ナレッジグラフのリンク予測をするために、3つ(トリプル)のデータからなる関係情報をナレッジグラフに埋め込む技術(「TransE」という)が開示されている(例えば、非特許文献1を参照)。関係情報として、RDF(Resource Description Framework)が挙げられる。RDFは、ウェブ上の情報のメタデータを記述するためのデータ構造を示し、エンティティ、プロパティ、エンティティの3つのデータを1組としている。ここで、エンティティ、プロパティ、エンティティは、主語(subject)、述語(predicate)、目的語(object)の3つの要素を関係情報として表現される。主語(subject)、述語(predicate)、目的語(object)は、「主語の述語は目的語である」という関係性を持つ関係情報である。
【0003】
TransEは、2つのエンティティh,tがE(エンティティの集合)に属し、且つプロパティrがR(プロパティの集合)に属するようなトリプルのデータ(h,r,t)の集合Sをもとに、エンティティおよびプロパティのベクトルの埋め込みを学習する。すなわち、TransEは、(h,r,t)の3つのデータを組(トリプル)としたナレッジグラフの集合をベクトル空間上に埋め込み、機械学習の技術により、ベクトルを変換して、データ構造を得る技術である。ここでいうデータ構造は、トリプルのデータ(h,r,t)のそれぞれのベクトル表現Vh、Vr、Vtについて、Vh+VrができるだけVtと等しくなるようなデータ構造のことをいう。
【0004】
これにより、TransEにより学習されたデータ構造を用いると、Vh+Vr≒Vtのような計算ができるようになるので、Vh+Vrに対応するtを予測することができる。また、TransEにより学習されたデータ構造を用いると、Vt-Vrに対応するh、Vt-Vhに対応するrを予測することができる。
【0005】
また、埋め込みベクトルを使って、特定の項目(エンティティのラベル)についてTrueかFalseかを予測する手法には、例えば、K近傍法が挙げられる。K近傍法(k-nearest neighbor algorithm)は、特徴空間における最も近い多次元ベクトルに基づいた分類の手法である。例えば、K近傍法のアルゴリズムは、<1>Kを予め定め、<2>予測対象の新規のベクトルに最も近いベクトルをK個選択し、<3>K個のベクトルに対応する特定の項目についてのTrueまたはFalseを多数決する。これにより、予測対象の新規のベクトルを使って、特定の項目(エンティティのラベル)についてTrueかFalseかが予測できる。
【先行技術文献】
【特許文献】
【0006】
【非特許文献】
【0007】
【非特許文献1】Antonine Bordes et al ”Translating Embeddings for Modeling Multi-relational Data”
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、ナレッジグラフの埋め込みを用いる場合、新規のデータについて、特定の項目の真偽を予測するためには、新規のデータを含めた全体のデータを再度学習し直して、新規のデータのベクトルを求めなければならない。すなわち、新規のデータについて、特定の項目の真偽を予測する際、全体のデータを学習し直すコストがかかるという問題がある。
【0009】
本発明は、1つの側面では、ナレッジグラフの埋め込みを用いて新規のデータについて特定の項目の真偽を予測する際に、予測コストを下げることを目的とする。
【課題を解決するための手段】
【0010】
1つの態様では、予測プログラムが、ナレッジグラフの埋め込みを用いた予測プログラムであって、予測対象のグラフデータが、ナレッジグラフの埋め込みの訓練に用いられた訓練データに含まれないノード間の関係を示すノードリンクを含むデータであるか否かを判定し、前記予測対象のグラフデータが前記訓練データに含まれないノードリンクを含むデータであると判定した場合、前記予測対象のグラフデータに含まれるノードのラベルについての埋め込み予測の結果に基づいて、前記訓練データの中から、予測対象のグラフデータに類似するグラフデータを特定し、特定した前記類似するグラフデータに基づいて、前記予測対象のグラフデータに対する予測結果を決定する、処理をコンピュータに実行させる。
【発明の効果】
【0011】
1実施態様によれば、ナレッジグラフの埋め込みを用いて新規のデータについて特定の項目の真偽を予測する際に、予測コストを下げることができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、実施例に係る情報処理装置の構成を示す機能ブロック図である。
【
図2】
図2は、学習対象データの一例を示す図である。
【
図4】
図4は、学習対象データのナレッジグラフの一例を示す図である。
【
図5】
図5は、新規データのナレッジグラフの一例を示す図である。
【
図6】
図6は、実施例に係る学習結果データの一例を示す図である。
【
図7】
図7は、実施例に係る学習対象の範囲を示す図である。
【
図8A】
図8Aは、実施例に係る予測処理を説明する図(1)である。
【
図8B】
図8Bは、実施例に係る予測処理を説明する図(2)である。
【
図8C】
図8Cは、実施例に係る予測処理を説明する図(3)である。
【
図9】
図9は、実施例に係る予測処理のフローチャートの一例を示す図である。
【
図10】
図10は、予測プログラムを実行するコンピュータの一例を示す図である。
【
図11A】
図11Aは、ナレッジグラフ埋め込みの学習の一例を示す参考図(1)である。
【
図11B】
図11Bは、ナレッジグラフ埋め込みの学習の一例を示す参考図(2)である。
【
図11C】
図11Cは、ナレッジグラフ埋め込みの学習の一例を示す参考図(3)である。
【
図11D】
図11Dは、ナレッジグラフ埋め込みの学習の一例を示す参考図(4)である。
【
図12】
図12は、新規データの副作用を予測する場合の学習対象の範囲の参考図である。
【
図13】
図13は、新規データの副作用の予測を説明する参考図である。
【発明を実施するための形態】
【0013】
以下に、本願の開示する予測プログラム、情報処理装置および予測方法の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。
【0014】
まず、ナレッジグラフのリンク予測をするために、複数のデータからなる関係情報をナレッジグラフに埋め込む「TransE」について説明する。「TransE」は、3つのデータを1組としたナレッジグラフの集合をベクトル空間上に埋め込み、機械学習の技術により、ベクトルを変換して所定のデータ構造を得る技術である。所定のデータ構造とは、1組のデータが(h,r,t)(h:主語、r:述語、t:目的語)である場合に、h、r、tそれぞれのベクトルVについて、Vh+VrができるだけVtと等しくなるようなデータ構造のことをいう。これにより、TransEにより学習されたデータ構造を用いると、Vh+Vr≒Vtのような計算ができるようになるので、Vh+Vrに対応するtを予測することができる。また、TransEにより学習されたデータ構造を用いると、Vt-Vrに対応するh、Vt-Vhに対応するrを予測することができる。
【0015】
なお、(h,r,t)のような3つのデータを1組として、「主語の述語は目的語である」という関係性を記述するデータ形式のデータをRDF(Resource Description Framework)データという。また、RDFデータは、主語、述語、目的語の3つのデータを1組としたデータ構造であると説明したが、適宜、主語および目的語のことを「エンティティ」、述語のことを「プロパティ」と呼ぶことがある。
【0016】
ここで、
図11A~
図11Dを参照して、ナレッジグラフ埋め込みの学習の一例について説明する。
図11A~
図11Dは、ナレッジグラフ埋め込みの学習の一例を示す参考図である。ここでは、ナレッジグラフ埋め込みとしてTransEを適用する。なお、RDFデータのサンプルデータとして、(A,r1,B)、(C,r1,B)、(C,r1,D)が存在する場合とする。
【0017】
図11Aで示すグラフは、ナレッジグラフ埋め込みの学習で用いられるRDFデータ内のデータの接続性を表現したナレッジグラフである。ナレッジグラフ埋め込みは、「A」,「B」,「C」,「r1」をn次元のベクトルに写像する技術である。すなわち、ナレッジグラフ埋め込みは、「A」+「r1」が「B」に、「C」+「r1」が「B」に、「C」+「r1」が「D」に近くなるように写像する。一方、「D」は「C」+「r1」に近く、「A」+「r1」から離れるように写像する。なお、以降では、便宜上、かかる写像の学習を2次元で説明するものとする。
【0018】
図11Bに示すように、ナレッジグラフ埋め込みは、「A」のベクトルV
A、「r1」のベクトルV
r1、「B」のベクトルV
B、「C」のベクトルV
Cを乱数で初期化して2次元空間に配置する。なお、ナレッジグラフ埋め込みは、図示していないが、「D」のベクトルV
Dについても乱数で初期化して2次元空間に配置する。
【0019】
次に、
図11Cに示すように、ナレッジグラフ埋め込みは、学習により、V
A+V
r1がV
Bに、V
C+V
r1がV
Bに近くなるようにそれぞれのベクトルを最適化する。この結果、Bの位置が、学習により最適化される。すなわち、V
A+V
r1が指す位置とV
Bが指す位置との距離が所定の範囲(スコア)内になるように、V
C+V
r1が指す位置とV
Bが指す位置との距離が所定の範囲(スコア)内になるように、学習される。
【0020】
一方、
図11Dに示すように、ナレッジグラフ埋め込みは、「D」のベクトルV
Dについては、学習により、V
C+V
r1がV
Dに近くなるように、V
A+V
r1がV
Dから離れるように最適化する。
【0021】
次に、患者属性、疾病、使用している医薬品を1つのデータ(事例)としたナレッジグラフについてナレッジグラフ埋め込みの学習を適用し、適用して得られたベクトルデータを用いて新規データの副作用を予測することを考える。まず、既存データについては、予め、ナレッジグラフ埋め込みの学習を適用し、各RDFデータのエンティティおよびプロパティをn次元のベクトルに写像する。そして、既存データについては、事例ごとに、副作用として「静脈閉塞」が起こる可能性がある(True)かない(False)かがわかっている。
【0022】
ここで、患者属性、疾病、使用している医薬品を1つのデータ(事例)とした新規データが入力されると、学習処理は、新規データおよび既存データを含む全体のデータのナレッジグラフについてナレッジグラフ埋め込みの学習を適用する。そして、既存データについては、事例ごとに、副作用として「静脈閉塞」が起こる可能性がある(True)かない(False)かがわかっている。そこで、予測処理は、新規データの「事例」および既存データの「事例」に対応する埋め込みベクトルに、例えばK近傍法を用いて、新規データの「事例」について、副作用として「静脈閉塞」が起こる可能性がある(True)か、ない(False)か、を予測する。
【0023】
図12は、新規データの副作用を予測する場合の学習対象の範囲の参考図である。
図12の左図には、既存データのナレッジグラフが表現されている。既存データには、病気、医薬品、患者属性を1つの事例とした、「事例1」,「事例2」,「事例3」についてのナレッジグラフが表されている。「事例1」,「事例2」ついては、「副作用」としてそれぞれ「副作用a」,「副作用b」が接続されている。
図12の右図には、新規データのナレッジグラフが表現されている。新規データには、病気、医薬品、患者属性を1つの事例とした、「事例4」についてのナレッジグラフが表されている。「事例4」については、「副作用」が起こる可能性があるかわからない。そこで、「事例4」の副作用を予測する場合には、学習処理は、「事例4」および「事例1」~「事例3」のナレッジグラフについてナレッジグラフ埋め込みの学習を適用する。すなわち、
図12の実線で囲まれた部分が学習対象の範囲となる。
【0024】
学習の結果、各RDFデータのエンティティおよびプロパティのn次元の埋め込みベクトルが学習データとして計算される。
【0025】
図13は、新規データの副作用の予測を示す参考図である。
図13に示すように、「事例1」,「事例2」,「事例3」,「事例4」の各エンティティは、5次元の埋め込みベクトルとして計算される。そして、「事例1」,「事例2」,「事例3」については、副作用としての「静脈閉塞」が起こる可能性がある(True)かない(False)かがわかっている。
【0026】
予測処理は、「事例1」~「事例4」における埋め込みベクトルに、例えばK近傍法を用いて、新規データとしての「事例4」について、副作用として「静脈閉塞」が起こる可能性がある(True)かない(False)か、を予測する。例えば、予測処理は、<1>Kを予め決定する。ここでは、Kは「3」に決定されたとする。そして、予測処理は、<2>「事例4」のベクトルに最も近いベクトルをK個選択する。ここでは、Kは「3」であるので、「事例1」~「事例3」のベクトルが選択される。そして、予測処理は、<3>K個の「事例1」~「事例3」で副作用としての「静脈閉塞」のTrue、Falseを多数決する。ここでは、Trueとなる事例は、「事例1」の1個であり、Falseとなる事例は、「事例2」,「事例3」の2個である。したがって、「事例4」の副作用としての「静脈閉塞」が起こる可能性は、多数決の結果、ない(False)と予測される。
【0027】
ところが、新規データについて、副作用として「静脈閉塞」が起こる可能性がある(True)かない(False)かを予測するためには、新規データを含めた全体のデータを再度学習しなければならない。すなわち、新規データの副作用を予測するためには、新規データを含めて全体を学習し直す必要がある。この結果、新規のデータについて、特定の項目の真偽を予測する際、全体のデータを学習し直すコストがかかってしまうという問題がある。
【0028】
そこで、以降の実施例では、ナレッジグラフの埋め込みを用いて新規データについて特定の項目の真偽を予測する際に、予測コストを下げる情報処理装置について説明する。
【実施例0029】
[情報処理装置の構成]
図1は、実施例に係る情報処理装置の構成を示す機能ブロック図である。情報処理装置1は、予測対象のグラフデータに含まれるノードのラベルについて、既に学習した埋め込み予測の結果を用いてリンク予測を行い、学習結果データ(訓練データ)の中から、予測対象のグラフデータに類似するグラフデータを特定する。そして、情報処理装置1は、特定したグラフデータに基づいて、予測対象のグラフデータに対する予測結果を決定する。なお、実施例では、情報処理装置1は、副作用がわかっている患者属性、疾病、使用している医薬品を1つのデータ(事例)とした既存のナレッジグラフのグラフデータについてナレッジグラフ埋め込みの学習を適用する。そして、情報処理装置1は、適用して得られたベクトルデータ(埋め込みベクトル)を用いて、新規データの副作用が「静脈閉塞」の可能性がある(True)かない(False)か、を予測する。
【0030】
情報処理装置1は、制御部10と、記憶部20とを有する。制御部10は、学習部11、判定部12および予測部13を有する。記憶部20は、学習対象データ21、新規データ22、ナレッジグラフ23、学習結果データ24および予測結果データ25を有する。
【0031】
学習対象データ21は、学習対象を示す既存データである。学習対象データ21は、例えば、患者属性、疾病、使用している医薬品および副作用を対応付けたデータ(事例)である。
【0032】
ここで、学習対象データ21の一例を、
図2を参照して説明する。
図2は、学習対象データの一例を示す図である。
図2に示すように、学習対象データ21は、b_name,c_gender,c_weight,c_age,c_height,dd_gnameおよびnn_nameを1レコードとして対応付けた情報である。1レコードは、1つの事例に対応する。b_nameは、病気の名称を示す。c_genderは、患者の性別である。c_weightは、患者の体重である。c_ageは、患者の年齢である。c_heightは、患者の身長である。c_gender、c_weight、c_ageおよびc_heightは、例えば、患者属性である。dd_gnameは、使用している医薬品の名称を示す。nn_nameは、副作用の内容を示す。
【0033】
一例として、3レコード目の事例の場合には、b_nameとして「アルコール摂取」、c_genderとして「男性」、c_weightとして「70kg台」、c_ageとして「60歳台」、c_heightとして「170cm台」を記憶している。さらに、dd_gnameとして「リラグルチド(遺伝子組換え)」、副作用として「静脈閉塞」を記憶している。
【0034】
図1に戻って、新規データ22は、予測対象の新たなデータである。新規データ22は、例えば、患者属性、疾病および使用している医薬品を対応付けたデータ(事例)である。すなわち、新規データ22は、副作用が「静脈閉塞」の可能性があるか否かを予測対象としたデータである。
【0035】
ここで、新規データ22の一例を、
図3を参照して説明する。
図3は、新規データの一例を示す図である。
図3に示すように、新規データ22は、b_name,c_gender,c_weight,c_age,c_height,dd_gnameおよびnn_nameを1レコードとして対応付けた情報である。1レコードは、1つの事例に対応する。各項目は、
図2の学習対象データ21と同じであるので、その説明を省略する。新規データ22には、副作用の名称を示すnn_nameの内容が空白である。このnn_nameの内容が予測したい項目である。
【0036】
図1に戻って、ナレッジグラフ23は、予め定められたER図に沿って、学習対象データ21および新規データ22それぞれをグラフデータに変換した情報である。グラフデータは、事例ごとに、変換される。そして、グラフデータは、1つの事例について、エンティティ、プロパティ、エンティティの3つのデータを1組とした複数のRDFデータから構成される。なお、ER図は、エンティティ(Entity)とエンティティとの関係(Relationship)を設計した図である。
【0037】
ここで、学習対象データ21および新規データ22のそれぞれのナレッジグラフの一例を、
図4および
図5を参照して説明する。
【0038】
図4は、学習対象データのナレッジグラフの一例を示す図である。
図4に示すように、ナレッジグラフ23aに含まれる各グラフデータは、学習対象データ21の各レコード(事例)を変換したものである。例えば、「事例1」については、例えば、「事例1→医薬品→医薬品A」、「事例1→患者→患者1」、「事例1→病気→X病」、「事例1→副作用→副作用a」のように、3つのデータを1組とした複数のRDFデータから構成されている。例えば、「事例1→医薬品→医薬品A」では、「事例1」および「医薬品A」がエンティティであり、「医薬品」がプロパティであり、「事例1の医薬品は医薬品Aである」という関係性を持っている。「事例1→副作用→副作用a」では、「事例1」および「副作用a」がエンティティであり、「副作用」がプロパティであり、「事例1の副作用は副作用aである」という関係性を持っている。なお、「事例3」については、患者属性のRDFデータおよび副作用のRDFデータが含まれていないが、かかる事例もナレッジグラフとして変換される。
【0039】
図5は、新規データのナレッジグラフの一例を示す図である。
図5に示すように、ナレッジグラフ23bが示すグラフデータは、新規データ22のレコード(事例)を変換したものである。例えば、新規データ22としての「事例4」についても、例えば、「事例4→医薬品→医薬品A」、「事例4→患者→患者2」、「事例4→病気→X病」のように、3つのデータを1組とした複数のRDFデータから構成されている。但し、「事例4」については、「事例4」の「副作用」がわかっていない。
【0040】
図1に戻って、学習結果データ24は、学習対象データ21から変換された複数のグラフデータに含まれるRDFデータを用いて、ナレッジグラフ埋め込みの学習を適用した結果を示す情報である。学習結果データ24は、学習対象データ21から変換された複数のグラフデータを構成するエンティティ、プロパティそれぞれに対して、ナレッジグラフ埋め込みの学習で数学的に表現されたn次元の埋め込みベクトルを紐づけた情報である。なお、複数のグラフデータの中でエンティティのラベルが同一の場合があるが、その場合には、エンティティのラベルは同じベクトルの値となる。同様に、複数のグラフデータの中でプロパティのラベルが同一の場合があるが、その場合には、プロパティのラベルは同じベクトルの値となる。
【0041】
加えて、学習結果データ24には、各グラフデータに、副作用に関する情報が紐づけられる。副作用に関する情報は、例えば、副作用として「静脈閉塞」が起こる可能性がある(True)かない(False)かを示す情報である。なお、学習結果データ24は、後述する学習部11によって生成される。学習結果データ24の一例については、後述する。
【0042】
予測結果データ25は、新規データ22から変換されたグラフデータについて、副作用として「静脈閉塞」が起こる可能性がある(True)か、ない(False)かを予測した結果を示す情報である。なお、予測結果データ25は、後述する予測部13によって生成される。
【0043】
学習部11は、学習対象データ21から変換された複数のグラフデータに含まれるRDFデータを用いてナレッジグラフ埋め込みの学習を適用する。言い換えれば、学習部11は、学習対象データ21から変換された複数のグラフデータを構成するエンティティ、プロパティそれぞれに対して、ナレッジグラフ埋め込みの学習を適用して、n次元の埋め込みベクトルを生成する。そして、学習部11は、学習結果を学習結果データ24に格納する。すなわち、学習部11は、学習対象の複数のグラフデータを構成するエンティティ、プロパティそれぞれに対して、学習した結果を示すn次元の埋め込みベクトルを学習結果データ24に格納する。加えて、学習部11は、学習対象のグラフデータの先頭のノード(エンティティ)に副作用に関する情報を対応付けて、学習結果データ24に格納する。副作用に関する情報は、例えば、副作用として「静脈閉塞」が起こる可能性がある(True)かない(False)かを示す情報である。副作用に関する情報は、学習対象データ21の中の事例ごとのnn_nameの内容を対応付ければ良い。なお、ナレッジグラフ埋め込みの学習の方法は、
図11A~
図11Dを参照して説明したので、その説明を省略する。また、学習は、訓練の一例である。
【0044】
ここで、学習結果データ24の一例について、
図6を参照して説明する。
図6は、実施例に係る学習結果データの一例を示す図である。
図6に示すように、学習結果データ24は、ID、学習結果および静脈閉塞を対応付けて記憶する。IDは、学習対象のグラフデータを構成するエンティティおよびプロパティのラベルを示す。学習結果に対する内容は、5次元の埋め込みベクトルを示す。なお、学習結果に対する内容は、5次元の埋め込みベクトルに限定されず、n次元の埋め込みベクトル(nは2以上)であれば良い。
【0045】
また、静脈閉塞に対する内容は、グラフデータの先頭のノード(エンティティ)を示す「事例」に対応付けられ、副作用として「静脈閉塞」が起こる可能性がある(True)かない(False)かを示したものである。静脈閉塞に対する内容は、学習対象データ21に記憶された事例ごとの副作用の内容(nn_name)から対応付けられれば良い。
【0046】
一例として、IDが「事例1」である場合には、学習結果として(0.2,0.3,0.1,0.5,0.8)、静脈閉塞として「TRUE」を記憶している。また、IDが「医薬品A」である場合には、学習結果として5次元の埋め込みベクトルを記憶している。
【0047】
判定部12は、予測対象のグラフデータが、ナレッジグラフの埋め込みの学習に用いられた学習対象データ21に含まれないノード間の関係を示すノードリンクを含むデータであるか否かを判定する。判定部12は、予測対象のグラフデータが、学習対象データ21に含まれないノード間の関係を示すノードリンクを含むデータである場合には、予測対象のグラフデータを新規データとする。
【0048】
ここで、新規データについて説明する。新規データとは、学習対象データ21に含まれていない新しい事例を示すデータのことをいう。但し、新規データは、学習データに含まれていない新しい事例を示すデータであるが、完全に新しい事例を示すデータではない。例えば、新規データは、同じ病気の同じ患者に今までとは異なる医薬品を投与するような場合であったり、同じ病気であるが患者属性が異なる患者に既存の医薬品を投与するような場合であったりする。つまり、新規データは、病気、患者属性および医薬品がすべて新しいデータを除外し、病気、患者属性および医薬品のいずれかが新しいデータを意味する。
【0049】
具体的には、
図4で示す学習対象データ21のグラフデータがある場合に、
図5で示すグラフデータは、学習対象データ21に含まれていない新しい事例を示すデータである。つまり、
図5で示すグラフデータの「事例4」は、年齢が「50歳」および体重が「70kg」の患者属性を持つ「患者2」について、病気が「X病」で医薬品として「医薬品A」を投与する場合である。学習対象データ21には、「患者2」について、「Y病」で「医薬品A」を投与した場合は「事例2」にあるが、「X病」で「医薬品A」を投与した事例はない。また、学習対象データ21には、「X病」で「医薬品A」を投与した場合は「事例1」にあるが、「事例1」は「事例4」の患者属性と異なる。すなわち、「事例1」の「患者1」は年齢が「50歳」および体重が「60kg」の患者属性を持つ患者であるが、「事例4」の「患者2」の患者属性(年齢→「50歳」,体重→「60kg」)と異なる。したがって、「事例4」のグラフデータは、学習対象データ21に含まれていない新しい事例であるので、新規データである。
【0050】
図1に戻って、例えば、判定部12は、予測対象のグラフデータが、学習対象データ21(既存データ)のいずれかのグラフデータに含まれるか否かを判定する。一例として、判定部12は、予測対象のグラフデータの先頭のノード以外のノードのラベルが完全一致するようなグラフデータが既存データのグラフデータに存在するか否かを判定する。具体的には、予測対象であるグラフデータが
図5で示すグラフデータである場合であり、既存データであるグラフデータが
図4で示すグラフデータである場合について説明する。予測対象のグラフデータは、医薬品が「医薬品A」、患者について年齢が「50歳」、体重が「70kg」、病気が「X病」であるが、判定部12は、これらに完全一致するようなグラフデータが既存データのグラフデータに存在するか否かを判定する。ここでは、判定部12は、これらに完全一致するようなグラフデータが既存データの3つのグラフデータに存在しないので、予測対象のグラフデータを新規データとする。
【0051】
予測部13は、予測対象のグラフデータが新規データであると判定された場合、予測対象のグラフデータに含まれるノードのラベルについての埋め込み予測の結果に基づいて、学習対象データ21の中から、予測対象のグラフデータに類似するグラフデータを特定する。
【0052】
例えば、予測部13は、学習対象データ21のナレッジグラフを参照して、予測対象のグラフデータに含まれる既知のエンティティのラベルおよびプロパティのラベルを探索する。そして、予測部13は、探索できた既知のエンティティおよびプロパティのラベルについての既に学習された埋め込みベクトルを用いて、学習対象データ21に含まれる複数のグラフデータ(事例)とのリンク予測を行うことでスコア(距離)を計算する。既に学習された埋め込みベクトルは、学習結果データ24から取得されれば良い。なお、予測対象のグラフデータに含まれる既知のエンティティのラベルが複数存在する場合には、予測部13は、複数の既知のエンティティのラベルについて、学習対象データ21に含まれる複数のグラフデータとのスコア(距離)を計算するようにすれば良い。
【0053】
一例として、予測対象のグラフデータ「4」に、既知のエンティティのラベルとして「医薬品A」、既知のプロパティのラベルとして「医薬品」が含まれている場合のスコアの計算方法について説明する。学習対象データ21のナレッジグラフに含まれるグラフデータについては、構成されるエンティティおよびプロパティのラベルに埋め込みベクトルが対応付けられ、学習結果データ24に格納されている。そして、既知の「医薬品A」および「医薬品」については、既に学習された埋め込みベクトルが学習結果データ24に格納されている。そこで、予測部13は、既知のエンティティのラベル「医薬品A」と既知のグラフデータの先頭のノードのラベルとのリンク予測を行うことでスコア(距離)を計算する。既知のグラフデータの先頭のノードラベルが「事例1」である場合には、スコア(距離)は、|「医薬品A」-「医薬品」-「事例1」|の計算式で計算される。ナレッジグラフ埋め込みの学習は、RDFデータが(A,r1,B)である場合には、「A」+「r1」が「B」に近くなるように写像する。そこで、予測部13は、(「医薬品A」-「医薬品」-「事例1」)の絶対値を計算することで、「医薬品A」と「事例1」とのスコア(距離)を計算できる。
【0054】
そして、予測部13は、既知のエンティティのラベルに対して、複数のグラフデータごとに、スコア(距離)の小さい順に順位を付ける。そして、予測部13は、複数のグラフデータごとに、順位とスコアとを乗算して、順位スコアを付ける。順位スコアを付けるのは、距離が近い(スコアが小さい)グラフデータをより近く(小さく)なるようにメリハリをつけるためである。そして、予測部13は、複数のグラフデータの中から、順位スコアの最も小さいグラフデータを、予測対象のグラフデータに類似するグラフデータとして特定する。
【0055】
なお、既知のエンティティのラベルが複数存在する場合には、予測部13は、それぞれの既知のエンティティのラベルに対して、複数のグラフデータごとに、順位スコアを付ける。そして、予測部13は、複数のグラフデータごとに、順位スコアの合計を計算して、トータルスコアを付ける。そして、予測部13は、複数のグラフデータの中から、トータルスコアの最も小さいグラフデータを、予測対象のグラフデータに類似するグラフデータとして特定すれば良い。
【0056】
そして、予測部13は、特定した類似するグラフデータに基づいて、予測対象のグラフデータに対する予測結果を決定する。一例として、予測部13は、学習対象データ21を参照して、特定した類似するグラフデータに対応するレコード(事例)の副作用の内容(nn_name)を取得する。そして、予測部13は、取得した副作用の内容が「静脈閉塞」であれば、「静脈閉塞」が起こる可能性があるとして「True」を、予測対象のグラフデータに対する予測結果として決定する。また、予測部13は、取得した副作用の内容が「静脈閉塞」でなければ、「静脈閉塞」が起こる可能性がないとして「False」を、予測対象のグラフデータに対する予測結果として決定する。
【0057】
別の例として、予測部13は、学習結果データ24を参照して、特定した類似するグラフデータに対して「静脈閉塞」を予測した結果を取得する。そして、予測部13は、取得した「静脈閉塞」を予測した結果(TrueまたはFalse)を、予測対象のグラフデータに対する予測結果として決定する。
【0058】
図7は、実施例に係る学習対象の範囲を示す図である。
図7には、既存データ(学習対象データ21)および新規データのナレッジグラフ23が表現されている。
図7の左図には、既存データ(学習対象データ21)のナレッジグラフ23aが表現されている。既存データには、病気、医薬品、患者属性を1つの事例とした、「事例1」,「事例2」,「事例3」についてのナレッジグラフが表されている。「事例1」,「事例2」ついては、「副作用」としてそれぞれ「副作用a」,「副作用b」が接続されている。
図7の右図には、新規データのナレッジグラフ23bが表現されている。新規データには、病気、医薬品、患者属性を1つの事例とした、「事例4」についてのナレッジグラフが表されている。「事例4」については、「副作用」が起こる可能性があるかわからない。
【0059】
このような状況の下、実施例では、学習部11は、既存データを示す事例「1」~事例「3」のナレッジグラフ23aについてナレッジグラフ埋め込みの学習を適用する。すなわち、実施例に係る学習対象の範囲は、新規データを対象とせず、
図7の実線で囲まれた既存データだけを対象とする。これにより、学習部11は、新規データについて、特定の項目についてTrueかFalseかを予測する際に、新規データを含めて学習し直さなくても良いので、予測コストを下げることができる。
【0060】
【0061】
図8Aには、新規データのナレッジグラフ23bが表されている。ここで使用する新規データのグラフデータは、
図7の右図に示すグラフデータと同じものである。また、図示しないが、ここで使用する既存データの複数のグラフデータは、
図7の左図に示すグラフデータと同じものとする。
【0062】
このような状況の下、予測部13は、学習対象データ21のナレッジグラフを参照して、予測対象のグラフデータに含まれる既知のエンティティのラベルおよびプロパティのラベルを探索する。ここでは、既知のエンティティのラベルとして「医薬品A」、既知のプロパティのラベルとして「医薬品」が探索される(符号c1)。また、既知のエンティティのラベルとして「患者2」、既知のプロパティのラベルとして「患者」が探索される(符号c2)。また、既知のエンティティのラベルとして「X病」、既知のプロパティのラベルとして「病気」が探索される(符号c3)。そこで、予測部13は、「医薬品」が「医薬品A」、「患者」が「患者2」、「病気」が「X病」について、既存データに含まれる各事例とのスコア(距離)を予測する。
【0063】
図8Bに示すように、予測部13は、予測対象のグラフデータに含まれる既知のエンティティおよびプロパティのラベルについての既に学習された埋め込みベクトルを用いる。そして、予測部13は、リンク予測を行うことで、既知のエンティティのラベルと既存データに含まれる複数の事例とのスコア(距離)を計算する。
【0064】
ここでは、予測部13は、既知のエンティティのラベル「医薬品A」と「事例1」とのスコア(距離)を計算する。「医薬品A」と「事例1」とのスコア(距離)は、|「医薬品A」-「医薬品」-「事例1」|の計算式で計算される。同様に、「医薬品A」と「事例2」とのスコア(距離)は、|「医薬品A」-「医薬品」-「事例2」|の計算式で計算される。「医薬品A」と「事例3」とのスコア(距離)は、|「医薬品A」-「医薬品」-「事例3」|の計算式で計算される。「医薬品A」については、事例ごとに、スコアが
図8Bの左表のように表される。事例が「事例1」の場合に、スコアとして「0.1」、事例が「事例2」の場合に、スコアとして「0.2」、事例が「事例3」の場合に、スコアとして「0.3」と計算される。したがって、「事例1」、「事例2」、「事例3」の順番で順位が決定される。さらに、順位スコアは、順位とスコアとを乗算して得られる。したがって、事例が「事例1」の場合に、順位スコアとして「0.1」、事例が「事例2」の場合に、順位スコアとして「0.4」、事例が「事例3」の場合に、順位スコアとして「0.9」と計算される。
【0065】
同様に、予測部13は、既知のエンティティのラベル「患者2」と「事例1」とのスコア(距離)を計算する。「患者2」と「事例1」とのスコア(距離)は、|「患者2」-「患者」-「事例1」|の計算式で計算される。同様に、「患者2」と「事例2」とのスコア(距離)は、|「患者2」-「患者」-「事例2」|の計算式で計算される。「患者2」と「事例3」とのスコア(距離)は、|「患者2」-「患者」-「事例3」|の計算式で計算される。「患者2」については、事例ごとに、スコアが
図8Bの中表のように表される。事例が「事例1」の場合に、スコアとして「0.3」、事例が「事例2」の場合に、スコアとして「0.2」、事例が「事例3」の場合に、スコアとして「0.4」と計算される。したがって、「事例2」、「事例1」、「事例3」の順番で順位が決定される。さらに、順位スコアは、順位とスコアとを乗算して得られる。したがって、事例が「事例1」の場合に、順位スコアとして「0.6」、事例が「事例2」の場合に、順位スコアとして「0.2」、事例が「事例3」の場合に、順位スコアとして「1.2」と計算される。
【0066】
同様に、予測部13は、既知のエンティティのラベル「X病」と「事例1」とのスコア(距離)を計算する。「X病」と「事例1」とのスコア(距離)は、|「X病」-「病気」-「事例1」|の計算式で計算される。同様に、「X病」と「事例2」とのスコア(距離)は、|「X病」-「病気」-「事例2」|の計算式で計算される。「X病」と「事例3」とのスコア(距離)は、|「X病」-「病気」-「事例3」|の計算式で計算される。「X病」については、事例ごとに、スコアが
図8Bの右表のように表される。事例が「事例1」の場合に、スコアとして「0.4」、事例が「事例2」の場合に、スコアとして「0.6」、事例が「事例3」の場合に、スコアとして「0.2」と計算される。したがって、「事例3」、「事例1」、「事例2」の順番で順位が決定される。さらに、順位スコアは、順位とスコアとを乗算して得られる。したがって、事例が「事例1」の場合に、順位スコアとして「0.8」、事例が「事例2」の場合に、順位スコアとして「0.2」、事例が「事例3」の場合に、順位スコアとして「1.8」と計算される。
【0067】
図8Cに示すように、予測部13は、複数のグラフデータ(事例)ごとに、順位スコアの合計を計算して、トータルスコアを付ける。ここでは、「事例1」について、予測部13は、「医薬品A」との順位スコア「0.1」と、「患者2」との順位スコア「0.6」と、「X病」との順位スコア「0.8」とを合計して、トータルスコア「1.5」を算出する。「事例2」について、予測部13は、「医薬品A」との順位スコア「0.4」と、「患者2」との順位スコア「0.2」と、「X病」との順位スコア「1.8」とを合計して、トータルスコア「2.4」を算出する。「事例3」について、予測部13は、「医薬品A」との順位スコア「0.9」と、「患者2」との順位スコア「1.2」と、「X病」との順位スコア「0.2」とを合計して、トータルスコア「2.3」を算出する。
【0068】
そして、予測部13は、複数のグラフデータ(事例)の中から、トータルスコアの最も小さいグラフデータ(事例)を、予測対象のグラフデータ(事例4)に類似するグラフデータ(事例)として特定する。ここでは、トータルスコアの最も小さい事例は、「事例1」である。したがって、予測部13は、「事例1」を予測対象の「事例4」に類似する事例として特定する(符号g1)。
【0069】
そして、予測部13は、学習結果データ24を参照して、特定した類似するグラフデータ(事例)に対して「静脈閉塞」を予測した結果を取得する。ここでは、特定した類似する事例は、「事例1」である。そこで、予測部13は、「事例1」に対して「静脈閉塞」を予測した結果「TRUE」を取得する(符号g2)。
【0070】
そして、予測部13は、取得した「静脈閉塞」を予測した結果を示す「TRUE」を、予測対象の「事例4」に対する予測結果として決定し、予測結果データ25に格納する(符号g3)。これにより、予測部13は、新規データ(事例4)について、既に学習した項目の埋め込みベクトルを用いて「事例4」に類似する既存の「事例」を特定し、「静脈閉塞」の発生の可能性を予測する。この結果、予測部13は、新規データ(事例4)について、「静脈閉塞」の発生の可能性を予測する際に、予測コストを下げることができる。
【0071】
図9は、実施例に係る予測処理のフローチャートの一例を示す図である。なお、学習部11は、学習対象データ21から変換された複数のグラフデータに含まれるRDFデータを用いてナレッジグラフ埋め込みの学習を適用し、学習結果を学習結果データ24に格納したとする。そして、予測対象のグラフデータを示す入力データが受け付けられたとする。
【0072】
図9に示すように、判定部12は、受け付けられた入力データが既存のデータに含まれるか否かを判定する(ステップS11)。例えば、判定部12は、予測対象のグラフデータが、学習対象データ21(既存データ)のいずれかのグラフデータに含まれるか否かを判定する。一例として、判定部12は、予測対象のグラフデータの先頭のノード以外のノードのラベルが完全一致するようなグラフデータが既存データのグラフデータに存在するか否かを判定する。
【0073】
入力データが既存のデータに含まれていると判定した場合には(ステップS11;Yes)、判定部12は、既存のデータから合致するデータを得て目的変数の値を取得する(ステップS12)。ここでいう目的変数とは、例えば「静脈閉塞」のことをいい、目的変数の値とは、例えば「False」または「True」のことをいう。例えば、判定部12は、学習結果データ24を参照して、完全一致するようなグラフデータが示す事例に対応する「静脈閉塞」の内容を取得する。そして、判定部12は、予測処理を終了する。
【0074】
一方、入力データが既存のデータに含まれていないと判定した場合には(ステップS11;No)、予測部13は、既知の項目のデータを用いて、リンク予測を実施する(ステップS13)。例えば、予測部13は、学習対象データ21のナレッジグラフを参照して、予測対象のグラフデータに含まれる既知のエンティティのラベルおよびプロパティのラベルを探索する。そして、予測部13は、探索できた既知のエンティティおよびプロパティのラベルについての既に学習された埋め込みベクトルを用いて、学習対象データ21に含まれる複数のグラフデータ(事例)とのリンク予測を行うことでスコア(距離)を計算する。
【0075】
そして、予測部13は、既知の項目について、既存のデータごとに、スコア、順位を取得する(ステップS14)。例えば、予測部13は、既知のエンティティのラベルと、学習対象データ21のナレッジグラフに含まれる各グラフデータ(事例)とのスコア(距離)および順位を取得する。なお、予測部13は、既知のエンティティのラベルが複数存在する場合には、各ラベルについて、各グラフデータ(事例)とのスコア(距離)および順位を取得する。
【0076】
そして、予測部13は、既知の項目について、既知のデータごとに、スコアと順位を掛けて順位スコアを計算する(ステップS15)。そして、予測部13は、既知のデータごとに、すべての既知の項目の順位スコアの合計値を全体予測のスコア(トータルスコア)に設定する(ステップS16)。
【0077】
そして、予測部13は、全体予測のスコア(トータルスコア)の値が最も小さい既知のデータを、入力データの類似データとして、目的変数の値を取得する(ステップS17)。すなわち、予測部13は、複数のグラフデータの中から、トータルスコアの最も小さいグラフデータを、予測対象のグラフデータに類似するグラフデータとして特定する。そして、予測部13は、学習結果データ24を参照して、特定した類似するグラフデータに対して「静脈閉塞」を予測した結果を取得する。そして、予測部13は、取得した「静脈閉塞」を予測した結果(TrueまたはFalse)を、予測対象のグラフデータに対する予測結果として決定する。そして、判定部12は、予測処理を終了する。
【0078】
[実施例の効果]
上記実施例によれば、情報処理装置1は、予測対象のグラフデータが、ナレッジグラフの埋め込みの訓練に用いられた訓練データに含まれないノード間の関係を示すノードリンクを含むデータであるか否かを判定する。情報処理装置1は、予測対象のグラフデータが訓練データに含まれないノードリンクを含むデータであると判定した場合、予測対象のグラフデータに含まれるノードのラベルについての埋め込み予測の結果に基づいて、訓練データの中から、予測対象のグラフデータに類似するグラフデータを特定する。そして、情報処理装置1は、特定した類似するグラフデータに基づいて、予測対象のグラフデータに対する予測結果を決定する。かかる構成によれば、情報処理装置1は、ナレッジグラフの埋め込みにおいて、予測対象のグラフデータについて特定の項目のTrueかFalseかの真偽を予測する際に、予測コストを下げることができる。すなわち、情報処理装置1は、予測対象のグラフデータを含んで再学習しなくても、予測結果を予測することができるので、予測コストを下げることができる。
【0079】
また、上記実施例によれば、情報処理装置1は、予測対象のグラフデータに含まれるノードのラベルに、既に訓練されたノードのラベルの埋め込みベクトルを用いて、訓練データに含まれる複数のグラフデータとのリンク予測を行うことでノードのラベルと各グラフデータとの類似性を計算する。そして、情報処理装置1は、複数のグラフデータの中から最も類似するグラフデータを予測対象のグラフデータに類似するグラフデータとして特定する。かかる構成によれば、情報処理装置1は、リンク予測を用いて、予測対象のグラフデータに含まれるノードのラベルと訓練データに含まれる複数のグラフデータとの類似性を計算し、予測対象のグラフデータに類似するグラフデータを特定する。この結果、情報処理装置1は、リンク予測を用いることで、訓練された複数のグラフデータの中から予測対象のグラフデータに類似するグラフデータを特定し、特定したグラフデータを予測に用いることで予測コストを下げることができる。
【0080】
また、上記実施例によれば、ノードのラベルとグラフデータとの類似性は、ノードのラベルとグラフデータとの距離である。予測対象のグラフデータに含まれるノードのラベルは、訓練データに含まれる既に訓練されたノードのラベルと同一のラベルである。情報処理装置1は、予測対象のグラフデータに含まれるノードのラベルが複数存在する場合には、複数のノードそれぞれのラベルに対する複数のグラフデータそれぞれとの距離を用いて、複数のグラフデータの中から距離が最も小さいグラフデータを特定する。かかる構成によれば、情報処理装置1は、予測対象のグラフデータに含まれるノードのラベルを複数用いることで、予測対象のグラフデータに類似するグラフデータを精度良く特定することができる。
【0081】
また、上記実施例によれば、情報処理装置1は、複数のグラフデータそれぞれについて、複数のノードそれぞれのラベルとの距離の合計値を用いて、複数のグラフデータの中から距離の合計値が最も小さいグラフデータを特定する。かかる構成によれば、情報処理装置1は、予測対象のグラフデータに含まれるノードのラベルを複数用いることで、予測対象のグラフデータと類似するグラフデータを精度良く特定することができる。
【0082】
また、上記実施例によれば、情報処理装置1は、類似するグラフデータに含まれる特定のノードのラベルに応じた値を、予測対象のグラフデータに対する予測結果として決定する。かかる構成によれば、情報処理装置1は、例えば、類似するグラフデータに含まれる特定のノードのラベルが副作用を示す「静脈閉塞」である場合、副作用として「静脈閉塞」が起こる可能性があるか、ないかを示す値を予測結果として決定することができる。
【0083】
[その他]
なお、図示した情報処理装置1の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、情報処理装置1の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、判定部12と、予測部13とを1つの部として統合しても良い。また、記憶部20を情報処理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
【0084】
また、上記実施例では、情報処理装置が、学習処理と予測処理とを含む構成で説明した。しかしながら、学習処理を行う学習装置と予測処理を行う予測装置とに分離する構成としても良い。
【0085】
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、
図1に示した情報処理装置1の予測処理と同様の機能を実現する予測プログラムを実行するコンピュータの一例を説明する。
図10は、予測プログラムを実行するコンピュータの一例を示す図である。
【0086】
図10に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD(Hard Disk Drive)205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
【0087】
ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、予測プログラム205aおよび予測処理関連情報205bを記憶する。
【0088】
CPU203は、予測プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、情報処理装置1の各機能部に対応する。予測処理関連情報205bは、学習対象データ21、新規データ22、ナレッジグラフ23、学習結果データ24および予測結果データ25に対応する。そして、例えばリムーバブルディスク211が、予測プログラム205aなどの各情報を記憶する。
【0089】
なお、予測プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、光磁気ディスク、IC(Integrated Circuit)カードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらから予測プログラム205aを読み出して実行するようにしても良い。