(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-26
(45)【発行日】2025-07-04
(54)【発明の名称】ソフトウェア・アプリケーションにおけるバイアスを検出および監視するための方法、システム
(51)【国際特許分類】
G06F 11/34 20060101AFI20250627BHJP
G06N 3/09 20230101ALI20250627BHJP
G06Q 50/10 20120101ALI20250627BHJP
【FI】
G06F11/34 152
G06N3/09
G06Q50/10
(21)【出願番号】P 2023501644
(86)(22)【出願日】2021-06-23
(86)【国際出願番号】 IB2021055538
(87)【国際公開番号】W WO2022013648
(87)【国際公開日】2022-01-20
【審査請求日】2023-11-14
(32)【優先日】2020-07-13
(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)【発明者】
【氏名】デイ、ピナキ、チャンドラ
【審査官】西間木 祐紀
(56)【参考文献】
【文献】国際公開第2020/121104(WO,A1)
【文献】米国特許出願公開第2020/0134493(US,A1)
【文献】特開平08-122267(JP,A)
【文献】米国特許出願公開第2014/0379434(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/34
G06N 3/09
G06Q 50/10
(57)【特許請求の範囲】
【請求項1】
アプリケーションにおけるバイアスを監視および検出するための方法であって、
バイアス監視コンピューティング・システムによって、訓練データにインデックスを付けることと、
前記バイアス監視コンピューティング・システムによって、前記インデックス付き訓練データにおける1つまたは複数の特徴と目標変数との複数の相関値を取得することと、
前記1つまたは複数の特徴のそれぞれに対して、
前記バイアス監視コンピューティング・システムによって、前記1つまたは複数の特徴のうちの前記1つと訓練済人工知能モデルによる判断の好都合な結果との前記複数の相関値のうちの相関の第1の値を計算することと、
前記バイアス監視コンピューティング・システムによって、前記1つまたは複数の特徴のうちの前記1つと前記訓練済人工知能モデルによる判断の不都合な結果との前記複数の相関値のうちの相関の第2の値を計算することと、
前記バイアス監視コンピューティング・システムによって、前記計算された第1の値と前記計算された第2の値との間の差の絶対値を計算することと、
前記バイアス監視コンピューティング・システムによって、前記1つまたは複数の特徴のうちの前記1つの、前記複数の相関値の前記計算された絶対値の総計を計算することと、
前記バイアス監視コンピューティング・システムによって、前記計算された第1の値、前記第2の値、前記絶対値、および前記総計を使用して前記1つまたは複数の特徴におけるバイアスを識別および監視することと
を含む、方法。
【請求項2】
前記バイアス監視コンピューティング・システムによって、クライアント・デバイスから受け取られたフィードバック・データにインデックスを付けることをさらに含む、請求項1に記載の方法。
【請求項3】
前記バイアス監視コンピューティング・システムによって、訓練データ・サーバから訓練データを取得することをさらに含む、請求項1に記載の方法。
【請求項4】
前記バイアス監視コンピューティング・システムによって、前記フィードバック・データのために、前記1つまたは複数の特徴のうちの前記1つの、前記複数の相関値の前記計算された絶対値の第2の総計を計算することをさらに含む、請求項2に記載の方法。
【請求項5】
前記バイアス監視コンピューティング・システムによって、前記訓練データに関連付けられた前記計算された絶対値の前記計算された総計と、前記フィードバック・データに関連付けられた前記計算された絶対値の前記計算された総計との間の差によって決定された相関変化値を提示することをさらに含む、請求項4に記載の方法。
【請求項6】
前記相関変化値が、監視されることになる特徴の候補を表す、請求項5に記載の方法。
【請求項7】
非一過性コンピュータ可読媒体であって、少なくとも1つの機械によって実行されると、
訓練データにインデックスを付けることと、
前記インデックス付き訓練データにおける1つまたは複数の特徴と目標変数との複数の相関値を取得することと、
前記1つまたは複数の特徴のそれぞれに対して、
前記1つまたは複数の特徴のうちの前記1つと訓練済人工知能モデルによる判断の好都合な結果との前記複数の相関値のうちの相関の第1の値を計算することと、
前記1つまたは複数の特徴のうちの前記1つと前記訓練済人工知能モデルによる判断の不都合な結果との前記複数の相関値のうちの相関の第2の値を計算することと、
前記計算された第1の値と前記計算された第2の値との間の差の絶対値を計算することと、
前記1つまたは複数の特徴のうちの前記1つの、前記複数の相関値の前記計算された絶対値の総計を計算することと、
前記計算された第1の値、前記第2の値、前記絶対値、および前記総計を使用して前記1つまたは複数の特徴におけるバイアスを識別および監視することと
を前記機械に行わせる機械実行可能コードを備える命令を格納した、非一過性コンピュータ可読媒体。
【請求項8】
クライアント・デバイスから受け取られたフィードバック・データにインデックスを付けることをさらに含む、請求項7に記載の媒体。
【請求項9】
訓練データ・サーバから訓練データを取得することをさらに含む、請求項7に記載の媒体。
【請求項10】
前記フィードバック・データのために、前記1つまたは複数の特徴のうちの前記1つの、前記複数の相関値の前記計算された絶対値の第2の総計を計算することをさらに含む、請求項8に記載の媒体。
【請求項11】
前記訓練データに関連付けられた前記計算された絶対値の前記計算された総計と、前記フィードバック・データに関連付けられた前記計算された絶対値の前記計算された総計との間の差によって決定された相関変化値を提示することをさらに含む、請求項10に記載の媒体。
【請求項12】
前記相関変化値が、監視されることになる特徴の候補を表す、請求項11に記載の媒体。
【請求項13】
バイアス監視コンピューティング・システムであって、メモリであって、前記メモリに格納されたプログラムされた命令を備える、前記メモリと、1つまたは複数のプロセッサであって、前記メモリに格納された前記プログラムされた命令を実行して、
訓練データにインデックスを付けること、
前記インデックス付き訓練データにおける1つまたは複数の特徴と目標変数との複数の相関値を取得すること、ならびに
前記1つまたは複数の特徴のそれぞれに対して、
前記1つまたは複数の特徴のうちの前記1つと訓練済人工知能モデルによる判断の好都合な結果との前記複数の相関値のうちの相関の第1の値を計算すること、
前記1つまたは複数の特徴のうちの前記1つと前記訓練済人工知能モデルによる判断の不都合な結果との前記複数の相関値のうちの相関の第2の値を計算すること、
前記計算された第1の値と前記計算された第2の値との間の差の絶対値を計算すること、
前記1つまたは複数の特徴のうちの前記1つの、前記複数の相関値の前記計算された絶対値の総計を計算すること、および
前記計算された第1の値、前記第2の値、前記絶対値、および前記総計を使用して前記1つまたは複数の特徴におけるバイアスを識別および監視すること
を行うことができるように構成された、前記1つまたは複数のプロセッサとを備える、バイアス監視コンピューティング・システム。
【請求項14】
前記1つまたは複数のプロセッサが、前記メモリに格納された前記プログラムされた命令を実行して、クライアント・デバイスから受け取られたフィードバック・データにインデックスを付けることができるようにさらに構成された、請求項13に記載のシステム。
【請求項15】
前記1つまたは複数のプロセッサが、前記メモリに格納された前記プログラムされた命令を実行して、訓練データ・サーバから訓練データを取得することができるようにさらに構成された、請求項13に記載のシステム。
【請求項16】
前記1つまたは複数のプロセッサが、前記メモリに格納された前記プログラムされた命令を実行して、前記フィードバック・データのために、前記1つまたは複数の特徴のうちの前記1つの、前記複数の相関値の前記計算された絶対値の第2の総計を計算することができるようにさらに構成された、請求項14に記載のシステム。
【請求項17】
前記1つまたは複数のプロセッサが、前記メモリに格納された前記プログラムされた命令を実行して、前記訓練データに関連付けられた前記計算された絶対値の前記計算された総計と、前記フィードバック・データに関連付けられた前記計算された絶対値の前記計算された総計との間の差によって決定された相関変化値を提示することができるようにさらに構成された、請求項16に記載のシステム。
【請求項18】
前記相関変化値が、監視されることになる特徴の候補を表す、請求項17に記載のシステム。
【請求項19】
前記1つまたは複数のプロセッサが、前記メモリに格納された前記プログラムされた命令を実行して、前記バイアスを伴う前記識別および監視された前記1つまたは複数の特徴を前記クライアント・デバイスに提供することができるようにさらに構成された、請求項14に記載のシステム。
【請求項20】
前記1つまたは複数のプロセッサが、前記メモリに格納された前記プログラムされた命令を実行して、前記バイアスを伴う前記提供された1つまたは複数の特徴の好都合または不都合な判定を提供することができるようにさらに構成された、請求項19に記載のシステム。
【請求項21】
アプリケーションにおけるバイアスを監視および検出するための方法であって、
バイアス監視コンピューティング・システムによって、ソフトウェア・アプリケーションの1つまたは複数の特徴からの特徴を識別すること
であって、
訓練データにインデックスを付けることと、
前記インデックス付き訓練データにおける1つまたは複数の特徴と目標変数との複数の相関値を取得すること含む、特徴を識別することを含む、前記特徴を識別することと、
前記バイアス監視コンピューティング・システムによって、前記ソフトウェア・アプリケーションの前記1つまたは複数の特徴からの前記識別された特徴にバイアスがあるかどうかを決定すること
であって、
前記1つまたは複数の特徴のそれぞれに対して、
前記1つまたは複数の特徴のうちの前記1つと訓練済人工知能モデルによる判断の好都合な結果との前記複数の相関値のうちの相関の第1の値を計算することと、
前記1つまたは複数の特徴のうちの前記1つと前記訓練済人工知能モデルによる判断の不都合な結果との前記複数の相関値のうちの相関の第2の値を計算することと、
前記計算された第1の値と前記計算された第2の値との間の差の絶対値を計算することと、
前記1つまたは複数の特徴のうちの前記1つの、前記複数の相関値の前記計算された絶対値の総計を計算することと、
前記計算された第1の値、前記第2の値、前記絶対値、および前記総計を使用して前記1つまたは複数の特徴におけるバイアスを識別および監視することを含む、前記バイアスがあるかどうかを決定することと、
前記バイアス監視コンピューティング・システムによって、前記識別された特徴において決定された前記バイアスがあるときに好都合または不都合な判定を決定することと、
前記バイアス監視コンピューティング・システムによって、前記決定されたバイアスを伴う前記識別された特徴、および前記決定された好都合または不都合な判定を提供することと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、一般に、ソフトウェア・アプリケーションを管理することに関し、より詳細には、人工知能を使用してソフトウェア・アプリケーションにおけるバイアスを検出および監視することならびにそのデバイスに関する。
【背景技術】
【0002】
判定を行うために人間またはコンピュータによって、異なるタイプまたはフォーマットのデータが一般に使用される。例えば、銀行は、信用スコア、これまでのクレジット履歴、収入、および他の人口統計情報に基づいて、特定の総額の信用貸しを人またはビジネスに広げるかどうかについての判定を基礎とすることがある。残念ながら、このような判定は、何らかの形のバイアス(例えば、暗黙のバイアス)を含むことがあり、したがって、機関が自らの意思決定プロセスを公平であると考えたとしても、実際には、結果がバイアスされることがある。バイアスは、性別、年齢、民族的背景、地理的な居場所、または収入などの、特定の特質または特性を優遇したり優遇しなかったりする意思決定プロセスを使用して、判定を行うことを指す。結果として、バイアスは、信用取引申請などの申請の承認または拒否のために使用されるルールに入り込む恐れがあり、このバイアスは、検出するのが難しいことがある。既存技術は、手動でデータ・セットを見直すこと、ルールに対応させること、およびバイアスを検出する判定にデータ、ルールを相関させるように、例えばデータ科学者などの被雇用者に要求することによって、コンピュータによって行われる判定におけるバイアスを検出する技術的問題を解決しようとする。それでも、既存技術によって使用される技術は、手動式介入を必要とし、これがエラーにつながるので、技術的問題を完全に解決するわけではない。その上、ユーザ自身によってどの特徴がバイアスされている可能性があるのかをユーザが見つけるのは非常に難しい。
【0003】
上記の問題を解決するために、アプリケーションにおけるバイアスを検出および監視するための新しいシステムおよび方法を提供することが望まれる。
【発明の概要】
【0004】
実施形態は、人工知能を使用してアプリケーションにおけるバイアスを監視および検出するためのコンピュータ実行方法を提供し、訓練データにインデックスを付けることと、インデックス付き訓練データにおける1つまたは複数の特徴と目標変数との複数の相関値を取得することとを含む。1つまたは複数の特徴のそれぞれに対して、第1の値および好都合(favorable)な結果、ならびに第2の値が不都合(unfavorable)な結果と共に計算される。計算された第1の値と計算された第2の値との間の差の絶対値が計算される。1つまたは複数の特徴のうちの1つの、複数の相関値の計算された絶対値の総計が計算される。
【0005】
実施形態は、クライアント・デバイスから受け取られたフィードバック・データにインデックスを付けることをさらに含む、コンピュータ実行方法をさらに提供する。
【0006】
実施形態は、訓練データ・サーバから訓練データを取得することをさらに含む、コンピュータ実行方法をさらに提供する。
【0007】
実施形態は、フィードバック・データのために、1つまたは複数の特徴のうちの1つの、複数の相関値の計算された絶対値の第2の総計を計算することをさらに含む、コンピュータ実行方法をさらに提供する。
【0008】
実施形態は、訓練データに関連付けられた計算された絶対値の計算された総計と、フィードバック・データに関連付けられた計算された絶対値の計算された総計との間の差によって決定された相関変化値を提示することをさらに含む、コンピュータ実行方法をさらに提供する。
【0009】
実施形態は、相関変化値が、監視されることになる特徴の候補を表す、コンピュータ実行方法をさらに提供する。
【0010】
実施形態は、訓練データにインデックスを付けることと、インデックス付き訓練データにおける1つまたは複数の特徴と目標変数との複数の相関値を取得することとを含む、非一過性コンピュータ可読媒体をさらに提供する。1つまたは複数の特徴のそれぞれに対して、第1の値および好都合な結果、ならびに第2の値が不都合な結果と共に計算される。計算された第1の値と計算された第2の値との間の差の絶対値が計算される。1つまたは複数の特徴のうちの1つの、複数の相関値の計算された絶対値の総計が計算される。
【0011】
別の例証的実施形態では、コンピュータ可読プログラムを有するコンピュータ使用可能または可読媒体を備える非一過性コンピュータ可読媒体が提供される。コンピュータ可読プログラムは、プロセッサで実行されたとき、方法の例証的実施形態に関連して上記で概説された動作の様々なものおよびその組合せをプロセッサに実施させる。
【0012】
さらに別の例証的実施形態では、システムが提供される。システムは、方法の例証的実施形態に関連して上記で概説された動作の様々なものおよびその組合せを実施するように構成された完全質問生成プロセッサを備えることができる。
【0013】
添付の図面を参照しながら進める例証的実施形態の以下の詳細な説明から、本開示の追加の特徴および長所が明らかになるであろう。
【0014】
前述および他の本発明の態様は、添付の図面と共に読むと、以下の詳細な説明から最も良く理解される。本発明を示すために、現時点で好まれる実施形態が図面に示されているが、本発明は開示の固有の手段に限定されないことが理解される。以下の図が図面に含まれる。
【図面の簡単な説明】
【0015】
【
図1】人工知能を使用してソフトウェア・アプリケーションにおけるバイアスを検出および監視するための、バイアス監視コンピューティング・システム14を含む、ネットワーク環境10のブロック図の例である。
【
図2】バイアス監視コンピューティング・システム14のブロック図の例である。
【
図3】ソフトウェア・アプリケーションにおけるバイアスを検出および監視するための方法300を示す例示的フローチャートである。
【
図4A】訓練データと接続する例示的イメージである。
【
図4B】訓練データと接続する例示的イメージである。
【
図5】監視するための特徴および提案の相関値の変化を示す例示的イメージである。
【
図6A】好都合または不都合なソフトウェア・アプリケーションの提案を示す例示的イメージである。
【
図6B】好都合または不都合なソフトウェア・アプリケーションの提案を示す例示的イメージである。
【
図6C】好都合または不都合なソフトウェア・アプリケーションの提案を示す例示的イメージである。
【発明を実施するための形態】
【0016】
本発明は、人工知能(AI)を使用してソフトウェア・アプリケーションにおけるバイアスを検出および監視するためのシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せでよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を含むコンピュータ可読ストレージ媒体(または複数の媒体)を含むことができる。
【0017】
バイアス監視コンピューティング・システム14の例を含むネットワーク環境10が、
図1~
図2に示されている。この特定の例では、環境10は、1つまたは複数の通信ネットワーク30を介して連結された、バイアス監視コンピューティング・システム14、1つまたは複数のクライアント・デバイス12(1)~12(n)、1つまたは複数の訓練データ・サーバ16(1)~16(n)、および1つまたは複数のアプリケーション・サーバ17(1)~17(n)を含むが、環境は、当技術分野で一般的に知られており、本明細書で示されることも説明されることもないような、他のタイプおよび数のシステム、デバイス、構成要素、または他の要素、あるいはその組合せを含むことができる。この技術は、人工知能(AI)を使用してソフトウェア・アプリケーションにおけるバイアスを検出および監視する方法、非一過性コンピュータ可読媒体、およびシステムを提供することを含むいくつかの長所を提供する。
【0018】
図1~
図2をより詳細に参照すると、バイアス監視コンピューティング・システム14は、人工知能を使用してアプリケーションにおけるバイアスを検出および監視するようにプログラムされる。ここで
図2を参照すると、バイアス監視コンピューティング・システム14は、ノース・ブリッジおよびメモリ・コントローラ・ハブ(NB/MCH:north bridge and memory controller hub)201と、サウス・ブリッジおよび入出力(I/O)コントローラ・ハブ(SB/ICH:south bridge and input/output controller hub)202とを含む、ハブ・アーキテクチャを採用することができる。処理ユニット203、メイン・メモリ204、およびグラフィックス・プロセッサ205は、NB/MCH201に接続されることが可能である。グラフィックス・プロセッサ205は、アクセラレイティッド・グラフィックス・ポート(AGP)を通じてNB/MCH201に接続されることが可能である。
【0019】
描写の例では、ネットワーク・アダプタ206は、SB/ICH202に接続する。オーディオ・アダプタ207、キーボードおよびマウス・アダプタ208、モデム209、リード・オンリ・メモリ(ROM:read-only memory)210、ハードディスク・ドライブ(HDD:hard disk drive)211、光学ドライブ(CDまたはDVD)212、ユニバーサル・シリアル・バス(USB:universal serial bus)ポートおよび他の通信ポート213、ならびにPCI/PCIeデバイス214は、バス・システム216を通じてSB/ICH702に接続することができる。PCI/PCIeデバイス214は、イーサネット(R)・アダプタ、アドイン・カード、および、ノートブック・コンピュータ用のPCカードを含むことができる。ROM210は、例えば、フラッシュ基本入出力システム(BIOS)でよい。HDD211および光学ドライブ212は、インテグレーテッド・ドライブ・エレクトロニクス(IDE)またはシリアル・アドバンスト・テクノロジ・アタッチメント(SATA)インターフェースを使用することができる。スーパーI/O(SIO:super I/O)デバイス215は、SB/ICHに接続されることが可能である。
【0020】
オペレーティング・システムは、処理ユニット203上で実行することができる。オペレーティング・システムは、バイアス監視コンピューティング・システム14内の様々な構成要素の制御を協調させ提供することができる。クライアントとしてのオペレーティング・システムは、市販のオペレーティング・システムが可能である。Java(R)(TM)プログラミング・システムなどのオブジェクト指向プログラミング・システムは、オペレーティング・システムと共に実行し、データ処理システム700上で実行するオブジェクト指向プログラムまたはアプリケーションからオペレーティング・システムへのコールを提供することができる。サーバとしてのバイアス監視コンピューティング・システム14は、Advanced Interactive Executiveオペレーティング・システムまたはLinuxオペレーティング・システムを実行するIBM(R)eServer(TM)システムp(R)が可能である。バイアス監視コンピューティング・システム14は、処理ユニット203に複数のプロセッサを含めることができる対称型マルチプロセッサ(SMP)システムが可能である。代替として、単一のプロセッサ・システムが採用されてもよい。
【0021】
オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムのための命令は、HDD211などのストレージ・デバイスに置かれ、処理ユニット203による実行のためにメイン・メモリ204にロードされる。完全質問生成システムの実施形態のためのプロセスは、コンピュータ使用可能プログラム・コードを使用して処理ユニット703によって実施されることが可能であり、コンピュータ使用可能プログラム・コードは、例えばメイン・メモリ204、ROM210などのメモリに、または1つもしくは複数の周辺デバイスに置かれることが可能である。
【0022】
バス・システム216は、1つまたは複数バスで構成されることが可能である。バス・システム216は、通信ファブリックまたはアーキテクチャに取り付けられた異なる構成要素またはデバイス間のデータ転送のために提供することができる任意のタイプの通信ファブリックまたはアーキテクチャを使用して実装されることが可能である。モデム209またはネットワーク・アダプタ206などの通信ユニットは、データを送受信するために使用されることが可能な1つまたは複数のデバイスを含むことができる。
【0023】
図2に描写されたハードウェアは、実装形態に応じて変化してもよいことを当業者は理解するであろう。例えば、バイアス監視コンピューティング・システム14は、
図3~
図6Cに示されたいくつかの実施形態に直接的に含まれないはずのいくつかの構成要素を含む。それでも、
図3~
図6Cに示された実施形態は、開示の実施形態による処理方法およびステップを実施するためのバイアス監視コンピューティング・システム14の構成要素および構成のうちの1つまたは複数を含むことができることを理解されたい。
【0024】
その上、フラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブなどの他の内部ハードウェアまたは周辺デバイスが、描写のハードウェアに加えてまたはその代わりに使用されてもよい。その上、バイアス監視コンピューティング・システム14は、クライアント・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、タブレット型コンピュータ、ラップトップ・コンピュータ、電話または他の通信デバイス、パーソナル・デジタル・アシスタント、および同様のものを含むがこれらに限定されない、いくつかの異なるデータ処理システムのいずれかの形式をとることができる。本質的に、データ処理システム700は、構造上の限定のない任意の既知のまたは後で開発されるデータ処理システムであることが可能である。
【0025】
図1に戻って参照すると、1つまたは複数のクライアント・デバイス12(1)~12(n)のそれぞれは、プロセッサ、メモリ、ユーザ入力デバイス(キーボード、マウスなど)、または対話型ディスプレイ・スクリーン(ほんの一例として表示デバイスなど)、あるいはその組合せ、および通信インターフェースを含むことができ、これらは、バスまたは他のリンクによって一緒に連結されるが、それぞれは、他のタイプまたは数あるいはその両方の他のシステム、デバイス、構成要素、または他の要素、あるいはその組合せを有することができる。この例では、バイアス監視コンピューティング・システム14は、1つまたは複数のアプリケーション・サーバ17(1)~17(n)上で実行するアプリケーションにアクセスしたいというリクエストを受け取るために、通信ネットワーク30を介して1つまたは複数のクライアント・デバイス12(1)~12(n)と対話するが、バイアス監視コンピューティング・システム14は、他のタイプまたはリクエストを受け取ることができる。
【0026】
1つまたは複数の訓練データ・サーバ16(1)~16(n)のそれぞれは、例えば、訓練データを格納および通信ネットワーク30のうちの1つまたは複数を介してバイアス監視コンピューティング・システム14に提供することができるが、他のタイプまたは数あるいはその両方のストレージ媒体が他の構成で使用されることが可能である。この特定の例では、1つまたは複数の訓練データ・サーバ16(1)~16(n)のそれぞれは、様々な組合せおよびタイプのストレージ・ハードウェアまたはソフトウェアあるいはその両方を備え、内部または外部ネットワークを含むことができるデータ・ストレージ・プール内に複数のネットワーク・サーバ・デバイスを含むシステムを表すことができる。CIFSアプリケーション、NFSアプリケーション、HTTPウェブ・ネットワーク・サーバ・デバイス・アプリケーション、またはFTPアプリケーション、あるいはその組合せなどの、様々なネットワーク処理アプリケーションが、複数のデータ・サーバ16(1)~16(n)上で動作していてもよく、バイアス監視コンピューティング・システム14からのリクエストに応答して、データを伝送することができる。1つまたは複数の訓練データ・サーバ16(1)~16(n)それぞれが、バスまたは他のリンクによって一緒に連結されたプロセッサ、メモリ、および通信インターフェースを含むことができるが、それぞれが、他のタイプまたは数あるいはその両方の他のシステム、デバイス、構成要素、または他の要素、あるいはその組合せを有することができる。
【0027】
1つまたは複数のアプリケーション・サーバ17(1)~17(n)のそれぞれは、例えば、通信ネットワーク30のうちの1つまたは複数を介して、バイアス監視コンピューティング・システム14を介して、実行するアプリケーションを格納し、1つまたは複数のクライアント・デバイス12(1)~12(n)に、実行するアプリケーションへのアクセスを提供することができるが、他のタイプまたは数あるいはその両方のストレージ媒体が他の構成で使用されることが可能である。この特定の例では、複数のデータ・サーバ17(1)~17(n)のそれぞれは、様々な組合せおよびタイプのストレージ・ハードウェアまたはソフトウェアあるいはその両方を備え、内部または外部ネットワークを含むことができ、データ・ストレージ・プール内に複数のネットワーク・サーバ・デバイスを含むシステムを表すことができる。CIFSアプリケーション、NFSアプリケーション、HTTPウェブ・ネットワーク・サーバ・デバイス・アプリケーション、またはFTPアプリケーション、あるいはその組合せなどの、様々なネットワーク処理アプリケーションが、複数のデータ・サーバ17(1)~17(n)上で動作していてもよく、バイアス監視コンピューティング・システム14からのリクエストに応答して、データを伝送することができる。複数のデータ・サーバ17(1)~17(n)それぞれが、バスまたは他のリンクによって一緒に連結されたプロセッサ、メモリ、および通信インターフェースを含むことができるが、それぞれが、他のタイプまたは数あるいはその両方の他のシステム、デバイス、構成要素、または他の要素、あるいはその組合せを有することができる。
【0028】
非一過性コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形デバイスであることが可能である。非一過性コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の適切な組合せでよいがこれらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の完全に網羅されていないリストは、ポータブル・コンピュータ・ディスケット、ヘッド・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、命令を記録したパンチ・カードまたは溝内隆起構造などの機械的にエンコードされたデバイス、および前述の任意の適切な組合せを含む。非一過性コンピュータ可読ストレージ媒体は、本明細書で使用されるように、本質的に、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号などの、一時的な信号であると解釈されるべきではない。
【0029】
本明細書で説明される非一過性コンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれの計算/処理デバイスに、または、例えば、インターネット、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、またはワイヤレス・ネットワーク、あるいはその組合せなどの、通信ネットワーク30を介して外部コンピュータもしくは外部ストレージ・デバイスに、ダウンロードされることが可能である。通信ネットワーク30は、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えることができる。各計算/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それぞれの計算/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0030】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Java(R)、Smalltalk(R)、C++、もしくは同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語、もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む1つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードでよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータで、部分的にユーザのコンピュータ上で、スタンド・アロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータかつ部分的にリモート・コンピュータ上で、または完全にリモート・コンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモート・コンピュータは、LANもしくはWANを含む任意のタイプの通信ネットワーク30を通じてユーザのコンピュータに接続されてもよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)外部コンピュータに対して行われてもよい。いくつかの実施形態では、例えば、プログラマブル・ロジック回路機器、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路機器は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路機器を個別化することによって、コンピュータ可読プログラム命令を実行することができる。
【0031】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照しながら本明細書で説明される。流れ図またはブロック図あるいはその両方の各ブロック、および流れ図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実施できることが理解されよう。
【0032】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実施するための手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または機械を生み出すための他のプログラム可能データ処理装置のプロセッサに提供されてもよい。これらのコンピュータ可読プログラム命令は、また、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為の態様を実施する命令を含む製品を、命令を記憶したコンピュータ可読ストレージ媒体が備えるべく、コンピュータ可読ストレージ媒体に格納されてもよく、コンピュータ可読プログラム命令は、特定の様式で機能するようにコンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはその組合せに指図することができる。
【0033】
コンピュータ可読プログラム命令は、また、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行する命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実施するべく、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実施してコンピュータ実行処理を生み出すために、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされてもよい。
【0034】
図中の流れ図およびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。この点に関して、流れ図またはブロック図の中の各ブロックは、指定の論理機能を実施するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または一部を表すことができる。いくつかの代替実装形態では、ブロックに記された機能は、図に記された順序とは無関係に行われてもよい。例えば、連続して示された2つのブロックは、実際には、実質的に同時に実行されてもよく、または、ブロックは、時には、含まれる機能に応じて逆の順序で実行されてもよい。ブロック図または流れ図あるいはその両方の各ブロック、および、ブロック図または流れ図あるいはその両方におけるブロックの組合せは、指定の機能もしくは行為を行うか、専用ハードウェアとコンピュータ命令の組合せを実行する専用ハードウェア・ベースのシステムによって実施できることにも留意されたい。
【0035】
本説明および特許請求の範囲は、例証的実施形態の特定の特徴および要素に関して、用語「a」、「のうちの少なくとも1つ」、および「のうちの1つまたは複数」を使用することがある。これらの用語および句は、特定の例証的実施形態に存在する特定の特徴または要素のうちの少なくとも1つが存在するが、2つ以上が存在することも可能であると述べることを意図することを理解されたい。すなわち、これらの用語/句は、本説明もしくは特許請求の範囲を、存在する単一の特徴/要素に限定すること、または、複数のこのような特徴/要素が存在する必要があることを意図するものではない。反対に、これらの用語/句は、少なくとも単一の特徴/要素を必要としているに過ぎず、複数のこのような特徴/要素が、本説明および特許請求の範囲の範囲内にある可能性がある。
【0036】
さらに、以下の説明は、例証的実施形態の様々な要素の複数の様々な例を使用して、例証的実施形態の実例の実装形態をさらに示し、例証的実施形態のメカニズムの理解を支援することを理解されたい。これらの例は、非限定的であることを意図するものであり、例証的実施形態のメカニズムを実施するための様々な可能性をカバーするものではない。本発明の思想および範囲から逸脱することなく、本明細書で提供された例に加えてまたはこれと引き替えに利用されるこれらの様々な要素に対する他の多くの代替実装形態があることが、本説明を考慮すると当業者には明らかであろう。
【0037】
図のシステムおよびプロセスは、排他的なものではない。同じ目的を達成するために、本明細書で説明される実施形態の原理に従って、他のシステム、プロセス、およびメニューが導出されてもよい。本明細書で示され説明される実施形態および変形形態は、例証のためのものに過ぎないことが理解されよう。現在のデザインに対する修正は、実施形態の範囲から逸脱することなく、当業者によって実施されてもよい。本明細書で説明されるように、様々なシステム、サブシステム、エージェント、マネージャ、およびプロセスが、ハードウェア構成要素、ソフトウェア構成要素、またはその組合せ、あるいはその組合せを使用して実施されることが可能である。本明細書における請求要素は、句「のための手段(means for)」を使用して要素が明確に列挙されない限り、35 U.S.C112(f)の規定の下で解釈されることにはならない。
【0038】
検出および監視するための例示的方法が、これから
図3~
図6Cを参照しながら示される。
図3を詳しく参照すると、例示的方法300は、ステップ305で始まり、バイアス監視コンピューティング・システム14が、瞬間単語サーチを可能にするために訓練データにインデックスを付ける。この例では、訓練データにインデックスを付けることは、アプリケーションの特徴の値と目標変数との間の相関の計算を可能にするフル・テキスト・サーチ・インデックスを適用することによって行われることが可能である。訓練データにインデックスを付けることによって、開示の技術は、目標変数との高い相関を有し、追加のデータに適合されることも可能な、特徴値をサーチすることができる。この例では、バイアス監視コンピューティング・システム14は、1つまたは複数の訓練データ・サーバ16(1)~16(n)のうちの1つから訓練データを取得することができるが、訓練データは、他の記憶場所から取得されることが可能である。ステップ305の例が、これから、
図4Aおよび
図4Bを参照しながらさらに示される。
図4Aに示されているように、バイアス監視コンピューティング・システム14は、訓練データを得るために、ホスト名またはインターネット・プロトコル(IP)アドレス、セキュア・ソケット・レイヤ(SSL)ポート、および、1つまたは複数の訓練データ・サーバ16(1)~16(n)のうちの1つに存在するデータベースを入力する。次に、
図4Bに示されているように、バイアス監視コンピューティング装置14は、スキーマおよびテーブルの名称を含めることによって、訓練テーブルから固有の訓練データを選択するが、他のタイプの情報が含まれることが可能である。この例では、人工知能モデルは、教師あり学習モデルであり、モデル・タイプは、2項分類、マルチ・クラス分類、または回帰であることが可能である。さらに、この例では、入力される訓練データは、構造化データであることが可能である。
【0039】
次に、ステップ310において、バイアス監視コンピューティング・システム14は、ステップ305において上記で示されたインデックス付きデータおよび訓練済人工知能モデルを使用して、各特徴の値と目標変数との間の相関を決定する。例として、目標変数は、機械学習による予測値に関するものである。
【0040】
次に、ステップ315において、バイアス監視コンピューティング・システム14は、特徴の各値について、これらが好都合(favorable)であるか不都合(unfavorable)であるかを決定するために、相関の差Fを計算する。この例では、好都合は、機械学習モデルによる判断の好まれるまたは望ましい結果に関するものであり、不都合は、機械学習モデルによる判断の好まれないまたは望ましくない結果に関するものである。例として、ローン申請の承認/拒絶の2値分類モデルでは、承認は、好都合に対応し、拒絶は、不都合に対応する。この例では、バイアス監視コンピューティング・システム14は、下記で説明される公式を使用して、第1の値、第2の値、絶対値、および総計を計算し、相関させる。
【0041】
【0042】
上記の公式の使用の例が、これから示される。この例の好都合および不都合値は、「ノー・リスク」または「リスク」である。例として、性別に関連付けられた値の値MおよびFがある場合、および、合計50レコードがあり、そのうち、20レコードが、性別をMとして有し、好都合な値が「ノー・リスク」であり、15レコードが性別を「F」として有し、好都合な値が「ノー・リスク」であり、10レコードが、性別M、および「リスク」として不都合な値を有し、5レコードが性別をFとして、および不都合な値をリスクとして有する場合、「ノー・リスク」を目標変数として、および性別Mを性別データにおける特徴値として計算することは、0.95((20)/(20+10))/((20+15)/(50))=0.95の値を与えるはずである。
【0043】
ステップ320において、バイアス監視コンピューティング・システム14は、相関の計算が、全ての特徴に対して実施されたかどうかを決定する。相関の計算が、全ての特徴に対して実施されていないとバイアス監視コンピューティング・システム14が決定した場合、ステップ315への、いいえの分岐が行われる。それでも、相関の計算が全ての特徴に対して実施されたとバイアス監視コンピューティング・システム14が決定したとき、ステップ325への、はいの分岐が行われる。
【0044】
ステップ325において、バイアス監視コンピューティング・システム14は、特徴ごとの傾向を提示し、フィードバック・データを使用して計算された相関値、すなわちF(f)が存在するかどうかを決定する。F(f)が存在するとバイアス監視コンピューティング・システム14が決定した場合、ステップ330への、はいの分岐が行われる。この例では、ステップ315において示された特徴ごとのFの値が、特徴における各値に対するr(特徴,好都合/不都合)を用いて、以下の公式によって、取得される。F=sum(|r(特徴,好都合)-r(特徴,不都合)|)。したがって、Fが各特徴に対して決定され、特徴ごとの傾向は、監視されることになる特徴を選択するのに有用である。
【0045】
ステップ330において、バイアス監視コンピューティング・システム14が、監視されることになる特徴の候補として、F(t)*a≦F(f)を満たす特徴を提案する。この例では、F(t)は、訓練データで計算されたFを意味し、F(f)は、フィードバック・データで計算されたFを意味し、公式は、各特徴に対して使用され、ここで、aは、任意の値をとることができる。ステップ330の例が
図5に示されており、例示的フローは、下記でさらに示されるステップ340に進む。
図5に示されているように、バイアス監視コンピューティング・システム14は、上記で示された公式を満たす特徴として性別および年齢を提案する。
【0046】
それでも、ステップ325において、F(f)が存在しないとバイアス監視コンピューティング・システム14が決定した場合、ステップ335への、いいえの分岐が行われる。ステップ335において、バイアス監視コンピューティング・システム14が、選択された特徴の「r」を参照して、
図6A~
図6Cに示されているように、好都合と高い相関を有する選択された特徴の値が多数派の候補として提案され、不都合と高い相関を有する選択された特徴の値が少数派の候補として提案される。例として、多数派は、好都合の一因となる可能性がより高くなる特徴値のグループに関するものであり、少数派は、不都合の一因となる可能性がより高くなる特徴グループ値に関するものである。ローン申請の承認/拒絶の2値分類モデルにおける特徴の例として性別をとると、男性が多数派に属し、女性が少数派に属する。代替として、特徴の例として年収をとると、日本円で1千万円以上の年収を有する人物が多数派に属し、日本円で3百万円以下の年収を有する人物が少数派に属する。
【0047】
例として、好都合および不都合な値が「ノー・リスク」および「リスク」である場合、「M」および「F」は、性別に関連付けられた値であり、総レコード数が50であり、この中に、「性別」列として「M」、および「ノー・リスク」を有する20レコード、「性別」列として「F」、および目標変数として「ノー・リスク」を有する15レコード、「性別」列として「M」、および目標変数として「リスク」を有する10レコード、ならびに、「性別」列として「F」、および目標変数として「リスク」を有する5レコードがあり、監視される特徴として性別が選択される場合、値は以下のように計算されたrである。r(「M」,「ノー・リスク」)=((20)/(20+10))/((20+15)/(50))=0.95、r(「F」,「ノー・リスク」)=((15)/(15+5))/((20+15)/(50))=1.07、r(「M」,「リスク」)=((10)/(20+10))/((10+5)/(50))=1.11、およびr(「F」,「リスク」)=((5)/(15+5))/((10+5)/(50))=0.83。したがって、この例証的な例では、好都合(「ノー・リスク」)と高い相関を有する選択された特徴の値は「F」であり、したがって「F」が多数派の候補として提案される。その一方で、不都合(「リスク」)と高い相関を有する選択された特徴の値は「M」であり、したがって「M」が少数派の候補として提案される。
【0048】
次に、ステップ340において、バイアス監視コンピューティング・システム14は、フィードバック・データを提供し、データにインデックスを付け、例示的フローは、ステップ310に進む。この例では、フィードバック・データは、新しいデータであり、このデータは、訓練データと同じフォーマットであり、モデルへの実際の入力に応答してモデルによって予測されたものであるはずの追加されることになる正しい回答データである。さらに、フィードバック・データは、任意の回数、提供されることが可能である。
【0049】
上記で示された技術を使用することによって、開示の技術は、別のやり方ではデータ科学者などの人間によって識別されないことがある潜在的バイアスを有する特徴を正確に識別することができる。さらに、訓練データにインデックスを付けることは、新しいデータを簡単に追加することを可能にし、効率的な計算をサポートする。目標変数の設定のエラーまたは同様のものが通告され、設定が変更されたときでも、実際に使用されるモデルとは別個のインデックスを用意することは、相関を動的に計算することを可能にし、したがって、インデックスは有用である。さらに、開示の技術は、新しいデータにも適用されることが可能であり、したがって、時代の流れに応じた特徴の変化を取り扱うこともできる。
【0050】
例として、訓練データに開示の技術を適用するときに、アプリケーションにおいて監視される特徴として年齢が選択されず、フィードバック・データと呼ばれる新しいデータに開示の技術を適用するときに、ステップ330におけるF(t)*a≦F(f)を年齢の特徴が満たす場合、監視されることになる特徴の候補として年齢が新たに推奨される。したがって、新しいデータが追加されるたびに開示の技術を適用することによって、監視されることになる特徴の候補が、最新の計算結果から提案され、各特徴の傾向の変化も検出される。新しいデータを用いるこの技術は、訓練データにおいて識別されないはずだが、潜在的バイアスを有する、特徴を見つけることを可能にする。
【0051】
本発明は、例示的実施形態を参照しながら説明されてきたが、例示的実施形態に限定されない。当業者は、非常に多くの変更および修正が、本発明の好ましい実施形態に対して行われること、ならびに、このような変更および修正が、本発明の本当の思想から逸脱することなく行われることを理解するであろう。したがって、本発明の本当の思想および範囲に入るような全てのこのような同等の変形形態をカバーするように、添付の特許請求の範囲が解釈されることが意図される。