(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024125198
(43)【公開日】2024-09-13
(54)【発明の名称】説明可能な人工知能のためのグラフ縮小
(51)【国際特許分類】
G06N 3/04 20230101AFI20240906BHJP
G06N 5/045 20230101ALI20240906BHJP
【FI】
G06N3/04 100
G06N5/045
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024030548
(22)【出願日】2024-02-29
(31)【優先権主張番号】18/177789
(32)【優先日】2023-03-03
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.WCDMA
3.ZIGBEE
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】オウ・ヨン
(72)【発明者】
【氏名】内野 寛治
(57)【要約】 (修正有)
【課題】説明可能な人工知能のためのグラフ縮小方法、記憶媒体及び電子デバイスを提供する。
【解決手段】方法は、ドメインを表すグラフを受領し、グラフから第1のサブグラフを抽出し、各第1のサブグラフを縮小して、縮小サブグラフのセットを得る。セットから最も近い縮小サブグラフを決定し、抽出された第1のサブグラフおよび各第1のサブグラフに対応する最も近い縮小サブグラフに基づいてカバレッジ・メトリックを決定し、カバレッジ・メトリックがカバレッジ条件を満たすかどうかを判定し、条件を満たさない場合、抽出された第1のサブグラフの縮小を再反復することを含む動作のセットを実行する。さらに、カバレッジ条件を満たすまでの動作の第1のセットを繰り返すことに基づいて、各第1のサブグラフに対応する最も近い縮小サブグラフから第2のサブグラフを得て、第2のサブグラフに基づいて説明可能な予測モデルをトレーニングする。
【選択図】
図3
【特許請求の範囲】
【請求項1】
プロセッサによって実行される方法であって、当該方法は:
ドメインを表すグラフと、受領されるグラフのノードのセットの各ノードに関連付けられたラベルとを受領する段階と;
受領されたグラフから第1のサブグラフのセットを抽出する段階と;
抽出された第1のサブグラフのセットの各第1のサブグラフを縮小して、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する縮小されたサブグラフのセットを得る段階と;
前記抽出された第1のサブグラフのセットの各第1のサブグラフの縮小に基づいて、前記抽出された第1のサブグラフのセットから第2のサブグラフのセットを得るために、動作の第1のセットを実行する段階であって、動作の前記第1のセットは:
前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記縮小されたサブグラフのセットから、最も近い縮小されたサブグラフを決定し、
前記抽出された第1のサブグラフのセットと、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する決定された最も近い縮小されたサブグラフとに基づいて、カバレッジ・メトリックのセットを決定し、
決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすかどうかを判定し、
前記決定されたカバレッジ・メトリックのセットが前記カバレッジ条件のセットを満たさないという判定に基づいて、前記抽出された第1のサブグラフのセットの前記縮小を再反復することを含む、段階と;
前記決定されたカバレッジ・メトリックのセットが前記カバレッジ条件のセットを満たすまで、動作の前記第1のセットの実行を逐次反復的に制御することに基づいて、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記決定された最も近い縮小されたサブグラフから、前記第2のサブグラフのセットを得る段階と;
得られた第2のサブグラフのセットと、前記受領されたグラフのノードのセットの各ノードに関連付けられた受領されたラベルとに基づいて、グラフ機械学習モデルをトレーニングする段階とを含む、
方法。
【請求項2】
前記第1のサブグラフのセットは、ホップ限界、前記受領されたグラフに関連付けられたノード・タイプ、または前記ホップ限界と前記ノード・タイプの組み合わせのうちの少なくとも1つに基づいて、前記受領されたグラフから抽出される、請求項1に記載の方法。
【請求項3】
前記縮小されたサブグラフのセットは、前記抽出された第1のサブグラフのセットに関連するノード数、エッジ数、またはハイパーパラメータのセットのうちの少なくとも1つに基づいて得られる、請求項1に記載の方法。
【請求項4】
前記グラフ機械学習モデルは、グラフ説明可能人工知能(GXAI)エンジンに対応する、請求項1に記載の方法。
【請求項5】
前記GXAIエンジンと、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記決定された最も近い縮小されたサブグラフとに基づいて、説明可能な予測モデルをトレーニングする段階をさらに含む、請求項4に記載の方法。
【請求項6】
前記ドメインに関連付けられた入力サブグラフを受領する段階と;
前記受領された入力サブグラフに対して前記トレーニングされた説明可能な予測モデルを適用する段階と;
前記トレーニングされた説明可能な予測モデルの適用に基づいて予測出力を決定する段階と
をさらに含む、請求項5に記載の方法。
【請求項7】
前記受領されたグラフのノードのセットから抽出ノードおよび非抽出ノードを識別して、抽出ノードのリストを得る段階と;
前記抽出ノードのリストから第1の抽出ノードを抽出識別子(ID)として選択する段階と;
前記抽出IDに関連付けられたリング・リストに第1のリングを最新のリングとして追加する段階と;
前記抽出IDに関連付けられたタプルを得るために動作の第2のセットを実行する段階であって、動作の前記第2のセットは:
最新のリングによって囲まれた各ノードの各隣接ノードについて、
その隣接ノードが最新のリングで囲まれているかどうかを判定し、
その隣接ノードが最新のリングで囲まれていないという判定に基づいて、その隣接ノードを最新のリングの外側に追加し、
追加された隣接ノードに関連するエッジをエッジ・リストに追加し、
追加された隣接ノードを囲むリングを前記リング・リストに追加し、
最新のリングが前記リング・リストにおける最後のリングであるかどうかを判定し、
追加されたリングを最新のリングとして設定し、最新のリングが前記リング・リストにおける最後のリングではないという判定に基づいて、動作の前記第2のセットを再反復することを含む、段階と;
最新のリングが前記リング・リストにおける最後のリングとして判定されるまで、動作の前記第2のセットの実行を逐次反復的に制御することに基づいて、前記抽出ID、前記リング・リスト、および前記エッジ・リストを含む前記タプルを得る段階とを含み、
前記第1のサブグラフのセットの抽出は、得られたタプルにさらに基づく、
請求項1に記載の方法。
【請求項8】
前記抽出された第1のサブグラフのセットから、抽出IDに関連付けられた第1のサブグラフを選択する段階と;
リング・リストにおける各リングのリング・ノード目標と、選択された第1のサブグラフに関連付けられたグラフ・サイズ目標とを決定する段階であって、
対応するリングの前記リング・ノード目標は、前記選択された第1のサブグラフのサイズ、前記グラフ・サイズ目標、または前記対応するリングのリング重みのうちの少なくとも1つに基づいて決定され、
前記グラフ・サイズ目標は、前記選択された第1のサブグラフのサイズ、目標ノード数、目標エッジ数、または前記目標ノード数と前記目標エッジ数の組み合わせのうちの少なくとも1つに基づいて決定される、段階と;
前記リング・リストからリングを現在リングとして選択する段階であって、該選択は、選択された現在リングが保護されていないという判定に基づき、
保護されたリングによって囲まれたノードは、前記選択された第1のサブグラフの縮小の際に保持される、段階と;
前記選択された第1のサブグラフに対応する前記縮小されたサブグラフのセットの縮小されたサブグラフを得るために、動作の第3のセットを実行する段階であって、動作の前記第3のセットは:
前記選択された現在リングによって囲まれたノードをランダム選択し、
前記選択された第1のサブグラフから、選択されたランダム・ノードおよび該選択されたランダム・ノードに関連するエッジを除去し、
前記除去に基づいて、前記選択された第1のサブグラフにおいて切断されたノードが存在するかどうかを判定し、
切断されたノードの存在の判定に基づいて、前記切断されたノードおよび前記切断されたノードに関連するエッジを、前記選択された第1のサブグラフから除去し、
ホップ限界を超えて前記抽出IDからより遠いノードが存在するかどうかを判定し、
前記ホップ限界を超えたノードの存在の判定に基づいて、前記ホップ限界を超えたノードおよびそれらのノードに関連するエッジを、前記選択された第1のサブグラフから除去し、
前記選択されたランダム・ノード、前記切断されたノード、および前記ホップ限界を超えたノードの除去に基づいて、前記グラフ・サイズ目標が満たされているかどうかを判定し、
現在リングが決定されたリング・ノード目標を満たすかどうかを判定し、
終了基準に基づいて、前記選択された第1のサブグラフから、選択された現在リングの後の保護されていないリングを現在リングとして再選択することを含み、前記終了基準は:
前記グラフ・サイズ目標が満たされていないとの判定、または
選択された現在リングの前記リング・ノード目標が満たされているとの判定
のうちの少なくとも一方を含む、段階と;
前記グラフ・サイズ目標が満たされるまで、動作の前記第3のセットの実行を逐次反復的に制御することに基づいて、前記選択された第1のサブグラフから前記縮小されたサブグラフを得る段階とをさらに含む、
請求項1に記載の方法。
【請求項9】
前記抽出された第1のサブグラフのセットから、前記抽出された第1のサブグラフを選択する段階と;
選択された抽出された第1のサブグラフに対応する前記縮小されたサブグラフのセットを、縮小サブグラフ・セットとして選択する段階と;
前記抽出された第1のサブグラフのセットに基づいてグラフ・カーネル・エンコーダをトレーニングする段階と;
前記選択された抽出された第1のサブグラフに対する前記グラフ・カーネル・エンコーダの適用に基づいて第1のベクトルを決定する段階と;
前記縮小サブグラフ・セットにおける各縮小サブグラフについて、
前記縮小サブグラフ・セットの現在の縮小サブグラフに対する前記グラフ・カーネル・エンコーダの適用に基づいて第2のベクトルを決定し、
決定された第1のベクトルと決定された第2のベクトルとに基づいて、前記選択された抽出された第1のサブグラフと現在の縮小サブグラフとの間の相関係数を決定する
段階と;
決定された相関係数に基づいて、前記選択された抽出された第1のサブグラフに対応する最も近いサブグラフとして、前記縮小サブグラフ・セットから縮小サブグラフを選択する段階とをさらに含む、
請求項1に記載の方法。
【請求項10】
前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記決定された最も近い縮小されたサブグラフにおける、抽出ノードの第1のリストおよび非抽出ノードの第1のリストを得る段階と;
前記抽出された第1のサブグラフのセットに基づいて、抽出ノードの第2のリストおよび非抽出ノードの第2のリストを得る段階と;
前記抽出ノードの第1のリストに関連する第1のノード反復分布および第1のノード次数分布を決定する段階と;
前記非抽出ノードの第1のリストに関連する第2のノード反復分布を決定する段階と;
前記抽出ノードの第2のリストに関連する第2のノード次数分布を決定する段階と;
前記非抽出ノードの第2のリストに関連する第3のノード反復分布を決定する段階と
をさらに含み、
前記カバレッジ・メトリックのセットは:
前記第1のノード反復分布、
前記第1のノード次数分布、
前記第2のノード反復分布、
前記第2のノード次数分布、または
前記第3のノード反復分布
のうちの少なくとも1つに基づいて決定される、請求項1に記載の方法。
【請求項11】
前記第1のノード反復分布に基づいて分布スキューを決定する段階と;
前記第1のノード次数分布および前記第2のノード次数分布に基づいて第1の相関係数を決定する段階と;
前記第2のノード反復分布および前記第3のノード反復分布に基づいて第2の相関係数を決定する段階と;
決定された分布スキューが前記カバレッジ条件のセットの第1のカバレッジ条件に適合し、決定された第1の相関係数が前記カバレッジ条件のセットの第2のカバレッジ条件に適合し、決定された第2の相関係数が前記カバレッジ条件のセットの第3のカバレッジ条件に適合するかどうかを判定する段階であって、
前記決定された分布スキューが閾値分布スキューより小さい場合に前記第1のカバレッジ条件が満たされ、
前記決定された第1の相関係数が閾値第1相関係数より大きい場合に前記第2のカバレッジ条件が満たされ、
前記決定された第2の相関係数が閾値第2相関係数よりも大きい場合に前記第3のカバレッジ条件が満たされる、段階と
をさらに含む、請求項10に記載の方法。
【請求項12】
前記ドメインは、金融ドメイン、クレジットカード不正検出ドメイン、電子商取引ドメイン、ソーシャルネットワーク・ドメイン、または引用ネットワーク・ドメインのうちの少なくとも1つに対応する、請求項1に記載の方法。
【請求項13】
前記ドメインは、前記クレジットカード不正検出ドメインに対応し、
前記受領されたグラフのノードのセットは、クレジットカード・エンティティ、カード所有者エンティティ、またはポイントオブセール・エンティティのうちの少なくとも1つに対応し、
前記受領されたグラフのエッジのセットは、トランザクション・エンティティ、カード所有エンティティ、またはビジネス所有エンティティに対応する、
請求項1に記載の方法。
【請求項14】
実行されることに応答して、電子デバイスに動作を実行させる命令を記憶するように構成された一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体であって、前記動作は:
ドメインを表すグラフと、受領されるグラフのノードのセットの各ノードに関連付けられたラベルとを受領する段階と;
受領されたグラフから第1のサブグラフのセットを抽出する段階と;
抽出された第1のサブグラフのセットの各第1のサブグラフを縮小して、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する縮小されたサブグラフのセットを得る段階と;
前記抽出された第1のサブグラフのセットの各第1のサブグラフの縮小に基づいて、前記抽出された第1のサブグラフのセットから第2のサブグラフのセットを得るために、動作の第1のセットを実行する段階であって、動作の前記第1のセットは:
前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記縮小されたサブグラフのセットから、最も近い縮小されたサブグラフを決定し、
前記抽出された第1のサブグラフのセットと、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する決定された最も近い縮小されたサブグラフとに基づいて、カバレッジ・メトリックのセットを決定し、
決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすかどうかを判定し、
前記決定されたカバレッジ・メトリックのセットが前記カバレッジ条件のセットを満たさないという判定に基づいて、前記抽出された第1のサブグラフのセットの前記縮小を再反復することを含む、段階と;
前記決定されたカバレッジ・メトリックのセットが前記カバレッジ条件のセットを満たすまで、動作の前記第1のセットの実行を逐次反復的に制御することに基づいて、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記決定された最も近い縮小されたサブグラフから、前記第2のサブグラフのセットを得る段階と;
得られた第2のサブグラフのセットと、前記受領されたグラフのノードのセットの各ノードに関連付けられた受領されたラベルとに基づいて、グラフ機械学習モデルをトレーニングする段階とを含む、
一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項15】
前記第1のサブグラフのセットは、ホップ限界、前記受領されたグラフに関連付けられたノード・タイプ、または前記ホップ限界と前記ノード・タイプの組み合わせのうちの少なくとも1つに基づいて、前記受領されたグラフから抽出される、請求項14に記載の一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項16】
前記縮小されたサブグラフのセットは、前記抽出された第1のサブグラフのセットに関連するノード数、エッジ数、またはハイパーパラメータのセットのうちの少なくとも1つに基づいて得られる、請求項14に記載の一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項17】
前記グラフ機械学習モデルは、グラフ説明可能人工知能(GXAI)エンジンに対応する、請求項14に記載の一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項18】
前記動作が、前記GXAIエンジンと、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記決定された最も近い縮小されたサブグラフとに基づいて、説明可能な予測モデルをトレーニングする段階をさらに含む、請求項17に記載の一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項19】
前記動作がさらに:
前記ドメインに関連付けられた入力サブグラフを受領する段階と;
前記受領された入力サブグラフに対して前記トレーニングされた説明可能な予測モデルを適用する段階と;
前記トレーニングされた説明可能な予測モデルの適用に基づいて予測出力を決定する段階と
をさらに含む、請求項18に記載の一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項20】
命令を記憶しているメモリ;および
前記メモリに結合され、前記命令を実行してプロセスを実行するプロセッサを備える、電子デバイスであって、前記プロセスは:
ドメインを表すグラフと、受領されるグラフのノードのセットの各ノードに関連付けられたラベルとを受領する段階と;
受領されたグラフから第1のサブグラフのセットを抽出する段階と;
抽出された第1のサブグラフのセットの各第1のサブグラフを縮小して、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する縮小されたサブグラフのセットを得る段階と;
前記抽出された第1のサブグラフのセットの各第1のサブグラフの縮小に基づいて、前記抽出された第1のサブグラフのセットから第2のサブグラフのセットを得るために、動作の第1のセットを実行する段階であって、動作の前記第1のセットは:
前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記縮小されたサブグラフのセットから、最も近い縮小されたサブグラフを決定し、
前記抽出された第1のサブグラフのセットと、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する決定された最も近い縮小されたサブグラフとに基づいて、カバレッジ・メトリックのセットを決定し、
決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすかどうかを判定し、
前記決定されたカバレッジ・メトリックのセットが前記カバレッジ条件のセットを満たさないという判定に基づいて、前記抽出された第1のサブグラフのセットの前記縮小を再反復することを含む、段階と;
前記決定されたカバレッジ・メトリックのセットが前記カバレッジ条件のセットを満たすまで、動作の前記第1のセットの実行を逐次反復的に制御することに基づいて、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記決定された最も近い縮小されたサブグラフから、前記第2のサブグラフのセットを得る段階と;
得られた第2のサブグラフのセットと、前記受領されたグラフのノードのセットの各ノードに関連付けられた受領されたラベルとに基づいて、グラフ機械学習モデルをトレーニングする段階とを含む、
電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示で議論される実施形態は、説明可能な人工知能のためのグラフ縮小に関連する。
【背景技術】
【0002】
グラフ機械学習の分野における進歩は、連続グラフのノードおよびエッジ上の分類タスクのためのグラフ・ニューラル・ネットワークの適用をもたらした。機械学習におけるノード分類タスクは、連続グラフのノードに関連する情報を予測するために実行されうる。同様に、連続グラフのノードについて(離散値ラベルの代わりに)連続値のラベルが決定されうるように、回帰タスクが連続グラフに対して実行されうる。情報またはラベルは、特定のターゲット・ノードの近傍でありうる連続グラフのノードのセットに関連する情報に関するトレーニングされたグラフ・ニューラル・ネットワークの適用に基づいて予測されうる。近傍ノードに関連する情報は、グラフ・ニューラル・ネットワークのトレーニング、試験、および推論のために連続グラフから抽出されうる。典型的には、グラフ・ニューラル・ネットワークは、連続グラフの近傍ノードまたは近傍ノードのトポロジー構造に関連しうる情報の単位に基づいてトレーニングされうる。情報の単位は、抽出された情報の要約に基づいて生成されたベクトルとして表すことができる。要約がターゲット・ノードのすべての近傍ノードまたはターゲット・ノードからより遠く離れたノードに関連する情報を表していない場合、ベクトルを使用したグラフ・ニューラル・ネットワークのトレーニングは正確ではない可能性がある。また、ターゲット・ノード周辺の連続グラフ構造のトポロジー構造は、要約された情報を表すベクトルの生成のために使用されない可能性がある。トポロジー構造は、効率的なグラフ・ベースの下流の機械学習にとって重要である可能性がある。
【0003】
トレーニングのために近傍ノードのトポロジー構造を使用するために、すべての近傍ノードと、ターゲット・ノードから出るエッジとを含みうる複数のサブグラフが、連続グラフから抽出されうる。そのような抽出されたサブグラフから得られた情報は、グラフ・ニューラル・ネットワークをトレーニングするために使用されうる。しかしながら、ターゲット・ノードに関連する近傍の拡張は、ターゲット・ノードに関連するサブグラフ内のノード数の爆発的な増加につながる可能性がある。ノード数は、ターゲット・ノードからのホップ数のインクリメントによって増加する可能性がある。このインクリメントは、近傍ノード数の指数関数的な増加(ノード数を基準とする)につながる可能性がある。近傍ノード数の増加は、トレーニング中に実行される必要がありうる追加的な計算を導入する可能性がある。そのような追加的な計算は、グラフ・ニューラル・ネットワークを格納するデバイスの実質的なメモリおよび/または処理能力の制約を必要とする場合がある。よって、サブグラフ上のグラフ機械学習タスクの実行のために必要とされる複雑さおよび資源は、近傍爆発の問題のため、増大する可能性がある。
【0004】
グラフ・ニューラル・ネットワークをトレーニングするためにターゲット・ノードのすべての近傍ノードに関連する情報を利用するために、近傍ノードのサンプルに関連する情報が集約されてもよい。集約された情報は、グラフ・ニューラル・ネットワークの逐次反復的なトレーニングのために使用されうる。グラフ・ニューラル・ネットワークのトレーニング精度は、各逐次反復後に改善されうるが、逐次反復回数とトレーニング・プロセスのレイテンシーとの間にトレードオフが生じる可能性がある。より高い精度は、多数の逐次反復を必要とし、それによりトレーニング・プロセスのレイテンシーを増加させる可能性がある。
【0005】
本開示において特許請求の範囲に記載された主題は、何らかの欠点を解決する実施形態に限定されず、または上記のような環境においてのみ動作する実施形態に限定されない。むしろ、この背景は、本開示に記載されたいくつかの実施形態が実施されうる1つの例示的な技術領域を説明するためにのみ提供される。
【発明の概要】
【課題を解決するための手段】
【0006】
ある実施形態のある側面によれば、方法は、動作のセットを含んでいてもよい。前記動作のセットは、ドメインを表すグラフ、および受領されるグラフのノードのセットの各ノードに関連付けられたラベルを受領することを含みうる。前記動作のセットは、受領されたグラフから第1のサブグラフのセットを抽出することをさらに含みうる。前記動作のセットは、抽出された第1のサブグラフのセットの各第1のサブグラフを縮小して、抽出された第1のサブグラフのセットの各第1のサブグラフに対応する縮小されたサブグラフのセットを得ることをさらに含みうる。前記動作のセットは、抽出された第1のサブグラフのセットの各第1のサブグラフの縮小に基づいて、抽出された第1のサブグラフのセットから第2のサブグラフのセットを得るために、動作の第1のセットを実行することをさらに含みうる。動作の前記第1のセットは、抽出された第1のサブグラフのセットの各第1のサブグラフに対応する縮小されたサブグラフのセットから、最も近い縮小されたサブグラフを決定することをさらに含みうる。動作の前記第1のセットは、抽出された第1のサブグラフのセットの各第1のサブグラフに対応する決定された最も近い縮小されたサブグラフと、抽出された第1のサブグラフのセットとに基づいて、カバレッジ・メトリックのセットを決定することをさらに含みうる。動作の前記第1のセットは、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすかどうかを判定することをさらに含むことができる。動作の前記第1のセットは、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たさないという判定に基づいて、抽出された第1のサブグラフのセットの縮小を再反復して、縮小されたサブグラフのセットを得ることをさらに含みうる。前記動作のセットは、カバレッジ・メトリックのセットがカバレッジ条件のセットを満たすまで、動作の前記第1のセットの実行の逐次反復的な制御に基づいて、抽出された第1のサブグラフのセットの各第1のサブグラフに対応する決定された最も近い縮小されたサブグラフから第2のサブグラフのセットを得ることをさらに含むことができる。前記動作のセットは、得られた第2のサブグラフのセットと、受領されたグラフのノードのセットの各ノードに関連付けられた受領されたラベルとに基づいて、グラフ機械学習モデルをトレーニングすることをさらに含むことができる。
【0007】
実施形態の目的および利点は、少なくとも特許請求の範囲において具体的に指摘されている要素、特徴、および組み合わせによって実現され、達成される。
【0008】
上記の一般的な説明および以下の詳細な説明の両方は、例として与えられているのであり、説明的なものであり、請求項に記載の本発明を限定するものではない。
【図面の簡単な説明】
【0009】
例示的な実施形態が、添付の図面を使用することにより、さらに具体的かつ詳細に記述され、説明される。
【0010】
【
図1】説明可能な人工知能(XAI)のためのグラフ縮小に関連する例示的なネットワーク環境を表す図である。
【0011】
【
図2】説明可能な人工知能(XAI)のためのグラフ縮小のための例示的な電子デバイスを示すブロック図である。
【0012】
【
図3】説明可能な人工知能(XAI)のためのグラフ縮小のための例示的な実行パイプラインを示す図である。
【0013】
【
図4】受領されたグラフからサブグラフを抽出するための例示的なシナリオを示す図である。
【0014】
【
図5】受領されたグラフからサブグラフを抽出するための例示的な方法のフローチャートを示す図である。
【0015】
【
図6A】
図6Aおよび6Bは併せて、抽出されたサブグラフを縮小するための例示的なシナリオを示す図である。
【
図6B】
図6Aおよび6Bは併せて、抽出されたサブグラフを縮小するための例示的なシナリオを示す図である。
【0016】
【
図7A】
図7Aおよび7Bは併せて、抽出されたサブグラフを縮小するための例示的な方法のフローチャートを示す図である。
【
図7B】
図7Aおよび7Bは併せて、抽出されたサブグラフを縮小するための例示的な方法のフローチャートを示す図である。
【0017】
【
図8】抽出されたサブグラフに対応する最も近い縮小されたサブグラフの決定のための例示的な方法のフローチャートを示す図である。
【0018】
【
図9】最も近い縮小されたサブグラフのカバレッジ解析のための例示的な実行パイプラインを示す図である。
【0019】
【
図10】説明可能な人工知能(XAI)のためのグラフ縮小のための例示的な方法のフローチャートを示す図である。
【0020】
みな、本開示に記載の少なくとも1つの実施形態によるものである。
【発明を実施するための形態】
【0021】
本開示に記載のいくつかの実施形態は、説明可能な人工知能のためのグラフ縮小方法およびシステムに関する。ここで、グラフの縮小(reduction)は、グラフから複数のサブグラフを抽出することに関わりうる。さらに、複数のサブグラフのそれぞれについて縮小サブグラフのセットを得ることができ、縮小サブグラフの各セットから最も近い縮小サブグラフを決定することができる。閉じた縮小サブグラフは、グラフ説明可能人工知能(graph explainable artificial intelligence、GXAI)エンジンが、グラフ・データ上で予測を行うように構成されうる説明可能な予測モデルを生成することを可能にするために使用されうる。本開示では、ドメイン(たとえば、金融不正検出ドメインや引用ネットワーク・ドメイン)を表すグラフが受領されてもよい。さらに、受領されたグラフのノードのセットの各ノードに関連付けられたラベルも受領されうる。さらに、受領されたグラフから第1のサブグラフのセットが抽出されうる。抽出された第1のサブグラフのセットの各第1のサブグラフが縮小されて、縮小されたサブグラフのセットを得ることができる。その後、抽出された第1のサブグラフのセットの第1のサブグラフに対応する縮小されたサブグラフの各セットに対して動作の第1のセットが実行されてもよい。前記動作のセットが実行され、第2のサブグラフのセットが得られてもよい。動作の第1のセットは、縮小されたサブグラフの各セットから、最も近い縮小されたサブグラフを決定することを含む。動作の第1のセットは、第1のサブグラフのセットと、縮小されたサブグラフの各セットから決定された最も近い縮小されたサブグラフとに基づいて、カバレッジ・メトリックのセットを決定することをさらに含むことができる。動作の第1のセットは、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすかどうかの判定をさらに含むことができる。動作の第1のセットは、さらに、カバレッジ・メトリックのセットがカバレッジ条件のセットを満たさないという判定に基づいて、第1のサブグラフのセットの縮小を再反復して、各第1のサブグラフについて縮小されたサブグラフのセットを再取得することを含んでいてもよい。第2のサブグラフのセットは、縮小されたサブグラフの各セットから決定された最も近い縮小されたサブグラフから得られてもよい。第2のサブグラフのセットは、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすまで、動作の第1のセットの実行の逐次反復的な制御に基づいて得られてもよい。最後に、グラフ機械学習モデル(たとえばGXAIエンジン)が、取得された第2のサブグラフのセットと、受領されたグラフのノードのセットの各ノードに関連付けられた受領されたラベルとに基づいてトレーニングされてもよい。
【0022】
連続グラフ上のノード分類は、連続グラフ内のターゲット・ノードについて多層のトレーニングされたグラフ・ニューラル・ネットワーク・モデルを使用して実行されてもよいグラフ・ベースの機械学習タスクであってもよい。同様に、(離散値のラベルの代わりに)連続値のラベルが連続グラフのノードについて決定されうるように、回帰タスクが連続グラフ(continuous graph)上で実行されてもよい。典型的には、グラフ・ニューラル・ネットワーク・モデルは、ターゲット・ノードの近傍であってもよい連続グラフのノードのセットに関連付けられた情報に基づいてトレーニングされてもよい。グラフ・ニューラル・ネットワーク・モデルはさらに、ノードのセット(すなわち近傍ノード)のトポロジー構造に基づいてトレーニングされてもよい。トレーニングされたグラフ・ニューラル・ネットワーク・モデルは、連続グラフの他のノードの特性を予測してもよい。グラフ・ニューラル・ネットワーク・モデルの予測精度は、トレーニング・データおよび該トレーニング・データの取得方法に依存してもよい。
【0023】
グラフ・ニューラル・ネットワーク・モデルをトレーニングするために、近傍ノードに関連する情報が連続グラフから抽出されてもよい。抽出は、近傍ノードに関連する情報を、ベクトルとして表現されうる複数の情報単位に要約すること(summarization)に基づくことができる。ベクトルは、グラフ・ニューラル・ネットワーク・モデルに関連するトレーニング・フェーズ、試験フェーズ、または推論フェーズの間に使用されうる。第1のシナリオでは、情報の要約は、ターゲット・ノードから開始されうるランダム・ウォークに基づいて達成されうる。ランダム・ウォークは、連続グラフに沿った歩行経路に位置する近傍ノードに関連する情報の収集を含むことができる。しかしながら、場合によっては、歩行経路内のすべての近傍ノードのカバレッジを確保することができないことがある。第2のシナリオでは、情報の要約のために、近傍ノードに関連する情報が集約されてもよい。集約(aggregation)の結果に基づいて、ターゲット・ノードからより遠い近傍ノードに関連する情報が希釈されうることが観察されうる。すべての近傍ノードのカバレッジの欠如、またはターゲット・ノードからより遠い近傍ノードに関連する情報の希釈は、グラフ・ニューラル・ネットワーク・モデルのトレーニング精度または予測精度に悪影響を及ぼす可能性がある。
【0024】
上記の両方のシナリオでは、近傍ノードのトポロジー構造が要約によって失われる可能性がある。トポロジー構造は、グラフ機械学習に基づく下流のタスクにとって貴重でありうる。近傍ノードのトポロジー構造を保持して使用する(グラフ・ニューラル・ネットワーク・モデルのトレーニングのために)ために、連続グラフから多数のサブグラフが抽出されうる。サブグラフは、ターゲット・ノードのすべての近傍ノードを含みうる。しかしながら、サブグラフの抽出は、特にターゲット・ノードからのホップカウントが増加した場合に、近傍爆発の問題につながる可能性がある。たとえば、(ターゲット・ノードに関して)近傍ノードの次のレベルにある可能性のあるノードを含めるよう、ホップカウントが「1」だけインクリメントされる場合、近傍ノードのカウントまたは抽出されたサブグラフ内のノードのカウントは、指数関数的に増加する可能性がある。サブグラフ内のノードのカウントの増加は、グラフ・ニューラル・ネットワーク・モデルのトレーニング・フェーズ中に追加的な計算の実行を必要とする可能性がある。そのような必要性のため、メモリおよび/または処理能力に基づいて制約される可能性のあるデバイス上で、あるホップ・レベルを超えてマルチホップ抽出ベース(またはサブグラフ・ベース)のグラフ機械学習を実行することは現実的ではない可能性がある。
【0025】
トレーニング・フェーズ中の追加的な計算の必要性は、近傍ノードのトポロジー構造に基づく事前の解析および計算によって回避されうる。解析および計算は、ホップのカウントに基づいてグループ化することができ、グラフ・ニューラル・ネットワークのトレーニングのために使用することができる近傍ノードに関連する情報を含みうるベクトル表現を生成することにつながりうる。しかしながら、ベクトル表現は、ある種のシナリオでは、近傍ノードのトポロジー構造を正確に捕捉しない可能性がある。そのようなシナリオの例は、複数のエッジが、ターゲット・ノードからあるホップ数だけ離れたノードから発する場合でありうる。さらに、ベクトル表現の生成は、下流の機械学習タスクとしての説明可能な人工知能の適用を妨げる可能性がある。
【0026】
近傍ノードのすべてまたは代表的なセットに関連する情報がグラフ・ニューラル・ネットワーク・モデルのトレーニングのために使用されることを保証するために、近傍ノードのサンプルに関連する情報が集約されてもよく、集約された情報が、特定のトレーニング反復工程においてグラフ・ニューラル・ネットワーク・モデルをトレーニングするために使用されることができる。よって、グラフ・ニューラル・ネットワーク・モデルは、複数のトレーニング反復工程において、すべての近傍ノードに関連する情報に基づいてトレーニングされうる。ここで、トレーニング精度または予測精度は、複数のトレーニング反復工程における反復回数に比例してもよく、トレーニング・レイテンシーは、トレーニング反復回数に反比例しうる。よって、予測(またはトレーニング)精度とトレーニング・レイテンシーとの間にトレードオフが存在する可能性があり、これは望ましくない可能性がある。
【0027】
本開示の一つまたは複数の実施形態によれば、大規模連続グラフ上のサブグラフ・ベースの機械学習の技術分野は、コンピューティング・システムが、たとえば数百万のノードおよびエッジを含む入力大規模連続グラフを管理可能なサブグラフ単位にスケーリングすることができうるように、該コンピューティング・システム(たとえば電子装置)を構成することによって改善されうる。たとえば、連続グラフは、引用ネットワーク、ソーシャルメディア、または金融取引などのドメインに関連するデータおよびデータ間の関係を表すことができる。コンピューティング・システムは、入力連続グラフからそのようなサブグラフ単位を抽出することができ、これにより、連続グラフの個々の単位(すなわち、抽出されたサブグラフ)に対するグラフ・ベースの機械学習の実行を容易にすることができる。コンピューティング・システムは、抽出されたサブグラフにおいて表されるグラフ・データを、GXAIパイプラインをトレーニングするのに適したフォーマットに変換することができる(ここで、グラフ・データは、抽出されたサブグラフに最も近い縮小されたサブグラフとして表すことができる)。GXAIパイプラインは、GXAIエンジンおよび説明可能な予測モデルを含むことができる。GXAIパイプラインは、望ましい予測精度を達成し、説明可能な結果を生成するために、フォーマットされたデータに基づいてグラフ構造および連続グラフの属性を学習するように最適化されうる。
【0028】
コンピューティング・システムは、サブグラフのセットを抽出するために、ターゲット・ノードから事前定義されたホップ数だけ離れていてもよい入力連続グラフのノードに関連する情報を抽出することができる。サブグラフのセットの抽出は、GXAIパイプラインをトレーニングし、グラフ・データを予測するためにGXAIパイプラインを使用してノード分類機械学習タスクを実行するための長距離〔ロングレンジ〕情報の使用を許容するので、GXAIパイプラインのトレーニング精度および予測精度を向上させることができる。長距離情報は、ターゲット・ノードからより遠いノードがサブグラフに含まれうるように、事前定義されたホップ数をより高い値に設定することによって取得されうる。さらに、各サブグラフに含まれるノードの数は、ホップ数を管理可能な値に設定することによって制御されうるので、サブグラフの抽出は、近傍爆発の問題を軽減することができる。さらに、各サブグラフに関連付けられたトレーニング・データセットは、さまざまなファンアウトおよび複雑さをもつことができる。サブグラフの抽出は、(入力連続グラフの)トポロジー構造の保存をさらに可能にし、GXAIパイプラインを使用した正確な下流のグラフ・ベースの機械学習の生成を容易にする可能性がある。(グラフ情報のベクトル表現の代わりに)サブグラフのセットを使用することは、(入力連続グラフの)グラフ構造上で直接、グラフ機械学習を可能にし、そのことは、GXAIパイプラインの予測精度の改善を許容しうる。抽出されたサブグラフから得られた情報に基づいてGXAIパイプラインをトレーニングすることは、GXAIパイプラインが、各予測についてノード、エッジ、またはモチーフ・ベースの説明を提供し、また、不透明なブラックボックス挙動を回避することを許容しうる。
【0029】
グラフ・サイズ目標および(グラフ縮小に関連する)ハイパーパラメータのセットに基づいて、コンピューティング・システムは、各抽出サブグラフのサイズを、対応する縮小サブグラフのセットに縮小することができる。コンピューティング・システムは、縮小サブグラフの各セットの縮小サブグラフをさらにランク付けすることができる。さらに、コンピューティング・システムは、縮小サブグラフの各セットから、ランクに基づいて、対応する抽出サブグラフについての最良なマッチでありうる特性をもつ最も近い縮小サブグラフを決定することができる。したがって、対応する抽出サブグラフのセットに忠実な最も近い縮小サブグラフのセットが決定されうる。最も近い縮小サブグラフのセットの決定は、抽出グラフのセットの縮小の際に失われる可能性があるターゲット・ノードの近傍ノードに関連する情報を最小化することができる。情報損失の最小化は、GXAIパイプラインの予測精度の改善をもたらすことができる。最も近い縮小サブグラフは、GXAIパイプラインを使用する下流のサブグラフ・ベースの機械学習のために好適でありうるフォーマットであってもよい。
【0030】
コンピューティング・システムは、さらに、カバレッジ閾値に基づいて、抽出サブグラフのセットに対応する最も近い縮小サブグラフのセットが、抽出サブグラフのセットに関連する十分な情報を含むかどうかを判定してもよい。最も近い縮小サブグラフのセットの各最も近い縮小サブグラフに十分な情報が含まれているという判定に基づいて、コンピューティング・システムは、下流のグラフ・ベースの機械学習のために最も近い縮小サブグラフのセットを使用してもよい。
【0031】
本開示の実施形態を添付図面を参照して説明する。
【0032】
図1は、本開示に記載される少なくとも1つの実施形態による、説明可能な人工知能(XAI)のためのグラフ縮小に関連する例示的なネットワーク環境を表す図である。
図1を参照すると、ネットワーク環境100が示されている。ネットワーク環境100は、電子デバイス102、(データベース106をホストすることができる)サーバー104、グラフ機械学習モデル108、および説明可能な予測モデル110を含むことができる。電子デバイス102、サーバー104、グラフ機械学習モデル108、および説明可能な予測モデル110は、通信ネットワーク(通信ネットワーク112など)を介して互いに通信可能に結合されうる。
【0033】
電子デバイス102は、適切な論理、回路、インターフェース、および/またはコードであって、入力連続グラフ(たとえば、グラフ114)を受領し、入力連続グラフ(すなわち、グラフ114)から第1のサブグラフ116A…116Nのセットを抽出するように構成されうるものを含みうる。さらに、電子デバイス102は、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフ(第1のサブグラフ116Aのような)の縮小に基づいて、縮小サブグラフのセット(たとえば、縮小されたサブグラフ1のセット118A)を得ることができる。その後、電子デバイス102は、縮小サブグラフの各セットから最も近い縮小サブグラフを決定し、縮小サブグラフの各セットから決定された最も近い縮小サブグラフから第2のサブグラフ120A…120Nのセットを得ることができる。電子デバイス102は、グラフ・データに関する予測のために、第2のサブグラフ120A…120Nのセットに基づいてグラフ機械学習モデル108をトレーニングするようにさらに構成されてもよい。ある実施形態では、電子デバイス102は、グラフ機械学習モデル108のトレーニングに基づいて、説明可能な予測モデル110を生成することができる。説明可能な予測モデル110は、グラフ・データに関する説明可能な予測のために使用されうる。電子デバイス102の例は、コンピューティングデバイス、スマートフォン、メインフレームマシン、サーバー、コンピュータワークステーション、消費者電子(CE)デバイス、および/またはグラフ処理能力(たとえば、グラフィックプロセッサユニット(GPU)のセットを備えたデバイス)をもつ任意のデバイスを含みうるが、これらに限定されない。
【0034】
サーバー104は、グラフ114についての電子デバイス102からの要求を受領するように構成されうる適切なロジック、回路、およびインターフェース、および/またはコードを含むことができる。サーバー104は、データベース106からグラフ114を取り出し、取り出されたグラフ114を電子デバイス102に送信するようにさらに構成されうる。少なくとも1つの実施形態では、サーバー104は、電子デバイス102からグラフ114を受信してもよく、電子デバイス102からのグラフ114の受信に基づいて、第2のサブグラフ120A…120Nのセットを生成し、電子デバイス102に送信することができる。他の実施形態では、サーバー104は、グラフ機械学習モデル108をトレーニングし、グラフ・データに関する予測のために使用されうる説明可能なグラフ機械学習モデル(たとえば、説明可能な予測モデル110)を生成するように構成されうる。サーバー104は、クラウドサーバーとして実装されてもよく、ウェブアプリケーション、クラウドアプリケーション、ハイパーテキストトランスポートプロトコル(HTTP)要求、リポジトリ操作、ファイル転送などを通じて動作を実行することができる。サーバー104の他の例示的な実装は、データベースサーバー、ファイルサーバー、ウェブサーバー、メディアサーバー、アプリケーションサーバー、メインフレームサーバー、クラウドコンピューティングサーバー、および/またはグラフ処理能力を有する任意のデバイス(たとえば、グラフィックプロセッサユニット(GPU)のセットを備えたデバイス)を含むことができるが、これらに限定されない。
【0035】
少なくとも1つの実施形態では、サーバー104は、当業者に周知でありうるいくつかの技術を使用して、複数の分散型クラウドベースの資源として実装されうる。当業者は、本開示の範囲が、サーバー104および電子デバイス102を2つの別個のエンティティとして実装することに限定されないことを理解するであろう。ある種の実施形態では、サーバー104の機能は、本開示の範囲から逸脱することなく、その全体においてまたは少なくとも部分的に、電子デバイス102に組み込むことができる。
【0036】
データベース106は、さまざまなドメイン(金融ドメイン、クレジットカード不正検出ドメイン、ソーシャルメディア・ドメイン、電子商取引ドメイン、引用ネットワーク・ドメインなど)を表す連続グラフ(グラフ114のような)を記憶するように構成されうる適切なロジック、回路、インターフェース、および/またはコードを含むことができる。ある実施形態では、データベース106は、グラフ機械学習モデル108および/または説明可能な予測モデル110を記憶するようにさらに構成されうる。データベース106は、リレーショナルまたは非リレーショナルデータベースからのデータ、または従来のストレージまたはビッグデータストレージ内のカンマ区切り値(csv)ファイルのセットから導出されてもよい。データベース106は、サーバー104または電子デバイス102などのデバイスに格納またはキャッシュされうる。データベース106を記憶するデバイスは、グラフ114についてのクエリーを受領するように構成されてもよい。これに応答して、データベース106を記憶するデバイスは、グラフ114を取り出して電子デバイス102に提供するように構成されてもよい。ある実施形態によれば、データベース106は、同じまたは異なる位置に格納された複数のサーバー上でホストされてもよい。データベース106の動作は、プロセッサ、マイクロプロセッサ(たとえば、一つまたは複数の動作を実行するまたはその実行の制御のため)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)を含むハードウェアを用いて実行することができる。他のいくつかの例では、データベース106は、ソフトウェアを用いて実装されうる。
【0037】
グラフ機械学習モデル108は、入力サブグラフデータに対してグラフ機械学習タスク(ノード分類タスクや回帰タスクなど)を実行するように構成されうる適切なロジック、回路、インターフェース、および/またはコードを含むことができる。ある実施形態によれば、グラフ機械学習モデル108は、スケーラブルなバッチ式グラフ機械学習のために、第1のサブグラフ116A…116Nのセットの抽出された第1のサブグラフのそれぞれに対応する、決定された最も近い縮小サブグラフを使用することができるグラフ説明可能人工知能(GXAI)エンジンに対応することができる。GXAIエンジンは、深層学習を使用して、第2のサブグラフ120A…120Nのセット(すなわち、入力連続グラフ114から抽出された第1のサブグラフ116A…116Nのセットに対応する最も近い縮小サブグラフ)などのグラフ構造化データ上での機械学習を可能にする深層学習を使用しうる深層テンソルに対応することができる。深層テンソルは、グラフ・データ特徴を抽出するために、トレーニング・グラフ・データ(たとえば、第2のサブグラフ120A)をテンソルに変換することができる。抽出は、テンソル分解を使用してテンソルを一様テンソル表現に変換することに関わりうる。一様テンソル表現は、説明可能な予測モデル110に入力されてもよい。一様テンソル表現は、(入力サブグラフ上の説明可能な予測モデル110の適用に基づいて取得されうる)推論結果に大きく寄与する可能性がある、トレーニング・グラフ・データからのデータ特徴の抽出を容易にすることができる。(GXAIエンジンに関連する)深層テンソルは、抽出された特徴と入力サブグラフとの間の対応をさらに確立して、(そこから入力サブグラフが抽出されうる)グラフのノード間の接続のセットを表す情報を生成することができる。この対応は、入力サブグラフ上の説明可能な予測モデル110の適用に基づいて取得されうる機械学習結果の理解を可能にすることができる。ある実施形態では、グラフ機械学習モデル108は、電子デバイス102、サーバー104、またはデータベース106のいずれかに格納されうる。グラフ機械学習モデル108は、プロセッサ、マイクロプロセッサ(たとえば、一つまたは複数の動作を実行する、またはその実行を制御するため)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)を含むハードウェアを使用して実装されうる。他のいくつかの例では、グラフ機械学習モデル108は、コード、プログラム、またはソフトウェア命令のセットであってもよい。グラフ機械学習モデル108は、ハードウェアとソフトウェアの組み合わせを使用して実装されうる。
【0038】
説明可能な予測モデル110は、入力グラフ・データを分類または解析して、特定のリアルタイムアプリケーション(グラフ・ノード分類タスクやグラフ回帰タスクなど)についての出力結果(予測)を生成するように構成されうる、適切なロジック、回路、インターフェース、および/またはコードを含むことができる。たとえば、説明可能な予測モデル110は、入力グラフ・データにおける各ノード間の異なるタイプのノード・エッジを認識しうる、トレーニングされたグラフ・ニューラル・ネットワーク・モデルであってもよい。エッジは、入力グラフ・データにおける各ノード間の異なる接続または関係に対応しうる。認識されたノードおよびエッジに基づいて、説明可能な予測モデル110は、入力グラフ・データ内の異なるノードを異なるラベルまたはクラスに分類し、分類についての理由(単数または複数)を理解、説明、または提供するために使用されうる説明を生成しうる。一例では、入力グラフ・データの特定のノードは、それに関連する特徴のセットを含みうる。さらに、各エッジは、同様の特徴のセットを有する異なるノードと接続しうる。電子デバイス102は、説明可能な予測モデル110を使用して特徴ベクトルを生成するために、特徴のセットをエンコードするように構成されうる。エンコード後、情報は、特定のノードと、エッジを通じて接続された近傍ノードとの間で渡されうる。近傍ノードに渡された情報に基づいて、最終ベクトルが各ノードについて生成されうる。そのような最終ベクトルは、特定のノードおよび近傍ノードについての特徴のセットに関連する情報を含むことができ、それにより、特定のノードに関連する信頼性のある正確な情報を提供する。結果として、説明可能な予測モデル110は、入力グラフ・データとして表される情報を解析し、入力グラフ・データに関するある予測結果の背後にある理由を提供することができる。ある実施形態では、説明可能な予測モデル110は、電子デバイス102、サーバー104、またはデータベース106のいずれかに格納されうる。説明可能な予測モデル110は、プロセッサ、マイクロプロセッサ(たとえば、一つまたは複数の動作を実行するまたはその実行を制御するため)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)を含むハードウェアを使用して実装されうる。他のいくつかの例では、説明可能な予測モデル110は、コード、プログラム、またはソフトウェア命令のセットであってもよい。説明可能な予測モデル110は、ハードウェアとソフトウェアの組み合わせを使用して実装されてもよい。
【0039】
いくつかの実施形態では、グラフ機械学習モデル108および/または説明可能な予測モデル110は、入力グラフ・データ内の異なるノードを分類するための複数の分類層を有する機械学習モデル(たとえばニューラル・ネットワーク・モデル)に対応してもよく、相続く各層は、入力として前の層の出力を使用することができる。各分類層は、複数のエッジに関連付けられていてもよく、各エッジは、複数の重みにさらに関連付けられてもよい。トレーニング中、グラフ機械学習モデル108および/または説明可能な予測モデル110は、入力グラフ・データに基づいてエッジまたはノードをフィルタリングまたは除去し、さらに出力結果(すなわち、グラフ表現)を提供するように構成されうる。グラフ機械学習モデル108および/または説明可能な予測モデル110の例は、グラフ畳み込みネットワーク(GCN)、GCN付きグラフ空間時間ネットワーク、リカレント・ニューラル・ネットワーク(RNN)、深層ベイジアン・ニューラル・ネットワーク、および/またはそのようなネットワークの組み合わせを含みうるが、それらに限定されない。
【0040】
通信ネットワーク112は、電子デバイス102、サーバー104、データベース106、グラフ機械学習モデル108、および説明可能な予測モデル110がそれを介して相互に通信しうる通信媒体を含むことができる。通信ネットワーク112は、有線接続または無線接続のうちの一つであってもよい。通信ネットワーク112の例は、インターネット、クラウドネットワーク、セルラーまたは無線モバイルネットワーク(ロングタームエボリューションおよび5Gニューラジオなど)、衛星ネットワーク(低軌道衛星のネットワークなど)、無線忠実度(Wi-Fi)ネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、またはメトロポリタンエリアネットワーク(MAN)を含みうるが、これらに限定されない。ネットワーク環境100内のさまざまなデバイスは、さまざまな有線および無線通信プロトコルに従って通信ネットワーク112に接続するように構成されうる。有線および無線通信プロトコルの例は、伝送制御プロトコルおよびインターネットプロトコル(TCP/IP)、ユーザーデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、Zig Bee、EDGE、IEEE 802.11、光忠実度(Li-Fi)、802.16、IEEE802.11s、IEEE802.11g、マルチホップ通信、無線アクセスポイント(AP)、デバイス間通信、セルラー通信プロトコル、およびBluetooth(BT)通信プロトコルのうちの少なくとも一つを含みうるが、これらに限定されない。
【0041】
動作において、電子デバイス102は、ドメインを表すグラフ(たとえば、グラフ114)、および受領されるグラフ114のノードのセットの各ノードに関連付けられたラベルを受領するように構成されうる。いくつかの実施形態では、グラフ114は、サーバー104または(サーバー104を介して)データベース106から受領されうる。グラフ114は、ノードのセット、および該ノードのセットの各ノードを他のノードと接続するエッジのセットを含むことができる知識グラフであってもよい。ノードのセットの各ノードは、ドメインのエンティティを表していてもよく、ノードのセットの任意の2つのノード間の各エッジは、それら2つのノードによって表される2つのエンティティ間の関係を示してもよい。グラフ114は、金融ドメイン、クレジットカード不正検出ドメイン、電子商取引ドメイン、ソーシャルネットワーク・ドメイン、または引用ネットワーク・ドメインを表すことができる。たとえば、引用ネットワーク・ドメインを表す知識グラフ(すなわち、グラフ114)は、研究業績の著者、研究業績、または研究業績が提示または公開される場所を表すことができるノードを含んでいてもよい。知識グラフのエッジは、著者関係(研究業績の著者とその研究業績との間)または公表関係(研究業績またはその研究業績が提示された場所との間)を表していてもよい。
【0042】
電子デバイス102は、受領されたグラフ114から第1のサブグラフ116A…116Nのセットを抽出するようにさらに構成されてもよい。抽出は、ホップ限界、受領されたグラフ114のノードに関連付けられたノード・タイプ、またはホップ限界とノード・タイプの組み合わせのうちの少なくとも一つに基づいていてもよい。受領されたグラフ114のノードは、識別されたトレーニング・ノードまたは試験ノードでありうる。トレーニング・ノードは、抽出ノードと呼ぶことができる。1つのトレーニング・ノードは、試験ノードのセットと関連付けられてもよい。試験ノードは、非抽出ノードと呼ぶことができる。第1のサブグラフ116A…116Nのセットのそれぞれの第1のサブグラフは、抽出ノードのまわりで抽出されてもよい。よって、グラフ116において識別される抽出ノードのカウントは、グラフ114から抽出される第1のサブグラフ116A…116Nのセットの中の第1のサブグラフのカウントと等しくてもよい。電子デバイス102は、各抽出ノードに関連する非抽出ノードとして識別されうるグラフ114のノードの選択のためのホップ限界(たとえば“k”)を設定してもよい。設定されたホップ限界に基づいて、各抽出ノードから「k」ホップ離れているグラフ114のノードが、対応する抽出ノードに関連する非抽出ノードとして識別されうる。グラフ114の各ノードが抽出ノードまたは非抽出ノードのいずれかとして識別されると、第1のサブグラフ116A…116Nのセットの抽出が開始されうる。各抽出された第1のサブグラフは、抽出ノードと、該抽出ノードから1ホップ、2ホップ、…またはkホップ離れていてもよい関連する非抽出ノードとを含んでいてもよい。第1のサブグラフのセットの抽出の詳細は、たとえば、
図3、
図4、および
図5においてさらに提供される。
【0043】
電子デバイス102は、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフを縮小して、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する縮小サブグラフのセットを得るようにさらに構成されてもよい。ある実施形態によれば、電子デバイス102は、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフを縮小するために、グラフ・サイズ目標、リング・ノード目標、およびハイパーパラメータのセットを決定してもよい。抽出された第1のサブグラフ116A…116Nのセットは、決定されたグラフ・サイズ目標、決定されたリング・ノード目標、および決定されたハイパーパラメータのセットのうちの少なくとも一つに基づいて縮小されて、縮小サブグラフのセットが得られてもよい。グラフ・サイズ目標は、(第1のサブグラフに対応する)縮小サブグラフの各セット内の縮小サブグラフが第1のサブグラフの縮小後に含むことができるノードの数およびエッジの数を示してもよい。リング・ノード目標は、(ターゲット・ノードに関連付けられた)第1のサブグラフの縮小のために除去されうる(ターゲット・ノードから)あるホップ・レベルにあるノードのリング内のノードの数を示してもよい。ハイパーパラメータのセットは、リング・リストに含まれる各リングに関連付けられた重みと、リング・リスト内のリングが保護されているかどうかとを含んでいてもよい。リングについてのリング・ノード目標は、そのリングに関連付けられた重み、またはそのリングが保護されているかどうかに基づいて設定してもよい。リングによって囲まれた諸ノードが、関連付けられた第1のサブグラフの縮小のために削除できない場合、そのリングは保護されていてもよい。初期のまたは第1のリング(すなわち、最も内側のリング)は、(該第1のリングで囲まれた)抽出ノードが保持されることが必要でありうるため、保護されてもよい。したがって、第1のリングの重みは、他のリングと比較して最も高くてもよく、第1のリングについてのリング・ノード目標は0でありうる。リングの重みは、リングによって囲まれうるノードによって表される情報の重要性を示してもよい。情報の重要性は、バッチ式グラフ・ベースの機械学習のための(GXAIエンジンによる)説明可能な予測モデル110のトレーニングおよび説明可能な予測モデル110による説明可能な推論結果(すなわち予測)の生成に向けた情報の寄与に基づいて定義されてもよい。抽出された第1のサブグラフのセットの縮小の詳細は、たとえば、
図3、
図6A、
図6B、
図7Aおよび
図7Bにおいてさらに提供される。
【0044】
電子デバイス102はさらに、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフの縮小に基づいて、抽出された第1のサブグラフ116A…116Nのセットから第2のサブグラフ120A…120Nのセットを得るための動作の第1のセットを実行するように構成されてもよい。動作の第1のセットは、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する最も近い縮小サブグラフを、縮小サブグラフのセットから決定する動作を含んでいてもよい。たとえば、電子デバイス102は、縮小サブグラフ1のセット118Aから最も近い縮小サブグラフを決定してもよい。同様に、縮小サブグラフ2のセット118Bから最も近い縮小サブグラフが決定されてもよく、縮小サブグラフNのセット118Nから最も近い縮小サブグラフが決定されてもよい。各第1のサブグラフに対応する縮小サブグラフの各セットから最も近い縮小サブグラフを決定することの詳細は、たとえば、
図3および
図8においてさらに提供される。
【0045】
動作の第1のセットは、抽出された第1のサブグラフ116A…116Nのセットと、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する決定された最も近い縮小サブグラフとに基づいて、カバレッジ・メトリックのセットを決定する動作をさらに含んでいてもよい。ある実施形態では、カバレッジ・メトリックのセットは、第1のノード反復分布、第1のノード次数分布、第2のノード反復分布、第2のノード次数分布、または第3のノード反復分布のうちの少なくとも1つに基づいて決定されうる。カバレッジ・メトリックのセットは、分布スキュー、第1の相関係数、および第2の相関係数を含んでいてもよい。動作の第1のセットは、カバレッジ・メトリックの決定されたセットがカバレッジ条件のセットを満たすかどうかを判定する動作をさらに含んでいてもよい。最も近い縮小サブグラフに基づくカバレッジの解析およびカバレッジ・メトリックのセットの決定の詳細は、たとえば、
図3および
図9においてさらに提供される。
【0046】
動作の第1のセットは、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たさないという判定に基づいて、抽出された第1のサブグラフ116A…116Nのセットの縮小を再反復する動作をさらに含むことができる。電子デバイス102は、各第1のサブグラフに対応する縮小されたサブグラフのセットを得るために、第1のサブグラフ116A…116Nのセットの各第1のサブグラフの縮小を再反復するように構成されうる。各第1のサブグラフに対応する縮小されたサブグラフのセットが得られると、動作の第1のセットが繰り返されてもよい。
【0047】
電子デバイス102は、第1のサブグラフの抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する決定された最も近い縮小されたサブグラフから、第2のサブグラフ120A…120Nのセットを得るようにさらに構成されてもよい。第2のサブグラフ120A…120Nのセットは、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすまで、動作の第1のセットの実行の逐次反復的な制御に基づいて得られてもよい。たとえば、第2のサブグラフ120Aは、第1のサブグラフ116Aに対応する最も近い縮小サブグラフから得られてもよい。第2のサブグラフ120Aは、縮小サブグラフ1のセット118Aから決定されてもよい。同様に、第2のサブグラフ120A…120Nのセットの他の第2のサブグラフは、他の第1のサブグラフに対応する決定された最も近い縮小サブグラフから得られてもよい。
【0048】
電子デバイス102は、さらに、得られた第2のサブグラフ120A…120Nのセットと、受領されたグラフ114のノードのセットの各ノードに関連する受領されたラベルとに基づいて、グラフ機械学習モデル108(すなわちGXAIエンジン)をトレーニングするように構成されてもよい。ある実施形態によれば、GXAIエンジンは、第2のサブグラフ120A…120Nのセットを使用して、グラフ・データに関する説明可能な予測のための説明可能な予測モデル110を生成することができる。電子デバイス102は、スケーラブルなバッチ式機械学習の実行のために、第2のサブグラフ120A…120Nのセットに基づいて、説明可能な予測モデル110をトレーニングするように構成されてもよい。
【0049】
本開示の範囲から逸脱することなく、
図1に対して修正、追加、または省略がされてもよい。たとえば、ネットワーク環境100は、本開示で図示および説明されているものよりも多くの、または少ない要素を含んでいてもよい。いくつかの実施形態では、本開示の範囲から逸脱することなく、サーバー104およびデータベース106のそれぞれの機能が電子デバイス102に組み込まれてもよい。
【0050】
図2は、本開示で説明される少なくとも1つの実施形態による、説明可能な人工知能(explainable Artificial Intelligence、XAI)のためのグラフ縮小のための例示的な電子デバイスを示すブロック図である。
図2は、
図1の要素との関連で説明される。
図2を参照すると、電子デバイス102を含むシステム202のブロック
図200が示されている。電子デバイス102は、プロセッサ204、メモリ206、永続的データ記憶208、入出力(I/O)デバイス210、およびネットワーク・インターフェース212を含んでいてもよい。少なくとも1つの実施形態では、メモリ206は、グラフ機械学習モデル108および説明可能な予測モデル110を格納することができる。少なくとも1つの実施形態では、I/Oデバイス210は、ディスプレイデバイス210Aを含んでいてもよい。
【0051】
プロセッサ204は、メモリ206に格納された命令のセットを実行するように構成されうる適切なロジック、回路、およびインターフェースを含みうる。プロセッサ204は、電子デバイス102によって実行される異なる動作に関連付けられたプログラム命令を実行するように構成されてもよい。プロセッサ204は、ドメインを表すグラフ114と、受領されるグラフ114のノードのセットの各ノードに関連付けられたラベルとを受領するように構成されうる。プロセッサ204は、受領されたグラフ114から第1のサブグラフ116A…116Nのセットを抽出するようにさらに構成されうる。プロセッサ204は、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフ(第1のサブグラフ116Aのような)を縮小して、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する縮小サブグラフのセット(たとえば、縮小サブグラフ1のセット118A)を得るようにさらに構成されうる。プロセッサ204は、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフの縮小に基づいて、抽出された第1のサブグラフ116A…116Nのセットから第2のサブグラフ120A…120Nのセットを得るようにさらに構成されうる。動作の第1のセットは、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフ(第1のサブグラフ116Aのような)に対応する縮小サブグラフのセット(たとえば、縮小サブグラフ1のセット118A)から、最も近い縮小サブグラフを決定することを含みうる。動作の第1のセットは、抽出された第1のサブグラフ116A…116Nのセットと、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する決定された最も近い縮小サブグラフとに基づいて、カバレッジ・メトリックのセットを決定することをさらに含みうる。さらに、動作の第1のセットは、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすかどうかを判定することを含みうる。また、動作の第1のセットは、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たさないという判定に基づいて、抽出された第1のサブグラフ116A…116Nのセットの縮小を再反復することを含みうる。プロセッサ204は、さらに、カバレッジ・メトリックの決定されたセットがカバレッジ条件のセットを満たすまで、動作の第1のセットの実行の逐次反復的な制御に基づいて、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する決定された最も近い縮小されたサブグラフから第2のサブグラフ120A…120Nのセットを取得するように構成されてもよい。プロセッサ204は、さらに、得られた第2のサブグラフ120A…120Nのセットと、受領されたグラフ114のノードのセットの各ノードに関連する受領されたラベルとに基づいて、グラフ機械学習モデル108をトレーニングするように構成されてもよい。プロセッサ204は、当技術分野で公知の多数のプロセッサ技術に基づいて実装されうる。プロセッサ技術の例は、中央処理装置(CPU)、X86ベースのプロセッサ、縮小命令セットコンピューティング(RISC)プロセッサ、特定用途向け集積回路(ASIC)プロセッサ、複雑命令セットコンピューティング(CISC)プロセッサ、グラフィック処理ユニット(GPU)、コプロセッサ、またはこれらの組み合わせを含みうるが、これらに限定されない。
【0052】
図2では単一のプロセッサとして示されているが、プロセッサ204は、本開示で説明するように、電子デバイス102の任意の数の動作を個別にまたは集団的に実行する、またはその実行を指揮するように構成された任意の数のプロセッサを含みうる。さらに、該プロセッサの一つまたは複数は、異なるサーバーなどの一つまたは複数の異なる電子デバイス上に存在してもよい。少なくとも1つの実施形態では、プロセッサ204は、プログラム命令を解釈および/または実行するか、メモリ206または永続データ記憶208に格納されうるデータを処理するように構成されうる。いくつかの実施形態では、プロセッサ204は、永続データ記憶208からプログラム命令をフェッチし、メモリ206にプログラム命令をロードするように構成される。プログラム命令がメモリ206にロードされた後、プロセッサ204は、プログラム命令を実行することができる。
【0053】
メモリ206は、プロセッサ204によって実行される一つまたは複数の命令を格納するように構成される適切なロジック、回路、およびインターフェースを含むことができる。メモリ206に格納された一つまたは複数の命令は、プロセッサ204によって実行され、プロセッサ204(および電子デバイス102)の種々の動作を実行することができる。メモリ206は、受領されたグラフ114、抽出された第1のサブグラフ116A…116Nのセット、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応しうる縮小されたサブグラフのセット、および(各第1のサブグラフに対応する縮小されたサブグラフのセットから決定された最も近い縮小されたサブグラフを含む)第2のサブグラフ120A…120Nのセットを格納しうる。メモリ206は、グラフ機械学習モデル108および/または説明可能な予測モデル110をさらに格納することができる。メモリ206は、抽出ノード(または抽出ID)の第1のリスト(たとえば抽出リスト)および非抽出ノードの第2のリストをさらに格納することができる。メモリ206の実装例は、CPUキャッシュ、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的に消去可能なプログラマブルリードオンリーメモリ(EEPROM)、および/またはセキュアデジタル(SD)カードを含みうるが、これらに限定されない。
【0054】
永続データ記憶208は、プロセッサ204によって実行可能なプログラム命令を格納するように構成されうる適切なロジック、回路、および/またはインターフェースを含みうる。永続データ記憶208は、コンピュータ実行可能命令またはデータ構造を担持するまたは記憶しているコンピュータ読み取り可能な記憶媒体を含むことができる。そのようなコンピュータ読み取り可能な記憶媒体は、プロセッサ204のような汎用または特殊目的のコンピュータによってアクセスされうる任意の利用可能な媒体を含むことができる。限定ではなく一例として、そのようなコンピュータ読み取り可能な記憶媒体は、コンパクトディスク読み出し専用メモリ(CD-ROM)または他の光ディスク記憶、磁気ディスク記憶または他の磁気記憶デバイス(たとえばハードディスクドライブ(HDD))、フラッシュメモリデバイス(たとえば、ソリッドステートドライブ(SSD)、セキュアデジタル(SD)カード、その他のソリッドステートメモリデバイス)、またはコンピュータ実行可能命令またはデータ構造の形で特定のプログラムコードを担持するまたは記憶するために使用されてもよく、汎用または特殊目的のコンピュータによってアクセスされうる他の任意の記憶媒体を含む有形のまたは非一時的なコンピュータ読み取り可能な記憶媒体を含むことができる。上記の組み合わせもまた、コンピュータ読み取り可能な記憶媒体の範囲内に含めることができる。コンピュータ実行可能命令は、たとえば、プロセッサ204に、電子デバイス102に関連するある動作または動作のグループを実行させるように構成された命令およびデータを含むことができる。
【0055】
I/Oデバイス210は、入力を受領し、受領された入力に基づいて出力をレンダリングするように構成されうる適切なロジック、回路、およびインターフェースを含むことができる。たとえば、I/Oデバイス210は、グラフ114の受領をトリガーすることができる入力を受領することができる。さらに、I/Oデバイス210は、第1のサブグラフ116A…116Nのセット、縮小されたサブグラフの各セット(縮小されたサブグラフ1のセット118Aなど)、第2のサブグラフ120A…120Nのセット、または(ドメインに関連付けられた)入力サブグラフなどの出力、説明可能な予測モデル110の予測出力をレンダリングすることができる。さまざまな入力および出力デバイスを含むことができるI/Oデバイス210は、プロセッサ204と通信するように構成されてもよい。I/Oデバイス210の例は、タッチスクリーン、キーボード、マウス、ジョイスティック、ディスプレイデバイス(たとえば、ディスプレイ装置210A)、マイクロフォン、およびスピーカーを含むことができるが、これらに限定されない。
【0056】
ディスプレイ装置210Aは、電子デバイス102によって生成されうる出力(たとえば、説明可能な予測モデル110の予測結果)をレンダリングするように構成されうる適切なロジック、回路およびインターフェースを含みうる。ディスプレイ装置208Aは、ユーザーがディスプレイ装置208Aを介してユーザー入力を提供することを可能にしうるタッチスクリーンであってもよい。タッチスクリーンは、抵抗式タッチスクリーン、容量式タッチスクリーン、または熱式タッチスクリーンのうちの少なくとも1つであってもよい。ディスプレイ装置208Aは、限定されるものではないが、液晶ディスプレイ(LCD)ディスプレイ、発光ダイオード(LED)ディスプレイ、プラズマディスプレイ、または有機LED(OLED)ディスプレイ技術のうちの少なくとも1つ、または他のディスプレイ装置などのいくつかの既知の技術によって実現することができる。ある実施形態によると、ディスプレイ装置208Aは、ヘッドマウント装置(HMD)、スマートグラス装置、シースルー・ディスプレイ、投影ベースのディスプレイ、エレクトロクロミック・ディスプレイ、または透明ディスプレイのディスプレイ画面を指すことができる。
【0057】
ネットワーク・インターフェース212は、通信ネットワーク112を介してプロセッサ204(すなわち、電子デバイス102)、サーバー104、グラフ機械学習モデル108、および説明可能な予測モデル110の間の通信を容易にするように構成されうる適切なロジック、回路、およびインターフェースを含むことができる。ネットワーク・インターフェース212は、通信ネットワーク112との電子デバイス102の有線または無線通信をサポートするために、さまざまな既知の技術を使用して実装されうる。ネットワーク・インターフェース212は、アンテナ、無線周波数(RF)トランシーバ、一つまたは複数の増幅器、チューナー、一つまたは複数の発振器、デジタル信号プロセッサ、コーダ‐デコーダ(コーデック)チップセット、加入者識別情報モジュール(SIM)カード、またはローカル・バッファ回路を含みうるが、これらに限定されない。ネットワーク・インターフェース212は、ネットワーク、たとえばインターネット、イントラネット、または無線ネットワーク、たとえば携帯電話ネットワーク、無線ローカルエリアネットワーク(LAN)、およびメトロポリタン・エリア・ネットワーク(MAN)と無線通信を介して通信するように構成されうる。無線通信は、グローバル移動通信システム(GSM)、向上データGSM環境(EDGE)、広帯域符号分割多元接続(W-CDMA)、ロングタームエボリューション(LTE)、第5世代(5G)ニューラジオ(NR)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、ブルートゥース(登録商標)、無線忠実度(Wi-Fi)(IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11nなど)、ボイスオーバーインターネットプロトコル(VoIP)、光忠実度(Li-Fi)、マイクロ波アクセスのためのワールドワイド相互運用性(Wi-MAX)、電子メールのためのプロトコル、インスタントメッセージング、およびショートメッセージサービス(SMS)などの複数の通信規格、プロトコルおよび技術のうちの一つまたは複数を使用するように構成されてもよい。
【0058】
本開示の範囲から逸脱することなく、例示的な電子デバイス102に修正、追加、または省略がなされてもよい。たとえば、いくつかの実施形態では、例示的な電子デバイス102は、簡潔のために明示的に図示または説明されないことがありうる任意の数の他の構成要素を含んでいてもよい。
【0059】
図3は、本開示のある実施形態による、説明可能な人工知能(XAI)のためのグラフ縮小のための例示的な実行パイプラインを示す図である。
図3は、
図1および
図2の要素との関連で説明される。
図3を参照すると、実行パイプライン300が示されている。例示的な実行パイプライン300は、XAIのためのグラフ縮小のために
図1の電子デバイス102のプロセッサ204によって実行されうる動作のシーケンスを含んでいてもよい。実行パイプライン300においては、302から始まり、316で終了しうる動作のシーケンスが示されている。
【0060】
302において、グラフ302Aが受領されうる。少なくとも1つの実施形態では、プロセッサ204が、グラフ302Aを受領するように構成されてもよい。グラフ302Aは、ドメインを表しうるトレーニング入力グラフ・データ、およびグラフ302Aのノードのセットの各ノードに関連付けられたラベルとして受領されうる。たとえば、グラフ302Aは、クレジットカード不正検出ドメインを表してもよい。グラフ302Aは、ノードのセットおよびエッジのセットを含むことができる。ノードのセットの各ノードは、クレジットカード、クレジットカード所有者、ポイントオブセール(POS)、またはビジネス所有者などのエンティティを表しうる。2つのノード間のエッジのセットの各エッジは、それら2つのノードによって表される2つのエンティティ間の関係を表すことができる。この関係は、トランザクション、カード所有、またはビジネス所有のいずれかであることができる。
【0061】
304において、第1のサブグラフ304A…304Nのセットが抽出されうる。少なくとも1つの実施形態では、プロセッサ204が、第1のサブグラフ304A…304Nのセットを抽出するように構成されてもよい。抽出された第1のサブグラフ304A…304Nのセットは、グラフXAI(GXAI)エンジンに提供されてもよい。説明可能な予測モデル110を作成およびトレーニングし、スケーラブルまたはバッチ式のグラフ機械学習を実行するためである。グラフ302Aが膨大な数のノードおよびエッジを含む可能性があるため、第1のサブグラフ304A…304Nのセットの抽出が必要でありうる。グラフ302Aに含まれる情報の膨大さ、GXAIエンジンの記憶の制約、およびGXAIエンジンの計算上の制約のため、もとのグラフ302A(これは大規模グラフでありうる)上でGXAIエンジンまたは説明可能な予測モデル110を使用してグラフ機械学習を適用することは現実的ではない場合がある。グラフ302Aからの第1のサブグラフ304A…304Nのセットの抽出は、グラフ302Aに含まれる情報を分割することができる。第1のサブグラフ304A…304Nのセットの各抽出された第1のサブグラフは、GXAIエンジンの記憶および計算上の制約に基づいて、説明可能な予測モデル110のトレーニングおよび推論のために管理可能でありうる情報の単位を表すことができる。各抽出された第1のサブグラフに関連する情報は、説明可能な予測モデル110による説明可能な推論結果の生成に大きく貢献することができる。
【0062】
ある実施形態によれば、ホップ限界、受領されたグラフに関連するノード・タイプ、またはホップ限界とノード・タイプの組み合わせのうちの少なくとも1つに基づいて、受領されたグラフ304Aから第1のサブグラフ304A…304Nのセットを抽出する。プロセッサ204は、グラフ304Aの各ノードに関連するノード・タイプを、トレーニング・ノード(抽出ノードとも呼ばれる)または試験ノード(非抽出ノードとも呼ばれる)として識別することができる。第1のサブグラフ304A…304Nのセットの各第1のサブグラフは、識別された抽出ノードのまわりで抽出されてもよく、識別された抽出ノードから最大kホップ離れていてもよい非抽出ノードを含むことができる。ここで、「k」はホップ限界である。
【0063】
プロセッサ204は、第1のサブグラフ304A…304Nのセットを記憶するサブグラフ・リストを生成するように構成されてもよい。サブグラフ・リストの各エントリーは、第1のサブグラフ304A…304Nのセットの第1のサブグラフを表しうるタプルを含んでいてもよい。第1のサブグラフを表すタプルは、そのまわりで当該第1のサブグラフが抽出される抽出ノード、リング・リスト、およびエッジ・リストを含んでいてもよい。リング・リストは、「(k+1)」個の同心リングを含んでいてもよい。リング・リストの第1のリングまたは最も内側のリングは、前記抽出ノードを囲んでもよい。その後、抽出ノードから1ホップ離れた非抽出ノードが、第1のリングの外側に配置されてもよい。配置された非抽出ノードは、第2のリングによって囲まれてもよい。同様に、当該抽出ノードからkホップ離れた非抽出ノードが、「k」番目のリングの外側にあり、「(k+1)」番目のリングによって囲まれてもよい。しかしながら、「k」番目のリングの外側の非抽出ノードの配置は、その非抽出ノードを「(k-1)」番目のリングの外側に配置された少なくとも1つの非抽出ノードの近傍として決定することに基づいてもよい。エッジ・リストは、エッジのセットを含んでいてもよい。エッジ・リスト内の各エッジは、(第1のリングによって囲まれた)抽出ノードと(第1のリングの外側に配置された)非抽出ノードのペア、または(後続の諸リングまたは同じリングの外側に配置された)非抽出ノードのペアを接続してもよい。
【0064】
タプルのリング・リストおよびエッジ・リストは、初期には空であってもよい。リング・リストは、抽出ノードと第1のリングで初期化されてもよい。その後、抽出ノードから1ホップ離れた非抽出ノードが第1のリングの外側に配置され、抽出ノードと(1ホップ離れている)各非抽出ノードを結ぶエッジがエッジ・リストに含められてもよい。さらに、(1ホップ離れている)非抽出ノードを囲む第2のリングがリング・リストに含められてもよい。リング・リストに含まれるリングの外側への非抽出ノードの配置、エッジを含めること、およびリング・リストに(配置されたノードを囲む)リングを含めることは、抽出ノードから「k」ホップ離れた非抽出ノードが「k」番目のリングの外側に配置されるまで逐次反復的に継続されてもよい。各エッジはエッジ・リストに含まれてもよく、「(k-1)」番目のリングによって囲まれた非抽出ノードと「k」番目のリングの外側に配置された非抽出ノードの対を接続してもよい。「(k+1)番目」のリングがリング・リストに含められてもよい。この段階で、第1のサブグラフが抽出されてもよく、タプルがサブグラフ・リストに含められてもよい。
【0065】
たとえば、第1のサブグラフ304A…304Nのセットの各第1のサブグラフは、クレジットカード所有者を表すノードのまわりで抽出されてもよい。プロセッサ204は、クレジットカード所有者を表すノードを抽出ノードとして識別し、クレジットカード、POS、およびビジネス所有者を表すノードを非抽出ノードとして識別してもよい。クレジットカードを表す非抽出ノードは、抽出ノードから1ホップ離れていてもよい。抽出ノードとクレジットカードを表す非抽出ノードとを接続するエッジは、カード所有を表すことができる。POSを表す非抽出ノードは、抽出ノードから2ホップ離れていることができる。クレジットカードを表す非抽出ノードとPOSを表す非抽出ノードとを接続するエッジは、トランザクションを表すことができる。ある種の場合には、ターゲット・カード所有者ノードから2ホップ離れているノードは、同じクレジットカードについての別のカード所有者ノードに対応することができる。たとえば、同じクレジットカードの共同所有者の場合、ターゲット・カード所有者ノードからの2番目のホップ・ノードは、クレジットカードの共同所有者を表すノードであることができる。ビジネス所有者を表す非抽出ノードは、抽出ノードから3ホップ離れていることができる。POSを表す非抽出ノードとビジネス所有者を表す非抽出ノードを結ぶエッジは、ビジネス所有を表すことができる。
【0066】
たとえば、抽出された第1のサブグラフを表すサブグラフ・リスト内のタプルは、クレジットカード所有者を表す抽出ノードのまわりで抽出されることができる。抽出された第1のサブグラフは、125個のノードを含むことができる。リング・リストは、4つのリングを含むことができ、エッジ・リストは、124個のエッジを含むことができる。クレジットカード所有者を表す抽出ノードは、第1のリングによって囲まれてもよい。さらに、クレジットカードを表す4つのノードは、第1のリングの外側に配置されてもよく、第2のリングによって囲まれてもよい。さらに、4つのエッジが、クレジットカード所有者を表す抽出ノードを、クレジットカードを表す4つの非抽出ノードと接続することができる。よって、クレジットカード所有者は、4つのクレジットカードを所有することができる。クレジットカード所有者は、4つのクレジットカードを使用して、40のPOSで40のトランザクションを実行することができる。一例では、各POSで各クレジットカードを使用して10のトランザクションを実行することができる。よって、POSを表す40のノードが第2のリングの外側に配置され、第3のリングによって囲まれてもよい。さらに、40のエッジが、クレジットカードを表す4つの非抽出ノードのそれぞれを、POSを表しうる40の非抽出ノードのそれぞれと接続することができる。さらに、各POSは、2人のビジネス所有者によって所有されることができる。よって、ビジネス所有者を表しうる80の非抽出ノードが、第3のリングの外側に配置され、第4のリングによって囲まれてもよい。さらに、80のエッジが、POSを表しうる40の非抽出ノードのそれぞれを、ビジネス所有者を表す80の非抽出ノードと接続することができる。第1のサブグラフのセットの抽出に関する詳細は、たとえば、
図5においてさらに説明される。
【0067】
306では、抽出された第1のサブグラフ304A…304Nのセットの各抽出された第1のサブグラフが縮小されてもよい。少なくとも1つの実施形態では、プロセッサ204は、抽出された第1のサブグラフ304A…304Nのセットの各抽出された第1のサブグラフを縮小するように構成されうる。各第1のサブグラフが縮小されて、縮小サブグラフの対応するセットを得ることができる。たとえば、プロセッサ204は、第1のサブグラフ304Aを事前定義された回数だけ縮小して、縮小サブグラフの第1のセット306Aを得ることができる。同様に、プロセッサ204は、第1のサブグラフ304Bを前記事前定義された回数だけ縮小して、縮小サブグラフの第2のセット306Bを得ることができ、…第Nのサブグラフ304Nを前記事前定義された回数だけ縮小して、縮小サブグラフの第Nのセット306Nを得ることができる。さらに、縮小されたサブグラフの各セット(306A、306B、…、または306N)は、前記事前定義された数の縮小されたサブグラフを含むことができる。
【0068】
ある実施形態によれば、プロセッサ204は、各第1のサブグラフ内のノードの数およびエッジの数を決定することができる。対応する第1のサブグラフ(たとえば、第1のサブグラフ304A)内のノードの数およびエッジの数に基づいて、プロセッサ204は、グラフ・サイズ目標(すなわち、第1のサブグラフ304Aの縮小後に保持されうるノードの最大数)を決定することができる。プロセッサ204は、各第1のサブグラフを表すタプルのリング・リスト内の各リングについてのリング・ノード目標をさらに決定することができる。リング・ノード目標は、抽出された第1のサブグラフを縮小するために、抽出された第1のサブグラフから除去または削除されうる、そのリングによって囲まれたノードの数を指定することができる。リング・ノード目標は、グラフ・サイズ目標および各第1のサブグラフに関連するハイパーパラメータのセットに基づいて決定されうる。ハイパーパラメータのセットは、リング・リスト内の各リングの重みと、対応するリングが保護されているかどうかの指示とを含むことができる。保護されたリングのリング・ノード目標は0であってもよく、保護されていないリングのリング・ノード目標は、リングの重みに正比例してもよい。保護されたリングは、サブグラフ縮小のために構成ノードのいずれも削除または除去されえないリングであってもよい。保護されていないリングは、サブグラフ縮小のために一つまたは複数の構成ノードが削除または除去されうるリングであってもよい。グラフ・サイズ目標および各リングのリング・ノード目標に基づいて、プロセッサ204は、各第1のサブグラフ(たとえば、第1のサブグラフ304A)を事前定義された回数だけ縮小して、縮小されたサブグラフの各セット(たとえば、縮小されたサブグラフの第1のセット306A)を得るように構成されてもよい。
【0069】
プロセッサ204は、第1のサブグラフ304Aから除去するために、それぞれの保護されていないリング(最も内側のリングを除く)によって囲まれた非抽出ノードをランダムに選択するように構成されてもよい。ランダムに選択された非抽出ノード(保護されていないリングによって囲まれる)が第1のサブグラフ304Aから除去されるたびに、除去された非抽出ノードと第1のサブグラフ304Aの抽出ノードとを接続するエッジ、または除去された非抽出ノードと第1のサブグラフ304Aの任意の非抽出ノードとを接続するエッジが除去されてもよい。その後、孤立ノードおよびダングリング・ノードが第1のサブグラフ304Aから除去されてもよい。孤立ノードは、ランダムに選択された非抽出ノードの除去後に第1のサブグラフ304Aの他のノードから切断されている非抽出ノードに対応してもよい。ダングリング・ノードは、ランダムに選択された非抽出ノードの除去後に第1のサブグラフ304Aからkホップより多く離れている非抽出ノードに対応してもよい。
【0070】
プロセッサ204は、ランダムに選択された非抽出ノード、およびランダムに選択された非抽出ノードの除去後に検出されうる任意の孤立ノードまたはダングリング・ノードの除去後に、グラフ・サイズ目標または(保護されていないリングの)リング・ノード目標が満たされているかどうかをさらに判定してもよい。グラフ・サイズ目標が満たされていない場合、プロセッサ204は、リング・ノード目標が満たされているかどうかを判定してもよい。リング・ノード目標が満たされていない場合、保護されていないリングによって囲まれた別の非抽出ノードが、第1のサブグラフ304Aから除去するためにランダムに選択されてもよい。非抽出ノードが除去された後(および検出された任意の孤立ノードおよびダングリング・ノードが除去された後)、リング・ノード目標が満たされていると判定された場合、後続の保護されていないリングによって囲まれた非抽出ノードが、第1のサブグラフ304Aから除去するためにランダムに選択されてもよい。非抽出ノードが除去されるたびに、プロセッサ204は、第1のサブグラフ304Aがグラフ・サイズ目標を満たすかどうかを判定してもよい。グラフ・サイズ目標が満たされていると判定された場合、縮小サブグラフの第1のセット306Aの縮小サブグラフが取得されてもよい。同様に、縮小サブグラフの第1のセット306Aの他の縮小サブグラフが、第1のサブグラフ304Aの縮小に基づいて得られてもよい。
【0071】
プロセッサ204は、さらに、縮小サブグラフの他のセットの事前定義された数の縮小サブグラフを得ることができる(縮小サブグラフの第2のセット306B、…縮小サブグラフの第Nのセット306Nなど)。縮小サブグラフは、ランダムに選択された非抽出ノードの除去に基づいて得られるので、プロセッサ204は、抽出された各第1のサブグラフに対応する前記事前定義された数の縮小サブグラフ(すなわち、縮小サブグラフのセット)を得ることができる。
【0072】
たとえば、(抽出された第1のサブグラフに対応する)縮小サブグラフの特定のセットにおける縮小サブグラフのカウント(すなわち、事前定義された数)は2であってもよい。クレジットカード所有者を表すノードのまわりで抽出された第1のサブグラフは、2回縮小されて、2縮小されたサブグラフを得ることができる。第1の縮小サブグラフを得るためのグラフ・サイズ目標は、16に設定されてもよい。第1のサブグラフは、保護されていないリングによって囲まれたランダムに選択された非抽出ノードの除去に基づいて縮小されうる。第1のリングは保護されていてもよく、一方、第2のリング、第3のリング、および第4のリングは保護されていなくてもよい。第2のリング、第3のリング、および第4のリングのリング・ノード目標は、それぞれ1、5、および1であってもよい。よって、(第2のリングによって囲まれている)クレジットカードを表す非抽出ノード(たとえば4つの非抽出ノードのうちの)は、除去のためにランダムに選択されうる。同様に、(第3のリングによって囲まれている)POSを表しうる5つの非抽出ノード(たとえば、クレジットカードを表す各非抽出ノード代表から発する10個の非抽出ノードのうちの)が除去のためにランダムに選択されうる。さらに、(第2のリングによって囲まれている)ビジネス所有者を表す非抽出ノード(たとえば、POSを表す各非抽出ノード代表から発する2つの非抽出ノードのうちの)が除去のためにランダムに選択されうる。第1のサブグラフに対応する第1の縮小サブグラフは、15個のノードを含むことができる。
【0073】
第2の縮小サブグラフを得るためのグラフ・サイズ目標は16に設定されてもよい。第1のリングおよび第4のリングは保護されていてもよく、第2のリングおよび第3のリングは保護されていなくてもよい。第2のリングおよび第3のリングのリング・ノード目標は、それぞれ2および6であってもよい。よって、(第2のリングによって囲まれた)クレジットカードを表す2つの非抽出ノード(たとえば4つの非抽出ノードのうちの)が除去のためにランダムに選択されうる。同様に、(第3のリングによって囲まれた)POSを表す6つの非抽出ノード(たとえば、クレジットカードを表す各非抽出ノード代表から発する10個の非抽出ノードのうちの)が除去のためにランダムに選択されうる。第1のサブグラフに対応する第2の縮小サブグラフは、16個のノードを含むことができる。
【0074】
308において、第1のサブグラフ304A…304Nのセットのそれぞれの抽出された第1のサブグラフに対応する縮小サブグラフのそれぞれのセットに基づいて、最も近い縮小サブグラフ308A…308Nのセットが決定されうる。少なくとも1つの実施形態では、プロセッサ204は、第1のサブグラフ304A…304Nのセットのそれぞれの抽出された第1のサブグラフに対応する縮小サブグラフのそれぞれのセットに基づいて、最も近い縮小サブグラフ308A…308Nのセットを決定するように構成されうる。たとえば、プロセッサ204は、縮小サブグラフの第1のセット306Aから最も近い縮小サブグラフ308Aを決定することができる。同様に、プロセッサ204は、縮小サブグラフの第2のセット306B、…縮小サブグラフの第Nのセット306Nから、それぞれ、最も近い縮小サブグラフ308B、…、最も近い縮小サブグラフ308Nを決定することができる。
【0075】
ある実施形態によれば、プロセッサ204は、第1のサブグラフ304A…304Nの抽出されたセットに基づいてグラフ・カーネル・エンコーダをトレーニングするように構成されてもよい。トレーニングは、教師なし学習に基づいていてもよい。グラフ・カーネル・エンコーダのトレーニングが完了すると、プロセッサ204は、第1のサブグラフ304A…304Nのセットのそれぞれの第1のサブグラフに対するグラフ・カーネル・エンコーダの適用に基づいて、第1のベクトルを決定してもよい。グラフ・カーネル・エンコーダは、対応する第1のベクトルを生成するために、第1のサブグラフ304A…304Nのセットのそれぞれの第1のサブグラフをエンコード(またはベクトル化)してもよい。たとえば、第1のサブグラフ304Aに対応する第1のベクトルは、第1のサブグラフ304Aのエンコードに基づいて決定されてもよい。同様に、第1のサブグラフ304Bに対応する第1のベクトルは、第1のサブグラフ304Bのエンコードに基づいて決定されてもよく、…、第1のサブグラフ304Nに対応する第1のベクトルは、第1のサブグラフ304Nのエンコードに基づいて決定されてもよい。
【0076】
プロセッサ204は、縮小サブグラフの各セットのそれぞれの縮小サブグラフに対するグラフ・カーネル・エンコーダの適用に基づいて、第2のベクトルを決定してもよい。たとえば、縮小サブグラフの第1のセット306Aのそれぞれの縮小サブグラフに対応する第2のベクトルを決定してもよい。第2のベクトルは、縮小サブグラフの第1のセット306Aのそれぞれの縮小サブグラフのエンコードに基づいて決定してもよい。同様に、縮小サブグラフの第2のセット306Bのそれぞれの縮小サブグラフに対応する第2のベクトルを決定し…、縮小サブグラフの第Nのセット306Nのそれぞれの縮小サブグラフに対応する第2のベクトルを決定してもよい。
【0077】
プロセッサ204は、第1のサブグラフ304Aに対応する第1のベクトルと、縮小サブグラフの第1のセット306Aのそれぞれの縮小サブグラフに対応する第2のベクトルとの間の相関係数を決定するようにさらに構成されてもよい。たとえば、縮小サブグラフの第1のセット306Aは、2つの縮小サブグラフを含んでいてもよい。プロセッサ204は、縮小サブグラフの第1のセット306Aの第1の縮小サブグラフに対応する第2のベクトル1と、縮小サブグラフの第1のセット306Aの第2の縮小サブグラフに対応する第2のベクトル2とを決定してもよい。プロセッサ204は、第1のサブグラフ304Aに対応する第1のベクトルと、(縮小サブグラフの第1のセット306Aの第1の縮小サブグラフに対応する)第2のベクトル1との間の相関係数を決定してもよい。同様に、プロセッサ204は、第1のサブグラフ304Aに対応する第1のベクトルと、(縮小サブグラフの第1のセット306Aの第2の縮小サブグラフに対応する)第2のベクトル2との間の相関係数2を決定してもよい。
【0078】
プロセッサ204は、さらに、第1のサブグラフと、縮小サブグラフの対応するセットの縮小サブグラフのそれぞれとの間の相関係数の比較に基づいて、縮小サブグラフの各セットから、最も近い縮小サブグラフを決定するように構成されてもよい。相関係数は、第1のサブグラフと、縮小サブグラフの対応するセットの各縮小サブグラフとの間の類似性を示すことができる。たとえば、プロセッサ204は、相関係数1と相関係数2とを比較してもよい。相関係数間の比較は、第1のサブグラフ304Aに対応する第1のベクトルと、縮小サブグラフの第1のセット306Aの第1の縮小サブグラフに対応する第2のベクトルとの類似性の間の比較に対応することができる。よって、相関係数間の比較は、第1のサブグラフ304Aに対応する第1のベクトルと、縮小サブグラフの第1のセット306Aの第2の縮小サブグラフに対応する第2のベクトルとの類似性を決定するために使用されうる。
【0079】
比較の結果に基づいて、縮小サブグラフの第1のセット306Aからの第1の縮小サブグラフまたは第2の縮小サブグラフのいずれかが、第1のサブグラフ304Aに対応する最も近い縮小サブグラフとして決定されうる。比較に基づいて相関係数1が相関係数2より大きいと判定された場合、第1の縮小サブグラフが、第1のサブグラフ304Aに対応する最も近い縮小サブグラフとして決定されうる。一方、相関係数2が相関係数1より大きいと判定された場合は、第2の縮小サブグラフが、第1のサブグラフ304Aに対応する最も近い縮小サブグラフとして決定されうる。第1のサブグラフ304Aに対応する決定された最も近い縮小サブグラフは、最も近い縮小サブグラフ308Aであってもよい。同様に、第1のサブグラフ304A…304Nのセットの他の第1のサブグラフに対応する他の最も近い縮小サブグラフ308B…308Nが、縮小サブグラフの他のセット306B…306Nから決定されてもよい。
【0080】
310において、最も近い縮小サブグラフ308A…308Nのセットの各最も近い縮小サブグラフについて、カバレッジ解析を行うことができる。少なくとも1つの実施形態では、プロセッサ204が、最も近い縮小サブグラフ308A…308Nの各最も近い縮小サブグラフのカバレッジ解析を実行するように構成されてもよい。カバレッジ解析は、第1のサブグラフ304A…304Nのセットおよび最も近い縮小サブグラフ308A…308Nのセットに基づいて、カバレッジ・メトリックのセットを決定することを含みうる。ある実施形態では、カバレッジ・メトリックのセットは、第1のノード反復分布、第1のノード次数分布、第2のノード反復分布、第2のノード次数分布、または第3のノード反復分布のうちの少なくとも一つに基づいて決定されうる。カバレッジ・メトリックのセットは、分布スキュー、第1の相関係数、および第2の相関係数を含みうる。カバレッジ・メトリックのセットは、最も近い縮小サブグラフ308A…308Nのセットにおける抽出ノードの第1のリスト、最も近い縮小サブグラフ308A…308Nのセットにおける非抽出ノードの第1のリスト、第1のサブグラフ304A…304Nのセットにおける抽出ノードの第2のリスト、第1のサブグラフ304A…304Nのセットにおける非抽出ノードの第2のリストに基づいて決定されうる。
【0081】
分布スキューは、第1のノード反復分布に基づいて決定されうる。第1のノード反復分布(first distribution of node repetition)は、最も近い縮小サブグラフ308A…308Nのセットの複数の最も近い縮小サブグラフにおける抽出ノードの第1のリストの各抽出ノードに関連する情報の繰り返しまたは分布を示すことができる。より高い分布スキューは、最も近い縮小サブグラフ308A…308Nのセットの最も近い縮小サブグラフにおける、抽出ノードの前記第1のリストのいくつかの抽出ノードに関連する情報の過剰表現(excess representation)、および抽出ノードの前記第1のリストの他の抽出ノードの情報の極小表現(miniscule representation)を示すことができる。
【0082】
第1の相関係数は、(最も近い縮小サブグラフ308A…308Nのセットにおける抽出ノードの前記第1のリストに関連する)抽出ノードの第1のノード次数分布(first distribution of node degree)、および(第1のサブグラフ304A…304Nのセットにおける抽出ノードの前記第2のリストの)抽出ノードに関連する第2のノード次数分布(second distribution of node degree)に基づいて決定されうる。第1のノード次数分布は、最も近い縮小サブグラフ308A…308Nのセットの最も近い縮小サブグラフのうちの抽出ノードの前記第1のリストの各抽出ノードのノード次数の変動を示してもよい。第2のノード次数分布は、第1のサブグラフ304A…304Nのセットの第1のサブグラフのうちの抽出ノードの前記第2のリストの各抽出ノードのノード次数の変動を示してもよい。プロセッサ204は、第1のノード次数分布と第2のノード次数分布との間の第1の相関係数を決定してもよい。第1の相関係数のより低い値は、第1のノード次数分布と第2のノード次数分布とが似ておらず、第1のサブグラフ304A…304Nのセットの第1のサブグラフの縮小が、抽出された第1のサブグラフからの有意な数の特定のエッジの除去において偏っている可能性があることを示しうる。
【0083】
第2の相関係数は、第2のノード反復分布と第3のノード反復分布とに基づいて決定されてもよい。第2のノード反復分布は、最も近い縮小サブグラフ308A…308Nのセットの最も近い縮小サブグラフにおける非抽出ノードの前記第1のリストの非抽出ノードに関連する情報の繰り返しまたは分布を示してもよい。第3のノード反復分布は、第1のサブグラフ304A…304Nのセットの第1のサブグラフにおける非抽出ノードの前記第2のリストの非抽出ノードに関連する情報の繰り返しまたは分布を示してもよい。プロセッサ204は、第2のノード反復分布と第3のノード反復分布との間の第2の相関係数を決定してもよい。第2の相関係数のより低い値は、第2のノード反復分布と第3のノード反復分布とが似ておらず、第1のサブグラフ304A…304Nのセットの第1のサブグラフの縮小が、有意な数の特定のノードの除去において偏っている可能性があることを示しうる。
【0084】
ステップ312において、カバレッジ・メトリックのセットの、カバレッジ条件のセットとの適合が判定されてもよい。少なくとも1つの実施形態では、プロセッサ204は、カバレッジ・メトリックのセットがカバレッジ条件のセットに適合しているかどうかをチェックするように構成されてもよい。カバレッジ条件のセットの各カバレッジ条件は、カバレッジ閾値に関連付けられてもよい。カバレッジ閾値は、閾値分布スキュー、閾値第1相関係数、または閾値第2相関係数であってもよい。カバレッジ条件のセットは、分布スキューが閾値分布スキューより小さい場合に満たされうる第1のカバレッジ条件を含んでいてもよい。カバレッジ条件のセットは、第1の相関係数が閾値第1相関係数より大きい場合に満たされうる第2のカバレッジ条件を含んでいてもよい。さらに、カバレッジ条件のセットは、第2の相関係数が閾値第2相関係数より大きい場合に満たされうる第3のカバレッジ条件を含んでいてもよい。プロセッサ204は、カバレッジ・メトリックのセットの少なくとも1つのカバレッジ・メトリックがカバレッジ条件のセットの関連するカバレッジ条件に適合していないという判定に基づいて、抽出された第1のサブグラフ304A…304Aのセットの縮小(動作306)を再反復する(re-iterate)ように構成されてもよい。分布スキューが閾値分布スキューより大きいと判定された場合、第1の相関係数が閾値第1相関係数より小さいと判定された場合、および/または第2の相関係数が閾値第2相関係数より小さいと判定された場合、抽出された第1のサブグラフ304A…304Nのセットの縮小が再反復されてもよい。
【0085】
314において、第2のサブグラフ314A…314Nのセットが、決定された最も近い縮小サブグラフ308A…308Nのセットから得られてもよい。少なくとも1つの実施形態では、プロセッサ204は、第1のサブグラフ304A…304Nのセットに対応する最も近い縮小サブグラフ308A…308Nのセットから第2のサブグラフ314A…314Nのセットを得るように構成されてもよい。第2のサブグラフ314A…314Nのセットは、決定されたカバレッジ・メトリックのセットが(ステップ312で決定されうる)カバレッジ条件のセットに適合するまで、抽出された第1のサブグラフ304A…304Nのセットの縮小(すなわち、動作306、308および310)を再反復すること(re-iteration)に基づいて得られてもよい。第2のサブグラフ314A…314Nのセットは、カバレッジ条件のセットを満たす最も近い縮小サブグラフ308A…308Nのセットに対応しうる。たとえば、最も近い縮小サブグラフ308A…308Nのセットがカバレッジ条件のセットを満たす場合、第2のサブグラフ314Aは、最も近い縮小サブグラフ308Aに対応しうる。同様に、第2のサブグラフ314Nは、最も近い縮小サブグラフ308Nに対応しうる。
【0086】
ステップ316において、説明可能な予測モデル110は、第2のサブグラフ314A…314Nのセットに基づいてトレーニングされうる。少なくとも1つの実施形態では、プロセッサ204は、第2のサブグラフ314A…314Nのセットに基づいて説明可能な予測モデル110をトレーニングするように構成されうる。説明可能な予測モデル110は、GXAIエンジン(たとえば深層テンソル)などのグラフ機械学習モデル108を使用してトレーニングされうる。たとえば、GXAIエンジンは、第2のサブグラフ314A…314Nのセットをトレーニング・グラフ・データとして受領し、各第2のサブグラフに含まれる情報をテンソル分解を介して一様テンソル表現(uniform tensor representation)に変換することができる。GXAIエンジンは、グラフ機械学習のために、一様テンソル表現を説明可能な予測モデル110に提供することができる。ある実施形態によれば、プロセッサ204は、ドメイン(たとえば、クレジットカード不正検出ドメイン)に関連する入力サブグラフを受領することができる。入力サブグラフを受領すると、プロセッサ204は、受領された入力サブグラフに対して、トレーニングされた説明可能な予測モデル110を適用することができる。プロセッサ204は、入力サブグラフに対するトレーニングされた説明可能な予測モデル110の適用に基づいて、説明可能な予測出力を決定することができる。予測出力は、エンティティ(クレジットカードやPOSなど)間の関係(たとえば、トランザクション)を示すことができる。予測出力は、エンティティ間の決定された関係(たとえば、クレジットカードとPOSの間の取引)が正当であるかどうかをさらに示すことができる。
【0087】
本開示の実施形態は、ホップ限界がある値に設定されることができるため、説明可能な予測モデル110をトレーニングするための長距離情報の利用を可能にしうる。ホップ限界をより高い値に設定することにより、第1のサブグラフの抽出のためのターゲット・ノード(すなわち、抽出ノード)からさらに離れた非抽出ノードを選択することができる。ホップ限界のより高い値を使用することにより、ノード分類機械学習タスクの予測精度を向上させることができる。さらに、ホップ限界は特定の値未満として設定されることができるため、近傍爆発の問題も改善されうる。適切なホップ限界の選択に基づいて、さまざまなファンアウトおよび複雑性を有するグラフ・データセットを得ることができるためである。(抽出された第1のサブグラフに基づく)サブグラフ・ベースの機械学習により、(GXAIエンジンおよび説明可能な予測モデル110を使用した)下流の学習のためにトポロジカルなグラフ構造情報を使用することができ、それは予測精度を改善しうる。抽出された第1のサブグラフに対応する最も近い縮小されたサブグラフの決定は、説明可能な予測モデル110のトレーニングの一部でなくてもよく、それはトレーニング・レイテンシーを最小化することができる。さらに、説明可能な予測モデル110によって生成されうる予測出力は、説明可能でありうる。
【0088】
本開示の実施形態は、非抽出ノードおよびエッジを除去するための単純化された技術(ランダム選択など)を提供してもよい。非抽出ノードおよびエッジを除去することにより、第1のサブグラフ304A…304Nのセットの各抽出された第1のサブグラフのサイズを縮小して、縮小されたサブグラフのセットにすることができる。各抽出された第1のサブグラフに対応する縮小されたサブグラフのセットにおける縮小されたサブグラフは、グラフ機械学習モデルの記憶および処理の制約に基づいて(説明可能な予測モデル110をトレーニングするための)トレーニング単位として適切でありうる。さらに、最も近い縮小されたサブグラフは、対応する抽出された第1のサブグラフに関して最も高い相関を有しうる(縮小されたサブグラフのセットのうちの)サブグラフでありうるので、そのような最も近い縮小されたサブグラフは、抽出された第1のサブグラフの最大の情報を保持しうる。また、抽出された第1のサブグラフに対応する決定された最も近い縮小されたサブグラフは、抽出された第1のサブグラフのトポロジカルなグラフ構造を保持しうる。さらに、抽出された第1のサブグラフに対応する最も近い縮小されたサブグラフのカバレッジ解析が、それらの第1のサブグラフに含まれる情報が最も近い縮小されたサブグラフにおいて十分に保持されていないことを示す場合、抽出された第1のサブグラフの縮小が再反復され(re-iterated)てもよい。よって、そのような再反復の後に得られた最も近い縮小されたサブグラフは、カバレッジ条件を満たし、それにより、抽出された第1のサブグラフの十分な情報を保持しうる。
【0089】
図4は、本開示に記載された少なくとも1つの実施形態による、受領されたグラフからサブグラフを抽出するための例示的なシナリオを示す図である。
図4は、
図1、
図2および
図3からの要素との関連で説明される。
図4を参照すると、例示的なシナリオ400が示されている。例示的なシナリオ400は、受領されたグラフ402を含みうる。受領されたグラフ402は、
図1の受領されたグラフ114の例示的な実装であることができる。例示的なシナリオ400は、抽出された第1のサブグラフのリング・ベースの表現404と、抽出された第1のサブグラフのツリー・ベースの表現406とをさらに含みうる。抽出された第1のサブグラフは、
図1の抽出された第1のサブグラフ116Aの例示的な実装であってもよい。プロセッサ204は、第1のサブグラフの抽出のために、受領されたグラフ402から抽出ノード(たとえば、抽出ノード408)と複数の非抽出ノードとを識別するように構成されうる。
【0090】
ある実施形態によれば、プロセッサ204は、第1のサブグラフを表すタプルを初期化するように構成されうる。タプルは、抽出ノード408、リング・リスト、およびエッジ・リストを含みうる。第1のサブグラフは、抽出ノード408のまわりで抽出されうる。リング・リストおよびエッジ・リストのタプルは、初期には空であってもよい。第1のサブグラフは、リング・リストにおけるリングの包含、リング・リストに含まれる各リング(最も外側のリングを除く)の外側の(抽出ノード408に関連する)非抽出ノードの包含、およびエッジ・リストにおける抽出ノード408と非抽出ノードの対および非抽出ノードどうしの対を接続するエッジの包含に基づいて抽出されてもよい。プロセッサ204は、抽出ノード408から最大kホップ(たとえば3ホップ)離れていてもよい、受領されたグラフ402のノードを、非抽出ノードとして識別してもよい。たとえば、識別は、3として設定されてもよいホップ限界に基づいてもよい。リング・リストは、第1のリング410を用いて初期化されてもよい。第1のリング410は、抽出ノード408を囲んでもよい。
【0091】
最初に、プロセッサ204は、受領されたグラフ402から、抽出ノード408から1ホップ離れていてもよい非抽出ノードを選択するように構成されてもよい。選択された非抽出ノードは、412A、412B、412C、412Dであってもよい。それらの非抽出ノードは、受領されたグラフ402において、抽出ノード408と非抽出ノード412A、412B、412C、412Dとをエッジが結んでいることに基づいて、抽出ノード408の近傍(すなわち、隣接非抽出ノード)として決定されうる。プロセッサ204は、第1のリング410の外側に非抽出ノード412A、412B、412C、412Dを追加してもよい。その後、抽出ノードと追加された各非抽出ノードとを結ぶエッジがエッジ・リストに追加されてもよい。追加されるエッジは、(抽出ノード408Aと非抽出ノード412Aとを接続する)414A、(抽出ノード408Aと非抽出ノード412Bとを接続する)414B、(抽出ノード408Cと非抽出ノード412Cとを接続する)414C、および(抽出ノード408Dと非抽出ノード412Dとを接続する)414Dであってもよい。エッジ414A、414B、414C、414Dがエッジ・リストに追加されると、非抽出ノード412A、412B、412C、412Dは第2のリング416によって囲まれてもよい。プロセッサ204は、リング・リストに第2のリング416を含めてもよい。
【0092】
第1のリング410の外側に追加された各非抽出ノードについて、プロセッサ204は、対応する非抽出ノードの近傍ノードでありうる少なくとも1つの非抽出ノードを識別するように構成されうる。識別された少なくとも1つの非抽出ノードは、対応する非抽出ノードから1ホップ離れており、抽出ノード408からは2ホップ離れていることができる。識別は、前記少なくとも1つの非抽出ノードと前記対応する非抽出ノードとをエッジが接続していることに基づくことができる。たとえば、非抽出ノード418Aおよび418Bは、(第1のリング410の外側に追加され、第2のリング416によって囲まれた)非抽出ノード412Bの近傍ノード〔隣接ノード〕として識別されてもよい。その後、識別された少なくとも1つの非抽出ノードが第2のリング416の外側に追加されてもよい。たとえば、非抽出ノード418Aおよび418Bが第2のリング416の外側に追加されてもよい。識別された少なくとも1つの非抽出ノードが第2のリング416の外側に追加されると、識別された少なくとも1つの非抽出ノードと対応する非抽出ノードとを接続する少なくとも1つのエッジがエッジ・リストに含められてもよい。たとえば、識別された非抽出ノード418Aと非抽出ノード412B(第1のリング410の外側に追加される)とを結ぶエッジ420A、および識別された非抽出ノード418Bと非抽出ノード412Bとを結ぶエッジ420Bが、エッジ・リストに含められてもよい。
【0093】
同様に、非抽出ノード418Cが非抽出ノード412Cの近傍として識別されてもよく、非抽出ノード418Dが非抽出ノード412Dの近傍として識別されてもよい。その後、識別された非抽出ノード418Cおよび418Dが第2のリング416の外側に追加されてもよい。非抽出ノード418Cと非抽出ノード412Cとを結ぶエッジ420C、および非抽出ノード418Dと非抽出ノード412Dとを結ぶエッジ420Dがエッジ・リストに含められてもよい。エッジ420A、420B、420C、420Dがエッジ・リストに追加されると、非抽出ノード418A、418B、418C、418Dが第3リング422によって囲まれてもよい。プロセッサ204は、リング・リストに第3のリング422を含めてもよい。
【0094】
第2のリング416の外側に追加された各非抽出ノードについて、プロセッサ204は、対応する非抽出ノードの近傍でありうる少なくとも1つの非抽出ノードを識別するように構成されうる。識別された少なくとも1つの非抽出ノードは、対応する非抽出ノードから1ホップ離れており、抽出ノード408からは3ホップ離れていてもよい。たとえば、非抽出ノード424Aおよび424Bは、(第2のリング416の外側に追加され、第3のリング422によって囲まれる)非抽出ノード418Aの近傍として識別されうる。その後、識別された少なくとも1つの非抽出ノードが第3リング422の外側に追加されうる。たとえば、非抽出ノード424Aおよび424Bが第3リング422の外側に追加されうる。識別された少なくとも1つの非抽出ノードが第3のリング422の外側に追加されると、識別された少なくとも1つの非抽出ノードと(第2のリング416の外側に追加された)対応する非抽出ノードとを接続する少なくとも1つのエッジがエッジ・リストに含められてもよい。たとえば、識別された非抽出ノードと(第2のリング416の外側に追加された)非抽出ノードとを接続するエッジ426A、および識別された非抽出ノード424Bと非抽出ノード418Aとを接続するエッジ426Bがエッジ・リストに含められてもよい。
【0095】
同様に、非抽出ノード424Cが非抽出ノード418Bの近傍ノードとして識別されてもよい。識別された非抽出ノード424Cは第3のリング422の外側に追加されてもよい。非抽出ノード424Cと非抽出ノード418Bとを接続するエッジ426Cがエッジ・リストに含められてもよい。
【0096】
(第2のリング416の外側に追加された)非抽出ノード418Cについて、非抽出ノード424Dおよび非抽出ノード418Dが近傍ノードとして識別されてもよい。非抽出ノード424Dが第3のリング422の外側に追加されてもよく、非抽出ノード424Dと非抽出ノード418Cを接続するエッジ426Dがエッジ・リストに含められてもよい。(非抽出ノード412Dの近傍ノードとして第2のリング416の外側に追加された)非抽出ノード418Dは、第3のリング422の外側に追加されなくてもよい。(抽出されるべき)第1のサブグラフにおける非抽出ノード418Dの重複につながりうるからである。ただし、非抽出ノード418Dと非抽出ノード418Cを接続するエッジ426Eはエッジ・リストに含められてもよい。
【0097】
同様に、(第2のリング416の外側に追加された)非抽出ノード418Dについて、非抽出ノード418C、424Bが近傍ノードとし識別されてもよい。非抽出ノード418Cはすでに第2のリング416の外側に(非抽出ノード412Cの近傍として)追加されており、非抽出ノード424Bはすでに第3のリング422の外側に(非抽出ノード418Aの近傍として)追加されているので、非抽出ノード418Bおよび424Bの両方を第3のリング422の外側に追加しなくてもよい(重複を避けるため)。非抽出ノード418Dと非抽出ノード424Bとを接続するエッジ426Fがエッジ・リストに含められてもよい。非抽出ノード418Cおよび418Dとはエッジ426Eによって接続されているので、重複するエッジを含めることを防止するために、非抽出ノード418Cが非抽出ノード418Dの近傍ノードとして識別された結果としてエッジをエッジ・リストに含めなくてもよい。
【0098】
エッジ426A、426B、426C、426D、426E、および426Fがエッジ・リストに追加されると、非抽出ノード424A、424B、424C、および424Dが第4のリング428によって囲まれてもよい。プロセッサ204は、リング・リストに第4のリング428を含めることができる。
【0099】
図4のシナリオ400は例示的な目的のためのものであり、本開示の範囲を制限すると解釈されるべきではないことに留意されたい。
【0100】
図5は、本開示のある実施形態による、受領されたグラフからサブグラフを抽出する例示的な方法のフローチャートを示す図である。
図5は、
図1、
図2、
図3、および
図4の要素との関連で説明される。
図5を参照すると、フローチャート500が示されている。フローチャート500に示される方法は、502で始まってもよく、
図1の例示的な電子デバイス102、または
図2のプロセッサ204など、任意の適切なシステム、装置、またはデバイスによって実行されうる。離散的なブロックで示されているが、フローチャート500のブロックの一つまたは複数に関連するステップおよび動作は、具体的な実装に依存して、追加のブロックに分割されたり、より少ないブロックに組み合わされたり、またはなくされたりしてもよい。
【0101】
ブロック502において、受領されたグラフ(たとえば、受領されたグラフ402)のノードのセットから抽出ノードおよび非抽出ノードが識別されて、抽出ノードのリストが得られてもよい。ある実施形態では、プロセッサ204は、受領されたグラフ402のノードのセットから抽出ノードおよび非抽出ノードを識別して、抽出ノードのリストを取得するように構成されうる。たとえば、(ノードのセットの)ノード408が抽出ノードとして識別されてもよく、(ノードのセットの)ノード412A~412D、418A~418D、および424A~424Dが非抽出ノードとして識別されてもよい。抽出ノードおよび非抽出ノードの識別の詳細は、たとえば、
図1、
図3、および
図4においてさらに提供される。
【0102】
ブロック504において、第1の抽出ノード(たとえば、抽出ノード408)が抽出識別子(ID)として抽出ノードのリストから選択されてもよい。ある実施形態では、プロセッサ204は、抽出ノードのリストから第1の抽出ノード(すなわち、抽出ノード408)を抽出IDとして選択するように構成されうる。
【0103】
ブロック506において、第1のリング(たとえば、第1のリング410)が、抽出ID(すなわち、抽出ノード408)に関連付けられたリング・リストに最新のリングとして追加されうる。ある実施形態では、プロセッサ204は、抽出ID(すなわち、抽出ノード408)に関連付けられたリング・リストに第1のリングを追加するように構成されうる。第1のリング410は、抽出ID(すなわち、抽出ノード408)を囲んでもよい。第1のリング410は、リング・リストを初期化するために追加されうる。
【0104】
ブロック508において、抽出ID(すなわち、抽出ノード408)に関連付けられたタプルを取得するために、動作の第2のセットが実行されてもよい。ある実施形態では、プロセッサ204が、抽出ID(すなわち、抽出ノード408)に関連付けられたタプルを取得するために、動作の第2のセットを実行するように構成されてもよい。最新のリングによって囲まれる各ノードの各近傍ノードについて、動作の第2のセットが実行されてもよい。この段階で、最新のリングは第1のリング410であってもよく、第1のリング410によって囲まれるノードは、抽出ノード408であってもよい。抽出ノード408の近傍ノードは、非抽出ノード412A、412B、412C、および412Dであってもよい。動作の第2のセットは、ブロック508A、ブロック508B、ブロック508C、ブロック508D、ブロック508E、およびブロック508Fを含んでいてもよい。動作の第2のセット(508A~508F)は、最新のリングに囲まれる各ノードの各近傍ノードについて繰り返されてもよい。
【0105】
ブロック508Aにおいて、その近傍ノードが最新のリングに囲まれているかどうかが判定されてもよい。ある実施形態では、プロセッサ204が、非抽出ノード(ノード412A、412B、412C、および412Dなど)が第1のリング410によって囲まれているかどうかを判定してもよい。
【0106】
ブロック508Bにおいて、その近傍ノードが最新のリングに囲まれていないという判定に基づいて、最新のリングの外側のその近傍ノードが追加されてもよい。ある実施形態では、プロセッサ204が、その近傍ノードが最新のリングによって囲まれていないという判定に基づいて、最新のリングの外側のその近傍ノードを追加してもよい。たとえば、近傍ノード、すなわち非抽出ノード412A、412B、412C、および412Dはいずれも第1のリング410によって囲まれていないので、すべての近傍ノードが最新のリング、すなわち第1のリング410の外側に追加されてもよい。
【0107】
ブロック508Cにおいて、追加された近傍に関連するエッジがエッジ・リストに追加されてもよい。ある実施形態では、プロセッサ204は、追加された近傍に関連するエッジをエッジ・リストに追加しうる。たとえば、近傍412Aに関連するエッジは414Aがあってもよく、近傍412Bに関連するエッジが414Bであってもよく、近傍412Cに関連するエッジが414Cであってもよく、近傍412Dに関連するエッジが414Dであってもよい。よって、エッジ414A、414B、414C、および414Dがエッジ・リストに含められてもよい。
【0108】
ブロック508Dでは、追加された近傍を囲むリングがリング・リストに追加されてもよい。ある実施形態では、プロセッサ204は、追加された近傍を囲むリングをリング・リストに追加しうる。たとえば、第2のリング416がリング・リストに追加されてもよい。第2のリング416は、追加された(すなわち、第1のリング410の外側に追加された)近傍412A、412B、412C、および412Dを囲んでもよい。
【0109】
ブロック508Eでは、最新のリングがリング・リストにおける最後のリングであるかどうかが判定されてもよい。ある実施形態では、プロセッサ204が、最新のリングがリング・リストにおける最後のリングであるかどうかを判定してもよい。たとえば、最新のリングは第2のリング416であってもよい。ここで、ホップ限界が3であり、この段階でのリング・リスト内のリングのカウントが2である場合、第2のリング416は、リング・リスト内の最後のリングではない可能性がある。よって、第1のサブグラフを抽出するためにリング・リスト内に存在する必要があるリングのカウントは、4でありうる。
【0110】
ブロック508Fでは、最新のリング(すなわち、第2のリング416)が最後のリングではないという判定に基づいて、追加されたリング(すなわち、第2のリング416)が最新のリングとして選択されてもよく、動作の第2のセット(すなわち、動作508A~508F)が再反復されてもよい。ある実施形態では、プロセッサ204が、最新のリング(すなわち、第2のリング416)が最後のリングではないという判定に基づいて、追加されたリングを最新のリングとして選択し、動作の第2のセット(すなわち、動作508A~508F)を再反復してもよい。
【0111】
第2のリング416によって囲まれる各ノードの各近傍ノードについて、動作の第2のセットが実行されてもよい。非抽出ノード412A、412B、412C、および412Dは、第2のリング416によって囲まれてもよい。非抽出ノード412Aの近傍ノードが存在しなくてもよい。非抽出ノード412Bの近傍ノードは、非抽出ノード418Aおよび418Bであってもよい。非抽出ノード412Cの近傍ノードは、非抽出ノード418Cであってもよく、非抽出ノード412Dの近傍ノードは、非抽出ノード418Dであってもよい。動作の第2のセットは、近傍ノードが最新のリングによって囲まれているかどうかを判定するための動作508Aを含みうる。たとえば、プロセッサ204は、非抽出ノード418A、418B、418Cおよび418Dが第2のリング416によって囲まれているかどうかを判定することができる。動作の第2のセットは、近傍ノードが最新のリングによって囲まれていないという判定に基づいて、最新のリングの外側に近傍ノードを追加するための動作508Bをさらに含むことができる。近傍ノード、すなわち非抽出ノード418A、418B、418Cおよび418Dはいずれも第2のリング416によって囲まれていないので、すべての近傍ノードが最新のリング、すなわち第2のリング416の外側に追加されうる。動作の第2のセットは、追加された近傍に関連するエッジをエッジ・リストに追加するための動作508Cをさらに含みうる。近傍418Aに関連するエッジはエッジ420Aであってもよく、近傍418Bに関連するエッジはエッジ420Bであってもよく、近傍418Cに関連するエッジはエッジ420Cであってもよく、近傍418Dに関連するエッジはエッジ420Dであってもよい。よって、エッジ420A、420B、420C、および420Dはエッジ・リストに含められてもよい。動作の第2のセットは、追加された近傍を囲むリングをリング・リストに追加するための動作508Dをさらに含みうる。たとえば、第3のリング422がリング・リストに追加されてもよい。第3のリング422は、追加された(すなわち、第2のリング416の外側に追加された)近傍418A、418B、418C、および418Dを囲んでいてもよい。動作の第2のセットは、最新のリングがリング・リストにおける最後のリングであるかどうかを判定するための動作508Eをさらに含みうる。一例では、最新のリングは第3のリング422であってもよい。第3のリング422は、リング・リストの最後のリングではない可能性がある。というのは、この段階でのリング・リスト内のリングの数は3であり、第1のサブグラフを抽出するためにリング・リスト内に存在する必要があるリングの数は4でありうるからである。動作の第2のセットは、最新のリング(すなわち、第3のリング422)がリング・リストにおける最後のリングではないという判定に基づいて、追加されたリング(すなわち、第3のリング422)を最新のリングとして選択し、動作の第2のセットの再反復のための動作508Fをさらに含みうる、などとなる。
【0112】
ブロック510において、抽出ID(すなわち、抽出ノード408)、リング・リスト、およびエッジ・リストを含むタプル(抽出ノード408に関連付けられる)が、最新のリングがリング・リスト内の最後のリングとして決定されるまで、動作の第2のセットの実行の逐次反復的な制御に基づいて取得されうる。ある実施形態では、プロセッサ204が、抽出ID(すなわち、抽出ノード408)、リング・リスト、およびエッジ・リストを含みうるタプルを取得するように構成されうる。タプルは、最新のリングがリング・リストにおける最後のリングとして判定されるまで、動作の前記セットの実行の逐次反復的な制御に基づいて取得されうる。よって、抽出ノード408に関連するタプルは、最新のリング(すなわち、第4のリング428)がリング・リストにおける最後のリングとして判定されることに基づいて取得されうる。リング・リストは、第1のリング410、第2のリング416、第3のリング422、および第4のリング428を含むことができる。エッジ・リストは、エッジ414A~414D、420A~420D、および426A~426Fを含むことができる。第1のサブグラフ116A…116Nのセットの抽出は、さらに、この得られたタプルに基づくことができる。たとえば、抽出ID(たとえば、抽出ノード408)、リング・リスト、およびエッジ・リストを含む得られたタプルは、抽出された第1のサブグラフ(たとえば、第1のサブグラフ116A)を表すことができる。制御は、終了に進むことができる。
【0113】
フローチャート500は、502、504、506、508(508A~508Fを含む)、および510などの離散的な動作として示されているが、本開示はそのように限定されない。しかしながら、ある種の実施形態では、そのような離散的な動作は、開示された実施形態の本質を損なうことなく、具体的な実装に依存して、追加的な動作にさらに分割されたり、より少ない動作に組み合わされたり、またはなくされたりしてもよい。
【0114】
図6Aおよび6Bは併せて、本開示に記載された少なくとも1つの実施形態による、抽出されたサブグラフの縮小のための例示的なシナリオを示す図である。
図6Aおよび6Bは、
図1、
図2、
図3、
図4、および
図5の要素との関連で説明される。
図6Aおよび6Bを参照すると、例示的なシナリオ600が示されている。例示的なシナリオ600は、抽出された第1のサブグラフ(すなわち、抽出された第1のサブグラフ116Aの例示的な実装)のツリー・ベース表現406および第1の中間縮小サブグラフ602A(抽出された第1のサブグラフの縮小に基づいて得られる)を含むことができる。さらに、例示的なシナリオ600は、第2の中間縮小サブグラフ602B(第1の中間縮小サブグラフ602Aの縮小に基づいて得られる)および得られる最終的な縮小サブグラフ602C(第2の中間縮小サブグラフ602Bの縮小に基づいて得られる)を含むことができる。
【0115】
ある実施形態によると、プロセッサ204は、抽出された第1のサブグラフの各リングについてのリング・ノード目標および第1のサブグラフの縮小についてのグラフ・サイズ目標を決定するように構成されうる。リング・ノード目標およびグラフ・サイズ目標に基づいて、プロセッサ204は、抽出された第1のサブグラフを縮小することができる。各リングについて、抽出された第1のサブグラフを表すタプルのリング・リストにおいて、プロセッサ204は、対応するリングが保護されているかどうかをさらに判定することができる。プロセッサ204は、リング・リストから、保護されていないリングを、選択することができる。選択された保護されていないリングによって囲まれたノードおよび該ノードに関連するエッジを除去するためである。たとえば、第1のサブグラフの第2のリング416は、第2のリング416が保護されていないという判定に基づいて選択されてもよい。その後、プロセッサ204は、第2のリング416によって囲まれた非抽出ノードをランダムに選択してもよい。たとえば、非抽出ノード412Bが選択されてもよい。その後、非抽出ノード412Bおよび非抽出ノード412Bに関連するエッジは、第1のサブグラフから除去されてもよい(すなわち、削除されるまたは拒否される)。除去されるエッジは、エッジ414B、420A、および420Bを含んでいてもよい。非抽出ノード412Bおよび関連するエッジ414B、420A、および420Bの除去は、第1の中間縮小サブグラフ602Aをもたらしてもよい。
【0116】
プロセッサ204は、さらに、第1の中間縮小サブグラフ602Aが切断された非抽出ノードを含むかどうかを判定するように構成されてもよい。たとえば、非抽出ノード412Bおよびエッジ414B、420A、および420Bの除去に基づいて、プロセッサ204は、抽出されたサブグラフ(すなわち、第1の中間縮小サブグラフ602A)内の一つまたは複数の切断された非抽出ノードを検出してもよい。たとえば、非抽出ノード418Bおよび424Cが、切断された非抽出ノード(または孤立ノード)として検出されてもよい。その後、切断された非抽出ノード418Bおよび424C、および関連するエッジ426Cが、第1のサブグラフから除去されてもよい(すなわち、削除または拒否される)。非抽出ノード418Bおよび424C、および関連するエッジ426Cを除去すると、第2の中間縮小サブグラフ602Bが得られる(
図6Bに示されるように)。
【0117】
プロセッサ204は、さらに、第2の中間縮小サブグラフ602Bが、抽出ノード408から「kホップ」よりも離れている任意の非抽出ノードを含むかどうかを判定するように構成されてもよい。ここで、「k」はホップ限界(たとえばk=3)でありうる。非抽出ノード412Bおよびエッジ414B、420A、および420Bの除去は、ホップ限界を超えて抽出ノードからさらに離れている非抽出ノードの検出をもたらすこともある。たとえば、非抽出ノード418Aおよび424Aが、第2の中間縮小サブグラフ602Bにおいてホップ限界を超えているとして検出されうる。非抽出ノード418Aおよび424Aは、ダングリング・ノードと称されてもよい。その後、ダングリング非抽出ノード418Aおよび424A、および関連するエッジ426Bは、第1のサブグラフから除去されてもよい(すなわち、削除または拒否される)。非抽出ノード418Aおよび424A、およびエッジ426Bを除去することにより、最終的な縮小サブグラフ602Cが得られてもよい(
図6Bに示されるように)。
【0118】
図6Aおよび6Bのシナリオ600は、例示的な目的のためのものであり、本開示の範囲を限定するものと解釈されるべきではない。
【0119】
図7Aおよび7Bは併せて、本開示のある実施形態による、抽出されたサブグラフを縮小するための例示的な方法のフローチャートを示す図である。
図7Aおよび7Bは、
図1、
図2、
図3、
図4、
図5、
図6Aおよび
図6Bの要素との関連で説明される。
図7Aおよび7Bを参照すると、フローチャート700が示されている。フローチャート700に示される方法は、702で始まってもよく、
図1の例示的な電子デバイス102、または
図2のプロセッサ204など、任意の適切なシステム、装置、またはデバイスによって実行されうる。離散的なブロックで示されているが、フローチャート700のブロックの一つまたは複数に関連するステップおよび動作は、具体的な実装に依存して、追加的なブロックに分割されたり、より少ないブロックに組み合わされたり、またはなくされたりしてもよい。
【0120】
ブロック702において、抽出IDに関連する第1のサブグラフが、第1のサブグラフ116A…116Nの抽出されたセットから選択されうる。ある実施形態では、プロセッサ204は、第1のサブグラフ116A…116Nの抽出されたセットから、抽出IDに関連する第1のサブグラフを選択するように構成されうる。たとえば、選択された第1のサブグラフは、第1のサブグラフ116Aであってもよい。抽出IDは、抽出された第1のサブグラフ116Aのツリー・ベース表現406に示される抽出ノード408に対応してもよい。
【0121】
ブロック704において、リング・リスト内の各リングについてのリング・ノード目標と、選択された第1のサブグラフ(たとえば、第1のサブグラフ116A)に関連するグラフ・サイズ目標とが決定されてもよい。ある実施形態では、プロセッサ204が、リング・リスト内の各リングについてのリング・ノード目標と、選択された第1のサブグラフに関連するグラフ・サイズ目標とを決定するように構成されてもよい。対応するリングのリング・ノード目標は、選択された第1のサブグラフのサイズ、グラフ・サイズ目標、または対応するリングのリング重みのうちの少なくとも1つに基づいて決定されてもよい。グラフ・サイズ目標は、選択された第1のサブグラフのサイズ、目標ノード数、目標エッジ数、または目標ノード数および目標エッジ数の組み合わせのうちの少なくとも1つに基づいて決定されてもよい。
【0122】
たとえば、第1のサブグラフ116Aに関連するグラフ・サイズ目標(すなわち、縮小サブグラフに含まれうるノードのカウント)は、第1のサブグラフ116Aのサイズ(「13」個のノードおよび「14」個のエッジ)、目標ノード数(たとえば「7」個のノード)、目標エッジ数(たとえば、「8」個のエッジ)、または目標ノード数または目標エッジ数の組み合わせに基づいて、「8」として決定されてもよい。
【0123】
たとえば、第1のサブグラフ116Aを表すタプルに含まれるリング・リストは、4つのリング、すなわち、第1のリング410、第2のリング416、第3のリング422、および第4のリング428を含みうる(ホップ限界が3に設定される場合)。プロセッサ204は、決定されたグラフ・サイズ目標(すなわち「8」)、第1のサブグラフ116Aの決定されたサイズ(すなわち、「13」個のノードおよび「14」個のエッジ)、および対応するリングの重みに基づいて、4つのリングのそれぞれについてリング・ノード目標を決定するように構成されうる。4つのリングのそれぞれについてのリング・ノード目標は、さらに、4つのリングのそれぞれが保護されているかどうかに基づいて決定されうる。
【0124】
ブロック706において、選択された現在リングが保護されていないという判定に基づいて、リング・リストから、あるリングが、現在リングとして選択されうる。ある実施形態では、プロセッサ204は、選択される現在リングが保護されていないという判定に基づいて、リング・リストから前記リングを現在リングとして選択するように構成されうる。ここで、保護されているリングまたはエッジによって囲まれるノードは、選択された第1のサブグラフの縮小中に保持されうる。たとえば、プロセッサ204は、第2のリング416を現在リングとして選択することができる。第1のリング410は保護されたリングであってもよく、一方、第2のリング416、第3のリング422、および第4のリング428は、保護されていなくてもよい。第1のリング410は保護されているので、第1のリング410は、縮小のために選択されなくてもよい。第2のリング416の選択は、第2のリング416が保護されていないという判定に基づいてもよい。第2のリング416についてのリング・ノード目標(すなわち、第1のサブグラフの縮小のために除去されうるリングで囲まれたノードのカウント)は、「1」として決定されうる。よって、第1のサブグラフ116Aに対応する縮小サブグラフを得るために、第2のリング416によって囲まれた任意の1つの非抽出ノードが除去のためにランダムに選択されうる。
【0125】
ブロック708において、選択された第1のサブグラフに対応する縮小サブグラフのセットの縮小サブグラフを得るために、動作の第3のセットが実行されうる。ある実施形態では、プロセッサ204が、選択された第1のサブグラフに対応する縮小サブグラフのセットの縮小サブグラフを得るために、動作の第3のセットを実行するように構成されてもよい。たとえば、第1のサブグラフ116Aに対応する最終的な縮小サブグラフ602Cが、動作の第3のセットの実行に基づいて得られてもよい。動作の第3のセットは、ブロック708A、ブロック708B、ブロック708C、ブロック708D、ブロック708E、ブロック708F、ブロック708G、ブロック708H、およびブロック708Iを含むことができる。
【0126】
ブロック708Aにおいて、選択された現在リングによって囲まれたノードが選択されうる。ノードの選択は、ランダム選択であってもよい。ある実施形態では、プロセッサ204が、選択された現在リングによって囲まれたノードを選択してもよく、ノードの選択は、ランダム選択であってもよい。たとえば、第2のリング416によって囲まれた非抽出ノード412Bがランダムに選択されうる。
【0127】
ブロック708Bにおいて、選択された第1のサブグラフから、選択されたランダム・ノードおよび該選択されたランダム・ノードに関連するエッジが除去されうる。ある実施形態では、プロセッサ204が、選択された第1のサブグラフから、選択されたランダム・ノードおよび該選択されたランダム・ノードに関連するエッジを除去してもよい。たとえば、プロセッサ204は、選択された非抽出ノード412Bおよび該非抽出ノード412Bに関連するエッジ、すなわち、エッジ414B、420Aおよび420Bを第1のサブグラフ116Aから除去して(第1の中間縮小サブグラフ602Aを得て)もよい。
【0128】
ブロック708Cにおいて、除去に基づいて、選択された第1のサブグラフ内に切断されたノードが存在するかどうかが判定されてもよい。ある実施形態では、プロセッサ204が、除去に基づいて、選択された第1のサブグラフ内に切断されたノードが存在するかどうかを判定してもよい。たとえば、プロセッサ204は、第1の中間縮小サブグラフ602A内に切断されたノードが存在するかどうかを判定してもよい。
【0129】
ブロック708Dにおいて、選択された第1のサブグラフ(すなわち、第1の中間縮小サブグラフ602A)から、切断されたノードの存在の判定に基づいて、切断されたノードおよび該切断されたノードに関連するエッジが除去されうる。ある実施形態では、プロセッサ204が、切断されたノードの存在の判定に基づいて、選択された第1のサブグラフから、切断されたノードおよび該切断されたノードに関連するエッジを除去してもよい。たとえば、切断されたノード(すなわち、非抽出ノード418Bおよび424C)の判別に基づいて、プロセッサ204は、非抽出ノード418Bおよび424C、およびエッジ426C(非抽出ノード418Bおよび424Cに関連する)を第1の中間縮小サブグラフ602Aから除去してもよい。非抽出ノード418Bおよび424C、およびエッジ426Cの除去に基づいて、第2の中間縮小サブグラフ602Bが得られてもよい。
【0130】
ブロック708Eでは、ホップ限界を超えて抽出ID(すなわち、抽出ノード408)からより遠いノードが存在するかどうかが判定されてもよい。ある実施形態では、プロセッサ204が、ホップ限界を超えて抽出IDからより遠いノードが存在するかどうかを判定してもよい。たとえば、プロセッサ204は、ホップ限界を超えて(すなわち、抽出ノード408から3ホップより多く離れて)ノードが第2の中間縮小サブグラフ602Bに存在するかどうかを判定してもよい。
【0131】
ブロック708Fでは、ホップ限界を超えたノードの存在の判別に基づいて、選択された第1のサブグラフ(すなわち、第2の中間縮小サブグラフ602B)から、ホップ限界を超えているノードおよびそれらのノードに関連するエッジが除去されてもよい。ある実施形態では、プロセッサ204が、ホップ限界を超えたノードの存在の判別に基づいて、選択された第1のサブグラフから、ホップ限界を超えているノードおよびそのようなノードに関連するエッジを除去してもよい。たとえば、ホップ限界を超えているノード、すなわち非抽出ノード418A(4ホップまたは5ホップ)および424A(5ホップまたは6ホップ)の判別に基づいて、プロセッサ204は、非抽出ノード418Aおよび424A、およびエッジ426A(非抽出ノード418Aおよび424Aに関連する)を第2の中間縮小サブグラフ602Bから除去してもよい。非抽出ノード418Aおよび424A、およびエッジ426Aの除去に基づいて、最終的な縮小サブグラフ602Cが得られてもよい。
【0132】
ブロック708Gでは、選択されたランダム・ノード、切断されたノード、およびホップ限界を超えているノードの除去に基づいて、グラフ・サイズ目標が満たされているかどうかが判定されてもよい。ある実施形態では、プロセッサ204が、選択されたランダム・ノード、切断されたノード、およびホップ限界を超えているノードの除去に基づいて、グラフ・サイズ目標が満たされているかどうかを判定してもよい。たとえば、決定されたグラフ・サイズ目標(すなわち「8」)および最終的な縮小サブグラフ602C内のノード数(これも8ノードである)に基づいて、プロセッサ204は、グラフ・サイズ目標が満たされていると判断してもよい。非抽出ノード412B、418A、418B、424A、および424C、ならびに関連するエッジ414B、420A、420B、426A、および426Cの除去は、(第1サブグラフ116A内の)ノード数を「13」から(最終的な縮小サブグラフ602C内の)「8」に減らすことができる。グラフ・サイズ目標は、最終的な縮小サブグラフ602C内のノード数が「8」以下である場合に満たされてもよい。今の場合、最終的な縮小サブグラフ602C内のノードのカウントが「8」であるため、グラフ・サイズ目標は満たされる。
【0133】
ブロック708Hにおいて、現在リング(すなわち、第2のリング416)が決定されたリング・ノード目標(すなわち「1」)を満たすかどうかが判定されてもよい。ある実施形態では、プロセッサ204が、現在リングが決定されたリング・ノード目標を満たすかどうかを判定してもよい。たとえば、第2のリング416によって囲まれた1つのノード(すなわち、非抽出ノード412B)の第1のサブグラフ116Aからの除去に基づいて、プロセッサ204は、第2のリング416のリング・ノード目標が満たされていると判断することができる。
【0134】
ブロック708Iにおいて、選択された第1のサブグラフ(すなわち、第1のサブグラフ116A)から、選択された現在リングに続く保護されていないリングが、終了基準に基づいて現在リングとして選択されうる。ある実施形態では、プロセッサ204が、選択された第1のサブグラフから、選択された現在リングに続く保護されていないリングを、終了基準に基づいて現在リングとして選択してもよい。終了基準は、グラフ・サイズ目標が満たされていないという判定と、選択された現在リング(すなわち、第2のリング416)のリング・ノード目標が満たされているという判定とを含みうる。終了基準に含まれる判定に基づいて、プロセッサ204は、グラフ・サイズ目標が満たされておらず、第2のリング416のリング・ノード目標が満たされている場合に、第3のリング422(すなわち、選択された現在リングである、第2のリング416に続く保護されていないリング)を現在リングとして選択するように構成されてもよい。今の例では、グラフ・サイズ目標が満たされているため、第3のリング422は現在リングとして再選択することはできない。
【0135】
ブロック710では、グラフ・サイズ目標が満たされるまで、動作の第3のセットの実行の逐次反復的な制御に基づいて、選択された第1のサブグラフから縮小サブグラフが得られてもよい。ある実施形態では、プロセッサ204が、選択された第1のサブグラフがグラフ・サイズ目標を満たすまで、動作の前記セットの実行の逐次反復的な制御に基づいて、選択された第1のサブグラフから縮小サブグラフを取得するように構成されてもよい。例示的な第1のサブグラフ116Aについては、動作の第3のセットの実行の逐次反復的な制御は必要とされないことがある。第1のサブグラフ116Aからの非抽出ノード412Bの除去に基づいて最終的な縮小サブグラフ602Cが得られるからである。しかしながら、グラフ・サイズ目標が「7」以下として判別された場合、プロセッサ204は、第3のリング422を現在リングとして選択するように構成されてもよい。その後、第3のリング422によって囲まれた非抽出ノードがランダムに選択されて除去されるように、動作の第3のセットが再反復されてもよい。さらに、リング・ノード目標が「1」より大きい場合、選択された現在リング(すなわち、第2のリング416)のリング・ノード目標が満たされないことがある。そのようなシナリオでは、プロセッサ204は、第2のリング416の現在リングとしての選択を続け、動作の第3のセットを再反復するように構成されてもよい。それにより、第2のリング416によって囲まれた別の非抽出ノードがランダムに選択されて除去されうる。プロセッサ204は、保護されていないリングによって囲まれた非抽出ノードの除去の各インスタンスにおいて、グラフ・サイズ目標が満たされているかどうかを判定するように構成されてもよい。グラフ・サイズ目標が満たされたとき、選択された第1のサブグラフに対応する縮小サブグラフが得られてもよい。
【0136】
ある実施形態によれば、選択された第1のサブグラフは、事前定義された回数だけ縮小されて、選択された第1のサブグラフに対応する縮小サブグラフのセット(縮小サブグラフ1のセット118Aなど)が得られてもよい。事前定義された回数にわたる選択された第1のサブグラフの繰り返し縮小は、縮小サブグラフのセットが、選択された第1のサブグラフと高度に相関しうる、(選択された抽出された第1のサブグラフに対応する)少なくとも1つの縮小サブグラフを含むことを確実にしうる。同様に、抽出された第1のサブグラフのセットの他の抽出された第1のサブグラフが選択されてもよく、各抽出された第1のサブグラフが縮小されて、縮小サブグラフのセットが得られてもよい。制御は、終了に進むことができる。
【0137】
フローチャート700は、702、704、706、708(708A~708I)および710のような離散的な動作として示されているが、本開示はそれに限定されない。しかしながら、ある種の実施形態では、開示された実施形態の本質を損なうことなく、そのような離散的な動作は、具体的な実装に依存して、追加的な動作にさらに分割されたり、より少ない動作に組み合わされたり、またはなくされたりしてもよい。
【0138】
図8は、本開示のある実施形態による、抽出されたサブグラフに対応する最も近い縮小されたサブグラフを決定するための例示的な方法のフローチャートを示す図である。
図8は、
図1、
図2、
図3、
図4、
図5、
図6A、
図6B、
図7A、および
図7Bの要素との関連で説明される。
図8を参照すると、フローチャート800が示されている。フローチャート800に示される方法は、802で始まってもよく、
図1の例示的な電子デバイス102、または
図2のプロセッサ204など、任意の適切なシステム、装置、またはデバイスによって実行されうる。離散的なブロックで示されているが、フローチャート800のブロックの一つまたは複数に関連するステップおよび動作は、具体的な実装に依存して、追加的なブロックに分割されたり、より少ないブロックに組み合わされたり、またはなくされたりしてもよい。
【0139】
ブロック802において、抽出された第1のサブグラフ304A…304Nのセットから、抽出された第1のサブグラフが選択されうる。ある実施形態では、プロセッサ204が、抽出された第1のサブグラフ304A…304Nのセットから、抽出された第1のサブグラフを選択するように構成されてもよい。たとえば、選択された抽出された第1のサブグラフは、第1のサブグラフ304Aであってもよい。
【0140】
ブロック804において、選択された抽出された第1のサブグラフに対応する縮小されたサブグラフのセットが、縮小されたサブグラフ・セットとして選択されうる。ある実施形態では、プロセッサ204が、選択された抽出された第1のサブグラフに対応する縮小されたサブグラフのセットを縮小されたサブグラフ・セットとして選択するように構成されてもよい。たとえば、選択された抽出された第1のサブグラフ304Aに対応する縮小されたサブグラフの第1のセットが、縮小されたサブグラフ・セットとして選択されてもよい。
【0141】
ブロック806において、グラフ・カーネル・エンコーダが、抽出された第1のサブグラフのセットに基づいてトレーニングされてもよい。ある実施形態では、プロセッサ204が、抽出された第1のサブグラフのセットに基づいてグラフ・カーネル・エンコーダをトレーニングするように構成されてもよい。たとえば、グラフ・カーネル・エンコーダは、抽出された第1のサブグラフ304A…304Nのセットに基づいてトレーニングされてもよい。ある実施形態では、トレーニングは、教師なしの(機械学習(ML)ベースの)トレーニングに基づいてもよい。トレーニングに基づいて、入力された抽出された第1のサブグラフおよび/または入力された縮小されたサブグラフ(入力された抽出された第1のサブグラフの縮小に基づいて得られる)がベクトル化されてもよい。
【0142】
ブロック808において、選択された抽出された第1のサブグラフに対するグラフ・カーネル・エンコーダの適用に基づいて第1のベクトルが決定されてもよい。ある実施形態では、プロセッサ204が、選択された抽出された第1のサブグラフに対するグラフ・カーネル・エンコーダの適用に基づいて第1のベクトルを決定するように構成されてもよい。たとえば、第1のベクトルは、選択された抽出された第1のサブグラフ304Aに対するグラフ・カーネル・エンコーダの適用に基づいて決定されてもよい。
【0143】
ブロック810Aにおいて、縮小されたサブグラフ・セットの現在の縮小サブグラフに対するグラフ・カーネル・エンコーダの適用に基づいて第2のベクトルが決定されてもよい。ある実施形態では、プロセッサ204が、縮小サブグラフ・セットの現在の縮小サブグラフに対するグラフ・カーネル・エンコーダの適用に基づいて第2のベクトルを決定するように構成されてもよい。縮小サブグラフ・セット(すなわち、縮小されたサブグラフの第1のセット306A)から、現在の縮小サブグラフが選択されてもよい。たとえば、縮小サブグラフ・セットは、第1のサブグラフ304Aの縮小に基づいて得られた3つの縮小サブグラフを含んでいてもよい。縮小サブグラフの第1のセット306Aに含まれる第1の縮小サブグラフが、現在の縮小サブグラフとして選択されてもよい。プロセッサ204は、縮小サブグラフの第1のセット306Aに含まれる第1の縮小サブグラフに対して、決定されたグラフ・カーネル・エンコーダを、適用することに基づいて、第2のベクトル(たとえば、第2のベクトル1)を決定するように構成されてもよい。同様に、決定されたグラフ・カーネル・エンコーダを、第2の縮小サブグラフ(縮小サブグラフの第1のセット306Aに含まれる)および第3の縮小サブグラフ(縮小サブグラフの第1のセット306Aに含まれる)に対して適用することに基づいて、第2のベクトル2および第2のベクトル3がそれぞれ決定されてもよい。よって、動作810Aは、縮小サブグラフのそれぞれに対して実行されて、縮小サブグラフのそれぞれに対応する第2のベクトルを得ることができる。
【0144】
ブロック810Bでは、決定された第1のベクトルおよび決定された第2のベクトル(すなわち、第2のベクトル1)に基づいて、選択された抽出された第1のサブグラフ(すなわち、選択された抽出第1サブグラフ304A)と現在の縮小サブグラフ(すなわち、縮小サブグラフの第1のセット306Aに含まれる第1の縮小サブグラフ)との間の相関係数が決定されてもよい。ある実施形態では、プロセッサ204が、決定された第1のベクトルおよび決定された第2のベクトル1に基づいて、第1のサブグラフ304Aと現在の縮小サブグラフ(すなわち、縮小サブグラフの第1のセット306Aに含まれる第1の縮小サブグラフ)との間の相関係数を決定するように構成されてもよい。決定された相関係数は、第1の相関係数であってもよい。第1の相関係数は、第1のサブグラフ304Aと縮小サブグラフの第1のセット306Aに含まれる第1の縮小サブグラフとの間の類似性を示してもよい。同様に、第2の縮小サブグラフが現在の縮小サブグラフとして選択された場合、プロセッサ204は、決定された第1のベクトルおよび決定された第2のベクトル2に基づいて、第1のサブグラフ304Aと第2の縮小サブグラフとの間の第2の相関係数を決定してもよい。第2の相関係数は、第1のサブグラフ304Aと縮小サブグラフの第1のセット306Aに含まれる第2の縮小サブグラフとの間の類似性を示してもよい。一方、第3の縮小サブグラフが現在の縮小サブグラフとして選択された場合、プロセッサ204は、決定された第1のベクトルおよび決定された第2のベクトル3に基づいて、第1のサブグラフ304Aと第3の縮小サブグラフとの間の第3の相関係数を決定してもよい。第3の相関係数は、第1のサブグラフ304Aと、第1の縮小サブグラフの第1のセット306Aに含まれる第3の縮小サブグラフとの間の類似性を示すことができる。よって、動作810Bは、抽出された第1のサブグラフと、縮小サブグラフのセットのそれぞれの対応する縮小サブグラフとの間の相関係数を得るために、縮小サブグラフのそれぞれに対して実行されうる。
【0145】
ブロック812において、決定された相関係数に基づいて、縮小サブグラフ・セット(すなわち、縮小されたサブグラフの第1のセット306A)から、抽出IDについての最も近い縮小サブグラフとして、ある縮小サブグラフが選択されうる。ある実施形態では、プロセッサ204が、決定された相関係数に基づいて、選択された抽出された第1のサブグラフに対応する最も近い縮小サブグラフとして、縮小サブグラフ・セットからある縮小サブグラフを選択するように構成されてもよい。たとえば、第1の相関係数が第2の相関係数および第3の相関係数よりも大きいと判定された場合、第1の縮小サブグラフが、縮小サブグラフの第1のセット306Aから、縮小サブグラフとして選択されうる。第2の相関係数が第1の相関係数および第3の相関係数よりも大きいと判定された場合、第2の縮小サブグラフが、縮小サブグラフの第1のセット306Aから、縮小サブグラフとして選択されうる。第3の相関係数が第1の相関係数および第2の相関係数よりも大きいと判定された場合、第3の縮小サブグラフが、縮小サブグラフの第1のセット306Aから、縮小サブグラフとして選択されうる。
【0146】
ある実施形態によれば、他の抽出された第1のサブグラフ(たとえば、抽出された第1サブグラフ304B)が、第1のサブグラフ304A…304Nのセットから選択されてもよく、最も近い縮小サブグラフが、縮小サブグラフの対応するセット(縮小サブグラフの第2のセット306Bのような)から選択されてもよい。選択は、第1のサブグラフ304Bと縮小サブグラフの第2のセット306Bの各縮小サブグラフとの間の相関係数に基づいていてもよい。制御は終了に進むことができる。
【0147】
フローチャート800は、802、804、806、808、810A~810B、および812のような離散的な動作として示されているが、開示はそれに限定されない。しかしながら、ある種の実施形態では、開示された実施形態の本質を損なうことなく、そのような離散的な動作は、具体的な実装に依存して、追加的な動作にさらに分割されたり、より少ない動作に組み合わされたり、またはなくされたりしてもよい。
【0148】
図9は、本開示のある実施形態による、最も近い縮小サブグラフのカバレッジ解析のための例示的実行パイプラインを示す図である。
図9は、
図1、
図2、
図3、
図4、
図5、
図6A、
図6B、
図7A、
図7B、および
図8の要素に関連して説明される。
図9を参照すると、実行パイプライン900が示されている。例示的実行パイプライン900は、第1のサブグラフ304A…304Nのセットの第1のサブグラフに対応する最も近い縮小サブグラフのカバレッジ解析のために、
図1の電子デバイス102のプロセッサ204によって実行されうる動作のシーケンスを含むことができる。実行パイプライン900には、902から始まって930で終了しうる動作のシーケンスが示されている。
【0149】
902において、抽出ノードの第1のリストが、最も近い縮小サブグラフ308A…308Nのセットに基づいて取得されうる。少なくとも1つの実施形態では、プロセッサ204が、最も近い縮小サブグラフ308A…308Nのセットに基づいて、抽出ノードの第1のリストを取得するように構成されてもよい。最も近い縮小サブグラフ308A…308Nのセットのそれぞれの最も近い縮小サブグラフ内の抽出ノードが選択され、抽出ノードの第1のリストに含められてもよい。
【0150】
904において、非抽出ノードの第1のリストが、最も近い縮小サブグラフ308A…308Nのセットに基づいて取得されうる。少なくとも1つの実施形態では、プロセッサ204が、最も近い縮小サブグラフ308A…308Nのセットに基づいて、非抽出ノードの第1のリストを取得するように構成されてもよい。最も近い縮小サブグラフ308A…308Nのセットのそれぞれの最も近い縮小サブグラフにおける非抽出ノードが、選択され、非抽出ノードの第1のリストに含められてもよい。
【0151】
906において、抽出ノードの第2のリストが、第1のサブグラフ304A…304Nのセットに基づいて取得されうる。少なくとも1つの実施形態では、プロセッサ204が、第1のサブグラフ304A…304Nのセットに基づいて、抽出ノードの第2のリストを取得するように構成されうる。第1のサブグラフ304A…304Nのセットのそれぞれの抽出された第1のサブグラフ内の抽出ノードが選択され、抽出ノードの第2のリストに含められてもよい。
【0152】
908において、非抽出ノードの第2のリストが、第1のサブグラフ304A…304Nのセットに基づいて取得されうる。少なくとも1つの実施形態では、プロセッサ204が、第1のサブグラフ304A…304Nのセットに基づいて、非抽出ノードの第2のリストを取得するように構成されてもよい。第1のサブグラフ304A…304Nのセットのそれぞれの抽出された第1のサブグラフ内の非抽出ノードが選択され、非抽出ノードの第2のリストに含められてもよい。
【0153】
910において、抽出ノードの第1のリストに関連する第1のノード反復分布が決定されうる。少なくとも1つの実施形態では、プロセッサ204が、抽出ノードの第1のリストに関連する第1のノード反復分布を決定するように構成されてもよい。第1のノード反復分布は、最も近い縮小サブグラフ308A…308Nのセットの最も近い縮小サブグラフにおける抽出ノードの第1のリストの各抽出ノードに関連する情報の反復または分布を示しうる。
【0154】
912において、非抽出ノードの第1のリストに関連する第2のノード反復分布が決定されうる。少なくとも1つの実施形態では、プロセッサ204が、非抽出ノードの第1のリストに関連する第2のノード反復分布を決定するように構成されてもよい。第2のノード反復分布は、最も近い縮小サブグラフ308A…308Nのセットの最も近い縮小サブグラフにおける非抽出ノードの第1のリストの各非抽出ノードに関連する情報の繰り返しまたは分布を示しうる。
【0155】
914において、非抽出ノードの第2のリストに関連する第3のノード反復分布が決定されうる。少なくとも1つの実施形態では、プロセッサ204が、非抽出ノードの第2のリストに関連する第3のノード反復分布を決定するように構成されてもよい。第3のノード反復分布は、第1のサブグラフ304A…304Nのセットの第1のサブグラフにおける非抽出ノードの第2のリストの各非抽出ノードに関連する情報の繰り返しまたは分布を示しうる。
【0156】
916において、抽出ノードの第1のリストの抽出ノードに関連する第1のノード次数分布が決定されうる。少なくとも1つの実施形態では、プロセッサ204が、抽出ノードの第1のリストの抽出ノードに関連する第1のノード次数分布を決定するように構成されてもよい。プロセッサ204は、抽出ノードの第1のリストの各抽出ノードのノード次数を決定しうる。抽出ノードの次数は、抽出ノードから発するエッジの数を示しうる。抽出ノードの第1のリストの各抽出ノードの決定された次数に基づいて、プロセッサ204は、最も近い縮小サブグラフ308A…308Nのセットの最も近い縮小サブグラフのうちでの抽出ノードの第1のノード次数分布を決定することができる。第1のノード次数分布は、最も近い縮小サブグラフ308A…308Nのセットの最も近い縮小サブグラフのうちでの、抽出ノードの第1のリストの各抽出ノードのノード次数の変動を示しうる。
【0157】
918において、抽出ノードの第2のリストの抽出ノードに関連する第2のノード次数分布が決定されうる。少なくとも1つの実施形態では、プロセッサ204が、抽出ノードの第2のリストの抽出ノードに関連する第2のノード次数分布を決定するように構成されうる。プロセッサ204は、抽出ノードの第2のリストの各抽出ノードのノード次数を決定しうる。抽出ノードの第2のリストの各抽出ノードの決定された次数に基づいて、プロセッサ204は、第1のサブグラフ304A…304Nのセットの抽出された第1のサブグラフの最も近い縮小サブグラフのうちでの、抽出ノードの第2のノード次数分布を決定しうる。第2のノード次数分布は、第1のサブグラフ304A…304Nのセットの第1のサブグラフのうちでの、抽出ノードの第2のリストの各抽出ノードのノード次数の変動を示しうる。
【0158】
920において、第1のノード反復分布に基づいて分布スキューが決定されうる。少なくとも1つの実施形態では、プロセッサ204が、第1のノード反復分布に基づいて分布スキューを決定するように構成されうる。分布スキューは、カバレッジ・メトリックのセットの第1カバレッジ・メトリックであってもよい。より高い分布スキューは、最も近い縮小サブグラフ308A…308Nのセットの最も近い縮小サブグラフにおいて、抽出ノードの第1のリストの一部の抽出ノードに関連する情報の過剰表現、および抽出ノードの第1のリストの他の抽出ノードに関連する情報の過小表現を示しうる。
【0159】
922において、第1のノード次数分布および第2のノード次数分布に基づいて第1の相関係数が決定されうる。少なくとも1つの実施形態では、プロセッサ204が、第1のノード次数分布および第2のノード次数分布に基づいて第1の相関係数を決定するように構成されてもよい。第1の相関係数は、カバレッジ・メトリックのセットの第2のカバレッジ・メトリックであってもよい。第1の相関係数のより低い値は、第1のノード次数分布および第2のノード次数分布が似ていないことを示してもよい。一方、第1の相関係数のより高い値は、第1のノード次数分布および第2のノード次数分布が類似していることを示してもよい。
【0160】
924において、第2のノード反復分布および第3のノード反復分布に基づいて第2の相関係数が決定されてもよい。少なくとも1つの実施形態では、プロセッサ204が、第2のノード反復分布および第3のノード反復分布に基づいて第2の相関係数を決定するように構成されてもよい。第2の相関係数は、カバレッジ・メトリックのセットの第3のカバレッジ・メトリックであってもよい。第2の相関係数のより低い値は、第2のノード反復分布および第3のノード反復分布が似ていないことを示してもよい。一方、第2の相関係数のより高い値は、第2のノード反復分布および第3のノード反復分布が類似していることを示してもよい。
【0161】
926において、カバレッジ条件のセットのうちの第1のカバレッジ条件に対する分布スキューの適合が判定されうる。少なくとも1つの実施形態では、プロセッサ204が、分布スキューがカバレッジ条件のセットのうちの第1のカバレッジ条件に適合しているかどうかを判定するように構成されてもよい。分布スキューが閾値分布スキューより小さい場合、分布スキューは第1のカバレッジ条件に適合している可能性がある。抽出ノードの第1のリストのすべての抽出ノードに関連する情報が、最も近い縮小サブグラフ308A…308Nのセットの最も近い縮小サブグラフのうちで一様に分布している場合、分布スキューは閾値分布スキューより小さい可能性がある。一方、最も近い縮小サブグラフ308A…308Nのセットの最も近い縮小サブグラフ内の抽出ノードの第1のリストの一部の抽出ノードに関連する情報の過剰表現がある場合、分布スキューは閾値分布スキューより大きい可能性がある(すなわち、分布スキューが適合していない可能性がある)。
【0162】
928において、カバレッジ条件のセットのうちの第2のカバレッジ条件に対する第1の相関係数の適合が判定されうる。少なくとも1つの実施形態では、プロセッサ204が、第1の相関係数がカバレッジ条件のセットのうちの第2のカバレッジ条件に適合しているかどうかを判定するように構成されてもよい。第1の相関係数が閾値第1相関係数より大きい場合、第1の相関係数は第2のカバレッジ条件に適合している可能性がある。第1のノード次数分布と第2のノード次数分布とが類似している場合、第1の相関係数は閾値第1相関係数より大きいと判定されうる。プロセッサ204は、第1の相関係数が閾値第1相関係数より小さい場合(すなわち、第1の相関係数が適合していない場合)、抽出された第1のサブグラフから閾値数の特定のエッジを除去する際に、第1のサブグラフ304A…304Nのセットの縮小(最も近い縮小サブグラフ308A…308Nのセットの対応する最も近い縮小サブグラフの取得をもたらす)が偏っていると判断することができる。
【0163】
930で、カバレッジ条件のセットのうちの第3のカバレッジ条件に対して第2の相関係数の適合が判定されうる。少なくとも1つの実施形態では、プロセッサ204が、第2の相関係数がカバレッジ条件のセットのうちの第3のカバレッジ条件に適合しているかどうかを判定するように構成されてもよい。第2の相関係数が閾値第2相関係数より大きいと判定される場合、第2の相関係数は第3のカバレッジ条件に適合している。第2のノード反復分布と第3のノード反復分布が類似している場合、第2の相関係数は閾値第2相関係数より大いことがありうる。プロセッサ204は、第2の相関係数が閾値第2相関係数より大きい場合(すなわち、第2の相関係数が適合していない場合)、第1のサブグラフ304A…304Nのセットの縮小(最も近い縮小サブグラフ308A…308Nのセットの対応する最も近い縮小サブグラフの取得をもたらす)が、有意な数の特定のノードを除去することにおいて偏っていると判断してもよい。
【0164】
ある実施形態によると、プロセッサ204は、分布スキューの少なくとも1つが適合していない場合、第1の相関係数が適合していない場合、または第2の相関係数が適合していない場合に、抽出された第1のサブグラフ304A…304Nのセットの縮小(たとえば、
図3の動作306)を再開始するように構成してもよい。
【0165】
一方、分布スキューが適合し、第1の相関係数が適合し、第2の相関係数が適合している場合、第2のサブグラフ314A…314Nのセットが得られてもよい。GXAIエンジンは、第2のサブグラフ314A…314Nのセットを使用して、説明可能な推論結果を予測するための説明可能な予測モデル110を構築してもよい。第2のサブグラフ314A…314Nのセットに含まれる情報は、(入力サブグラフのノード間の接続に対応する)予測出力の生成に大きく寄与しうる。説明可能な予測モデル110のトレーニングは、たとえば、
図3の動作316においてさらに説明される。
【0166】
図10は、本開示のある実施形態による、説明可能な人工知能(XAI)のためのグラフ縮小の例示的方法のフローチャートを示す図である。
図10は、
図1、
図2、
図3、
図4、
図5、
図6A、
図6B、
図7A、
図7B、
図8および
図9の要素との関連で説明される。
図10を参照すると、フローチャート1000が示されている。フローチャート1000に示される方法は、1002で始まってもよく、
図1の例示的な電子デバイス102、または
図2のプロセッサ204など、任意の適切なシステム、装置、またはデバイスによって実行されうる。離散的なブロックで示されているが、フローチャート1000のブロックの一つまたは複数のブロックに関連するステップおよび動作は、具体的な実装に依存して、追加的なブロックに分割されたり、より少ないブロックに組み合わされたり、またはなくされたりしてもよい。
【0167】
ブロック1002では、ドメインを表すグラフ(たとえばグラフ114)、およびグラフ114のノードのセットの各ノードに関連するラベルが受領されてもよい。ある実施形態では、プロセッサ204は、ドメインを表すグラフ114、およびグラフ114のノードのセットの各ノードに関連するラベルを受領するように構成されうる。グラフの受領については、たとえば、
図3(動作302)においてさらに説明されている。
【0168】
ブロック1004において、受領されたグラフ114から第1のサブグラフのセット(たとえば、第1のサブグラフ116A…116Nのセット)が抽出されうる。ある実施形態では、プロセッサ204は、受領されたグラフ114から第1のサブグラフ116A…116Nのセットを抽出するように構成されうる。第1のサブグラフのセットの抽出は、たとえば、
図3(動作304)においてさらに説明されている。
【0169】
ブロック1006において、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフが縮小されて、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する縮小されたサブグラフのセットが得られてもよい。ある実施形態では、プロセッサ204が、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフを縮小して、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する縮小されたサブグラフのセットを得るように構成されてもよい。抽出された第1のサブグラフのセットの縮小については、たとえば
図3(動作306)においてさらに説明されている。
【0170】
ブロック1008において、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフの縮小に基づいて、抽出された第1のサブグラフ116A…116Nのセットから第2のサブグラフ120A…120Nのセットを得るために、動作の第1のセットが実行されうる。ある実施形態では、プロセッサ204が、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフの縮小に基づいて、抽出された第1のサブグラフのセットから第2のサブグラフ120A…120Nのセットを得るために、動作の第1のセットを実行するように構成されてもよい。動作の第1のセットは、ブロック1008A、ブロック1008B、ブロック1008C、およびブロック1008Dを含みうる。
【0171】
ブロック1008Aにおいて、縮小されたサブグラフのセット(たとえば、縮小されたサブグラフ1のセット118A)から、最も近い縮小されたサブグラフが決定されうる。ある実施形態では、プロセッサ204が、縮小されたサブグラフのセットから、最も近い縮小されたサブグラフを決定してもよい。最も近い縮小されたサブグラフは、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフ(たとえば、第1のサブグラフ116A)に対応してもよい。最も近い縮小されたサブグラフの決定については、たとえば、
図3(動作308)においてさらに説明されている。
【0172】
ブロック1008Bにおいて、抽出された第1のサブグラフ116A…116Nのセットと、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する決定された最も近い縮小されたサブグラフとに基づいて、カバレッジ・メトリックのセットが決定されうる。ある実施形態では、プロセッサ204が、抽出された第1のサブグラフ116A…116Nと、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する決定された最も近い縮小されたサブグラフとに基づいて、カバレッジ・メトリックのセットを決定してもよい。ある実施形態では、カバレッジ・メトリックのセットは、第1のノード反復分布、第1のノード次数分布、第2のノード反復分布、第2のノード次数分布、または第3のノード反復分布のうちの少なくとも1つに基づいて決定されうる。カバレッジ・メトリックのセットは、分布スキュー、第1の相関係数、および第2の相関係数を含みうる。カバレッジ・メトリックのセットの決定については、たとえば、
図3(動作310)においてさらに説明されている。
【0173】
ブロック1008Cでは、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすかどうかが判定されてもよい。ある実施形態では、プロセッサ204が、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすかどうかを判定してもよい。カバレッジ条件のセットが満たされるかどうかの判定については、たとえば、
図3(動作312)においてさらに説明されている。
【0174】
ブロック1008Dにおいて、カバレッジ・メトリックの決定されたセットがカバレッジ条件のセットを満たさないという判定に基づいて、抽出された第1のサブグラフ116A…116Nのセットの縮小が再反復されてもよい。ある実施形態では、プロセッサ204が、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たさないという判定に基づいて、抽出された第1のサブグラフ116A…116Nのセットの縮小を再反復してもよい。カバレッジ・メトリックのセットがカバレッジ条件のセットを満たさない場合、プロセッサ204は、たとえば
図3(動作306)にさらに記載されているように、抽出された第1のサブグラフのセットの縮小を再反復してもよい。カバレッジ・メトリックのセットがカバレッジ条件のセットを満たすと判定されたときには、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する最も近い縮小サブグラフが取得されうる。
【0175】
ブロック1010において、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすまで、動作の第1のセットの実行の逐次反復的な制御に基づいて、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する決定された最も近い縮小サブグラフから、第2のサブグラフ120A…120Nのセットが取得されうる。ある実施形態において、プロセッサ204が、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすまで、動作の第1のセットの実行の逐次反復的な制御に基づいて、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する決定された最も近い縮小サブグラフから、第2のサブグラフ120A…120Nのセットを取得するように構成されうる。よって、カバレッジ・メトリックのセットがカバレッジ条件のセットを満たすように最も近い縮小サブグラフが取得されたとき、第2のサブグラフ120A…120Nのセットが、最も近い縮小サブグラフとして決定されうる。第2のサブグラフのセットの決定については、たとえば
図3(動作314)においてさらに説明されている。
【0176】
ブロック1012において、取得された第2のサブグラフ120A…120Nのセットと、受領されたグラフ114のノードのセットの各ノードに関連付けられた受領されたラベルとに基づいて、グラフ機械学習モデルがトレーニングされうる。ある実施形態では、プロセッサ204が、取得された第2のサブグラフ120A…120Nのセットと、受領されたグラフ114のノードのセットの各ノードに関連付けられた受領されたラベルとに基づいて、グラフ機械学習モデルをトレーニングするように構成されてもよい。グラフ機械学習モデルのトレーニングは、たとえば
図3(動作316)においてさらに説明されている。制御は終了に進んでもよい。
【0177】
フローチャート1000は、1002、1004、1006、1008(1008A~1008D)、1010、および1012などの離散的な動作として示されているが、本開示はそのように限定されない。しかしながら、開示された実施形態の本質を損なうことなく、具体的な実装に依存して、そのような離散的な動作は、追加的な動作にさらに分割されたり、より少ない動作に組み合わされたり、またはなくされたりしてもよい。
【0178】
本開示のさまざまな実施形態は、実行されたことに応答して、システム(例示的な電子デバイス102のような)に動作を実行させる命令を格納するように構成された、一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体を提供してもよい。動作は、ドメインを表すグラフ(たとえばグラフ114)、および受領されるグラフ114のノードのセットの各ノードに関連付けられたラベルを受領することを含んでいてもよい。動作は、受領されたグラフ114から第1のサブグラフのセット(たとえば、第1のサブグラフ116A…116Nのセット)を抽出することをさらに含んでいてもよい。動作は、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフを縮小して、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する縮小されたサブグラフのセットを得ることをさらに含んでいてもよい。動作は、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフの縮小に基づいて、抽出された第1のサブグラフ116A…116Nのセットから第2のサブグラフのセット(たとえば、第2のサブグラフ120A…120Nのセット)を得るために、動作の第1のセットを実行することをさらに含んでいてもよい。動作の第1のセットは、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する、縮小サブグラフのセットからの、最も近い縮小サブグラフを決定することをさらに含んでいてもよい。動作の第1のセットは、抽出された第1のサブグラフ116A…116Nのセットと、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する決定された最も近い縮小サブグラフとに基づいて、カバレッジ・メトリックのセットを決定することをさらに含んでいてもよい。動作の第1のセットは、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすかどうかを判定することをさらに含んでいてもよい。さらに、動作の第1のセットは、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たさないという判定に基づいて、抽出された第1のサブグラフ116A…116Nのセットの縮小を再反復することを含んでいてもよい。動作は、決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすまで、動作の第1のセットの実行の逐次反復的な制御に基づいて、抽出された第1のサブグラフ116A…116Nのセットの各第1のサブグラフに対応する決定された最も近い縮小サブグラフから、第2のサブグラフ120A…120Nのセットを取得することをさらに含んでいてもよい。動作はさらに、取得された第2のサブグラフ120A…120Nのセットと、受領されたグラフのノードのセットの各ノードに関連付けられた受領されたラベルとに基づいて、グラフ機械学習モデルをトレーニングすることを含みうる。
【0179】
本開示で使用されるところでは、用語「モジュール」または「コンポーネント」は、該モジュールまたはコンポーネントのアクションを実行するように構成された特定のハードウェア実装、および/またはコンピューティング・システムの汎用ハードウェア(たとえば、コンピュータ読み取り可能な媒体、処理装置等)に記憶および/または実行されうるソフトウェア・オブジェクトまたはソフトウェア・ルーチンを指すことができる。いくつかの実施形態では、本開示に記載された異なるコンポーネント、モジュール、エンジン、およびサービスは、コンピューティング・システム上で(たとえば、別個のスレッドとして)実行されるオブジェクトまたはプロセスとして実装されうる。本開示に記載されたシステムおよび方法のいくつかは、一般に(汎用ハードウェアに記憶および/または実行される)ソフトウェアで実装されるものとして記載されているが、特定のハードウェア実装またはソフトウェアと特定のハードウェア実装の組み合わせも可能であり、考えられている。本明細書において、「コンピューティング・エンティティ」は、本開示で前に定義された任意のコンピューティング・システム、またはコンピューティング・システム上で実行される任意のモジュールまたは小モジュールの組み合わせでありうる。
【0180】
本開示で、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体)で使用される用語は、一般に「オープン」な用語として意図される(たとえば、用語「含んでいる」は、「含んでいるが、それに限定されない」と解釈されるべきであり、用語「有する」は、「少なくとも有する」と解釈されるべきであり、用語「含む」は、「含むが、それに限定されない」と解釈されるべきである、など)。
【0181】
さらに、導入される請求項記載の特定の数が意図される場合、そのような意図は、請求項において明示的に記載され、そのような記載がない場合、そのような意図は存在しない。たとえば、理解の助けとして、以下の添付の特許請求の範囲は、請求項記載を導入するために、導入句「少なくとも1つの」および「一つまたは複数の」の使用を含みうる。しかしながら、そのような語句の使用は、不定冠詞「a」または「an」による請求項記載の導入が、そのような導入された請求項記載を含む任意の特定の請求項を、そのような記載を1つだけ含む実施形態に限定することを意味すると解釈されるべきではなく、同じ請求項が、導入語句「一つまたは複数の」または「少なくとも1つの」、および「a」または「an」などの不定冠詞を含む場合であってもそうである(たとえば、「a」および/または「an」は、「少なくとも1つの」または「一つまたは複数の」を意味すると解釈されるべきである)。請求項記載を導入するために使用される定冠詞の使用にも同じことが当てはまる。
【0182】
加えて、導入される請求項記載の特定の数が明示的に記載されている場合であっても、当業者は、そのような記載が少なくともその記載された数を意味すると解釈されるべきであることを認識するであろう(たとえば、他の修飾語なしの「2つの記載」というだけの記載は、少なくとも2つの記載、または2つ以上の記載を意味する)。さらに、「A、B、およびCのうちの少なくとも1つなど」または「A、B、およびCのうちの一つまたは複数など」に類似した慣用表現が使用される場合、一般に、そのような構文は、Aのみ、Bのみ、Cのみ、AとBの両方、AとCの両方、BとCの両方、またはAとBとCなどを含むことが意図される。
【0183】
さらに、2つ以上の代替的な用語を提示する任意の選言的な語句は、本稿、請求項、または図面のいずれにあっても、用語のうちの1つ、用語のいずれか、または両方の用語を含む可能性を考慮するように理解されるべきである。たとえば、「AまたはB」という句は、「A」または「B」または「AおよびB」の可能性を含むと理解されるべきである。
【0184】
本開示に記載されたすべての例および条件付き言辞は、本開示および発明者によって当該技術を促進するために寄与された概念を理解することにおいて読者を助ける教育的な目的を意図しており、そのような具体的に記載された例および条件に限定されないものとして解釈されるべきである。本開示の実施形態を詳細に説明したが、本開示の精神および範囲から逸脱することなく、さまざまな変更、置換、および改変を行うことができる。
【0185】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
プロセッサによって実行される方法であって、当該方法は:
ドメインを表すグラフと、受領されるグラフのノードのセットの各ノードに関連付けられたラベルとを受領する段階と;
受領されたグラフから第1のサブグラフのセットを抽出する段階と;
抽出された第1のサブグラフのセットの各第1のサブグラフを縮小して、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する縮小されたサブグラフのセットを得る段階と;
前記抽出された第1のサブグラフのセットの各第1のサブグラフの縮小に基づいて、前記抽出された第1のサブグラフのセットから第2のサブグラフのセットを得るために、動作の第1のセットを実行する段階であって、動作の前記第1のセットは:
前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記縮小されたサブグラフのセットから、最も近い縮小されたサブグラフを決定し、
前記抽出された第1のサブグラフのセットと、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する決定された最も近い縮小されたサブグラフとに基づいて、カバレッジ・メトリックのセットを決定し、
決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすかどうかを判定し、
前記決定されたカバレッジ・メトリックのセットが前記カバレッジ条件のセットを満たさないという判定に基づいて、前記抽出された第1のサブグラフのセットの前記縮小を再反復することを含む、段階と;
前記決定されたカバレッジ・メトリックのセットが前記カバレッジ条件のセットを満たすまで、動作の前記第1のセットの実行を逐次反復的に制御することに基づいて、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記決定された最も近い縮小されたサブグラフから、前記第2のサブグラフのセットを得る段階と;
得られた第2のサブグラフのセットと、前記受領されたグラフのノードのセットの各ノードに関連付けられた受領されたラベルとに基づいて、グラフ機械学習モデルをトレーニングする段階とを含む、
方法。
(付記2)
前記第1のサブグラフのセットは、ホップ限界、前記受領されたグラフに関連付けられたノード・タイプ、または前記ホップ限界と前記ノード・タイプの組み合わせのうちの少なくとも1つに基づいて、前記受領されたグラフから抽出される、付記1に記載の方法。
(付記3)
前記縮小されたサブグラフのセットは、前記抽出された第1のサブグラフのセットに関連するノード数、エッジ数、またはハイパーパラメータのセットのうちの少なくとも1つに基づいて得られる、付記1に記載の方法。
(付記4)
前記グラフ機械学習モデルは、グラフ説明可能人工知能(GXAI)エンジンに対応する、付記1に記載の方法。
(付記5)
前記GXAIエンジンと、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記決定された最も近い縮小されたサブグラフとに基づいて、説明可能な予測モデルをトレーニングする段階をさらに含む、付記4に記載の方法。
(付記6)
前記ドメインに関連付けられた入力サブグラフを受領する段階と;
前記受領された入力サブグラフに対して前記トレーニングされた説明可能な予測モデルを適用する段階と;
前記トレーニングされた説明可能な予測モデルの適用に基づいて予測出力を決定する段階と
をさらに含む、付記5に記載の方法。
(付記7)
前記受領されたグラフのノードのセットから抽出ノードおよび非抽出ノードを識別して、抽出ノードのリストを得る段階と;
前記抽出ノードのリストから第1の抽出ノードを抽出識別子(ID)として選択する段階と;
前記抽出IDに関連付けられたリング・リストに第1のリングを最新のリングとして追加する段階と;
前記抽出IDに関連付けられたタプルを得るために動作の第2のセットを実行する段階であって、動作の前記第2のセットは:
最新のリングによって囲まれた各ノードの各隣接ノードについて、
その隣接ノードが最新のリングで囲まれているかどうかを判定し、
その隣接ノードが最新のリングで囲まれていないという判定に基づいて、その隣接ノードを最新のリングの外側に追加し、
追加された隣接ノードに関連するエッジをエッジ・リストに追加し、
追加された隣接ノードを囲むリングを前記リング・リストに追加し、
最新のリングが前記リング・リストにおける最後のリングであるかどうかを判定し、
追加されたリングを最新のリングとして設定し、最新のリングが前記リング・リストにおける最後のリングではないという判定に基づいて、動作の前記第2のセットを再反復することを含む、段階と;
最新のリングが前記リング・リストにおける最後のリングとして判定されるまで、動作の前記第2のセットの実行を逐次反復的に制御することに基づいて、前記抽出ID、前記リング・リスト、および前記エッジ・リストを含む前記タプルを得る段階とを含み、
前記第1のサブグラフのセットの抽出は、得られたタプルにさらに基づく、
付記1に記載の方法。
(付記8)
前記抽出された第1のサブグラフのセットから、抽出IDに関連付けられた第1のサブグラフを選択する段階と;
リング・リストにおける各リングのリング・ノード目標と、選択された第1のサブグラフに関連付けられたグラフ・サイズ目標とを決定する段階であって、
対応するリングの前記リング・ノード目標は、前記選択された第1のサブグラフのサイズ、前記グラフ・サイズ目標、または前記対応するリングのリング重みのうちの少なくとも1つに基づいて決定され、
前記グラフ・サイズ目標は、前記選択された第1のサブグラフのサイズ、目標ノード数、目標エッジ数、または前記目標ノード数と前記目標エッジ数の組み合わせのうちの少なくとも1つに基づいて決定される、段階と;
前記リング・リストからリングを現在リングとして選択する段階であって、該選択は、選択された現在リングが保護されていないという判定に基づき、
保護されたリングによって囲まれたノードは、前記選択された第1のサブグラフの縮小の際に保持される、段階と;
前記選択された第1のサブグラフに対応する前記縮小されたサブグラフのセットの縮小されたサブグラフを得るために、動作の第3のセットを実行する段階であって、動作の前記第3のセットは:
前記選択された現在リングによって囲まれたノードをランダム選択し、
前記選択された第1のサブグラフから、選択されたランダム・ノードおよび該選択されたランダム・ノードに関連するエッジを除去し、
前記除去に基づいて、前記選択された第1のサブグラフにおいて切断されたノードが存在するかどうかを判定し、
切断されたノードの存在の判定に基づいて、前記切断されたノードおよび前記切断されたノードに関連するエッジを、前記選択された第1のサブグラフから除去し、
ホップ限界を超えて前記抽出IDからより遠いノードが存在するかどうかを判定し、
前記ホップ限界を超えたノードの存在の判定に基づいて、前記ホップ限界を超えたノードおよびそれらのノードに関連するエッジを、前記選択された第1のサブグラフから除去し、
前記選択されたランダム・ノード、前記切断されたノード、および前記ホップ限界を超えたノードの除去に基づいて、前記グラフ・サイズ目標が満たされているかどうかを判定し、
現在リングが決定されたリング・ノード目標を満たすかどうかを判定し、
終了基準に基づいて、前記選択された第1のサブグラフから、選択された現在リングの後の保護されていないリングを現在リングとして再選択することを含み、前記終了基準は:
前記グラフ・サイズ目標が満たされていないとの判定、または
選択された現在リングの前記リング・ノード目標が満たされているとの判定
のうちの少なくとも一方を含む、段階と;
前記グラフ・サイズ目標が満たされるまで、動作の前記第3のセットの実行を逐次反復的に制御することに基づいて、前記選択された第1のサブグラフから前記縮小されたサブグラフを得る段階とをさらに含む、
付記1に記載の方法。
(付記9)
前記抽出された第1のサブグラフのセットから、前記抽出された第1のサブグラフを選択する段階と;
選択された抽出された第1のサブグラフに対応する前記縮小されたサブグラフのセットを、縮小サブグラフ・セットとして選択する段階と;
前記抽出された第1のサブグラフのセットに基づいてグラフ・カーネル・エンコーダをトレーニングする段階と;
前記選択された抽出された第1のサブグラフに対する前記グラフ・カーネル・エンコーダの適用に基づいて第1のベクトルを決定する段階と;
前記縮小サブグラフ・セットにおける各縮小サブグラフについて、
前記縮小サブグラフ・セットの現在の縮小サブグラフに対する前記グラフ・カーネル・エンコーダの適用に基づいて第2のベクトルを決定し、
決定された第1のベクトルと決定された第2のベクトルとに基づいて、前記選択された抽出された第1のサブグラフと現在の縮小サブグラフとの間の相関係数を決定する
段階と;
決定された相関係数に基づいて、前記選択された抽出された第1のサブグラフに対応する最も近いサブグラフとして、前記縮小サブグラフ・セットから縮小サブグラフを選択する段階とをさらに含む、
付記1に記載の方法。
(付記10)
前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記決定された最も近い縮小されたサブグラフにおける、抽出ノードの第1のリストおよび非抽出ノードの第1のリストを得る段階と;
前記抽出された第1のサブグラフのセットに基づいて、抽出ノードの第2のリストおよび非抽出ノードの第2のリストを得る段階と;
前記抽出ノードの第1のリストに関連する第1のノード反復分布および第1のノード次数分布を決定する段階と;
前記非抽出ノードの第1のリストに関連する第2のノード反復分布を決定する段階と;
前記抽出ノードの第2のリストに関連する第2のノード次数分布を決定する段階と;
前記非抽出ノードの第2のリストに関連する第3のノード反復分布を決定する段階と
をさらに含み、
前記カバレッジ・メトリックのセットは:
前記第1のノード反復分布、
前記第1のノード次数分布、
前記第2のノード反復分布、
前記第2のノード次数分布、または
前記第3のノード反復分布
のうちの少なくとも1つに基づいて決定される、付記1に記載の方法。
(付記11)
前記第1のノード反復分布に基づいて分布スキューを決定する段階と;
前記第1のノード次数分布および前記第2のノード次数分布に基づいて第1の相関係数を決定する段階と;
前記第2のノード反復分布および前記第3のノード反復分布に基づいて第2の相関係数を決定する段階と;
決定された分布スキューが前記カバレッジ条件のセットの第1のカバレッジ条件に適合し、決定された第1の相関係数が前記カバレッジ条件のセットの第2のカバレッジ条件に適合し、決定された第2の相関係数が前記カバレッジ条件のセットの第3のカバレッジ条件に適合するかどうかを判定する段階であって、
前記決定された分布スキューが閾値分布スキューより小さい場合に前記第1のカバレッジ条件が満たされ、
前記決定された第1の相関係数が閾値第1相関係数より大きい場合に前記第2のカバレッジ条件が満たされ、
前記決定された第2の相関係数が閾値第2相関係数よりも大きい場合に前記第3のカバレッジ条件が満たされる、段階と
をさらに含む、付記10に記載の方法。
(付記12)
前記ドメインは、金融ドメイン、クレジットカード不正検出ドメイン、電子商取引ドメイン、ソーシャルネットワーク・ドメイン、または引用ネットワーク・ドメインのうちの少なくとも1つに対応する、付記1に記載の方法。
(付記13)
前記ドメインは、前記クレジットカード不正検出ドメインに対応し、
前記受領されたグラフのノードのセットは、クレジットカード・エンティティ、カード所有者エンティティ、またはポイントオブセール・エンティティのうちの少なくとも1つに対応し、
前記受領されたグラフのエッジのセットは、トランザクション・エンティティ、カード所有エンティティ、またはビジネス所有エンティティに対応する、
付記1に記載の方法。
(付記14)
実行されることに応答して、電子デバイスに動作を実行させる命令を記憶するように構成された一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体であって、前記動作は:
ドメインを表すグラフと、受領されるグラフのノードのセットの各ノードに関連付けられたラベルとを受領する段階と;
受領されたグラフから第1のサブグラフのセットを抽出する段階と;
抽出された第1のサブグラフのセットの各第1のサブグラフを縮小して、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する縮小されたサブグラフのセットを得る段階と;
前記抽出された第1のサブグラフのセットの各第1のサブグラフの縮小に基づいて、前記抽出された第1のサブグラフのセットから第2のサブグラフのセットを得るために、動作の第1のセットを実行する段階であって、動作の前記第1のセットは:
前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記縮小されたサブグラフのセットから、最も近い縮小されたサブグラフを決定し、
前記抽出された第1のサブグラフのセットと、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する決定された最も近い縮小されたサブグラフとに基づいて、カバレッジ・メトリックのセットを決定し、
決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすかどうかを判定し、
前記決定されたカバレッジ・メトリックのセットが前記カバレッジ条件のセットを満たさないという判定に基づいて、前記抽出された第1のサブグラフのセットの前記縮小を再反復することを含む、段階と;
前記決定されたカバレッジ・メトリックのセットが前記カバレッジ条件のセットを満たすまで、動作の前記第1のセットの実行を逐次反復的に制御することに基づいて、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記決定された最も近い縮小されたサブグラフから、前記第2のサブグラフのセットを得る段階と;
得られた第2のサブグラフのセットと、前記受領されたグラフのノードのセットの各ノードに関連付けられた受領されたラベルとに基づいて、グラフ機械学習モデルをトレーニングする段階とを含む、
一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体。
(付記15)
前記第1のサブグラフのセットは、ホップ限界、前記受領されたグラフに関連付けられたノード・タイプ、または前記ホップ限界と前記ノード・タイプの組み合わせのうちの少なくとも1つに基づいて、前記受領されたグラフから抽出される、付記14に記載の一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体。
(付記16)
前記縮小されたサブグラフのセットは、前記抽出された第1のサブグラフのセットに関連するノード数、エッジ数、またはハイパーパラメータのセットのうちの少なくとも1つに基づいて得られる、付記14に記載の一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体。
(付記17)
前記グラフ機械学習モデルは、グラフ説明可能人工知能(GXAI)エンジンに対応する、付記14に記載の一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体。
(付記18)
前記動作が、前記GXAIエンジンと、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記決定された最も近い縮小されたサブグラフとに基づいて、説明可能な予測モデルをトレーニングする段階をさらに含む、付記17に記載の一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体。
(付記19)
前記動作がさらに:
前記ドメインに関連付けられた入力サブグラフを受領する段階と;
前記受領された入力サブグラフに対して前記トレーニングされた説明可能な予測モデルを適用する段階と;
前記トレーニングされた説明可能な予測モデルの適用に基づいて予測出力を決定する段階と
をさらに含む、付記18に記載の一つまたは複数の非一時的なコンピュータ読み取り可能な記憶媒体。
(付記20)
命令を記憶しているメモリ;および
前記メモリに結合され、前記命令を実行してプロセスを実行するプロセッサを備える、電子デバイスであって、前記プロセスは:
ドメインを表すグラフと、受領されるグラフのノードのセットの各ノードに関連付けられたラベルとを受領する段階と;
受領されたグラフから第1のサブグラフのセットを抽出する段階と;
抽出された第1のサブグラフのセットの各第1のサブグラフを縮小して、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する縮小されたサブグラフのセットを得る段階と;
前記抽出された第1のサブグラフのセットの各第1のサブグラフの縮小に基づいて、前記抽出された第1のサブグラフのセットから第2のサブグラフのセットを得るために、動作の第1のセットを実行する段階であって、動作の前記第1のセットは:
前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記縮小されたサブグラフのセットから、最も近い縮小されたサブグラフを決定し、
前記抽出された第1のサブグラフのセットと、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する決定された最も近い縮小されたサブグラフとに基づいて、カバレッジ・メトリックのセットを決定し、
決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすかどうかを判定し、
前記決定されたカバレッジ・メトリックのセットが前記カバレッジ条件のセットを満たさないという判定に基づいて、前記抽出された第1のサブグラフのセットの前記縮小を再反復することを含む、段階と;
前記決定されたカバレッジ・メトリックのセットが前記カバレッジ条件のセットを満たすまで、動作の前記第1のセットの実行を逐次反復的に制御することに基づいて、前記抽出された第1のサブグラフのセットの各第1のサブグラフに対応する前記決定された最も近い縮小されたサブグラフから、前記第2のサブグラフのセットを得る段階と;
得られた第2のサブグラフのセットと、前記受領されたグラフのノードのセットの各ノードに関連付けられた受領されたラベルとに基づいて、グラフ機械学習モデルをトレーニングする段階とを含む、
電子デバイス。
【符号の説明】
【0186】
102 電子デバイス
108 グラフ機械学習モデル
110 説明可能な予測モデル
112 通信ネットワーク
114 グラフ
116… 第1のサブグラフのセット
118A 縮小サブグラフのセット1
118B 縮小サブグラフのセット2
118N 縮小サブグラフのセットN
120… 第2のサブグラフのセット
202 システム
204 プロセッサ
206 メモリ
208 永続データ記憶
212 ネットワーク・インターフェース
210 I/Oデバイス
210A 表示デバイス
302 グラフ受領
302A グラフ
304 第1のサブグラフのセット抽出
304A...304N 第1のサブグラフのセット
306 第1のサブグラフのセットの縮小
306A 縮小サブグラフの第1のセット
306B 縮小サブグラフの第2のセット
306N 縮小サブグラフの第Nのセット
304A...304N 第1のサブグラフのセット
308 最も近いサブグラフのセット決定
308A...308N 最も近い縮小サブグラフのセット
310 最も近いサブグラフのセットのカバレッジ解析
312 カバレッジ条件充足?
314 第2のサブグラフのセット取得
314A...314N 第2のサブグラフのセット
316 説明可能な予測モデル・トレーニング
502 受領されたグラフのノードのセットから抽出ノードおよび非抽出ノードを識別して抽出ノードのリストを得る
504 抽出ノードのリストから第1の抽出ノードを抽出識別子(ID)として選択
506 抽出IDに関連付けられたリング・リストに、抽出IDを囲む第1のリングを追加
508 動作の第2のセットを実行して、抽出IDに関連付けられたタプルを取得
(その下) 最新のリングによって囲まれる各ノードの各近傍について
508A 近傍が最新のリングによって囲まれるかどうかを判定
508B 近傍が最新のリングによって囲まれないとの判定に基づいて、最新のリングの外側に近傍を追加
508C 追加された近傍に関連するエッジをエッジ・リストに追加
508D 追加された近傍を囲むリングをリング・リストに追加
508E 最新のリングがリング・リストにおける最後のリングかどうかを判定
508F 追加されたリングを最新のリングとして設定し、最新のリングがリング・リストにおける最後のリングでないとの判定に基づいて動作のセットを再反復
510 最新のリングがリング・リストにおける最後のリングとして判定されるまで、動作の第2のセットの実行の逐次反復的制御に基づいて、抽出ID、リング・リストおよびエッジ・リストを含むタプルを取得。第1のサブグラフのセットの抽出は、得られたタプルにさらに基づく
702 第1のサブグラフの抽出されたセットから、抽出IDに関連付けられた第1のサブグラフを選択
704 リング・リスト内の各リングのリング・ノード目標と、選択された第1のサブグラフに関連付けられたグラフ・サイズ目標とを決定。ここで、
対応するリングのリング・ノード目標は、選択された第1のサブグラフのサイズ、グラフ・サイズ目標、または対応するリングのリング重みのうちの少なくとも1つに基づいて決定され、
グラフ・サイズ目標は、選択された第1のサブグラフのサイズ、目標ノード数、目標エッジ数、または目標ノード数と目標エッジ数の組み合わせのうちの少なくとも1つに基づいて決定される
706 選択された現在リングが保護されていないという判定に基づいて、リング・リストからリングを現在リングとして選択。ここで、保護されているリングによって囲まれるノードは、選択された第1のサブグラフの縮小中、保持される
708 選択された第1のサブグラフに対応する縮小サブグラフのセットの縮小サブグラフを得るために、動作の第3のセットを実行
708A 選択された現在リングによって囲まれたノードを選択。ノードの選択はランダム選択
708B 選択された第1のサブグラフから、選択されたランダム・ノードおよび該選択されたランダム・ノードに関連するエッジを除去
708C 除去に基づいて、選択された第1のサブグラフ内に切断されたノードが存在するかどうかを判定
708D 切断されたノードの存在の判定に基づいて、切断されたノードおよび該切断されたノードに関連するエッジを選択された第1のサブグラフから除去
708E ホップ限界を超えて抽出IDからより遠いノードが存在するかどうかを判定
708F ホップ限界を超えたノードの存在の判定に基づいて、ホップ限界を超えているノードおよび該ノードに関連するエッジを、選択された第1のサブグラフから除去
708G 選択されたランダム・ノード、切断されたノード、およびホップ限界を超えているノードの除去に基づいて、グラフ・サイズ目標が満たされているかどうかを判定
708H 現在リングが決定されたリング・ノード目標を満たすかどうかを判定
708I 選択された第1のサブグラフから、選択された現在リングに続く保護されていないリングを、終了基準に基づいて現在リングとして選択。終了基準は、グラフ・サイズ目標が満たされていないという判定、または選択された現在リングのリング・ノード目標が満たされているという判定の少なくとも一方を含む
710 グラフ・サイズ目標が満たされるまで、動作の第3のセットの実行の逐次反復的な制御に基づいて、選択された第1のサブグラフから縮小サブグラフを得る
802 抽出された第1のサブグラフのセットから、抽出された第1のサブグラフを選択
804 選択された抽出された第1のサブグラフに対応する縮小されたサブグラフのセットを、縮小されたサブグラフ・セットとして選択
806 抽出された第1のサブグラフのセットに基づいてグラフ・カーネル・エンコーダをトレーニング
808 選択された抽出された第1のサブグラフに対するグラフ・カーネル・エンコーダの適用に基づいて第1のベクトルを決定
(その下) 縮小サブグラフ内の各縮小サブグラフについて
810A 縮小サブグラフ・セットの現在の縮小サブグラフに対するグラフ・カーネル・エンコーダの適用に基づいて第2のベクトルを決定
810B 決定された第1のベクトルおよび決定された第2のベクトルに基づいて、選択された抽出された第1のサブグラフと現在の縮小サブグラフとの間の相関係数を決定
812 決定された相関係数に基づいて、選択された抽出された第1のサブグラフに対応する最も近い縮小サブグラフとして、縮小サブグラフ・セットから縮小サブグラフを選択
902 抽出ノードの第1のリストを取得
904 非抽出ノードの第1のリストを取得
906 抽出ノードの第2のリストを取得
908 非抽出ノードの第2のリストを取得
910 第1のノード反復分布の決定
912 第2のノード反復分布の決定
914 第3のノード反復分布の決定
916 第1のノード次数分布の決定
918 第2のノード次数分布の決定
920 分布スキューの決定
922 第1の相関係数の決定
924 第2の相関係数の決定
926 スキューが適合?
928 第1の相関が適合?
930 第2の相関が適合?
1002 ドメインを表すグラフ、および受領されるグラフのノードのセットの各ノードに関連するラベルを受領
1004 受領されたグラフから第1のサブグラフのセットを抽出
1006 抽出された第1のサブグラフのセットの各第1のサブグラフを縮小して、抽出された第1のサブグラフのセットの各第1のサブグラフに対応する縮小サブグラフのセットを得る
1008 抽出された第1のサブグラフのセットの各第1のサブグラフの縮小に基づいて、抽出された第1のサブグラフのセットから第2のサブグラフのセットを得るために、動作の第1のセットを実行
1008A 縮小されたサブグラフのセットから、抽出された第1のサブグラフのセットの各第1のサブグラフに対応する最も近い縮小されたサブグラフを決定
1008B 抽出された第1のサブグラフのセットと、抽出された第1のサブグラフのセットの各第1のサブグラフに対応する決定された最も近い縮小されたサブグラフとに基づいて、カバレッジ・メトリックのセットを決定
1008C 決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすかどうかを判定
1008D カバレッジ・メトリックの決定されたセットがカバレッジ条件のセットを満たさないという判定に基づいて、抽出された第1のサブグラフのセットの縮小を再反復
1010 決定されたカバレッジ・メトリックのセットがカバレッジ条件のセットを満たすまで、動作の第1のセットの実行の逐次反復的な制御に基づいて、抽出された第1のサブグラフのセットの各第1のサブグラフに対応する決定された最も近いサブグラフから、第2のサブグラフのセットを得る
1012 得られた第2のサブグラフのセットと、受領されたグラフのノードのセットの各ノードに関連付けられた受領されたラベルとに基づいて、グラフ機械学習モデルをトレーニング
【外国語明細書】