Search

JP-2026077518-A - 情報処理プログラム、情報処理方法、および情報処理装置

JP2026077518AJP 2026077518 AJP2026077518 AJP 2026077518AJP-2026077518-A

Abstract

【課題】因果グラフの可読性を向上すること。 【解決手段】因果グラフ500のうち、接続先および接続元が共通するノードAと、ノードBとを、1つのノードABに集約し、因果グラフ500を、因果グラフ510に更新することが考えられる。ノードAと、ノードBとを集約しても、因果グラフ510は、因果グラフ500と同様に、項目間の因果関係を表す。情報処理装置は、複数のデータに基づいて、縮小可能な因果グラフ500を生成し、縮小により可読性を向上した因果グラフ510を、ユーザに提供する。 【選択図】図5

Inventors

  • ▲高▼木 拓也

Assignees

  • 富士通株式会社

Dates

Publication Date
20260513
Application Date
20241025

Claims (7)

  1. ノード間を有向エッジで接続する因果グラフを生成する元となる複数のデータに基づいて、前記因果グラフのうち、異なるノード同士の接続先および接続元が共通するほど、評価が高いことを示す第1項を含む目的関数の値を最適化するよう、前記因果グラフを生成し、 生成した前記因果グラフのうち、接続先および接続元がすべて共通する2以上のノードを、1つのノードに集約するよう、前記因果グラフを更新する、 処理をコンピュータに実行させることを特徴とする情報処理プログラム。
  2. 前記目的関数は、さらに、前記複数のデータに対する、前記因果グラフの尤もらしさを評価する第2項を含む、ことを特徴とする請求項1に記載の情報処理プログラム。
  3. 前記第1項は、前記因果グラフのうち、接続先が共通するノードの組み合わせの数が多いほど、および、接続元が共通するノードの組み合わせの数が多いほど、評価が高いことを示す、ことを特徴とする請求項2に記載の情報処理プログラム。
  4. 前記目的関数は、値が小さいほど、評価が高いことを示し、 前記第1項は、前記因果グラフのそれぞれのノードが、前記因果グラフのノードの複数のペアのそれぞれのペアの一方のノードのみの接続先または接続元となる都度、評価が悪くなるよう、値が大きくなる、ことを特徴とする請求項3に記載の情報処理プログラム。
  5. 前記第2項は、前記複数のデータを表すデータ行列と、前記因果グラフの隣接行列との積と、前記データ行列との差分絶対値が小さいほど、評価が高いことを示す、ことを特徴とする請求項2または3に記載の情報処理プログラム。
  6. ノード間を有向エッジで接続する因果グラフを生成する元となる複数のデータに基づいて、前記因果グラフのうち、異なるノード同士の接続先および接続元が共通するほど、評価が高いことを示す第1項を含む目的関数の値を最適化するよう、前記因果グラフを生成し、 生成した前記因果グラフのうち、接続先および接続元がすべて共通する2以上のノードを、1つのノードに集約するよう、前記因果グラフを更新する、 処理をコンピュータが実行することを特徴とする情報処理方法。
  7. ノード間を有向エッジで接続する因果グラフを生成する元となる複数のデータに基づいて、前記因果グラフのうち、異なるノード同士の接続先および接続元が共通するほど、評価が高いことを示す第1項を含む目的関数の値を最適化するよう、前記因果グラフを生成し、 生成した前記因果グラフのうち、接続先および接続元がすべて共通する2以上のノードを、1つのノードに集約するよう、前記因果グラフを更新する、 制御部を有することを特徴とする情報処理装置。

Description

