IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7597479解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル
<>
  • 特許-解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル 図1
  • 特許-解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル 図2
  • 特許-解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル 図3
  • 特許-解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル 図4
  • 特許-解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル 図5
  • 特許-解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル 図6
  • 特許-解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル 図7
  • 特許-解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル 図8
  • 特許-解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル 図9
  • 特許-解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル 図10
  • 特許-解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル 図11
  • 特許-解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-02
(45)【発行日】2024-12-10
(54)【発明の名称】解釈可能な結果を生成するように構成された分解可能な階層的な層を有する予測モデル
(51)【国際特許分類】
   G06N 5/045 20230101AFI20241203BHJP
   G06N 20/00 20190101ALI20241203BHJP
【FI】
G06N5/045
G06N20/00
【請求項の数】 20
(21)【出願番号】P 2023502880
(86)(22)【出願日】2021-07-01
(65)【公表番号】
(43)【公表日】2023-08-15
(86)【国際出願番号】 CN2021104054
(87)【国際公開番号】W WO2022012347
(87)【国際公開日】2022-01-20
【審査請求日】2023-12-12
(31)【優先権主張番号】16/928,171
(32)【優先日】2020-07-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ジョウ,ニアンジュン
(72)【発明者】
【氏名】ギフォード,ウェスレー エム.
(72)【発明者】
【氏名】リ,タ-シン
(72)【発明者】
【氏名】マッツォレーニ,ピエトロ
(72)【発明者】
【氏名】ムラリ,パワンクマール
【審査官】多賀 実
(56)【参考文献】
【文献】国際公開第2016/067548(WO,A1)
【文献】特開2020-184212(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
解釈可能な予測を機械学習モデルから提供する為の、コンピュータに実装された方法であって、
1以上の予測モデルによって使用される特徴の1組(X)の階層構造を表すところのデータ構造を、コンピューティングデバイスのプロセッサによって受信して、予測の1組(Y)を生成すること、
前記階層構造に基づいて解釈可能性を前記予測モデルの各予測Yiに割り当てることによって、前記予測モデルに対応する解釈可能性モデルを、前記プロセッサによって構築すること、ここで、前記解釈可能性を割り当てることが、
前記入力データの特徴の前記1組(X)を複数のパーティションXjへと前記階層構造を用いて、前記プロセッサによって分解すること、ここで、Xは下記の式で表される:
【数1】
Nは、パーティションの数である、
原子サブパーティションが得られるまで、前記複数のパーティションからの各パーティションを複数のサブパーティションへと前記階層構造を用いて、前記プロセッサによって分解すること、及び
記サブパーティション間の相互作用を、当該パーティションについての測スコアと当該パーティションのサブパーティションの予測されたスコアとの比較により、前記プロセッサによって計算すること
を含む、前記構築すること、並びに、
前記解釈可能性モデルに基づいて前記予測モデルによって提供される予測の解釈を、前記プロセッサによって出力すること、ここで、前記解釈は、前記予測を生成する為に前記予測モデルによって使用される前記1以上の特徴の重みを表す、
を含む、前記方法。
【請求項2】
特徴の前記パーティションが、前記入力データの相互に排他的な複数のサブセットである、請求項1に記載の、コンピュータに実装された方法。
【請求項3】
前記入力データについての総合スコアを、各パーティションについての前記予測されたスコアに基づいて生成することを更に含む、請求項1又は2に記載の、コンピュータに実装された方法。
【請求項4】
前記階層構造を生成することが、
1以上のエキスパートによってキュレーションされた産業データを、前記プロセッサによって受信すること、及び
前記産業データを特徴の前記パーティションへと構文解析し、そして前記複数のパーティション間の関連付けを作成することにより系統樹モデルを構築することによって、前記産業データを用いて前記階層構造を、前記プロセッサによって生成すること
を更に含む、請求項1~3のいずれか1項に記載の、コンピュータに実装された方法。
【請求項5】
推奨されるアクションを、選択された特徴についての前記予測されたスコアに基づいて、前記プロセッサによって識別することを更に含む、請求項1~4のいずれか1項に記載の、コンピュータに実装された方法。
【請求項6】
各パーティションが、対応する解釈可能性モデルに関連付けられる、請求項1~5のいずれか1項に記載の、コンピュータに実装された方法。
【請求項7】
前記解釈可能性モデルがアテンションモデルである、請求項1~6のいずれか1項に記載の、コンピュータに実装された方法。
【請求項8】
システムであって、該システムが、
コンピュータ実行可能な命令を格納する少なくとも1つのメモリ;及び
前記少なくとも1つのメモリにアクセスし並びに解釈可能な予測を機械学習モデルから提供する為の方法を実行するように構成された少なくとも1つのプロセッサ
を備えており、前記方法が、
1以上の予測モデルによって使用される特徴の1組(X)の階層構造を表すところのデータ構造を、コンピューティングデバイスのプロセッサによって受信して、予測の1組(Y)を生成すること、
前記階層構造に基づいて解釈可能性を前記予測モデルの各予測Yiに割り当てることによって、前記予測モデルに対応する解釈可能性モデルを、前記プロセッサによって構築すること、ここで、前記解釈可能性を割り当てることが、
前記入力データの特徴の前記1組(X)を複数のパーティションXjへと前記階層構造を用いて、前記プロセッサによって分解すること、ここで、Xは下記の式で表される:
【数2】
Nは、パーティションの数である、
原子サブパーティションが得られるまで、前記複数のパーティションからの各パーティションを複数のサブパーティションへと前記階層構造を用いて、前記プロセッサによって分解すること、及び
記サブパーティション間の相互作用を、当該パーティションについての測スコアと当該パーティションのサブパーティションの予測されたスコアとの比較により、前記プロセッサによって計算すること
を含む、前記構築すること、並びに、
前記解釈可能性モデルに基づいて前記予測モデルによって提供される予測の解釈を、前記プロセッサによって出力すること、ここで、前記解釈は、前記予測を生成する為に前記予測モデルによって使用される前記1以上の特徴の重み付けを表す、
を含む、前記システム。
【請求項9】
特徴の前記パーティションが、前記入力データの相互に排他的な複数のサブセットである、請求項8に記載のシステム。
【請求項10】
前記方法が、前記入力データについての総合スコアを、各パーティションについての前記予測されたスコアに基づいて生成することを更に含む、請求項8又は9に記載のシステム。
【請求項11】
前記階層構造を生成することが、
1以上のエキスパートによってキュレーションされた産業データを受信すること、及び
前記産業データを特徴の前記パーティションへと構文解析し、そして前記複数のパーティション間の関連付けを作成することにより系統樹モデルを構築することによって、前記産業データを用いて前記階層構造を生成すること
を更に含む、請求項8~10のいずれか1項に記載のシステム。
【請求項12】
前記方法が、推奨されるアクションを、選択された特徴についての前記予測されたスコアに基づいて、前記プロセッサによって識別することを更に含む、請求項8~11のいずれか1項に記載のシステム。
【請求項13】
各パーティションが、対応する解釈可能性モデルに関連付けられている、請求項8に記載のシステム。
【請求項14】
前記解釈可能性モデルがアテンションモデルである、請求項8に記載のシステム。
【請求項15】
コンピュータプログラムであって、
1以上の予測モデルによって使用される特徴の1組(X)の階層構造を表すところのデータ構造を受信して、予測の1組(Y)を生成すること、
前記階層構造に基づいて解釈可能性を前記予測モデルの各予測Yiに割り当てることによって、前記予測モデルに対応する解釈可能性モデルを構築すること、ここで、前記解釈可能性を割り当てることが、
前記入力データの特徴の前記1組(X)を複数のパーティションXjへと前記階層構造を用いて分解すること、ここで、Xは下記の式で表される:
【数3】
Nは、パーティションの数である、
原子サブパーティションが得られるまで、前記複数のパーティションからの各パーティションを複数のサブパーティションへと前記階層構造を用いて分解すること、及び
記サブパーティション間の相互作用を、当該パーティションについての測スコアと当該パーティションのサブパーティションの予測されたスコアとの比較により計算するこ
を含む、前記構築すること、並びに、
前記解釈可能性モデルに基づいて前記予測モデルによって提供される予測の解釈を出力すること、ここで、前記解釈は、前記予測を生成する為に前記予測モデルによって使用される前記1以上の特徴の重み付けを表す、
を含む方法の各ステップをコンピューティングデバイスのプロセッサに実行させる、前記コンピュータプログラム。
【請求項16】
特徴の前記パーティションが、前記入力データの相互に排他的な複数のサブセットである、請求項15に記載のコンピュータプログラム。
【請求項17】
前記入力データについての総合スコアを、各パーティションについての前記予測されたスコアに基づいて生成することを前記プロセッサに実行させることを更に含む、請求項15に記載のコンピュータプログラム。
【請求項18】
前記階層構造を生成することが、
1以上のエキスパートによってキュレーションされた産業データを受信すること、及び
前記産業データを特徴の前記パーティションへと構文解析し、そして前記複数のパーティション間の関連付けを作成することにより系統樹モデルを構築することによって、前記産業データを用いて前記階層構造を生成すること
を更に含む、請求項15に記載のコンピュータプログラム。
【請求項19】
各パーティションが、対応する解釈可能性モデルに関連付けられている、請求項15に記載のコンピュータプログラム。
【請求項20】
前記解釈可能性モデルがアテンションモデルである、請求項15に記載のコンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【0001】
本開示は一般的に、プログラム可能なコンピュータに関し、より具体的には、異なる粒度へとグループ化された特徴であって、利用される該特徴の分解可能な階層構造を使用する予測モデルの1組を生成し、そして実行して、より容易に解釈されるところの結果を生成するように構成されたプログラム可能なコンピュータシステムに関する。
【0002】
多くの分野、例えば医療分野、で、データの分析を必要とし並びにその分析結果を将来のアクションの基礎として使用することを更に必要とするところのタスクを実行する為に、予測型(predictive)機械学習モデルの使用を取り入れようと試みている。一般的に、予測型機械学習モデルは、ニューラルネットワーク又は他の機械学習アルゴリズムによって生成され、そして実行され、それは、機械学習アルゴリズムの1組を実行するように構成されたプログラム可能なコンピュータとして実装されることができる。ニューラルネットワークは、様々な分野、例えば、神経生理学、認知科学/心理学、物理学(統計力学)、制御理論、コンピュータ科学、人工知能、統計学/数学、パターン認識、コンピュータビジョン、並列処理及びハードウェア(例えば、デジタル/アナログ/VLSI/光学)、からの知識を取り込んでいる。
【0003】
ニューラルネットワーク及び他の機械学習アルゴリズムの基本機能は、構造化されていないデータを一種の機械的知覚を通じて解釈することによって、パターンを認識することである。ネイティブ形式における該構造化されていない実ワールド(real-world)のデータ(例えば、画像、音声、テキスト、又は時系列データ)を、コンピュータによって理解され且つ操作されることができる数値フォーマット(例えば、大きさ及び方向を有するベクトル)に変換する。該機械学習アルゴリズムは、実ワールドデータベクトルに含まれているパターン(又は関係)が発見され、そして学習されるまで、実ワールドデータベクトルにおいて学習ベースの分析を複数回繰り返すことを実行する。学習されたパターン/関係は、様々なタスク、例えば、実ワールドデータの予測を包含する上記の様々なタスク、を実行する為に使用されることができるところの予測モデルとして機能する。予測タスクはしばしば、ラベルとデータとの間の相関関係を認識する為に、ニューラルネットワーク(すなわち、モデル)又は他の機械学習モデルを訓練する為に、ラベル付けされたデータセットの使用に依存する。これは、教師有り学習として知られている。
【0004】
単純な予測モデルは、一般的な線形モデル(linear models)又は決定木モデル(decision tree models)を用いて自明であるとすることができるが、より複雑化されたタスクの為に生成された機械学習モデルの結果は、より複雑化されたモデル構造の為に理解することが困難である可能性がある。複雑化されたタスク(例えば、オンライン投稿のセンチメント分析)を実行する為に開発された機械学習モデルは、該モデルに割り当てられたタスクと該モデルによって生成された結果との関係が明確でないという点で、しばしば「ブラックボックス」モデルである。しかしながら、タスクがより複雑になると、該モデルの結果と該モデルが実行するように設計されたタスクとの関係が不明確である可能性がある。
【発明の概要】
【課題を解決するための手段】
【0005】
解釈可能な予測を機械学習モデルから提供する為の、コンピュータに実装された方法は、1以上の予測モデルによって使用される特徴の1組(X)の階層構造を表すところのデータ構造を受信して、予測の1組(Y)を生成することを含む。該方法は、該階層構造に基づいて解釈可能性を該予測モデルの各予測Yiに割り当てることによって、該予測モデルに対応する解釈可能性モデルを構築することを含む。該解釈可能性を割り当てることが、該入力データの特徴の該1組(X)を複数のパーティションXjへと該階層構造を用いて分解することを含み、ここで、Xは下記の式で表される:
【数1】
Nは、パーティションの数である。更に、各パーティションは、原子サブパーティションが得られるまで、複数のサブパーティションへと該階層構造を用いて分解される。該サブパーティションの予測されたスコアの関数としての各パーティションについてのスコアが計算され、ここで、該予測されたスコアは、該複数のサブパーティション間の相互作用を表す。更に、該解釈可能性モデルに基づいて該予測モデルによって提供される予測の解釈が出力される。該解釈は、該予測を生成する為に該予測モデルによって使用される該1以上の特徴の重み付けを表す。
【0006】
本開示の他の実施態様は、コンピュータシステム及びコンピュータプログラム製品において、上述された方法の特徴を実装する。
【0007】
追加の技術的特徴及び利点は、本開示の技術を通じて実現される。本開示の実施態様及び観点は、本明細書において詳細に記載されており、並びに特許請求の範囲で請求された主題の一部とみなされる。より良く理解する為に、発明の詳細な説明及び添付の図面を参照されたい。
【0008】
本明細書において記載された排他的権利の具体的内容は、明細書と共に添付された特許請求の範囲において特に指摘され並びに明確に請求されている。本開示の実施態様の前述及び他の特徴並びに利点は、添付の図面と併せて採用される以下の発明の詳細な説明から明らかである。
【図面の簡単な説明】
【0009】
図1図1は、本発明の観点を実装する為に利用されることができる機械学習システムを図示する。
図2図2は、図1において示されている機械学習システムによって実装されることができる学習フェーズを図示する。
図3図3は、本発明の1以上の実施態様に従って構成され且つ配置された機械学習モデル及びコンポーネントの構成のブロック図を図示する。
図4図4は、本発明の1以上の実施態様に従う例示的な階層構造の例の説明を図示する。
図5図5は、本発明の1以上の実施態様に従う例示的な階層構造の例の説明を図示する。
図6図6は、本発明の1以上の実施態様に従って、所与の粒度で予測を訓練する為に使用されるアテンションモデルの例の説明を図示する。
図7図7は、本発明の1以上の実施態様に従う、階層構造を用いた訓練モデルの説明例を図示する。
図8図8は、本発明の1以上の実施態様に従う、直後の次のレベルの予測とのコースレベルにおける差に基づく要因の相互作用を定量化する説明例を図示する。
図9図9は、本発明の1以上の実施態様に従って、利用される特徴の分解可能な階層構造を使用して、より容易に解釈される結果を生成するところの予測モデルを生成し且つ実行する為の例示的なシステムの例示的な説明例を図示する。
図10図10は、本発明の1以上の実施態様に従う、分解可能な階層構造で解釈可能性を追加する為のアルゴリズムについての擬似コードの例示的な説明例を図示する。
図11図11は、本発明の1以上の実施態様に従って、分解可能な階層構造を用いて、解釈可能性を予測モデルに提供する方法のフロー図を図示する。
図12図12は、本発明の1以上の実施態様に従って、分解可能な階層構造を用いて、解釈可能性を予測モデルに提供する為の処理システムのブロック図を図示する。
【0010】
本明細書において描かれている図は、例示的なものである。本開示の精神から逸脱すること無しに、図、又は該図に記載された動作に多くの変形がある可能性がある。例えば、該アクションは異なる順序で実行されることができ、又は該アクションは追加され、削除され又は修正されることができる。また、語「接続された」及びその変形は、2つの要素の間に通信経路を有することを記載し、並びにそれらの間に介在する要素/接続無しに該要素間の直接接続を意味するものでない。これらの変形の全ては、本明細書の一部であるとみなされる。
【発明を実施するための形態】
【0011】
本開示は一般的に、解釈可能な結果を生成するように構成された分解可能な階層的層を有する予測モデルの為のシステム及び方法に向けられている。本明細書において記載されたシステム及び方法は、機械学習モデルからの結果と共に、ユーザ、例えば専門分野における意思決定者、によって容易に理解することができる解釈可能な結果を提供することに向けられている。該システムは、機械学習モデルによって生成された入力データセットから解釈可能な結果を生成することができる。該解釈された結果は、コンテキスト(context)、例えば、特定の予測に影響を与えた要因を識別するコンテキスト、を提供し、並びに明確且つ容易に理解できる様式でコンテキストと機械学習モデルの結果とを提示した。該システムは、該機械学習モデルによって生成された結果の重要な各要因に解釈可能性を付加する為に、分解可能なアプローチを利用する。該解釈された結果は様々な粒度で見られることができ、ユーザはコンテキスト上の推論及びコンテキスト上の根拠とともに提供される結果をより粒度の細かいレベルまでズームインすることを可能にする。
【0012】
本開示の実施態様は、分解可能な階層構造及びアテンションニューラルネットワークを使用して、解釈可能性を予測モデルに提供することに向けられている。非限定的な例示的な、コンピュータに実装された方法は、該階層構造の各層について複数の予測モデルを生成する為に、1以上のエキスパートによって作成された階層構造を使用することを含む。該階層構造の各層は、特徴のサブセットを含み、ここで、ルート層は、該階層構造によって考慮される特徴の全てを含む。各予測モデルは、対応する層からの特徴を使用して出力を予測する為に、アテンションニューラルネットワークを使用することができる。本発明の1以上の実施態様において、各層は更に、特徴のグループへと分割され、並びに各パーティションは、個々の予測モデルを訓練する為に使用される。各層からそのような複数の予測モデルを訓練することによって、最終的な予測された出力が、各パーティションに割り当てられるスコア又は値を用いて生成される。
【0013】
本発明の1以上の実施態様は、該階層構造に従って、入力データをパーティショニングすることを含む、コンピュータに実装された方法を含む。更に、該方法は、各パーティションについて、予測されたスコア又は値を提供することを含む。該方法は更に、該階層構造を用いて各パーティションをサブパーティションへと分解することを含むことができる。更に、該方法は、新しい予測されたスコア又は値を各サブパーティションに提供することを含む。該スコアは、アテンションニューラルネットワークモデルを使用することによって計算されることができる。更に、該方法は、予測モデルの総合スコア又は値に対する特徴(すなわち、特徴パーティション)の寄与を使用して、入力データに基づいて提供される予測の解釈可能性を提供することを含む。該解釈可能性は、パーティション及びそのサブパーティションのスコア又は値の相互作用として決定される。
【0014】
本発明の実施態様は、システム、コンピュータプログラム製品、及び他のタイプの実装を含む。従って、本明細書において記載される本発明の1以上の実施態様は、コンテキスト及び明確さを提供する為に、アテンションニューラルネットワークモデルによって生成された結果と共に、解釈可能な結果を提供することに向けられている。機械学習モデルによって生成された結果よりもアクセス可能であり且つ理解可能であるところの結果を提供することによって、ユーザは、該機械学習モデルによって生成された結果の明確な理解に基づいて、識別された状況の為にアクションを実行することができる。
【0015】
本発明の観点において、該システムは、産業知識のプロフェッショナル(例えば、識別された分野からの当業者)から産業データ(例えば、ベストプラクティス、属性及び特徴の識別、特徴間の関係等)を受け取るように構成されることができる。本発明の観点において、該システムは、産業データを使用して階層構造を構築し、該階層構造は、機械学習モデルによって生成された結果に解釈可能性を付加する為に、該システムの解釈可能性モデルによって使用されることができる。
【0016】
幾つかの例において、産業知識のプロフェッショナルは、特徴若しくは属性又はそれらの組み合わせの1組を「パーティション」として識別し、そして、ラベル付けしうる。パーティションはまた、履歴データを処理することによって機械学習モデルを用いて開発されることができる。本発明の観点において、該パーティションは、密接に関連する特徴の1組として構成される。例えば、医療分野において、患者のパーティションは、特徴若しくは属性又はそれらの組み合わせ、例えば、症状、病歴、年齢、性別、電話番号、住所等、を含むことができる。幾つかの例において、追加のモデルが、各パーティションからの寄与を表す為に使用されてもよく、その結果、特徴の全体の組が、該階層構造によって表される。
【0017】
本明細書において記載されたシステム及び方法は、分解可能なアプローチを使用して、機械学習モデルによって生成された結果に解釈可能性の層を追加することができる。本発明の観点において、該分解可能なアプローチは、該階層構造によって提供される理由付け及び根拠と共に提供されるところの結果に基づいて、ユーザがデータの特定のパーティションにズームインすることを可能にする。ユーザは、該階層構造を用いて提供される解釈データに従って解釈することができるところの結果のより明確な理解に基づいて、将来のアクションを開発する。
【0018】
簡潔さの為に、本発明の観点の製造及び使用に関連する慣用的な技術は、本明細書において詳細に説明されていてもよく又は詳細に説明されていなくてもよい。特に、本明細書において記載された様々な技術的特徴を実装する為のコンピューティングシステム及び特定のコンピュータプログラムの様々な観点は周知である。従って、簡潔さの為に、多くの慣用的な実装の詳細は、本明細書において簡単に言及されるだけであるか、又は周知のシステム若しくはプロセス又はそれらの組み合わせの詳細を提供すること無しに、完全に省略される。
【0019】
本明細書において記載された機能ユニットの多くは、モジュールとしてラベル付けされている。本発明の実施態様は、多種多様なモジュール実装に適用される。例えば、モジュールは、カスタムVLSI回路又はゲートアレイ;市販の半導体、例えば、論理チップ、トランジスタ又は他の個別的なコンポーネント、を含むように構成されたハードウェア回路として実装されることができる。モジュールはまた、プログラム可能なハードウェアデバイス、例えば、フィールドプログラム可能なゲートアレイ、プログラム可能なアレイロジック、プログラム可能なロジックデバイス、に実装されることが可能である。モジュールはまた、様々な種類のプロセッサによる実行の為にソフトウェアにおいて実装されることができる。実行可能なコードの識別されたモジュールは例えば、例えばオブジェクト、手順又は関数として編成されることができるところのコンピュータ命令の1以上の物理的ブロック又は論理的ブロックを備えていることができる。それにもかかわらず、識別されたモジュールの実行可能コードは、物理的に一緒に配置される必要はなく、異なる場所に格納された異種の命令を含むことができ、それらが論理的に一緒に結合される場合に、モジュールを含み、そして、該モジュールの為の所定の目的を達成することができる。
【0020】
以下では、図面を参照しながら、本発明の実施態様に従って、分解可能な階層構造を使用して、解釈可能性を予測モデルに提供する為の例示的なシステムの詳細な説明を提供するであろう。本発明の観点を実装する為に使用されることができる機械学習技術の一例が、図1及び図2を参照して記載されるであろう。本発明の実施態様に従って構成され且つ配置された機械学習モデルは、図3を参照して記載されるであろう。図4は、例示的な階層構造の一例を図示する。図6は、所定の粒度で予測を訓練する為に使用されるアテンションモデルの一例を示す説明を図示する。図7は、階層構造を用いてモデルを訓練する例示的な例を図示する。図8は、予測のコースレベルと直後の次の予測レベルとの差に基づく要因の相互作用を定量化する例示的な例を図示する。図9は、利用された特徴の分解可能な階層構造を使用して、より容易に解釈される結果を生成する予測モデルを生成し実行する為のシステムの例示的な実施例を図示する。図10は、分解可能な階層構造を用いて解釈可能性を追加する為のアルゴリズムの擬似コードの例示的な実施例を図示する。図11は、分解可能な階層構造を用いて、予測モデルに解釈可能性を提供する為の方法のフロー図を図示する。加えて、本明細書において記載されている複数の実施態様のうちの1以上を実装することができる例示的なコンピューティングシステム及びネットワークアーキテクチャの詳細な記載が、図12を参照して提供されるであろう。
【0021】
図1は、本明細書において記載されている本発明の様々な観点を実装することができるシステム100を示すブロック図を図示する。より具体的には、システム100の機能は、本発明の実施態様において、様々なモデル(例えば、図3において示されている予測モデル116及び解釈可能性モデル335)を生成する為に使用される。システム100は、予測器(predictor)110とネットワーク104を通じて通信している複数のデータソース102を備えている。本発明の幾つかの観点において、データソース102は、ネットワーク104をバイパスし、そして、予測器110へと直接的に供給されることができる。データソース102は、本発明の実施態様に従って、予測器110によって評価されるであろうデータ/情報入力を包含するところの入力データ120を提供する。データソース102はまた、予測器110によって生成された1以上のモデル116を訓練若しくは更新又は訓練且つ更新する為に、予測器110によって使用されることができるデータ/情報入力を提供する。データソース102は、リアルタイムデータを収集するように構成されたセンサ、データリポジトリ(訓練データリポジトリを含む)、及び他の予測器からの出力を含むがこれらに限定されない、多種多様なデータソースとして実装されることができる。ネットワーク104は、任意のタイプの通信ネットワーク、例えば、ローカルネットワーク、ワイドエリアネットワーク、プライベートネットワーク、インターネット等を包含するがこれらに限定されない上記の任意のタイプの通信ネットワーク、であることができる。
【0022】
予測器110は、プログラム可能なコンピュータ、例えば、1以上のアルゴリズムを実行するコンピュータシステム1100(図12において示されている)、であることができる。図1に示されているように、予測器110は、機械学習(ML:machine learning)アルゴリズム112;及びMLアルゴリズム112によって生成された(又は学習された)関係(又は予測)アルゴリズムである1以上のモデル116のスイートを含む。予測器110のアルゴリズム112若しくはモデル116又はそれらの組み合わせは、図示及び説明を容易にする為に、別々に描かれている。本発明の実施態様において、予測器110の様々なアルゴリズム112若しくはモデル116又はそれらの組み合わせによって実行される機能は、図示とは異なるように分散されることができる。例えば、予測器110がサブタスクを有する全体タスクを実行するように構成される場合、MLアルゴリズム112のスイートは、MLアルゴリズム112の一部が各サブタスクを実行し、並びにMLアルゴリズム112の一部が全体タスクを実行するようにセグメント化されることができる。
【0023】
MLアルゴリズム112は、データソース102から入力データ(すなわち、訓練データ及びデータ-アンダー-アナリシス(data-under-analysis))を受信し且つ評価する。MLアルゴリズム112は、入力データのフォーマットを解釈し且つ利用する為に必要な機能を含む。例えば、データソース102が画像データを含む場合に、MLアルゴリズム112は、画像データを解釈するように構成された視覚認識ソフトウェアを含むことができる。MLアルゴリズム112は、時間を掛けて、全体的なタスク及び予測器110が完了するように設計されているサブタスクをモデル化するところの1以上のモデル116を生成/訓練/更新する為に、受信した訓練データ(例えば、1以上のデータソース102から受信したデータ)に機械学習技術を適用する。
【0024】
ここで図2を参照すると、上述されたモデル116を生成する為にMLアルゴリズム112によって実行される学習段階200の一例が図示されている。学習段階200において、予測器110は、訓練データ205から特徴を抽出し、そして、該特徴を、MLアルゴリズム112によって認識され且つ分析されることができるところのベクトル表現に転換する。訓練データ205は、1以上のデータソース102から入力データ120の一部として受信されることができる。特徴ベクトル210は、訓練データ及びターゲットモデル(又は、モデルのタスク)を使用して1以上の結果を「予測」する為に、MLアルゴリズム112によって解析される。MLアルゴリズム112は、2つの訓練データ205における特徴間の及び2超の訓練データ205における特徴間の関係を明らかにすることを容易にする。MLアルゴリズム112の好適な実装の例は、アテンションニュートラルネットワーク及び一般的な加法的モデル(additive models)等を含むがこれらに限定されるものではない。MLアルゴリズム112によって実行される学習又は訓練は、本発明の1以上の実施態様において、教師有りであることができる。
【0025】
モデル116がMLアルゴリズム112によって十分に訓練される場合に、「実ワールド」(real world)データを生成するデータソースがアクセスされ、そして、「実ワールド」データがモデル116に適用されて、入力データ120の使用可能なバージョンを生成する。本発明の幾つかの実施態様において、入力データ120は、予測器110にフィードバックされ、そして、モデル116を更新若しくは改良若しくは更新且つ改良する為の追加の訓練データ205としてMLアルゴリズム112によって使用されることができる。
【0026】
本発明の観点において、MLアルゴリズム112及びモデル116は、予測器110によって出力される(130)特定の結果/決定の精度を向上させる為に、それらの結果/決定(入力データ120を含む)の様々なものに信頼度(CL:confidence level)を適用するように構成されていることができる。MLアルゴリズム112若しくはモデル116又はそれらの組み合わせは、CLの値が所定の閾値(TH:threshold)を下回る(すなわち、CL<TH)かの決定を行うか又は下回ることの結果を生成する場合、予測結果130は、該予測結果130が有効ではないという結論を正当化する為に十分に低い「信頼性」を有するものとして分類されることができ、この結論は、予測結果130が下流処理において、いつ扱われるか若しくはどのように扱われるか又はいつそしてどのように扱われるかを決定する為に使用されることができる。CL>THの場合、予測結果130は有効であるとみなされることができ、この結論は、予測結果130が下流処理において、いつ扱われるか若しくはどのように扱われるか又はいつそしてどのように扱われるかを決定する為に使用されることができる。多くの異なる所定のTHレベルが提供されることができる。CL>THを有する決定/結果は、該決定/結果が下流処理において、いつ扱われるか若しくはどのように扱われるか又はいつそしてどのように扱われるかを優先する為に、最高のCL>THから最低のCL>THまでランク付けされることができる。
【0027】
本発明の観点において、予測器110は、信頼度(CL)を入力データ120に適用するように構成されていることができる。予測器110が、入力データ120におけるCLが所定の閾値(TH)を下回る(すなわち、CL<TH)と判断した場合、入力データ120は、該入力データ120における「信頼性なし」という分類を正当化するのに十分に低いものとして分類されることができる。CL>THの場合、入力データ120は、入力データ120が有効であるという判断を正当化するのに十分に高いものとして分類されることができる。CL>THを有する入力データ120を最高のCL>THから最低のCL>THまでランク付けされることができるように、多くの異なる所定のTHレベルが提供されることができる。
【0028】
予測器110によって、より具体的にはMLアルゴリズム112によって、実行される機能は、重み付けされた有向グラフとして編成されることができ、ここで、該ノードは人工ニューロン(例えば、人間の脳のニューロンをモデルとしている)であり、重み付けされた有向エッジはノードを接続する。予測器110の有向グラフは、或るノードが入力層ノードを形成し、或るノードが隠れ層ノードを形成し、或るノードが出力層ノードを形成するように編成されることができる。入力層ノードは、隠れ層ノードに結合し、隠れ層ノードは、出力層ノードに接続する。各ノードは隣接する層における全てのノードと複数の接続経路によって接続され、該接続経路は、それぞれが接続強度を有する方向矢印として描かれることができる。複数の入力層、複数の隠れ層、及び複数の出力層が用意されることができる。複数の隠れ層が提供される場合、予測器110は、予測器110の1以上の割り当てられたタスクを実行する為の教師無しディープラーニングを実行することができる。
【0029】
人間の脳の機能と同様に、各入力層ノードは接続強度の調整もノード和もない状態で入力を受信する。各隠れ層ノードは、関連する接続経路に関連付けられた接続強度に従って、全ての入力層ノードからその入力を受信する。同様の接続強度の乗算とノード和が、隠れ層ノード及び出力層ノードの為に行われる。
【0030】
予測器110の重み付き有向グラフは、データレコード(例えば、データソース102からの出力)を一度に1つずつ処理し、そして、該重み付き有向グラフは、レコードの初期の任意の予測を該レコードの既知の実際の予測と比較することによって「学習」する。「バックプロパゲーション」(back-propagation)(すなわち、「誤差の逆伝播」)として知られる学習方法を用いて、該最初のレコードの該最初の予測からの誤差が、予測器110の重み付き有向グラフへとフィードバックされ、そして、2回目に該重み付き有向グラフの重み付き接続を修正する為に使用され、そして、このフィードバックプロセスは多くの反復の為に継続される。予測器110の重み付き有向グラフの訓練段階において、各レコードについての正しい予測は知られており、それ故に、出力ノードは、「正しい」値を割り当てることができる。例えば、正しいクラスに対応するノードについて「1」(又は0.9)のノード値が割り当てられ、それ以外のノードについて「0」(又は0.1)のノード値が割り当てられる。従って、重み付き有向グラフの出力ノードの計算値をこの「正しい」値と比較して、各ノードについての誤差項を計算する(すなわち、「デルタ」ルール)ことが可能である。次に、これらの誤差項が、隠れ層の重みを調整する為に使用され、従って、次の繰り返しにおいて、出力値が「正しい」値に近づくであろう。
【0031】
そのような予測モデルベースのデータを実装するところの既存のシステムでの技術的挑戦は、入力データ120における全ての特徴が単一の予測モデルを構築する為に使用されることである。予測モデルは機械学習技術を使用して構築されるので、予測結果130を生成する場合の複数の特徴間の相互作用は、容易に判別できない可能性がある。更に、既存の解決策において、予測システム100は、予測結果130を生成する為に1以上の特徴の間の相互作用を使用するようにプログラムされることができない。本発明の実施態様は、階層構造113を使用することによって、そのような技術的挑戦に対処する。階層構造113は、1以上のエキスパートにより予め定義され、又は1以上のエキスパートによるデータ解釈をキュレーションすることによって定義されることができる。ここで、該エキスパートは、予測器110が予測モデル116に基づいて予測結果130を生成する為に使用するところの入力データ120のドメイン/分野における主題エキスパートを包含する。本発明の1以上の実施態様において、予測モデル116は、階層構造113を使用して生成される。予測器110は、階層構造113を使用することによって、予測結果130を生成する為に使用されるところの予測モデル116の解釈可能性を更に提供することができる。
【0032】
階層構造113は、入力データ120の一部として予測器110へ入力されることができる。代替的に又は追加的に、階層構造113は、入力データとは独立して、予測器110へ直接的に入力される。
【0033】
図3は、本発明の実施態様に従う機械学習モデル及びシステム100の構成要素の構成のブロック図である。図3は、図1に図示されているシステム100の異なる図を図示する。システム100は、様々な方法において実装されることができる。以下により詳細に説明されるように、本明細書に記載されるモジュールのうちの1以上は、コンピューティングデバイス(例えば、図12において示されているコンピュータシステム1100)の少なくとも1つのプロセッサによって実行される場合に、システム100が分解可能階層構造を使用して、解釈可能性を予測モデルに提供することを可能にすることができる。例えば、本明細書においてより詳細に説明されているように、例示的なシステム100は、1以上のデータソース102から、履歴データ310を受け取ることができる。履歴データ310は、産業における1以上のシステムから収集されたデータ、例えば、ユーザ;実行されたアクション;及び対応する結果;特徴間若しくは属性間又は特性と属性との間の関係データ等、を包含することができる。履歴データ310は、指定された期間から、異なるシステム又はエンティティ等から収集されることができる。幾つかの例において、履歴データ310は、1以上の予測モデル116を訓練する為に、予測モジュール315によって使用されることができる。履歴データ310は、予測モジュール315によって実行される予測モデル116によって1以上の予測を生成する為に使用されることができるところの現在のデータを包含する。
【0034】
幾つかの例において、予測モジュール315は、履歴データ310を受信し、若しくは履歴データ310にアクセスし、又は履歴データ310を受信し且つアクセスする。履歴データ310は、予め定義された部分において予測モジュール315によって受信されることができ、又は履歴データ310がシステム100によって受信されるように受信されることができる。幾つかの例では、予測モジュール315は、異なる種類の予測モデル116、例えば、多層パーセプトロン(MLP:multilayer perceptron)モデル、アテンションモデル、畳み込みニューラルネットワーク(CNN:convolutional neural network)、又は任意の他の機械学習技術、を訓練することができる。予測モジュール315は、特定の入力値の為に、期待された予測を含む訓練データ205を使用して、1以上の予測モデル116を訓練する。入力データ120とは別に描かれているが、訓練データ205は、入力データ120の一部であることができる。予測モデル116それぞれは、入力データ120の特徴のサブセットに対して動作して、個々の予測を生成する。該予測は、最終的な予測結果130を生成する為に一緒にされることができる。代替的に又は追加的に、本発明の1以上の実施態様において、複数の予測モデル116うちの1つは、特徴の全てに対して動作して、最終的な予測結果130を生成し、一方、他の予測モデル116は、予測結果130の解釈可能性を決定する為に使用される。複数の予測モデル116の間での複数の特徴の分離が、階層構造113に基づいて行われる。
【0035】
本発明の1以上の実施態様において、予測モジュール315は、システム100のエキスパート階層113を使用して、解釈可能性モデル335を生成する。解釈可能性モデル335は、1以上の予測モデル116の間の相互作用スコアを決定する為に訓練される。順番に、解釈可能性モデル335は、訓練されて、個々の予測モデル116によって使用されるところの特徴のサブセットの為に相互作用スコアを決定する。
【0036】
予測モデル116及び解釈可能性モデル335が一旦訓練されると、予測モジュール315は、「ライブ」データ、すなわち結果が未知であるところの入力データ120を用いて、予測結果130を生成する為に使用される。例えば、或る産業からのユーザは、産業データをシステム100への入力として提供しうる。産業データは、データストア内に格納されることができ、若しくは直接的に提供されることができ、又はデータストア内に格納され且つ直接的に提供されることができる。産業データは、産業のベストプラクティス、産業の様々な観点の特徴及び属性(例えば、ユーザの人口統計、取引、相互作用、財務情報、リスク評価等)等を包含する。産業データ305はまた、提供される情報間の関係情報を包含することができる。
【0037】
システム100は、産業データ若しくは産業データへのアクセス又は産業データと産業データへのアクセスとを受信し、そして、階層構造113に基づいて予測モデル116の為の異なる粒度を有するモデル入力を生成する。幾つかの例において、階層構造113は、データ構造、例えば木構造、である。該木構造の各レベルは、1以上のパーティションを含む。各パーティションは、同じデータソースに属し若しくは類似の特性(例えば、産業特性、データ属性等)を有し又は同じデータソースに属し且つ類似の特性を有する特徴の1組である。パーティショニングは、異なる実施態様において変化することができる様々な要因に基づいて行われることができ、そのような要因の全てが本明細書において記載されていないことが理解される。階層構造113の異なるレベルは、同じデータの異なる粒度を提供する。階層構造113の該木構造の最上部での特徴は、異なるパーティションからの全ての利用可能な特徴の組み合わせとすることができる。階層構造113のレベルは、ユーザによって指定され、若しくは機械学習モデル、例えば予測モデル116、によって生成される目標結果の為にコンテキストとして提供する推論の深さの必要性に基づいて、又はそれらの組み合わせによって指定される。
【0038】
本発明の1以上の実施態様において、解釈可能性モデル335は、入力データ120に基づいて、解釈されたデータ340を生成する為に階層構造113を使用するところのアテンション予測モデルの1組を含む。解釈されたデータ340は、予測モデル116の1組からの予測スコア又は出力に関連付けられた情報を包含する。解釈されたデータ340は、入力データ120における特徴の該パーティション、及び階層構造113に基づいて特徴の該パーティションを形成することに関連付けられた解釈可能な推論、該階層構造に基づいて入力データ120において識別される特徴若しくは属性又はそれらの組み合わせの1以上のパーティション(及び/又はサブパーティション)の為に生成される予測スコア又は値、入力データ120に影響を与えた要因の識別等を更に包含することができる。解釈されたデータ340は、階層構造における特徴又はパーティションに関連付けられたスコア、並びに入力データ120のパーティショニングに追加のコンテキストを提供する為のコンテキスト推論及び説明を提供することができる。システムのユーザは、解釈されたデータ340を使用して、解釈可能なアテンション(例えば、重み)を作成し、そして、本明細書において記載されているように、アテンション(又は、重み)から適切な制御可能なアクションを識別することができる。
【0039】
図4は、本開示の1以上の実施態様に従った例示的な階層構造113の説明を図示する。階層構造113は、予測結果130を生成する為に予測モデル116によって使用されるところの入力データ120に適用される分解可能なアプローチを用いて、階層の全てのレベルで解釈可能性を提供する為に使用されるデータ構造である。幾つかの例において、階層構造113は、産業のベストプラクティスに基づき、それは、システム100に提供される産業データの一部として産業のユーザによって提供されることができ、若しくは1以上のMLアルゴリズム112を用いて履歴データ310から生成されることができ、又はそれらの組み合わせが実行されることができる。
【0040】
階層構造113の各層において、幾つかのパーティション又は特徴のグループが存在する。各特徴は、結果を予測する為のスコアに関連付けられている。予測結果130の総合スコアは、特徴の各パーティション(及びサブパーティション)からの結果の加重平均であることができる。
【0041】
図4において示されている例において、階層構造113のルートノード410は、全ての特徴を示し、それらは、木データ構造の下位レベルで、3つにパーティション、すなわち、病歴パーティション420、患者プロファイルパーティション430及び患者の挙動プロファイルパーティション440、へとパーティショニングされている。各パーティションは、関連する特徴の1組の親である。例えば、病歴パーティション420は、以下の特徴、すなわち、診断パーティション422、家族歴パーティション424、及び投薬管理パーティション426、の親である。患者プロファイルパーティション430は、個人パーティション432(それは、年齢属性433及び性別属性434の親である)並びにアカウントパーティション436(それは、保険属性437及びオフィス訪問属性438の親である)を含む。患者挙動プロファイルパーティション440は、フォローアップパーティション442及び相互作用パーティション444の親である。階層構造113の異なるレベル、すなわち450、460、及び470、の各々は、粒度及び詳細の異なるレベルを表す。「レベル」は「パーティション」とは異なること、並びにレベルは1以上のパーティションを含むことができることに留意されたい。例えば、レベル450におけるパーティションの1つである患者プロファイルパーティション430は、患者に関する異なる観点、例えば、該患者の人口統計学的情報並びに該患者のアカウント情報、を包含する。レベル450では、患者に関連する全ての特徴が、患者プロファイルパーティション430によって示されているが、情報が更に下位のレベル(例えば、レベル460及びレベル470)へと分割されるにつれて、患者に係る情報はより詳細になる。例えば、レベル470には、患者の年齢及び性別が格納され、並びにそれぞれ患者の年齢又は性別の具体的な値を示す。該階層構造におけるレベルの数は、該階層構造の生成中にユーザによって設計されることができ、並びに予測モデル116によって出力される予測結果130の為のコンテキストとして提供する推論の深さの為の必要性に依存することができる。
【0042】
図4に示されている階層構造113は、患者データの例示的シナリオにおける1つのありうる例であること、並びに同じ例示的シナリオにおいて、階層構造113の様々な他の表現が生成されることができることに留意されるべきである。更に、他の例示的シナリオ、例えば、金融データ、業務運用データ、画像認識データ、自動化運転データ、又は機械学習によって処理されるべき任意の他のタイプのデータにおいて、異なる階層構造が作成されることができる。幾つかの例において、ユーザは、例えば、異なるデータセットを使用して既存のパーティションをインスタンス化することによって、階層構造113に新しいパーティションを追加することができる。
【0043】
図5は、本発明の1以上の実施態様に従う階層構造113の視覚的表現を図示された階層構造113は、図4において図示された構造のビューとは異なる別のビューである。ここでは、全てのレベル(L0~L4)が同じデータに対して異なる粒度を提供すること、並びに、各レベルが異なる様式で分割されることができることを示す為の表現がまた提供される。例えば、図5において、L0は、何らのパーティション無しに最上位のレイヤーを表す。更に、複数の層、例えばL2、L3及びL4、は、パーティションを有する。最下層のL4は、原子特徴f_01、f_02、...、f_13を含む。ここで、「原子特徴」は、更に分解/詳細化されないデータを表す。なお、パーティションの数、サブパーティションの数及びレイヤーの数は、他の例において変わることができることに留意されるべきである。
【0044】
この例において、階層構造において4つのレベル、すなわちL1、L2、L3及びL4、がある。各レベルは、特徴グループであるパーティションの対応する数を有する。各レベルは、予測モデル116の中から、予測モデルとして、それぞれのアテンションモデルを有する。各個々の予測モデル116は、同じ入力データを利用するが、異なる粒度にグループ化されて、出力スコアを生成する。各レベルについてのアテンションモデルの出力スコアは、そのレベルからの各パーティションの重み付けを表す。入力データ120の所与のインスタンスについて、各予測モデルは、階層構造113における各レベルについてスコアを生成する。総合スコアは、各グループの重み付けされたスコアの加重平均である。原子特徴f_01~f_13は、最下位レベル(L4以下)で図示されている。レベルL1~L4のそれぞれにおけるパーティションは、これらの特徴を異なる組み合わせでグループ化する。図5において示されている例示的なグループ化は、本明細書における表1において提供されているように表されることができる。
【0045】
【表1】
【0046】
第1のレベルであるL1は、単一のグループにおいて特徴f01~f13の全てを含むが、第2のレベルであるL2は特徴を3つのグループへと分割し、第3のレベルであるL3は特徴を5つのグループへと分割し、第4のレベルであるL4は7つのグループを含む。上記に見られる通り、或るレベルにおけるグループは、他のレベルにおける分割とは異なる方法において特徴を分割する。
【0047】
図6は、本開示の1以上の実施態様に従って、所与の粒度で予測を訓練する為に使用されるアテンションモデル500の1つの例の説明図を示す。幾つかの例において、解釈可能性モデル335は、階層構造113の粒度の指定されたレベルで予測を訓練する為に使用されるアテンションモデル500であることができる。幾つかの例において、解釈可能性モデル335は、入力変数510が、エキスパートネットワーク、例えば、エキスパートネットワーク505A、505B、505C(集合的に505と言う)、であることができるところのアテンションモデル500であることができる。エキスパートネットワーク505は、ニューラルネットワークであることができる。本発明の1以上の実施態様において、エキスパートネットワーク505は、予測モデル116である。アテンションモデル500は、ゲーティングネットワーク(gating network)を使用して、滑らかなソフトアテンション関数を使用することができる。アテンションモデル500の入力変数510は、所定のエキスパートネットワークの為の多数の変数を含むことができる。各エキスパートネットワーク505は、入力属性、又は入力属性のグループを表す。幾つかの例において、入力変数510は、複数のアレイのうちの1つのアレイとして提供されることができる。エキスパートネットワーク505は、1以上の活性化関数515A、515B及び515C(総称して515と云う)に対する入力であることができる。活性化関数は、1つの入力又は複数の入力の1組を与えられた出力、例えばエキスパートネットワーク505、を定義することができる。活性化関数515の例は、tanh関数、正規化線形ユニット(ReLU:rectified linear unit)関数、ソフトマックス関数(softargmax又は正規化指数関数としてまた知られている)を包含するが、これらに限定されない。活性化関数515の出力は、アテンションモデル500によって予測されるべき多くの変数を含むことができる。アテンションモデル500は、活性化関数515の出力に対してハイパーパラメータ自動調整520を使用することができる。ハイパーパラメータ自動調整520は、検証データセットを用いて、グリッドサーチ、ランダムサーチ、及び指数学習(exponential learning)を包含することができる技術のアンサンブルを用いて実行されることができる。訓練目的の為に、解釈可能性モデル335は、初期化におけるランダム性を処理する為に、最良のハイパーパラメータ値及び確率的勾配アプローチ(stochastic gradient approach)並びに複数の訓練ストリームを使用することができる。本発明の1以上の実施態様において、解釈可能な結果は、少なくとも以下のものに基づいて計算される:1)グループ化された他の特徴のスコア/影響を考慮すること無しに、単一の特徴の為のモデルのスコア又は値、並びに2)スコア(値)及び対応する重みの積として、グループ化された特徴の各セットの寄与度。特徴のグループの相互作用は、特徴のグループ化の2つのレベル(下位レベルはより分割され、別の層は互いにグループ化されている)から2つのモデルの出力の比較によって計算される。
【0048】
図7は、本発明の1以上の実施態様に従って、階層構造を用いてモデル600を訓練することの例示的な例を図示する。幾つかの例において、モデル600は、アテンションモデリングアプローチと、パーティション及び階層構造113を用いて訓練されて、該特徴をパーティションへと分解し、解釈可能性をパーティション及び特徴に与える。訓練されたモデルを使用する予測は、多層パーセプトロンを使用することができる。該モデルを訓練し且つ該特徴に対して分解を行うことによって、該システムは、特徴の解釈可能性をユーザに提供することができる。該特徴を異なるレベルでパーティションへと分解することは、特徴のパーティションとレベルとの間の相互作用、及びパーティション若しくは特徴又はそれらの組み合わせが特徴の異なるレベル(例えば、図5におけるレベル1、レベル2等)にどのように影響するかを識別することを可能にする。幾つかの例において、特徴の該パーティションの相互作用が、2つのレベルのパーティショングループ化(例えば、下位層が更にパーティション化される等)の為に2つのモデルの出力の比較によって計算される。
【0049】
該モデルのレベル1(図5におけるL1)は、訓練モデルの全特徴を表す。特徴は、L2において、特徴の2以上のパーティションへと分解される(図5)。この場合、2つのパーティション、すなわちE1 610及びE2 620が図示されている。全ての特徴は、レベル1でのノード605によって表されている。該特徴は、レベル2で、E1 610とE2 615へとパーティショニングされる。このセットアップにおける3つのパーティションを使用して、全ての特徴についてのパーティション605の為の第1の予測モデルの為に、パーティションE1 610の為の第2の予測モデルの為に、及びパーティションE2 615の為の第3の予測モデルの為に、個々の予測モデル116が訓練される。更に、各パーティションについてのスコアが、学習モデルにおけるその影響又は相互作用値を表すように生成されることを保証しながら、特徴セット全体についての総合スコアを得る為に、アテンションモデルは、異なる分解されたパーティションの為にアンサンブルアプローチを使用することができる。該アテンションモデルは、解釈可能性モデル335を表す。該総合スコアは、重みを異なるパーティションに適用することによって計算されることができる(例えば、E1 610について0.4、並びにE2 615について0.6)。幾つかの例において、該重みは一定ではなく、並びに異なる理由(例えば、クライアントのニーズ、ターゲットとされたオブジェクト等)の為に変更され又は修正される。該訓練モデルは、分解する為の更なる要因がなくなるまで(符号620)、図5内の例示的な階層構造113におけるL4まで、各レベルについての工程を繰り返すことができる。本明細書における図において示されている重み値、パーティションの数、及び他の明細は例示的なものであり、並びに他の実施態様において、そのような値は変化することができることが留意されるべきである。
【0050】
図8は、本発明の1以上の実施態様に従って、直後の次のレベルの予測とのコースレベルにおける差に基づく複数の要因の相互作用を定量化する例示的な例700を図示する。幾つかの例において、システム100は、階層構造113を使用して解釈可能性モデル335を訓練することができる。解釈可能性モデル335は、2つ以上の要因(x1及びx2)の相互作用を定量化する。ここで、「要因」(factors)は、相互作用が決定されているところの特徴のグループを含むことができる。例えば、該解釈可能性モデルは、パーティションE1 610とパーティションE2 615との相互作用を定量化する(図7を参照)。レベル1のノード710は、予測モデル116によって使用されている入力データ120の全組を表す。入力データ120は、異なるパーティション、すなわちE1 715及びE2 720、へとパーティションされることができる。表702において図示されているように、レベル1は入力データ120を表し、並びにレベル2はパーティションE1 715及びE2 720を表す。データの各パーティションは、そのパーティションから結果として生じる結果を決定し並びに関連付けられた解釈可能性を決定する為に処理される。本発明の1以上の実施態様において、そのような解釈可能性を第1のパーティションと共に決定し並びに関連付ける為に使用されるところの解釈可能性モジュール335は、第2のパーティションの為に使用されるところの解釈可能性モデル335と異なることができる。すなわち、入力データ120内の特徴の解釈可能性及び相互作用を発見する為に、解釈可能性モデル335の1組が使用されることができる。例えば、該1組は、各パーティションの為に別々の解釈可能性モデル335をそれぞれ含む。代替的には、各パーティションは、該1組からの複数の解釈可能性モデル335を使用して解釈可能性情報に関連付けられることができる。
【0051】
図8のシナリオ例では、該階層構造は2つの層、すなわちL1及びL2、を有する。入力データ120は、モデルh0(x1,x2)及びアテンション(又は重み)の1.0を使用して処理される。層L2のE1 715は、モデルf1(x1)及びアテンション(重み)w1を用いて処理され、一方L2のE2 720は、モデルg1(x2)とアテンションw2を用いて処理される。ここで、h0、f1及びg1はそれらのパーティションに関連付けられた予測モデル116を表す。2つのパーティションE1 715とE2 720と間の相互作用は、下記の式で示されることができる。
【数2】
【0052】
図9は、本発明の更に多くの実施態様に従って、利用された特徴の分解可能な階層構造を使用して、より容易に解釈される結果を生成するところの予測モデルを生成し実行する為のシステムの例示的な例を図示する。システム100は、予測モデル116が、それらが訓練されているところの特徴のグループに基づいて個々の予測を生成するように訓練されているものと考えられる。更に、解釈可能性モデル335はまた、階層構造113における各レベルにおける各パーティション間の相互作用スコアを決定するように訓練される。該産業データは、システム800への入力データ120として使用される。産業データ305は、データストアに格納されることができ、若しくはシステム100へ直接的に提供されることができ、又はデータストアに格納され且つシステム100へ直接的に提供されることができる。該産業データは、提供される特徴情報間の関係情報を含むことができ、並びにシステム100が処理して予測結果130を生成するように訓練された所定の方法で構造化されている。階層構造113はまた、解釈可能性がまた予測結果130と共に提供されることができるように、入力データ120をパーティショニングする為にシステム100に提供される。
【0053】
予測モジュール315は、入力データ120を処理する為に1以上の予測モデル116を使用して、トレーニングに従って予測及び他の結果を生成する。予測モジュール315からの予測は、その正確さにも拘わらず理解することが困難である可能性があり、並びに入力データ120における1以上の特徴若しくは特徴のグループ(すなわち、パーティション)又はそれらの組み合わせが、予測モデル116によって使用されて予測結果130を生成する方法についてのコンテキストを提供しない場合がある。代替的に又はそれに加えて、予測結果130が示すものを解釈することが困難である場合がある。
【0054】
幾つかの例示的な実施態様において、システム100は、入力データ120を受信し、そして、解釈可能性を追加することができる。システム100は、予測モジュール315によって生成された入力データ120を、階層構造113に従って特徴のパーティションへとパーティショニングすることができる。入力データ120は、予測モデル116の各々に対して別々にパーティショニングされる。前述されているように、階層構造113の各レベルにおける各パーティションは、それ自身の対応する予測モデル116を有する。更に、各パーティションは、該特徴が原子的であるとみなされる最後のレベルまで、次の(後続の)レベルにおいてサブパーティションへと分割されることができる。従って、入力データ120は、階層構造113における最後のレベルまで、特徴の互いに排他的な複数の組に更にパーティショニングされる。全てのパーティションは、一緒にされた場合に(例えば、ユニオン操作)、入力データ120の特徴の完全なカバレッジを提供する。
【0055】
該階層構造の各レベルでの解釈可能性モデル335は、各パーティションの為に予測スコアを提供することができるところのアテンションモデルであることができる。該パーティションが分類又は回帰技法を使用して生成されるかどうかに依存して、解釈可能性モデル335は、グループ化された特徴の各パーティションの為にスコアを生成することができる。パーティション(すなわち、特徴のグループ)の予測スコアは、入力データ内の他の特徴を考慮すること無しに、最終的な予測結果130におけるそのパーティションの定量化された影響力として解釈されることができる。解釈可能性モデル335は、重み付けアプローチに基づいて予測結果130の総合スコアを生成することができ、ここで、複数のパーティション(及び複数のサブパーティション)の各々が重み付けされ、そして、全ての重み付けされたスコアが総合スコアを計算する為に使用される。該パーティションに適用される重みは、異なる複数の要因に基づくことができ、並びに該複数のパーティションの各々について負でない値(non-negative value)である。幾つかの例において、異なるパーティションの為に使用される異なる重みの合計は、1に等しい。幾つかの例において、全体の予測結果130に対する特徴の所与のパーティションの寄与は、その重みにそのスコアを掛けたものである。
【0056】
図9において図示されているように、システム100は、入力データ120を受信する。入力データ120からの全ての特徴は、レベルL1 y0 815で表され、それは、入力データ120の全ての特徴を含む。システム100は、例えば、予測モデル若しくは解釈可能性モデル335又はそれらの組み合わせによって、階層構造113における各レベルの為に入力データ120を処理する。本発明の1以上の実施態様において、入力データ120における各レベルは、階層構造113における各レベルに従って反復的に処理される。入力データ120は、レベルy1 820で相互に排他的なサブパーティションへと分解され、そして、そのような処理が行われるにつれて、スコアが、各パーティション又はサブパーティションの為に生成される。システム100は、入力データ120を処理し、特徴を異なる複数のレベル(例えば、y0 815、y1 820、y2 830等)でパーティション及びサブパーティションへと分解し、そして、該特徴が分解されることができなくなるまで各パーティション(及びサブパーティション)の為にスコアを発生させる。該スコアと特徴のパーティションとは、入力データ120から生成された分解された異なる複数のパーティションと複数のサブパーティションに基づいて、異なる粒度レベルで入力データ120の解釈可能性を提供する為に使用される。
【0057】
図10は、本発明の1以上の実施態様に従って、解釈可能性を分解可能な階層構造で付加する為のアルゴリズムについての疑似コード900の例示的な例を図示する。疑似コード900は、特徴のパーティションへの分解がどのように実行され、並びに複数のパーティション間の相互作用がどのように計算されるかを図示する。該相互作用は、解釈可能性を該特徴に提供し、並びに異なるパーティションが他のパーティション、及び特徴セットの総合的スコアにどのように影響を与えることができるかを提供する。
【0058】
該アルゴリズムは、頂部から底部への幅優先トラバーサル(breadth-first traversal)を有する階層構造113ごとのツリーウォーク(tree walk)であることができる。該アルゴリズムの第1の工程は、エキスパートモデルとして階層構造113を使用すること、及び階層構造113に従って訓練データ205をパーティショニングすることを含むことができる。次の工程において、訓練データ205は、予測モデル116を構築する為に使用される。各パーティションにYをY_に割り当てることができ、ここで、Y_はそのパーティションについてのTRUEターゲット又は期待される予測結果である。或るパーティションが、下記の式の特徴セットを含むことを考えてみる。
【数3】
ここで、kは、入力データ120における選択された特徴の総数である。予測モデル116([{X},{Y}])は、該パーティションの為に、予測された結果Y0を用いて構築されることができる。複数のパーティションのそれぞれの為の幾つかの予測モデル116が、このようにしてそれぞれ生成されることができる。
【0059】
第3の工程は、解釈可能性を予測モデル116に割り当てる為の繰り返し工程であることができる。例えば、予測モデル116は、(1以上の特徴の全てを含む)最上位のパーティションの為に選択され、並びに、下記の既知の結果を有する。
【数4】
最上位のパーティションの為の分解ループは、階層構造113を通じてツリーウォークを開始することによって実行される。該分解ループは、遭遇された後続の各パーティションの為に反復される。階層構造113がパーティショニングされる様式の為に、後続のパーティションの全ては、最上位レベル(L0)にある最初のパーティションのサブセットであるべきことに留意されたい。選択されたパーティションにおける特徴の分解は、以下の工程を取ることを含む。
1.下記の特徴の1組Xの分解
【数5】
a.該入力は選択されたパーティションにおける特徴の1組であり、該特徴は相互に排他的なサブセットへとパーティショニングされる。
【数6】
b.同レベル及び選択されたターゲットY1における残りのパーティションを用いて、該選択されたパーティションの為に、解釈可能なモデル335を構築する。
【数7】
【0060】
上記された工程が、階層構造113における最後のレベルが到達するまで、各パーティションについて繰り返される。
【0061】
幾つかの例示的な実施態様において、加法的(additive)(又は、対数加法的(logarithmic additive))モデリングアプローチが用いられる解釈可能性を有する現在のモデルが利用される、上部から下部へのアプローチ(top-to-bottom approach)が利用される。各要因(例えば、特徴のパーティション)は、最終的なスコア又は値(例えば、予測又は確率)に寄与する。各要因の寄与は、重み、及び各要因に関連付けられたスコアの乗算である。幾つかの例において、各要因に使用される重みは、定数値であることができる。幾つかの例において、重みは、クライアント又はサンプルの異なるニーズに基づいて動的に調整されることができる。
【0062】
上部から下部へのアプローチの弱点として、加法的モデル(additive model)は典型的に、制約のあるモデルアーキテクチャを有する為に、それは該モデルの精度を制限する可能性があることが挙げられることができる。関与する要因(すなわち、パーティション)があまりにも多い場合、各要因の寄与が他の要因による影響を受けてネガティブになる可能性がある。或る場合には、同じカテゴリーに属する複数の要因の収集された影響(例えば、相互作用)を特定することが困難である可能性がある。
【0063】
幾つかの例示的な実施態様において、加法モデルの弱点は、階層構造113を有する複数の要因の相互作用を含むことによって、抑制することができる。該加法モデルは、産業知識プロフェッショナルから要求される粒度によって使用されることができる。
【0064】
幾つかの例において、システム100は、解釈可能性モデル335を訓練する為に使用される入力データ120の選択肢を決定する。例えば、第1の選択肢において、システム100は、以前に訓練されたモデルの結果を使用する選択肢を選択し、それは統計的結果から外れ値を取り除くが、真の(正確な)結果から遠ざかるものである。第2の選択肢において、システム100は、MLP訓練モデルの結果を使用することを選択する。これは、入力データ120の全ての特徴を用いた統計的評価から最も正確な結果を提供し、全ての既知の知識に基づく予測を反映し、そして、或るノイズTRUEターゲットから取り除く。しかしながら、該結果は、或る「ノイズ」又は外れ値を含むことができる。第3の選択肢は、解釈可能性モデル335が真のターゲットデータを使用することを可能にし得、それは、パーティションの全ての特徴がTRUEターゲットに調整されたスコア又は予測を有することを保証する。しかしながら、該結果は、或る「ノイズ」又は外れ値を含むことができる。
【0065】
図11は、解釈可能な結果を生成するように構成された分解可能な階層を有する予測モデルに解釈可能性を提供する為の、別の例示的な、コンピュータに実装された方法1000のフロー図である。図11において示されている工程は、任意の適切なコンピュータ実行可能なコード若しくはコンピューティングシステム又はそれらの組み合わせによって実行されることができる。1つの例において、図11に示されている複数の工程の各々は、その構造が複数のサブ工程を含み、若しくは複数のサブ工程によって表されるアルゴリズムを表し、又はその構造が複数のサブ工程を含み且つ複数のサブ工程によって表されるアルゴリズムを表し、それらの例が、以下においてより詳細に提供されるであろう。
【0066】
図11において図示されているように、工程1002で、本明細書において記載されているシステムのうちの1以上が、階層構造113を受信することができる。本明細書において記載されているシステムは、任意の好適な方法で工程1002を実行することができる。幾つかの例において、システム100は、該入力データを分析する為に使用されるべき階層構造113と関連して、1以上のデータソースからデータ、例えば産業データ、を受信する。代替的に又は追加的に、ユーザは、階層構造113における1以上のパーティション内に含まれるべき1以上の特徴に関する情報を提供する。階層構造113は、1以上のエキスパートによってキュレーションされることができ、それにより、産業データから得られるべき情報に基づくことができ、該産業データは、情報、例えば、産業のベストプラクティス、識別されたユースケースについての構成及びユーザ情報、属性若しくは特徴又はそれらの組み合わせ等の間の関係、を包含することができる。階層構造113は、ツリー構造を格納する為に使用されるデータ構造として受信及び格納されることができる。階層構造113は、入力データを、特徴のセットを含むパーティションへと分割する方法を識別し、並びに、該パーティション間の関連付けを作成することができる。
【0067】
幾つかの実施態様において、階層構造113は、属性の1組を使用して構築されたデータ構造である。例えば、該システムによって分析されようとしている入力データ120のタイプに基づいて、階層構造113における特徴は、人口統計学的特徴、財務的特徴、若しくは取引的特徴、又はそれらの組み合わせの1組を含むことができる。特徴は、データセットから得られる密接に関連する又は関連付けられたパラメータの1組である。幾つかの例において、階層構造113は例えば、木構造であることができ、ここで、該木構造の各レベルは、1以上のパーティションを含むことができる。各パーティションは、同じデータソースに属する、若しくは類似のプロパティを所有する、又は同じデータソースに属し且つ類似のプロパティを所有する特徴の1組を包含することができる。階層構造113の異なるレベルが、粒度の異なるレベルでデータのパーティションの1組として表される。例えば、図4及び図5において図示されているように、該木におけるより高いレベルが、データのより広い分類であり、一方、該木のより低いレベルは、データのより細かい粒度である。従って、図4及び図5において図示されている最も高いノードは、データセットから利用可能な全ての特徴の結合を表す。
【0068】
図11におけるフローチャートを参照すると、工程1004で、該方法1000は、1以上の予測モデル116を使用して解析されるべき入力データ120を受信することを含む。幾つかの例において、予測モジュール315によって実行される予測モデル116のうちの少なくとも1つは、MLPモデルであることができる。
【0069】
工程1006で、本明細書において記載されている1以上のシステムは、階層構造113に従って、該入力データを特徴のグループへとパーティショニングする。
【0070】
幾つかの例において、入力データ120は、階層構造113を使用して、特徴の互いに排他的な複数の組に分解される。該入力データのパーティショニングは、階層構造113の各所与のレベルで定義されている特徴グループに基づく。システム100はまた、入力データ120を階層構造113の指定されたレベル数に反復して分解する。
【0071】
工程1008で、各パーティションの為に、予測されたスコア及びコンテキスト上の根拠が決定される。本明細書において記載されているシステムは、何らかの好適な様式において工程1008を実行することができる。例えば、解釈可能性モデル335は、入力データ120から特徴の各パーティションについての個々の予測されたスコア及びコンテキスト上の根拠を生成する。該予測されたスコア及び対応するコンテキスト上の根拠は、予測結果130の解釈可能性を高める為にコンテキスト的情報を提供するように入力データ120を補強することができる。解釈可能性モデル335を用いて入力データ120を処理しながら、階層構造113を入力データ120に適用することによって、ユーザが該結果内の特定のレベルを識別することができるように入力データ120が編成され並びに拡張されることができ、並びに入力データ120内の予測モデル116によって生成された正確な結果を取得するだけでなく、入力データ120内の特徴が互いにどのように相互作用するか、どの要因が予測結果130に影響を与えたかを説明し、特徴の特定されたパーティションについての追加データ、例えば、予測されたスコア及び説明、を提供するところのコンテキストデータをまた取得することができる。
【0072】
工程1010で、各パーティションは、特徴のサブパーティションへと分解される。本明細書において記載されているシステムは、任意の好適な方法において工程1010を実行することができる。例えば、解釈可能性モデル335は、階層構造113の所定の層で定義された特徴グループに基づいて、パーティションを特徴のサブパーティションへと分解する。
【0073】
工程1012で、階層構造113における各サブパーティション及びパーティションについてスコアが計算される。本明細書において記載されているシステムは、何らかの好適な方法において工程1012を実行することができる。例えば、解釈可能性モデル335は、親パーティションから特徴の各サブパーティションについての個々の予測されたスコア又は値及びコンテキスト上の根拠を生成する。解釈可能性モデル335は、工程1010に戻り、そして、特徴がこれ以上パーティショニングされることができなくなるまで、階層構造113に基づいて特徴のサブパーティションへと更に反復的に分解することができる。
【0074】
幾つかの例において、システム100は、選択されたパーティション若しくは入力データ120又はそれらの組み合わせについての予測されたスコア又は値に基づいて推奨されるアクションを識別し、並びにユーザ入力に基づいてアクションの実行を容易にする。例えば、該予測されたスコア又は値が、患者が特定の診断の為の医療治験に適格であることを示す場合、該システムは、患者が治験に適格であることを通知し、及び提案されたアクション、例えば電子通信(例えば、電子メール)を生成するアクションを、医療治験を通じて利用可能な医薬処置の特定の種類の概要を説明する患者に提示することができる。ユーザがアクションを続行することを選択した場合、該システムは電子通信を生成して該患者に送信することができる。
【0075】
本発明の実施態様は、分解可能な階層構造を用いて、解釈可能性を1以上の予測モデルに提供するシステム及び装置を容易にする。本発明の実施態様は、予測モデルの結果の解釈可能性を有するところのモデル又は該解釈可能性を識別することができるところの該モデルを生成する為に、産業の知識労働者とデータサイエンティストとの間の相互作用を促進することができる。本発明の実施態様は更に、エキスパートによって生成されるエキスパートモデルにおいて、特徴の適切な割り当て及びパーティショニングを伴う、階層構造を識別し並びに生成する。本発明の実施態様は、該階層構造から重要な要因(特徴又はグループ特徴)を追加/削除/更新する為の相互作用プロセスを可能にする。本発明の実施態様は更に、階層構造を有するエキスパートモデルを生成する為に用いられるべき全ての特徴を含む初期モデルとして、予測モデルを生成することを容易にする。本発明の実施態様は更に、親エキスパートからの結果をターゲットとして使用し、このローカルレベルのエキスパートの特徴を使用して、結果の解釈可能性を生成して、解釈可能なモデルを生成することを容易にする。本発明の実施態様は、選択された粒度レベルで、選択された要因についての予測されたスコアを出力することを容易にする。更に、本発明の実施態様は、予測されたスコアをアクションへとグループ化することを容易にし、異なる粒度レベルでのビジネスアクションをトリガーすることを可能にする。
【0076】
本発明の開示された実施態様は、結果のスコア及び値に対する特徴又は特徴パーティションの寄与に基づく解釈可能性モデルを提供することを容易にする。ドメインエキスパートによって定義された特徴パーティションとして、特徴の分解可能な階層構造が存在する。特徴の階層構造の各層の為の予測モデルが、同じ訓練データを用いるアテンションニューラルネットワークを用いて生成される。予測されたスコア又は値は、アテンションニューラルネットワークモデルを使用して、特徴のパーティションの各パーティションに提供される。特徴のパーティションの各パーティションは、該階層構造を用いてサブパーティションへと分解される。新たな予測されたスコア又は値が、別のアテンションニューラルネットワークモデルを使用して、サブパーティションの各サブパーティションに提供される。分解可能な階層構造に対する反復を用いて、アテンションモデルを適用することにより、異なる粒度での特徴の各パーティションの寄与が識別される。特徴のパーティションの相互作用の寄与は、パーティションとそのサブパーティションのスコアの比較を通じて識別される。
【0077】
ここで図12に目を向けると、本発明の実施態様に従うコンピュータシステム1100が概ね示されている。コンピュータシステム1100は、本明細書において記載されているように、様々な通信技術を利用するコンピューティングデバイス及びネットワークの任意の数及び組み合わせを含み若しくはそれらを使用し又はそれらを含み且つ使用するところの電子、コンピュータフレームワークであることができる。コンピュータシステム1100は、容易にスケーラブルであり、拡張可能であり、及びモジュール化可能であることができ、異なるサービスに変更したり、一部の機能を他から独立して再構成したりする能力を有する。コンピュータシステム1100は、例えば、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、又はスマートフォンであってもよい。幾つかの例において、コンピュータシステム1100は、クラウドコンピューティングノードであってもよい。コンピュータシステム1100は、コンピュータシステム実行可能命令、例えばプログラムモジュール、がコンピュータシステムによって実行されるという一般的なコンテキストにおいて記載されていてもよい。一般的に、プログラムモジュールは、特定のタスクを実行する又は特定の抽象データ型を実装するところの、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造等を備えていてもよい。コンピュータシステム1100は、分散型クラウドコンピューティング環境において実施されていてもよく、該分散型クラウドコンピューティング環境では、通信ネットワークを介してリンクされるところのリモート処理デバイスによってタスクが実行される。分散型クラウドコンピューティング環境において、プログラムモジュールは、メモリ記憶装置を包含するローカルコンピュータシステム記憶媒体とリモートコンピュータシステム記憶媒体との両方に配置されていてもよい。
【0078】
図12において示されているように、コンピュータシステム1100は、1以上の中央処理装置(1以上のCPU:central processing units)1101a、1101b、1101c等(集合的に又は一般的に1以上のプロセッサ1101と云われる)を有する。プロセッサ1101は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、又は任意の数の他の構成とすることができる。処理回路としてまた云われるプロセッサ1101は、システムバス1102を介して、システムメモリ1103及び他の様々なコンポーネントに接続される。システムメモリ1103は、読み取り専用メモリ(ROM:read only memory)1104及びランダムアクセスメモリ(RAM:random-access memory)1105を包含することができる。ROM 1104は、システムバス1102に接続され、並びにコンピュータシステム1100の或る基本機能を制御する基本入力/出力システム(BIOS:basic input/output system)を備えていてもよい。RAMは、プロセッサ1101によって使用される為にシステムバス1102に接続された読み書きメモリである。システムメモリ1103は、動作中に該命令の動作の為の一時的なメモリ空間を提供する。システムメモリ1103は、ランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(RAM)、フラッシュメモリ、又は他の任意の適切なメモリシステムを備えていることができる。
【0079】
コンピュータシステム1100は、システムバス1102に接続された入力/出力(I/O:input/output)アダプター1106及び通信アダプター1107を備えている。I/O アダプター1106は、ハードディスク1108若しくは任意の他の同様のコンポーネント又はそれらの組み合わせと通信するスモールコンピュータシステムインタフェース(SCSI:small computer system interface)アダプターであってもよい。I/Oアダプター1106及びハードディスク1108は、本明細書においては、マスストレージ1110としてまとめて云われる。
【0080】
コンピュータシステム1100上で実行する為のソフトウェア1111は、マスストレージ1110内に格納されていてもよい。マスストレージ1110は、プロセッサ1101によって読み取り可能な有形記憶媒体の一例であり、ここで、ソフトウェア1111は、様々な図面に関して以下で本明細書において記載されているように、プロセッサ1101によってコンピュータシステム1100を動作させる為の命令として格納される。コンピュータプログラム製品の例及びそのような命令の実行は、本明細書においてより詳細に説明されている。通信アダプター1107は、システムバス1102を、外部のネットワークであってもよいネットワーク1112と相互接続し、コンピュータシステム1100が他のそのようなシステムと通信することを可能にする。1つの実施態様において、システムメモリ1103の一部及びマスストレージ1110は、図12において示されている様々なコンポーネントの機能を調整する為に、例えばIBMコーポレーションからのz/OS又はAIXオペレーティングシステム、であってもよいところの任意の適切なオペレーティングシステムを集約的に格納する。
【0081】
追加の入力/出力デバイスは、ディスプレイアダプター1115とインタフェースアダプター1116とを介してシステムバス1102に接続されるように示されている。1つの実施態様において、アダプター1106、1107、1115及び1116は、中間バスブリッジ(図示されていない)を介してシステムバス1102に接続される1以上のI/Oバスに接続されていてもよい。ディスプレイ1119(例えば、スクリーン又はディスプレイモニタ)は、ディスプレイアダプター1115によってシステムバス1102に接続され、それは、グラフィックス集約型アプリケーションの性能を向上させる為のグラフィックスコントローラ及びビデオコントローラを備えていてもよい。キーボード1121、マウス1122、スピーカー1123等は、インタフェースアダプター1116を介してシステムバス1102に相互接続されることができ、それは、例えば、複数のデバイスアダプターを単一の集積回路へと統合するスーパーI/Oチップを備えていてもよい。周辺装置を接続する為の適切なI/Oバス、例えば、ハードディスクコントローラ、ネットワークアダプター及びグラフィックスアダプター、は典型的には、共通プロトコル、例えば周辺コンポーネントの相互接続(PCI:Peripheral Component Interconnect)、を包含する。従って、図12において構成されているように、コンピュータシステム1100は、プロセッサ1101の形態における処理能力、並びにストレージ能力、例えば、システムメモリ1103及びマスストレージ1110を包含する上記のストレージ能力、入力手段、例えば、キーボード1121及びマウス1122、並びに出力能力、例えば、スピーカー1123及びディスプレイ1119を包含する上記の出力能力を備えている。
【0082】
幾つかの実施態様において、通信アダプター1107は、任意の適切なインタフェース又はプロトコル、例えば、とりわけインターネットスモールコンピュータシステムインタフェース、を使用してデータを送信することができる。ネットワーク1112は、とりわけ、セルラーネットワーク、無線ネットワーク、ワイドエリアネットワーク(WAN:wide area network)、ローカルエリアネットワーク(LAN:local area network)、又はインターネットであってもよい。外部のコンピューティングデバイスは、ネットワーク1112を通じてコンピュータシステム1100に接続してもよい。幾つかの例において、外部コンピューティングデバイスは、外部ウェブサーバ又はクラウドコンピューティングノードであってもよい。
【0083】
図12のブロック図は、コンピュータシステム1100が図12において示されているコンポーネントの全てを備えていることを示すことが意図されているものでないことが理解されるべきである。むしろ、コンピュータシステム1100は、図12において示されていない任意の適切な少ない又は追加のコンポーネント(例えば、追加のメモリコンポーネント、組み込みコントローラ、モジュール、追加のネットワークインタフェース等)を備えていることができる。更に、コンピュータシステム1100に関して本明細書において記載されている実施態様は、任意の適切なロジックで実装されていてもよく、ここで、本明細書において言及されているロジックは、様々な実施態様において、任意の適切なハードウェア(例えば、とりわけ、プロセッサ、組み込みコントローラ、又はアプリケーション特定集積回路)、ソフトウェア(例えば、とりわけ、アプリケーション)、ファームウェア、又はハードウェア、ソフトウェア、及びファームウェアの任意の適切な組合せ、を包含することが可能である。
【0084】
本発明は、統合のありうる任意の技術的詳細レベルでの、システム、方法若しくはコンピュータプログラム製品又はそれらの組み合わせでありうる。該コンピュータプログラム製品は、プロセッサに本発明の観点を実行させる為のコンピュータ可読プログラム命令を有する1以上のコンピュータ可読記憶媒体を包含しうる。
【0085】
該コンピュータ可読記憶媒体は、命令実行デバイスによって使用する為の命令を保持且つ記憶することができる有形のデバイスであることができる。該コンピュータ可読記憶媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又はこれらの任意の適切な組み合わせでありうるが、これらに限定されない。該コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、下記を包含する:ポータブルのコンピュータディスケット(登録商標)、ハードディスク、ランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read only memory)、消去可能なプログラム可能な読み取り専用メモリ(EPROM(erasable programmable read-only memory)又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、ポータブル・コンパクトディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリスティック、フロッピーディスク、機械的に符号化されたデバイス、例えば、パンチカード若しくは命令が記録されている溝内の隆起構造又はこれらの任意の適切な組み合わせ。本明細書において使用される場合、コンピュータ可読記憶媒体は、一時的な信号それ自体、例えば、電波又は他の自由に伝播する電磁波、導波管若しく他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を介して送信される電気信号、であると解釈されるべきでない。
【0086】
本明細書において記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から個々のコンピューティングデバイス/処理デバイスに、又はネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク若しくはワイヤレスネットワーク又はそれらの組み合わせ、を介して外部コンピュータ又は外部記憶デバイスにダウンロードされることができる。該ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ若しくはエッジサーバ又はこれらの組み合わせで構成されうる。各コンピューティングデバイス/処理デバイスにおけるネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そして、該コンピュータ可読プログラム命令を、個々のコンピューティングデバイス/処理デバイス内にコンピュータ可読記憶媒体中に記憶する為に転送する。
【0087】
本発明の動作を実行する為のコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の為の構成データ、又は、1以上のプログラミング言語、例えばオブジェクト指向プログラミング言語、例えば、Smalltalk、C++等、慣用的な手続き型プログラミング言語(例えば、「C」プログラミング言語又は同様のプログラミング言語)、の任意の組み合わせで書かれているソースコード又はオブジェクトコードのいずれか、でありうる。該コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で部分的に、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に、ユーザのコンピュータ上で部分的に且つリモート・コンピュータ上で部分的に、又はリモート・コンピュータ若しくはサーバ上で全体的に、実行されうる。後者のシナリオにおいて、該リモート・コンピュータは、任意の種類のネットワーク、例えば、ローカルエリアネットワーク(LAN:local area network)若しくはワイドエリアネットワーク(WAN:wide area network)、を介してユーザのコンピュータに接続されうるか、又は該接続は(例えば、インターネットサービスプロバイダを使用したインターネットを通じて)外部コンピュータに対して行われうる。幾つかの実施態様において、電子回路、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA:field-programmable gate arrays)又はプログラマブルロジックアレイ(PLA:programmable logic arrays)、は、本発明の観点を実行する為に、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行しうる。
【0088】
本発明の観点は、本発明の実施態様に従う、方法、装置(システム)及びコンピュータプログラム製品若しくはコンピュータプログラムのフローチャート図若しくはブロック図又はそれらの組み合わせを参照して本明細書において記載されている。該フローチャート図若しくは該ブロック図又はそれらの組み合わせの各ブロック、並びに該フローチャート図若しくは該ブロック図又はそれらの組み合わせにおける複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装されることができることが理解されるであろう。
【0089】
これらのコンピュータ可読プログラム命令は、該コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行する命令が該フローチャート図若しくはブロック図又はそれらの組み合わせの1以上のブロックにおいて特定された機能/動作を実装する為の手段を生成するように、コンピュータのプロセッサ又は他のプログラム可能なデータ処理装置に提供されて、マシンを作り出しうる。記憶された命令を有するコンピュータ可読記憶媒体が該フローチャート図若しくはブロック図又はそれらの組み合わせの1以上のブロックにおいて特定される機能/動作の観点を実装する命令を含む製造品を含むように、これらのコンピュータ可読プログラム命令はまた、コンピュータプログラム可能なデータ処理装置若しくは他のデバイス又はこれらの組み合わせに特定の様式で機能するように指示することができるコンピュータ可読記憶媒体中に記憶されうる。
【0090】
該コンピュータ可読プログラム命令はまた、コンピュータ上、他のプログラム可能なデータ処理装置上又は他のデバイス上で実行される命令が、該フローチャート図若しくはブロック図若しくはそれらの組み合わせの1以上のブロックにおいて特定される機能/動作を実装するように、上記のコンピュータ上、他のプログラム可能なデータ処理装置上又は他のデバイス上にロードされて、コンピュータ、他のプログラム可能な装置又は他のデバイス上で一連の操作工程を実行させて、コンピュータに実装されたプロセスを生成しうる。
【0091】
図面中のフローチャート図及びブロック図は、本発明の様々な実施態様に従う、システム、方法及びコンピュータプログラム製品若しくはコンピュータプログラムのありうる実装の、アーキテクチャ、機能及び動作を示す。これに関連して、該フローチャート図又はブロック図における各ブロックは、命令のモジュール、セグメント、又はその一部を表し得、それは、特定された1以上の論理機能を実装する為の1以上の実行可能命令を含む。幾つかの代替の実装において、該ブロックにおいて示されている機能は、図面中に示されている順序とは異なって生じうる。例えば、連続して示されている2つのブロックは、実際には、関与する機能に依存して、同時に、実質的に同時に、部分的又は全体的に時間的に重複する様式で実行される1つの工程として達成されうるか、又は該ブロックは、逆の順序で実行されうる。該ブロック図若しくはフローチャート図又はこれらの組み合わせの各ブロック、並びに該ブロック図若しくはフローチャート図又はこれらの組み合わせの複数のブロックの組み合わせは、特定された機能又は動作を実行する特別な目的のハードウェアベースのシステムによって実装することができ、又は特別な目的のハードウェアとコンピュータ命令との組み合わせを実行することができることに留意されたい。
【0092】
本開示の様々な実施態様の記載は、例示の目的の為に提示されたものであり、網羅的であること又は開示された実施態様に限定されることが意図されたものでない。多くの修正及び変形が、記載された実施態様の範囲及び精神から逸脱することなしに当業者に明らかであろう。本明細書において使用される語は、実施態様の原理、実用的な用途、又は市場において見られる技術に対する技術的改善を最もよく説明する為に、又は当業者が本明細書において開示されている実施態様を理解することができるようにする為に選択された。
【0093】
本発明の様々な実施態様が、関連する図面を参照して本明細書において記載されている。本発明の代替的な実施態様は、本発明の範囲から逸脱すること無しに考案されることができる。本明細書の説明及び図面において、要素間の様々な接続関係及び位置関係(例えば、上、下、隣接等)が規定されている。これらの接続関係若しくは位置関係又はそれらの組み合わせは、特に指定されない限り、直接的又は間接的であることができ、本発明は、この点において限定することが意図されていない。従って、エンティティの接続は、直接的又は間接的な接続のいずれかを云うことができ、そして、エンティティ間の位置関係は、直接的又は間接的な位置関係であることができる。その上、本明細書において記載された様々なタスク及びプロセス工程が、本明細書において詳細に記載されていない追加の工程又は機能性を有するより包括的な手順又はプロセス内に組み込まれることができる。
【0094】
下記の定義及び略語は、特許請求の範囲及び明細書の解釈の為に使用されるべきものとする。本明細書において使用される場合、語「含む」、「含んでいる」、「包含する」、「包含している」、「有する」、「有している」、「含有する」、若しくは「含有している」、又はそれらの任意の他の変形は、非排他的な含有をカバーすることが意図されている。例えば、要素のリストを含む組成物、混合物、プロセス、方法、物品、又は装置は、必ずしもそれらの要素のみに限定されず、明示的にリストされていない他の要素又はそのような組成物、混合物、プロセス、方法、物品、又は装置に固有の要素を含むことができる。
【0095】
更に、語「例示的な」は、本明細書において、「一例、例示又は具体例として機能する」ことを意味する為に使用される。本明細書において「例示的な」として記載される任意の実施態様又は設計は、必ずしも他の実施態様又は設計よりも好ましい又は有利であると解釈されるものでない。語「少なくとも1つ」及び「1以上」は、1以上の任意の整数、すなわち、1、2、3、4等、を包含すると理解されてもよい。語「複数」は、2以上の任意の整数、すなわち、2、3、4、5等、を包含すると理解されてもよい。語「接続」は、間接的な「接続」及び直接的な「接続」の両方を包含しうる。
【0096】
語「約」、「実質的に」、「ほぼ」及びそれらの変形は、出願の時点で利用可能な機器に基づく特定の量の測定に関連付けられた誤差の程度を含むことが意図されている。例えば、「約」は、所与の値の±8%又は±5%又は±2%の範囲を含むことができる。
【0097】
簡潔さの為に、本発明の観点の製造及び使用に関連する慣用的な技術は、本明細書において詳細に記載されていてもよく、又は詳細に記載されていなくてもよい。特に、本明細書に記載された様々な技術的特徴を実装する為のコンピューティングシステム及び特定のコンピュータプログラムの様々な態様は周知である。従って、簡潔さの為に、多くの慣用的な実装の詳細は、本明細書において簡単に言及されるだけであるか、又は周知のシステム若しくはプロセス又はそれらの組み合わせの詳細を提供すること無しに完全に省略される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12