(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-10
(45)【発行日】2025-04-18
(54)【発明の名称】ターゲット・ドメインに対する転移学習プロセスに適合するソース・データセットを識別すること
(51)【国際特許分類】
G06N 20/00 20190101AFI20250411BHJP
G06N 3/096 20230101ALI20250411BHJP
【FI】
G06N20/00
G06N3/096
(21)【出願番号】P 2023501647
(86)(22)【出願日】2021-06-14
(86)【国際出願番号】 IB2021055203
(87)【国際公開番号】W WO2022018538
(87)【国際公開日】2022-01-27
【審査請求日】2023-11-14
(32)【優先日】2020-07-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ハイム、バー
(72)【発明者】
【氏名】フィンケルシュタイン、アンドレイ
(72)【発明者】
【氏名】メナヘム、イーサン
(72)【発明者】
【氏名】アグモン、ノガ
【審査官】福西 章人
(56)【参考文献】
【文献】特開2017-224156(JP,A)
【文献】特開2013-171329(JP,A)
【文献】特開2020-101948(JP,A)
【文献】米国特許出願公開第2016/0253597(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
ターゲット・データセットと複数のソース・データセットとの間の類似度を定量化するための、および前記ターゲット・データセットに最も類似する少なくとも1つのソース・データセットを識別するための方法であって、
コンピューティング・システムにおいて、ソース・ドメインに関連するソース・データセット、および対象のターゲット・ドメインに関連するターゲット・データセットを受け取ることであり、各データセットが前記データセットの特徴に対応する列および前記データセットのインスタンスに対応する行を含む表形式に配列され、前記ソース・データセットおよび前記ターゲット・データセットが同一特徴空間を含む、前記受け取ることと、
非交差列を除去するために、前記コンピューティング・システムのプロセッサを通じて、各ソース-ターゲット・データセット対を事前処理することと、
前記プロセッサを通じて、各ソース-ターゲット・データセット対について、データセット類似度スコア、行類似度スコア、および列類似度スコアのうちの少なくとも2つを計算することと、
前記プロセッサを通じて、各ソース-ターゲット・データセット対についての前記データセット類似度スコア、前記行類似度スコア、および前記列類似度スコアのうちの前記少なくとも2つを要約して、前記ターゲット・データセットに最も類似する少なくとも1つのソース・データセットを識別することと
を含む、方法
であって、
前記データセット類似度スコアを計算することが、各ソース-ターゲット・データセット対について、
前記ソース-ターゲット・データセット対に対して、所定数の最適分割列が前記ソース-ターゲット・データセット対から除去されてしまうまで、
前記ソース-ターゲット・データセット対内の前記ソース・データセットと前記ターゲット・データセットとを見分けるよう機械学習モデルを訓練すること、
前記機械学習モデルについて1つまたは複数の最重要特徴を識別することであり、前記1つまたは複数の最重要特徴のそれぞれが、前記ソース-ターゲット・データセット対内の最適分割列に対応する、前記識別すること、および
前記ソース-ターゲット・データセット対から、前記1つまたは複数の最重要特徴に対応する前記1つまたは複数の最適分割列を除去すること、
を繰返し実行することと、
各反復の間に生成された前記機械学習モデルの全体の精度を決定することと、
前記ソース-ターゲット・データセット対について前記データセット類似度スコアを計算することであり、前記データセット類似度スコアが1から前記機械学習モデルの前記全体の精度を引いたものに等しく、データセット類似度スコアは1に近いほど、前記ソース・データセットと前記ターゲット・データセットがより類似していることを示す、前記計算することとを含み、
前記行類似度スコアを計算することが、各ソース-ターゲット・データセット対について、
前記ターゲット・データセットの各インスタンスと前記ソース・データセットの各インスタンスとの間の距離スコアを、クラスタリングベースの最適化プロセスを実施することによって、計算することと、
前記ソース-ターゲット・データセット対に対する平均最小距離スコアを見つけるために前記距離スコアを要約することと、
前記平均最小距離スコアを、前記ソース-ターゲット・データセット対についての前記行類似度スコアとして出力することとを含み、
前記列類似度スコアを計算することが、各ソース-ターゲット・データセット対について、
前記ソース・データセット内の各列および前記ターゲット・データセット内の各列について値分布近似を作成することと、
前記ソース・データセットおよび前記ターゲット・データセット内の対応する列についての前記値分布近似同士を、類似度関数を用いて比較することであり、前記類似度関数の出力が、各対応する列についての類似度スコアである、前記比較することと、
前記ソース-ターゲット・データセット対についての前記列類似度スコアを見つけるために前記対応する列について前記類似度スコアを要約することとを含む
方法。
【請求項2】
前記ターゲット・データセットに最も類似する前記少なくとも1つのソース・データセットを利用する転移学習プロセスを介して、前記ターゲット・ドメインについて分類モデルを訓練することを含む、請求項1に記載の方法。
【請求項3】
各ソース-ターゲット・データセット対を事前処理することが、
各ソース-ターゲット・データセット対内の欠落値を埋めることと、
各ソース-ターゲット・データセット対から無関係または重要ではない列を除去することと、
前記列が同一のオーダーになるよう各ソース-ターゲット・データセット対内の、前記ソース・データセットおよび前記ターゲット・データセットを揃えることと、 各ソース-ターゲット・データセット対内の値を標準化することと
のうちの少なくとも1つをさらに含む、請求項1に記載の方法。
【請求項4】
各ソース-ターゲット・データセット対について、前記データセット類似度スコア、前記行類似度スコア、および前記列類似度スコアのうちの前記少なくとも2つを計算することに先立って、前記プロセッサを通じて、各ソース-ターゲット・データセット対についての特徴選択を実施することを含む、請求項1に記載の方法。
【請求項5】
各ソース-ターゲット・データセット対についての特徴選択を実施することが、
各ソース-ターゲット・データセット対に対して、所定数の最適分割列が前記ソース-ターゲット・データセット対から除去されてしまうまで、
前記ソース-ターゲット・データセット対内の前記ソース・データセットと前記ターゲット・データセットとを見分けるよう機械学習モデルを訓練すること、
前記機械学習モデルについて1つまたは複数の最重要特徴を識別することであり、前記1つまたは複数の最重要特徴のそれぞれが、前記ソース-ターゲット・データセット対内の最適分割列に対応する、前記識別すること、および
前記ソース-ターゲット・データセット対から、前記1つまたは複数の最重要特徴に対応する前記1つまたは複数の最適分割列を除去すること、
を繰返し実行することと、
各ソース-ターゲット・データセット対内に残っている列を、選択された特徴として識別することと
を含む、請求項4に記載の方法。
【請求項6】
各ソース-ターゲット・データセット対について、前記データセット類似度スコア、前記行類似度スコア、および前記列類似度スコアのうちの前記少なくとも2つを要約することが、
各ソース-ターゲット・データセット対について、前記データセット類似度スコア、前記行類似度スコア、および前記列類似度スコアのうちの前記少なくとも2つの合計、平均、メジアン、最大値、加重平均、集約、または別の要約統計を見つけることと、
前記データセット類似度スコア、前記行類似度スコア、および前記列類似度スコアのうちの前記少なくとも2つの、前記合計、前記平均、前記メジアン、前記最大値、前記加重平均、前記集約、または前記別の要約統計を、各ソース-ターゲット・データセット対についての全体の類似度スコアとして出力することと
を含む、請求項1に記載の方法。
【請求項7】
コンピューティング・システムであって、
ソース・ドメインに関連するソース・データセット、および対象のターゲット・ドメインに関連するターゲット・データセットを受け取るためのインターフェースであり、各データセットが前記データセットの特徴に対応する列および前記データセットのインスタンスに対応する行を含む表形式に配列され、前記ソース・データセットおよび前記ターゲット・データセットが同一特徴空間を含む、前記インターフェースと、
プロセッサと、
前記プロセッサに、
非交差列を除去するために、各ソース-ターゲット・データセット対を事前処理することと、
各ソース-ターゲット・データセット対について、データセット類似度スコア、行類似度スコア、および列類似度スコアのうちの少なくとも2つを計算することと、
各ソース-ターゲット・データセット対についての前記データセット類似度スコア、前記行類似度スコア、および前記列類似度スコアのうちの前記少なくとも2つを要約して、前記ターゲット・データセットに最も類似する少なくとも1つのソース・データセットを識別することと
を行うよう命令する、プログラム命令を記憶するコンピュータ可読記憶媒体
であって、
前記行類似度スコアを計算することが、
各ソース-ターゲット・データセット対に対して、所定数の最適分割列が前記ソース-ターゲット・データセット対から除去されてしまうまで、
前記ソース-ターゲット・データセット対内の前記ソース・データセットと前記ターゲット・データセットを見分けるよう機械学習モデルを訓練すること、
前記機械学習モデルについて1つまたは複数の最重要特徴を識別することであり、前記1つまたは複数の最重要特徴のそれぞれが、前記ソース-ターゲット・データセット対内の最適分割列に対応する、前記識別すること、および
前記ソース-ターゲット・データセット対から、前記1つまたは複数の最重要特徴に対応する前記1つまたは複数の最適分割列を除去すること、
を繰返し実行することと、
各ソース-ターゲット・データセット対に対する各反復の間に生成された前記機械学習モデルの全体の精度を決定することと、
各ソース-ターゲット・データセット対について前記データセット類似度スコアを計算することであり、前記データセット類似度スコアが1から前記機械学習モデルの前記全体の精度を引いたものに等しく、データセット類似度スコアは1に近いほど、前記ソース・データセットと前記ターゲット・データセットがより類似していることを示す、前記計算することとを含み、
前記行類似度スコアを計算することが、
前記ターゲット・データセットの各インスタンスと前記ソース・データセットの各インスタンスとの間の距離スコアを、クラスタリングベースの最適化プロセスを実施することによって、計算することと、
前記ソース-ターゲット・データセット対に対する平均最小距離スコアを見つけるために前記距離スコアを要約することと、
前記平均最小距離スコアを、前記ソース-ターゲット・データセット対についての前記行類似度スコアとして出力することと
によって、各ソース-ターゲット・データセット対についての前記行類似度スコアを計算することとを含み、
前記列類似度スコアを計算することが、
前記ソース・データセット内の各列および前記ターゲット・データセット内の各列について値分布近似を作成することと、
前記ソース・データセットおよび前記ターゲット・データセット内の対応する列についての前記値分布近似同士を、類似度関数を用いて比較することであり、前記類似度関数の出力が、各対応する列についての類似度スコアである、前記比較することと、
前記ソース-ターゲット・データセット対についての前記列類似度スコアを見つけるために前記対応する列について前記類似度スコアを要約することと
によって、各ソース-ターゲット・データセット対についての前記列類似度スコアを計算することとを含む、
前記コンピュータ可読記憶媒体と
を備える、コンピューティング・システム。
【請求項8】
前記コンピュータ可読記憶媒体が、前記プロセッサに、前記ターゲット・データセットに最も類似する前記少なくとも1つのソース・データセットを利用する転移学習プロセスを介して、前記ターゲット・ドメインについて分類モデルを訓練するよう命令する、プログラム命令を記憶する、請求項
7に記載のシステム。
【請求項9】
前記コンピュータ可読記憶媒体が、前記プロセッサに、
各ソース-ターゲット・データセット対内の欠落値を埋めることと、
各ソース-ターゲット・データセット対から無関係または重要ではない列を除去することと、
前記列が同一のオーダーになるように、各ソース-ターゲット・データセット対内の前記ソース・データセットおよび前記ターゲット・データセットを揃えることと、
各ソース-ターゲット・データセット対内の値を標準化することとのうちの少なくとも1つを実施するために、各ソース-ターゲット・データセット対をさらに事前処理するよう命令する、プログラム命令を記憶する、請求項
7に記載のシステム。
【請求項10】
前記コンピュータ可読記憶媒体が、前記プロセッサに、各ソース-ターゲット・データセット対について、前記データセット類似度スコア、前記行類似度スコア、および前記列類似度スコアのうちの前記少なくとも2つを計算することに先立って、各ソース-ターゲット・データセット対についての特徴選択を実施するよう命令する、プログラム命令を記憶する、請求項
7に記載のシステム。
【請求項11】
前記コンピュータ可読記憶媒体が、前記プロセッサに、
各ソース-ターゲット・データセット対に対して、所定数の最適分割列が前記ソース-ターゲット・データセット対から除去されてしまうまで、
前記ソース-ターゲット・データセット対内の前記ソース・データセットと前記ターゲット・データセットを見分けるよう機械学習モデルを訓練すること、
前記機械学習モデルについて1つまたは複数の最重要特徴を識別することであり、前記1つまたは複数の最重要特徴のそれぞれが、前記ソース-ターゲット・データセット対内の最適分割列に対応する、前記識別すること、および
前記ソース-ターゲット・データセット対から、前記1つまたは複数の最重要特徴に対応する前記1つまたは複数の最適分割列を除去すること、
を繰返し実行することと、
各ソース-ターゲット・データセット対内に残っている列を、選択された特徴として識別することと
によって、各ソース-ターゲット・データセット対についての特徴選択を実施するよう命令する、プログラム命令を記憶する、請求項
10に記載のシステム。
【請求項12】
前記コンピュータ可読記憶媒体が、前記プロセッサに、
各ソース-ターゲット・データセット対について、前記データセット類似度スコア、前記行類似度スコア、および前記列類似度スコアのうちの前記少なくとも2つの合計、平均、メジアン、最大値、加重平均、集約、または別の要約統計を見つけることと、
前記データセット類似度スコア、前記行類似度スコア、および前記列類似度スコアのうちの前記少なくとも2つの、前記合計、前記平均、前記メジアン、前記最大値、前記加重平均、前記集約、または前記別の要約統計を、各ソース-ターゲット・データセット対についての全体の類似度スコアとして出力することと
によって、各ソース-ターゲット・データセット対について、前記データセット類似度スコア、前記行類似度スコア、および前記列類似度スコアのうちの前記少なくとも2つを要約するよう命令する、プログラム命令を記憶する、請求項
7に記載のシステム。
【請求項13】
コンピュータ・プログラムであって、請求項1ないし
6のいずれか1項に記載の方法をコンピュータに実行させるための、コンピュータ・プログラム。
【請求項14】
請求項
13に記載のコンピュータ・プログラムを記録した、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習および転移学習の分野に関する。より詳細には、本開示は、ターゲット・データセットに類似しており、それ故にターゲット・ドメインに対する転移学習プロセスに適合する、1つまたは複数のソース・データセットを識別することに関する。
【発明の概要】
【0002】
本明細書で説明される実施形態によると、ターゲット・データセットと複数のソース・データセットとの間の類似度を定量化するための、およびターゲット・データセットに最も類似する少なくとも1つのソース・データセットを識別するための方法が提供される。方法は、コンピューティング・システムにおいて、ソース・ドメインに関連するソース・データセット、および対象のターゲット・ドメインに関連するターゲット・データセットを受け取ることであり、各データセットがデータセットの特徴に対応する列およびデータセットのインスタンスに対応する行を含む表形式に配列され、ソース・データセットおよびターゲット・データセットが同一特徴空間を含む、受け取ることを含む。方法はまた、非交差列を除去するために、コンピューティング・システムのプロセッサを通じて、各ソース-ターゲット・データセット対を事前処理することを含む。方法は、プロセッサを通じて、各ソース-ターゲット・データセット対について、データセット類似度スコア、行類似度スコア、および列類似度スコアのうちの少なくとも2つを計算することと、プロセッサを通じて、各ソース-ターゲット・データセット対についてのデータセット類似度スコア、行類似度スコア、および列類似度スコアのうちの少なくとも2つを要約して、ターゲット・データセットに最も類似する少なくとも1つのソース・データセットを識別することとをさらに含む。
【0003】
別の実施形態において、コンピューティング・システムが提供される。コンピューティング・システムは、ソース・ドメインに関連するソース・データセット、および対象のターゲット・ドメインに関連するターゲット・データセットを受け取るためのインターフェースであり、各データセットがデータセットの特徴に対応する列およびデータセットのインスタンスに対応する行を含む表形式に配列され、ソース・データセットおよびターゲット・データセットが同一特徴空間を含む、インターフェースを含む。コンピューティング・システムはまた、プロセッサと、プロセッサに、非交差列を除去するために、各ソース-ターゲット・データセット対を事前処理するよう命令する、プログラム命令を記憶するコンピュータ可読記憶媒体とをさらに含む。コンピュータ可読記憶媒体はまた、プロセッサに、各ソース-ターゲット・データセット対について、データセット類似度スコア、行類似度スコア、および列類似度スコアのうちの少なくとも2つを計算するよう命令する、プログラム命令を記憶する。コンピュータ可読記憶媒体は、プロセッサに、各ソース-ターゲット・データセット対についてのデータセット類似度スコア、行類似度スコア、および列類似度スコアのうちの少なくとも2つを要約して、ターゲット・データセットに最も類似する少なくとも1つのソース・データセットを識別するよう命令する、プログラム命令をさらに記憶する。
【0004】
さらに別の実施形態において、コンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、プログラム命令が具体化されたコンピュータ可読記憶媒体を含み、コンピュータ可読記憶媒体は、一過性の信号そのものではない。プログラム命令は、プロセッサに、ソース・ドメインに関連するソース・データセット、および対象のターゲット・ドメインに関連するターゲット・データセットを受け取ることであり、各データセットがデータセットの特徴に対応する列およびデータセットのインスタンスに対応する行を含む表形式に配列され、ソース・データセットおよびターゲット・データセットが同一特徴空間を含む、受け取ることを行わせるようプロセッサによって実行可能である。プログラム命令はまた、プロセッサに、非交差列を除去するために、各ソース-ターゲット・データセット対を事前処理することを行わせるようプロセッサによって実行可能である。プログラム命令は、プロセッサに、各ソース-ターゲット・データセット対について、データセット類似度スコア、行類似度スコア、および列類似度スコアのうちの少なくとも2つを計算することと、各ソース-ターゲット・データセット対についてのデータセット類似度スコア、行類似度スコア、および列類似度スコアのうちの少なくとも2つを要約して、ターゲット・データセットに最も類似する少なくとも1つのソース・データセットを識別することとを行わせるように、プロセッサによってさらに実行可能である。
【図面の簡単な説明】
【0005】
【
図1】本明細書で説明されるデータセット識別技術を実施するために使用可能な例示的なコンピューティング・システムの簡略化したブロック図である。
【
図2】本明細書で説明されるデータセット識別プロセスの例示的な実施形態のプロセス・フロー図である。
【
図3】例示的な類似度スコアを、ピアソン相関関数と関連する分布ヒストグラムを使用してどのように計算することができるか示す図表現である。
【
図4】ターゲット・データセットと複数のソース・データセットとの間の類似度を定量化するため、およびターゲット・データセットに最も類似する1つまたは複数のソース・データセットを識別するための方法の簡略化したプロセス・フロー図である。
【
図5】例示的なクラウド・コンピューティング環境の概略図である。
【
図6】
図5に示されるクラウド・コンピューティング環境によって提供される、例示的な機能的抽象レイヤの簡略化した概略図である。
【発明を実施するための形態】
【0006】
従来の教師あり機械学習技術には、特定のタスクとドメインについてのモデルを訓練するために、ソース・データセットの使用が伴う。具体的には、ソース・データセットは、対応する出力データと対にされた入力データから構成される。訓練プロセスの間、教師あり機械学習アルゴリズムは、出力データと相関する入力データのパターンを探索することによって、例から学習する。訓練プロセスが完了すると、得られる教師あり機械学習モデルを使用して、同一のタスクおよびドメインに関する新しい入力データをラベル付けまたは分類することができる。
【0007】
そのような教師あり機械学習技術には、特定のタスクおよびドメインについてのモデルを訓練するために、十分な数のソース・データセットが必要である。残念ながら、多くの現実世界のシナリオでは、対象のターゲット・ドメインに関し、十分な数のソース・データセットを得ることは困難であるか、不可能ですらある。しかしながら、ターゲット・ドメインに関する特定のターゲット・データセットを考えると、他の関連ソース・ドメインからの類似のソース・データセットが存在することがよくある。したがって、類似のソース・データセットを使用して、ターゲット・ドメインに対する転移学習プロセスを行うことができる。
【0008】
機械学習のコミュニティでは、転移学習は異なるドメイン間で知識を転移するプロセスである。より具体的には、転移学習には、特定のタスクについて対象の新しいターゲット・ドメインに対し、特定のタスクについて以前のソース・ドメインに関して学習した知識およびスキルを、2つのドメイン間の共通性または類似度を認識することによって、適用することが伴う。転移学習プロセスをターゲット・ドメインにうまく適用するために、ソース・ドメインからの好適なソース・データセットを識別する必要がある。次いでソース・データセットは、ターゲット・ドメインについて正確なモデルを訓練するために使用される。しかしながら、動作中、ターゲット・ドメインに対する転移学習プロセスに良好に適合するソース・データセットを識別することは計算科学的に困難であり、また時間がかかることが多い。
【0009】
したがって、本開示は、ターゲット・データセットに類似しており、それ故に転移学習プロセスを用いてターゲット・ドメインについて正確なモデルを訓練するために好適なソース・データセットを識別するための技術を説明する。換言すると、いくつかのソース・データセットおよび単一のターゲット・データセットを考える場合に、本明細書で説明される技術は、ターゲット・ドメインに対する転移学習プロセスに最も適している可能性がある1つまたは複数のソース・データセットを識別する。これは、ソース・データセットとターゲット・データセットとの対同士(つまり、「ソース-ターゲット・データセット対」)でペアワイズ比較のいくつかの方法を実施して、各ソース-ターゲット・データセット対に関連する類似度スコアを生成することによって達成される。次いで類似度スコアは、ターゲット・データセットに最も類似するか、最も近い1つまたは複数のソース・データセットを識別するように要約される。次いで、識別されたソース・データセットを、ターゲット・ドメインに対する転移学習プロセスに使用することができる。
【0010】
いくつかの実施形態では、本明細書で説明される技術は、金銭的な詐欺検出に用いられる。例えば、銀行は、教師あり機械学習技術を使用して、クレジットカード決済などの取引を、決済額、マーチャント、場所、時間などの特定の取引詳細に基づいて、合法的か、それとも詐欺的行為かを自動的に分類することができるモデルを訓練することが多い。大手の銀行は通常、自身の特定のタスクおよびドメインについての分類器を正確に訓練するために十分な数のラベル付けされたインスタンスを有するため、そのようなモデルは大手の銀行には効果的である。しかしながら、小規模な銀行は、そのような教師あり機械学習技術を活用するための十分な数のラベル付けされたインスタンスまたは他のリソースを有していないことが多い。その上、そのような銀行は、同一のタスクに関心があるが、小規模な銀行のドメインは大手の銀行のドメインとは幾分異なっており、そのため大手の銀行によって学習されたモデルを使用することが困難であるか、不可能なものにしている。
【0011】
したがって、場合によっては、転移学習プロセスを使用して、大手の銀行について以前のドメインおよびタスクに関して学習した知識とスキルを、小規模な銀行について同一のタスクに関する対象の新しいターゲット・ドメインに適用することができる。具体的には、転移学習プロセスは、大手の銀行に関連する以前のドメインからのソース・データセットを使用して、小規模な銀行に関するターゲット・ドメインについて正確な分類器を訓練することができる。しかしながら、転移学習プロセスを成功させるには、ターゲット・ドメインについてのターゲット・データセットに類似する、以前のドメインからの特定のソース・データセットを識別する必要がある。様々な実施形態において、これは本明細書で説明されるデータセット識別技術を使用して達成される。
【0012】
本明細書で説明される実施形態は、金銭的な詐欺検出を支援するためのデータセット識別技術の使用に関する。しかしながら、当業者であれば、本明細書で説明されるデータセット識別技術は、ターゲット・データセットに類似する1つまたは複数のソース・データセットの識別により利益を得るあらゆる転移学習タスクに有用であることを理解されよう。
【0013】
図1は、本明細書で説明されるデータセット識別技術を実施するために使用可能な例示的なコンピューティング・システム100の簡略化したブロック図である。コンピューティング・システム100は、1つもしくは複数のサーバ、1つもしくは複数の汎用コンピューティング・デバイス、1つもしくは複数の専用コンピューティング・デバイス、1つもしくは複数の仮想マシン、または任意の他の好適なタイプのコンピューティング・デバイスあるいはその組合せを含むことができる。例として、コンピューティング・システム100は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、またはスマートフォンであってもよい。その上、いくつかの実施形態では、コンピューティング・システム100は、クラウド・コンピューティング・ノードである。
【0014】
コンピューティング・システム100は、プログラム・モジュールなどの記憶されたプログラム命令を実行するように適合されたプロセッサ102、ならびに実行中のプログラム命令に一時的なメモリ空間を提供するメモリ・デバイス104を含む。プロセッサ102は、例えば、シングルコア・プロセッサ、ソフトウェア・マルチスレッド実行機能を有するシングルコア・プロセッサ、マルチコア・プロセッサ、ソフトウェア・マルチスレッド実行機能を有するマルチコア・プロセッサ、コンピューティング・クラスタ、並列プラットフォーム、共有メモリを有する並列プラットフォーム、または任意の数の他の構成などの、あらゆる好適な処理ユニットまたはデバイスを含むことができる。その上、プロセッサ102としては、本明細書において説明される機能を実施するために設計される、集積回路、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、プログラマブル・ロジック・コントローラ(PLC)、複合プログラマブル・ロジック・デバイス(CPLD)、ディスクリート・ゲートもしくはトランジスタ・ロジック、ディスクリート・ハードウェア・コンポーネント、またはそれらの任意の組合せを挙げることができる。メモリ・デバイス104は、揮発性メモリ・コンポーネント、不揮発性メモリ・コンポーネント、または揮発性と不揮発性両方のメモリ・コンポーネントを含むことが可能である。不揮発性メモリ・コンポーネントは、例えば、読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能ROM(EEROM)、フラッシュ・メモリ、または不揮発性ランダム・アクセス・メモリ(RAM)(例えば、強誘電RAM(FeRAM))を含むことができる。揮発性メモリ・コンポーネントは、例えば外部キャッシュ・メモリとして動作できる、RAMを含むことができる。RAMは、例えば、シンクロナスRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナス・ダイナミックRAM(SDRAM)などの多くの形態で利用可能である。
【0015】
いくつかの実施形態では、コンピューティング・システム100は、タスクが通信ネットワークを通じてリンクされたリモート処理デバイスによって実施される分散クラウド・コンピューティング環境において実用化される。分散クラウド・コンピューティング環境では、プログラム・モジュールは、ローカルおよびリモートの両方のコンピューティング・デバイスに配置することができる。
【0016】
プロセッサ102は、コンピューティング・システム100を1つまたは複数のI/Oデバイス110へ接続するように適合された入出力(I/O)デバイス・インターフェース108へのシステム内部接続106(例えばPCI(R)、PCI-Express(R)など)を通じて接続される。I/Oデバイス110は、例えばキーボードおよびポインティング・デバイスを含むことができ、この場合、ポインティング・デバイスとしては、とりわけタッチパッドまたはタッチスクリーンを挙げることができる。I/Oデバイス110は、コンピューティング・システム100の内蔵コンポーネントであってもよく、またはコンピューティング・システム100に外部接続されるデバイスであってもよい。
【0017】
プロセッサ102はまた、システム内部接続106を通じて、コンピューティング・システム100をディスプレイ・デバイス114に接続するように適合されたディスプレイ・インターフェース112にリンクされている。ディスプレイ・デバイス114は、コンピューティング・システム100の内蔵コンポーネントであるディスプレイ画面を含むことができる。ディスプレイ・デバイス114はまた、コンピューティング・システム100に外部接続される、とりわけコンピュータ・モニタ、テレビジョン、またはプロジェクタを含むことができる。加えて、ネットワーク・インターフェース・コントローラ(NIC)116は、コンピューティング・システム100をシステム内部接続106を通じてネットワーク118に接続するように適合される。いくつかの実施形態では、NIC116は、とりわけインターネット・スモール・コンピュータ・システム・インターフェースなど、任意の適切なインターフェースまたはプロトコルを使用して、データを送信することができる。ネットワーク118は、とりわけセルラ・ネットワーク、無線ネットワーク、ワイド・エリア・ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)、またはインターネットであり得る。ネットワーク118は、関連付けられた銅の送信ケーブル、光学送信ファイバ、無線送信デバイス、ルータ、ファイヤウォール、スイッチ、ゲートウェイ・コンピュータ、エッジ・サーバなどを含むことができる。
【0018】
1つまたは複数のリモート・デバイス120は、任意選択で、ネットワーク118を通じてコンピューティング・システム100に接続することができる。加えて、1つまたは複数のデータベース122は、任意選択で、ネットワーク118を通じてコンピューティング・システム100に接続することができる。いくつかの実施形態では、1つまたは複数のデータベース122は、機械学習タスクまたは転移学習タスクあるいはその両方に関するデータを記憶する。例えば、データベース122は、1つまたは複数の関連ソース・ドメインからのソース・データセットを含むことができる。そのような実施形態では、コンピューティング・システム100は、本明細書で説明されるデータセット識別プロセスの間、ソース・ドメインからのソース・データセットの少なくとも一部にアクセスまたは少なくとも一部をダウンロードしてもよい。
【0019】
コンピューティング・システム100はまた、本明細書で説明されるデータセット識別プロセスなど、様々な動作を実行するためにプロセッサ102によって実行され得るプログラム命令を含むコンピュータ可読記憶媒体124を含む。コンピュータ可読記憶媒体124は、コンピューティング・システム100に一体化されてもよいし、使用時にコンピューティング・システム100に接続される外部デバイスであってもよい。コンピュータ可読記憶媒体124は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の好適な組合せを含むことができる。コンピュータ可読記憶媒体124のより具体的な例の非網羅的な列挙としては、以下が挙げられる:ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ・ディスク、命令が記録されたパンチカードまたは溝に刻まれた構造などの機械的にエンコードされたデバイス、および前述の任意の適切な組合せ。その上、本明細書において使用される場合、用語「コンピュータ可読記憶媒体」は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の送信媒体を介して伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または電線を介して送信される電気的信号など、一過性の信号そのものであるとは解釈されない。いくつかの実施形態では、NIC116は、プログラム命令をネットワーク118から受信し、プログラム命令を記憶のためにコンピューティング・システム100内のコンピュータ可読記憶媒体124に転送する。
【0020】
一般的に、プログラム・モジュールを含むプログラム命令は、特定のタスクを実施するか、特定の抽象的なデータ・タイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含む。例えば、プログラム命令としては、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語などの従来的な手続き型プログラミング言語もしくは類似するプログラミング言語、を含む1つまたは複数のプログラミング言語の任意の組合せで記述された、ソース・コードまたはオブジェクト・コードのいずれかを挙げることができる。プログラム命令は、全体的にコンピューティング・システム100で実行されてもよいし、部分的にコンピューティング・システム100で、スタンドアロンのソフトウェア・パッケージとして実行されてもよいし、部分的にコンピューティング・システム100で、また部分的にコンピューティング・システム100にネットワーク118を介して接続されたリモート・コンピュータまたはサーバで実行されてもよいし、全体的にそのようなリモート・コンピュータまたはサーバで実行されてもよい。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本明細書で説明される技術の態様を実行するために、プログラム命令の状態情報を利用することによって、プログラム命令を実行して電子回路をカスタマイズすることができる。
【0021】
本明細書で説明される実施形態によると、コンピュータ可読記憶媒体124は、本明細書で説明されるデータセット識別プロセスを実行するためのプログラム・モジュールを含む。具体的には、コンピュータ可読記憶媒体124は、データセット事前処理モジュール126、特徴選択モジュール128、データセット類似度計算モジュール130、行類似度計算モジュール132、列類似度計算モジュール134、および類似度スコア要約モジュール136を含む。本明細書で説明されるデータセット識別プロセスを実施するために、そのようなモジュールが実行され得るやり方を、
図2~
図4に関してさらに説明する。
【0022】
図1のブロック図は、コンピューティング・システム100が
図1に示されるすべてのコンポーネントを含むことを示すよう意図されていないことを理解されたい。むしろ、コンピューティング・システム100は、より少ないコンポーネント、または
図1に示されないが追加的なコンポーネントを含むことができる(例えば、追加的なプロセッサ、追加的なメモリ・コンポーネント、埋め込みコントローラ、追加的なモジュール、追加的なネットワーク・インターフェースなど)。さらには、本明細書で説明されるデータセット識別プロセスに関連する機能性のいずれも、部分的に、または全体的に、ハードウェア、またはプロセッサ102、あるいはその両方に実装される。例えば、そのような機能性は、とりわけASICを用いて、埋め込みコントローラに実装されるロジックを用いて、またはプロセッサ102に実装されるロジックに、あるいはその組合せで実装することができる。いくつかの実施形態では、本明細書で説明されるデータセット識別プロセスに関連する機能性は、ロジックを用いて実装され、本明細書において言及される場合、ロジックとは任意の好適なハードウェア(例えば、とりわけプロセッサ)、ソフトウェア(例えば、とりわけアプリケーション)、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの任意の好適な組合せを含むことができる。
【0023】
図2は、本明細書で説明されるデータセット識別プロセス200の例示的な実施形態のプロセス・フロー図である。同じ符号の項目は、
図1に関して説明するとおりである。様々な実施形態において、方法200は、
図1に関して説明したコンピューティング・システム100によって実行される。特に、方法200は、コンピュータ可読記憶媒体124内のモジュール126~136の実行を通じて、プロセッサ102によって実行されてもよい。
【0024】
本明細書で説明される実施形態によると、データセット識別プロセス200は、2つの入力の形態を含む:(1)ソース・ドメインに関連する複数のソース・データセット202、および(2)対象のターゲット・ドメインに関連する単一のターゲット・データセット204。様々な実施形態において、各データセット202と204内のデータは、複数の行と複数の列を含む表形式に配列された数値のベクトルとして表現され、列は行と交差して表内の個々のセルを定める。特定のデータセット内の各列は、データセットの特徴を表現する。加えて、特定のデータセット内の各行は、データセットの単一のインスタンスを表現する。その上、特定の行の各セル内の数値、つまりインスタンスが、個々のベクトルに結合される場合、各ベクトルはデータセットの単一の特徴ベクトルを表現する。本明細書で説明される実施形態によると、データセット識別プロセス200は、ソース・データセット202とターゲット・データセット204が、同一特徴空間からのものであり、データセット202および204内の列の大部分が同一であること、換言すると、列がほとんど交差することを意味すると考える。
【0025】
ブロック206では、各ソース-ターゲット・データセット対が事前処理される。様々な実施形態において、これには、データセット識別プロセス200のためのデータセットを準備するために、標準的なデータ事前処理技術を利用することを伴う。特に、これには、データセットが交差列のみを含むように、(もし存在すれば)データセットからの非交差列を除去することが含まれる。加えて、データセットを事前処理することは、以下のステップのいずれか(またはすべて)を含んでもよい:(1)データセット内の欠落値を埋めること、(2)すべての無関係な、または重要ではない列をデータセットから除去すること、(3)交差列が同じオーダーとなるようにデータセットを揃え、故に数値のベクトルがデータセット間で直接的に相関すること、および(4)データセット内の値を標準化すること。その上、任意の数の追加的または代替的な事前処理ステップが、具体的な実装形態の詳細に応じて実行され得る。
【0026】
ブロック208では、任意選択で、各ソース-ターゲット・データセット対について、特徴選択が行われる。いくつかの実施形態では、特徴選択は、各ソース-ターゲット・データセット対から最適分割列(the best-splitting column)を識別して除去することを含む。より具体的には、各ソース-ターゲット・データセット対について、データセットを最良に分割する所定数の列が識別され、除去される。本明細書で説明される実施形態によると、これは、まず各ソース・データセットの各インスタンスを「0」として、またターゲット・データセットの各インスタンスを「1」としてラベル付けすることによって達成される。次いで、各ソース-ターゲット・データセット対について、2つのデータセット同士を見分けるように、機械学習モデルが訓練される。機械学習モデルは、例えば、決定木モデル、深層学習モデル、単純分類モデル、回帰モデル、または迷路ベースのモデルを含んでもよい。様々な実施形態において、各ソース-ターゲット・データセット対についての機械学習モデルは、最重要特徴を含む。最重要特徴は、2つのデータセット間で最高レベルの非類似度を含む特徴であり、各データセットに対してドメイン関連であってもよい。例として、2つのデータセットが国によって異なる場合、最重要特徴は、言語特徴または国の特徴であってもよい。様々な実施形態において、最重要特徴が識別されるやり方は、使用されるモデルのタイプに応じて変わる。例えば、機械学習モデルが決定木モデルである場合、モデルは、重要度レベルによって特徴をランク付けすることを含め、様々なメトリクスを自動的に出力することができる。
【0027】
最重要特徴が識別されると、最重要特徴に対応する列が、ソース-ターゲット・データセット対内の両方のデータセットから除去される。本明細書で説明される実施形態によると、最重要特徴に対応する列は、2つのデータセットの間で最も非類似の(つまり最も分離している)値を含む列であるため、「最適分割列」と称される。その上、最適分割列を除去することによって、データセットは、より類似することになり、それ故全体的な機械学習タスクがより困難となる。
【0028】
最適分割列が除去された後、機械学習モデルは2つのデータセット同士を見分けるよう再訓練される。機械学習モデルを訓練し、次いで最適分割列を除去するこのプロセスは、所定の反復回数k繰り返される。したがって、各ソース-ターゲット・データセット対に対して、この反復プロセスが完了すると、ソース・データセットおよびターゲット・データセットは、所定数kの最適分割列を除去するように、フィルタリングされている。次いで、データセット識別プロセス200は、フィルタリングされたデータセットを用いてブロック210~214の、類似度計算ステップに進んでもよい。
【0029】
様々な実施形態において、kの値は、データセット内の交差する列の数に応じて変化する。例えば、kの値は、交差する列の合計数の約10%に等しくてもよい。より具体的な例として、データセットが1000の交差する列を含む場合、合計約100の最適分割列が除去されてもよい。その上、いくつかの実施形態では、各反復の間、2つ以上の最適分割列が除去される。例えば、約2~10の最適分割列が、各反復の間に除去されてもよい。同じ例を使用して、次いで10~50の反復を使用して、データセットから合計100の最適分割列を除去してもよい。したがって、そのような実施形態では、所定数の反復は、nとして表されてよく、所定数の最適分割列は、kとして表されてもよい。
【0030】
他の実施形態では、特徴選択は、各ソース-ターゲット・データセット対内のソース・データセットとターゲット・データセットとの間で値の分布が最も非類似である列を除外することを含む。いくつかの実施形態では、これは、ソース・データセット内の各列およびターゲット・データセット内の各列の値について、分布ヒストグラムなどの値分布近似を作ることによって達成される。次いで、ソース・データセットの特定の列についての値分布近似は、ターゲット・データセットの対応する列についての値分布近似と比較される場合がある。この比較は、例えば、ピアソン相関関数、コサイン類似度関数、またはユークリッド距離関数など、任意の好適な類似度関数を使用して達成することができる。様々な実施形態において、例えばピアソン相関関数が使用される場合、>0.3のビンに対するしきい値など、類似度関数にはしきい値がセットされる。このやり方で、最も非類似の列は、各ソース-ターゲット・データセット対から除外され、結果として、残りの列または特徴が、データセット識別プロセス200のために選択される。他の実施形態では、類似度関数のためのしきい値をセットする代わりに、最低分布類似度スコアを持つ所定の割合の列が除外され、残りの列または特徴が、データセット識別プロセス200のために使用される。
【0031】
別の例として、ソース・データセットがラベル付けされる実施形態では、特徴選択は、既存の特徴選択方法を使用して、各ソース-ターゲット・データセット対のための機械学習タスクを解決するための特徴の相対的な重要度に基づいて、特徴を選択することを含んでもよい。そのような方法の例としては、相関ベースの特徴選択、情報ゲインベースの特徴選択、および学習者ベースの特徴選択が挙げられる。そのような実施形態では、特徴が重要度によってランク付けされてしまうと、最も重要度の低い特徴に対応する列がデータセットから除外され、残りの列または特徴がデータセット識別プロセス200に使用される。
【0032】
ブロック210では、各ソース-ターゲット・データセット対について、データセット類似度スコアが計算される。ブロック208における特徴選択が、各ソース-ターゲット・データセット対内の最適分割列を識別することを含む実施形態では、ブロック208の出力は、各ソース-ターゲット・データセット対についてデータセット類似度スコアを計算するために使用されてもよい。いくつかの実施形態では、機械学習モデルを訓練し、次いで最適分割列を除去するプロセスは、ブロック208の特徴選択工程で実行されるk反復に加え、所定数の追加反復分、繰り返されてもよい。そのような実施形態では、ブロック208の出力は、所定数の追加反復から得られた出力との組合せで使用して、各ソース-ターゲット・データセット対についてのデータセット類似度スコアを計算することができる。その上、ブロック208において各ソース-ターゲット・データセット対内の最適分割列が識別されない実施形態では、ブロック208に関して説明された反復的な最適分割列識別プロセスが、ブロック210で実行される。各ソース-ターゲット・データセット対に関し、この反復プロセスの出力は、各反復に対する機械学習モデルであり、この場合、各機械学習モデルは、1つまたは複数の最適分割列を特定の反復の間に除去した後、ソース-ターゲット・データセット対内の2つのデータセットを分割するように訓練されている。
【0033】
各ソース-ターゲット・データセット対に関し、各反復からの機械学習モデルの結果は、次いで、例えばモデルに関連する一般的なメトリクスをチェックすることによって分析されてもよい。特定の反復についての機械学習モデルが低品質の結果を生み出す場合、これは、モデルが2つのデータセットを見分けることができなかったことを意味しており、故に2つのデータセットは、比較的類似した値を含んでいる。反対に、機械学習モデルが高品質の結果を生み出す場合、これは、モデルが2つのデータセットを効果的に見分けることができたことを意味しており、故に2つのデータセットは、比較的非類似の値を含んでいる。本明細書で説明される実施形態によると、この概念は、各ソース-ターゲット・データセット対についてデータセット類似度スコアを生成するために利用される。これは、まずソース-ターゲット・データセット対について機械学習モデルの全体の精度を決定することによって達成され、ここで「精度」という用語は、モデルによって作成される予測の合計数と比較した、モデルによって作成される正しい予測の数の比率を指す。様々な実施形態において、モデルの全体の精度は、機械学習問題に関連する任意の好適なタイプの評価メトリクスを用いて決定することができる。例えば、モデルの全体の精度は、特定のソース-ターゲット・データセット対に対して生成されるモデルすべての平均精度を計算することによって、またはプロセスの最終反復の間に生成されるモデルの曲線下面積(AUC:area-under-the-curve)スコアを計算することによって決定されてもよい。
【0034】
次いで、データセット類似度スコアが(1-全体の精度)に等しい場合の、各ソース-ターゲット・データセット対に対するデータセット類似度スコアが計算される。全体の精度が高くなるほど、データセットが類似しなくなるということを意味するため、データセット類似度スコアが低いということは、データセットがあまり類似していないということも意味する。結果として、ブロック210のペアワイズな比較方法により、最も高いデータセット類似度スコアを有するソース-ターゲット・データセット対が最も類似している。
【0035】
ブロック212では、各ソース-ターゲット・データセット対について、行類似度スコアが計算される。様々な実施形態では、これは、ターゲット・データセットの各インスタンスと各ソース・データセットの各インスタンスとの間の距離スコアを計算することによって達成される。動作中、距離スコアは、各ソース-ターゲット・データセット対内の特徴ベクトルを比較することによって計算してもよい。次に、各ソース-ターゲット・データセット対の各インスタンスについての距離スコアは、各ソース-ターゲット・データセット対について最大距離スコアの例えば5%など、所定割合の平均(または加重平均)を見つけるために、ランク付けして要約される。各ソース-ターゲット・データセット対について得られた平均最小距離スコアは、次いでソース-ターゲット・データセット対についての行類似度スコアとして出力される。
【0036】
様々な実施形態において、このペアワイズな比較方法は、各データセット内の各インスタンスを比較しなければならないため、計算科学的に困難であり、時間がかかる可能性がある。したがって、本明細書で説明される実施形態によると、クラスタリングベースの最適化プロセスを使用して、より素早く効率的にペアワイズ比較を実施することができる。様々な実施形態において、クラスタリングベースの最適化プロセスには、各ソース-ターゲット・データセット対について、いくつかのステップを実施することを伴う。第1に、各ソース・データセットの各インスタンスのクラスタ重心は、例えばk平均クラスタリング・アルゴリズム(Lloydアルゴリズムとも称される)などのクラスタリング・アルゴリズムを使用して計算される。次いで、各ソース・データセットについての各特徴ベクトルが、最も近い重心で表記される。第2に、ターゲット・データセットの各インスタンスの最も近い重心が、計算される。第3に、ターゲット・データセット内の各特徴ベクトルと、最も近いクラスタに存在するソース・データセットからの各特徴ベクトルの間の最短距離が計算される。最も近いクラスタに存在するソース・データセットからの特徴ベクトルについての最短距離を計算するだけで、不必要な計算を除去するため、時間が節約される。第4に、上述の距離要約ステップが、各ソース-ターゲット・データセット対についての平均最小距離スコアを見つけるために実施され、これはソース-ターゲット・データセット対についての行類似度スコアと等しい。
【0037】
ブロック214では、各ソース-ターゲット・データセット対について、列類似度スコアが計算される。具体的には、ソース・データセットとターゲット・データセットが対応する列を含むため、各ソース-ターゲット・データセット対についての類似度スコアが列ごとに計算される。様々な実施形態において、各列の値について、分布ヒストグラムなど値分布近似を作ることによって、そのような類似度スコアが計算される。次いで、ソース・データセットの特定の列についての値分布近似は、ターゲット・データセットの対応する列についての値分布近似と比較される場合がある。この比較は、例えば、ピアソン相関関数、コサイン類似度関数、またはユークリッド距離関数など、任意の好適な類似度関数を使用して達成することができる。各ソース-ターゲット・データセット対内の対応する列について、得られる類似度スコアは、次いで要約されて各ソース-ターゲット・データセット対についての単一の列類似度スコアを出力する。その上、当業者であれば、本明細書において実施形態は列類似度スコアを計算するための分布ヒストグラムの使用に関して説明されるが、列類似度スコアを計算するためには、任意の数の他の好適な値分布近似も使用することができることを諒解されよう。
【0038】
いくつかの実施形態では、列についての類似度スコアは、すべての類似度スコアの平均を見つけることによって要約される。他の実施形態では、列についての類似度スコアは、すべての類似度スコアの加重平均を見つけることによって要約され、この場合、重みは各列の相対的な重要度に基づいて計算される。そのような実施形態では、ソース・データセットがラベル付けされる場合、ソース・ドメインについてのタスクに基づいた既存の特徴ランク付け方法を使用して、各特徴の重みを決定してもよい。そのような既存の特徴ランク付け方法の例としては、情報ゲイン技術および分散分析(ANOVA)技術が挙げられる。あるいは、ソース・データセットがラベル付けされていない場合、特徴の重みを決定するために、例えばエントロピー計量を利用するヒューリスティック・プロセスなど、任意の好適なヒューリスティック・プロセスが使用されてもよい。様々な実施形態において、このやり方で加重平均を計算することによって類似度スコアを要約することで、より重要な特徴が、データセットが類似しているかどうかに大きな影響を持つことが可能となる。その上、他の実施形態では、任意の数の他の技術もまた、単一の列類似度スコアが各ソース-ターゲット・データセット対について得られるように、列についての類似度スコアを要約するために利用することができる。
【0039】
いくつかの実施形態では、ブロック210~214の類似度計算ステップのうちの2つが、データセット識別プロセス200の各実装形態で実行される。例えば、いくつかの実施形態では、データセット類似度スコアと行類似度スコアだけが計算される。他の実施形態では、行類似度スコアと列類似度スコアだけが計算される。他の実施形態では、データセット類似度スコアと列類似度スコアだけが計算される。その上、他の実施形態では、ブロック210~214の類似度計算ステップのうちの1つだけが、データセット識別プロセス200の各実装形態で実行される。さらには、他の実施形態では、ブロック210~214の類似度計算ステップの3つすべてが、データセット識別プロセス200の各実装形態で実行される。
【0040】
様々な実施形態では、コンピュータ可読記憶媒体124は、データセット識別プロセス200の各実装形態にどの類似度計算ステップを実行するかを判断するようプロセッサ102に命令するプログラム命令、例えばプログラム・モジュール(図示せず)を含む。いくつかの実施形態では、この判断は、例えばソース・データセットおよびターゲット・データセット、実行されるべきタスクのタイプ、または類似度スコアの各タイプの予測される精度、あるいはその組合せの一般的な評価に基づいていてもよい。その上、いくつかの実施形態では、コンピュータ可読記憶媒体124はまた(または代替的に)、ブロック216に関して説明した要約ステップにどの類似度スコアを使用するかを判断するようにプロセッサ102に命令するプログラム命令(図示せず)を含む。例えば、いくつかの実施形態では、3つすべての類似度スコアが、ブロック210~214で計算されてもよい。しかしながら、プロセッサ102が、他の類似度スコアがあまり大きく関連していないまたはあまり正確ではないと判断した場合、プロセッサ102は、要約ステップに使用される計算された類似度スコアのうち2つだけを選択する場合がある。
【0041】
ブロック216では、ブロック210、212、または214あるいはその組合せからの類似度スコアは、ブロック210~214の類似度計算ステップのうちの少なくとも2つが実行される、データセット識別プロセス200の実装形態のために要約される。換言すると、各ソース-ターゲット・データセット対についてのデータセット類似度スコア、行類似度スコア、または列類似度スコア、あるいはその組合せは、各ソース-ターゲット・データセット対同士の全体の類似度スコアを見つけるために組み合わされる。いくつかの実施形態では、これには、各ソース-ターゲット・データセット対についてのデータセット類似度スコア、行類似度スコア、または列類似度スコア、あるいはその組合せを正規化すること、次いでソース-ターゲット・データセット対について全体の類似度スコアを決定するために単純にスコアを加算することが含まれる。他の実施形態では、これは、各ソース-ターゲット・データセット対について、平均類似度スコア、メジアン類似度スコア、または最大類似度スコア、あるいはその組合せを見つけることを含む。他の実施形態では、これは、各ソース-ターゲット・データセット対について、データセット類似度スコア、行類似度スコア、または列類似度スコア、あるいはその組合せの加重平均を見つけることを含む。他の実施形態では、これは、各ソース-ターゲット・データセット対について、対応するデータセット類似度スコア、行類似度スコア、または列類似度スコア、あるいはその組合せに基づいて、全体の類似度スコアを決定するために、集約関数を使用することを含む。その上、当業者であれば、類似度スコアを要約するために、具体的な実装形態の詳細に応じて、任意の好適な要約技術を使用してもよいことを諒解されよう。
【0042】
ブロック218では、データセット識別プロセス200は、最大スコアを有するソース・データセットを出力する。例えば、いくつかの実施形態では、データセット識別プロセス200は、最大の全体の類似度スコアを有するソース・データセットのリスト、または全体の類似度スコアによるソース・データセットのランク付けあるいはその両方を出力する。いくつかの実施形態では、コンピューティング・システム100のプロセッサ102は、リストまたはランク付けを、ディスプレイ・デバイス114を介してユーザに向けて、またはネットワーク118を介して1つもしくは複数のリモート・デバイス120の1つもしくは複数のリモート・ユーザに向けて、あるいはその組合せに対して表示する。例えば、リストまたはランク付けは、1つまたは複数のチャート、図、またはグラフ、あるいはその組合せとして表示されてもよい。リストまたはランク付けをユーザに向けて表示することは、ターゲット・ドメインに対する転移学習プロセスに使用される、最大の全体の類似度スコアを有する1つまたは複数のソース・データセットの、ユーザ選択を容易にすることができる。
【0043】
他の実施形態では、コンピュータ可読記憶媒体124は、ターゲット・ドメインに対する転移学習プロセスに使用される、最大の全体の類似度スコアを有する指定数のソース・データセットを自律的に選択するようにプロセッサ102に命令するプログラム命令(図示せず)を含む。指定数のソース・データセットは、具体的な実装形態の詳細に応じて、例えば約2~5ソース・データセットであってもよい。いくつかの実施形態では、コンピューティング・システム100のプロセッサ102は、1つまたは複数のチャート、図、またはグラフあるいはその組合せをユーザに向けて表示して、自律選択の説明を与える。
【0044】
図2のブロック図は、データセット識別プロセス200のブロック206~218が任意の特定の順序で実行されること、またはデータセット識別プロセス200のブロック206~218のすべてが、すべての事例に含められることを示すよう意図されていない。その上、任意の数の追加的なブロックが、具体的な実装形態の詳細に応じて、データセット識別プロセス200内に含まれてもよい。例えば、いくつかの実施形態では、データセット識別プロセス200は、転移学習プロセスを用いてターゲット・ドメインのための分類モデルを訓練するために、最大の全体の類似度スコアを有する選択されたソース・データセットを使用することを含む。具体的には、選択されたソース・データセットは、分類モデルのために分類器を訓練するために使用され得る。
【0045】
図3は、例示的な類似度スコア300Aおよび300Bを、ピアソン相関関数と関連する分布ヒストグラム302A~302Dを使用してどのように計算することができるか示す図表現である。
図3に示される例によると、分布ヒストグラム302Aおよび302B、ならびに分布ヒストグラム302Cおよび302Dは、ソース・データセットおよびターゲット・データセット内で対応する列を使用して作られる。換言すると、分布ヒストグラム302Aおよび302B、ならびに分布ヒストグラム302Cおよび302Dは、同一特徴に関連する。次いで、ピアソン相関関数を用いて、分布ヒストグラム302Aおよび302B、ならびに分布ヒストグラム302Cおよび302Dを比較する。次いで、ピアソン相関関数は、2つの列に対して類似度スコア300Aおよび300Bを出力する。ただし類似度スコアは1に近いほど、より類似している列を示す。
図3に示されるように、分布ヒストグラム302Cおよび302Dは、0.4363の類似度スコア300Aを有し、分布ヒストグラム302Aおよび302Bは、-0.3351の類似度スコア300Aを有する。したがって、分布ヒストグラム302Cおよび302Dに関連する列は、比較的類似しているが、分布ヒストグラム302Aおよび302Bに関連する列は、非常に非類似である。
【0046】
図4は、ターゲット・データセットと複数のソース・データセットとの間の類似度を定量化するための、およびターゲット・データセットに最も類似する1つまたは複数のソース・データセットを識別するための方法400の簡略化したプロセス・フロー図である。様々な実施形態において、方法400は、
図1に関して説明したコンピューティング・システム100によって実行される。特に、方法400は、コンピュータ可読記憶媒体124内のモジュール126~136の実行を通じて、プロセッサ102によって実行されてもよい。
【0047】
方法400は、ブロック402で始まり、ソース・ドメインに関連するソース・データセット、および対象のターゲット・ドメインに関連するターゲット・データセットがコンピューティング・システムで受け取られる。各データセットは、データセットの特徴に対応する列とデータセットのインスタンスに対応する行を含む表形式に配列されている。加えて、ソース・データセットおよびターゲット・データセットは、同一特徴空間を含む。その上、様々な実施形態において、ソース・ドメインおよびターゲット・ドメインは、例えば金銭的詐欺検出などの同一タスクに関連する。
【0048】
ブロック404では、非交差列を除去するために、コンピューティング・システムのプロセッサを通じて各ソース-ターゲット・データセット対が事前処理される。いくつかの実施形態では、各ソース-ターゲット・データセット対はまた、欠落値を埋めるため、無関係または重要ではない列を除去するため、列が同一のオーダーになるようデータセットを揃えるため、またはデータセット内の値を標準化するため、あるいはその組合せのため、事前処理される。
【0049】
ブロック406では、データセット類似度スコア、行類似度スコア、および列類似度スコアのうちの少なくとも2つが、プロセッサを通じて各ソース-ターゲット・データセット対について計算される。様々な実施形態において、各ソース-ターゲット・データセット対についてデータセット類似度スコアを計算することは、各ソース-ターゲット・データセット対に対して、所定数の最適分割列がソース-ターゲット・データセット対から除去されてしまうまで、以下を繰返し実行することを含む:(1)ソース-ターゲット・データセット対内のソース・データセットとターゲット・データセットとを見分けるよう機械学習モデルを訓練すること、(2)機械学習モデルについて1つまたは複数の最重要特徴を識別することであり、1つまたは複数の最重要特徴のそれぞれは、ソース-ターゲット・データセット対内の最適分割列に対応する、識別すること、(3)各ソース-ターゲット・データセット対から、1つまたは複数の最重要特徴に対応する1つまたは複数の最適分割列を除去すること。加えて、各ソース-ターゲット・データセット対についてデータセット類似度スコアを計算することは、各ソース-ターゲット・データセット対に対して、所定数の最適分割列が除去された後、以下を実行することを含む:(1)各反復の間に生成された機械学習モデルの全体の精度を決定すること、(2)ソース-ターゲット・データセット対についてデータセット類似度スコアを計算することであり、データセット類似度スコアは1から機械学習モデルの全体の精度を引いたものに等しく、データセット類似度スコアは1に近いほど、ソース・データセットとターゲット・データセットがより類似していることを示す、計算すること。加えて、様々な実施形態において、行類似度スコアを計算することは、各ソース-ターゲット・データセット対について以下を実行することを含む:(1)ターゲット・データセットの各インスタンスとソース・データセットの各インスタンスとの間の距離スコアを、クラスタリングベースの最適化プロセスを実施することによって、計算すること、(2)ソース-ターゲット・データセット対に対する平均最小距離スコアを見つけるために距離スコアを要約すること、(3)平均最小距離スコアを、ソース-ターゲット・データセット対についての行類似度スコアとして出力すること。さらには、様々な実施形態において、各ソース-ターゲット・データセット対について列類似度スコアを計算することは、各ソース-ターゲット・データセット対について以下を実行することを含む:(1)分布ヒストグラムなどの値分布近似を、ソース・データセット内の各列について、およびターゲット・データセット内の各列について、作成すること、(2)ソース・データセットおよびターゲット・データセット内の対応する列についての値分布近似同士を、類似度関数を用いて比較することであり、類似度関数の出力は、各対応する列についての類似度スコアである、比較すること、(3)ソース-ターゲット・データセット対についての列類似度スコアを見つけるために対応する列について類似度スコアを要約すること。
【0050】
ブロック408では、各ソース-ターゲット・データセット対について計算された類似度スコアは、プロセッサを通じて要約され、ターゲット・データセットに最も類似する1つまたは複数のソース・データセットを識別する。様々な実施形態において、これは、各ソース-ターゲット・データセット対について計算された類似度スコアの合計、平均、メジアン、最大値、加重平均、集約、または別の要約統計を見つけること、および計算された類似度スコアの合計、平均、メジアン、最大値、加重平均、集約、または別の要約統計を、各ソース-ターゲット・データセット対についての全体の類似度スコアとして出力することを含む
【0051】
図4のブロック図は、方法400のブロック402~408が任意の特定の順序で実行されること、または方法400のブロック402~408のすべてが、すべての事例に含められることを示すよう意図されていない。その上、任意の数の追加的なブロックが、具体的な実装形態の詳細に応じて、方法400内に含まれてもよい。例えば、いくつかの実施形態では、方法400はまた、ターゲット・データセットに最も類似する少なくとも1つのソース・データセットを使用してターゲット・ドメインに対する転移学習プロセスを介して分類モデルを訓練することを含む。さらには、いくつかの実施形態では、方法400は、コンピューティング・システムのディスプレイ・デバイスを通じてターゲット・データセットに最も類似するソース・データセットのリストまたはランク付けを表示することを含む。これは、転移学習プロセスに使用する1つまたは複数のソース・データセットのユーザ選択を容易にする場合がある。他の実施形態では、コンピューティング・システムは、転移学習プロセスに使用する1つまたは複数のデータセットを自律的に選択し、任意選択で、1つまたは複数のチャート、図、またはグラフあるいはその組合せをユーザに向けて表示して自律選択の説明を与える。
【0052】
様々な実施形態において、方法400はまた、各ソース-ターゲット・データセット対についてデータセット類似度スコア、行類似度スコア、および列類似度スコアのうちの少なくとも2つを計算することに先立って、プロセッサを通じて、各ソース-ターゲット・データセット対についての特徴選択を実施することを含む。いくつかの実施形態において、特徴選択を実施することは、各ソース-ターゲット・データセット対に対して、所定数の最適分割列がソース-ターゲット・データセット対から除去されてしまうまで、以下を繰返し実行することを含む:(1)ソース-ターゲット・データセット対内のソース・データセットとターゲット・データセットとを見分けるよう機械学習モデルを訓練すること、(2)機械学習モデルについて1つまたは複数の最重要特徴を識別することであり、1つまたは複数の最重要特徴のそれぞれは、ソース-ターゲット・データセット対内の最適分割列に対応する、識別すること、(3)各ソース-ターゲット・データセット対からの1つまたは複数の最重要特徴に対応する1つまたは複数の最適分割列を除去すること。加えて、そのような実施形態では、特徴選択を実施することは、ソース-ターゲット・データセット対内に残っている列を、選択された特徴として識別することを含む。その上、そのような実施形態では、特徴選択プロセスの結果は、ソース-ターゲット・データセット対についてデータセット類似度スコアを計算するために使用されて、それ故に全体的なデータセット類似度スコア計算プロセスを簡略化することができる。
【0053】
本発明は、コンピューティング・システム、方法、またはコンピュータ・プログラム製品あるいはその組合せであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含むことができる。
【0054】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら本明細書において説明される。フローチャート図またはブロック図あるいはその両方のそれぞれのブロック、およびフローチャート図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ可読プログラム命令によって実装され得ることを理解されたい。
【0055】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能性、および動作を図示している。この点において、フローチャートまたはブロック図のそれぞれのブロックは、指定される論理機能を実装するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表現することができる。いくつかの代替的な実装形態において、ブロックにおいて示した機能は図面で示した順とは異なって発生してもよい。例えば、連続して示される2つのブロックは、実際には実質的に同時に実行されてもよく、またはブロックは関与する機能性によっては、時に逆の順で実行されてもよい。ブロック図またはフローチャート図あるいはその両方のそれぞれのブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定される機能もしくは作用を実施する、または専用ハードウェアとコンピュータ命令との組合せを実行する、専用ハードウェア・ベースのシステムによって実装され得ることにも留意されたい。
【0056】
いくつかのシナリオでは、本明細書において説明される技術は、
図5および
図6に関してより詳細に説明するように、クラウド・コンピューティング環境に実装することができる。本開示はクラウド・コンピューティングの説明を含む場合があるが、本明細書で説明される技術の実装形態はクラウド・コンピューティング環境に限定されないことを、前もって理解されたい。むしろ本発明の実施形態は、現在既知の、または後に開発されるあらゆる他のタイプのコンピューティング環境と併せて実装することができる。
【0057】
クラウド・コンピューティングは、構成可能なコンピューティング・リソースの共有プール(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理ユニット、メモリ、ストレージ・デバイス、アプリケーション、仮想機械、およびサービス)への便利でオンデマンドのネットワーク・アクセスを可能とするためのサービス提供のモデルであり、最小限の管理努力またはサービスのプロバイダとの対話で、迅速にプロビジョニングおよびリリースすることができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含むことができる。
【0058】
少なくとも5つの特徴は以下のとおりである:
【0059】
(1)オン・デマンドなセルフサービス:クラウド消費者は、サービスのプロバイダとの人間対話を要求することなく必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
【0060】
(2)幅広いネットワーク・アクセス:機能はネットワーク上で利用可能であり、異質なシン・クライアントまたはシック・クライアントのプラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを通じてアクセスされる。
【0061】
(3)リソース・プール:プロバイダのコンピューティング・リソースは、マルチテナントのモデルを使用して複数の消費者にサービス提供するためにプールされ、異なる物理的および仮想的なリソースが要求に従って動的に割り当ておよび再割り当てされる。消費者が提供されるリソースの正確な場所についての制御または情報を一般的に持たない点で、場所の独立性の感覚があるが、より高レベルの抽象(例えば、国、州、またはデータセンタ)において場所を特定できることもある。
【0062】
(4)迅速な拡張性:機能は迅速かつ弾力的にプロビジョニングすることができ、いくつかの場合において、自動的に、素早くスケール・アウトされ、迅速にリリースされて素早くスケール・インされる。消費者にとって、プロビジョニングのために利用可能な機能は、しばしば無制限に見え、いつでもいくらでも購入することができる。
【0063】
(5)サービスの計測:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウント)に適当な抽象のいくつかのレベルにおいて計測機能を活用することによりリソースの使用を自動的に制御し、最適化する。リソースの使用は監視され、制御され、かつ報告され得、利用されるサービスのプロバイダおよび消費者の両方にとって透明性を与えている。
【0064】
少なくとも3つのサービス・モデルは以下のとおりである:
【0065】
(1)Software as a Service(SaaS):消費者に提供される機能は、クラウド・インフラストラクチャで実行中のプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェース(例えば、ウェブ・ベースの電子メール)を通じて様々なクライアント・デバイスからアクセス可能である。消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、またはさらには個々のアプリケーション機能を含む基礎となるクラウド・インフラストラクチャを管理または制御することはなく、例外として限定されたユーザ固有アプリケーションの構成設定が可能である。
【0066】
(2)Platform as a Service (PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者作成の、または取得されたアプリケーションをクラウド・インフラストラクチャに展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎となるクラウド・インフラストラクチャの管理または制御をしないが、展開されたアプリケーション、および場合によっては環境構成をホストするアプリケーションについての制御を有する。
【0067】
(3)Infrastructure as a Service(IaaS):消費者に提供される機能は、任意のソフトウェアを消費者が展開および実行することができる、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることであり、これにはオペレーティング・システムおよびアプリケーションが含まれ得る。消費者は、基礎となるクラウド・インフラストラクチャの管理または制御をしないが、オペレーティング・システム、ストレージ、展開されたアプリケーションの制御、および場合によっては選択ネットワーキング・コンポーネント(例えば、ホスト・ファイヤウォール)の限定された制御を有する。
【0068】
少なくとも4つの展開モデルは以下のとおりである:
【0069】
(1)プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運用される。その組織またはサード・パーティによって管理され得、オンプレミスまたはオフプレミスで存在することができる。
【0070】
(2)コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共有される事案(例えば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンス懸案事項)を有する特定のコミュニティをサポートする。組織またはサード・パーティによって管理され得、オンプレミスまたはオフプレミスで存在することができる。
【0071】
(3)パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆または大規模な業界団体に対して利用可能とされ、クラウド・サービスを販売する組織によって所有される。
【0072】
(4)ハイブリッド・クラウド:クラウド・インフラストラクチャは、一意なエンティティのままである2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)を組み合わせたものであるが、データおよびアプリケーションのポータビリティを可能にする標準化された、または専有的な技術(例えば、クラウド間でロード・バランシングを行うためのクラウド・バースト)によって結合される。
【0073】
クラウド・コンピューティング環境は、ステートレス性、低い結合性、モジュール性、および意味論的な相互運用性に焦点をあてたサービス指向である。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0074】
図5は、例示的なクラウド・コンピューティング環境500の概略図である。示されるように、クラウド・コンピューティング環境500は、例えば、携帯情報端末(PDA)もしくは携帯電話504A、デスクトップ・コンピュータ504B、ラップトップ・コンピュータ504C、または自動車コンピュータ・システム504Nあるいはその組合せなど、クラウドの消費者によって使用されるローカルのコンピューティング・デバイスと通信することができる1つまたは複数のクラウド・コンピューティング・ノード502を含む。クラウド・コンピューティング・ノード502は互いに通信することができる。本明細書において上述のようなプライベート、コミュニティ、パブリック、もしくはハイブリッドのクラウドまたはその組合せなどの、1つまたは複数のネットワークにおいて、これらは物理的または仮想的にグループ化することができる(図示せず)。これにより、クラウド・コンピューティング環境500は、クラウドの消費者がローカルのコンピューティング・デバイスでリソースを維持する必要のない、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはその組合せをサービスとして提供することができる。
図5に示されるコンピューティング・デバイス504A~Nのタイプは、図示のみを意図されており、クラウド・コンピューティング・ノード502およびクラウド・コンピューティング環境500は、任意のタイプのネットワーク上またはネットワーク・アドレス可能接続(例えば、ウェブ・ブラウザを使用して)、あるいはその両方で任意のタイプのコンピュータ化されたデバイスと通信することができることが理解されよう。
【0075】
図6は、
図5に示されるクラウド・コンピューティング環境500によって提供される、例示的な機能的抽象レイヤ600の簡略化した概略図である。
図6に示されるコンポーネント、レイヤ、および機能は、図示のみを意図されており、本発明の実施形態はそれに限定されないことが前もって理解されるべきである。描写されるように、以下のレイヤおよび対応する機能が提供される。
【0076】
ハードウェアおよびソフトウェア・レイヤ602は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム、一例としてIBM(R)zSeries(R)システム、RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ、一例としてIBM pSeries(R)システム、IBM xSeries(R)システム、IBM BladeCenter(R)システム、ストレージ・デバイス、ネットワークおよびネットワーキング・コンポーネントが挙げられる。ソフトウェア・コンポーネントの例としては、ネットワーク・アプリケーション・サーバ・ソフトウェア、一例としてIBM WebSphere(R)アプリケーション・サーバ・ソフトウェア、およびデータベース・ソフトウェア、一例としてIBM DB2(R)データベース・ソフトウェアが挙げられる。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere、およびDB2は、世界中の多くの法域で登録されているインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。)
【0077】
仮想化レイヤ604は、仮想エンティティの以下の例を提供することができる抽象レイヤを与える:仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアント。一例において、管理レイヤ606は以下で説明される機能を提供することができる。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実施するために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を提供する。計測および課金は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費についての課金または請求書発行を提供する。一例において、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含む。セキュリティは、クラウド消費者およびタスクについての識別情報の検証、ならびにデータおよび他のリソースについての保護を与える。ユーザ・ポータルはクラウド・コンピューティング環境へのアクセスを消費者およびシステム管理者に提供する。サービス水準管理は、要求されるサービス水準が満たされるように、クラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス水準合意(SLA)計画および遂行は、将来的な要求がSLAに従って予期されるクラウド・コンピューティング・リソースについての事前申し合わせ、およびクラウド・コンピューティング・リソースの調達を提供する。
【0078】
ワークロード・レイヤ608はクラウド・コンピューティング環境が利用され得る機能性の例を提供する。このレイヤからもたらされ得るワークロードおよび機能の例として以下が挙げられる:マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想教室教育配信、データ分析処理、トランザクション処理、およびソース・データセット識別技術の実行。
【0079】
例示を目的として本発明の様々な実施形態の説明を提示してきたが、網羅的であること、または開示された実施形態に限定することは意図されていない。説明された実施形態の範囲および思想から逸脱することなく、多くの修正形態および変形形態が当業者にとって明らかとなろう。本明細書において使用される用語法は、実施形態の原理、実践的な用途もしくは市場で見られる技術より優れた技術的な改善を最良に説明するため、または当業者の他の者が本明細書において開示される実施形態を理解できるように選ばれたものである。