本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。 従来、複数の項目のそれぞれの項目の値の組み合わせを表す複数のデータに基づいて、複数の項目における項目間の因果関係を表す因果グラフを生成する因果探索の技術がある。因果グラフは、例えば、有向グラフである。 先行技術としては、例えば、各ノードがグラフの状態に対する要因の度合いを示す要因度を有するグラフが変化した場合に、変化後のグラフのノードの要因度に基づく重要度が閾値以下である変化後のグラフのいずれかのノードを削除するものがある。 特開2020-119261号公報 図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。図2は、情報処理システム200の一例を示す説明図である。図3は、情報処理装置100のハードウェア構成例を示すブロック図である。図4は、情報処理装置100の機能的構成例を示すブロック図である。図5は、縮小可能な因果グラフ500の一例を示す説明図である。図6は、データ管理テーブル600の記憶内容の一例を示す説明図である。図7は、情報処理装置100の動作例を示す説明図である。図8は、全体処理手順の一例を示すフローチャートである。 以下に、図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。 (実施の形態にかかる情報処理方法の一実施例) 図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。因果グラフの可読性を向上するためのコンピュータである。情報処理装置100は、例えば、サーバまたはPC(Personal Computer)などである。 因果グラフは、例えば、それぞれ異なる項目を表す複数のノードを含み、ノード間を有効エッジで接続した有向グラフである。項目は、変数に対応する。有向エッジは、接続するノード間に対応する項目間の因果関係を表す。有向エッジの接続先のノードが表す項目の値は、有向エッジの接続元のノードが表す項目の値に依存する。有向エッジは、例えば、接続元のノードが表す項目の値から、接続先のノードが表す項目の値を算出する関数を表すパラメータを有する。 従来、複数の項目のそれぞれの項目の値の組み合わせを表す複数のデータに基づいて、因果グラフを生成する因果探索の技術がある。因果探索の技術は、例えば、LinGAMまたはNo-tearsなどが考えられる。複数のデータは、例えば、表構造データに纏められる。例えば、表構造データの各行が、1つのデータに対応する。複数のデータは、具体的には、人の複数の属性と病気のリスクとに関するデータの集合である場合が考えられる。人の複数の属性と病気のリスクとは、項目に対応する。 しかしながら、従来技術では、因果グラフの可読性が低くなる場合がある。可読性は、ユーザが、因果グラフを解釈して、項目間の因果関係をどの程度理解し易いのかを示す。 解釈し易さである。例えば、ユーザが項目間の因果関係を理解する際にかかるコストが小さいほど、因果グラフの可読性が良いと評価される。コストは、例えば、時間、疲労、電力、メモリ使用量、または、金銭などである。 例えば、項目の数と、因果グラフのノードの数とは比例する。このため、項目の数が万単位である場合には、万単位の数のノードを含む因果グラフを生成することになる。これに対し、ユーザは、万単位の数のノードを含む因果グラフを解釈しなければならず、因果グラフを適切に解釈することが難しく、項目間の因果関係を理解することが難しい。 また、例えば、万単位の数のノードを含む因果グラフを表示することが難しい。具体的には、ユーザが視認し易くなるよう、それぞれの有向エッジの重なりが少なく、それぞれの有向エッジを区別し易くなるよう、万単位の数のノードを含む因果グラフを表示することが難しい。このため、ユーザは、因果グラフを適切に解釈することが難しく、項目間の因果関係を理解することが難しい。 そこで、本実施の形態では、因果グラフの可読性を向上することができる情報処理方法について説明する。この情報処理方法によれば、因果グラフのうち、2以上のノードを、1つのノードに集約するよう、因果グラフを更新することにより、因果グラフのノードの数の低減化を図ることができ、因果グラフの可読性を向上することができる。 図1において、情報処理装置100は、因果グラフ110を生成する元となる複数のデータ101を記憶する。因果グラフ110は、複数のノードを含み、ノード間を有向エッジで接続する。ノードは、複数の項目のいずれかの項目を表す。図1の例では、因果グラフ110は、具体的には、ノード111~118を含む。 情報処理装置100は、目的関数102を記憶する。目的関数102は、第1項を含む。第1項は、因果グラフ110のうち、異なるノード同士の接続先および接続元が共通するほど、評価が高いことを示す。第1項は、例えば、因果グラフ110のうち、接続先が共通するノードの組み合わせの数が多いほど、および、接続元が共通するノードの組み合わせの数が多いほど、評価が高いことを示す。図1に示す通り、例えば、異なるノード112,113同士において、接続元がノード111で共通し、かつ、接続先がノード115,116で共通するような場合に、第1項は、評価が高いことを示す。目的関数102は、例えば、値が小さいほど、評価が高いことを示す。第1項は、例えば、値が小さいほど、評価が高いことを示す。 (1-1)情報処理装置100は、複数のデータ101に基づいて、目的関数102の値を最適化するよう、因果グラフ110を生成する。最適化は、例えば、最小化である。情報処理装置100は、例えば、目的関数の値を最適化する方向に、因果グラフ110を更新する処理を繰り返し実施することにより、目的関数に応じた適切な因果グラフ110を生成する。これにより、情報処理装置100は、1つのノードに集約し易い2以上のノードを含むよう、因果グラフ110を生成することができる。 ここで、因果グラフ110を生成する手法は、具体的には、下記参考文献1および下記参考文献2などを参照して実現することができる。 参考文献1 : Zheng, Xun, et al. “Dags with no tears: Continuous optimization for structure learning.” Advances in neural information processing systems 31 (2018). 参考文献2 : Zhong, Kai, et al. “Proximal quasi-newton for computationally intensive l1-regularized m-estimators.” Advances in Neural Information Processing Systems 27 (2014). (1-2)情報処理装置100は、生成した因果グラフ110のうち、接続先および接続元がすべて共通する2以上のノードを、1つのノードに集約するよう、因果グラフ110を更新する。図1の例では、情報処理装置100は、具体的には、因果グラフ110のうち、ノード112,113を、1つのノード121に集約することにより、因果グラフ110を因果グラフ120に更新する。これにより、情報処理装置100は、因果グラフ110における、ノードの数、および、有向エッジの数の低減化を図ることができ、因果グラフ110より可読性を向上した因果グラフ120を取得することができる。 情報処理装置100は、更新した因果グラフ110を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、他のコンピュータへの送信、または、記憶領域への記憶などである。図1の例では、情報処理装置100は、具体的には、因果グラフ120を、ユーザが参照可能に出力する。これにより、情報処理装置100は、可読性が高い因果グラフ120を、ユーザが参照可能にすることができる。そして、情報処理装置100は、項目間の因果関係を、ユーザが理解し易くすることができる。情報処理装置100は、ユーザが項目間の因果関係を理解する際にかかるコストの低減化を図ることができる。 ここでは、目的関数102が、第1項のみを含む場合について説明したが、これに限らない。例えば、目的関数102が、さらに、複数のデータ101に対する、因果グラフ110の尤もらしさを評価する第2項を含む場合があってもよい。第2項は、例えば、複数のデータを表すデータ行列と、因果グラフ110の隣接行列との積と、データ行列との差分絶対値が小さいほど、評価が高いことを示す。これにより、情報処理装置100は、1つのノードに集約し易い2以上のノードを含むよう、項目間の因果関係を精度よく表すよう、因果グラフ110を生成することができる。 ここでは、情報処理装置100としての機能が、単独のコンピュータで実現される場合について説明したが、これに限らない。例えば、情報処理装置100としての機能が、複数のコンピュータの協働で実現される場合があってもよい。例えば、情報処理装置100としての機能が、クラウド上に実現される場合があってもよい。 (情報処理システム200の一例) 次に、図2を用いて、図1に示した情報処理装置100を適用した、情報処理システム200の一例について説明する。 図2は、情報処理システム200の一例を示す説明図である。図2において、情報処理システム200は、情報処理装置100と、クライアント装置201とを含む。 情報処理システム200において、情報処理装置100とクライアント装置201とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。 情報処理装置100は、因果グラフの可読性を向上するためのコンピュータである。情報処理装置100は、因果グラフを生成することを要求する処理依頼を取得する。処理依頼は、例えば、因果グラフを生成する元となる複数のデータを含む。情報処理装置100は、例えば、処理依頼をクライアント装置201から受信することにより、処理依頼を取得する。情報処理装置100は、例えば、ユーザの操作入力に基づき、処理依頼の入力を受け付けることにより、処理依頼を取得してもよい。 情報処理装置100は、処理依頼に基づいて、因果グラフを生成する元となる複数のデータを記憶する。データは、例えば、複数の項目のそれぞれの項目の値の組み合わせを表す。複数の項目は、例えば、説明変数に対応する項目と、目的変数に対応する項目とを含む。情報処理装置100は、例えば、複数のデータを纏めた表形式データを記憶する。情報処理装置100は、因果グラフを評価する目的関数を記憶する。目的関数は、例えば、第1項と、第2項とを含む。目的関数は、例えば、値が小さいほど、評価が高いことを示す。 第1項は、因果グラフのうち、異なるノード同士の接続先および接続元が共通するほど、因果グラフの評価が高くなるよう作用する。第1項は、例えば、因果グラフのうち、接続先が共通するノードの組み合わせの数が多いほど、および、接続元が共通するノードの組み合わせの数が多いほど、因果グラフの評価が高くなるよう作用する。第1項は、例えば、値が小さいほど、評価が高いことを示す。 第2項は、複数のデータに対する因果グラフの尤もらしさを評価する。第2項は、複数のデータに対して因果グラフが尤もらしいほど、因果グラフの評価が高くなるよう作用する。第2項は、例えば、複数のデータを表すデータ行列と、因果グラフの隣接行列との