(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-25
(45)【発行日】2024-08-02
(54)【発明の名称】共有された検出モデル・システムにおけるデータ・プライバシーの維持
(51)【国際特許分類】
G06N 20/00 20190101AFI20240726BHJP
【FI】
G06N20/00
(21)【出願番号】P 2022517812
(86)(22)【出願日】2020-09-15
(86)【国際出願番号】 IB2020058556
(87)【国際公開番号】W WO2021053505
(87)【国際公開日】2021-03-25
【審査請求日】2023-02-24
(32)【優先日】2019-09-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】マー、イー-フイ
(72)【発明者】
【氏名】パッテン、ウィリー、ロバート、ジュニア
(72)【発明者】
【氏名】ケルトン、ユージーン、アーヴィング
【審査官】多賀 実
(56)【参考文献】
【文献】国際公開第2019/103999(WO,A1)
【文献】特表2019-526851(JP,A)
【文献】特開2018-005317(JP,A)
【文献】米国特許出願公開第2019/0042878(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
処理デバイスが実行する、データ保護を維持しながら検出モデルを更新するためのコンピュータ実装方法であって、
データの集合を、前記データの内容を表す特徴に集約することと、
少なくとも1つの選択された特徴と活動警告をトリガーするためのしきい値とを含んでいるアルゴリズムを
実装することによって、前記特徴を使用して検出モデルを生成することと、
データの異なる集合から前記少なくとも1つの選択された特徴を計算するための命令を決定することと、
前記データの異なる集合から前記少なくとも1つの選択された特徴を計算するための前記命令と、前記しきい値とを含んでいるパッケージを生成することと、
ローカル・ノードに格納されたデータを使用して前記検出モデルを
実装するために、前記パッケージを前記ローカル・ノードに送信することとを含む、コンピュータ実装方法。
【請求項2】
前記データの集合が顧客データおよびトランザクション・データを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記特徴が顧客データもトランザクション・データも含まないように、前記特徴が集約される、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記特徴が、計数の統計値、地域の統計値、時間の統計値、または量の統計値のうちの1つまたは複数を含む、請求項1から請求項3のいずれかに記載のコンピュータ実装方法。
【請求項5】
前記検出モデルを前記生成することが、既存の検出モデルを再トレーニングすることを含む、請求項1から請求項4のいずれかに記載のコンピュータ実装方法。
【請求項6】
前記パッケージを前記ローカル・ノードに送信する前に前記パッケージを暗号化することをさらに含む、請求項1から請求項5のいずれかに記載のコンピュータ実装方法。
【請求項7】
前記パッケージが、追跡モジュールを含んでいる検出モデル・システムを介して前記ローカル・ノードに間接的に送信される、請求項1から請求項6のいずれかに記載のコンピュータ実装方法。
【請求項8】
前記パッケージが、前記データの前記内容を表す前記集約された特徴をさらに含む、請求項7に記載のコンピュータ実装方法。
【請求項9】
処理デバイスと、データを含んでいるデータ・セットに基づいてモデルを再トレーニングするために前記処理デバイスによって実行される命令を含んでいるメモリとを備えているローカル・ノードであって、前記ローカル・ノードが、
前記データを、前記データ
の内容を表す特徴に集約するように構成された集約モジュールと、
少なくとも1つの選択された特徴と活動警告をトリガーするためのしきい値とを含んでいるアルゴリズムを
実装することによって、前記特徴を使用して検出モデルを再トレーニングするように構成された再トレーニング・モジュールと、
データの異なる集合から前記少なくとも1つの選択された特徴を計算するための命令を決定するように構成された命令モジュールと、
前記データの異なる集合から前記少なくとも1つの選択された特徴を計算するための前記命令と、前記しきい値とを含んでいるパッケージを生成することと、
第2のローカル・ノードに格納されたデータを使用して、前記再トレーニングされた検出モデルを
実装するために、前記パッケージを前記第2のローカル・ノードに送信することとを実行するように構成された共有モジュールとをさらに備える、ローカル・ノード。
【請求項10】
前記再トレーニングされたモデルを監視し、トリガーされた活動警告を検出するための実行モジュールをさらに備える、請求項9に記載のローカル・ノード。
【請求項11】
処理デバイスが実行する、データ保護を維持しながら検出モデルを更新するためのコンピュータ実装方法であって、
複数のローカル・ノードから特徴を受信することであって、前記特徴が、各ローカル・ノードに関連する前記データ
の内容を表す集約されたデータである、前記受信することと、
前記複数のローカル・ノードから前記受信された特徴に基づいて検出モデルを生成することであって、前記検出モデルが、少なくとも1つの選択された特徴または特徴の組み合わせと比較して活動警告をトリガーするためのしきい値を含む、前記生成することと、
データの異なる集合から前記少なくとも1つの選択された特徴または特徴の組み合わせを計算するための命令を決定することと、
前記データの異なる集合から前記少なくとも1つの選択された特徴を計算するための前記命令と、前記しきい値とを含んでいるパッケージを生成することと、
前記ローカル・ノードに格納されたデータを使用して前記検出モデルを
実装するために、前記パッケージを前記複数のローカル・ノードの各々に送信することとを含む、コンピュータ実装方法。
【請求項12】
前記特徴が個別の顧客の顧客データもトランザクション・データも含まないように、前記特徴が集約される、請求項11に記載のコンピュータ実装方法。
【請求項13】
前記特徴が、計数の統計値、地域の統計値、時間の統計値、または量の統計値のうちの1つまたは複数を含む、請求項11または請求項12に記載のコンピュータ実装方法。
【請求項14】
前記検出モデルを前記生成することが、既存の検出モデルを再トレーニングすることを含む、請求項11から請求項13のいずれかに記載のコンピュータ実装方法。
【請求項15】
前記パッケージを前記複数のローカル・ノードに送信する前に前記パッケージを暗号化することをさらに含む、請求項11から請求項14のいずれかに記載のコンピュータ実装方法。
【請求項16】
前記パッケージを前記複数のローカル・ノードに送信した後に前記特徴を削除することをさらに含む、請求項11から請求項15のいずれかに記載のコンピュータ実装方法。
【請求項17】
前記特徴の削除の前に、前記検出モデルの前記生成に関連付けられた1つまたは複数のイベントを記録することをさらに含む、請求項11から請求項16のいずれかに記載のコンピュータ実装方法。
【請求項18】
処理デバイスと、検出モデルを再トレーニングするために前記処理デバイスによって実行される命令を含んでいるメモリとを備えている検出モデル・システムであって、前記検出モデル・システムが、
少なくとも1つのローカル・ノードから特徴を受信するように構成されたデータ制御モジュールであって、前記特徴が、各ローカル・ノードに関連する前記データ
の内容を表す集約されたデータである、前記データ制御モジュールと、
複数の前記ローカル・ノードから前記受信された特徴に基づいて検出モデルを生成するように構成されたモデル・マネージャであって、前記検出モデルが、少なくとも1つの選択された特徴または特徴の組み合わせと比較して活動警告をトリガーするためのしきい値を含む、前記モデル・マネージャと、
データの異なる集合から前記少なくとも1つの選択された特徴または特徴の組み合わせを計算するための命令を決定するように構成されたプライバシー・マネージャとをさらに備え、
前記モデル・マネージャが、
前記データの異なる集合から前記少なくとも1つの選択された特徴を計算するための前記命令と、前記しきい値とを含んでいるパッケージを生成することと、
前記ローカル・ノードに格納されたデータを使用して前記検出モデルを
実装するために、前記パッケージを前記複数のローカル・ノードの各々に送信することとを実行するようにさらに構成される、検出モデル・システム。
【請求項19】
前記データ制御モジュールが複数のローカル・ノードから特徴を受信し、前記特徴が、データの異なるセットの前記内容を表す、請求項18に記載の検出モデル・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、一般に、分析モデルを更新するためのシステムのためのシステムに関連しており、特に、共有された検出モデル・システムにおいてデータ・プライバシーを維持するためのシステムおよび方法に関連している。
【背景技術】
【0002】
イベント検出のための分析モデルは、さまざまな分野および産業にとって重要である。例えば、金融詐欺を検出するため、法規制の順守に役立てるため、および多くのその他の複雑なデータ駆動型の問題に、さまざまな分析モデルが使用される。多くの分野は、正確でタイムリーなイベント検出のための最新のモデルを必要とする。一部の分野(例えば、多くの種類の詐欺)では、第三者のエージェントが、現在の分析モデルによる検出から逃れようと積極的に努力している。したがって、モデルの更新を、システムの複数のローカル・ノードにわたって分散し、分析し、迅速な方法で実施することを可能にする、検出モデルを更新するためのシステムが必要とされている。さらに、より大きく、より多様なデータ・セットの有用性に起因して、複数の実体のシステムにわたって、検出モデルおよびモデル生成のためのデータなどの情報を共有しようとする動機が存在する。しかし、特に共有されているデータの保護必要度に起因して、データ・プライバシーが検討され、考慮されなければならない。
【発明の概要】
【0003】
一部の実施形態によれば、本開示は、データ処理システムにおけるデータ保護を維持しながら検出モデルを更新するためのコンピュータ実装方法について説明する。この方法は、データの集合を、データの内容を表す特徴に集約することと、少なくとも1つの選択された特徴と活動警告をトリガーするためのしきい値とを含んでいるアルゴリズムを実装することによって、特徴を使用して検出モデルを生成することと、データの異なる集合から少なくとも1つの選択された特徴を計算するための命令を決定することと、データの異なる集合から少なくとも1つの選択された特徴を計算するための命令としきい値とを含んでいるパッケージを生成することと、ローカル・ノードに格納されたデータを使用して検出モデルを実装するために、パッケージをローカル・ノードに送信することとを含む。
【0004】
一部の実施形態によれば、本開示は、さらに、処理デバイスと、データを含んでいるデータ・セットに基づいてモデルを再トレーニングするために処理デバイスによって実行される命令を含んでいるメモリとを含む、ローカル・ノードについて説明する。ローカル・ノードは、データを、データの内容を表す特徴に集約するように構成された集約モジュールと、少なくとも1つの選択された特徴と活動警告をトリガーするためのしきい値とを含んでいるアルゴリズムを実装することによって、特徴を使用して検出モデルを再トレーニングするように構成された再トレーニング・モジュールと、データの異なる集合から少なくとも1つの選択された特徴を計算するための命令を決定するように構成された命令モジュールと、データの異なる集合から少なくとも1つの選択された特徴を計算するための命令としきい値とを含んでいるパッケージを生成するように構成された共有モジュールとも含む。共有モジュールは、ローカル・ノードに格納されたデータを使用して、再トレーニングされた検出モデルを実装するために、パッケージをローカル・ノードに送信するようにさらに構成される。
【0005】
一部の実施形態によれば、本開示は、データ処理システムにおけるデータ保護を維持しながら検出モデルを更新するためのコンピュータ実装方法についてやはり説明する。この方法は、複数のローカル・ノードから特徴を受信することであって、これらの特徴が、各ローカル・ノードに関連するデータの内容を表す集約されたデータである、受信することと、複数のローカル・ノードから受信された特徴に基づいて検出モデルを生成することであって、検出モデルが、少なくとも1つの選択された特徴または特徴の組み合わせと比較し、活動警告をトリガーするためのしきい値を含む、生成することと、データの異なる集合から少なくとも1つの選択された特徴または特徴の組み合わせを計算するための命令を決定することと、データの異なる集合から少なくとも1つの選択された特徴を計算するための命令としきい値とを含んでいるパッケージを生成することと、ローカル・ノードに格納されたデータを使用して検出モデルを実装するために、パッケージを複数のローカル・ノードの各々に送信することとを含む。
【0006】
一部の実施形態によれば、本開示は、さらに、処理デバイスと、検出モデルを再トレーニングするために処理デバイスによって実行される命令を含んでいるメモリとを含む、検出モデル・システムについてさらに説明する。検出モデル・システムは、少なくとも1つのローカル・ノードから特徴を受信するように構成されたデータ制御モジュールであって、これらの特徴が、各ローカル・ノードに関連するデータの内容を表す集約されたデータである、データ制御モジュールと、複数のローカル・ノードから受信された特徴に基づいて検出モデルを生成するように構成されたモデル・マネージャであって、検出モデルが、少なくとも1つの選択された特徴または特徴の組み合わせと比較し、活動警告をトリガーするためのしきい値を含む、モデル・マネージャと、データの異なる集合から少なくとも1つの選択された特徴または特徴の組み合わせを計算するための命令を決定するように構成されたプライバシー・マネージャとも含む。モデル・マネージャは、データの異なる集合から少なくとも1つの選択された特徴を計算するための命令としきい値とを含んでいるパッケージを生成することと、ローカル・ノードに格納されたデータを使用して検出モデルを実装するために、パッケージを複数のローカル・ノードの各々に送信することとを実行するように構成される。
【0007】
本開示のその他の特徴および利点が、添付の図面を参照しながら進む実施形態例の以下の詳細な説明から、明らかにされるであろう。
【0008】
本開示の前述の態様およびその他の態様は、添付の図面に関連して読まれたときに、以下の詳細な説明から最もよく理解される。本開示を説明する目的で、図面において、現在の好ましい実施形態が示されているが、本開示は、開示された特定の実施形態に限定されないと理解されている。
【図面の簡単な説明】
【0009】
【
図1】単一のローカル・ノードを備えている例示的な更新システムのブロック図を示す図である。
【
図2】中央モジュールによって接続された複数のローカル・ノードを備えている例示的な更新システムのブロック図を示す図である。
【
図3】複数の直接接続されたローカル・ノードを備えている例示的な更新システムのブロック図を示す図である。
【
図4】更新システムおよび手動で作成されたモデル更新情報を使用して分析システムを更新する例示的な方法のフロー・チャートを示す図である。
【
図5】ローカル・ノードが中央モジュールによって接続され、ローカル・ノードのうちの1つによって作成されたモデル更新情報を使用して分析システムを更新する、例示的な方法のフロー・チャートを示す図である。
【
図6】ローカル・ノードが直接接続され、ローカル・ノードのうちの1つによって作成されたモデル更新情報を使用して分析システムを更新する例示的な方法のフロー・チャートを示す図である。
【
図7】モデルを生成して共有するときにデータ・プライバシーを維持するための検出モデル・システムの実施形態例を示す図である。
【
図8】
図7の検出モデル・システムと共に使用されてよいローカル・ノードの実施形態例を示す図である。
【
図9】検出モデル・システムによってデータ・プライバシーを維持しながら、共有された集約の特徴を使用してモデルを再トレーニングする例示的な方法のフロー・チャートを示す図である。
【
図10】実施形態例の態様が実装されてよい例示的なデータ処理システムのブロック図を示す図である。
【発明を実施するための形態】
【0010】
本説明および特許請求の範囲では、実施形態例の特定の特徴および要素に関して、「1つの」、「~のうちの少なくとも1つ」、および「~のうちの1つまたは複数」という用語を使用することがある。これらの用語および語句が、特定の実施形態例に存在する特定の特徴または要素のうちの少なくとも1つが存在するが、2つ以上が存在する可能性もあるということを述べるよう意図されているということが、理解されるべきである。すなわち、これらの用語/語句は、説明または特許請求の範囲を、存在している単一の特徴/要素に制限するよう意図されておらず、そのような特徴/要素が複数存在することを必要とするよう意図されてもいない。反対に、これらの用語/語句は、少なくとも単一の特徴/要素のみを必要とし、そのような特徴/要素は、説明および特許請求の範囲内に複数存在する可能性がある。
【0011】
加えて、以下の説明では、実施形態例のさまざまな要素の複数のさまざまな例を使用して、実施形態例の例示的な実装をさらに説明し、実施形態例のメカニズムの理解を助けているということが、理解されるべきである。これらの例は、非限定的であるよう意図されており、実施形態例のメカニズムの実装のさまざまな可能性を網羅していない。本説明を考慮して、これらのさまざまな要素に関して、本開示の範囲から逸脱することなく、本明細書において提供された例に加えて、またはそれらの例を置き換えて利用できる、多くのその他の代替の実装が存在するということが、当業者にとって明らかであろう。
【0012】
本開示は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本開示の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含んでよい。
【0013】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(R)・ディスク、ヘッド・ディスク、ランダム・アクセス・メモリ(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)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたは命令が記録されている溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
【0014】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク(LAN:local area network)、広域ネットワーク(WAN:wide area network)、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0015】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはJava(R)(TM)、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、LANまたはWANを含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本開示の態様を実行するために、例えばプログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行してよい。
【0016】
本開示の態様は、本明細書において、本開示の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
【0017】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実装する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作の態様を実装する命令を含んでいる製品を含むような特定の方法で、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに機能するように指示できるものであってもよい。
【0018】
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実装するように、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれてもよく、それによって、一連の動作ステップを、コンピュータ上、その他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成するその他のデバイス上で実行させる。
【0019】
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
【0020】
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
【0021】
概要として、認知システムは、特殊なコンピュータ・システム、またはコンピュータ・システムのセットであり、人間の認知機能をエミュレートするようにハードウェア論理または(ソフトウェアが実行されるハードウェア論理と組み合わせた)ソフトウェア論理あるいはその両方を使用して構成される。これらの認知システムは、人間のような特徴を、考えを伝達することおよび操作することに適用し、デジタル計算の固有の強みと組み合わせた場合に、高い精度および柔軟性で大規模な問題を解くことができる。IBM(R)Watson(TM)は、そのような認知システムの一例であり、人間が読める言語を処理し、テキスト文の間の推定を、人間と同様の精度で、人間よりもはるかに高速かつ大量に識別することができる。一般に、そのような認知システムは、以下の機能を実行することができる。
【0022】
【0023】
本明細書における実施形態は、複数のローカル・ノードにわたって分析モデルを更新するためのシステムに関連している。本明細書において使用されるとき、個別の「ローカル・ノード」とは、個人または会社などのエンド・ユーザによってインストールされたソフトウェアのことを指している。一部の実施形態では、ローカル・ノードは、1つのコンピュータ・システムを含む。一部の実施形態では、ローカル・ノードは、エンド・ユーザによって制御される複数のコンピュータ・システムまたはサーバを含む。一部の実施形態では、システム内の各ローカル・ノードは、そのローカル・ノードに固有である現在の分析モデルのセットを使用する。一部の実施形態では、システム内の各ローカル・ノードは、1つまたは複数の分析モデルによって生成されたシステム・データにアクセスして分析する。このシステム・データは、各ローカル・ノードに固有であり、機微情報または秘密情報を含んでよい。
【0024】
本明細書において使用されるとき、個別の「分析モデル」または単に「モデル」は、データ分析技術を使用して特定のイベントを検出するように設計されたソフトウェア・アルゴリズムである。一部の実施形態では、分析モデルは、データの異常を検出する。一部の実施形態では、分析モデルは、不正イベントを検出する。一部の実施形態では、分析モデルによって使用されるデータ分析技術は、データ前処理技術、1つまたは複数の統計パラメータの計算、分類またはグループに基づく統計比率、確率の計算、データのクラスター化およびデータの照合などの分類技術、回帰分析、ならびにギャップ分析を含むが、これらに限定されない。一部の実施形態では、ローカル・ノードのソフトウェアは、1つまたは複数の分析モデルを含む。一部の実施形態では、ローカル・ノードのソフトウェアは、1つまたは複数の分析モデルおよび決定論的ルールを含む。一部の実施形態では、ローカル・ノードのソフトウェアは、不正検出のための1つまたは複数の分析モデルを含む。一部の実施形態では、ローカル・ノードのソフトウェアは、法規制の順守または不順守に関する1つまたは複数の分析モデルを含む。一部の実施形態では、ローカル・ノードのソフトウェアは、不正検出のための1つまたは複数のモデルおよび決定論的ルールを含む。一部の実施形態では、ローカル・ノードのソフトウェアは、法規制の順守または不順守に関する1つまたは複数のモデルおよび決定論的ルールを含む。
【0025】
一部の実施形態では、更新システムは、1つまたは複数のモデル更新情報を受信し、それらの更新情報を適用可能なローカル・ノードにプッシュする。一部の実施形態では、更新システムは更新情報をシステム内のすべてのローカル・ノードにプッシュする。一部の実施形態では、更新システムは更新情報を選択されたローカル・ノードのみにプッシュする。一部の実施形態では、更新システムは、どのローカル・ノードがモデル更新情報のプッシュを受信するかを決定する。
【0026】
一部の実施形態では、モデル更新情報を受信する個々のローカル・ノードは、分析システムの現在のモデルに対して更新情報をチェックし、適用可能な場合、更新システムが現在のモデルを更新する。一部の実施形態では、更新システムは、1つまたは複数の手動で作成されたモデル更新情報を受信する。一部の実施形態では、更新システムは、更新システムのローカル・ノードによって作成された1つまたは複数のモデル更新情報を受信する。一部の実施形態では、更新システムのローカル・ノードは、それ自体がローカル・ノードではない中央ハブまたは中央モジュールによって接続される。一部の実施形態では、更新システムのローカル・ノードは、例えば分散ネットワークとして、互いに直接接続される。
【0027】
一部の実施形態では、任意のローカル・ノードを含んでいる更新システムは、分析モデルを使用する任意のソフトウェア・システムに関するモデル更新情報を作成してプッシュするスタンドアロン・システムである。一部の実施形態では、更新システム自体は、より大きい分析システム(例えば、不正検出のための分析システム)のコンポーネントまたはサブシステムである。
【0028】
図1は、更新システム100の例示的な単一のローカル・ノードのコンポーネント、出力、およびデータ・フローのブロック図表現を示している。ローカル・ノードは、3つの主要なモジュールまたはサブシステム、すなわち監視モジュール101、診断モジュール102、および評価モジュール103を含んでいる。
【0029】
監視モジュール101は、モデル更新プロセスが必要とされているかどうかを判定するために、1つまたは複数の要因を監視する。一部の実施形態では、監視モジュール101は、最後の更新プロセス後の時間をチェックし、十分な時間が経過した場合、更新プロセスを開始する。一部の実施形態では、監視モジュール101は、最後の更新プロセス後、6時間、12時間、1日、2日、3日、4日、5日、6日、7日、10日、15日、30日、1か月、2か月、3か月、6か月、または1年が経過した場合に、更新プロセスを開始する。一部の実施形態では、監視モジュール101は、ローカル・ノード100の外部のソースからプッシュされたモデル更新情報を受信した場合に、更新プロセスを開始する。例えば、監視モジュール101は、更新システムの中央モジュールから、別のローカル・ノードから、または直接、更新システム管理者からプッシュされたモデル更新情報を受信することができる。
【0030】
一部の実施形態では、監視モジュール101は、診断モジュール102によって信号で伝えられた場合に、更新プロセスを開始することができる。一部の実施形態では、診断モジュール102は、システム・データ104を分析し、1つまたは複数のデータのしきい値が満たされた場合、更新プロセスを開始するように監視モジュール101に信号で伝えることができる。例えば、診断モジュール102は、システム・データ104の診断モジュールの分析が、データのしきい値を上回るイベント検出における増加、またはデータのしきい値を下回るイベント検出における減少を示す場合に、監視モジュール101に信号で伝えることができる。一部の実施形態では、データのしきい値は、例えばエンド・ユーザによって、手動で設定されることができる。一部の実施形態では、データのしきい値は、例えば、イベント検出率が検出率の1週間移動平均を有意な値だけ上回って増加した場合、診断モジュール102によって自動的に決定されることができる。
【0031】
更新プロセスが開始された場合、監視モジュール101は、使用可能なモデル更新情報について問い合わせる。一部の実施形態では、監視モジュール101は、更新システムの中央モジュール、別のローカル・ノード、または更新システム管理者に問い合わせる。一部の実施形態では、ローカル・ノード100の外部のソースからプッシュされたモデル更新情報によって更新プロセスが開始された場合、監視モジュール101は追加の使用可能なモデル更新情報について問い合わせない。一部の実施形態では、ローカル・ノード100の外部のソースからプッシュされたモデル更新情報によって更新プロセスが開始された場合、監視モジュール101は追加の使用可能なモデル更新情報についてさらに問い合わせる。
【0032】
監視モジュール101がすべての使用可能な問い合わせを完了し、少なくとも1つのモデル更新情報を受信した場合、監視モジュール101は、モデル更新情報を診断モジュール102に渡す。診断モジュール102は、モデル更新情報を、ローカル・ノードで使用できる現在のモデルのデータベース105と比較する。一部の実施形態では、診断モジュール102は、それらの現在のモデル105がアクティブに使用中であるかどうかに関わらず、モデル更新情報を現在のモデル105に分類する。一部の実施形態では、診断モジュール102は、モデル更新情報を、アクティブな現在のモデル105の適用によって生成されたシステム・データ104に分類する。
【0033】
診断モジュール102が、モデル更新情報を受信し、少なくとも、モデル更新情報を現在のモデルのデータベース105と比較した場合、診断モジュール102は、モデル更新情報およびすべての使用可能な比較ならびにその他の分析データを評価モジュール103に渡す。評価モジュール103は、モデル更新情報を評価し、更新情報106が適用されるべきかどうかを判定する。一部の実施形態では、評価モジュール103は、モデル更新情報を自動的に適用し、モデル更新情報を使用して現在のモデル105を変更または修正する。一部の実施形態では、評価モジュール103は、モデル更新情報を分析し、そのようなモデルが現在のモデルのデータベース105にすでに存在するかどうかを判定する。一部の実施形態では、評価モジュール103は、関連するシステム・データ104または診断モジュール102によって生成された関連するカテゴリ・データに対してモデルの更新を実行し、モデル更新情報が、現在のモデル105が生成できるものとは異なるシステム・データをローカル・ノード100に提供するかどうかを判定する。一部の実施形態では、評価モジュール103は、ローカル・ノード100のエンド・ユーザまたは管理者によって許可されない限り、どの更新も自動的に適用せず、どの分析も実行しない。
【0034】
図2は、複数のローカル・ノード200を含む更新システムのコンポーネント、出力、およびデータ・フローのブロック図表現を示している。更新システムは、更新システム200内のすべてのローカル・ノードを接続する中央モジュール201を備えている。
図2は、210および220として一般的に分類された2つのローカル・ノードを示している。一部の実施形態では、更新システム200内に存在することができるローカル・ノードの数に制限はない。ローカル・ノード210および220が、
図1で説明されたローカル・ノードと概して同じであり、それぞれ監視モジュール211、221、診断モジュール212、222、および評価モジュール213、223を含んでいるということが理解されるべきである。各ローカル・ノードは、それ自身のシステム・データ214、224、および現在のモデルのデータベース215、225をさらに含んでいる。各ローカル・ノードが、異なるシステム・データおよび現在のモデルを含んでよいということが理解されるべきである。一部の実施形態では、システム・データ214は、システム・データ224と同一であるか、または類似してよく、あるいはシステム・データ224と同一でなく、類似していなくてよい。一部の実施形態では、現在のモデル215は、現在のモデル225と同一であるか、または類似してよく、あるいは現在のモデル225と同一でなく、類似していなくてよい。
【0035】
中央モジュール201は、どのローカル・ノードにも存在せず、集中型管理サーバなどの分離した位置に存在する。一部の実施形態では、中央モジュール201は、監視モジュール211、221との間で情報を送信および受信することができる。一部の実施形態では、中央モジュール201は、更新システム内の任意の監視モジュールとの間で情報を送信および受信することができる。中央モジュール201は、更新システムが使用できるモデルのマスタ・データベース202にアクセスすることができる。使用可能なモデルのデータベース202は、更新システムに現在存在している、可能性のあるすべての分析モデルのリストである。一部の実施形態では、個別のノード内の現在のモデルのデータベース(例えば、現在のモデル215)は、使用可能なモデルのデータセット202と同等である。一部の実施形態では、個別のノード内の現在のモデルのデータベース(例えば、現在のモデル215)は、使用可能なモデルのデータセット202と同等ではないが、使用可能なモデルのデータベース202と共通している少なくとも1つのモデルを含む。
【0036】
一部の実施形態では、個別のノード内の監視モジュール(例えば、監視モジュール211)が、使用可能なモデル更新情報についての問い合わせを開始した場合、監視モジュールは、中央モジュール201と電子的に通信する。
【0037】
一部の実施形態では、個々のノードは、1人または複数のエンド・ユーザと通信することができる。
図2では、例えば、ノード210の評価モジュール213がエンド・ユーザ217と通信することができる。一部の実施形態では、個別のノードの任意のモジュールが、エンド・ユーザと通信することができる。一部の実施形態では、個別のノードがエンド・ユーザと通信し、更新プロセスに関する情報をエンド・ユーザに提供する。一部の実施形態では、個別のノードがエンド・ユーザと通信し、更新の結果に関する情報(例えば、どのモデルが更新されたか)をエンド・ユーザに提供する。一部の実施形態では、個別のノードがエンド・ユーザと通信し、いずれかのモデルを更新する前に、エンド・ユーザに許可を求める。
【0038】
図3は、複数のローカル・ノード300を含む更新システムのコンポーネント、出力、およびデータ・フローの別のブロック図表現を示している。更新システム300は、310および320として一般的に分類された2つのローカル・ノードを示している。一部の実施形態では、更新システム300内に存在することができるローカル・ノードの数に制限はない。ローカル・ノード310および320が、
図1および2で説明されたローカル・ノードと概して同じであり、それぞれ監視モジュール311、321、診断モジュール312、322、および評価モジュール313、323を含んでいるということが理解されるべきである。各ローカル・ノードは、それ自身のシステム・データ314、324、および現在のモデルのデータベース315、325をさらに含んでいる。各ローカル・ノードが、異なるシステム・データおよび現在のモデルを含んでよいということが理解されるべきである。一部の実施形態では、システム・データ314は、システム・データ324と同一であるか、または類似してよく、あるいはシステム・データ324と同一でなく、類似していなくてよい。一部の実施形態では、現在のモデル315は、現在のモデル325と同一であるか、または類似してよく、あるいは現在のモデル325と同一でなく、類似していなくてよい。
【0039】
図2とは異なり、更新システム300は、すべてのローカル・ノードを接続するどのような種類の中央モジュールも含まない。代わりに、各ローカル・ノードは、ネットワークを介して互いに直接接続される。一部の実施形態では、各監視モジュールは、更新システム300内の他のすべての監視モジュールと電子通信を行う。例えば、
図3に示されているように、監視モジュール311は、監視モジュール321と電子通信を行う。
【0040】
一部の実施形態では、個別のノードで更新プロセスが開始された場合、そのノードの監視モジュールが、更新システム300内の別のローカル・ノードに問い合わせる。例えば、ローカル・ノード310で更新プロセスが開始された場合、監視モジュール311がローカル・ノード320の監視モジュール321に問い合わせる。一部の実施形態では、個別のノードで更新プロセスが開始された場合、そのノードの監視モジュールが、更新システム300内の他のすべてのローカル・ノードに問い合わせる。一部の実施形態では、個別のノードで更新プロセスが開始された場合、そのノードの監視モジュールが、更新システム300内の選択された他のノードのみに問い合わせる。一部の実施形態では、個別のノードで更新プロセスが開始された場合、そのノードの監視モジュールが、更新システム300内の他の1つのノードのみに問い合わせる。
【0041】
本明細書における任意の実施形態で、システム管理者は、更新されたモデルを作成し、更新システムに手動で追加することができる。例えば、システム管理者は、更新されたモデルを作成し、
図2に示されているように、そのモデルを中央モジュール201に提出することができる。別の例では、システム管理者は、更新されたモデルを作成し、
図3に示されているように、そのモデルを監視モジュール321に提出することができる。一部の実施形態では、更新されたモデルが、本明細書に示されたいずれかの更新システムに追加された場合、更新システム内のノードのすべてまたは一部にわたって、更新プロセスが開始されてよい。
【0042】
本明細書における任意の実施形態で、更新システムのいずれかのローカル・ノードが、モデル更新情報を生成し、更新システムの他のローカル・ノードに自動的にプッシュすることができる。一部の実施形態では、エンド・ユーザまたは管理者の関与なしで、更新システムが不正検出における増加に素早く応答することができるため、それ自身のモデル更新情報を生成するローカル・ノードは有利である。例えば、
図2に示されているように、診断モジュール212は、システム・データ214を分析し、事前に設定されたしきい値より大きい不正検出における増加を検出する。診断モジュール212は、次に、不正における増加を検出するために使用された、1つまたは複数のモデルのリストを作成し、システム・データ214を分析して、1つまたは複数のモデルとデータの間の結び付きの重要な特徴および条件を決定する。次に、診断モジュール212は、モデルから、システム・データ214およびローカル・ノード210に固有のすべてのデータを除去する。次に、監視モジュール211は、モデルを中央モジュール201に送信し、その後、中央モジュール201は、そのモデルをモデル更新情報として更新システム200に適用可能であるかどうかを判定する。
【0043】
ローカル・ノードが更新システムのモデル更新情報を生成している任意の実施形態では、そのローカル・ノードの固有のシステム・データが更新システム内の中央ハブまたはその他のローカル・ノードと共有されていないということが重要である。一部の実施形態では、更新システムと共有されさるモデルを作成する診断モジュールは、ローカル・ノードからのどの固有のシステム・データとも無関係な新しいモデルを作成する。一部の実施形態では、この新しいモデルは、1つまたは複数のアルゴリズム、作成日時、特定の期間にわたって検出されたイベントの数、合計トランザクション時間値(total transactional value of time)などのメタデータまたは高水準の集約統計、および更新をトリガーするために使用される1つまたは複数のしきい値点のうちの1つまたは複数を含む。一部の実施形態では、新しいモデルは、1つまたは複数のデータ・グループの平均の比率統計を含む。一部の実施形態では、新しいモデルは、将来の肯定的結果を決定するために、1つまたは複数のデータ・グループの平均の比率統計からの逸脱を検出することができる。一部の実施形態では、新しいモデルは、1つまたは複数のモデルを表す1つまたは複数のネットワークまたは画像グラフィックスを含む。一部の実施形態では、新しいモデルは、新しいモデルを表す1つまたは複数のネットワークまたは画像グラフィックスを含む。
【0044】
本明細書における実施形態のいずれかで、更新システムのコンポーネントは、例えば、銀行などの企業の内部サーバ・システム内にインストールされたソフトウェアとして、同じ位置に格納されることができる。一部の実施形態では、本明細書で開示されたいずれかの更新システムのコンポーネントの一部は、クラウドベースのサービスの一部などとして、異なる位置に格納される。
【0045】
図4は、手動で作成されたモデルを使用して、モデル更新情報を、中央モジュール400を含む更新システムにプッシュする例示的な方法のフロー・チャートを示している。一部の実施形態では、方法400は、
図2に示された更新システムで使用されることができる。最初に、システム管理者が、システムを更新するために使用される新しいモデルを手動で作成した(401)。一部の実施形態では、新しいモデルは、1つまたは複数の新しいアルゴリズムまたは更新されたアルゴリズムを含む。一部の実施形態では、新しいモデルは、新しいモデルの使用に必要な基準に関する情報(例えば、ビジネスの種類、必要なシステム・データの量、またはモデルによって実行された検出の種類)を含む。一部の実施形態では、新しいモデルは、モデルが更新システムにとってどの程度重要かに関する優先度情報を含む。例えば、すべてのローカル・ノードに出力されなければならない新しいモデルには、可能な最高の優先度が付与される。一部の実施形態では、優先度情報は、低優先度、中優先度、または高優先度のいずれかとして分類される。
【0046】
次に、システム管理者によって作成された新しいモデルが更新システムにプッシュされ、更新システムがモデルを受信する(402)。一部の実施形態では、更新システムの中央モジュールがモデルを受信する。中央モジュールは、モデルを受信した(402)後に、モデル・データベースを更新する(403)。例えば、中央モジュール201が、
図2に示された更新システム200内の使用可能なモデル・データベース202を更新する。
【0047】
次に、更新システムは、新しいモデルに適用可能なエンド・ユーザを決定する(404)。一部の実施形態では、中央モジュールは、どのエンド・ユーザが適用可能であるかを決定している。一部の実施形態では、中央モジュールは、新しいモデルの優先度情報に加えて、新しいモデルにおける基準情報を各エンド・ユーザに関する情報と比較することによって、どのエンド・ユーザがモデル更新情報に適用可能であるかを決定する。例えば、クレジット・カードの不正検出のためのモデル更新情報が中優先度を有している場合、中央モジュールは、更新システム内のどのローカル・ノードがクレジット・カードの不正検出に関与しているかを識別し、その後、モデルをそれらの識別されたローカル・ノードに出力する(405)。モデル更新情報は、残りのどのローカル・ノードにも出力されないが、それらの残りのローカル・ノードの各々が更新プロセスを開始したときに、例えば、更新なしで監視モジュールをトリガーするほど十分な時間が経過した場合に、そのローカル・ノードは更新情報を受信してよい。別の例では、クレジット・カードの不正検出のためのモデル更新情報が高優先度を有している場合、中央モジュールは、モデルをすべてのローカル・ノードに出力する(405)。別の例では、クレジット・カードの不正検出のためのモデル更新情報が低優先度を有している場合、中央モジュールは、モデルをどのローカル・ノードにも直ちに出力せず、代わりに、各ローカル・ノードがそれ自身で更新プロセスを開始するのを待機する。
【0048】
モデル更新情報が中央モジュールから送信された後に、少なくとも1つのローカル・ノードによって、そのモデル更新情報が受信される(411)。一部の実施形態では、モデル更新情報が、複数のローカル・ノードによって同時に受信される。一部の実施形態では、モデル更新情報が、本明細書に記載された実施形態のいずれかにおける監視モジュールによって受信される。
【0049】
一部の実施形態では、ローカル・ノードがモデル更新情報を受信した(411)後に、モデル更新情報は自動的にインストールされない。最初に、ローカル・ノードが、現在のモデル・データベースに問い合わせ、モデル更新情報がいずれかの既存のモデルを置き換えるかどうかを確認する(412)。次に、ローカル・ノードは、ノードとのモデル更新情報の関連性を決定する(413)。例えば、
図2に示された更新システム200のローカル・ノード210で、監視モジュール211によってモデル更新情報が受信され、その後、診断モジュール212に渡される。診断モジュール212は、最初に、現在のモデル・データベース215に問い合わせ、次に、ローカル・ノード210とのモデル更新情報の関連性を決定する。一部の実施形態では、診断モジュール212は、関連性を決定するステップ413の後に、更新プロセスを終了する。一部の実施形態では、関連性を決定するステップ413の後に、診断モジュール212が、モデル更新情報がローカル・ノードに必要とされないということを決定した場合に、診断モジュール212が更新プロセスを終了する。一部の実施形態では、関連性を決定するステップ413の後に、診断モジュール212が、モデル更新情報がローカル・ノードにすでに存在するということを決定した場合に、診断モジュール212が更新プロセスを終了する。一部の実施形態では、モデル更新情報が高優先度を有している場合、診断モジュール212は、関連性を決定するステップ413を自動的に回避する。
【0050】
一部の実施形態では、ローカル・ノードが、モデル更新情報が関連しているか、または必要であるということを決定した後に、ローカル・ノードは、モデル更新情報を適用する許可を得ているかどうかを判定する(414)。一部の実施形態では、ローカル・ノードの評価モジュールが、ローカル・ノードがモデル更新情報を適用する許可を得ているかどうかを判定する。一部の実施形態では、ローカル・ノードは、モデル更新情報をインストールする許可を得ない。一部の実施形態では、ローカル・ノードは、モデル更新情報をインストールする自動的な許可を得ない。一部の実施形態では、ローカル・ノードは、モデル更新情報をインストールする前に、エンド・ユーザに問い合わせるか、またはエンド・ユーザに許可を求めなければならない(416)。例えば、診断モジュール212が、モデル更新情報が関連しているということ、またはモデル更新情報が、関連性を決定するステップ413を回避するほど十分に高い優先度を有しているということのいずれかを決定した後に、モデル更新情報が評価モジュール213に渡される。次に、評価モジュール213は、ローカル・ノードの更新許可設定をチェックする。一部の実施形態では、評価モジュール213が、モデル更新情報をインストールする許可を得ていないということを決定した場合、評価モジュール213は更新プロセスを終了する。一部の実施形態では、評価モジュール213は、モデル更新情報をインストールする前に、例えば、ユーザにプロンプトを発行することによって、または電子メールもしくはその他の通信をエンド・ユーザに送信することによって、エンド・ユーザに問い合わせる。
【0051】
ローカル・ノードが、モデル更新情報をインストールする許可を得ているということを決定した後に、ローカル・ノードはモデル更新情報をインストールする(415)。一部の実施形態では、評価モジュールがモデル更新情報をインストールする。一部の実施形態では、更新システムの任意のモジュールがモデル更新情報をインストールする。一部の実施形態では、モデル更新情報は、1つまたは複数の新しいモデルをローカル・ノード内の現在のモデル・データベースにインストールする。一部の実施形態では、モデル更新情報は、ローカル・ノード内の現在のモデル・データベース内の1つまたは複数のモデルを置き換える。例えば、許可が確立された後に、評価モジュール213が、モデル更新情報を使用して現在のモデル・データベース215を更新する。
【0052】
一部の実施形態では、更新415が完了した後に、ローカル・ノードは出力レポートを作成する(417)。一部の実施形態では、出力レポートはエンド・ユーザと共有される。一部の実施形態では、出力レポートは、更新システムの中央モジュールと共有される。一部の実施形態では、出力レポートは、モデル更新情報に関する情報を含み、例えば、更新されたモデルの種類、いずれかの古いモデルが置き換えられたかどうか、更新の日時、新しいモデルが現在アクティブであるかどうか、またはこれらの任意の組み合わせを含んでいる。
【0053】
図5は、モデル更新情報を、中央モジュールを含む更新システムにプッシュする例示的な方法のフロー・チャートを示しており、モデル更新情報が、更新システム500内のローカル・ノードから自動的に作成されている。一部の実施形態では、方法500は、
図2に示された更新システムで使用されることができる。最初に、更新システム内のローカル・ノードが、既存のモデルからの結果における変化を検出する(501)。一部の実施形態では、更新システム内のローカル・ノードが、不正検出率における変化を検出する。一部の実施形態では、不正検出率における変化は、事前に設定されたしきい値より大きい不正検出における増加である。一部の実施形態では、不正検出率における変化は、特定の期間にわたる不正における有意な増加または減少である。一部の実施形態では、更新システム内のローカル・ノードが、検出された不正の大きさにおける変化を検出する。一部の実施形態では、不正の大きさにおける変化は、事前に設定されたしきい値より大きい、検出された不正イベントの価値または金額における増加である。一部の実施形態では、不正の大きさにおける変化は、検出されたイベントの移動平均と比較した、検出された不正イベントの価値または金額における有意な増加である。例えば、
図2に示されているような診断モジュール212は、システム・データ214を分析し、不正検出率の3か月移動平均から標準偏差を超えて離れている不正検出率における増加を検出する。
【0054】
既存のモデルからの結果における変化が検出された(501)後に、ローカル・ノードが、その検出に関与しているすべてのモデルのリストを作成する(502)。一部の実施形態では、ローカル・ノードは、ステップ501で検出されたイベントを生成することに直接関与しているすべてのモデルのリストを作成する。一部の実施形態では、ローカル・ノードは、ステップ501で検出されたイベントを生成することに直接的および間接的に関与したすべてのモデルのリストを作成する。一部の実施形態では、ローカル・ノードは、イベントがステップ501で検出されたときにアクティブに実行中だったすべてのモデルのリストを作成する。例えば、システム・データ214と現在のモデル・データベース215の両方に対するアクセス権限を有する診断モジュール212が、ステップ501で前に検出された不正イベントを生成することに直接的および間接的に関与したすべてのアルゴリズム・モデルのリストを作成する。
【0055】
ローカル・ノードが、検出された変化(501)に関連するモデルのリストを作成した(502)後に、ローカル・ノードは、検出された変化につながるイベントを生成することに関与したデータを分析する(503)。一部の実施形態では、ローカル・ノードは、システム・データを分析し、ステップ501で検出されたイベントを生成することにおいて、ステップ502でリストを作成されたモデルに関連する特徴および条件を決定する。一部の実施形態では、ローカル・ノードの分析は、通常の最小二乗法、罰則付き回帰、一般化された加法モデル、分位点回帰、ロジスティック回帰、およびゲート付き線形モデル(gated linear models)を含むことができるが、これらに限定されない。一部の実施形態では、ローカル・ノードの分析は、1つまたは複数の関連するモデルの変換された変形になり、それらのモデルの複雑さを減らす。例としては、真であることが知られている変数の関係の周辺でモデルを順応させるために、非線形、非単調なモデルに対して単調性制約を設けること、または機械学習アプリケーションでの単調ニューラル・ネットワークの利用が挙げられる。一部の実施形態では、関連する視覚化は、1つまたは複数の適用可能なモデル、特に機械学習モデルを近似する、関連しているがあまり複雑でないモデルである。例としては、代用モデル、LIME(local interpretable model-agnostic explanations)、最大放射化分析(maximum activation analysis)、線形回帰、および感度分析が挙げられる。
【0056】
ローカル・ノードがモデルのリストを作成し(502)、関連するデータを分析した(503)後に、ローカル・ノードは、更新システムの他のローカル・ノードに送信されるモデル更新情報の特徴を生成することができる(504)。一部の実施形態では、ローカル・ノードの診断モジュールがモデルの特徴を生成する(504)。一部の実施形態では、モデル更新情報の特徴はローカル・ノードに依存せず、すなわち、モデル更新情報は、更新システム内の任意のローカル・ノードによって使用可能である。したがって、ローカル・ノードによって生成されたモデル更新情報から、そのローカル・ノードのすべての固有のデータが除去される。一部の実施形態では、モデル更新情報の特徴は、1つまたは複数のアルゴリズム、作成日時、特定の期間にわたって検出されたイベントの数、合計トランザクション時間値などのメタデータまたは高水準の集約統計、および更新をトリガーするために使用される1つまたは複数のしきい値点のうちの1つまたは複数を含む。一部の実施形態では、モデル更新情報の特徴は、1つまたは複数のデータ・グループの平均の比率統計を含む。一部の実施形態では、モデル更新情報は、将来の肯定的結果を決定するために、1つまたは複数のデータ・グループの平均の比率統計からの逸脱を検出することができる。一部の実施形態では、モデル更新情報の特徴は、1つまたは複数のモデルを表す1つまたは複数のネットワークまたは画像グラフィックスを含む。一部の実施形態では、モデル更新情報の特徴は、新しいモデルを表す1つまたは複数のネットワークまたは画像グラフィックスを含む。
【0057】
ローカル・ノードがモデルの特徴を生成した(504)後に、ローカル・ノードは、モデル更新情報を出力することができる(505)。一部の実施形態では、ローカル・ノードは、モデル更新情報を更新システムの中央モジュールに出力し、中央モジュールがモデル更新情報を受信する(506)。例えば、ローカル・ノード210の監視モジュール211は、診断モジュール212からモデル更新情報を受信することができ、その後、監視モジュール211はモデル更新情報を中央モジュール201に送信することができ、中央モジュール201がモデル更新情報を受信する。
【0058】
更新システムの中央モジュールは、ローカル・ノードからモデル更新情報を受信した(506)後に、モデル・データベースに問い合わせる(507)。一部の実施形態では、中央モジュールは、モデル・データベースに問い合わせ、モデル更新情報がすでに存在するかどうかを判定する。一部の実施形態では、中央モジュールは、モデル・データベースに問い合わせ、モデル更新情報がデータベース内の既存のモデルを置き換えるのか、またはデータベースにとって新しいモデルであるのかを判定する。一部の実施形態では、中央モジュールがモデル・データベースに問い合わせ、モデル更新情報がデータベース内の既存のモデルを置き換えるか、または変更することができるということを決定した場合、中央モジュールは、モデル情報を既存のモデルに適用することができる。一部の実施形態では、モデル情報は、モデルの作成日時、モデルが最後に更新された日時、およびモデルを現在使用しているローカル・ノードの数のうちの1つまたは複数を含むことができる。例えば、中央モジュール201は、ローカル・ノード210からモデル更新情報を受信したときに、使用可能なモデル・データベース202に対してモデル更新情報をチェックする。中央モジュール201は、モデル更新情報が、使用可能なモデル・データベース202内にすでに存在するかどうかを判定し、存在する場合、中央モジュール201は、関連する情報を既存のすべてのモデルに適用する。
【0059】
更新システムの中央モジュールがモデル・データベースに問い合わせた(507)後に、中央モジュールは、モデル更新情報の優先度を決定する(508)。一部の実施形態では、モデル更新情報の優先度のリストは、高、中、または低として作成される。一部の実施形態では、モデル更新情報の優先度のリストは、例えば1~10の範囲内またはその他の一般的な数値範囲内の数値尺度で作成される。一部の実施形態では、中央モジュールは、モデル更新情報の特徴を事前に決定された尺度と比較することによって、モデル更新情報の優先度を決定する。一部の実施形態では、中央モジュールは、モデル更新情報の特徴をモデル・データベースと比較することによって、モデル更新情報の優先度を決定する。一部の実施形態では、中央モジュールは、モデル更新情報の特徴を、既存のモデル・データベースに格納されたモデル情報と比較することによって、モデル更新情報の優先度を決定する。一部の実施形態では、既存のモデル情報とのモデル更新情報の特徴の比較から、優先度等級が得られ、その後、優先度等級が優先度に変換される。
【0060】
例えば、更新システム200の中央モジュール201が、使用可能なモデル・データベース202に対して、クレジット・カードの不正検出のためのモデル更新情報をチェックした後に、中央モジュール201は、類似するモデルがデータベースにすでに存在するということを決定し、情報を既存のモデルに適用する。次に、中央モジュール201は、モデル更新情報の特徴を既存のモデル情報と比較し、優先度等級を計算する。第1の例として、中央モジュールは、クレジット・カードの不正検出のための既存のモデルが1年以上更新されていないということ、モデル更新情報が、既存のモデルの直接の置き換えであるということ、およびモデル更新情報が、さまざまな使用条件にわたってクレジット・カードの不正を検出する性能を向上させることができるということを決定する。これらの差異が高い優先度等級をもたらし、中央モジュール201は、この優先度等級を高優先度に変換する。第2の例として、中央モジュールは、クレジット・カードの不正検出のための既存のモデルが最近更新されたということ、およびモデル更新情報が、十分に多いユーザの母体を伴い、わずかなエンド・ユーザのみが持っていることが知られているクレジット・カードの不正を検出する性能を向上させることしか期待されないということを決定する。これらの差異が相対的に低い優先度等級をもたらし、中央モジュール201は、この優先度等級を中優先度に変換する。
【0061】
優先度を決定した後に、更新システムは、新しいモデルに適用可能なエンド・ユーザを決定する(509)。一部の実施形態では、中央モジュールは、どのエンド・ユーザが適用可能であるかを決定している。一部の実施形態では、中央モジュールは、新しいモデルの優先度情報に加えて、モデル更新情報の特徴を各エンド・ユーザに関する情報と比較することによって、どのエンド・ユーザがモデル更新情報に適用可能であるかを決定する。例えば、クレジット・カードの不正検出のためのモデル更新情報が中優先度を有している場合、中央モジュールは、更新システム内のどのローカル・ノードがクレジット・カードの不正検出に関与しているかを識別し、その後、モデルをそれらの識別されたローカル・ノードに出力する(510)。モデル更新情報は、残りのどのローカル・ノードにも出力されないが、それらの残りのローカル・ノードの各々が更新プロセスを開始したときに、例えば、更新なしで監視モジュールをトリガーするほど十分な時間が経過した場合に、そのローカル・ノードは更新情報を受信してよい。別の例では、クレジット・カードの不正検出のためのモデル更新情報が高優先度を有している場合、中央モジュールは、モデルをすべてのローカル・ノードに出力する(510)。別の例では、クレジット・カードの不正検出のためのモデル更新情報が低優先度を有している場合、中央モジュールは、モデルをどのローカル・ノードにも直ちに出力せず、代わりに、各ローカル・ノードがそれ自身で更新プロセスを開始するのを待機する。
【0062】
モデル更新情報が中央モジュールから送信された後に、少なくとも1つのローカル・ノードによって、そのモデル更新情報が受信される(511)。一部の実施形態では、モデル更新情報が、複数のローカル・ノードによって同時に受信される。一部の実施形態では、モデル更新情報が、本明細書に記載された実施形態のいずれかにおける監視モジュールによって受信される。
【0063】
一部の実施形態では、ローカル・ノードがモデル更新情報を受信した(511)後に、モデル更新情報は自動的にインストールされない。最初に、ローカル・ノードが、現在のモデル・データベースに問い合わせ、モデル更新情報がいずれかの既存のモデルを置き換えるかどうかを確認する(512)。次に、ローカル・ノードは、ノードとのモデル更新情報の関連性を決定する(513)。例えば、
図2に示された更新システム200のローカル・ノード210で、監視モジュール211によってモデル更新情報が受信され、その後、診断モジュール212に渡される。診断モジュール212は、最初に、現在のモデル・データベース215に問い合わせ、次に、ローカル・ノード210とのモデル更新情報の関連性を決定する。一部の実施形態では、診断モジュール212は、関連性を決定するステップ513の後に、更新プロセスを終了する。一部の実施形態では、関連性を決定するステップ513の後に、診断モジュール212が、モデル更新情報がローカル・ノードに必要とされないということを決定した場合に、診断モジュール212が更新プロセスを終了する。一部の実施形態では、関連性を決定するステップ513の後に、診断モジュール212が、モデル更新情報がローカル・ノードにすでに存在するということを決定した場合に、診断モジュール212が更新プロセスを終了する。一部の実施形態では、モデル更新情報が高優先度を有している場合、診断モジュール212は、関連性を決定するステップ513を自動的に回避する。
【0064】
一部の実施形態では、ローカル・ノードが、モデル更新情報が関連しているか、または必要であるということを決定した後に、ローカル・ノードは、モデル更新情報を適用する許可を得ているかどうかを判定する(514)。一部の実施形態では、ローカル・ノードの評価モジュールが、ローカル・ノードがモデル更新情報を適用する許可を得ているかどうかを判定する。一部の実施形態では、ローカル・ノードは、モデル更新情報をインストールする許可を得ない。一部の実施形態では、ローカル・ノードは、モデル更新情報をインストールする自動的な許可を得ない。一部の実施形態では、ローカル・ノードは、モデル更新情報をインストールする前に、エンド・ユーザに問い合わせるか、またはエンド・ユーザに許可を求めなければならない(516)。例えば、診断モジュール212が、モデル更新情報が関連しているということ、またはモデル更新情報が、関連性を決定するステップ513を回避するほど十分に高い優先度を有しているということのいずれかを決定した後に、モデル更新情報が評価モジュール213に渡される。次に、評価モジュール213は、ローカル・ノードの更新許可設定をチェックする。一部の実施形態では、評価モジュール213が、モデル更新情報をインストールする許可を得ていないということを決定した場合、評価モジュール213は更新プロセスを終了する。一部の実施形態では、評価モジュール213は、モデル更新情報をインストールする前に、例えば、ユーザにプロンプトを発行することによって、または電子メールもしくはその他の通信をエンド・ユーザに送信することによって、エンド・ユーザに問い合わせる。
【0065】
ローカル・ノードが、モデル更新情報をインストールする許可を得ているということを決定した後に、ローカル・ノードはモデル更新情報をインストールする(515)。一部の実施形態では、評価モジュールがモデル更新情報をインストールする。一部の実施形態では、更新システムの任意のモジュールがモデル更新情報をインストールする。一部の実施形態では、モデル更新情報は、1つまたは複数の新しいモデルをローカル・ノード内の現在のモデル・データベースにインストールする。一部の実施形態では、モデル更新情報は、ローカル・ノード内の現在のモデル・データベース内の1つまたは複数のモデルを置き換える。例えば、許可が確立された後に、評価モジュール213が、モデル更新情報を使用して現在のモデル・データベース215を更新する。
【0066】
一部の実施形態では、更新515が完了した後に、ローカル・ノードは出力レポートを作成する(517)。一部の実施形態では、出力レポートはエンド・ユーザと共有される。一部の実施形態では、出力レポートは、更新システムの中央モジュールと共有される。一部の実施形態では、出力レポートは、モデル更新情報に関する情報を含み、例えば、更新されたモデルの種類、いずれかの古いモデルが置き換えられたかどうか、更新の日時、新しいモデルが現在アクティブであるかどうか、またはこれらの任意の組み合わせを含んでいる。
【0067】
図6は、モデル更新情報を、中央モジュールを含まない更新システムにプッシュする例示的な方法のフロー・チャートを示しており、モデル更新情報が、更新システム600内のローカル・ノードから自動的に作成されている。一部の実施形態では、方法600は、
図3に示された更新システムで使用されることができる。最初に、更新システム内のローカル・ノードが、既存のモデルからの結果における変化を検出する(601)。一部の実施形態では、更新システム内のローカル・ノードが、不正検出率における変化を検出する。一部の実施形態では、不正検出率における変化は、事前に設定されたしきい値より大きい不正検出における増加である。一部の実施形態では、不正検出率における変化は、特定の期間にわたる不正における有意な増加または減少である。一部の実施形態では、更新システム内のローカル・ノードが、検出された不正の大きさにおける変化を検出する。一部の実施形態では、不正の大きさにおける変化は、事前に設定されたしきい値より大きい、検出された不正イベントの価値または金額における増加である。一部の実施形態では、不正の大きさにおける変化は、検出されたイベントの移動平均と比較した、検出された不正イベントの価値または金額における有意な増加である。例えば、
図3に示されているような診断モジュール312は、システム・データ314を分析し、不正検出率の3か月移動平均から標準偏差を超えて離れている不正検出率における増加を検出する。
【0068】
既存のモデルからの結果における変化が検出された(601)後に、ローカル・ノードが、その検出に関与しているすべてのモデルのリストを作成する(602)。一部の実施形態では、ローカル・ノードは、ステップ601で検出されたイベントを生成することに直接関与しているすべてのモデルのリストを作成する。一部の実施形態では、ローカル・ノードは、ステップ601で検出されたイベントを生成することに直接的および間接的に関与したすべてのモデルのリストを作成する。一部の実施形態では、ローカル・ノードは、イベントがステップ601で検出されたときにアクティブに実行中だったすべてのモデルのリストを作成する。例えば、システム・データ314と現在のモデル・データベース315の両方に対するアクセス権限を有する診断モジュール312が、ステップ601で前に検出された不正イベントを生成することに直接的および間接的に関与したすべてのアルゴリズム・モデルのリストを作成する。
【0069】
ローカル・ノードが、検出された変化(601)に関連するモデルのリストを作成した(602)後に、ローカル・ノードは、検出された変化につながるイベントを生成することに関与したデータを分析する(603)。一部の実施形態では、ローカル・ノードは、システム・データを分析し、ステップ601で検出されたイベントを生成することにおいて、ステップ602でリストを作成されたモデルに関連する特徴および条件を決定する。一部の実施形態では、ローカル・ノードの分析は、通常の最小二乗法、罰則付き回帰、一般化された加法モデル、分位点回帰、ロジスティック回帰、およびゲート付き線形モデルを含むことができるが、これらに限定されない。一部の実施形態では、ローカル・ノードの分析は、1つまたは複数の関連するモデルの変換された変形になり、それらのモデルの複雑さを減らす。例としては、真であることが知られている変数の関係の周辺でモデルを順応させるために、非線形、非単調なモデルに対して単調性制約を設けること、または機械学習アプリケーションでの単調ニューラル・ネットワークの利用が挙げられる。一部の実施形態では、関連する視覚化は、1つまたは複数の適用可能なモデル、特に機械学習モデルを近似する、関連しているがあまり複雑でないモデルである。例としては、代用モデル、LIME(local interpretable model-agnostic explanations)、最大放射化分析、線形回帰、および感度分析が挙げられる。
【0070】
ローカル・ノードがモデルのリストを作成し(602)、関連するデータを分析した(603)後に、ローカル・ノードは、更新システムの他のローカル・ノードに送信されるモデル更新情報の特徴を生成することができる(604)。一部の実施形態では、ローカル・ノードの診断モジュールがモデルの特徴を生成する(604)。一部の実施形態では、モデル更新情報の特徴はローカル・ノードに依存せず、すなわち、モデル更新情報は、更新システム内の任意のローカル・ノードによって使用可能である。したがって、ローカル・ノードによって生成されたモデル更新情報から、そのローカル・ノードのすべての固有のデータが除去される。一部の実施形態では、モデル更新情報の特徴は、1つまたは複数のアルゴリズム、作成日時、特定の期間にわたって検出されたイベントの数、合計トランザクション時間値などのメタデータまたは高水準の集約統計、および更新をトリガーするために使用される1つまたは複数のしきい値点のうちの1つまたは複数を含む。一部の実施形態では、モデル更新情報の特徴は、1つまたは複数のデータ・グループの平均の比率統計を含む。一部の実施形態では、モデル更新情報は、将来の肯定的結果を決定するために、1つまたは複数のデータ・グループの平均の比率統計からの逸脱を検出することができる。一部の実施形態では、モデル更新情報の特徴は、1つまたは複数のモデルを表す1つまたは複数のネットワークまたは画像グラフィックスを含む。一部の実施形態では、モデル更新情報の特徴は、新しいモデルを表す1つまたは複数のネットワークまたは画像グラフィックスを含む。
【0071】
ローカル・ノードがモデルの特徴を生成した(604)後に、ローカル・ノードは、モデル更新情報を出力することができる(605)。一部の実施形態では、ローカル・ノードは、モデル更新情報を更新システムの少なくとも1つの他のローカル・ノードに出力し、それらのローカル・ノードがモデル更新情報を受信する(611)。一部の実施形態では、ローカル・ノードは、モデル更新情報を更新システムの他のすべてのローカル・ノードに出力する。例えば、ローカル・ノード310の監視モジュール311は、診断モジュール312からモデル更新情報を受信することができ、その後、監視モジュール311はモデル更新情報を他のローカル・ノード320に送信することができ、他のローカル・ノード320がモデル更新情報を受信する。
【0072】
一部の実施形態では、ローカル・ノードがモデル更新情報を受信した(611)後に、モデル更新情報は自動的にインストールされない。最初に、ローカル・ノードが、現在のモデル・データベースに問い合わせ、モデル更新情報がいずれかの既存のモデルを置き換えるかどうかを確認する(612)。次に、ローカル・ノードは、ノードとのモデル更新情報の関連性を決定する(613)。例えば、
図3に示された更新システム300のローカル・ノード310で、監視モジュール311によってモデル更新情報が受信され、その後、診断モジュール312に渡される。診断モジュール312は、最初に、現在のモデル・データベース315に問い合わせ、次に、ローカル・ノード310とのモデル更新情報の関連性を決定する。一部の実施形態では、診断モジュール312は、関連性を決定するステップ613の後に、更新プロセスを終了する。一部の実施形態では、関連性を決定するステップ613の後に、診断モジュール312が、モデル更新情報がローカル・ノードに必要とされないということを決定した場合に、診断モジュール312が更新プロセスを終了する。一部の実施形態では、関連性を決定するステップ613の後に、診断モジュール312が、モデル更新情報がローカル・ノードにすでに存在するということを決定した場合に、診断モジュール312が更新プロセスを終了する。
【0073】
一部の実施形態では、ローカル・ノードが、モデル更新情報が関連しているか、または必要であるということを決定した後に、ローカル・ノードは、モデル更新情報を適用する許可を得ているかどうかを判定する(614)。一部の実施形態では、ローカル・ノードの評価モジュールが、ローカル・ノードがモデル更新情報を適用する許可を得ているかどうかを判定する。一部の実施形態では、ローカル・ノードは、モデル更新情報をインストールする許可を得ない。一部の実施形態では、ローカル・ノードは、モデル更新情報をインストールする自動的な許可を得ない。一部の実施形態では、ローカル・ノードは、モデル更新情報をインストールする前に、エンド・ユーザに問い合わせるか、またはエンド・ユーザに許可を求めなければならない(616)。例えば、診断モジュール312が、モデル更新情報が関連しているということを決定した後に、モデル更新情報が評価モジュール313に渡される。次に、評価モジュール313は、ローカル・ノードの更新許可設定をチェックする。一部の実施形態では、評価モジュール313が、モデル更新情報をインストールする許可を得ていないということを決定した場合、評価モジュール313は更新プロセスを終了する。一部の実施形態では、評価モジュール313は、モデル更新情報をインストールする前に、例えば、ユーザにプロンプトを発行することによって、または電子メールもしくはその他の通信をエンド・ユーザに送信することによって、エンド・ユーザに問い合わせる。
【0074】
ローカル・ノードが、モデル更新情報をインストールする許可を得ているということを決定した後に、ローカル・ノードはモデル更新情報をインストールする(615)。一部の実施形態では、評価モジュールがモデル更新情報をインストールする。一部の実施形態では、更新システムの任意のモジュールがモデル更新情報をインストールする。一部の実施形態では、モデル更新情報は、1つまたは複数の新しいモデルをローカル・ノード内の現在のモデル・データベースにインストールする。一部の実施形態では、モデル更新情報は、ローカル・ノード内の現在のモデル・データベース内の1つまたは複数のモデルを置き換える。例えば、許可が確立された後に、評価モジュール313が、モデル更新情報を使用して現在のモデル・データベース315を更新する。
【0075】
一部の実施形態では、更新615が完了した後に、ローカル・ノードは出力レポートを作成する(617)。一部の実施形態では、出力レポートはエンド・ユーザと共有される。一部の実施形態では、出力レポートは、更新システムの中央モジュールと共有される。一部の実施形態では、出力レポートは、モデル更新情報に関する情報を含み、例えば、更新されたモデルの種類、いずれかの古いモデルが置き換えられたかどうか、更新の日時、新しいモデルが現在アクティブであるかどうか、またはこれらの任意の組み合わせを含んでいる。
【0076】
一部の実施形態では、本明細書で開示されたどのシステムのユーザも、「ヒューマン・イン・ザ・ループ」システムとして知られているような1人または複数の人間のユーザであることができる。一部の実施形態では、本明細書で開示されたどのシステムのユーザも、コンピュータ・システム、人工知能(AI:artificial intelligence)、認知アルゴリズムまたは非認知アルゴリズムなどであることができる。
【0077】
上記の実施形態は、例えば、使用中のモデルに関連付けられたデータの監視および分析、ならびに新しい検出可能な活動およびパターンが出現するにつれて発達する新しいモデルの必要性に基づいて検出モデルを更新するためのシステムおよび方法について説明する。ローカル・ノードによって使用される検出モデルが、モデルの結果、テスト結果などのより堅牢なデータ・セットを使用して更新され、改善されることができる事例が存在する。さらに、会社、金融機関などの実体の合意または共同体を通じて発生することがあるデータ共有などのデータ共有によって、より大きいデータ・セットが実現される可能性がある。しかし、特に、モデルを生成するために使用されるデータが個人識別情報などの機微情報である場合、データ・プライバシーを維持する必要がある。さらに、機微データが共有デバイスに送信される場合、プライバシー保護(例えば、地域の法律および規制)の順守を保証するために、データ・フローのさまざまな特徴が記録される必要性(例えば、規制上の要件)に加えて、データに関して行われるさまざまなアクションおよびイベントの追跡および記録が存在することが多い。開示された実施形態は、データまで遡ることができない一般的な特徴を計算することなどによってプライバシー保護を含みながら、モデル生成において情報の共有データ・セットを利用するためのシステムおよび方法をさらに提供する。
【0078】
図7は、ネットワーク730によって接続された検出モデル・システム700、ローカル・ノード710、およびローカル・ノード720を含んでいる例示的なシステムの図である。実施形態例では、検出モデル・システム700は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含んでいるコンピューティング・システムである。検出モデル・システム700は、一部の実施形態では、中央モジュール201と同じであるか、または類似している。他の実施形態では、検出モデル・システム700は、ローカル・ノード310などのローカル・ノードである。ローカル・ノード710、720は、実体(例えば、金融機関)に関連付けられたコンピューティング・デバイスなどのエンドユーザ・デバイスであってよい。ローカル・ノード710、720は、ローカル・ノード100、210、220、310、または320、あるいはその組み合わせと同じであるか、または類似してよい。
【0079】
検出モデル・システム700は、検出モデルおよびプライバシー保護機能を提供するハードウェアまたはソフトウェアあるいはその両方において具現化された複数のモジュールを含んでよい。実施形態例では、検出モデル・システム700は、データ制御モジュール702、モデル・マネージャ704、プライバシー・マネージャ706、および追跡モジュール708を含んでいる。
【0080】
データ制御モジュール702は、ローカル・ノード710、720からデータを受信するように構成されてよい。実施形態例では、データは、単一の顧客の顧客データでもトランザクション・データでもなく、代わりに、複数の顧客またはトランザクションあるいはその両方を含んでいるデータ・セットの内容を表す、集約された特徴データを含んでよい。例えば、集約された特徴データは、指標データ(例えば、顧客またはトランザクションの計数などの、グループ化されたデータの計算された測定値)、地域データ(トランザクションがどこで発生したかに関する統計値)、時間データ(トランザクションがいつ発生したかに関する統計値)、量データ(例えば、発生する量の範囲)などを含んでよい。データ制御モジュール702は、データ要求、データ送信などを送信することなどによって、検出モデル・システム700との間のデータの流れを制御するように構成されてよい。
【0081】
モデル・マネージャ704は、検出モデル・システム700とローカル・ノード710、720の間で検出モデルの生成およびデプロイメントを管理するように構成されてよい。モデル・マネージャ704は、
図1~3のうちの1つまたは複数で説明されたコンポーネントのうちの1つまたは複数を含んでよい。例えば、モデル・マネージャ704は、データ制御モジュール702によって受信されたデータなどの受信されたデータに基づいて検出モデルを更新するために、監視モジュール、診断モジュール、または評価モジュール、あるいはその組み合わせを含んでよい。モデル・マネージャ704は、本明細書に記載されているように、モデル更新情報に基づいてモデルを生成してローカル・ノード710、720にデプロイするように構成されてよい。追加または代替の実施形態では、モデル・マネージャ704は、他のコンポーネント(例えば、追加または代替のモジュール)を含んでよい。
【0082】
プライバシー・マネージャ706は、モデル・マネージャ704による検出モデルの生成およびデプロイメントにおいて1つまたは複数のプライバシー保護機能を実行するように構成される。例えば、プライバシー・マネージャ706は、データ制御モジュール702によって受信されたデータを監視し、検出モデル・システム700に送信されて受信されるデータを保護する(例えば、ローカル・ノード720による、ローカル・ノード710からのデータのアクセスを防ぐ)ことを考慮して、1つまたは複数のデータ・プライバシーのアクションを実行するように構成されてよい。データ・プライバシーのアクションは、例えば、データ制御モジュール702からのデータの暗号化/復号、使用されたデータの削除、データの集約、データの匿名化、追跡および記録のためのデータのタグ付けなどを含んでよい。
【0083】
追跡モジュール708は、検出モデル・システム700を通るデータ・フローを追跡し、1つまたは複数のイベント、統計値、またはデータの内容、あるいはその組み合わせを記録するように構成される。追跡モジュール708は、データ・プライバシーの保護および規制の順守などの目的で、データの受信および使用を監視するために、追跡機能および記録機能を実行するように構成される。
【0084】
ローカル・ノード710、720が高水準の特徴データまたは検出モデルあるいはその両方を検出モデル・システム700および場合によっては他のローカル・ノードに提供するように、ローカル・ノード710、720は、検出モデル・システム700と通信する。例えば、ローカル・ノード710は、モデルを再トレーニングし、ネットワーク730を介してローカル・ノード720などの他のノードに送信される再トレーニング・パッケージ(retraining package)を生成してよい。再トレーニング・パッケージは、データに基づいて特徴を計算するための命令を含んでよい。一部の実施形態では、ローカル・ノード710、720は、特徴データを検出モデル・システム700に提供してよく、検出モデル・システム700は、特徴データに基づいて更新されたモデルを生成してよく、検出モデル・システム700は、1つまたは複数の特徴を計算するための命令を提供することによって、モデルをローカル・ノード710および720にデプロイしてよい。ローカル・ノード710、720が例示であり、任意の数のローカル・ノードが検出モデル・システム700に接続されてよいということが理解されるべきである(または検出モデル・システム700は、1つまたは複数の開示された機能を実行するように構成された単一のローカル・ノードであってよい)。
【0085】
ローカル・ノード710は、一部の実施形態では、モデル・マネージャ712およびプライバシー・マネージャ714を含んでよい。モデル・マネージャ712は、ローカル・ノード710と他のローカル・ノード(例えば、ローカル・ノード720)または検出モデル・システム700あるいはその両方との間で検出モデルの生成およびデプロイメントを管理するように構成されてよい。一部の実施形態では、モデル・マネージャ712は、
図1~3のうちの1つまたは複数において説明されたコンポーネントを含んでよい。例えば、モデル・マネージャ712は、
図4~6に関して説明された1つまたは複数のプロセスなどによって検出モデルを更新するために、監視モジュール、診断モジュール、または評価モジュール、あるいはその組み合わせを含んでよい。追加または代替の実施形態では、モデル・マネージャ712は、他のコンポーネント(例えば、追加または代替のモジュール)を含んでよい。モデル・マネージャ712は、検出モデル・システム700からデプロイされたモデルを受信するように構成されてよい。他の実施形態では、モデル・マネージャ712は、更新された検出モデルを生成し、例えば、更新された検出モデルを検出モデル・システム700に配信するように、構成されてよい。
【0086】
プライバシー・マネージャ714は、モデル・マネージャ712による検出モデルの生成およびデプロイメントにおいて1つまたは複数のプライバシー保護機能を実行するように構成される。例えば、プライバシー・マネージャ714は、検出モデル・システム700に送信されるデータを監視し、検出モデル・システム700に送信されるデータを保護することを考慮して、1つまたは複数のデータ・プライバシーのアクションを実行するように構成されてよい。データ・プライバシーのアクションは、例えば、一般的な特徴へのデータの集約、特徴を計算するための命令の生成、データの暗号化/復号、使用されたデータの削除、データの匿名化、追跡および記録のためのデータのタグ付けなどを含んでよい。ローカル・ノード720も同様に、モデル・マネージャ722およびプライバシー・マネージャ724を含んでよい。
【0087】
ネットワーク730は、ローカル・ネットワークまたはグローバル・ネットワークであってよく、開示されたシステムのコンポーネントの内部または外部あるいはその両方の通信を可能にする、有線または無線あるいはその両方のコンポーネントおよび機能を含んでよい。ネットワーク140は、インターネットによって具現化され、少なくとも一部においてクラウド・サービスを介して提供されてよく、またはサービス・プロバイダ・システム100のシステムおよびコンポーネントとの間のデータ転送を可能にする1つまたは複数の通信デバイスもしくは通信システムを含んでよく、あるいはその両方であってよい。
【0088】
図8は、ローカル・ノード710の実施形態例のブロック図である。実施形態例では、ローカル・ノード710は、モデル・マネージャ712およびプライバシー・マネージャ714を含んでいる。モデル・マネージャ712は、一部の実施形態では、実行モジュール810、再トレーニング・モジュール820、および共有モジュール830を含んでよい。プライバシー・マネージャ714は、データ収集モジュール840、集約モジュール850、および命令モジュール860を含んでよい。モデル・マネージャ712およびプライバシー・マネージャ714の示された実施形態は、例示であり、モデル・マネージャ704、722およびプライバシー・マネージャ706、724のうちの1つまたは複数を表してもよい。
【0089】
実行モジュール810は、金融機関のデータに関する不正検出モデルなどの検出モデルの実行を制御するように構成されたハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方であってよい。実行モジュール810は、トランザクション・データおよび顧客データなどのデータを使用して、検出モデルを実行してよい。実行モジュール810は、モデルの実行を追跡し、フィードバックを提供してよい。例えば、実行モジュール810は、再トレーニングされたモデルを実装し、計算された特徴をしきい値と比較し、トリガーされた活動警告を検出してよい。実行モジュール810は、新しい検出モデルまたは再トレーニングされた検出モデルに基づいて、トランザクションまたは顧客に注意するようユーザに警告するなどのために、警告をユーザに提供してよい。
【0090】
再トレーニング・モジュール820は、検出モデルを再トレーニングするように構成されたハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方であってよい。例えば、再トレーニング・モジュール820は、疑わしい活動または不正な活動を検出するなどの、データに基づいて特定の活動を検出するための置き換えまたは追加のプロセスを含むように、検出モデルを調整してよい。一部の実施形態では、再トレーニング・モジュール820は、実行モジュール810またはその他のソース(例えば、顧客データベースまたはトランザクション・データベース)からのデータに基づいて新しい検出プロセスを生成するように構成される。例えば、再トレーニング・モジュール820は、ユーザによって生成された検出モデルに基づいて、ユーザ・インターフェイスからユーザによって入力されたデータを受信してよい。
【0091】
共有モジュール830は、データから特徴を計算するための命令を適用することによって新しい検出モデルまたは再トレーニングされた検出モデルを実装するように構成されてよい。例えば、共有モジュール830は、ローカル・ノード720または検出モデル・システム700などの別のデバイスから命令を受信し、命令を使用して、再トレーニングされた検出モデルまたは新しい検出モデルの一部である特徴を計算してよい。
【0092】
データ収集モジュール840は、モデル・マネージャ712またはその他のソース(例えば、顧客データベースまたはトランザクション・データベース)あるいはその両方からデータを収集するように構成されてよい。データは、トランザクションレベルのデータ、識別データなどの極秘データを含んでよい。データは、金融機関によって受信され、内密に保たれており、他の実体と共有される可能性が低い情報を含んでよい。
【0093】
集約モジュール850は、データを、データを表すが、機微データまで遡ることができず、機微データに戻すこともできない一般的な特徴に集約するように構成されてよい。一般的な特徴の例として、指標データ(例えば、顧客またはトランザクションの計数などの、グループ化されたデータの計算された測定値)、地域データ(トランザクションがどこで発生したかに関する統計値)、時間データ(トランザクションがいつ発生したかに関する統計値)、量データ(例えば、発生する量の範囲)などが挙げられる。集約モジュール850からの一般的な特徴は、機微データを含んでいないため、個人情報を暴露せずに他の実体と共有されることができる。
【0094】
命令モジュール860は、検出モデルを再トレーニングするためのデータに基づいて1つまたは複数の一般的な特徴を計算するための命令を生成するように構成される。命令は、別のローカル・ノード(例えば、ローカル・ノード720)内で検出モデルを実装するための再トレーニング・パッケージに添付されるメタデータを含んでよい。例えば、命令モジュール860は、計算された特徴の組み合わせに基づいて、データを使用して一般的な特徴または変数を計算するアルゴリズムを生成してよいが、それ自体はどのデータも含んでいない。共有モジュール830は、新しいデータが選択された特徴を計算するために使用されてしきい値と比較されるときに活動警告をトリガーするためのしきい値を含んでいるアルゴリズムと、命令とを組み合わせてよい。共有モジュール830は、パッケージを、ローカル・ノード720または検出モデル・システム700などの別のコンポーネントに送信してよい。
【0095】
図9は、更新された検出モデル、またはデータ・プライバシーを維持しながらデータ・セットから再トレーニングするモデルを生成し、共有するための例示的なプロセス900のフロー・チャートである。一部の実施形態では、検出モデル・システム700、ローカル・ノード710、またはローカル・ノード720、あるいはその組み合わせなどの、1つまたは複数のコンポーネントが、プロセス900の1つまたは複数のステップを実行してよい。例えば、プロセッサが、デバイスのうちの1つまたは複数に関連付けられたデータ・ストレージ・デバイスに格納されたソフトウェア命令を実行してよい。
【0096】
ステップ905で、ローカル・ノード710が、更新された検出モデルを生成することにおいて使用するために、関連するデータを識別してよい。例えば、ローカル・ノード710は、デプロイされたモデルから、結果、テスト・データなどのデータを収集してよい。他の実施形態では、ローカル・ノード710は、デプロイされたモデルを再トレーニングすることにおいて使用するために、顧客データを収集してよい。一部の実施形態では、プライバシー・マネージャ714が、選択されたデータを(例えば、データ収集モジュール840で)受信してよい。
【0097】
ステップ910で、ローカル・ノード710が、データを特徴に集約してよい。例えば、集約モジュール850は、データを使用して、データの内容を表すが、データ自体に変換されることも、リバース・エンジニアリングされることもできない、1つまたは複数の指標または統計値を作成してよい。言い換えると、機微な顧客データおよびトランザクション・データを特徴から決定することはできない。例えば、集約モジュール850は、トランザクションの位置またはタイミング、特定のトランザクションを完了する顧客の種類、トランザクションの結果、不正であることが判明するトランザクションの種類などに関する統計値を生成してよい。特徴は、例えば、水曜日の35ドルの平均購入額であってよく、一方、実際のデータ自体は、それらの購入に関する顧客識別子およびトランザクションの詳細であってよい。特徴は、集約され、データの内容を表すための一般的なものであるが、実際のデータを正確に決定するために使用されることができない。したがって、一般的な特徴は、データを含まず、実際の機微データからのプライバシーの層を提供する。
【0098】
ステップ915で、ローカル・ノード710が、集約された特徴を使用してモデルを再トレーニングしてよい。例えば、ユーザは、特定の基準を満たすトランザクションまたはトランザクションのグループにフラグを設定するために、変数を許容できる範囲と比較するために特徴を使用するアルゴリズムを提供してよい。一部の実施形態では、再トレーニング・モジュール820は、データにおいて特定の挙動を検出するための改善された手段として、アルゴリズムを検出モデルに追加してよい。実行モジュール810は、再トレーニングされたモデルを使用して、その挙動を顧客データにおいて検出してよい。
【0099】
ステップ920で、ローカル・ノード710が、再トレーニングされたモデルに必要とされる特徴を計算するため(例えば、データを使用して、再トレーニングによって追加されたアルゴリズムの要素を決定するため)の実装命令を決定してよい。命令は、地域における平均量、65歳を超える顧客の数などの、データから特徴を決定するための計算または変数あるいはその両方を含んでよい。命令は、イベントの検出をトリガーすることにおいて使用するための判定部を含んでもよい。例えば、地域内のトランザクションの数がしきい値を超える場合に、疑わしい活動の警告をトリガーする。命令は、このようにして、モジュール自身のデータを使用して検出プロセスを実行する方法をモジュールに伝える。
【0100】
ステップ925で、ローカル・ノード710が、計算された特徴または命令あるいはその両方を、共有するための再トレーニング・パッケージとして暗号化してよい。例えば、命令モジュール860は、暗号化アルゴリズムを使用して、特徴または命令あるいはその両方などの、共有されるデータの追加のプライバシー層を追加してよい。ステップ930で、ローカル・ノード710が、ネットワーク730を介して、暗号化された再トレーニング・パッケージを別のローカル・ノード(例えば、ローカル・ノード720)または検出モデル・システム700に送信してよい。
【0101】
ステップ935で、ローカル・ノード720が、直接、または検出モデル・システム700を介して、ローカル・ノード710から再トレーニング・パッケージを受信する。ステップ940で、ローカル・ノード720が、受信されたパッケージを復号してよい。例えば、プライバシー・マネージャ706は、復号アルゴリズムを使用して、暗号化されたパッケージを変換し、検出モデルの再トレーニングに関連付けられた特徴または命令あるいはその両方を取得してよい。
【0102】
ステップ945で、ローカル・ノード720が、復号された命令を使用して特徴を計算するように構成される。例えば、ローカル・ノード720は、データ(例えば、機微な顧客データまたはトランザクション・データあるいはその両方)を入力とし、1つまたは複数の一般的な特徴を出力としてアルゴリズムを使用するように構成される。ステップ950で、ローカル・ノード720が、計算された特徴および復号されたパッケージを使用してモデルを再トレーニングするように構成される。例えば、ローカル・ノード720は、しきい値との1つまたは複数の計算された特徴の比較を含むように、検出モデルを再トレーニングしてよい。再トレーニングされたモデルは、このようにして、データを共有せずに、別のローカル・ノードからの特徴に基づいて追加の検出コンポーネントを含む。
【0103】
ステップ955で、ローカル・ノード720が、使用されたデータを削除する。例えば、プライバシー・マネージャ724は、受信された特徴がモデルの再トレーニングに使用された後に、受信された特徴を削除するために、データ削除方式を利用してよい。例えば、プライバシー・マネージャ706は、削除タイマーを使用してデータの期限切れを設定してよい。この期限切れは、データがローカル・ノードから受信されるときに、データ自体が変化しながら、特定のデータ・セットのサイズを維持するために、周期的に書式設定されてよい。一部の実施形態では、プライバシー・マネージャ724は、特徴に関連付けられたメタデータ命令を削除してよい。一部の実施形態では、この削除ステップは、暗号化/復号ステップと連動して発生してよい。例えば、データは、データまたは特徴の暴露を最小限に抑え、追加のプライバシーの層を提供するために、単一の処理ループ内で復号され、匿名化され、削除されてよい。
【0104】
ステップ960で、ローカル・ノード720が、モデルの生成およびデプロイメントのプロセスに関連付けられたイベントを記録するように構成される。例えば、ローカル・ノード720は、モデルを再トレーニングしたノードを追跡するために、再トレーニング・データを検出モデル・システム700に提供してよい。例えば、追跡モジュール708は、受信されたデータに関連付けられたメタデータを使用して、モデルの再トレーニング・プロセスに関連付けられたイベントを記録してよい。例えば、追跡モジュール708は、データの受信、使用、暗号化、復号、削除などに関連付けられた情報を収集し、格納してよい。追跡モジュール708は、検出モデル更新情報の作成およびデプロイメントを引き起こす各プロセスに関連付けられたモデルの記録を格納してよい。
【0105】
プロセス900で、開示されたシステムおよびコンポーネントは、結合されたデータ・セットの使用を可能にするデータ・プライバシーの保護を実装しながら、検出モデル更新方式において、結合されたデータ・セットを利用するように構成される。例えば、実体の共同体の合意は、データを収集し、特徴への集約、特徴を計算するための命令の生成、暗号化、削除、および追跡、ならびに監査、順守において使用するためのイベントおよび内容の記録などの、プライバシー保護アクションを実行するための検出モデル・システムとして使用されるシステムを実装してよい。
【0106】
一部の実施形態では、検出モデル・システム700は、ステップ910で複数のローカル・ノード(例えば、ローカル・ノード710および720)から集約されたデータを受信してよい。例えば、ローカル・ノード710、720は、(例えば、検出モデル・システム700からの)命令を使用して、モデルの特徴を計算し、それらの特徴を検出モデル・システム700に返してよい。検出モデル・システム700は、複数のローカル・ノードからの複数の集約された特徴を使用して、検出モデルを更新するか、または新しい検出モデルを生成してよい(ステップ915~925)。検出モデル・システムは、その後、新しい検出モデル・パッケージを複数のローカル・ノード(例えば、ローカル・ノード710、720)にデプロイしてよい。ローカル・ノード710、720は、パッケージを受信し、ステップ935~960を実行して、再トレーニングされたモデルまたは新しいモデルを実装してよい。この実施形態では、検出モデル・システム700は、複数のソースから集約された特徴を収集し、結合されたデータを、モデルを再トレーニングするためのより堅牢なソースとして使用する。例えば、検出モデル・システム700は、1つのローカル・ノードから集約されたデータを使用して、別のローカル・ノードからの検出アルゴリズムを確認するか、または検出アルゴリズムの妥当性を確認してよい。別の例では、複数のノードからの特徴が、より高水準の抽象化(例えば、特徴を表す特徴)に再び集約され、新しいモデルを形成するか、またはモデルを再トレーニングするか、あるいはその両方を実行してよい。例えば、検出モデル・システム700は、複数のローカル・ノードからの特徴の値を使用して、検出モデルを再トレーニングするために使用される指標を決定してよく、この指標は、特徴の値から決定される。指標を決定するための命令は、例えば、ローカル・ノードに配信され、指標の決定された値がしきい値を超えるときに警告をトリガーするために使用されてよい。
【0107】
図10は、実施形態例の態様が実装される例示的なデータ処理システム1000のブロック図である。データ処理システム1000は、本発明の実施形態例のプロセスを実装するコンピュータ使用可能なコードまたは命令が配置されたコンピュータの例である。1つの実施形態では、
図10は、本明細書に記載されたサービス・プロバイダ・システム100の特徴の少なくとも一部を実装する、実体の解決システム110を表している。
【0108】
示されている例では、データ処理システム1000は、ノース・ブリッジおよびメモリ・コントローラ・ハブ(NB/MCH:north bridge and memory controller hub)1001およびサウス・ブリッジおよび入出力(I/O)コントローラ・ハブ(SB/ICH:south bridge and input/output (I/O) controller hub)1002を含んでいるハブ・アーキテクチャを採用することができる。処理ユニット1003、メイン・メモリ1004、およびグラフィック・プロセッサ1005が、NB/MCH1001に接続されることができる。グラフィック・プロセッサ1005は、アクセラレーテッド・グラフィックス・ポート(AGP:accelerated graphics port)を介してNB/MCH1001に接続されることができる。
【0109】
示されている例では、ネットワーク・アダプタ1006が、SB/ICH1002に接続している。オーディオ・アダプタ1007、キーボードおよびマウス・アダプタ1008、モデム1009、読み取り専用メモリ(ROM:read only memory)1010、ハード・ディスク・ドライブ(HDD:harddisk drive)1011、光学式ドライブ(CDまたはDVD)1012、ユニバーサル・シリアル・バス(USB:universal serial bus)ポートおよびその他の通信ポート1013、ならびにPCI/PCIeデバイス1014が、バス・システム1016を介してSB/ICH1002に接続することができる。PCI/PCIeデバイス1014は、ノートブック・コンピュータ用のイーサネット(R)・アダプタ、アドイン・カード、およびPCカードを含んでよい。ROM1010は、例えば、フラッシュ基本入出力システム(BIOS:basic input/output system)であってよい。HDD1011および光学式ドライブ1012は、IDE(integrated drive electronics)またはシリアルATA(SATA:serial advanced technology attachment)インターフェイスを使用することができる。スーパーI/O(SIO:super I/O)デバイス1015が、SB/ICH1002に接続されることができる。
【0110】
オペレーティング・システムが、処理ユニット1003上で実行されることができる。オペレーティング・システムは、データ処理システム1000内のさまざまなコンポーネントを調整して制御することができる。クライアントとして、オペレーティング・システムは、市販のオペレーティング・システムであることができる。Java(R)(TM)プログラミング・システムなどのオブジェクト指向プログラミング・システムが、オペレーティング・システムと共に実行され、データ処理システム1000上で実行されているオブジェクト指向プログラムまたはアプリケーションからオペレーティング・システムへの呼び出しを提供してよい。サーバとして、データ処理システム1000は、例えば、Advanced Interactive Executiveオペレーティング・システムまたはLINUX(R)オペレーティング・システムを実行するIBM(R)eServer(TM)System p(R)であることができる。データ処理システム1000は、複数のプロセッサを処理ユニット1003に含むことができる対称型マルチプロセッサ(SMP:symmetric multiprocessor)システムであることができる。代替として、シングル・プロセッサ・システムが採用されてよい。
【0111】
オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムの命令が、HDD1011などのストレージ・デバイスに配置され、処理ユニット1003によって実行するためにメイン・メモリ1004に読み込まれる。Webサイト・ナビゲーション・システムの実施形態のプロセスは、コンピュータ使用可能プログラム・コードを使用して、処理ユニット1003によって実行されることができ、コンピュータ使用可能プログラム・コードは、例えばメイン・メモリ1004、ROM1010などのメモリ内、または1つまたは複数の周辺機器内に、配置されることができる。
【0112】
バス・システム1016は、1つまたは複数のバスから成ることができる。バス・システム1016は、通信ファブリックまたは通信アーキテクチャに接続された異なるコンポーネントまたはデバイス間のデータの転送を提供することができる任意の種類の通信ファブリックまたは通信アーキテクチャを使用して、実装されることができる。モデム1009またはネットワーク・アダプタ1006などの通信ユニットは、データの送受信に使用されることができる1つまたは複数のデバイスを含むことができる。
【0113】
当業者は、
図10に示されているハードウェアが実装に応じて変わってよいということを、理解するであろう。例えば、データ処理システム1000は、開示されたシステムの一部の実施形態では直接含まれない複数のコンポーネントを含む。しかし、開示されたシステムが、開示された実施形態に従って処理方法およびステップを実行するためのデータ処理システム1000のコンポーネントおよび構成のうちの1つまたは複数を含んでよいということが理解されるべきである。
【0114】
フラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブなどの、その他の内部ハードウェアまたは周辺機器が、示されているハードウェアに加えて、または示されているハードウェアの代わりに、使用されてよい。さらに、データ処理システム1000は、クライアント・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、電話またはその他の通信デバイス、パーソナル・デジタル・アシスタントなどを含むが、これらに限定されない、複数の異なるデータ処理システムのいずれかの形態をとることができる。基本的に、データ処理システム1000は、アーキテクチャの制限なしで、任意の既知のデータ処理システムまたは今後開発されるデータ処理システムであることができる。
【0115】
当業者は、本明細書に記載されたシステムおよび方法のいずれかを実行するために必要とされるハードウェアが実装に応じて変わってよいということを、理解するであろう。フラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブなどの、その他の内部ハードウェアまたは周辺機器が、示されているハードウェアに加えて、または示されているハードウェアの代わりに、使用されてよい。さらに、本明細書に記載されたシステムのいずれかは、クライアント・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、電話またはその他の通信デバイス、パーソナル・デジタル・アシスタントなどを含むが、これらに限定されない、複数の異なるデータ処理システムのいずれかの形態をとることができる。基本的に、本明細書に記載されたシステムのいずれかは、アーキテクチャの制限なしで、任意の既知のデータ処理システムまたは今後開発されるデータ処理システムであることができる。
【0116】
図のシステムおよび方法は、排他的ではない。同じ目的を達成するために、本明細書に記載された実施形態の原理に従って、他のシステムおよびプロセスが得られてよい。本明細書に示され、説明された実施形態および変形が、単に例示を目的としているということが理解されるべきである。実施形態の範囲から逸脱することなく、当業者によって、現在の設計に対する変更が実施されてよい。本明細書に記載されているように、さまざまなシステム、サブシステム、エージェント、マネージャ、およびプロセスが、ハードウェア・コンポーネント、またはソフトウェア・コンポーネント、あるいはその組み合わせを使用して実装されることができる。
【0117】
本発明は、実施形態例を参照して説明されたが、それらの実施形態例に限定されない。当業者は、本発明の好ましい実施形態に対して多数の変更および修正が行われてよいということを理解するであろう。したがって、添付の特許請求の範囲が、本発明の範囲に含まれるとして、そのような同等の変形をすべて対象にすると解釈されるということが意図される。