(57)【要約】【課題】機械学習システムのための因果関係を決定する方法及びシステムを提供すること。【解決手段】方法は、ユーザから、機械学習システムにおけるターゲット結果に関連付けられ得る１つ以上の仮定を取得するステップを含む方法を含み得る。この方法はまた、前記ターゲット結果についての因果関係候補を表し得る複数の変数を特定するステップを含み得る。この方法は、前記複数の変数の各変数についての因果効果を推定するステップと、前記複数の変数についての前記因果効果に基づいて、前記ターゲット結果の因果関係説明を生成するステップと、をさらに含み得る。この方法はまた、前記因果関係説明を前記ユーザに提供するステップを含み得る。【選択図】図１
2019194849.tif 000002
【特許請求の範囲】
【請求項１】
ユーザから、機械学習システムにおけるターゲット結果に関連付けられる１つ以上の仮定を取得するステップと、
前記ターゲット結果についての因果関係候補を表す複数の変数を特定するステップと、
前記複数の変数の各変数についての因果効果を推定するステップと、
前記複数の変数についての前記因果効果に基づいて、前記ターゲット結果の因果関係説明を生成するステップと、
前記因果関係説明を前記ユーザに提供するステップと、
を含む方法。
【請求項２】
前記１つ以上の仮定を取得することは、
少なくとも１つの変数と前記ターゲット結果との間の仮定される因果関係を受け取ることと、
前記複数の変数を、有向非巡回グラフ（DAG）として表現することであって、前記DAGは、前記少なくとも１つの変数から前記ターゲット結果へと流れる少なくとも１つのエッジを含む、表現することと、
を含む、請求項１に記載の方法。
【請求項３】
前記因果効果を推定することは、
前記少なくとも１つの変数に関連する１つ以上の変数を含み、前記ターゲット結果に影響を及ぼす交絡因子が、前記DAGにおいて存在するか否かを識別することと、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるかどうかを判定することと、
を含む、請求項２に記載の方法。
【請求項４】
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるという判定に基づいて、前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスをブロックすること
を含む、請求項３に記載の方法。
【請求項５】
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるわけではないという判定に基づいて、不十分な因果関係証拠を示すメッセージを出力すること
を含む、請求項３に記載の方法。
【請求項６】
前記ユーザからの変更された仮定に基づいて、前記方法を反復的に繰り返すステップ
をさらに含む、請求項１に記載の方法。
【請求項７】
前記複数の変数は、前記機械学習システムの出力である、請求項１に記載の方法。
【請求項８】
前記因果関係説明は、前記複数の変数の前記因果効果のうちの最も高い因果効果を有する所与の変数が前記ターゲット結果を生じさせているとして特定されるように、前記最も高い因果効果に基づく、請求項１に記載の方法。
【請求項９】
前記因果関係説明に基づいて、前記機械学習システムの正確度を決定するステップ
をさらに含む、請求項１に記載の方法。
【請求項１０】
命令を含む非一時的なコンピュータ読み取り可能な媒体であって、前記命令がプロセッサにより実行されたときに、前記命令はデバイスに複数の動作を実行させ、前記複数の動作は、
ユーザから、機械学習システムにおけるターゲット結果に関連付けられる１つ以上の仮定を取得する動作と、
前記ターゲット結果についての因果関係候補を表す複数の変数を特定する動作と、
前記複数の変数の各変数についての因果効果を推定する動作と、
前記複数の変数についての前記因果効果に基づいて、前記ターゲット結果の因果関係説明を生成する動作と、
前記因果関係説明を前記ユーザに提供する動作と、
を含む、非一時的なコンピュータ読み取り可能な媒体。
【請求項１１】
前記１つ以上の仮定を取得することは、
少なくとも１つの変数と前記ターゲット結果との間の仮定される因果関係を受け取ることと、
前記複数の変数を、有向非巡回グラフ（DAG）として表現することであって、前記DAGは、前記少なくとも１つの変数から前記ターゲット結果へと流れる少なくとも１つのエッジを含む、表現することと、
を含む、請求項１０に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項１２】
前記因果効果を推定することは、
前記少なくとも１つの変数に関連する１つ以上の変数を含み、前記ターゲット結果に影響を及ぼす交絡因子が、前記DAGにおいて存在するか否かを識別することと、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるかどうかを判定することと、
を含む、請求項１１に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項１３】
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるという判定に基づいて、前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスをブロックすること
を含む、請求項１２に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項１４】
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるわけではないという判定に基づいて、不十分な因果関係証拠を示すメッセージを出力すること
を含む、請求項１２に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項１５】
前記命令は、前記ユーザからの変更された仮定に基づいて、前記複数の動作を反復的に繰り返すようさらに構成されている、請求項１０に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項１６】
前記複数の変数は、前記機械学習システムの出力である、請求項１０に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項１７】
前記因果関係説明は、前記複数の変数の前記因果効果のうちの最も高い因果効果を有する所与の変数が前記ターゲット結果を生じさせているとして特定されるように、前記最も高い因果効果に基づく、請求項１０に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項１８】
前記複数の動作は、
前記因果関係説明に基づいて、前記機械学習システムの正確度を決定する動作
をさらに含む、請求項１０に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項１９】
システムであって、
１つ以上のプロセッサと、
命令を含む１つ以上の非一時的なコンピュータ読み取り可能な媒体であって、前記命令が前記１つ以上のプロセッサにより実行されたときに、前記命令は前記システムに複数の動作を実行させ、前記複数の動作は、
ユーザから、機械学習システムにおけるターゲット結果に関連付けられる１つ以上の仮定を取得する動作と、
前記ターゲット結果についての因果関係候補を表す複数の変数を特定する動作と、
前記複数の変数の各変数についての因果効果を推定する動作と、
前記複数の変数についての前記因果効果に基づいて、前記ターゲット結果の因果関係説明を生成する動作と、
前記因果関係説明を前記ユーザに提供する動作と、
を含む、１つ以上の非一時的なコンピュータ読み取り可能な媒体と、
を有するシステム。
【請求項２０】
前記１つ以上の仮定を取得することは、
少なくとも１つの変数と前記ターゲット結果との間の仮定される因果関係を受け取ることと、
前記複数の変数を、有向非巡回グラフ（DAG）として表現することであって、前記DAGは、前記少なくとも１つの変数から前記ターゲット結果へと流れる少なくとも１つのエッジを含む、表現することと、
を含む、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、機械学習システムのための因果関係に関する。
【背景技術】
【０００２】
機械学習システムは、データセットを分析し、様々な結果及び／又はこれらの結果に関連付けられた変数の間の相関を特定することができる。しかしながら、そのような相関は、関心変数とこれらの結果との間の因果関係を示すわけではない。例えば、傘を持ち運んでいる人と雨との間に相関が見出されたとしても、機械学習システムは、人が傘を持ち運ぶのを止めることが雨を止ませることにはならないことを認識しない。
【発明の概要】
【０００３】
本開示の１つ以上の実施形態は、ユーザから、機械学習システムにおけるターゲット結果に関連付けられ得る１つ以上の仮定を取得するステップを含む方法を含み得る。この方法はまた、前記ターゲット結果についての因果関係候補を表し得る複数の変数を特定するステップを含み得る。この方法は、前記複数の変数の各変数についての因果効果を推定するステップと、前記複数の変数についての前記因果効果に基づいて、前記ターゲット結果の因果関係説明を生成するステップと、をさらに含み得る。この方法はまた、前記因果関係説明を前記ユーザに提供するステップを含み得る。
【０００４】
実施形態の目的及び利点が、少なくとも請求項において特に示される要素、特徴、及び組み合わせにより、実現及び達成される。
【０００５】
前述の総括的な説明及び以下の詳細な説明の両方ともが、単に例であって説明的なものであり、限定的なものではないことを理解されたい。
【図面の簡単な説明】
【０００６】
例示的な実施形態が、添付の図面を使用して、より具体的且つ詳細に記載及び説明される。
【図１】機械学習システムのための因果関係を決定するために使用され得る例示的なシステムを示す図。
【図２Ａ】機械学習システムのための因果関係を決定する際に使用される例示的な有向非巡回グラフ（DAG）を示す図。
【図２Ｂ】機械学習システムのための因果関係を決定する際に使用される例示的な有向非巡回グラフ（DAG）を示す図。
【図２Ｃ】機械学習システムのための因果関係を決定する際に使用される例示的な有向非巡回グラフ（DAG）を示す図。
【図３Ａ】機械学習システムのための因果関係を決定する方法のフロー図。
【図３Ｂ】機械学習システムのための因果関係を決定する方法のフロー図。
【図４】例示的なコンピューティングシステムを示す図。
【発明を実施するための形態】
【０００７】
本開示は、機械学習システムのための因果関係の使用に関する。有向非巡回グラフ（DAG）を使用して、一連の変数及び少なくとも１つのターゲット結果をグラフィカルに表現することができ、ここで、これらの変数及び／又はターゲット結果のうちの１つ以上は、機械学習システムの出力であり得る。因果効果が、関心変数を十分に分離し、所与の関心変数についての因果効果を推定することにより、関心変数について定量化され得る。関心変数についての定量化された因果効果を使用して、どの変数がターゲット結果を生じさせているかの説明が提供され得る。そのようなアプローチは、機械学習システムの決定及び／又は機械学習システムの正確度の向上を促進することができる。さらに、そのようなアプローチは、因果関係及び関連付けられた説明を分析するためのより直感的で容易に理解しやすいインタフェースを提供する。
【０００８】
１つ以上の例示的な実施形態が、添付の図面を参照しながら説明される。
【０００９】
図１は、本開示の１つ以上の実施形態に従った、機械学習システムのための因果関係を決定するために使用され得る例示的なシステム１００を示す図である。システム１００は、機械学習システム１１０と、入力を因果関係モジュール１３０に提供することができるユーザインタラクションモジュール１２０と、を含み得る。因果関係モジュール１３０は、変数と結果との間の因果関係に関連付けられる説明１４０の決定を促進することができる。本開示において使用される場合、変数は、結果に影響を及ぼし得る又は他の形で潜在的に結果を生じさせ得る任意のアクティビティ、因子、属性等を含み得る。例えば、契約が会社により勝ち取られたことを結果が含む場合、変数は、その新たな契約に関連するビジネスユニットと、契約について交渉した営業員と、契約が勝ち取られた、世界の領域と、を含み得る。いくつかの実施形態において、そのような因果関係は、契約について交渉した営業員を理由として契約が勝ち取られた等の、変数と結果との間の説明をもたらし得る。これらの実施形態及び他の実施形態において、ユーザが、提供された説明に満足していない場合（例えば、説明が論理的でない等）、ユーザは、（例えば、１つ以上の仮定を調整するために）システム１００とインタラクトすることができ、因果関係が、再度検討され得る。
【００１０】
機械学習システム１１０は、データセットから関係及び／又は相関を特定するよう構成されている任意の機械学習システムを含み得る。例えば、機械学習システム１１０は、データセットを分析することにより、直接的であろうが間接的であろうが、結果に寄与する最も可能性が高い因子の集合を特定するよう構成され得る。一例として、機械学習システム１１０は、会社について勝ち取られた全ての契約や、会社について勝ち取られた契約なくなされた全ての売り込みを分析することができ、どの因子が契約の勝ち取りと相関しているかを特定することができる。別の例として、機械学習システム１１０は、ビジネスから、商品購入を分析するよう構成され得、関連商品、購入者の人口統計等といった因子を特定して、どの因子が商品の購入と相関しているかを特定することができる。さらなる例として、機械学習システム１１０は、患者健康データ及び所定の疾病に対する転帰を分析して、どの因子が、疾病に対する肯定的な転帰と相関しているかを特定するよう構成され得る。これらの実施形態及び他の実施形態において、機械学習システム１１０は、結果に寄与する因子及び／又は相関を、ユーザインタラクションモジュール１２０及び／又は因果関係モジュール１３０に提供することができる。
【００１１】
いくつかの実施形態において、機械学習システム１１０は、決定木学習、関連付けルール学習、クラスタリング、強化学習、表現学習、遺伝的アルゴリズム等といった任意の機械学習技術又は深層学習技術を使用して、動作することができる。いくつかの実施形態において、機械学習システム１１０を利用して、データセットにおける相関に基づいてレコメンデーションを提供すること等、タスクを実行することができる。
【００１２】
ユーザインタラクションモジュール１２０は、ユーザ入力を受け取る且つ／又は情報をユーザに提供するよう構成されている任意のデバイス、システム、又はこれらのコンポーネントを含み得る。例えば、ユーザインタラクションモジュール１２０は、機械学習システム１１０により決定された結果の変数の集合をユーザに提示することができる。これらの実施形態及び他の実施形態において、ユーザは、ユーザインタラクションモジュール１２０を利用して、これらの変数から、１つ以上の関心変数を特定することができる。例えば、ユーザは、ユーザが関心のあるものとして、所与の結果について変数の集合のサブセットを指定することができる。追加的又は代替的に、ユーザは、ユーザが関心のある結果として、特定の結果を示してもよい（例えば、ターゲット結果）。
【００１３】
いくつかの実施形態において、ユーザは、ユーザインタラクションモジュール１２０とインタラクトして、変数及び／又は結果のうちの１つ以上の間の仮定される又は考えられる因果関係に関する１つ以上の仮定を指定することができる。例えば、契約の例を参照すると、ユーザは、営業員とビジネスユニットとの間の仮定される有向関係（例えば、「営業員Xは、この特定のビジネスユニットで働いているときに、しばしば、良い働きをし、多くの営業実績を有する。」）を入力することができる。
【００１４】
因果関係モジュール１３０は、機械学習システム１１０からの入力（例えば、変数及び結果）とユーザインタラクションモジュール１２０からの入力（例えば、ユーザからの仮定及びターゲット結果）とを使用して、説明１４０を生成するよう構成されている任意のデバイス、システム、又はこれらのコンポーネントを含み得る。
【００１５】
いくつかの実施形態において、因果関係モジュール１３０は、変数とターゲット結果との間の関係及び／又は仮定を表現する有向非巡回グラフ（DAG）を構築することができる。図２Ａ〜図２Ｃは、そのようなDAGの例を示している。いくつかの実施形態において、DAGは、他の変数及び／又はターゲット結果に関連する変数に関する任意の既知の有向関係で始まり得る。DAGは、ユーザインタラクションモジュール１２０から受信された仮定に基づいて、有向エッジを追加することにより、拡張され得る。
【００１６】
いくつかの実施形態において、因果関係モジュール１３０は、仮定を含まないDAGを構築することがあり、ユーザインタラクションモジュール１２０を介して、DAGをユーザに視覚的に提示することがある。ユーザは、DAGのこの視覚的表現を利用して、関心変数及び／又はターゲット結果を選択することができる。追加的又は代替的に、ユーザは、DAGのこの視覚的表現を利用して、新たな関係を、仮定として指定又は作成してもよい。これらの実施形態及び他の実施形態において、DAGのこの視覚的表現は、ユーザインタラクションモジュール１２０のグラフィカルユーザインタフェース（GUI）又は任意の他のインタフェースを介して、アクセス及びインタラクトされ得る。
【００１７】
いくつかの実施形態において、因果関係モジュール１３０は、DAGを使用して、関心変数とターゲット結果との間の因果関係を特定するための十分な因果関係証拠が存在するか否かを分析することができる。そのような分析を実行するために、因果関係モジュール１３０は、DAGが交絡因子を含むか否かを判定することができる。本開示において使用される場合、交絡因子は、関心変数のうちの１つ以上及びターゲット結果に影響を及ぼす任意の変数を含み得る。例えば、変数のうちの１つの変数が、関心変数及びターゲット結果の両方との関係を含む場合、そのような変数は交絡因子であり得る。いくつかの実施形態において、交絡因子は、単一の関心変数に基づいて指定され得る。交絡因子がDAGにおいて存在しないと因果関係モジュール１３０が判定した場合、因果関係モジュール１３０は、説明１４０の決定を促進するために、関心変数の各々についての因果効果を決定することができる。
【００１８】
一方、交絡因子がDAGにおいて存在すると因果関係モジュール１３０が判定した場合、因果関係モジュール１３０は、DAGを通じた、ターゲット結果への、交絡因子を含むパス（バックドアパスと呼ばれることもある）が、ブロック可能であるかどうかを判定することができる。バックドアパスがブロック可能であるかどうかを判定するために、因果関係モジュール１３０は、バックドアパスにおいてノード間をエッジがどちらの向き（方向）に流れるかと、バックドアパスにおいてノードが観察されるか否かと、を考慮することができる。１つのそのようなブロックシナリオは、バックドアパスが合流点ノードを含み（２つのノードが単一のノードに収束する場合、時としてヘッドツーヘッドノードと呼ばれる）、このノード及びその子孫が観察されない場合を含み得る。別のブロックシナリオは、因果連鎖を含み得、ここで、交絡因子とターゲット結果との間のパスにおいて、入ってくる１つのエッジ及び出ていく１つのエッジを伴うノードが存在し得（時として因果連鎖と呼ばれる）、このノードが観察される。したがって、バックドアパスをブロックするために、合流点ノードは観察され得ず、バックドアパスにおける他のノードは観察され得る。これらの実施形態及び他の実施形態において、所与のバックドアパスがブロック可能でない場合、因果関係モジュール１３０は、理由を説明できない交絡因子が存在すると判定することができる。これに応じて、因果関係モジュール１３０は、説明１４０を決定するための不十分な因果関係証拠が存在することを示すメッセージを出力することができる。いくつかの実施形態において、因果関係モジュール１３０は、欠落している因果関係証拠を提供するためにどのような情報が使用され得るかのインジケーションを提供することができる。例えば、因果関係モジュール１３０は、どのパスがブロック可能でないかと、どのような情報又はデータがそのようなパスのブロック可能性を促進し得るかと、を示すことができる。
【００１９】
全てのバックドアパスがブロック可能であると因果関係モジュール１３０が判定した場合、因果関係モジュール１３０は、そのような全てのバックドアパスをブロックすることができる。例えば、因果関係モジュール１３０は、説明１４０の決定においてブロック変数を制御することができる。全てのバックドアパスをブロックした後、因果関係モジュール１３０は、関心変数の各々についての因果効果を決定することができる。
【００２０】
様々な関心変数についての因果効果を決定するために、因果関係モジュール１３０は、ターゲット結果に対する各変数の因果効果を定量化することができる。いくつかの実施形態において、そのような定量化は、２値形式の値（例えば、契約の交渉に関与したのは営業員Xか？）を含む変数に基づき得る。これらの実施形態及び他の実施形態において、因果効果は、０と１との間の数として定量化され得る。ターゲット結果Yに対する変数Xの因果効果の定量化は、以下の式１により表され得る：
E(Y|do(X=1))-E(Y|do(X=0))=P(Y|X=1)-P(Y|X=0)    （式１）
上記において、E()は、期待値関数を表し（例えば、E(Y|do(X=1))は、do(X=1)を所与とするYの期待値を表し得）、関数do(X=1)は、DAGにおいて介入して、変数Xの値をその最大値（例えば１）に設定することを表し、関数do(X=０)は、DAGにおいて介入して、変数Xの値をその最小値（例えば０）に設定することを表し、P()は、確率関数を表す（例えば、P(Y|X=1)は、変数X=1である場合にターゲット結果Yが生じる確率を表し得る）。式１を使用して、因果効果が、所与の関心変数について決定され得る。
【００２１】
いくつかの実施形態において、様々な動作が、各関心変数について繰り返され得る。例えば、因果関係モジュール１３０は、所与の関心変数について、交絡因子を特定及び処理し、因果効果を決定することができ、これらの動作が、関心変数の各々について繰り返され得る。したがって、本開示は、関心変数を反復的に繰り返して、関心変数が分離され得るかどうかを判定し、関心変数が分離され得る場合、ターゲット結果に対する関心変数の各々の因果効果を決定することができる。
【００２２】
これらの実施形態及び他の実施形態において、因果関係モジュール１３０は、関心変数の各々についての因果効果の定量化を比較することができる。説明１４０をもたらす因果効果を選択するために、因果関係モジュール１３０は、因果効果の定量化について最も高い数値を有する変数を選択することができる。因果関係モジュール１３０は、選択された変数に基づいて、説明１４０を生成することができる。例えば、ターゲット結果が、契約を勝ち取ることであり、最も高い因果効果を有する変数が、営業員Xが関与していたか否かであった場合、説明１４０は、「営業員Xが契約について交渉することに関与していたので、契約が勝ち取られた」ことを示すことができる。
【００２３】
いくつかの実施形態において、説明１４０がユーザに提示された後、ユーザは、説明１４０に満足していないことがある。これらの実施形態及び他の実施形態において、ユーザは、変数の間の関係及び／又は相関に関する、因果関係モジュール１３０に提供された仮定のうちの１つ以上を変更又は調整することができる。追加的又は代替的に、ユーザは、所定の変数を設定してもよい（例えば、営業員Xを、所与のビジネスユニットで常に働いていると設定する（これらの変数がこれらの最大値に常に設定されている場合の因果効果を決定するために））。
【００２４】
ユーザからの仮定を調整するプロセスを反復的に繰り返すことにより、因果関係モジュール１３０は、ユーザが説明１４０に満足するまで、異なる説明１４０を繰り返し生成することができる。いくつかの実施形態において、ユーザは、ユーザがDAGにおける変数の間の関係について有している知識に基づいて、説明に満足していないことがある。例えば、ユーザが関心のあるかもしれないものとして、商品がユーザにレコメンドされる場合、因果関係モジュール１３０は、商品がユーザになぜレコメンドされたかについての説明１４０を提供することができ、ユーザは、仮定を調整することができる（例えば、「あなたは靴に関心があるので、我々は、このブランドの靴下をレコメンドしました」という説明に基づいて、ユーザは、靴に対する関心と靴下に対する関心との間の有向関係を調整することができる）。いくつかの実施形態において、説明１４０に対するユーザの不満足は、傘を持っている人が雨を降らせたという説明等、論理的でない又は誤った因果関係に基づき得る。いくつかの実施形態において、反復的な処理を用いて、非現実的シナリオを分析及び／又は判別することができる。例えば、仮定を変更することにより、ユーザは、所定の変数が異なっていた場合の可能性のある因果効果を決定することができる（例えば、営業員Xが、異なるビジネスユニットで働いていた場合、我々は、それでも契約を勝ち取ったであろうか？）。
【００２５】
これらの実施形態及び他の実施形態において、本開示は、機械学習システムの出力のための基礎を形成する推論に関する洞察をユーザに提供することにより、機械学習システムの動作を向上させることができる。例えば、出力が、レコメンデーション（例えば、商品レコメンデーション、広告レコメンデーション、疾病治療レコメンデーション等）を提供することである場合、レコメンデーションをもたらす因果関係の説明１４０が、ユーザに提供され得る、且つ／又は、ユーザにより分析され得る。別の例として、機械学習システムの有効性及び／又は正確性が評価され得る。例えば、説明１４０を使用して、ユーザは、機械学習システム１１０によりなされた誤った仮定を訂正することにより、機械学習システム１１０の正確度を向上させることができる。例えば、レコメンデーションが、ラップトップの購入とバックパックの購入との間のデータセットにおける相関に基づいて、ラップトップを購入するように、バックパックを購入したユーザになされることがある。しかしながら、本開示の実施形態を使用することは、ラップトップの購入がバックパックのレコメンデーションをもたらし得るように、且つ、その逆ではないように、相関の向き（方向）及び因果関係を特定することができる。
【００２６】
当業者は、本開示を検討した後、本開示の範囲から逸脱することなく、システム１００に対して変更、追加、又は省略が可能であることが理解できるであろう。例えば、説明された形での異なる要素の指定は、本開示に記載のコンセプトを説明するのを助けるよう意図されており、限定的なものではない。さらに、システム１００は、任意の数の他の要素を含んでもよいし、説明されたシステム又はコンテキスト以外の他のシステム又はコンテキストにおいて実現されてもよい。
【００２７】
図２Ａ〜図２Ｃは、本開示の１つ以上の実施形態に従った、機械学習システムのための因果関係を決定する際に使用される例示的な有向非巡回グラフ（DAG）２００ａ〜２００ｃを示す図である。図２Ａに示されているように、DAG２００ａは、勝ち取られた契約２１０というターゲット結果（縦線により示されている）の例、並びに、ビジネスユニット２２０、salesman_x２３０、及びusa_region２４０という変数に関連付けられ得る。関心変数は、ビジネスユニット２２０（三角形により示されている）である。DAG２００ａは、営業チームによって何が会社に契約を勝ち取らせたか（例えば、ビジネスユニットにおける何を理由として、我々は契約を勝ち取ったのか）を判定する試みに基づき得る。図２Ｂに示されているように、DAG２００ｂは、購入された調理器２１１というターゲット結果（縦線により示されている）の例、並びに、購入されたガスケット２２１及び購入者の好奇心２３１という変数に関連付けられ得る。関心変数は、購入されたガスケット２２１（三角形により示されている）である。DAG２００ｂは、誰かがガスケットを購入したことに基づく、圧力鍋を購入するレコメンデーションが、レコメンデーションに値するかどうか（例えば、ガスケットの購入は、誰かに圧力鍋を購入させることができるか）を判定する試みに基づき得る。図２Ｃに示されているように、DAG２００ｃは、病気からの患者の回復２１２というターゲット結果（縦線により示されている）の例、並びに、患者に提供された薬２２２、患者の運動２３２、及び患者の飲食習慣２４２という変数に関連付けられ得る。関心変数は、患者に提供された薬２２２（三角形により示されている）である。DAG２００ｃは、患者に薬を与えたことが、病気から患者を回復させたことであるかどうか（例えば、薬が患者を治癒させたか）を判定する試みに基づき得る。いくつかの実施形態において、ユーザは、関心変数及び／又はターゲット結果を特定することができる。
【００２８】
いくつかの実施形態において、DAG２００ａ〜２００ｃにおいて使用される変数は、図１の機械学習システム１１０等の機械学習システムから出力された、ターゲット結果と相関している上位の変数であり得る。追加的又は代替的に、DAG２００ａ〜２００ｃにおいて使用される変数は、機械学習システムについての閾値を超える相関スコアを有する変数であってもよい。これらの実施形態及び他の実施形態において、初期DAGは、変数からターゲット結果への有向エッジを含み得る。初期DAGは、DAG２００ａをもたらすためのsalesman_x２３０からビジネスユニット２２０への有向エッジやDAG２００ｃをもたらすための薬２２２から飲食習慣２４２への有向エッジ等、ユーザからの仮定を用いて拡張され得る。いくつかの実施形態において、これらの仮定は、反復的に実現され得、図１の因果関係モジュール１３０が説明を提供し得る場合、ユーザは、提供された説明に基づいて仮定を調整し、変更された説明を観察することができ、このプロセスは、仮定の集合及び説明がユーザの満足するものになるまで、繰り返され得る。いくつかの実施形態において、変数及び／又は仮定のうちの１つ以上は、ユーザからの入力に基づいて、DAGに含められ得る。例えば、ユーザは、因果分析に含められるように、機械学習システムにより特定された変数の他に、１つ以上の追加の変数を特定することができる。
【００２９】
図２Ａを参照すると、関心変数としてビジネスユニット２２０を分析するとき（例えば、ビジネスユニット２２０は入力であり、勝ち取られた契約２１０は出力である）、交絡因子がDAG２００ａにおいて存在するか否かが判定され得る。salesman_x２３０は、交絡因子として作用し得る。なぜならば、salesman_x２３０は、関心変数（ビジネスユニット２２０）及びターゲット結果（勝ち取られた契約２１０）に影響を及ぼすからである。交絡因子の存在に基づいて、交絡因子（salesman_x２３０）から勝ち取られた契約２１０へのパスがブロック可能であるか否かが判定され得る。図２ＡのDAG２００ａにおいて、ビジネスユニット２２０を経由するパスは、salesman_x２３０を観察することによりブロック可能であり、したがって、このバックドアパスはブロックされ得る。さらに、salesman_x２３０と勝ち取られた契約２１０との間の直接的なパスは、usa_region２４０を観察することによりブロックされる。したがって、ビジネスユニット２２０は、ビジネスユニット２２０と勝ち取られた契約２１０との間の因果効果が決定され得るように、十分に分離され得る。因果効果は、例えば、式１を使用して定量化され得る。
【００３０】
いくつかの実施形態において、usa_region２４０及び／又はsalesman_x２３０の因果効果も決定され得、説明が、ビジネスユニット２２０、salesman_x２３０、及びusa_region２４０の間での最も高い因果効果に基づいて生成され得る。これらの実施形態及び他の実施形態において、説明が提示されたユーザは、仮定を変更し、ユーザにより追加された他の変数及び／又は他の仮定に基づいて他の説明を決定するための分析を再度適用することができる。例えば、salesman_x２３０とビジネスユニット２２０との間の有向エッジが除去され得、異なる有向エッジが、salesman_x２３０とusa_region２４０との間に導入され得る。ユーザが説明に満足していない場合、ユーザは、ユーザが満足する説明を受け取るまで、仮定を変更し続けることができる。
【００３１】
図２Ｂを参照すると、関心変数としてガスケット２２１の購入を、ターゲット結果として調理器２１１の購入を、分析するとき（例えば、ガスケット２２１の購入は入力であり、調理器の購入は出力である）、交絡因子がDAG２００ｂにおいて存在するか否かが判定され得る。好奇心２３１は、交絡因子として作用し得る。なぜならば、好奇心２３１は、関心変数（ガスケット２２１）及びターゲット結果（調理器２１１）に影響を及ぼすからである。交絡因子の存在に基づいて、交絡因子（好奇心２３１）から調理器２１１へのパスがブロック可能であるか否かが判定され得る。図２ＢのDAG２００ｂにおいて、好奇心２３１を経由するパスは、好奇心２３１を観察することによりブロック可能であり、したがって、このバックドアパスはブロックされ得る。例えば、ガスケット２２１及び／又は調理器２１１とインタラクトしているときにユーザがどのようなクリックを行ったかに加えて、どのようなサイト又は検索が、調理器２１１を購入するためのサイトに辿りつくゲートウェイであったかをモニタリング及び／又は分析することを利用して、好奇心２３１を制御することができる。したがって、ガスケット２２１は、ガスケット２２１と調理器２１１との間の因果効果が決定され得るように、十分に分離され得る。因果効果は、例えば、式１を使用して定量化され得る。
【００３２】
いくつかの実施形態において、好奇心２３１の因果効果も決定され得、説明が、ガスケット２２１及び好奇心２３１の間での最も高い因果効果に基づいて生成され得る。これらの実施形態及び他の実施形態において、説明が提示されたユーザは、仮定を変更し、他の仮定に基づいて他の説明を決定するための分析を再度適用することができる。ユーザが説明に満足していない場合、ユーザは、ユーザが満足する説明を受け取るまで、仮定を変更し続けることができる。
【００３３】
図２Ｃを参照すると、関心変数として薬２２２を、ターゲット結果として回復２１２を分析するとき（例えば、薬２２２は入力であり、回復２１２は出力である）、交絡因子がDAG２００ｃにおいて存在するか否かが判定され得る。運動２３２は、交絡因子として作用し得る。なぜならば、運動２３２は、関心変数（薬２２２）及びターゲット結果（回復２１２）に影響を及ぼすからである。交絡因子の存在に基づいて、交絡因子（運動２３２）から回復２１２へのパスがブロック可能であるか否かが判定され得る。図２ＣのDAG２００ｃにおいて、運動２３２を経由するパスは、運動２３２を観察することによりブロック可能であり、したがって、このバックドアパスはブロックされ得る。例えば、フィットネス追跡アプリケーション及び／又はデバイスを使用して、患者がどのような運動を行ったかをモニタリング及び／又は分析することを利用して、運動２３２を制御することができる。したがって、薬２２２は、薬２２２と回復２１２との間の因果効果が決定され得るように、十分に分離され得る。因果効果は、例えば、式１を使用して定量化され得る。
【００３４】
いくつかの実施形態において、運動２３２及び／又は飲食習慣２４２の因果効果も決定され得、説明が、薬２２２、運動２３２、及び飲食習慣２４２の間での最も高い因果効果に基づいて生成され得る。これらの実施形態及び他の実施形態において、説明が提示されたユーザは、仮定を変更し、他の仮定に基づいて他の説明を決定するための分析を再度適用することができる。ユーザが説明に満足していない場合、ユーザは、ユーザが満足する説明を受け取るまで、仮定を変更し続けることができる。
【００３５】
当業者は、本開示を検討した後、本開示の範囲から逸脱することなく、図２Ａ〜図２Ｃに対して変更、追加、又は省略が可能であることが理解できるであろう。例えば、DAG２００ａ〜２００ｃは、任意の数のノード及びエッジを含んでもよく、アプリケーションは、図２Ａ〜図２Ｃの単純化された例に示されているのよりも多くのノード及びエッジを有する可能性がある。別の例として、DAG２００ａ〜２００ｃは、ユーザが異なる仮定を提供すると、時間に応じて変更され得る。
【００３６】
図３Ａ及び図３Ｂは、機械学習システムのための因果関係を決定するプロセス３００の一実施形態を示すフロー図を示している。プロセス３００は、本開示に記載の少なくとも１つの実施形態に従って構成され得る。プロセス３００の１つ以上の動作は、図１のシステム１００、機械学習システム１１０、ユーザインタラクションモジュール１２０、及び／又は因果関係モジュール１３０、図４のコンピューティングシステム等、システム、デバイス、又はこれらの組み合わせにより実行され得る。例示の目的のために、様々なブロックが、図１の機械学習システム１１０、ユーザインタラクションモジュール１２０、及び／又は因果関係モジュール１３０により潜在的に実行されるものとして特定される。これらの実施形態及び他の実施形態において、プロセス３００は、１つ以上の非一時的なコンピュータ読み取り可能な媒体に記憶されている命令の実行に基づいて実行され得る。別個のブロックとして図示されているが、プロセス３００の様々なブロックは、所望される実装に応じて、追加のブロックに分割されることもあるし、より少ないブロックに組み合わせられることもあるし、除去されることもある。例示の目的のために、プロセス３００のブロックが、図２ＣのDAG２００ｃを参照しながら説明され得る。
【００３７】
ブロック３０５において、機械学習システムにおけるターゲット結果に関連付けられる１つ以上の仮定が、ユーザから取得され得る。例えば、ユーザインタフェースモジュール（図１のユーザインタラクションモジュール１２０等）は、結果の変数を含み得る、機械学習システム（図１の機械学習システム１１０等）の出力を、ユーザに提供することができる。いくつかの実施形態において、ユーザは、様々な変数及び／又は結果の間の有向関係を指定することにより、仮定を提供することができる。
【００３８】
図２Ｃの例を参照すると、ユーザは、薬２２２に対する運動２３２の影響が存在するという仮定を指定することができる。
【００３９】
ブロック３１０において、１つ以上の変数が特定され得る。例えば、ユーザにより指定されたターゲット結果についての変数が特定され得る。いくつかの実施形態において、変数の特定は、機械学習システムの結果を分析又は取得することを含み得る（例えば、どのような変数が、ターゲット結果についての閾値を超える相関又は関係を有するか）。いくつかの実施形態において、ブロック３１０は、因果効果が決定され得るターゲット変数を特定することを含み得る。
【００４０】
図２Ｃの例を参照すると、ユーザは、関心変数として薬２２２を、ターゲット結果として回復２１２を、指定することができる。
【００４１】
ブロック３１５において、変数が、DAGとして表現され得る。例えば、DAGは、変数と結果との間の関係をグラフィカルに表現する因果関係モジュール１３０（図１の因果関係モジュール１３０等）により生成され得る。これらの実施形態及び他の実施形態において、DAGは、ブロック３０５の仮定に部分的に基づいて生成され得る。例えば、仮定は、DAGにおいて、変数及び／又は結果のうちの１つ以上の間に有向エッジをもたらし得る。
【００４２】
図２Ｃの例を参照すると、DAG２００ｃが、既知の相関／因果関係及び／又はユーザからの仮定（例えば、運動２３２と薬２２２との間の接続／連結）に基づいて生成され得る。
【００４３】
ブロック３２０において、交絡因子がブロック３１５のDAGにおいて存在するか否かが判定され得る。例えば、所与の変数について、所与の変数及びターゲット結果に影響を及ぼす他の変数が存在するか否かが、因果関係モジュール１３０により判定され得る。交絡因子がDAGにおいて存在する場合、プロセス３００は、ブロック３２５に進み得る。交絡因子がDAGにおいて存在しない場合、プロセス３００は、図３Ｂにつながる節Ａを介してブロック３４０に進み得る。
【００４４】
図２Ｃの例を参照すると、運動２３２が、交絡因子として特定され得る。なぜならば、運動２３２は、薬２２２及び回復２１２の両方に影響を及ぼすからである。
【００４５】
ブロック３２５において、DAGにおける交絡因子を含む全てのパス（例えばバックドアパス）がブロック可能であるか否かが判定され得る。例えば、所与の関心変数及びターゲット結果について、所与の関心変数とターゲット結果との間のパスが、交絡因子により影響が及ぼされるかどうかが、因果関係モジュール１３０により判定され得る。例えば、所与の交絡因子とターゲット結果との間のバックドアパスが、合流点ノードを含み、合流点ノード及びその子孫が、ブロック変数の集合外であるかどうかが、判定され得る（例えば、合流点ノード及びその子孫は、そのようなバックドアパスをブロックするために観察され得ない）。DAGにおける交絡因子を含む全てのパス（例えば、全てのバックドアパス）がブロック可能である場合、プロセス３００は、ブロック３３５に進み得る。DAGにおける交絡因子を含む全てのパス（例えば、全てのバックドアパス）がブロック可能であるわけではない場合、プロセス３００は、ブロック３３０に進み得る。
【００４６】
図２Ｃの例を参照すると、運動２３２を制御することができるかどうかが判定され得る。
【００４７】
ブロック３３０において、不十分な因果関係証拠であるというメッセージが出力され得る。例えば、因果関係モジュール１３０は、関心変数が十分には分離され得ないことを示すそのようなメッセージを出力することができる。いくつかの実施形態において、そのようなメッセージは、ターゲット結果の因果関係の説明を提供するためにどのような追加の情報又は仮定が十分な情報を提供し得るかのインジケーションを含み得る。そのようなメッセージの出力は、因果関係の説明（図１の説明１４０等）とみなされ得、プロセス３００は、図３Ｂにつながる節Ｂを介してブロック３６５に進み得る。
【００４８】
図２Ｃの例を参照すると、運動２３２を制御することができないとみなされた場合、出力メッセージは、運動２３２が回復２１２に影響を及ぼし得、運動２３２を制御することができないので、不十分な因果関係証拠が存在することを示し得る。
【００４９】
ブロック３３５において、交絡因子を含む全てのパスがブロックされ得る。例えば、因果関係モジュール１３０は、合流点ノード及びその子孫を、観察されないものとして維持することができ、関心変数とターゲット結果との間のバックドアパスにおける他のノードを観察することができる。ブロック３３５の後、プロセス３００は、図３Ｂにつながる節Ａを介してブロック３４０に進み得る。
【００５０】
図２Ｃの例を参照すると、運動２３２から回復２１２へのパスが、例えば、運動２３２を制御及び観察することにより、ブロックされ得る。上述したように、運動２３２を制御及び／又は観察することは、フィットネス追跡アプリケーション又はデバイスを使用して患者の運動習慣をモニタリングすることにより、実現され得る。
【００５１】
ブロック３４０において、変数についての因果効果が推定され得る。例えば、因果関係モジュール１３０は、変数についての因果効果を推定することができる。いくつかの実施形態において、そのような推定は、式１に基づく定量化を含み得る。これらの実施形態及び他の実施形態において、ブロック３４０の推定は、単一の関心変数に基づき得、検討中の変数の各々が、関連付けられる因果効果を有するようになるまで、ブロック３２０〜３４０のうちの１つ以上が、検討中の変数の各々について反復的に繰り返され得る。
【００５２】
図２Ｃの例を参照すると、運動２３２を制御した後、薬２２２の因果効果が推定され得る。ブロック３２０〜３４０が、飲食習慣２４２及び運動２３２についての因果効果推定値を決定するために反復的に繰り返され得る。
【００５３】
ブロック３４５において、ターゲット結果の因果関係説明が、変数についての因果効果に基づいて生成され得る。例えば、因果関係モジュール１３０は、ターゲット結果についての原因として、最も高い因果効果を有する変数を選択することができ、最も高い因果効果を有する変数がターゲット結果を生じさせたとして、因果関係説明（図１の説明１４０等）を生成することができる。
【００５４】
図２Ｃの例を参照すると、薬２２２、運動２３２、及び飲食習慣２４２のうちどれが最も高い因果効果を有するかが、ターゲット結果を生じさせたものとして、因果関係説明において特定され得る。例えば、薬２２２が、最も高い因果効果を有する場合、薬２２２が、回復２１２の原因を説明するものとして特定され得る。
【００５５】
ブロック３５０において、分析されるべき他のターゲット結果及び／又は変数が存在するか否かが判定され得る。例えば、因果関係モジュール１３０は、複数のターゲット結果を分析し、複数のターゲット結果の各々に対応する説明を提供するよう構成され得る。別の例として、因果関係モジュール１３０は、複数の変数を分析することができる。分析されるべき他のターゲット結果及び／又は変数が存在すると判定された場合、プロセス３００は、図３Ａに戻る節Ｃを介してブロック３０５に戻り得る。分析されるべき他のターゲット結果及び／又は変数が存在しないと判定された場合、プロセス３００は、ブロック３５５に進み得る。
【００５６】
図２Ｃの例を参照すると、回復２１２が、分析される唯一のターゲット結果であり、したがって、プロセス３００は、ブロック３５５に進み得る。
【００５７】
ブロック３５５において、因果関係説明がユーザに提供され得る。
【００５８】
図２Ｃの例を参照すると、薬２２２が最も高い因果効果を有するという仮定に従って、薬２２２が回復２１２を生じさせたという、ブロック３４５の因果関係説明が、提供され得る。
【００５９】
ブロック３６０において、機械学習システムの正確度が、因果関係説明及び／又は３５０において提供された因果関係説明に基づくDAGに対するユーザフィードバック又は変更に基づいて、決定され得る。例えば、因果関係モジュール及び／又は機械学習システムは、ユーザの反復的な応答をモニタリングして、DAGに対してユーザによりなされた変更又は仮定を調整することができる。ユーザによりなされた変更及び変化を分析することにより、因果関係モジュールは、機械学習システムの正確度を決定することができる。追加的又は代替的に、因果関係の向き（方向）が、より優れた正確度を機械学習システムに提供してもよい。例えば、因果関係モジュールは、ユーザにより提供された反復的なフィードバックにおいてユーザによりなされた変更により決定されるように（例えば、ブロック３６５に示されているように、ブロック３０５に戻って）、DAGにおける誤った仮定若しくは正しくない相関又は有向接続／連結の機械学習システム特定を提供することができる。機械学習システムは、この情報を使用して、将来においてより正確な分析を提供することができる。例えば、図２Ｂに示されているDAG２００ｂの例に従うと、ユーザからのフィードバックが、ガスケットを購入することと圧力鍋を購入することとの間に有向接続／連結が存在しないことを示すように仮定を変更した場合、将来において、機械学習システムは、ユーザが圧力鍋を購入するときにガスケットのレコメンデーションを提供することができるが、ユーザがガスケットを購入するときに圧力鍋のレコメンデーションを提供しない。
【００６０】
図２Ｃの例を参照すると、因果関係説明及びユーザによりなされた仮定に対する変更に基づいて、初期DAG２００ｃを生成するために使用された機械学習システムの初期正確度が決定され得る。追加的又は代替的に、機械学習システムは、ユーザによりなされた仮定に対する変更の情報を使用して、将来においてより正確な機械学習分析を提供してもよい。
【００６１】
ブロック３６５において、ユーザが説明に満足しているか否かが判定され得る。例えば、因果関係モジュールは、ユーザインタラクションモジュールを介して、ユーザが説明に満足しているか否かの２値形式の問い合わせを、ユーザに提供することができる。別の例として、ユーザは、１つ以上の仮定を調整し、調整された仮定に基づく説明に対する変更を観察するように、勧められ得る。追加の例として、不十分な因果関係証拠であるというメッセージを出力するときに、ブロック３３０において特定された追加の情報又は仮定を提供する機会が、ユーザに提供され得る。ユーザの応答に基づいて、因果関係モジュールは、ユーザが説明に満足しているか否かを判定することができる。（例えば、ユーザが、２値形式の問い合わせに対して肯定的な応答を選択したので）ユーザが説明に満足していると判定された場合、プロセス３００は、ブロック３７０に進んで、プロセスが終了し得る。ユーザが説明に満足していないと判定された場合、プロセス３００は、図３Ａに戻る節Ｃを介してブロック３０５に戻り得る。
【００６２】
図２Ｃの例を参照すると、ユーザは、説明（例えば、薬２２２が回復２１２を生じさせたこと）に満足しているか否かについて問い合わせられ得る。ユーザが、運動と飲食習慣との間の仮定される因果関係も因果分析に影響を及ぼすかどうかを分析することを望む場合、DAG２００ｃが、運動２３２から飲食習慣への有向エッジを用いて更新され得、プロセス３００が繰り返され得る。別の例として、ユーザが、患者の年齢、患者の喫煙履歴等といった他の変数を含めることを望む場合、ユーザは、さらなる詳細及び／又はさらなる複雑さを因果分析に追加するために、関連付けられた仮定を伴う追加の変数を追加することができる。
【００６３】
ブロック３７０において、プロセス３００は終了し得る。
【００６４】
当業者は、本開示を検討した後、本開示の範囲から逸脱することなく、プロセス３００に対して変更、追加、又は省略が可能であることが理解できるであろう。例えば、プロセス３００の動作は、異なる順序で実行されることがある。追加的又は代替的に、２つ以上の動作が、同時に実行されることもある。さらに、説明された動作及びステップは、例として提供されており、動作及びステップのうちの一部は、開示されている実施形態の本質を損なうことなく、任意的であることもあるし、より少ない動作及びステップに組み合わせられることもあるし、追加の動作及びステップに拡張されることもある。
【００６５】
図４は、本開示に記載の少なくとも１つの実施形態に従った、機械学習システムにおける因果関係を決定するための例示的なコンピューティングシステム４００を示している。コンピューティングシステム４００は、プロセッサ４１０、メモリ４２０、データストレージ４３０、及び／又は通信ユニット４４０を含み得、これらの全てが、通信可能に接続され得る。図１のシステム１００のいずれか又は全てが、コンピューティングシステム４００と整合するコンピューティングシステムとして実装され得る。例えば、機械学習システム１１０、ユーザインタラクションモジュール１２０、及び因果関係モジュール１３０は、単一のコンピューティングシステムとして、一緒に実装され得る。別の例として、機械学習システム１１０は、１つのコンピューティングシステムとして実装され得るのに対し、因果関係モジュール１３０及びユーザインタラクションモジュール１２０は、別個のコンピューティングシステムとして実装され得る。追加の例として、機械学習システム１１０は、１つのコンピューティングシステムとして実装され得、因果関係モジュール１３０は、別のコンピューティングシステムとして実装され得、ユーザインタラクションモジュール１２０は、追加のコンピューティングシステムとして実装され得る。これらの実施形態及び他の実施形態において、コンピューティングシステム４００は、図３Ａ〜図３Ｂにおいて特定される動作等の特定の従来にはない動作を実行するよう構成されている特殊化されたコンピューティングシステムであり得る。
【００６６】
概して、プロセッサ４１０は、様々なコンピュータハードウェア又はソフトウェアモジュールを含む任意の適切な専用又は汎用のコンピュータ、コンピューティングエンティティ、又は処理デバイスを含み得、任意の適用可能なコンピュータ読み取り可能な記憶媒体に記憶されている命令を実行するよう構成され得る。例えば、プロセッサ４１０は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）、又は、プログラム命令を解釈及び／又は実行し、且つ／又はデータを処理するよう構成されている任意の他のデジタル回路若しくはアナログ回路を含み得る。
【００６７】
プロセッサ４１０は、図４において１つのプロセッサとして示されているが、プロセッサ４１０は、本開示に記載の任意の数の動作を個別的又は集合的に実行するよう構成されている、任意の数のネットワーク又は物理的位置にわたって分散される任意の数のプロセッサを含んでもよいことが理解されよう。いくつかの実施形態において、プロセッサ４１０は、メモリ４２０、データストレージ４３０、又はメモリ４２０とデータストレージ４３０との両方に記憶されているプログラム命令を解釈及び／又は実行し、且つ／又は、メモリ４２０、データストレージ４３０、又はメモリ４２０とデータストレージ４３０との両方に記憶されているデータを処理することができる。いくつかの実施形態において、プロセッサ４１０は、データストレージ４３０からプログラム命令をフェッチして、プログラム命令をメモリ４２０にロードすることができる。
【００６８】
プログラム命令がメモリ４２０にロードされた後、プロセッサ４１０は、図３Ａ及び図３Ｂのプロセス３００を実行するための命令等のプログラム命令を実行することができる。例えば、プロセッサ４１０は、機械学習システムの結果における因果関係を決定すること及び因果関係に関する説明を生成することに関する命令を取得することができる。別の例として、プロセッサ４１０は、説明をもたらす仮定に対するユーザ変更を分析し、仮定に対するこのような変更に基づいて、機械学習システムの正確度を決定することができる。
【００６９】
メモリ４２０及びデータストレージ４３０は、コンピュータ実行可能な命令又はデータ構造を運ぶ又は記憶する１つ以上のコンピュータ読み取り可能な記憶媒体を含み得る。そのようなコンピュータ読み取り可能な記憶媒体は、プロセッサ４１０等の汎用又は専用のコンピュータによりアクセスされ得る任意の利用可能な媒体を含み得る。いくつかの実施形態において、コンピューティングシステム４００は、メモリ４２０及びデータストレージ４３０の一方を含むこともあるし、メモリ４２０及びデータストレージ４３０の両方を含まないこともある。
【００７０】
限定ではなく例として、そのようなコンピュータ読み取り可能な記憶媒体は、ランダムアクセスメモリ（RAM）、読み取り専用メモリ（ROM）、電気的に消去可能なプログラム可能な読み取り専用メモリ（EEPROM）、コンパクトディスク読み取り専用メモリ（CD-ROM）若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリデバイス（例えば、ソリッドステートメモリデバイス）、又は、コンピュータ実行可能な命令又はデータ構造の形態の所望のプログラムコードを運ぶ又は記憶するために使用され得る任意の他の記憶媒体であって、汎用又は専用のコンピュータによりアクセスされ得る任意の他の記憶媒体、を含む非一時的なコンピュータ読み取り可能な記憶媒体を含み得る。上記の組み合わせも、コンピュータ読み取り可能な記憶媒体の範囲に含まれ得る。コンピュータ実行可能な命令は、例えば、プロセッサ４１０に所定の動作又は動作群を実行させるよう構成されている命令及びデータを含み得る。
【００７１】
通信ユニット４４０は、ネットワークを介して情報を送信又は受信するよう構成されている任意のコンポーネント、デバイス、システム、又はこれらの組み合わせを含み得る。いくつかの実施形態において、通信ユニット４４０は、他の位置にある他のデバイス、同じ位置にある他のデバイス、又は、同じシステム内の他のコンポーネントと通信することができる。例えば、通信ユニット４４０は、モデム、ネットワークカード（無線又は有線）、赤外線通信デバイス、光通信デバイス、無線通信デバイス（アンテナ等）、及び／若しくはチップセット（Bluetooth（登録商標）デバイス、802.6デバイス（例えばメトロポリタンエリアネットワーク（MAN））、Wi-Fi（登録商標）デバイス、WiMAX（登録商標）デバイス、セルラ通信設備等）、並びに／又は同様のものを含み得る。通信ユニット４４０は、ネットワークとの間で且つ／又は本開示に記載の任意の他のデバイス又はシステムとの間でデータが交換されることを可能にし得る。例えば、通信ユニット４４０は、コンピューティングデバイス及び／又は他のネットワーク等の他のシステムとシステム４００が通信することを可能にし得る。
【００７２】
当業者は、本開示を検討した後、本開示の範囲から逸脱することなく、システム４００に対して、変更、追加、又は省略が可能であることが理解できるであろう。例えば、システム４００は、明示的に図示及び説明されたコンポーネントよりも多い又は少ないコンポーネントを含んでもよい。
【００７３】
上記の開示は、本開示を、開示されている正確な形態又は特定の使用分野に限定するようには意図されていない。そのようなものとして、本開示に対する様々な代替実施形態及び／又は変更実施形態が、本出願において明示的に説明されているか又は暗示されているかにかかわらず、本開示に鑑みて可能であることが企図されている。したがって、本開示の実施形態を説明したが、本開示の範囲から逸脱することなく、形態及び詳細において変更が可能であることが理解されよう。したがって、本開示は、請求項によってのみ限定される。
【００７４】
いくつかの実施形態において、本開示に記載の異なるコンポーネント、モジュール、エンジン、及びサービスは、コンピューティングシステム上で実行されるオブジェクト又はプロセスとして（例えば、別個のスレッドとして）実装され得る。本開示に記載のシステム及び方法のうちの一部は、（汎用ハードウェアに記憶される且つ／又は汎用ハードウェアにより実行される）ソフトウェアにより実装されるとして一般に説明されるが、特定のハードウェア実装又はソフトウェアと特定のハードウェア実装との組み合わせも可能であり企図されている。
【００７５】
本開示及び特に請求項（例えば、請求項の本体部分）において使用される用語は、一般に、「オープンな」用語であるとして意図される（例えば、「〜を備える」という用語は、「〜を備えるが、〜に限定されるものではない」として解釈されるべきであり、「〜を有する」という用語は、「少なくとも〜を有する」として解釈されるべきであり、「〜を含む」という用語は、「〜を含むが、〜に限定されるものではない」として解釈されるべきである、等）。
【００７６】
さらに、導入される請求項記載事項の特定の数が意図される場合、そのような意図は、当該請求項中に明示的に記載され、そのような記載がない場合、そのような意図は存在しない。例えば、理解の助けとして、請求項中に、請求項記載事項を導入するための「少なくとも１つの」及び「１つ以上の」といった導入句の使用が含まれることがある。しかしながら、このような導入句の使用は、「a」又は「an」といった不定冠詞による請求項記載事項の導入が、同一の請求項中に「１つ以上の」又は「少なくとも１つの」といった導入句と「a」又は「an」といった不定冠詞とが含まれるとしても、当該導入された請求項記載事項を含む特定の請求項が、当該請求項記載事項を１つしか含まない実施形態に限定されることを意味するとして解釈されるべきではない（例えば、「a」及び／又は「an」は、「少なくとも１つの」又は「１つ以上の」を意味するとして解釈されるべきである）。請求項記載事項を導入するために使用される定冠詞の使用についても同じことが当てはまる。
【００７７】
さらに、導入される請求項記載事項の特定の数が明示的に記載されている場合であっても、そのような記載は、少なくとも記載されている数を意味するとして解釈されるべきである（例えば、他の修飾語のない「２つの記載事項」という単なる記載は、少なくとも２つの記載事項又は２つ以上の記載事項を意味する）ことが、当業者であれば認識されよう。さらに、「Ａ、Ｂ、及びＣ等のうちの少なくとも１つ」又は「Ａ、Ｂ、及びＣ等のうちの１つ以上」に類する表記が使用される場合、一般に、そのような構造は、Ａのみ、Ｂのみ、Ｃのみ、Ａ及びＢの両方、Ａ及びＣの両方、Ｂ及びＣの両方、又は、Ａ、Ｂ、及びＣの全て、等を含むことが意図される。例えば、「及び／又は」という用語の使用は、このように解釈されることが意図される。
【００７８】
さらに、２つ以上の選択可能な用語を表すいかなる離接語又は離接句も、明細書、特許請求の範囲、又は図面のいずれであろうと、それら用語のうちの１つ、それらの用語の組み合わせ、又は、それらの用語の全てを含む可能性を意図するとして理解されるべきである。例えば、「Ａ又はＢ」という句は、「Ａ」若しくは「Ｂ」又は「Ａ及びＢ」の可能性を含むとして理解されるべきである。
【００７９】
さらに、「第１の」、「第２の」、「第３の」等といった用語は、本開示において、特定の順序を意味するように必ずしも使用されるとは限らない。一般に、「第１の」、「第２の」、「第３の」等といった用語は、異なる要素を区別するために使用される。「第１の」、「第２の」、「第３の」等といった用語が特定の順序を意味するという説明がなければ、これらの用語は、特定の順序を意味するとして理解されるべきではない。
【００８０】
本開示において記載された全ての例及び条件付き文言は、当該技術を促進させるために本発明者によって寄与されるコンセプト及び本発明を読者が理解するのを助ける教育上の目的のために意図され、そのような具体的に記載された例及び条件に限定されるものではないとして解釈されるべきである。本開示の実施形態が詳細に説明されたが、それらの実施形態に対する様々な変形、置換、及び変更が、本開示の主旨及び範囲から逸脱することなく可能であることを理解されたい。
【００８１】
開示されている実施形態の上記の説明は、当業者が本開示を製造又は使用することを可能にするよう提供されている。それらの実施形態に対する様々な変更が、当業者には明らかであり、本開示において定められている一般的原理は、本開示の主旨又は範囲から逸脱することなく、他の実施形態に適用可能である。したがって、本開示は、例示されている実施形態に限定されるようには意図されておらず、本出願において開示されている原理及び新規な特徴と整合する最も広い範囲に従って解釈されるべきである。
【００８２】
以上の実施形態に関し、さらに以下の付記を開示する。
【００８３】
（付記１）
ユーザから、機械学習システムにおけるターゲット結果に関連付けられる１つ以上の仮定を取得するステップと、
前記ターゲット結果についての因果関係候補を表す複数の変数を特定するステップと、
前記複数の変数の各変数についての因果効果を推定するステップと、
前記複数の変数についての前記因果効果に基づいて、前記ターゲット結果の因果関係説明を生成するステップと、
前記因果関係説明を前記ユーザに提供するステップと、
を含む方法。
【００８４】
（付記２）
前記１つ以上の仮定を取得することは、
少なくとも１つの変数と前記ターゲット結果との間の仮定される因果関係を受け取ることと、
前記複数の変数を、有向非巡回グラフ（DAG）として表現することであって、前記DAGは、前記少なくとも１つの変数から前記ターゲット結果へと流れる少なくとも１つのエッジを含む、表現することと、
を含む、付記１に記載の方法。
【００８５】
（付記３）
前記因果効果を推定することは、
前記少なくとも１つの変数に関連する１つ以上の変数を含み、前記ターゲット結果に影響を及ぼす交絡因子が、前記DAGにおいて存在するか否かを識別することと、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるかどうかを判定することと、
を含む、付記２に記載の方法。
【００８６】
（付記４）
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるという判定に基づいて、前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスをブロックすること
を含む、付記３に記載の方法。
【００８７】
（付記５）
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるわけではないという判定に基づいて、不十分な因果関係証拠を示すメッセージを出力すること
を含む、付記３に記載の方法。
【００８８】
（付記６）
前記ユーザからの変更された仮定に基づいて、前記方法を反復的に繰り返すステップ
をさらに含む、付記１に記載の方法。
【００８９】
（付記７）
前記複数の変数は、前記機械学習システムの出力である、付記１に記載の方法。
【００９０】
（付記８）
前記因果関係説明は、前記複数の変数の前記因果効果のうちの最も高い因果効果を有する所与の変数が前記ターゲット結果を生じさせているとして特定されるように、前記最も高い因果効果に基づく、付記１に記載の方法。
【００９１】
（付記９）
前記因果関係説明に基づいて、前記機械学習システムの正確度を決定するステップ
をさらに含む、付記１に記載の方法。
【００９２】
（付記１０）
命令を含む非一時的なコンピュータ読み取り可能な媒体であって、前記命令がプロセッサにより実行されたときに、前記命令はデバイスに複数の動作を実行させ、前記複数の動作は、
ユーザから、機械学習システムにおけるターゲット結果に関連付けられる１つ以上の仮定を取得する動作と、
前記ターゲット結果についての因果関係候補を表す複数の変数を特定する動作と、
前記複数の変数の各変数についての因果効果を推定する動作と、
前記複数の変数についての前記因果効果に基づいて、前記ターゲット結果の因果関係説明を生成する動作と、
前記因果関係説明を前記ユーザに提供する動作と、
を含む、非一時的なコンピュータ読み取り可能な媒体。
【００９３】
（付記１１）
前記１つ以上の仮定を取得することは、
少なくとも１つの変数と前記ターゲット結果との間の仮定される因果関係を受け取ることと、
前記複数の変数を、有向非巡回グラフ（DAG）として表現することであって、前記DAGは、前記少なくとも１つの変数から前記ターゲット結果へと流れる少なくとも１つのエッジを含む、表現することと、
を含む、付記１０に記載の非一時的なコンピュータ読み取り可能な媒体。
【００９４】
（付記１２）
前記因果効果を推定することは、
前記少なくとも１つの変数に関連する１つ以上の変数を含み、前記ターゲット結果に影響を及ぼす交絡因子が、前記DAGにおいて存在するか否かを識別することと、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるかどうかを判定することと、
を含む、付記１１に記載の非一時的なコンピュータ読み取り可能な媒体。
【００９５】
（付記１３）
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるという判定に基づいて、前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスをブロックすること
を含む、付記１２に記載の非一時的なコンピュータ読み取り可能な媒体。
【００９６】
（付記１４）
前記因果効果を推定することは、
前記DAGにおける、前記ターゲット結果への、交絡因子を含む全てのパスがブロック可能であるわけではないという判定に基づいて、不十分な因果関係証拠を示すメッセージを出力すること
を含む、付記１２に記載の非一時的なコンピュータ読み取り可能な媒体。
【００９７】
（付記１５）
前記命令は、前記ユーザからの変更された仮定に基づいて、前記複数の動作を反復的に繰り返すようさらに構成されている、付記１０に記載の非一時的なコンピュータ読み取り可能な媒体。
【００９８】
（付記１６）
前記複数の変数は、前記機械学習システムの出力である、付記１０に記載の非一時的なコンピュータ読み取り可能な媒体。
【００９９】
（付記１７）
前記因果関係説明は、前記複数の変数の前記因果効果のうちの最も高い因果効果を有する所与の変数が前記ターゲット結果を生じさせているとして特定されるように、前記最も高い因果効果に基づく、付記１０に記載の非一時的なコンピュータ読み取り可能な媒体。
【０１００】
（付記１８）
前記複数の動作は、
前記因果関係説明に基づいて、前記機械学習システムの正確度を決定する動作
をさらに含む、付記１０に記載の非一時的なコンピュータ読み取り可能な媒体。
【０１０１】
（付記１９）
システムであって、
１つ以上のプロセッサと、
命令を含む１つ以上の非一時的なコンピュータ読み取り可能な媒体であって、前記命令が前記１つ以上のプロセッサにより実行されたときに、前記命令は前記システムに複数の動作を実行させ、前記複数の動作は、
ユーザから、機械学習システムにおけるターゲット結果に関連付けられる１つ以上の仮定を取得する動作と、
前記ターゲット結果についての因果関係候補を表す複数の変数を特定する動作と、
前記複数の変数の各変数についての因果効果を推定する動作と、
前記複数の変数についての前記因果効果に基づいて、前記ターゲット結果の因果関係説明を生成する動作と、
前記因果関係説明を前記ユーザに提供する動作と、
を含む、１つ以上の非一時的なコンピュータ読み取り可能な媒体と、
を有するシステム。
【０１０２】
（付記２０）
前記１つ以上の仮定を取得することは、
少なくとも１つの変数と前記ターゲット結果との間の仮定される因果関係を受け取ることと、
前記複数の変数を、有向非巡回グラフ（DAG）として表現することであって、前記DAGは、前記少なくとも１つの変数から前記ターゲット結果へと流れる少なくとも１つのエッジを含む、表現することと、
を含む、付記１９に記載のシステム。
【符号の説明】
【０１０３】
１００  システム
１１０  機械学習システム
１２０  ユーザインタラクションモジュール
１３０  因果関係モジュール
１４０  説明
４００  （コンピューティング）システム
４１０  プロセッサ
４２０  メモリ
４３０  データストレージ
４４０  通信ユニット
【図１】
2019194849.tif 000003
【図２Ａ】
2019194849.tif 000004
【図２Ｂ】
2019194849.tif 000005
【図２Ｃ】
2019194849.tif 000006
【図３Ａ】
2019194849.tif 000007
【図３Ｂ】
2019194849.tif 000008
【図４】
2019194849.tif 000009