(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024056576
(43)【公開日】2024-04-23
(54)【発明の名称】判定プログラム、判定方法、および情報処理装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20240416BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022163582
(22)【出願日】2022-10-11
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【弁理士】
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】小御門 道
(72)【発明者】
【氏名】丸橋 弘治
(57)【要約】
【課題】判定結果の根拠を解釈し易くする情報を提示すること。
【解決手段】情報処理装置は、グラフインスタンス700の判定結果711を生成する。情報処理装置は、判定結果711の根拠を表す根拠情報として、グラフインスタンス700が表すグラフの隣接行列の各要素に対応するスコアを示すスコア行列712を生成する。情報処理装置は、スコア行列712のうち、すべてのスコアがThreshold以下である場合、根拠情報を補助する参考情報を生成する。情報処理装置は、例えば、参考情報として、判定結果711とは逆の内容を示す判定結果であるいずれかのグラフインスタンスを特定する。情報処理装置は、判定結果711と共に、判定結果711の根拠を表す根拠情報と、判定結果711の根拠を表す根拠情報を補助する参考情報とを出力する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
所定の判定処理による第1グラフデータの第1判定結果を取得し、
グラフデータの入力に応じて、前記所定の判定処理による前記グラフデータの判定結果の根拠を表す、前記グラフデータの所定の特徴に関する1以上のスコアを算出する訓練済み機械学習モデルを用いて算出された、前記第1グラフデータの前記所定の特徴に関する1以上の第1スコアを取得し、
取得した前記1以上の第1スコアのすべての第1スコアが閾値未満である場合、前記所定の判定処理による、1以上のグラフデータのそれぞれのグラフデータの判定結果を記憶する記憶部を参照して、前記1以上のグラフデータのうち、取得した前記第1判定結果とは異なる第2判定結果である第2グラフデータを特定し、
特定した前記第2グラフデータの前記所定の特徴に関する情報を、取得した前記第1判定結果に対応付けて出力する、
処理をコンピュータに実行させることを特徴とする判定プログラム。
【請求項2】
前記訓練済み機械学習モデルを用いて、特定した前記第2グラフデータの前記所定の特徴に関する1以上の第2スコアを算出する、
処理を前記コンピュータに実行させ、
前記出力する処理は、
前記記憶部に記憶された前記第2判定結果と、特定した前記第2グラフデータと、算出した前記1以上の第2スコアとを、取得した前記第1判定結果に対応付けて出力する、ことを特徴とする請求項1に記載の判定プログラム。
【請求項3】
前記出力する処理は、
前記記憶部に記憶された前記第2判定結果と、特定した前記第2グラフデータと、算出した前記1以上の第2スコアと、前記第1グラフデータと、取得した前記1以上の第1スコアとを、取得した前記第1判定結果に対応付けて出力する、ことを特徴とする請求項2に記載の判定プログラム。
【請求項4】
前記出力する処理は、
取得した前記1以上の第1スコアの少なくともいずれかの第1スコアが前記閾値以上である場合、前記第1グラフデータと、取得した前記1以上の第1スコアとを、取得した前記第1判定結果に対応付けて出力する、ことを特徴とする請求項1~3のいずれか一つに記載の判定プログラム。
【請求項5】
前記訓練済み機械学習モデルは、グラフデータの入力に応じて、前記所定の判定処理による前記グラフデータの判定結果の根拠を表す、前記グラフデータの所定の特徴に関する、前記グラフデータの隣接行列の各要素に対応するスコアを算出する、ことを特徴とする請求項1~3のいずれか一つに記載の判定プログラム。
【請求項6】
前記1以上のグラフデータのそれぞれのグラフデータについて、当該グラフデータと、前記第1グラフデータとの差異の大きさを示す指標値を算出する、
処理を前記コンピュータに実行させ、
前記特定する処理は、
取得した前記1以上の第1スコアのすべての第1スコアが前記閾値未満である場合、前記記憶部を参照して、前記1以上のグラフデータのうち、取得した前記第1判定結果とは異なる第2判定結果であり、算出した前記指標値が基準値未満である第2グラフデータを特定する、ことを特徴とする請求項1~3のいずれか一つに記載の判定プログラム。
【請求項7】
所定の判定処理による第1グラフデータの第1判定結果を取得し、
グラフデータの入力に応じて、前記所定の判定処理による前記グラフデータの判定結果の根拠を表す、前記グラフデータの所定の特徴に関する1以上のスコアを算出する訓練済み機械学習モデルを用いて算出された、前記第1グラフデータの前記所定の特徴に関する1以上の第1スコアを取得し、
取得した前記1以上の第1スコアのすべての第1スコアが閾値未満である場合、前記所定の判定処理による、1以上のグラフデータのそれぞれのグラフデータの判定結果を記憶する記憶部を参照して、前記1以上のグラフデータのうち、取得した前記第1判定結果とは異なる第2判定結果である第2グラフデータを特定し、
特定した前記第2グラフデータの前記所定の特徴に関する情報を、取得した前記第1判定結果に対応付けて出力する、
処理をコンピュータが実行することを特徴とする判定方法。
【請求項8】
所定の判定処理による第1グラフデータの第1判定結果を取得し、
グラフデータの入力に応じて、前記所定の判定処理による前記グラフデータの判定結果の根拠を表す、前記グラフデータの所定の特徴に関する1以上のスコアを算出する訓練済み機械学習モデルを用いて算出された、前記第1グラフデータの前記所定の特徴に関する1以上の第1スコアを取得し、
取得した前記1以上の第1スコアのすべての第1スコアが閾値未満である場合、前記所定の判定処理による、1以上のグラフデータのそれぞれのグラフデータの判定結果を記憶する記憶部を参照して、前記1以上のグラフデータのうち、取得した前記第1判定結果とは異なる第2判定結果である第2グラフデータを特定し、
特定した前記第2グラフデータの前記所定の特徴に関する情報を、取得した前記第1判定結果に対応付けて出力する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、判定プログラム、判定方法、および情報処理装置に関する。
【背景技術】
【0002】
従来、判定処理を実施した際に判定結果の根拠を提示するためのXAI(Explainable Artificial Intelligence)と呼ばれる技術が存在する。例えば、グラフデータに対する、GNN(Graph Neural Network)の判定結果の根拠として、グラフデータの隣接行列の各要素に対応する、所定のトポロジー特徴に関するスコアを提示するGXAI(Graph XAI)が存在する。
【0003】
先行技術としては、例えば、GNNを用いて、グラフデータに対する所定の判定処理をブラックボックス的に実施し、グラフデータの判定結果を取得するものがある。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Yuan, Hao, et al. “Explainability in graph neural networks: A taxonomic survey.” arXiv preprint arXiv:2012.15445 (2020).
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、利用者が、提示された判定結果の根拠を適切に解釈することが難しい場合がある。例えば、利用者は、隣接行列の全要素に対応するスコアが比較的小さいことが、判定結果の根拠として提示された場合、所定のトポロジー特徴が現れないと解釈すればよいのか、または、判定結果の根拠特定に失敗したと解釈すればよいのかを判断することが難しい。
【0006】
1つの側面では、本発明は、判定結果の根拠を解釈し易くする情報を提示することを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様によれば、所定の判定処理による第1グラフデータの第1判定結果を取得し、グラフデータの入力に応じて、前記所定の判定処理による前記グラフデータの判定結果の根拠を表す、前記グラフデータの所定の特徴に関する1以上のスコアを算出する訓練済み機械学習モデルを用いて算出された、前記第1グラフデータの前記所定の特徴に関する1以上の第1スコアを取得し、取得した前記1以上の第1スコアのすべての第1スコアが閾値未満である場合、前記所定の判定処理による、1以上のグラフデータのそれぞれのグラフデータの判定結果を記憶する記憶部を参照して、前記1以上のグラフデータのうち、取得した前記第1判定結果とは異なる第2判定結果である第2グラフデータを特定し、特定した前記第2グラフデータの前記所定の特徴に関する情報を、取得した前記第1判定結果に対応付けて出力する判定プログラム、判定方法、および情報処理装置が提案される。
【発明の効果】
【0008】
一態様によれば、判定結果の根拠を解釈し易くする情報を提示することが可能になる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態にかかる判定方法の一実施例を示す説明図である。
【
図2】
図2は、情報処理システム200の一例を示す説明図である。
【
図3】
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。
【
図4】
図4は、履歴情報管理テーブル400の記憶内容の一例を示す説明図である。
【
図5】
図5は、情報処理装置100の機能的構成例を示すブロック図である。
【
図6】
図6は、情報処理装置100の動作例を示す説明図(その1)である。
【
図7】
図7は、情報処理装置100の動作例を示す説明図(その2)である。
【
図8】
図8は、情報処理装置100の動作例を示す説明図(その3)である。
【
図9】
図9は、情報処理装置100の動作例を示す説明図(その4)である。
【
図10】
図10は、全体処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に、図面を参照して、本発明にかかる判定プログラム、判定方法、および情報処理装置の実施の形態を詳細に説明する。
【0011】
(実施の形態にかかる判定方法の一実施例)
図1は、実施の形態にかかる判定方法の一実施例を示す説明図である。情報処理装置100は、判定結果の根拠を解釈し易くする情報を提示するためのコンピュータである。情報処理装置100は、例えば、サーバ、または、PC(Personal Computer)などである。
【0012】
判定結果は、例えば、グラフデータに対する判定処理によって生成される。グラフデータは、例えば、1以上のノードと、ノード間を接続する1以上のエッジとによって形成されるグラフを示す。グラフデータは、例えば、化合物の構造を表すグラフを示す。判定結果は、例えば、ラベルとして採用され、グラフデータに対して付与されてもよい。
【0013】
判定処理は、例えば、グラフデータが示す化合物の特性を判定する処理である。判定処理は、具体的には、グラフデータが示す化合物に毒性があるか否かを判定する。判定処理は、具体的には、GNNモデルを用いて実施される。GNNモデルは、具体的には、グラフデータの入力に応じて、グラフデータに対する判定処理を実施し、判定結果を出力するモデルである。GNNモデルは、具体的には、グラフデータに対する判定処理を、ブラックボックス的に実施する。GNNモデルの一例については、具体的には、上記非特許文献1を参照することができる。
【0014】
ここで、利用者は、グラフデータに対する判定結果の根拠を把握したいと望むことがある。例えば、利用者は、以降、グラフデータが示す化合物を取り扱い、または、研究するために、グラフデータに対する判定結果を把握すると共に、判定結果の根拠を把握したいと望むことがある。
【0015】
ここで、GNNモデルは、例えば、グラフデータに対する判定処理をブラックボックス的に実施するものの、グラフデータに特定のトポロジー特徴が現れるか否かに応じて、判定処理を実施すると仮定する。GNNモデルは、具体的には、グラフデータに特定のトポロジー特徴が現れれば、グラフデータが示す化合物が特定のトポロジー特徴に対応する特定の特性を有すると判定すると仮定する。GNNモデルは、具体的には、グラフデータに特定のトポロジー特徴が現れなければ、グラフデータが示す化合物が特定のトポロジー特徴に対応する特定の特性を有さないと判定すると仮定する。
【0016】
上述した仮定に基づいて、グラフデータに対するGNNモデルの判定結果の根拠を推定し、利用者に提示可能にするGXAIモデルが考えられる。例えば、GXAIモデルは、グラフデータの入力に応じて、GNNの判定結果の根拠を表す、グラフデータの隣接行列の各要素に対応する、所定のトポロジー特徴に関するスコアを算出して出力する。例えば、GXAIモデルを用いれば、グラフデータに対するGNNモデルの判定結果の根拠として、グラフデータの隣接行列の各要素に対応する、所定のトポロジー特徴に関するスコアを、利用者が参照可能に出力することができる。
【0017】
しかしながら、利用者が、提示された判定結果の根拠を適切に解釈することが難しい場合がある。例えば、GNNモデルが、グラフデータに特定のトポロジー特徴が現れないために、グラフデータが示す化合物が特定のトポロジー特徴に対応する特定の特性を有さないと判定した場合が考えられる。この場合、GXAIモデルは、グラフデータに特定のトポロジー特徴が現れないため、グラフデータの隣接行列の各要素に対応するスコアの値が比較的小さくなるよう、グラフデータの隣接行列の各要素に対応するスコアを算出する。
【0018】
一方で、GXAIモデルの生成時、GXAIモデルの生成に用いる学習データ数の不足などの事情により、GXAIモデルの精度が悪くなってしまうことが考えられる。精度は、例えば、グラフデータに特定のトポロジー特徴が現れるか否かを判定する正確性である。例えば、精度が悪いGXAIモデルが、誤って、グラフデータに特定のトポロジー特徴が現れないと判定してしまい、グラフデータの隣接行列の各要素に対応するスコアの値が比較的小さくなってしまうことが考えられる。
【0019】
このように、グラフデータの隣接行列の各要素に対応するスコアの値が比較的小さいという事象は、グラフデータに特定のトポロジー特徴が現れないことを意味するとも、GXAIモデルの精度が悪いことを意味するとも解釈することができる。従って、利用者は、判定結果の根拠として提示された、グラフデータの隣接行列の各要素に対応するスコアの値が比較的小さいという事象を、適切に解釈することが難しい。
【0020】
例えば、利用者は、グラフデータの隣接行列の各要素に対応するスコアが比較的小さいという事象が、グラフデータに特定のトポロジー特徴が現れないことを意味すると解釈してもよいのか否かを、適切に判断することができない。例えば、利用者は、GXAIモデルの精度がよいことを信頼することができなければ、グラフデータの隣接行列の各要素に対応するスコアが比較的小さいという事象が、グラフデータに特定のトポロジー特徴が現れないことを意味すると納得することが難しい。
【0021】
そこで、本実施の形態では、判定結果の根拠を解釈し易くする情報を提示することができる判定方法について説明する。
【0022】
図1において、情報処理装置100は、記憶部110を有する。記憶部110は、所定の判定処理による、1以上のグラフデータのそれぞれのグラフデータの判定結果を記憶する。記憶部110は、例えば、
図4に後述する履歴情報管理テーブル400に対応する。
【0023】
所定の判定処理は、例えば、グラフデータの入力に応じて、グラフデータに対する判定処理を実施し、判定結果を出力する第1訓練済み機械学習モデルを用いて実施される。第1訓練済み機械学習モデルは、例えば、GNNモデルである。所定の判定処理は、具体的には、グラフデータが示す化合物に毒性があるか否かを判定する。情報処理装置100は、例えば、第1訓練済み機械学習モデルを記憶していてもよい。
【0024】
情報処理装置100は、グラフデータの入力に応じて、所定の判定処理によるグラフデータの判定結果の根拠を表す、グラフデータの所定の特徴に関する1以上のスコアを算出する第2訓練済み機械学習モデルを記憶する。所定の特徴は、例えば、トポロジー特徴である。トポロジー特徴は、例えば、グラフデータにおけるノード間の接続関係に現れる特徴である。第2訓練済み機械学習モデルは、例えば、GXAIモデルである。1以上のスコアは、例えば、グラフデータの隣接行列の各要素に対応するスコアを含む。
【0025】
情報処理装置100は、処理対象とする第1グラフデータ101を取得する。情報処理装置100は、例えば、利用者の操作入力に基づき、第1グラフデータ101の入力を受け付けることにより、第1グラフデータ101を取得する。情報処理装置100は、例えば、第1グラフデータ101を、他のコンピュータから受信することにより取得する。
【0026】
(1-1)情報処理装置100は、所定の判定処理による第1グラフデータ101の第1判定結果を取得する。情報処理装置100は、例えば、第1訓練済み機械学習モデルを用いて、取得した第1グラフデータ101に対して所定の判定処理を実施し、所定の判定処理による第1グラフデータ101の第1判定結果を生成することにより取得する。
【0027】
(1-2)情報処理装置100は、第2訓練済み機械学習モデルを用いて算出された、第1グラフデータ101の所定の特徴に関する1以上の第1スコアを取得する。1以上の第1スコアは、例えば、第1グラフデータ101の隣接行列の各要素に対応する、所定のトポロジー特徴に関するスコアである。情報処理装置100は、例えば、第2訓練済み機械学習モデルを用いて、取得した第1グラフデータ101の所定の特徴に関する1以上の第1スコアを算出することにより取得する。
【0028】
(1-3)情報処理装置100は、取得した1以上の第1スコアのすべての第1スコアが閾値未満である場合、記憶部110を参照して、1以上のグラフデータのうち、取得した第1判定結果とは異なる第2判定結果である第2グラフデータ102を特定する。第2判定結果は、例えば、第1判定結果とは逆の内容を示す判定結果である。
【0029】
(1-4)情報処理装置100は、特定した第2グラフデータ102の所定の特徴に関する情報を、取得した第1判定結果に対応付けて出力する。第2グラフデータ102の所定の特徴に関する情報は、例えば、第2グラフデータ102自体である。第2グラフデータ102の所定の特徴に関する情報は、例えば、第2訓練済み機械学習モデルを用いて算出された、第2グラフデータ102の所定の特徴に関する1以上の第2スコアであってもよい。
【0030】
1以上の第2スコアは、例えば、第2グラフデータ102の隣接行列の各要素に対応する、所定のトポロジー特徴に関するスコアである。1以上の第2スコアは、具体的には、第2訓練済み機械学習モデルを用いて算出された、第2グラフデータ102の隣接行列の各要素に対応する、所定のトポロジー特徴に関するスコアである。これにより、情報処理装置100は、第1判定結果の根拠を解釈し易くする情報を提示することができる。
【0031】
情報処理装置100は、例えば、第2グラフデータ102自体と、1以上の第1スコアとを、第1判定結果に対応付けて、利用者が参照可能に出力する。情報処理装置100は、具体的には、第1グラフデータ101と、1以上の第1スコアと、第2グラフデータ102と、第2判定結果とを、第1判定結果に対応付けて、利用者が参照可能に出力してもよい。
【0032】
これにより、情報処理装置100は、例えば、第1グラフデータ101と、第2グラフデータ102とを、利用者が比較可能にすることができる。情報処理装置100は、第1グラフデータ101と、第2グラフデータ102とを比較した結果を参照して、利用者が第1判定結果の根拠である1以上の第1スコアが、何を意味するのかを解釈し易くすることができる。
【0033】
情報処理装置100は、例えば、第2グラフデータ102の所定の特徴に関する1以上の第2スコアを、第1判定結果に対応付けて、利用者が参照可能に出力する。情報処理装置100は、具体的には、第1グラフデータ101と、1以上の第1スコアと、第2グラフデータ102と、1以上の第2スコアと、第2判定結果とを、第1判定結果に対応付けて、利用者が参照可能に出力してもよい。
【0034】
これにより、情報処理装置100は、例えば、1以上の第1スコアと、1以上の第2スコアとを、利用者が比較可能にすることができる。情報処理装置100は、1以上の第1スコアと、1以上の第2スコアとを比較した結果を参照して、利用者が第1判定結果の根拠である1以上の第1スコアが、何を意味するのかを解釈し易くすることができる。
【0035】
情報処理装置100は、取得した1以上の第1スコアの少なくともいずれかの第1スコアが閾値以上である場合、取得した1以上の第1スコアを、第1判定結果に対応付けて出力する。情報処理装置100は、取得した1以上の第1スコアの少なくともいずれかの第1スコアが閾値以上である場合、第2グラフデータ102を特定しなくてもよい。
【0036】
情報処理装置100は、例えば、第1グラフデータ101と、1以上の第1スコアとを、第1判定結果に対応付けて、利用者が参照可能に出力する。これにより、情報処理装置100は、利用者が第1判定結果の根拠である1以上の第1スコアを解釈可能にすることができる。
【0037】
ここでは、情報処理装置100が、第1グラフデータ101に対して所定の判定処理を実施する場合について説明したが、これに限らない。例えば、他のコンピュータが、第1グラフデータ101に対して所定の判定処理を実施する場合があってもよい。この場合、情報処理装置100は、例えば、所定の判定処理による第1グラフデータ101の第1判定結果を、他のコンピュータから受信することにより取得する。
【0038】
ここでは、情報処理装置100が、第2訓練済み機械学習モデルを用いて、第1グラフデータ101の所定の特徴に関する1以上の第1スコアを算出する場合について説明したが、これに限らない。例えば、他のコンピュータが、第2訓練済み機械学習モデルを用いて、第1グラフデータ101の所定の特徴に関する1以上の第1スコアを算出する場合があってもよい。この場合、情報処理装置100は、例えば、第1グラフデータ101の所定の特徴に関する1以上の第1スコアを、他のコンピュータから受信することにより取得する。
【0039】
ここでは、情報処理装置100が、単独で動作する場合について説明したが、これに限らない。例えば、上述したように、情報処理装置100が、他のコンピュータと協働する場合があってもよい。例えば、複数のコンピュータが、情報処理装置100としての機能を実現する場合があってもよい。具体的には、クラウド上に、情報処理装置100としての機能が実現される場合があってもよい。情報処理装置100が、他のコンピュータと協働する場合の一例については、具体的には、
図2を用いて後述する。
【0040】
(情報処理システム200の一例)
次に、
図2を用いて、
図1に示した情報処理装置100を適用した、情報処理システム200の一例について説明する。情報処理システム200は、
図1に示した情報処理装置100が、他のコンピュータと協働する場合に対応する。
【0041】
図2は、情報処理システム200の一例を示す説明図である。
図2において、情報処理システム200は、情報処理装置100と、判定処理装置201と、クライアント装置202とを含む。
【0042】
情報処理システム200において、情報処理装置100と判定処理装置201とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。また、情報処理システム200において、情報処理装置100とクライアント装置202とは、有線または無線のネットワーク210を介して接続される。
【0043】
情報処理装置100は、グラフデータに対する所定の判定処理による判定結果の根拠を解釈し易くする情報を提示可能にするためのコンピュータである。グラフデータは、グラフを表すデータである。グラフデータは、例えば、グラフを形成する1以上のノードと、ノード間を接続する1以上のエッジとを示す。所定の判定処理は、例えば、グラフデータが示す化合物の特性を判定する判定処理である。所定の判定処理は、例えば、GNNモデルを用いて実施される判定処理である。
【0044】
情報処理装置100は、1以上のグラフデータのそれぞれのグラフデータと、所定の判定処理による当該グラフデータの判定結果とを対応付けて、記憶部に記憶する。情報処理装置100は、例えば、それぞれのグラフデータと、所定の判定処理による当該グラフデータの判定結果とを対応付けたレコードを、
図4に後述する履歴情報管理テーブル400を用いて記憶する。
【0045】
情報処理装置100は、1以上のグラフデータのそれぞれのグラフデータと、当該グラフデータの判定結果の根拠として所定の算出処理により算出された当該グラフデータの隣接行列の各要素に対応するスコアとを対応付けて、記憶部に記憶していてもよい。所定の算出処理は、例えば、所定の判定処理によるグラフデータの判定結果の根拠を推定する推定処理である。
【0046】
所定の算出処理は、具体的には、所定の判定処理によるグラフデータの判定結果の根拠として、当該グラフデータの隣接行列の各要素に対応する、所定のトポロジー特徴に関するスコアを算出する算出処理である。情報処理装置100は、例えば、それぞれのグラフデータと、所定の算出処理により算出された当該グラフデータの隣接行列の各要素に対応するスコアとを対応付けたレコードを、
図4に後述する履歴情報管理テーブル400を用いて記憶する。
【0047】
情報処理装置100は、処理対象とする第1グラフデータを取得する。情報処理装置100は、例えば、処理対象とする第1グラフデータを含む判定依頼を、クライアント装置202から受信し、判定依頼から、処理対象とする第1グラフデータを抽出することにより取得する。
【0048】
情報処理装置100は、第1グラフデータに対して所定の判定処理および所定の算出処理を実施することを要求する第1処理要求を生成し、判定処理装置201に送信する。情報処理装置100は、第1処理要求に対する応答として、所定の判定処理による第1グラフデータの第1判定結果と、第1グラフデータの隣接行列の各要素に対応する第1スコアとを、判定処理装置201から受信する。情報処理装置100は、第1グラフデータの隣接行列の各要素に対応する第1スコアが閾値以上であるか否かを判定する。
【0049】
情報処理装置100は、第1グラフデータの隣接行列の全要素に対応する第1スコアが閾値未満であり、閾値以上の第1スコアが存在しない場合、記憶部から、第1判定結果とは異なる第2判定結果である第2グラフデータを検索する。情報処理装置100は、例えば、記憶部から、第1判定結果とは逆の内容を示す第2判定結果である第2グラフデータを検索する。
【0050】
情報処理装置100は、第2グラフデータを発見した場合、記憶部から、第2グラフデータの第2判定結果と、所定の算出処理により算出された第2グラフデータの隣接行列の各要素に対応する第2スコアとを取得する。情報処理装置100は、第1グラフデータと、第1判定結果と、第2グラフデータと、第2判定結果と、第2スコアとを、判定依頼の応答として、クライアント装置202に送信する。
【0051】
情報処理装置100は、第1グラフデータの隣接行列の少なくともいずれかの要素に対応する第1スコアが閾値以上である場合、第1判定結果と、第1スコアとを、判定依頼の応答として、クライアント装置202に送信する。情報処理装置100は、例えば、システム管理者によって用いられる。情報処理装置100は、例えば、サーバ、または、PCなどである。
【0052】
判定処理装置201は、グラフデータに対して所定の判定処理および所定の算出処理を実施するためのコンピュータである。判定処理装置201は、処理対象とする第1グラフデータを含む第1処理要求を、情報処理装置100から受信する。判定処理装置201は、受信した第1処理要求から、処理対象とする第1グラフデータを抽出することにより取得する。
【0053】
判定処理装置201は、取得した第1グラフデータに対して所定の判定処理を実施し、所定の判定処理による第1グラフデータの第1判定結果を生成する。判定処理装置201は、取得した第1グラフデータに対して所定の算出処理を実施し、第1グラフデータの隣接行列の各要素に対応する第1スコアを算出する。判定処理装置201は、生成した第1判定結果と、算出した第1スコアとを、情報処理装置100に送信する。判定処理装置201は、例えば、システム管理者によって用いられる。判定処理装置201は、例えば、サーバ、または、PCなどである。
【0054】
クライアント装置202は、システム利用者によって用いられるコンピュータである。システム利用者は、例えば、第1グラフデータの判定結果を参照および把握したいと考える作業者である。クライアント装置202は、例えば、システム利用者の操作入力に基づき、処理対象とする第1グラフデータを生成し、生成した第1グラフデータを含む判定依頼を生成する。クライアント装置202は、生成した判定依頼を、情報処理装置100に送信する。
【0055】
クライアント装置202は、判定依頼の応答を、情報処理装置100から受信する。クライアント装置202は、判定依頼の応答として、第1グラフデータと、第1判定結果と、第2グラフデータと、第2判定結果と、第2スコアとを受信する。クライアント装置202は、判定依頼の応答として受信した、第1グラフデータと、第1判定結果と、第2グラフデータと、第2判定結果と、第2スコアとを対応付けて、システム利用者が参照可能に出力する。
【0056】
クライアント装置202は、判定依頼の応答として、第1判定結果と、第1スコアとを、情報処理装置100から受信する。クライアント装置202は、判定依頼の応答として受信した、第1判定結果と、第1スコアとを対応付けて、システム利用者が参照可能に出力する。クライアント装置202は、例えば、PC、タブレット端末、または、スマートフォンなどである。
【0057】
ここでは、情報処理装置100と、判定処理装置201とが異なる装置である場合について説明したが、これに限らない。例えば、情報処理装置100が、判定処理装置201としての機能を有し、判定処理装置201としても動作する場合があってもよい。
【0058】
ここでは、情報処理装置100と、クライアント装置202とが異なる装置である場合について説明したが、これに限らない。例えば、情報処理装置100が、クライアント装置202としての機能を有し、クライアント装置202としても動作する場合があってもよい。以下の説明では、主に、情報処理装置100が単独で動作する場合について説明する。
【0059】
(情報処理システム200の利用例)
次に、
図2に示した情報処理システム200の利用例について説明する。情報処理システム200は、例えば、化合物を表すグラフデータを処理対象とする場合に利用することができる。情報処理システム200は、具体的には、作業者が、グラフデータが表す化合物が有する特性を判定した判定結果を参照および把握したいと考える場合に利用することができる。特性は、例えば、毒性の有無である。情報処理システム200は、具体的には、作業者が、グラフデータが表す化合物が有する特性を判定した判定結果の根拠または理由などを納得し易くすることができる。
【0060】
(情報処理装置100のハードウェア構成例)
次に、
図3を用いて、情報処理装置100のハードウェア構成例について説明する。
【0061】
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。
図3において、情報処理装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
【0062】
ここで、CPU301は、情報処理装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることにより、コーディングされている処理をCPU301に実行させる。メモリ302は、例えば、
図4に後述する履歴情報管理テーブル400を記憶する。
【0063】
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
【0064】
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、情報処理装置100から着脱可能であってもよい。
【0065】
情報処理装置100は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
【0066】
(履歴情報管理テーブル400の記憶内容)
次に、
図4を用いて、履歴情報管理テーブル400の記憶内容の一例について説明する。履歴情報管理テーブル400は、例えば、
図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
【0067】
図4は、履歴情報管理テーブル400の記憶内容の一例を示す説明図である。
図4に示すように、履歴情報管理テーブル400は、グラフデータと、判定結果と、スコアとのフィールドを有する。履歴情報管理テーブル400は、グラフデータごとに各フィールドに情報を設定することにより、履歴情報がレコード400-aとして記憶される。aは、任意の整数である。
【0068】
グラフデータのフィールドには、グラフデータが設定される。グラフデータのフィールドには、グラフデータを特定する情報が設定されていてもよい。判定結果のフィールドには、所定の判定処理による上記グラフデータの判定結果が設定される。判定結果のフィールドには、具体的には、GNNモデルによる上記グラフデータの判定結果が設定される。スコアのフィールドには、上記判定結果の根拠を表すスコアが設定される。
【0069】
スコアのフィールドには、例えば、上記グラフデータの隣接行列の各要素に対応する、所定のトポロジー特徴に関するスコアが設定される。スコアのフィールドには、具体的には、GXAIモデルにより算出された、上記グラフデータの隣接行列の各要素に対応する、所定のトポロジー特徴に関するスコアが設定される。
【0070】
(判定処理装置201のハードウェア構成例)
判定処理装置201のハードウェア構成例は、具体的には、
図3に示した情報処理装置100のハードウェア構成例と同様であるため、説明を省略する。
【0071】
(クライアント装置202のハードウェア構成例)
クライアント装置202のハードウェア構成例は、具体的には、
図3に示した情報処理装置100のハードウェア構成例と同様であるため、説明を省略する。
【0072】
(情報処理装置100の機能的構成例)
次に、
図5を用いて、情報処理装置100の機能的構成例について説明する。
【0073】
図5は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、記憶部500と、取得部501と、判定部502と、算出部503と、特定部504と、出力部505とを含む。
【0074】
記憶部500は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部500が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部500が、情報処理装置100とは異なる装置に含まれ、記憶部500の記憶内容が情報処理装置100から参照可能である場合があってもよい。
【0075】
取得部501~出力部505は、制御部の一例として機能する。取得部501~出力部505は、具体的には、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
【0076】
記憶部500は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部500は、例えば、第1訓練済み機械学習モデルを記憶する。第1訓練済み機械学習モデルは、例えば、グラフデータの入力に応じて、所定の判定処理によるグラフデータの判定結果の根拠を表す、当該グラフデータの所定の特徴に関する、当該グラフデータの隣接行列の各要素に対応するスコアを算出する訓練済み機械学習モデルである。第1訓練済み機械学習モデルは、具体的には、GXAIモデルである。
【0077】
所定の特徴は、例えば、グラフデータが表すグラフにおけるノード間の接続関係に関する特徴である。所定の特徴は、具体的には、ネットワークトポロジー特徴である。ノードは、例えば、グラフが表す化合物を形成する要素に対応する。記憶部500は、具体的には、第1訓練済み機械学習モデルを規定する第1パラメータを記憶する。第1訓練済み機械学習モデルは、例えば、予め自装置利用者によって設定される。自装置利用者は、例えば、グラフデータの判定結果を参照および把握したいと考える作業者である。第1訓練済み機械学習モデルは、例えば、取得部501によって取得されてもよい。
【0078】
所定の判定処理は、例えば、グラフデータに対応する特性を判定する判定処理である。所定の判定処理は、具体的には、グラフデータが示す化合物の特性を判定する判定処理である。所定の判定処理は、具体的には、第2訓練済み機械学習モデルによって実施される。第2訓練済み機械学習モデルは、例えば、グラフデータの入力に応じて、所定の判定処理によるグラフデータの判定結果を生成する訓練済み機械学習モデルである。第2訓練済み機械学習モデルは、具体的には、GNNモデルである。記憶部500は、例えば、第2訓練済み機械学習モデルを記憶する。記憶部500は、具体的には、第2訓練済み機械学習モデルを規定する第2パラメータを記憶する。第2訓練済み機械学習モデルは、例えば、予め自装置利用者によって設定される。第2訓練済み機械学習モデルは、例えば、取得部501によって取得されてもよい。
【0079】
記憶部500は、例えば、所定の判定処理による、1以上のグラフデータのそれぞれのグラフデータの判定結果を記憶する。記憶部500は、具体的には、第2訓練済み機械学習モデルを用いて生成された、1以上のグラフデータのそれぞれのグラフデータの判定結果を記憶する。記憶部500は、具体的には、
図4に示した履歴情報管理テーブル400を記憶する。判定結果は、例えば、判定部502によって生成される。判定結果は、例えば、取得部501によって取得されてもよい。
【0080】
記憶部500は、例えば、1以上のグラフデータのそれぞれのグラフデータの所定の特徴に関する、当該グラフデータの隣接行列の各要素に対応するスコアを記憶していてもよい。記憶部500は、具体的には、第1訓練済み機械学習モデルを用いて算出された、1以上のグラフデータのそれぞれのグラフデータの所定の特徴に関する、当該グラフデータの隣接行列の各要素に対応するスコアを記憶していてもよい。記憶部500は、具体的には、
図4に示した履歴情報管理テーブル400を記憶する。スコアは、例えば、算出部503によって算出される。スコアは、例えば、取得部501によって取得されてもよい。
【0081】
取得部501は、各機能部の処理に用いられる各種情報を取得する。取得部501は、取得した各種情報を、記憶部500に記憶し、または、各機能部に出力する。また、取得部501は、記憶部500に記憶しておいた各種情報を、各機能部に出力してもよい。取得部501は、例えば、自装置利用者の操作入力に基づき、各種情報を取得する。取得部501は、例えば、情報処理装置100とは異なる装置から、各種情報を受信してもよい。
【0082】
取得部501は、例えば、処理対象とする第1グラフデータを取得してもよい。取得部501は、具体的には、自装置利用者の操作入力に基づき、第1グラフデータの入力を受け付けることにより、第1グラフデータを取得する。取得部501は、具体的には、第1グラフデータを、他のコンピュータから受信することにより取得する。
【0083】
取得部501は、例えば、所定の判定処理による第1グラフデータの第1判定結果を取得してもよい。取得部501は、具体的には、自装置利用者の操作入力に基づき、所定の判定処理による第1グラフデータの第1判定結果の入力を受け付けることにより、第1判定結果を取得する。取得部501は、具体的には、所定の判定処理による第1グラフデータの第1判定結果を、他のコンピュータから受信することにより取得する。取得部501は、具体的には、所定の判定処理による第1グラフデータの第1判定結果を、自装置の判定部502で生成しない場合、第1判定結果を取得することが考えられる。
【0084】
取得部501は、例えば、第1グラフデータの所定の特徴に関する1以上の第1スコアを取得してもよい。1以上の第1スコアは、例えば、第1訓練済み機械学習モデルを用いて算出される。取得部501は、具体的には、自装置利用者の操作入力に基づき、第1グラフデータの所定の特徴に関する1以上の第1スコアの入力を受け付けることにより、1以上の第1スコアを取得する。取得部501は、具体的には、第1グラフデータの所定の特徴に関する1以上の第1スコアを、他のコンピュータから受信することにより取得する。取得部501は、具体的には、第1グラフデータの所定の特徴に関する1以上の第1スコアを、自装置の算出部503で算出しない場合、1以上の第1スコアを取得することが考えられる。
【0085】
取得部501は、例えば、第1訓練済み機械学習モデルを取得してもよい。取得部501は、具体的には、第1訓練済み機械学習モデルを規定する第1パラメータを取得する。取得部501は、より具体的には、自装置利用者の操作入力に基づき、第1訓練済み機械学習モデルを規定する第1パラメータの入力を受け付けることにより、第1訓練済み機械学習モデルを規定する第1パラメータを取得する。取得部501は、より具体的には、第1訓練済み機械学習モデルを規定する第1パラメータを、他のコンピュータから受信することにより取得する。
【0086】
取得部501は、例えば、第2訓練済み機械学習モデルを取得してもよい。取得部501は、具体的には、第2訓練済み機械学習モデルを規定する第2パラメータを取得する。取得部501は、より具体的には、自装置利用者の操作入力に基づき、第2訓練済み機械学習モデルを規定する第2パラメータの入力を受け付けることにより、第2訓練済み機械学習モデルを規定する第2パラメータを取得する。取得部501は、より具体的には、第2訓練済み機械学習モデルを規定する第2パラメータを、他のコンピュータから受信することにより取得する。
【0087】
取得部501は、例えば、1以上のグラフデータを取得してもよい。グラフデータは、例えば、サンプルとなる。取得部501は、具体的には、自装置利用者の操作入力に基づき、1以上のグラフデータの入力を受け付けることにより、1以上のグラフデータを取得する。取得部501は、具体的には、1以上のグラフデータを、他のコンピュータから受信することにより取得する。
【0088】
取得部501は、例えば、所定の判定処理による、1以上のグラフデータのそれぞれのグラフデータの判定結果を取得してもよい。取得部501は、具体的には、自装置利用者の操作入力に基づき、所定の判定処理による、1以上のグラフデータのそれぞれのグラフデータの判定結果の入力を受け付けることにより、判定結果を取得する。取得部501は、具体的には、所定の判定処理による、1以上のグラフデータのそれぞれのグラフデータの判定結果を、他のコンピュータから受信することにより取得する。
【0089】
取得部501は、例えば、1以上のグラフデータのそれぞれのグラフデータの所定の特徴に関する、当該グラフデータの隣接行列の各要素に対応するスコアを取得してもよい。取得部501は、具体的には、自装置利用者の操作入力に基づき、1以上のグラフデータのそれぞれのグラフデータの所定の特徴に関する、当該グラフデータの隣接行列の各要素に対応するスコアの入力を受け付けることにより、スコアを取得する。取得部501は、具体的には、1以上のグラフデータのそれぞれのグラフデータの所定の特徴に関する、当該グラフデータの隣接行列の各要素に対応するスコアを、他のコンピュータから受信することにより取得する。
【0090】
取得部501は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、自装置利用者による所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。
【0091】
取得部501は、例えば、第1グラフデータを取得したことを、判定部502と、算出部503と、特定部504との処理を開始する開始トリガーとして受け付けてもよい。取得部501は、例えば、第1判定結果と、1以上の第1スコアとを取得したことを、特定部504の処理を開始する開始トリガーとして受け付けてもよい。
【0092】
判定部502は、グラフデータに対する所定の判定処理を実施し、グラフデータの判定結果を生成する。判定部502は、例えば、所定の判定処理による第1グラフデータの第1判定結果を生成する。判定部502は、具体的には、第2訓練済み機械学習モデルに対して、第1グラフデータを入力することにより、第2訓練済み機械学習モデルによって、所定の判定処理による第1グラフデータの第1判定結果を生成する。判定部502は、具体的には、第1グラフデータと、第1グラフデータの第1判定結果とを対応付けて、記憶部500に記憶してもよい。これにより、判定部502は、第1グラフデータの第1判定結果を、作業者が参照可能にすることができる。
【0093】
判定部502は、例えば、所定の判定処理による1以上のグラフデータのそれぞれのグラフデータの判定結果を生成してもよい。判定部502は、具体的には、第2訓練済み機械学習モデルに対して、1以上のグラフデータのそれぞれのグラフデータを入力することにより、第2訓練済み機械学習モデルによって、所定の判定処理によるそれぞれのグラフデータの判定結果を生成する。判定部502は、具体的には、1以上のグラフデータのそれぞれのグラフデータと、当該グラフデータの判定結果とを対応付けて、記憶部500に記憶する。これにより、判定部502は、記憶部500の記憶内容を適切に更新することができる。
【0094】
算出部503は、所定の算出処理を実施し、グラフデータの所定の特徴に関する1以上のスコアを算出する。所定の算出処理は、例えば、所定の判定処理によるグラフデータの判定結果の根拠を推定する推定処理である。所定の算出処理は、具体的には、所定の判定処理によるグラフデータの判定結果の根拠として、当該グラフデータの隣接行列の各要素に対応する、所定の特徴に関するスコアを算出する算出処理である。
【0095】
算出部503は、例えば、第1グラフデータの所定の特徴に関する1以上の第1スコアを算出する。算出部503は、具体的には、第1訓練済み機械学習モデルに対して第1グラフデータを入力することにより、第1訓練済み機械学習モデルによって、1以上の第1スコアを算出する。算出部503は、第1グラフデータと、算出した1以上の第1スコアとを対応付けて、記憶部500に記憶してもよい。これにより、算出部503は、第1判定結果の根拠を表す根拠情報を得ることができる。
【0096】
算出部503は、例えば、特定部504で特定した第2グラフデータの所定の特徴に関する1以上の第2スコアを算出してもよい。算出部503は、具体的には、第1訓練済み機械学習モデルに対して、第2グラフデータを入力することにより、第1訓練済み機械学習モデルによって、1以上の第2スコアを算出する。算出部503は、第2グラフデータと、算出した1以上の第2スコアとを対応付けて、記憶部500に記憶してもよい。これにより、算出部503は、第1判定結果の根拠を表す根拠情報を解釈し易くするための参考情報となる1以上の第2スコアを得ることができる。
【0097】
算出部503は、例えば、1以上のグラフデータのそれぞれのグラフデータの所定の特徴に関する1以上のスコアを算出してもよい。算出部503は、具体的には、第1訓練済み機械学習モデルに対して1以上のグラフデータのそれぞれのグラフデータを入力することにより、第1訓練済み機械学習モデルによって、1以上の第1スコアを算出する。算出部503は、1以上のグラフデータのそれぞれのグラフデータと、算出した1以上のスコアとを対応付けて、記憶部500に記憶してもよい。これにより、算出部503は、記憶部500の記憶内容を適切に更新することができる。
【0098】
特定部504は、取得した1以上の第1スコアのそれぞれの第1スコアが閾値未満であるか否かを判定する。閾値は、例えば、予め自装置利用者によって設定される。例えば、1以上の第1スコアのすべての第1スコアが閾値未満であり、1以上の第1スコアのうち、閾値以上である第1スコアが存在しない場合が考えられる。
【0099】
この場合、特定部504は、記憶部500を参照して、1以上のグラフデータのうち、取得した第1判定結果とは異なる第2判定結果である第2グラフデータを特定する。特定部504は、例えば、記憶部500を参照して、第1判定結果と逆の内容を示す第2判定結果に対応付けられた第2グラフデータを特定する。これにより、特定部504は、第1判定結果の根拠を表す根拠情報を解釈し易くするための参考情報となる第2グラフデータを得ることができる。
【0100】
特定部504は、例えば、1以上のグラフデータのそれぞれのグラフデータについて、当該グラフデータと、第1グラフデータとの差異の大きさを示す指標値を算出してもよい。指標値は、例えば、それぞれのグラフデータが表すグラフ間の距離である。指標値は、例えば、それぞれのグラフデータの類似度を示す。
【0101】
指標値は、例えば、グラフのノードのパラメータを各次元とする多次元空間における、それぞれのグラフデータが表すグラフ間の距離である。ノードのパラメータは、例えば、ノードの内容を示す。ノードのパラメータは、例えば、ノードに対応する化合物を形成する要素の種類を示していてもよい。距離は、例えば、ユークリッド距離である。
【0102】
指標値は、例えば、それぞれのグラフデータが表すグラフのうち、一方のグラフに、何本のエッジを追加または削除すれば、他方のグラフと一致するのかを示す。指標値は、例えば、追加または削除するエッジの本数によって表現される。指標値は、例えば、それぞれのグラフデータの隣接行列同士の差異の大きさを示していてもよい。指標値は、具体的には、隣接行列の各要素の値を各次元とする多次元空間における、それぞれのグラフデータの隣接行列同士の距離であってもよい。指標値は、例えば、それぞれのグラフデータが表す化合物同士の差異の大きさを示していてもよい。指標値は、具体的には、それぞれのグラフデータが表す化合物同士の特性値の差分であってもよい。
【0103】
これにより、特定部504は、第2グラフデータを特定する指針を得ることができ、第2グラフデータの候補が複数存在する場合、第2グラフデータを特定し易くすることができる。特定部504は、第2グラフデータの候補のうち、第1グラフデータと比較する対象として適切な第2グラフデータを特定し易くすることができる。
【0104】
特定部504は、具体的には、1以上の第1スコアのうち、閾値以上である第1スコアが存在しない場合、1以上のグラフデータのそれぞれのグラフデータについて、当該グラフデータと、第1グラフデータとの差異の大きさを示す指標値を算出してもよい。これにより、特定部504は、指標値を算出する処理による処理負担の増大化を抑制することができる。
【0105】
上述したように、1以上の第1スコアのすべての第1スコアが閾値未満であり、1以上の第1スコアのうち、閾値以上である第1スコアが存在しない場合がある。この場合、特定部504は、例えば、記憶部500を参照して、1以上のグラフデータのうち、取得した第1判定結果とは異なる第2判定結果であり、かつ、算出した指標値が基準値未満である第2グラフデータを特定してもよい。基準値は、例えば、予め自装置利用者によって設定される。
【0106】
これにより、特定部504は、第1判定結果の根拠を表す根拠情報を解釈し易くするための参考情報となる第2グラフデータを得ることができる。特定部504は、第2グラフデータの候補のうち、第1グラフデータと比較する対象として適切な第2グラフデータを特定し易くすることができる。特定部504は、例えば、第2グラフデータの候補のうち、第1グラフデータと比較的類似したグラフを表すものの判定結果が異なる第2グラフデータの候補を、第2グラフデータとして特定することができる。
【0107】
ここで、第2グラフデータの候補が、第1グラフデータと比較的類似したグラフを表すものの、第1グラフデータと判定結果が異なるとすれば、当該候補と、第1グラフデータとの相違点は、判定結果の差異を生じる原因と考えられる。第1グラフデータと判定結果が異なる第2グラフデータの候補が、第1グラフデータと類似する度合いが大きいほど、当該候補と、第1グラフデータとの相違点は、判定結果の差異を生じる原因のみを表す確率が高くなると考えられる。従って、情報処理装置100は、第1グラフデータと比較する対象として適切な第2グラフデータを特定し易くすることができる。
【0108】
出力部505は、少なくともいずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部505は、少なくともいずれかの機能部の処理結果を自装置利用者に通知可能にし、情報処理装置100の利便性の向上を図ることができる。
【0109】
出力部505は、特定した第2グラフデータの所定の特徴に関する情報を、取得した第1判定結果に対応付けて出力する。所定の特徴に関する情報は、例えば、第2グラフデータ自体である。所定の特徴に関する情報は、例えば、1以上の第2スコアであってもよい。これにより、出力部505は、第1グラフデータを利用する作業者が、第1グラフデータの第1判定結果の根拠を解釈し易くすることができる。
【0110】
出力部505は、第2判定結果と、第2グラフデータと、1以上の第2スコアとを、取得した第1判定結果に対応付けて出力する。これにより、出力部505は、第1グラフデータの第1判定結果の根拠を解釈し易くなるよう、第2判定結果と、第2グラフデータと、1以上の第2スコアとを、第1グラフデータを利用する作業者が参照可能にすることができる。
【0111】
出力部505は、記憶部500に記憶された第2判定結果と、特定した第2グラフデータと、算出した1以上の第2スコアと、第1グラフデータと、取得した1以上の第1スコアとを、取得した第1判定結果に対応付けて出力する。これにより、出力部505は、第1グラフデータの第1判定結果の根拠となる1以上の第1スコアを、第1グラフデータを利用する作業者が参照可能にすることができる。出力部505は、第1グラフデータの第1判定結果の根拠を解釈し易くなるよう、第2判定結果と、第2グラフデータと、1以上の第2スコアとを、第1グラフデータを利用する作業者が参照可能にすることができる。
【0112】
出力部505は、取得した1以上の第1スコアの少なくともいずれかの第1スコアが閾値以上である場合、第1グラフデータと、1以上の第1スコアとを、第1判定結果に対応付けて出力する。これにより、出力部505は、第1グラフデータの第1判定結果の根拠となる1以上の第1スコアを、第1グラフデータを利用する作業者が参照可能にすることができる。
【0113】
ここでは、情報処理装置100が、取得部501と、判定部502と、算出部503と、特定部504と、出力部505とを含む場合について説明したが、これに限らない。例えば、情報処理装置100が、いずれかの機能部を含まない場合があってもよい。例えば、情報処理装置100が、判定部502と、算出部503とを含まない場合があってもよい。この場合、情報処理装置100は、第1判定結果、および、1以上の第1スコアなどを、取得部501で取得することが考えられる。
【0114】
(情報処理装置100の動作例)
次に、
図6~
図9を用いて、情報処理装置100の動作例について説明する。
【0115】
図6~
図9は、情報処理装置100の動作例を示す説明図である。
図6~
図9において、情報処理装置100は、学習済みGNNモデル601を記憶する。学習済みGNNモデル601は、グラフインスタンスの入力に応じて、所定の判定処理による当該グラフインスタンスの判定結果を生成して出力するモデルである。
【0116】
グラフインスタンスは、化合物に対応するグラフデータである。グラフインスタンスは、例えば、グラフを表す。グラフインスタンスは、具体的には、グラフを形成する1以上のノードと、ノード間を接続する1以上のエッジとを示す。所定の判定処理は、化合物に毒性があるか否かを判定する判定処理である。判定結果は、化合物に毒性があるか否かを示す。
【0117】
情報処理装置100は、学習済みGXAIモデル602を記憶する。学習済みGXAIモデル602は、グラフインスタンスの入力に応じて、当該グラフインスタンスが表すグラフの隣接行列の各要素に対応するスコアを算出して出力するモデルである。スコアは、学習済みGNNモデル601により生成されたグラフインスタンスの判定結果の根拠を表す。
【0118】
情報処理装置100は、1以上のグラフインスタンスのそれぞれのグラフインスタンスと、学習済みGNNモデル601により生成された、当該グラフインスタンスの判定結果とを対応付けたレコードを含む履歴情報管理テーブル400を記憶する。レコードは、さらに、学習済みGXAIモデル602により算出された、グラフインスタンスが表すグラフの隣接行列の各要素に対応するスコアを示すスコア行列を、グラフインスタンスに対応付けて含んでいてもよい。ここで、スコア行列のそれぞれのスコアの行番号および列番号は、具体的には、グラフインスタンスが表すグラフの隣接行列のそれぞれの要素の行番号および列番号に対応する。
【0119】
図6において、情報処理装置100は、処理対象とする化合物Aのグラフインスタンス600を取得する。グラフインスタンス600は、化合物Aに対応するグラフインスタンスである。グラフインスタンス600は、例えば、グラフを表す。グラフインスタンス600は、具体的には、グラフを形成する1以上のノードと、ノード間を接続する1以上のエッジとを示す。グラフインスタンス600は、具体的には、化合物Aに毒性があるか否かを把握しようと考えた作業者によって指定される。
【0120】
(6-1)情報処理装置100は、グラフインスタンス600を、学習済みGNNモデル601に入力することにより、グラフインスタンス600の判定結果611を生成する。判定結果611は、グラフインスタンス600に対応する化合物Aに毒性があるか否かを示す。判定結果611は、例えば、化合物Aに毒性があるか否かを示すフラグ情報を含む。フラグ情報は、例えば、値が1であれば、毒性があることを示し、値が0であれば、毒性がないことを示す。
図6の例では、判定結果611は、具体的には、値が1のフラグ情報を含み、化合物Aに毒性があることを示す。
【0121】
(6-2)情報処理装置100は、グラフインスタンス600を、学習済みGXAIモデル602に入力することにより、グラフインスタンス600が表すグラフの隣接行列の各要素に対応するスコアを算出する。スコアは、グラフインスタンス600の判定結果611の根拠を表す。情報処理装置100は、算出したグラフインスタンス600が表すグラフの隣接行列の各要素に対応するスコアを示すスコア行列612を記憶する。情報処理装置100は、グラフインスタンス600と、グラフインスタンス600の判定結果611と、スコア行列612とを対応付けたレコードを、履歴情報管理テーブル400に追加しておいてもよい。
【0122】
(6-3)情報処理装置100は、スコア行列612が示すそれぞれのスコアがThreshold以下であるか否かを判定する。例えば、Threshold=0.3である。図中では、Thresholdより大きいスコアは、ハッチを付して示される。
【0123】
図6の例では、情報処理装置100は、スコア行列612のうち、1行2列目のスコアと、1行3列目のスコアと、2行1列目のスコアと、2行3列目のスコアと、3行1列目のスコアと、3行2列目のスコアとが、Thresholdより大きいと判定する。情報処理装置100は、スコア行列612のうち、1行2列目のスコアと、1行3列目のスコアと、2行1列目のスコアと、2行3列目のスコアと、3行1列目のスコアと、3行2列目のスコアとを除いたスコアが、Threshold以下であると判定する。
【0124】
(6-4)情報処理装置100は、スコア行列612のうち、少なくともいずれかのスコアがThresholdより大きい場合、判定結果611と共に、判定結果611の根拠を表す根拠情報を出力する。根拠情報は、例えば、スコア行列612である。
【0125】
根拠情報は、例えば、スコア行列612のうち、Thresholdより大きいスコアに対応する、化合物Aを表すグラフ内のノードおよびエッジを識別可能に、当該グラフを示すグラフインスタンス620であってもよい。情報処理装置100は、具体的には、スコア行列612と、グラフインスタンス620とを対応付けて、作業者が参照可能に出力する。
【0126】
これにより、情報処理装置100は、判定結果611を、作業者が参照可能にすることができる。情報処理装置100は、判定結果611の根拠を表す根拠情報を、作業者が参照可能にすることができる。情報処理装置100は、作業者が、判定結果611の根拠を表す根拠情報を参照して、判定結果611の根拠または理由などを納得し易くすることができる。次に、
図7の説明に移行する。
【0127】
図7において、情報処理装置100は、処理対象とする化合物Bのグラフインスタンス700を取得する。グラフインスタンス700は、化合物Bに対応するグラフインスタンスである。グラフインスタンス700は、例えば、グラフを表す。グラフインスタンス700は、具体的には、グラフを形成する1以上のノードと、ノード間を接続する1以上のエッジとを示す。グラフインスタンス700は、具体的には、化合物Bに毒性があるか否かを把握しようと考えた作業者によって指定される。
【0128】
(7-1)情報処理装置100は、グラフインスタンス700を、学習済みGNNモデル601に入力することにより、グラフインスタンス700の判定結果711を生成する。判定結果711は、グラフインスタンス700に対応する化合物Bに毒性があるか否かを示す。判定結果711は、例えば、化合物Bに毒性があるか否かを示すフラグ情報を含む。フラグ情報は、例えば、値が1であれば、毒性があることを示し、値が0であれば、毒性がないことを示す。
図7の例では、判定結果711は、具体的には、値が0のフラグ情報を含み、化合物Bに毒性がないことを示す。
【0129】
(7-2)情報処理装置100は、グラフインスタンス700を、学習済みGXAIモデル602に入力することにより、グラフインスタンス700が表すグラフの隣接行列の各要素に対応するスコアを算出する。スコアは、グラフインスタンス700の判定結果711の根拠を表す。情報処理装置100は、算出したグラフインスタンス700が表すグラフの隣接行列の各要素に対応するスコアを示すスコア行列712を記憶する。
【0130】
(7-3)情報処理装置100は、スコア行列712が示すそれぞれのスコアがThreshold以下であるか否かを判定する。
図7の例では、情報処理装置100は、スコア行列712のうち、すべてのスコアが、Threshold以下であると判定する。
【0131】
(7-4)情報処理装置100は、スコア行列712のうち、すべてのスコアがThreshold以下である場合、判定結果711の根拠を表す根拠情報を補助する参考情報を生成する。根拠情報は、例えば、スコア行列712である。根拠情報は、例えば、スコア行列712のうち、Thresholdより大きいスコアが存在しないことを識別可能に、化合物Bを表すグラフを示すグラフインスタンス720であってもよい。次に、
図8の説明に移行する。
【0132】
図8において、情報処理装置100は、判定結果711の根拠を表す根拠情報を補助する参考情報を生成する。情報処理装置100は、例えば、履歴情報管理テーブル400を参照して、判定結果711の根拠を表す根拠情報を補助する参考情報として、判定結果711とは逆の内容を示す判定結果であるいずれかのグラフインスタンスを特定する。情報処理装置100は、例えば、判定結果711のフラグ情報=0であるため、履歴情報管理テーブル400を参照して、判定結果711の根拠を表す根拠情報を補助する参考情報として、フラグ情報=1であるいずれかのグラフインスタンスを特定する。
【0133】
図8の例では、情報処理装置100は、具体的には、履歴情報管理テーブル400を参照して、グラフインスタンス700と、フラグ情報=1であるそれぞれのグラフインスタンスとの距離を算出する。距離は、例えば、グラフインスタンスのパラメータを各次元とする多次元空間800上の距離である。距離を算出する手法については、具体的には、下記参考文献1を参照することができる。
【0134】
参考文献1 : Goddard, Wayne, and Ortrud R. Oellermann. “Distance in graphs.” Structural Analysis of Complex Networks. Birkhauser Boston, 2011. 49-72.
【0135】
また、情報処理装置100は、履歴情報管理テーブル400を参照して、多次元空間800を、毒性がない化合物を表すグラフを示すグラフインスタンスが存在する領域と、毒性がある化合物を表すグラフを示すグラフインスタンスが存在する領域とに分割する。
【0136】
便宜上、図中では、多次元空間800を形成するいずれかの2次元平面を示す。図中の○は、フラグ情報=0であるグラフインスタンスに対応する位置を示す。図中の×は、フラグ情報=1であるグラフインスタンスに対応する位置を示す。図中の△は、具体的には、グラフインスタンス700に対応する位置を示す。図中の□は、具体的には、フラグ情報=1であるグラフインスタンスの一例に対応する位置を示す。
【0137】
図中のハッチ領域は、毒性がない化合物を表すグラフを示すグラフインスタンスが存在する領域に対応する。図中の無地領域は、具体的には、毒性がある化合物を表すグラフを示すグラフインスタンスが存在する領域に対応する。
【0138】
情報処理装置100は、具体的には、分割した毒性がある化合物を表すグラフを示すグラフインスタンスが存在する領域に存在し、フラグ情報=1である1以上のグラフインスタンスを特定する。情報処理装置100は、具体的には、特定した1以上のグラフインスタンスのうち、算出した距離が比較的短いグラフインスタンス801を、参考情報として特定する。グラフインスタンス801は、例えば、グラフインスタンス600である。ある判定結果とは逆の内容を示す判定結果であるいずれかのグラフインスタンスを特定する一例については、具体的には、下記参考文献2を参照することができる。
【0139】
参考文献2 : Kanamori, Kentaro, et al. “DACE: Distribution-Aware Counterfactual Explanation by Mixed-Integer Linear Optimization.” IJCAI. 2020.
【0140】
情報処理装置100は、参考情報として、特定したグラフインスタンス801が表すグラフの隣接行列の各要素に対応するスコアを算出してもよい。情報処理装置100は、判定結果711と共に、判定結果711の根拠を表す根拠情報と、判定結果711の根拠を表す根拠情報を補助する参考情報とを出力する。情報処理装置100は、具体的には、スコア行列712と、グラフインスタンス720とを、特定したグラフインスタンス801とを対応付けて、作業者が参照可能に出力する。
【0141】
これにより、情報処理装置100は、判定結果711を、作業者が参照可能にすることができる。情報処理装置100は、判定結果711の根拠を表す根拠情報を、作業者が参照可能にすることができる。情報処理装置100は、判定結果711の根拠を表す根拠情報を補助する参考情報を、作業者が参照可能にすることができる。
【0142】
情報処理装置100は、作業者が、判定結果711の根拠を表す根拠情報を補助する参考情報を参照して、判定結果711の根拠を表す根拠情報が、何を意味するのかを解釈し易くすることができる。情報処理装置100は、例えば、作業者が、グラフインスタンス700と、グラフインスタンス801とを比較可能にすることができる。
【0143】
情報処理装置100は、具体的には、作業者が、比較した結果に基づいて、グラフインスタンス801が表すグラフが有するトポロジー特徴が、グラフインスタンス700が表すグラフには現れないことを把握可能にすることができる。このため、情報処理装置100は、作業者が、判定結果711の根拠を表す根拠情報が、何を意味するのかを解釈し易くすることができる。
【0144】
そして、情報処理装置100は、作業者が、判定結果711の根拠を表す根拠情報を解釈した結果に基づいて、判定結果711の根拠または理由などを納得し易くすることができる。次に、
図9の説明に移行し、情報処理装置100が、参考情報を生成するか否かを、どのように制御するのかについて詳細に説明する。
【0145】
図9において、スコア行列612のように、少なくともいずれかのスコアがThresholdより大きい場合が考えられる。この場合、グラフインスタンス600が表すグラフは、判定結果611の根拠となり得るトポロジー特徴を有すると考えられる。また、Thresholdより大きいいずれかのスコアが、グラフインスタンス600が表すグラフのいずれの箇所に、トポロジー特徴が現れるのかを表すと考えられる。箇所は、例えば、ノードおよびエッジの組み合わせである。
【0146】
このため、作業者は、少なくともいずれかのスコアがThresholdより大きい場合、当該いずれかのスコアを、判定結果611の根拠として納得し易く、当該いずれかのスコアが、何を意味するのかを解釈し易いと考えられる。従って、この場合、情報処理装置100は、判定結果611の根拠を表す根拠情報を補助する参考情報を生成しなくてもよいと判断することができる。
【0147】
情報処理装置100は、判定結果611の根拠を表す根拠情報を補助する参考情報を生成せずに済ませることができ、処理負担の増大化を抑制することができる。情報処理装置100は、判定結果611の根拠を表す根拠情報を出力することができ、作業者が、判定結果611の根拠を表す根拠情報を参照して、判定結果611の根拠または理由などを納得し易くすることができる。
【0148】
一方で、スコア行列712のように、いずれのスコアもThreshold以下であり、Thresholdより大きいスコアが存在しない場合が考えられる。この場合、グラフインスタンス700が表すグラフは、判定結果711の根拠となり得るトポロジー特徴を有さないと考えられる。換言すれば、判定結果711の根拠は、グラフインスタンス700が表すグラフが、特定のトポロジー特徴を有さないことである。
【0149】
しかしながら、作業者は、いずれのスコアもThreshold以下である場合、当該スコアを参照しても、グラフインスタンス700が表すグラフが、特定のトポロジー特徴を有さないことを、判定結果711の根拠として納得することが難しい。例えば、作業者は、いずれのスコアもThreshold以下であることを、GXAIモデル602の精度が悪いことを示すと解釈し、判定結果711の根拠として納得し難いことがある。
【0150】
従って、この場合、情報処理装置100は、判定結果711の根拠を表す根拠情報を補助する参考情報を生成することが好ましいと判断することができる。情報処理装置100は、参考情報として、判定結果711とは逆の内容を示す判定結果である、グラフインスタンス700と比較する他のグラフインスタンスを特定することができる。情報処理装置100は、例えば、判定結果711とは逆の内容を示す判定結果であるため、特定のトポロジー特徴を有すると考えられるグラフを表す他のグラフインスタンスを特定することができる。
【0151】
情報処理装置100は、特定したグラフインスタンスを、グラフインスタンス700と比較可能に出力することができる。情報処理装置100は、作業者が、特定のトポロジー特徴を有さないグラフを表すグラフインスタンス700と、特定のトポロジー特徴を有すると考えられるグラフを表す他のグラフインスタンスとを比較可能にすることができる。
【0152】
このため、情報処理装置100は、作業者が、いずれのスコアもThreshold以下であることを示す根拠情報に対して、グラフインスタンス700が表すグラフが特定のトポロジー特徴を有さないことを示すと解釈し易くすることができる。情報処理装置100は、作業者が、いずれのスコアもThreshold以下であることを示す根拠情報に対して、GXAIモデル602の精度が悪いことを示すと解釈せずに済ませることができる。
【0153】
このように、情報処理装置100は、作業者が、判定結果711の根拠を表す根拠情報を補助する参考情報を参照して、判定結果711の根拠を表す根拠情報が、何を意味するのかを解釈し易くすることができる。そして、情報処理装置100は、作業者が、判定結果711の根拠を表す根拠情報が、何を意味するのかを解釈し易くすることができる。
【0154】
(全体処理手順)
次に、
図10を用いて、情報処理装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0155】
図10は、全体処理手順の一例を示すフローチャートである。
図10において、情報処理装置100は、学習済みGNNモデルと、学習済みGXAIモデルと、対象のグラフインスタンスとを取得する(ステップS1001)。
【0156】
次に、情報処理装置100は、学習済みGNNモデルを用いて、対象のグラフインスタンスに対する判定処理を実施し、判定結果を表すラベルを取得し、対象のグラフインスタンスに付与する(ステップS1002)。そして、情報処理装置100は、学習済みGXAIモデルを用いて、対象のグラフインスタンスに対する算出処理を実施し、判定結果の根拠として、隣接行列の各要素に対応するスコアを算出する(ステップS1003)。
【0157】
次に、情報処理装置100は、算出したスコアのうち、閾値以上のスコアが存在するか否かを判定する(ステップS1004)。ここで、閾値以上のスコアが存在する場合(ステップS1004:Yes)、情報処理装置100は、ステップS1007の処理に移行する。一方で、閾値以上のスコアが存在しない場合(ステップS1004:No)、情報処理装置100は、ステップS1005の処理に移行する。
【0158】
ステップS1005では、情報処理装置100は、対象のグラフインスタンスに付与したラベルとは反対の判定結果を示す逆ラベルが付与された他のグラフインスタンスと、当該逆ラベルとを抽出する(ステップS1005)。
【0159】
次に、情報処理装置100は、取得した対象のグラフインスタンスと、取得したラベルと、抽出した他のグラフインスタンスと、抽出した逆ラベルと、算出したスコアとを対応付けて出力する(ステップS1006)。そして、情報処理装置100は、全体処理を終了する。
【0160】
ステップS1007では、情報処理装置100は、取得した対象のグラフインスタンスと、取得したラベルと、算出したスコアとを対応付けて出力する(ステップS1007)。そして、情報処理装置100は、全体処理を終了する。これにより、情報処理装置100は、作業者が、ラベルとした判定結果の根拠を解釈し易くすることができる。
【0161】
ここで、情報処理装置100は、
図10の一部ステップの処理の順序を入れ替えて実行してもよい。例えば、ステップS1002,S1003の処理の順序は入れ替え可能である。また、情報処理装置100は、
図10の一部ステップの処理を省略してもよい。
【0162】
以上説明したように、情報処理装置100によれば、所定の判定処理による第1グラフデータの第1判定結果を取得することができる。情報処理装置100によれば、第1訓練済み機械学習モデルを用いて算出された、第1グラフデータの所定の特徴に関する1以上の第1スコアを取得することができる。情報処理装置100によれば、取得した1以上の第1スコアのすべての第1スコアが閾値未満である場合、記憶部500を参照して、1以上のグラフデータのうち、取得した第1判定結果とは異なる第2判定結果である第2グラフデータを特定することができる。情報処理装置100によれば、特定した第2グラフデータの所定の特徴に関する情報を、取得した第1判定結果に対応付けて出力することができる。これにより、情報処理装置100は、作業者が、1以上の第1スコアを解釈し易くすることができ、第1判定結果を理解し易くすることができる。
【0163】
情報処理装置100によれば、第1訓練済み機械学習モデルを用いて、特定した第2グラフデータの所定の特徴に関する1以上の第2スコアを算出することができる。情報処理装置100によれば、第2判定結果と、特定した第2グラフデータと、算出した1以上の第2スコアとを、取得した第1判定結果に対応付けて出力することができる。これにより、情報処理装置100は、作業者が、第2グラフデータと、1以上の第2スコアとを参照可能にすることができ、効率よく、1以上の第1スコアを解釈し易くすることができ、第1判定結果を理解し易くすることができる。
【0164】
情報処理装置100によれば、第2判定結果と、特定した第2グラフデータと、算出した1以上の第2スコアと、第1グラフデータと、取得した1以上の第1スコアとを、取得した第1判定結果に対応付けて出力することができる。これにより、情報処理装置100は、作業者が、第2グラフデータと、1以上の第2スコアとの組み合わせと、第1グラフデータと、1以上の第1スコアとの組み合わせとを比較可能にすることができる。このため、情報処理装置100は、作業者が、効率よく、1以上の第1スコアを解釈し易くすることができ、第1判定結果を理解し易くすることができる。
【0165】
情報処理装置100によれば、取得した1以上の第1スコアの少なくともいずれかの第1スコアが閾値以上である場合、第1グラフデータと、取得した1以上の第1スコアとを、取得した第1判定結果に対応付けて出力することができる。これにより、情報処理装置100は、作業者が、第1判定結果の根拠を表す1以上の第1スコアを参照可能にすることができる。情報処理装置100は、第2グラフデータを特定せずに済ませることができ、処理負担の増大化を抑制することができる。
【0166】
情報処理装置100によれば、グラフデータの入力に応じて、所定の判定処理によるグラフデータの判定結果の根拠を表す、グラフデータの所定の特徴に関する、グラフデータの隣接行列の各要素に対応するスコアを算出する第1訓練済み機械学習モデルを記憶することができる。これにより、情報処理装置100は、比較的精度よく算出された1以上の第1スコアを取得可能にすることができ、1以上の第1スコアを解釈し易くすることができる。
【0167】
情報処理装置100によれば、1以上のグラフデータのそれぞれのグラフデータについて、当該グラフデータと、第1グラフデータとの差異の大きさを示す指標値を算出することができる。情報処理装置100によれば、1以上の第1スコアのすべての第1スコアが閾値未満である場合、1以上のグラフデータのうち、取得した第1判定結果とは異なる第2判定結果であり、算出した指標値が基準値未満である第2グラフデータを特定することができる。これにより、情報処理装置100は、第1グラフデータと比較する対象として適切な第2グラフデータを特定し易くすることができる。
【0168】
情報処理装置100によれば、第1訓練済み機械学習モデルに対して第1グラフデータを入力することにより、第1訓練済み機械学習モデルによって算出された1以上の第1スコアを取得することができる。これにより、情報処理装置100は、1以上の第1スコアを他のコンピュータで算出せずに済ませることができる。
【0169】
情報処理装置100によれば、第2訓練済み機械学習モデルに対して、第1グラフデータを入力することにより、第2訓練済み機械学習モデルによって生成された所定の判定処理による第1グラフデータの第1判定結果を取得することができる。これにより、情報処理装置100は、第1判定結果を他のコンピュータで生成せずに済ませることができる。
【0170】
情報処理装置100によれば、第2訓練済み機械学習モデルに対して、1以上のグラフデータのそれぞれのグラフデータを入力することにより、第2訓練済み機械学習モデルによって生成された所定の判定処理によるそれぞれのグラフデータの判定結果を取得し、記憶部500に記憶することができる。これにより、情報処理装置100は、記憶部500の記憶内容を適切に更新することができる。
【0171】
情報処理装置100によれば、所定の特徴として、ネットワークトポロジー特徴を採用することができる。これにより、情報処理装置100は、ネットワークトポロジー特徴を考慮した第1判定結果を取得することができる。情報処理装置100は、作業者が、ネットワークトポロジー特徴を考慮した第1判定結果を理解し易くすることができる。
【0172】
なお、本実施の形態で説明した判定方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した判定プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto Optical disc)、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した判定プログラムは、インターネットなどのネットワークを介して配布してもよい。
【0173】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0174】
(付記1)所定の判定処理による第1グラフデータの第1判定結果を取得し、
グラフデータの入力に応じて、前記所定の判定処理による前記グラフデータの判定結果の根拠を表す、前記グラフデータの所定の特徴に関する1以上のスコアを算出する訓練済み機械学習モデルを用いて算出された、前記第1グラフデータの前記所定の特徴に関する1以上の第1スコアを取得し、
取得した前記1以上の第1スコアのすべての第1スコアが閾値未満である場合、前記所定の判定処理による、1以上のグラフデータのそれぞれのグラフデータの判定結果を記憶する記憶部を参照して、前記1以上のグラフデータのうち、取得した前記第1判定結果とは異なる第2判定結果である第2グラフデータを特定し、
特定した前記第2グラフデータの前記所定の特徴に関する情報を、取得した前記第1判定結果に対応付けて出力する、
処理をコンピュータに実行させることを特徴とする判定プログラム。
【0175】
(付記2)前記訓練済み機械学習モデルを用いて、特定した前記第2グラフデータの前記所定の特徴に関する1以上の第2スコアを算出する、
処理を前記コンピュータに実行させ、
前記出力する処理は、
前記記憶部に記憶された前記第2判定結果と、特定した前記第2グラフデータと、算出した前記1以上の第2スコアとを、取得した前記第1判定結果に対応付けて出力する、ことを特徴とする付記1に記載の判定プログラム。
【0176】
(付記3)前記出力する処理は、
前記記憶部に記憶された前記第2判定結果と、特定した前記第2グラフデータと、算出した前記1以上の第2スコアと、前記第1グラフデータと、取得した前記1以上の第1スコアとを、取得した前記第1判定結果に対応付けて出力する、ことを特徴とする付記2に記載の判定プログラム。
【0177】
(付記4)前記出力する処理は、
取得した前記1以上の第1スコアの少なくともいずれかの第1スコアが前記閾値以上である場合、前記第1グラフデータと、取得した前記1以上の第1スコアとを、取得した前記第1判定結果に対応付けて出力する、ことを特徴とする付記1~3のいずれか一つに記載の判定プログラム。
【0178】
(付記5)前記訓練済み機械学習モデルは、グラフデータの入力に応じて、前記所定の判定処理による前記グラフデータの判定結果の根拠を表す、前記グラフデータの所定の特徴に関する、前記グラフデータの隣接行列の各要素に対応するスコアを算出する、ことを特徴とする付記1~3のいずれか一つに記載の判定プログラム。
【0179】
(付記6)前記1以上のグラフデータのそれぞれのグラフデータについて、当該グラフデータと、前記第1グラフデータとの差異の大きさを示す指標値を算出する、
処理を前記コンピュータに実行させ、
前記特定する処理は、
取得した前記1以上の第1スコアのすべての第1スコアが前記閾値未満である場合、前記記憶部を参照して、前記1以上のグラフデータのうち、取得した前記第1判定結果とは異なる第2判定結果であり、算出した前記指標値が基準値未満である第2グラフデータを特定する、ことを特徴とする付記1~3のいずれか一つに記載の判定プログラム。
【0180】
(付記7)前記1以上の第1スコアを取得する処理は、
前記訓練済み機械学習モデルに対して前記第1グラフデータを入力することにより、前記訓練済み機械学習モデルによって算出された1以上の第1スコアを取得する、ことを特徴とする付記1~3のいずれか一つに記載の判定プログラム。
【0181】
(付記8)前記第1判定結果を取得する処理は、
グラフデータの入力に応じて、前記所定の判定処理による前記グラフデータの判定結果を生成する第2訓練済み機械学習モデルに対して、前記第1グラフデータを入力することにより、前記第2訓練済み機械学習モデルによって生成された前記所定の判定処理による前記第1グラフデータの第1判定結果を取得する、ことを特徴とする付記1~3のいずれか一つに記載の判定プログラム。
【0182】
(付記9)グラフデータの入力に応じて、前記所定の判定処理による前記グラフデータの判定結果を生成する第2訓練済み機械学習モデルに対して、前記1以上のグラフデータのそれぞれのグラフデータを入力することにより、前記第2訓練済み機械学習モデルによって生成された前記所定の判定処理による前記それぞれのグラフデータの判定結果を取得し、前記記憶部に記憶する、
処理を前記コンピュータに実行させることを特徴とする付記1~3のいずれか一つに記載の判定プログラム。
【0183】
(付記10)前記所定の特徴は、ネットワークトポロジー特徴である、ことを特徴とする付記1~3のいずれか一つに記載の判定プログラム。
【0184】
(付記11)所定の判定処理による第1グラフデータの第1判定結果を取得し、
グラフデータの入力に応じて、前記所定の判定処理による前記グラフデータの判定結果の根拠を表す、前記グラフデータの所定の特徴に関する1以上のスコアを算出する訓練済み機械学習モデルを用いて算出された、前記第1グラフデータの前記所定の特徴に関する1以上の第1スコアを取得し、
取得した前記1以上の第1スコアのすべての第1スコアが閾値未満である場合、前記所定の判定処理による、1以上のグラフデータのそれぞれのグラフデータの判定結果を記憶する記憶部を参照して、前記1以上のグラフデータのうち、取得した前記第1判定結果とは異なる第2判定結果である第2グラフデータを特定し、
特定した前記第2グラフデータの前記所定の特徴に関する情報を、取得した前記第1判定結果に対応付けて出力する、
処理をコンピュータが実行することを特徴とする判定方法。
【0185】
(付記12)所定の判定処理による第1グラフデータの第1判定結果を取得し、
グラフデータの入力に応じて、前記所定の判定処理による前記グラフデータの判定結果の根拠を表す、前記グラフデータの所定の特徴に関する1以上のスコアを算出する訓練済み機械学習モデルを用いて算出された、前記第1グラフデータの前記所定の特徴に関する1以上の第1スコアを取得し、
取得した前記1以上の第1スコアのすべての第1スコアが閾値未満である場合、前記所定の判定処理による、1以上のグラフデータのそれぞれのグラフデータの判定結果を記憶する記憶部を参照して、前記1以上のグラフデータのうち、取得した前記第1判定結果とは異なる第2判定結果である第2グラフデータを特定し、
特定した前記第2グラフデータの前記所定の特徴に関する情報を、取得した前記第1判定結果に対応付けて出力する、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【0186】
100 情報処理装置
101 第1グラフデータ
102 第2グラフデータ
110,500 記憶部
200 情報処理システム
201 判定処理装置
202 クライアント装置
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 ネットワークI/F
304 記録媒体I/F
305 記録媒体
400 履歴情報管理テーブル
501 取得部
502 判定部
503 算出部
504 特定部
505 出力部
600,620,700,720,801 グラフインスタンス
601 GNNモデル
602 GXAIモデル
611,711 判定結果
612,712 スコア行列
800 多次元空間