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

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

▶ 富士通株式会社の特許一覧

<>
  • 特許-機械学習システムのための因果関係 図1
  • 特許-機械学習システムのための因果関係 図2A
  • 特許-機械学習システムのための因果関係 図2B
  • 特許-機械学習システムのための因果関係 図2C
  • 特許-機械学習システムのための因果関係 図3A
  • 特許-機械学習システムのための因果関係 図3B
  • 特許-機械学習システムのための因果関係 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-10
(45)【発行日】2023-05-18
(54)【発明の名称】機械学習システムのための因果関係
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230511BHJP
【FI】
G06N20/00
【請求項の数】 13
(21)【出願番号】P 2019074705
(22)【出願日】2019-04-10
(65)【公開番号】P2019194849
(43)【公開日】2019-11-07
【審査請求日】2022-01-11
(31)【優先権主張番号】15/967508
(32)【優先日】2018-04-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】スリニバサン・ラムヤ マルアー
(72)【発明者】
【氏名】チャンダー・アジャイ
【審査官】北川 純次
(56)【参考文献】
【文献】国際公開第2017/145710(WO,A1)
【文献】特開2007-249873(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 5/04
G06F 16/00
(57)【特許請求の範囲】
【請求項1】
システムの1つ以上のプロセッサによって実行される方法であって、
機械学習技術又は深層学習技術を使用して、結果と前記結果に寄与する複数の変数の関係及び/又は相関をデータセットから特定するように構成されている機械学習システムにおける前記結果のうちのターゲット結果と前記複数の変数のうちの1つ以上の関心変数の間の仮定される因果関係を、ユーザから受け取るステップと、
前記複数の変数を、有向非巡回グラフ(DAG)として表現することであって、前記DAGは、前記1つ以上の関心変数から前記ターゲット結果へと流れる少なくとも1つのエッジを含む、表現することと、
前記DAGを使用して、前記1つ以上の関心変数に基づく前記ターゲット結果の期待値に関する因果効果を推定するステップと、
前記因果効果に基づいて、前記ターゲット結果と前記1つ以上の関心変数との間の因果関係を説明する因果関係説明を生成するステップと、
前記因果関係説明を前記ユーザに提供するステップと、
を含む方法。
【請求項2】
前記因果効果を推定することは、
前記1つ以上の関心変数に関連する1つ以上の変数を含み、前記ターゲット結果に影響を及ぼす交絡因子が、前記DAGにおいて存在するか否かを識別することと、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるかどうかを判定することと、
を含む、請求項に記載の方法。
【請求項3】
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるという判定に基づいて、前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスをブロックすること
を含む、請求項に記載の方法。
【請求項4】
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるわけではないという判定に基づいて、不十分な因果関係証拠を示すメッセージを出力すること
を含む、請求項に記載の方法。
【請求項5】
前記ユーザからの変更された因果関係を受け取ることに基づいて、前記方法を反復的に繰り返すステップ
をさらに含む、請求項1に記載の方法。
【請求項6】
前記因果関係説明は、前記因果効果のうちの最も高い因果効果を有する所与の変数が前記ターゲット結果を生じさせているとして特定されるように、前記最も高い因果効果に基づく、請求項1に記載の方法。
【請求項7】
命令を含む非一時的なコンピュータ読み取り可能な媒体であって、前記命令がプロセッサにより実行されたときに、前記命令はデバイスに複数の動作を実行させ、前記複数の動作は、
機械学習技術又は深層学習技術を使用して、結果と前記結果に寄与する複数の変数の関係及び/又は相関をデータセットから特定するように構成されている機械学習システムにおける前記結果のうちのターゲット結果と前記複数の変数のうちの1つ以上の関心変数の間の仮定される因果関係を、ユーザから受け取ることと、
前記複数の変数を、有向非巡回グラフ(DAG)として表現することであって、前記DAGは、前記1つ以上の関心変数から前記ターゲット結果へと流れる少なくとも1つのエッジを含む、表現することと、
前記DAGを使用して、前記1つ以上の関心変数に基づく前記ターゲット結果の期待値に関する因果効果を推定することと、
前記因果効果に基づいて、前記ターゲット結果と前記1つ以上の関心変数との間の因果関係を説明する因果関係説明を生成することと、
前記因果関係説明を前記ユーザに提供することと、
を含む、非一時的なコンピュータ読み取り可能な媒体。
【請求項8】
前記因果効果を推定することは、
前記1つ以上の関心変数に関連する1つ以上の変数を含み、前記ターゲット結果に影響を及ぼす交絡因子が、前記DAGにおいて存在するか否かを識別することと、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるかどうかを判定することと、
を含む、請求項に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項9】
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるという判定に基づいて、前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスをブロックすること
を含む、請求項に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項10】
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるわけではないという判定に基づいて、不十分な因果関係証拠を示すメッセージを出力すること
を含む、請求項に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項11】
前記命令は、前記ユーザからの変更された因果関係を受け取る動作に基づいて、前記複数の動作を反復的に繰り返すようさらに構成されている、請求項に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項12】
前記因果関係説明は、前記因果効果のうちの最も高い因果効果を有する所与の変数が前記ターゲット結果を生じさせているとして特定されるように、前記最も高い因果効果に基づく、請求項に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項13】
システムであって、
1つ以上のプロセッサと、
命令を含む1つ以上の非一時的なコンピュータ読み取り可能な媒体であって、前記命令が前記1つ以上のプロセッサにより実行されたときに、前記命令は前記システムに複数の動作を実行させ、前記複数の動作は、
機械学習技術又は深層学習技術を使用して、結果と前記結果に寄与する複数の変数の関係及び/又は相関をデータセットから特定するように構成されている機械学習システムにおける前記結果のうちのターゲット結果と前記複数の変数のうちの1つ以上の関心変数の間の仮定される因果関係を、ユーザから受け取る動作と、
前記複数の変数を、有向非巡回グラフ(DAG)として表現することであって、前記DAGは、前記1つ以上の関心変数から前記ターゲット結果へと流れる少なくとも1つのエッジを含む、表現することと、
前記DAGを使用して、前記1つ以上の関心変数に基づく前記ターゲット結果の期待値に関する因果効果を推定する動作と、
前記因果効果に基づいて、前記ターゲット結果と前記1つ以上の関心変数との間の因果関係を説明する因果関係説明を生成する動作と、
前記因果関係説明を前記ユーザに提供する動作と、
を含む、1つ以上の非一時的なコンピュータ読み取り可能な媒体と、
を有するシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、機械学習システムのための因果関係に関する。
【背景技術】
【0002】
機械学習システムは、データセットを分析し、様々な結果及び/又はこれらの結果に関連付けられた変数の間の相関を特定することができる。しかしながら、そのような相関は、関心変数とこれらの結果との間の因果関係を示すわけではない。例えば、傘を持ち運んでいる人と雨との間に相関が見出されたとしても、機械学習システムは、人が傘を持ち運ぶのを止めることが雨を止ませることにはならないことを認識しない。
【発明の概要】
【0003】
本開示の1つ以上の実施形態は、ユーザから、機械学習システムにおけるターゲット結果に関連付けられ得る1つ以上の仮定を取得するステップを含む方法を含み得る。この方法はまた、前記ターゲット結果についての因果関係候補を表し得る複数の変数を特定するステップを含み得る。この方法は、前記複数の変数の各変数についての因果効果を推定するステップと、前記複数の変数についての前記因果効果に基づいて、前記ターゲット結果の因果関係説明を生成するステップと、をさらに含み得る。この方法はまた、前記因果関係説明を前記ユーザに提供するステップを含み得る。
【0004】
実施形態の目的及び利点が、少なくとも請求項において特に示される要素、特徴、及び組み合わせにより、実現及び達成される。
【0005】
前述の総括的な説明及び以下の詳細な説明の両方ともが、単に例であって説明的なものであり、限定的なものではないことを理解されたい。
【図面の簡単な説明】
【0006】
例示的な実施形態が、添付の図面を使用して、より具体的且つ詳細に記載及び説明される。
図1】機械学習システムのための因果関係を決定するために使用され得る例示的なシステムを示す図。
図2A】機械学習システムのための因果関係を決定する際に使用される例示的な有向非巡回グラフ(DAG)を示す図。
図2B】機械学習システムのための因果関係を決定する際に使用される例示的な有向非巡回グラフ(DAG)を示す図。
図2C】機械学習システムのための因果関係を決定する際に使用される例示的な有向非巡回グラフ(DAG)を示す図。
図3A】機械学習システムのための因果関係を決定する方法のフロー図。
図3B】機械学習システムのための因果関係を決定する方法のフロー図。
図4】例示的なコンピューティングシステムを示す図。
【発明を実施するための形態】
【0007】
本開示は、機械学習システムのための因果関係の使用に関する。有向非巡回グラフ(DAG)を使用して、一連の変数及び少なくとも1つのターゲット結果をグラフィカルに表現することができ、ここで、これらの変数及び/又はターゲット結果のうちの1つ以上は、機械学習システムの出力であり得る。因果効果が、関心変数を十分に分離し、所与の関心変数についての因果効果を推定することにより、関心変数について定量化され得る。関心変数についての定量化された因果効果を使用して、どの変数がターゲット結果を生じさせているかの説明が提供され得る。そのようなアプローチは、機械学習システムの決定及び/又は機械学習システムの正確度の向上を促進することができる。さらに、そのようなアプローチは、因果関係及び関連付けられた説明を分析するためのより直感的で容易に理解しやすいインタフェースを提供する。
【0008】
1つ以上の例示的な実施形態が、添付の図面を参照しながら説明される。
【0009】
図1は、本開示の1つ以上の実施形態に従った、機械学習システムのための因果関係を決定するために使用され得る例示的なシステム100を示す図である。システム100は、機械学習システム110と、入力を因果関係モジュール130に提供することができるユーザインタラクションモジュール120と、を含み得る。因果関係モジュール130は、変数と結果との間の因果関係に関連付けられる説明140の決定を促進することができる。本開示において使用される場合、変数は、結果に影響を及ぼし得る又は他の形で潜在的に結果を生じさせ得る任意のアクティビティ、因子、属性等を含み得る。例えば、契約が会社により勝ち取られたことを結果が含む場合、変数は、その新たな契約に関連するビジネスユニットと、契約について交渉した営業員と、契約が勝ち取られた、世界の領域と、を含み得る。いくつかの実施形態において、そのような因果関係は、契約について交渉した営業員を理由として契約が勝ち取られた等の、変数と結果との間の説明をもたらし得る。これらの実施形態及び他の実施形態において、ユーザが、提供された説明に満足していない場合(例えば、説明が論理的でない等)、ユーザは、(例えば、1つ以上の仮定を調整するために)システム100とインタラクトすることができ、因果関係が、再度検討され得る。
【0010】
機械学習システム110は、データセットから関係及び/又は相関を特定するよう構成されている任意の機械学習システムを含み得る。例えば、機械学習システム110は、データセットを分析することにより、直接的であろうが間接的であろうが、結果に寄与する最も可能性が高い因子の集合を特定するよう構成され得る。一例として、機械学習システム110は、会社について勝ち取られた全ての契約や、会社について勝ち取られた契約なくなされた全ての売り込みを分析することができ、どの因子が契約の勝ち取りと相関しているかを特定することができる。別の例として、機械学習システム110は、ビジネスから、商品購入を分析するよう構成され得、関連商品、購入者の人口統計等といった因子を特定して、どの因子が商品の購入と相関しているかを特定することができる。さらなる例として、機械学習システム110は、患者健康データ及び所定の疾病に対する転帰を分析して、どの因子が、疾病に対する肯定的な転帰と相関しているかを特定するよう構成され得る。これらの実施形態及び他の実施形態において、機械学習システム110は、結果に寄与する因子及び/又は相関を、ユーザインタラクションモジュール120及び/又は因果関係モジュール130に提供することができる。
【0011】
いくつかの実施形態において、機械学習システム110は、決定木学習、関連付けルール学習、クラスタリング、強化学習、表現学習、遺伝的アルゴリズム等といった任意の機械学習技術又は深層学習技術を使用して、動作することができる。いくつかの実施形態において、機械学習システム110を利用して、データセットにおける相関に基づいてレコメンデーションを提供すること等、タスクを実行することができる。
【0012】
ユーザインタラクションモジュール120は、ユーザ入力を受け取る且つ/又は情報をユーザに提供するよう構成されている任意のデバイス、システム、又はこれらのコンポーネントを含み得る。例えば、ユーザインタラクションモジュール120は、機械学習システム110により決定された結果の変数の集合をユーザに提示することができる。これらの実施形態及び他の実施形態において、ユーザは、ユーザインタラクションモジュール120を利用して、これらの変数から、1つ以上の関心変数を特定することができる。例えば、ユーザは、ユーザが関心のあるものとして、所与の結果について変数の集合のサブセットを指定することができる。追加的又は代替的に、ユーザは、ユーザが関心のある結果として、特定の結果を示してもよい(例えば、ターゲット結果)。
【0013】
いくつかの実施形態において、ユーザは、ユーザインタラクションモジュール120とインタラクトして、変数及び/又は結果のうちの1つ以上の間の仮定される又は考えられる因果関係に関する1つ以上の仮定を指定することができる。例えば、契約の例を参照すると、ユーザは、営業員とビジネスユニットとの間の仮定される有向関係(例えば、「営業員Xは、この特定のビジネスユニットで働いているときに、しばしば、良い働きをし、多くの営業実績を有する。」)を入力することができる。
【0014】
因果関係モジュール130は、機械学習システム110からの入力(例えば、変数及び結果)とユーザインタラクションモジュール120からの入力(例えば、ユーザからの仮定及びターゲット結果)とを使用して、説明140を生成するよう構成されている任意のデバイス、システム、又はこれらのコンポーネントを含み得る。
【0015】
いくつかの実施形態において、因果関係モジュール130は、変数とターゲット結果との間の関係及び/又は仮定を表現する有向非巡回グラフ(DAG)を構築することができる。図2A図2Cは、そのようなDAGの例を示している。いくつかの実施形態において、DAGは、他の変数及び/又はターゲット結果に関連する変数に関する任意の既知の有向関係で始まり得る。DAGは、ユーザインタラクションモジュール120から受信された仮定に基づいて、有向エッジを追加することにより、拡張され得る。
【0016】
いくつかの実施形態において、因果関係モジュール130は、仮定を含まないDAGを構築することがあり、ユーザインタラクションモジュール120を介して、DAGをユーザに視覚的に提示することがある。ユーザは、DAGのこの視覚的表現を利用して、関心変数及び/又はターゲット結果を選択することができる。追加的又は代替的に、ユーザは、DAGのこの視覚的表現を利用して、新たな関係を、仮定として指定又は作成してもよい。これらの実施形態及び他の実施形態において、DAGのこの視覚的表現は、ユーザインタラクションモジュール120のグラフィカルユーザインタフェース(GUI)又は任意の他のインタフェースを介して、アクセス及びインタラクトされ得る。
【0017】
いくつかの実施形態において、因果関係モジュール130は、DAGを使用して、関心変数とターゲット結果との間の因果関係を特定するための十分な因果関係証拠が存在するか否かを分析することができる。そのような分析を実行するために、因果関係モジュール130は、DAGが交絡因子を含むか否かを判定することができる。本開示において使用される場合、交絡因子は、関心変数のうちの1つ以上及びターゲット結果に影響を及ぼす任意の変数を含み得る。例えば、変数のうちの1つの変数が、関心変数及びターゲット結果の両方との関係を含む場合、そのような変数は交絡因子であり得る。いくつかの実施形態において、交絡因子は、単一の関心変数に基づいて指定され得る。交絡因子がDAGにおいて存在しないと因果関係モジュール130が判定した場合、因果関係モジュール130は、説明140の決定を促進するために、関心変数の各々についての因果効果を決定することができる。
【0018】
一方、交絡因子がDAGにおいて存在すると因果関係モジュール130が判定した場合、因果関係モジュール130は、DAGを通じた、ターゲット結果への、交絡因子を含むパス(バックドアパスと呼ばれることもある)が、ブロック可能であるかどうかを判定することができる。バックドアパスがブロック可能であるかどうかを判定するために、因果関係モジュール130は、バックドアパスにおいてノード間をエッジがどちらの向き(方向)に流れるかと、バックドアパスにおいてノードが観察されるか否かと、を考慮することができる。1つのそのようなブロックシナリオは、バックドアパスが合流点ノードを含み(2つのノードが単一のノードに収束する場合、時としてヘッドツーヘッドノードと呼ばれる)、このノード及びその子孫が観察されない場合を含み得る。別のブロックシナリオは、因果連鎖を含み得、ここで、交絡因子とターゲット結果との間のパスにおいて、入ってくる1つのエッジ及び出ていく1つのエッジを伴うノードが存在し得(時として因果連鎖と呼ばれる)、このノードが観察される。したがって、バックドアパスをブロックするために、合流点ノードは観察され得ず、バックドアパスにおける他のノードは観察され得る。これらの実施形態及び他の実施形態において、所与のバックドアパスがブロック可能でない場合、因果関係モジュール130は、理由を説明できない交絡因子が存在すると判定することができる。これに応じて、因果関係モジュール130は、説明140を決定するための不十分な因果関係証拠が存在することを示すメッセージを出力することができる。いくつかの実施形態において、因果関係モジュール130は、欠落している因果関係証拠を提供するためにどのような情報が使用され得るかのインジケーションを提供することができる。例えば、因果関係モジュール130は、どのパスがブロック可能でないかと、どのような情報又はデータがそのようなパスのブロック可能性を促進し得るかと、を示すことができる。
【0019】
全てのバックドアパスがブロック可能であると因果関係モジュール130が判定した場合、因果関係モジュール130は、そのような全てのバックドアパスをブロックすることができる。例えば、因果関係モジュール130は、説明140の決定においてブロック変数を制御することができる。全てのバックドアパスをブロックした後、因果関係モジュール130は、関心変数の各々についての因果効果を決定することができる。
【0020】
様々な関心変数についての因果効果を決定するために、因果関係モジュール130は、ターゲット結果に対する各変数の因果効果を定量化することができる。いくつかの実施形態において、そのような定量化は、2値形式の値(例えば、契約の交渉に関与したのは営業員Xか?)を含む変数に基づき得る。これらの実施形態及び他の実施形態において、因果効果は、0と1との間の数として定量化され得る。ターゲット結果Yに対する変数Xの因果効果の定量化は、以下の式1により表され得る:
E(Y|do(X=1))-E(Y|do(X=0))=P(Y|X=1)-P(Y|X=0) (式1)
上記において、E()は、期待値関数を表し(例えば、E(Y|do(X=1))は、do(X=1)を所与とするYの期待値を表し得)、関数do(X=1)は、DAGにおいて介入して、変数Xの値をその最大値(例えば1)に設定することを表し、関数do(X=0)は、DAGにおいて介入して、変数Xの値をその最小値(例えば0)に設定することを表し、P()は、確率関数を表す(例えば、P(Y|X=1)は、変数X=1である場合にターゲット結果Yが生じる確率を表し得る)。式1を使用して、因果効果が、所与の関心変数について決定され得る。
【0021】
いくつかの実施形態において、様々な動作が、各関心変数について繰り返され得る。例えば、因果関係モジュール130は、所与の関心変数について、交絡因子を特定及び処理し、因果効果を決定することができ、これらの動作が、関心変数の各々について繰り返され得る。したがって、本開示は、関心変数を反復的に繰り返して、関心変数が分離され得るかどうかを判定し、関心変数が分離され得る場合、ターゲット結果に対する関心変数の各々の因果効果を決定することができる。
【0022】
これらの実施形態及び他の実施形態において、因果関係モジュール130は、関心変数の各々についての因果効果の定量化を比較することができる。説明140をもたらす因果効果を選択するために、因果関係モジュール130は、因果効果の定量化について最も高い数値を有する変数を選択することができる。因果関係モジュール130は、選択された変数に基づいて、説明140を生成することができる。例えば、ターゲット結果が、契約を勝ち取ることであり、最も高い因果効果を有する変数が、営業員Xが関与していたか否かであった場合、説明140は、「営業員Xが契約について交渉することに関与していたので、契約が勝ち取られた」ことを示すことができる。
【0023】
いくつかの実施形態において、説明140がユーザに提示された後、ユーザは、説明140に満足していないことがある。これらの実施形態及び他の実施形態において、ユーザは、変数の間の関係及び/又は相関に関する、因果関係モジュール130に提供された仮定のうちの1つ以上を変更又は調整することができる。追加的又は代替的に、ユーザは、所定の変数を設定してもよい(例えば、営業員Xを、所与のビジネスユニットで常に働いていると設定する(これらの変数がこれらの最大値に常に設定されている場合の因果効果を決定するために))。
【0024】
ユーザからの仮定を調整するプロセスを反復的に繰り返すことにより、因果関係モジュール130は、ユーザが説明140に満足するまで、異なる説明140を繰り返し生成することができる。いくつかの実施形態において、ユーザは、ユーザがDAGにおける変数の間の関係について有している知識に基づいて、説明に満足していないことがある。例えば、ユーザが関心のあるかもしれないものとして、商品がユーザにレコメンドされる場合、因果関係モジュール130は、商品がユーザになぜレコメンドされたかについての説明140を提供することができ、ユーザは、仮定を調整することができる(例えば、「あなたは靴に関心があるので、我々は、このブランドの靴下をレコメンドしました」という説明に基づいて、ユーザは、靴に対する関心と靴下に対する関心との間の有向関係を調整することができる)。いくつかの実施形態において、説明140に対するユーザの不満足は、傘を持っている人が雨を降らせたという説明等、論理的でない又は誤った因果関係に基づき得る。いくつかの実施形態において、反復的な処理を用いて、非現実的シナリオを分析及び/又は判別することができる。例えば、仮定を変更することにより、ユーザは、所定の変数が異なっていた場合の可能性のある因果効果を決定することができる(例えば、営業員Xが、異なるビジネスユニットで働いていた場合、我々は、それでも契約を勝ち取ったであろうか?)。
【0025】
これらの実施形態及び他の実施形態において、本開示は、機械学習システムの出力のための基礎を形成する推論に関する洞察をユーザに提供することにより、機械学習システムの動作を向上させることができる。例えば、出力が、レコメンデーション(例えば、商品レコメンデーション、広告レコメンデーション、疾病治療レコメンデーション等)を提供することである場合、レコメンデーションをもたらす因果関係の説明140が、ユーザに提供され得る、且つ/又は、ユーザにより分析され得る。別の例として、機械学習システムの有効性及び/又は正確性が評価され得る。例えば、説明140を使用して、ユーザは、機械学習システム110によりなされた誤った仮定を訂正することにより、機械学習システム110の正確度を向上させることができる。例えば、レコメンデーションが、ラップトップの購入とバックパックの購入との間のデータセットにおける相関に基づいて、ラップトップを購入するように、バックパックを購入したユーザになされることがある。しかしながら、本開示の実施形態を使用することは、ラップトップの購入がバックパックのレコメンデーションをもたらし得るように、且つ、その逆ではないように、相関の向き(方向)及び因果関係を特定することができる。
【0026】
当業者は、本開示を検討した後、本開示の範囲から逸脱することなく、システム100に対して変更、追加、又は省略が可能であることが理解できるであろう。例えば、説明された形での異なる要素の指定は、本開示に記載のコンセプトを説明するのを助けるよう意図されており、限定的なものではない。さらに、システム100は、任意の数の他の要素を含んでもよいし、説明されたシステム又はコンテキスト以外の他のシステム又はコンテキストにおいて実現されてもよい。
【0027】
図2A図2Cは、本開示の1つ以上の実施形態に従った、機械学習システムのための因果関係を決定する際に使用される例示的な有向非巡回グラフ(DAG)200a~200cを示す図である。図2Aに示されているように、DAG200aは、勝ち取られた契約210というターゲット結果(縦線により示されている)の例、並びに、ビジネスユニット220、salesman_x230、及びusa_region240という変数に関連付けられ得る。関心変数は、ビジネスユニット220(三角形により示されている)である。DAG200aは、営業チームによって何が会社に契約を勝ち取らせたか(例えば、ビジネスユニットにおける何を理由として、我々は契約を勝ち取ったのか)を判定する試みに基づき得る。図2Bに示されているように、DAG200bは、購入された調理器211というターゲット結果(縦線により示されている)の例、並びに、購入されたガスケット221及び購入者の好奇心231という変数に関連付けられ得る。関心変数は、購入されたガスケット221(三角形により示されている)である。DAG200bは、誰かがガスケットを購入したことに基づく、圧力鍋を購入するレコメンデーションが、レコメンデーションに値するかどうか(例えば、ガスケットの購入は、誰かに圧力鍋を購入させることができるか)を判定する試みに基づき得る。図2Cに示されているように、DAG200cは、病気からの患者の回復212というターゲット結果(縦線により示されている)の例、並びに、患者に提供された薬222、患者の運動232、及び患者の飲食習慣242という変数に関連付けられ得る。関心変数は、患者に提供された薬222(三角形により示されている)である。DAG200cは、患者に薬を与えたことが、病気から患者を回復させたことであるかどうか(例えば、薬が患者を治癒させたか)を判定する試みに基づき得る。いくつかの実施形態において、ユーザは、関心変数及び/又はターゲット結果を特定することができる。
【0028】
いくつかの実施形態において、DAG200a~200cにおいて使用される変数は、図1の機械学習システム110等の機械学習システムから出力された、ターゲット結果と相関している上位の変数であり得る。追加的又は代替的に、DAG200a~200cにおいて使用される変数は、機械学習システムについての閾値を超える相関スコアを有する変数であってもよい。これらの実施形態及び他の実施形態において、初期DAGは、変数からターゲット結果への有向エッジを含み得る。初期DAGは、DAG200aをもたらすためのsalesman_x230からビジネスユニット220への有向エッジやDAG200cをもたらすための薬222から飲食習慣242への有向エッジ等、ユーザからの仮定を用いて拡張され得る。いくつかの実施形態において、これらの仮定は、反復的に実現され得、図1の因果関係モジュール130が説明を提供し得る場合、ユーザは、提供された説明に基づいて仮定を調整し、変更された説明を観察することができ、このプロセスは、仮定の集合及び説明がユーザの満足するものになるまで、繰り返され得る。いくつかの実施形態において、変数及び/又は仮定のうちの1つ以上は、ユーザからの入力に基づいて、DAGに含められ得る。例えば、ユーザは、因果分析に含められるように、機械学習システムにより特定された変数の他に、1つ以上の追加の変数を特定することができる。
【0029】
図2Aを参照すると、関心変数としてビジネスユニット220を分析するとき(例えば、ビジネスユニット220は入力であり、勝ち取られた契約210は出力である)、交絡因子がDAG200aにおいて存在するか否かが判定され得る。salesman_x230は、交絡因子として作用し得る。なぜならば、salesman_x230は、関心変数(ビジネスユニット220)及びターゲット結果(勝ち取られた契約210)に影響を及ぼすからである。交絡因子の存在に基づいて、交絡因子(salesman_x230)から勝ち取られた契約210へのパスがブロック可能であるか否かが判定され得る。図2AのDAG200aにおいて、ビジネスユニット220を経由するパスは、salesman_x230を観察することによりブロック可能であり、したがって、このバックドアパスはブロックされ得る。さらに、salesman_x230と勝ち取られた契約210との間の直接的なパスは、usa_region240を観察することによりブロックされる。したがって、ビジネスユニット220は、ビジネスユニット220と勝ち取られた契約210との間の因果効果が決定され得るように、十分に分離され得る。因果効果は、例えば、式1を使用して定量化され得る。
【0030】
いくつかの実施形態において、usa_region240及び/又はsalesman_x230の因果効果も決定され得、説明が、ビジネスユニット220、salesman_x230、及びusa_region240の間での最も高い因果効果に基づいて生成され得る。これらの実施形態及び他の実施形態において、説明が提示されたユーザは、仮定を変更し、ユーザにより追加された他の変数及び/又は他の仮定に基づいて他の説明を決定するための分析を再度適用することができる。例えば、salesman_x230とビジネスユニット220との間の有向エッジが除去され得、異なる有向エッジが、salesman_x230とusa_region240との間に導入され得る。ユーザが説明に満足していない場合、ユーザは、ユーザが満足する説明を受け取るまで、仮定を変更し続けることができる。
【0031】
図2Bを参照すると、関心変数としてガスケット221の購入を、ターゲット結果として調理器211の購入を、分析するとき(例えば、ガスケット221の購入は入力であり、調理器の購入は出力である)、交絡因子がDAG200bにおいて存在するか否かが判定され得る。好奇心231は、交絡因子として作用し得る。なぜならば、好奇心231は、関心変数(ガスケット221)及びターゲット結果(調理器211)に影響を及ぼすからである。交絡因子の存在に基づいて、交絡因子(好奇心231)から調理器211へのパスがブロック可能であるか否かが判定され得る。図2BのDAG200bにおいて、好奇心231を経由するパスは、好奇心231を観察することによりブロック可能であり、したがって、このバックドアパスはブロックされ得る。例えば、ガスケット221及び/又は調理器211とインタラクトしているときにユーザがどのようなクリックを行ったかに加えて、どのようなサイト又は検索が、調理器211を購入するためのサイトに辿りつくゲートウェイであったかをモニタリング及び/又は分析することを利用して、好奇心231を制御することができる。したがって、ガスケット221は、ガスケット221と調理器211との間の因果効果が決定され得るように、十分に分離され得る。因果効果は、例えば、式1を使用して定量化され得る。
【0032】
いくつかの実施形態において、好奇心231の因果効果も決定され得、説明が、ガスケット221及び好奇心231の間での最も高い因果効果に基づいて生成され得る。これらの実施形態及び他の実施形態において、説明が提示されたユーザは、仮定を変更し、他の仮定に基づいて他の説明を決定するための分析を再度適用することができる。ユーザが説明に満足していない場合、ユーザは、ユーザが満足する説明を受け取るまで、仮定を変更し続けることができる。
【0033】
図2Cを参照すると、関心変数として薬222を、ターゲット結果として回復212を分析するとき(例えば、薬222は入力であり、回復212は出力である)、交絡因子がDAG200cにおいて存在するか否かが判定され得る。運動232は、交絡因子として作用し得る。なぜならば、運動232は、関心変数(薬222)及びターゲット結果(回復212)に影響を及ぼすからである。交絡因子の存在に基づいて、交絡因子(運動232)から回復212へのパスがブロック可能であるか否かが判定され得る。図2CのDAG200cにおいて、運動232を経由するパスは、運動232を観察することによりブロック可能であり、したがって、このバックドアパスはブロックされ得る。例えば、フィットネス追跡アプリケーション及び/又はデバイスを使用して、患者がどのような運動を行ったかをモニタリング及び/又は分析することを利用して、運動232を制御することができる。したがって、薬222は、薬222と回復212との間の因果効果が決定され得るように、十分に分離され得る。因果効果は、例えば、式1を使用して定量化され得る。
【0034】
いくつかの実施形態において、運動232及び/又は飲食習慣242の因果効果も決定され得、説明が、薬222、運動232、及び飲食習慣242の間での最も高い因果効果に基づいて生成され得る。これらの実施形態及び他の実施形態において、説明が提示されたユーザは、仮定を変更し、他の仮定に基づいて他の説明を決定するための分析を再度適用することができる。ユーザが説明に満足していない場合、ユーザは、ユーザが満足する説明を受け取るまで、仮定を変更し続けることができる。
【0035】
当業者は、本開示を検討した後、本開示の範囲から逸脱することなく、図2A図2Cに対して変更、追加、又は省略が可能であることが理解できるであろう。例えば、DAG200a~200cは、任意の数のノード及びエッジを含んでもよく、アプリケーションは、図2A図2Cの単純化された例に示されているのよりも多くのノード及びエッジを有する可能性がある。別の例として、DAG200a~200cは、ユーザが異なる仮定を提供すると、時間に応じて変更され得る。
【0036】
図3A及び図3Bは、機械学習システムのための因果関係を決定するプロセス300の一実施形態を示すフロー図を示している。プロセス300は、本開示に記載の少なくとも1つの実施形態に従って構成され得る。プロセス300の1つ以上の動作は、図1のシステム100、機械学習システム110、ユーザインタラクションモジュール120、及び/又は因果関係モジュール130、図4のコンピューティングシステム等、システム、デバイス、又はこれらの組み合わせにより実行され得る。例示の目的のために、様々なブロックが、図1の機械学習システム110、ユーザインタラクションモジュール120、及び/又は因果関係モジュール130により潜在的に実行されるものとして特定される。これらの実施形態及び他の実施形態において、プロセス300は、1つ以上の非一時的なコンピュータ読み取り可能な媒体に記憶されている命令の実行に基づいて実行され得る。別個のブロックとして図示されているが、プロセス300の様々なブロックは、所望される実装に応じて、追加のブロックに分割されることもあるし、より少ないブロックに組み合わせられることもあるし、除去されることもある。例示の目的のために、プロセス300のブロックが、図2CのDAG200cを参照しながら説明され得る。
【0037】
ブロック305において、機械学習システムにおけるターゲット結果に関連付けられる1つ以上の仮定が、ユーザから取得され得る。例えば、ユーザインタフェースモジュール(図1のユーザインタラクションモジュール120等)は、結果の変数を含み得る、機械学習システム(図1の機械学習システム110等)の出力を、ユーザに提供することができる。いくつかの実施形態において、ユーザは、様々な変数及び/又は結果の間の有向関係を指定することにより、仮定を提供することができる。
【0038】
図2Cの例を参照すると、ユーザは、薬222に対する運動232の影響が存在するという仮定を指定することができる。
【0039】
ブロック310において、1つ以上の変数が特定され得る。例えば、ユーザにより指定されたターゲット結果についての変数が特定され得る。いくつかの実施形態において、変数の特定は、機械学習システムの結果を分析又は取得することを含み得る(例えば、どのような変数が、ターゲット結果についての閾値を超える相関又は関係を有するか)。いくつかの実施形態において、ブロック310は、因果効果が決定され得るターゲット変数を特定することを含み得る。
【0040】
図2Cの例を参照すると、ユーザは、関心変数として薬222を、ターゲット結果として回復212を、指定することができる。
【0041】
ブロック315において、変数が、DAGとして表現され得る。例えば、DAGは、変数と結果との間の関係をグラフィカルに表現する因果関係モジュール130(図1の因果関係モジュール130等)により生成され得る。これらの実施形態及び他の実施形態において、DAGは、ブロック305の仮定に部分的に基づいて生成され得る。例えば、仮定は、DAGにおいて、変数及び/又は結果のうちの1つ以上の間に有向エッジをもたらし得る。
【0042】
図2Cの例を参照すると、DAG200cが、既知の相関/因果関係及び/又はユーザからの仮定(例えば、運動232と薬222との間の接続/連結)に基づいて生成され得る。
【0043】
ブロック320において、交絡因子がブロック315のDAGにおいて存在するか否かが判定され得る。例えば、所与の変数について、所与の変数及びターゲット結果に影響を及ぼす他の変数が存在するか否かが、因果関係モジュール130により判定され得る。交絡因子がDAGにおいて存在する場合、プロセス300は、ブロック325に進み得る。交絡因子がDAGにおいて存在しない場合、プロセス300は、図3Bにつながる節Aを介してブロック340に進み得る。
【0044】
図2Cの例を参照すると、運動232が、交絡因子として特定され得る。なぜならば、運動232は、薬222及び回復212の両方に影響を及ぼすからである。
【0045】
ブロック325において、DAGにおける交絡因子を含む全てのパス(例えばバックドアパス)がブロック可能であるか否かが判定され得る。例えば、所与の関心変数及びターゲット結果について、所与の関心変数とターゲット結果との間のパスが、交絡因子により影響が及ぼされるかどうかが、因果関係モジュール130により判定され得る。例えば、所与の交絡因子とターゲット結果との間のバックドアパスが、合流点ノードを含み、合流点ノード及びその子孫が、ブロック変数の集合外であるかどうかが、判定され得る(例えば、合流点ノード及びその子孫は、そのようなバックドアパスをブロックするために観察され得ない)。DAGにおける交絡因子を含む全てのパス(例えば、全てのバックドアパス)がブロック可能である場合、プロセス300は、ブロック335に進み得る。DAGにおける交絡因子を含む全てのパス(例えば、全てのバックドアパス)がブロック可能であるわけではない場合、プロセス300は、ブロック330に進み得る。
【0046】
図2Cの例を参照すると、運動232を制御することができるかどうかが判定され得る。
【0047】
ブロック330において、不十分な因果関係証拠であるというメッセージが出力され得る。例えば、因果関係モジュール130は、関心変数が十分には分離され得ないことを示すそのようなメッセージを出力することができる。いくつかの実施形態において、そのようなメッセージは、ターゲット結果の因果関係の説明を提供するためにどのような追加の情報又は仮定が十分な情報を提供し得るかのインジケーションを含み得る。そのようなメッセージの出力は、因果関係の説明(図1の説明140等)とみなされ得、プロセス300は、図3Bにつながる節Bを介してブロック365に進み得る。
【0048】
図2Cの例を参照すると、運動232を制御することができないとみなされた場合、出力メッセージは、運動232が回復212に影響を及ぼし得、運動232を制御することができないので、不十分な因果関係証拠が存在することを示し得る。
【0049】
ブロック335において、交絡因子を含む全てのパスがブロックされ得る。例えば、因果関係モジュール130は、合流点ノード及びその子孫を、観察されないものとして維持することができ、関心変数とターゲット結果との間のバックドアパスにおける他のノードを観察することができる。ブロック335の後、プロセス300は、図3Bにつながる節Aを介してブロック340に進み得る。
【0050】
図2Cの例を参照すると、運動232から回復212へのパスが、例えば、運動232を制御及び観察することにより、ブロックされ得る。上述したように、運動232を制御及び/又は観察することは、フィットネス追跡アプリケーション又はデバイスを使用して患者の運動習慣をモニタリングすることにより、実現され得る。
【0051】
ブロック340において、変数についての因果効果が推定され得る。例えば、因果関係モジュール130は、変数についての因果効果を推定することができる。いくつかの実施形態において、そのような推定は、式1に基づく定量化を含み得る。これらの実施形態及び他の実施形態において、ブロック340の推定は、単一の関心変数に基づき得、検討中の変数の各々が、関連付けられる因果効果を有するようになるまで、ブロック320~340のうちの1つ以上が、検討中の変数の各々について反復的に繰り返され得る。
【0052】
図2Cの例を参照すると、運動232を制御した後、薬222の因果効果が推定され得る。ブロック320~340が、飲食習慣242及び運動232についての因果効果推定値を決定するために反復的に繰り返され得る。
【0053】
ブロック345において、ターゲット結果の因果関係説明が、変数についての因果効果に基づいて生成され得る。例えば、因果関係モジュール130は、ターゲット結果についての原因として、最も高い因果効果を有する変数を選択することができ、最も高い因果効果を有する変数がターゲット結果を生じさせたとして、因果関係説明(図1の説明140等)を生成することができる。
【0054】
図2Cの例を参照すると、薬222、運動232、及び飲食習慣242のうちどれが最も高い因果効果を有するかが、ターゲット結果を生じさせたものとして、因果関係説明において特定され得る。例えば、薬222が、最も高い因果効果を有する場合、薬222が、回復212の原因を説明するものとして特定され得る。
【0055】
ブロック350において、分析されるべき他のターゲット結果及び/又は変数が存在するか否かが判定され得る。例えば、因果関係モジュール130は、複数のターゲット結果を分析し、複数のターゲット結果の各々に対応する説明を提供するよう構成され得る。別の例として、因果関係モジュール130は、複数の変数を分析することができる。分析されるべき他のターゲット結果及び/又は変数が存在すると判定された場合、プロセス300は、図3Aに戻る節Cを介してブロック305に戻り得る。分析されるべき他のターゲット結果及び/又は変数が存在しないと判定された場合、プロセス300は、ブロック355に進み得る。
【0056】
図2Cの例を参照すると、回復212が、分析される唯一のターゲット結果であり、したがって、プロセス300は、ブロック355に進み得る。
【0057】
ブロック355において、因果関係説明がユーザに提供され得る。
【0058】
図2Cの例を参照すると、薬222が最も高い因果効果を有するという仮定に従って、薬222が回復212を生じさせたという、ブロック345の因果関係説明が、提供され得る。
【0059】
ブロック360において、機械学習システムの正確度が、因果関係説明及び/又は350において提供された因果関係説明に基づくDAGに対するユーザフィードバック又は変更に基づいて、決定され得る。例えば、因果関係モジュール及び/又は機械学習システムは、ユーザの反復的な応答をモニタリングして、DAGに対してユーザによりなされた変更又は仮定を調整することができる。ユーザによりなされた変更及び変化を分析することにより、因果関係モジュールは、機械学習システムの正確度を決定することができる。追加的又は代替的に、因果関係の向き(方向)が、より優れた正確度を機械学習システムに提供してもよい。例えば、因果関係モジュールは、ユーザにより提供された反復的なフィードバックにおいてユーザによりなされた変更により決定されるように(例えば、ブロック365に示されているように、ブロック305に戻って)、DAGにおける誤った仮定若しくは正しくない相関又は有向接続/連結の機械学習システム特定を提供することができる。機械学習システムは、この情報を使用して、将来においてより正確な分析を提供することができる。例えば、図2Bに示されているDAG200bの例に従うと、ユーザからのフィードバックが、ガスケットを購入することと圧力鍋を購入することとの間に有向接続/連結が存在しないことを示すように仮定を変更した場合、将来において、機械学習システムは、ユーザが圧力鍋を購入するときにガスケットのレコメンデーションを提供することができるが、ユーザがガスケットを購入するときに圧力鍋のレコメンデーションを提供しない。
【0060】
図2Cの例を参照すると、因果関係説明及びユーザによりなされた仮定に対する変更に基づいて、初期DAG200cを生成するために使用された機械学習システムの初期正確度が決定され得る。追加的又は代替的に、機械学習システムは、ユーザによりなされた仮定に対する変更の情報を使用して、将来においてより正確な機械学習分析を提供してもよい。
【0061】
ブロック365において、ユーザが説明に満足しているか否かが判定され得る。例えば、因果関係モジュールは、ユーザインタラクションモジュールを介して、ユーザが説明に満足しているか否かの2値形式の問い合わせを、ユーザに提供することができる。別の例として、ユーザは、1つ以上の仮定を調整し、調整された仮定に基づく説明に対する変更を観察するように、勧められ得る。追加の例として、不十分な因果関係証拠であるというメッセージを出力するときに、ブロック330において特定された追加の情報又は仮定を提供する機会が、ユーザに提供され得る。ユーザの応答に基づいて、因果関係モジュールは、ユーザが説明に満足しているか否かを判定することができる。(例えば、ユーザが、2値形式の問い合わせに対して肯定的な応答を選択したので)ユーザが説明に満足していると判定された場合、プロセス300は、ブロック370に進んで、プロセスが終了し得る。ユーザが説明に満足していないと判定された場合、プロセス300は、図3Aに戻る節Cを介してブロック305に戻り得る。
【0062】
図2Cの例を参照すると、ユーザは、説明(例えば、薬222が回復212を生じさせたこと)に満足しているか否かについて問い合わせられ得る。ユーザが、運動と飲食習慣との間の仮定される因果関係も因果分析に影響を及ぼすかどうかを分析することを望む場合、DAG200cが、運動232から飲食習慣への有向エッジを用いて更新され得、プロセス300が繰り返され得る。別の例として、ユーザが、患者の年齢、患者の喫煙履歴等といった他の変数を含めることを望む場合、ユーザは、さらなる詳細及び/又はさらなる複雑さを因果分析に追加するために、関連付けられた仮定を伴う追加の変数を追加することができる。
【0063】
ブロック370において、プロセス300は終了し得る。
【0064】
当業者は、本開示を検討した後、本開示の範囲から逸脱することなく、プロセス300に対して変更、追加、又は省略が可能であることが理解できるであろう。例えば、プロセス300の動作は、異なる順序で実行されることがある。追加的又は代替的に、2つ以上の動作が、同時に実行されることもある。さらに、説明された動作及びステップは、例として提供されており、動作及びステップのうちの一部は、開示されている実施形態の本質を損なうことなく、任意的であることもあるし、より少ない動作及びステップに組み合わせられることもあるし、追加の動作及びステップに拡張されることもある。
【0065】
図4は、本開示に記載の少なくとも1つの実施形態に従った、機械学習システムにおける因果関係を決定するための例示的なコンピューティングシステム400を示している。コンピューティングシステム400は、プロセッサ410、メモリ420、データストレージ430、及び/又は通信ユニット440を含み得、これらの全てが、通信可能に接続され得る。図1のシステム100のいずれか又は全てが、コンピューティングシステム400と整合するコンピューティングシステムとして実装され得る。例えば、機械学習システム110、ユーザインタラクションモジュール120、及び因果関係モジュール130は、単一のコンピューティングシステムとして、一緒に実装され得る。別の例として、機械学習システム110は、1つのコンピューティングシステムとして実装され得るのに対し、因果関係モジュール130及びユーザインタラクションモジュール120は、別個のコンピューティングシステムとして実装され得る。追加の例として、機械学習システム110は、1つのコンピューティングシステムとして実装され得、因果関係モジュール130は、別のコンピューティングシステムとして実装され得、ユーザインタラクションモジュール120は、追加のコンピューティングシステムとして実装され得る。これらの実施形態及び他の実施形態において、コンピューティングシステム400は、図3A図3Bにおいて特定される動作等の特定の従来にはない動作を実行するよう構成されている特殊化されたコンピューティングシステムであり得る。
【0066】
概して、プロセッサ410は、様々なコンピュータハードウェア又はソフトウェアモジュールを含む任意の適切な専用又は汎用のコンピュータ、コンピューティングエンティティ、又は処理デバイスを含み得、任意の適用可能なコンピュータ読み取り可能な記憶媒体に記憶されている命令を実行するよう構成され得る。例えば、プロセッサ410は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又は、プログラム命令を解釈及び/又は実行し、且つ/又はデータを処理するよう構成されている任意の他のデジタル回路若しくはアナログ回路を含み得る。
【0067】
プロセッサ410は、図4において1つのプロセッサとして示されているが、プロセッサ410は、本開示に記載の任意の数の動作を個別的又は集合的に実行するよう構成されている、任意の数のネットワーク又は物理的位置にわたって分散される任意の数のプロセッサを含んでもよいことが理解されよう。いくつかの実施形態において、プロセッサ410は、メモリ420、データストレージ430、又はメモリ420とデータストレージ430との両方に記憶されているプログラム命令を解釈及び/又は実行し、且つ/又は、メモリ420、データストレージ430、又はメモリ420とデータストレージ430との両方に記憶されているデータを処理することができる。いくつかの実施形態において、プロセッサ410は、データストレージ430からプログラム命令をフェッチして、プログラム命令をメモリ420にロードすることができる。
【0068】
プログラム命令がメモリ420にロードされた後、プロセッサ410は、図3A及び図3Bのプロセス300を実行するための命令等のプログラム命令を実行することができる。例えば、プロセッサ410は、機械学習システムの結果における因果関係を決定すること及び因果関係に関する説明を生成することに関する命令を取得することができる。別の例として、プロセッサ410は、説明をもたらす仮定に対するユーザ変更を分析し、仮定に対するこのような変更に基づいて、機械学習システムの正確度を決定することができる。
【0069】
メモリ420及びデータストレージ430は、コンピュータ実行可能な命令又はデータ構造を運ぶ又は記憶する1つ以上のコンピュータ読み取り可能な記憶媒体を含み得る。そのようなコンピュータ読み取り可能な記憶媒体は、プロセッサ410等の汎用又は専用のコンピュータによりアクセスされ得る任意の利用可能な媒体を含み得る。いくつかの実施形態において、コンピューティングシステム400は、メモリ420及びデータストレージ430の一方を含むこともあるし、メモリ420及びデータストレージ430の両方を含まないこともある。
【0070】
限定ではなく例として、そのようなコンピュータ読み取り可能な記憶媒体は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、コンパクトディスク読み取り専用メモリ(CD-ROM)若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリデバイス(例えば、ソリッドステートメモリデバイス)、又は、コンピュータ実行可能な命令又はデータ構造の形態の所望のプログラムコードを運ぶ又は記憶するために使用され得る任意の他の記憶媒体であって、汎用又は専用のコンピュータによりアクセスされ得る任意の他の記憶媒体、を含む非一時的なコンピュータ読み取り可能な記憶媒体を含み得る。上記の組み合わせも、コンピュータ読み取り可能な記憶媒体の範囲に含まれ得る。コンピュータ実行可能な命令は、例えば、プロセッサ410に所定の動作又は動作群を実行させるよう構成されている命令及びデータを含み得る。
【0071】
通信ユニット440は、ネットワークを介して情報を送信又は受信するよう構成されている任意のコンポーネント、デバイス、システム、又はこれらの組み合わせを含み得る。いくつかの実施形態において、通信ユニット440は、他の位置にある他のデバイス、同じ位置にある他のデバイス、又は、同じシステム内の他のコンポーネントと通信することができる。例えば、通信ユニット440は、モデム、ネットワークカード(無線又は有線)、赤外線通信デバイス、光通信デバイス、無線通信デバイス(アンテナ等)、及び/若しくはチップセット(Bluetooth(登録商標)デバイス、802.6デバイス(例えばメトロポリタンエリアネットワーク(MAN))、Wi-Fi(登録商標)デバイス、WiMAX(登録商標)デバイス、セルラ通信設備等)、並びに/又は同様のものを含み得る。通信ユニット440は、ネットワークとの間で且つ/又は本開示に記載の任意の他のデバイス又はシステムとの間でデータが交換されることを可能にし得る。例えば、通信ユニット440は、コンピューティングデバイス及び/又は他のネットワーク等の他のシステムとシステム400が通信することを可能にし得る。
【0072】
当業者は、本開示を検討した後、本開示の範囲から逸脱することなく、システム400に対して、変更、追加、又は省略が可能であることが理解できるであろう。例えば、システム400は、明示的に図示及び説明されたコンポーネントよりも多い又は少ないコンポーネントを含んでもよい。
【0073】
上記の開示は、本開示を、開示されている正確な形態又は特定の使用分野に限定するようには意図されていない。そのようなものとして、本開示に対する様々な代替実施形態及び/又は変更実施形態が、本出願において明示的に説明されているか又は暗示されているかにかかわらず、本開示に鑑みて可能であることが企図されている。したがって、本開示の実施形態を説明したが、本開示の範囲から逸脱することなく、形態及び詳細において変更が可能であることが理解されよう。したがって、本開示は、請求項によってのみ限定される。
【0074】
いくつかの実施形態において、本開示に記載の異なるコンポーネント、モジュール、エンジン、及びサービスは、コンピューティングシステム上で実行されるオブジェクト又はプロセスとして(例えば、別個のスレッドとして)実装され得る。本開示に記載のシステム及び方法のうちの一部は、(汎用ハードウェアに記憶される且つ/又は汎用ハードウェアにより実行される)ソフトウェアにより実装されるとして一般に説明されるが、特定のハードウェア実装又はソフトウェアと特定のハードウェア実装との組み合わせも可能であり企図されている。
【0075】
本開示及び特に請求項(例えば、請求項の本体部分)において使用される用語は、一般に、「オープンな」用語であるとして意図される(例えば、「~を備える」という用語は、「~を備えるが、~に限定されるものではない」として解釈されるべきであり、「~を有する」という用語は、「少なくとも~を有する」として解釈されるべきであり、「~を含む」という用語は、「~を含むが、~に限定されるものではない」として解釈されるべきである、等)。
【0076】
さらに、導入される請求項記載事項の特定の数が意図される場合、そのような意図は、当該請求項中に明示的に記載され、そのような記載がない場合、そのような意図は存在しない。例えば、理解の助けとして、請求項中に、請求項記載事項を導入するための「少なくとも1つの」及び「1つ以上の」といった導入句の使用が含まれることがある。しかしながら、このような導入句の使用は、「a」又は「an」といった不定冠詞による請求項記載事項の導入が、同一の請求項中に「1つ以上の」又は「少なくとも1つの」といった導入句と「a」又は「an」といった不定冠詞とが含まれるとしても、当該導入された請求項記載事項を含む特定の請求項が、当該請求項記載事項を1つしか含まない実施形態に限定されることを意味するとして解釈されるべきではない(例えば、「a」及び/又は「an」は、「少なくとも1つの」又は「1つ以上の」を意味するとして解釈されるべきである)。請求項記載事項を導入するために使用される定冠詞の使用についても同じことが当てはまる。
【0077】
さらに、導入される請求項記載事項の特定の数が明示的に記載されている場合であっても、そのような記載は、少なくとも記載されている数を意味するとして解釈されるべきである(例えば、他の修飾語のない「2つの記載事項」という単なる記載は、少なくとも2つの記載事項又は2つ以上の記載事項を意味する)ことが、当業者であれば認識されよう。さらに、「A、B、及びC等のうちの少なくとも1つ」又は「A、B、及びC等のうちの1つ以上」に類する表記が使用される場合、一般に、そのような構造は、Aのみ、Bのみ、Cのみ、A及びBの両方、A及びCの両方、B及びCの両方、又は、A、B、及びCの全て、等を含むことが意図される。例えば、「及び/又は」という用語の使用は、このように解釈されることが意図される。
【0078】
さらに、2つ以上の選択可能な用語を表すいかなる離接語又は離接句も、明細書、特許請求の範囲、又は図面のいずれであろうと、それら用語のうちの1つ、それらの用語の組み合わせ、又は、それらの用語の全てを含む可能性を意図するとして理解されるべきである。例えば、「A又はB」という句は、「A」若しくは「B」又は「A及びB」の可能性を含むとして理解されるべきである。
【0079】
さらに、「第1の」、「第2の」、「第3の」等といった用語は、本開示において、特定の順序を意味するように必ずしも使用されるとは限らない。一般に、「第1の」、「第2の」、「第3の」等といった用語は、異なる要素を区別するために使用される。「第1の」、「第2の」、「第3の」等といった用語が特定の順序を意味するという説明がなければ、これらの用語は、特定の順序を意味するとして理解されるべきではない。
【0080】
本開示において記載された全ての例及び条件付き文言は、当該技術を促進させるために本発明者によって寄与されるコンセプト及び本発明を読者が理解するのを助ける教育上の目的のために意図され、そのような具体的に記載された例及び条件に限定されるものではないとして解釈されるべきである。本開示の実施形態が詳細に説明されたが、それらの実施形態に対する様々な変形、置換、及び変更が、本開示の主旨及び範囲から逸脱することなく可能であることを理解されたい。
【0081】
開示されている実施形態の上記の説明は、当業者が本開示を製造又は使用することを可能にするよう提供されている。それらの実施形態に対する様々な変更が、当業者には明らかであり、本開示において定められている一般的原理は、本開示の主旨又は範囲から逸脱することなく、他の実施形態に適用可能である。したがって、本開示は、例示されている実施形態に限定されるようには意図されておらず、本出願において開示されている原理及び新規な特徴と整合する最も広い範囲に従って解釈されるべきである。
【0082】
以上の実施形態に関し、さらに以下の付記を開示する。
【0083】
(付記1)
ユーザから、機械学習システムにおけるターゲット結果に関連付けられる1つ以上の仮定を取得するステップと、
前記ターゲット結果についての因果関係候補を表す複数の変数を特定するステップと、
前記複数の変数の各変数についての因果効果を推定するステップと、
前記複数の変数についての前記因果効果に基づいて、前記ターゲット結果の因果関係説明を生成するステップと、
前記因果関係説明を前記ユーザに提供するステップと、
を含む方法。
【0084】
(付記2)
前記1つ以上の仮定を取得することは、
少なくとも1つの変数と前記ターゲット結果との間の仮定される因果関係を受け取ることと、
前記複数の変数を、有向非巡回グラフ(DAG)として表現することであって、前記DAGは、前記少なくとも1つの変数から前記ターゲット結果へと流れる少なくとも1つのエッジを含む、表現することと、
を含む、付記1に記載の方法。
【0085】
(付記3)
前記因果効果を推定することは、
前記少なくとも1つの変数に関連する1つ以上の変数を含み、前記ターゲット結果に影響を及ぼす交絡因子が、前記DAGにおいて存在するか否かを識別することと、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるかどうかを判定することと、
を含む、付記2に記載の方法。
【0086】
(付記4)
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるという判定に基づいて、前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスをブロックすること
を含む、付記3に記載の方法。
【0087】
(付記5)
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるわけではないという判定に基づいて、不十分な因果関係証拠を示すメッセージを出力すること
を含む、付記3に記載の方法。
【0088】
(付記6)
前記ユーザからの変更された仮定に基づいて、前記方法を反復的に繰り返すステップ
をさらに含む、付記1に記載の方法。
【0089】
(付記7)
前記複数の変数は、前記機械学習システムの出力である、付記1に記載の方法。
【0090】
(付記8)
前記因果関係説明は、前記複数の変数の前記因果効果のうちの最も高い因果効果を有する所与の変数が前記ターゲット結果を生じさせているとして特定されるように、前記最も高い因果効果に基づく、付記1に記載の方法。
【0091】
(付記9)
前記因果関係説明に基づいて、前記機械学習システムの正確度を決定するステップ
をさらに含む、付記1に記載の方法。
【0092】
(付記10)
命令を含む非一時的なコンピュータ読み取り可能な媒体であって、前記命令がプロセッサにより実行されたときに、前記命令はデバイスに複数の動作を実行させ、前記複数の動作は、
ユーザから、機械学習システムにおけるターゲット結果に関連付けられる1つ以上の仮定を取得する動作と、
前記ターゲット結果についての因果関係候補を表す複数の変数を特定する動作と、
前記複数の変数の各変数についての因果効果を推定する動作と、
前記複数の変数についての前記因果効果に基づいて、前記ターゲット結果の因果関係説明を生成する動作と、
前記因果関係説明を前記ユーザに提供する動作と、
を含む、非一時的なコンピュータ読み取り可能な媒体。
【0093】
(付記11)
前記1つ以上の仮定を取得することは、
少なくとも1つの変数と前記ターゲット結果との間の仮定される因果関係を受け取ることと、
前記複数の変数を、有向非巡回グラフ(DAG)として表現することであって、前記DAGは、前記少なくとも1つの変数から前記ターゲット結果へと流れる少なくとも1つのエッジを含む、表現することと、
を含む、付記10に記載の非一時的なコンピュータ読み取り可能な媒体。
【0094】
(付記12)
前記因果効果を推定することは、
前記少なくとも1つの変数に関連する1つ以上の変数を含み、前記ターゲット結果に影響を及ぼす交絡因子が、前記DAGにおいて存在するか否かを識別することと、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるかどうかを判定することと、
を含む、付記11に記載の非一時的なコンピュータ読み取り可能な媒体。
【0095】
(付記13)
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるという判定に基づいて、前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスをブロックすること
を含む、付記12に記載の非一時的なコンピュータ読み取り可能な媒体。
【0096】
(付記14)
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるわけではないという判定に基づいて、不十分な因果関係証拠を示すメッセージを出力すること
を含む、付記12に記載の非一時的なコンピュータ読み取り可能な媒体。
【0097】
(付記15)
前記命令は、前記ユーザからの変更された仮定に基づいて、前記複数の動作を反復的に繰り返すようさらに構成されている、付記10に記載の非一時的なコンピュータ読み取り可能な媒体。
【0098】
(付記16)
前記複数の変数は、前記機械学習システムの出力である、付記10に記載の非一時的なコンピュータ読み取り可能な媒体。
【0099】
(付記17)
前記因果関係説明は、前記複数の変数の前記因果効果のうちの最も高い因果効果を有する所与の変数が前記ターゲット結果を生じさせているとして特定されるように、前記最も高い因果効果に基づく、付記10に記載の非一時的なコンピュータ読み取り可能な媒体。
【0100】
(付記18)
前記複数の動作は、
前記因果関係説明に基づいて、前記機械学習システムの正確度を決定する動作
をさらに含む、付記10に記載の非一時的なコンピュータ読み取り可能な媒体。
【0101】
(付記19)
システムであって、
1つ以上のプロセッサと、
命令を含む1つ以上の非一時的なコンピュータ読み取り可能な媒体であって、前記命令が前記1つ以上のプロセッサにより実行されたときに、前記命令は前記システムに複数の動作を実行させ、前記複数の動作は、
ユーザから、機械学習システムにおけるターゲット結果に関連付けられる1つ以上の仮定を取得する動作と、
前記ターゲット結果についての因果関係候補を表す複数の変数を特定する動作と、
前記複数の変数の各変数についての因果効果を推定する動作と、
前記複数の変数についての前記因果効果に基づいて、前記ターゲット結果の因果関係説明を生成する動作と、
前記因果関係説明を前記ユーザに提供する動作と、
を含む、1つ以上の非一時的なコンピュータ読み取り可能な媒体と、
を有するシステム。
【0102】
(付記20)
前記1つ以上の仮定を取得することは、
少なくとも1つの変数と前記ターゲット結果との間の仮定される因果関係を受け取ることと、
前記複数の変数を、有向非巡回グラフ(DAG)として表現することであって、前記DAGは、前記少なくとも1つの変数から前記ターゲット結果へと流れる少なくとも1つのエッジを含む、表現することと、
を含む、付記19に記載のシステム。
【符号の説明】
【0103】
100 システム
110 機械学習システム
120 ユーザインタラクションモジュール
130 因果関係モジュール
140 説明
400 (コンピューティング)システム
410 プロセッサ
420 メモリ
430 データストレージ
440 通信ユニット
図1
図2A
図2B
図2C
図3A
図3B
図4