(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】転移学習を用いた低リソース・エンティティ解決
(51)【国際特許分類】
G06N 3/08 20230101AFI20240709BHJP
G06N 3/04 20230101ALI20240709BHJP
【FI】
G06N3/08
G06N3/04
(21)【出願番号】P 2021571808
(86)(22)【出願日】2020-06-04
(86)【国際出願番号】 IB2020055266
(87)【国際公開番号】W WO2020254901
(87)【国際公開日】2020-12-24
【審査請求日】2022-11-21
(32)【優先日】2019-06-17
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】笠井 淳吾
(72)【発明者】
【氏名】キアン、クン
(72)【発明者】
【氏名】グラジャダ、サイラム
(72)【発明者】
【氏名】リ、ユンヤオ
(72)【発明者】
【氏名】ポパ、ルーシャン
【審査官】石坂 知樹
(56)【参考文献】
【文献】米国特許出願公開第2019/0171944(US,A1)
【文献】米国特許出願公開第2018/0330280(US,A1)
【文献】米国特許出願公開第2018/0336183(US,A1)
【文献】米国特許出願公開第2013/0185314(US,A1)
【文献】米国特許出願公開第2020/0202210(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
G06N 3/04
(57)【特許請求の範囲】
【請求項1】
コンピュータ実施方法であって、
第1のエンティティ解決モデル
に関連して入力データを
取得するステップであって、前記入力データがラベル付き入力データおよびラベルなし入力データを含む、
取得するステップと、
ニューラル・ネットワーク・エンティティ解決モデルをトレーニングする際に使用される前記ラベルなし入力データの1つまたは複数の部分を識別するステップであって、前記識別するステップが、前記第1のエンティティ解決モデル
に関連して1つまたは複数のアクティブ・ラーニング・アルゴリズムを
実施すること
を含み、前記実施することは、少なくとも1つの分割サンプリング機構を用いて前記ラベルなし入力データを2以上のサブセットに分割することと、基準に基づいて前記2以上のサブセットそれぞれから1つまたは複数の部分を、前記ラベルなし入力データの前記1つまたは複数の部分として、選択することとを含む、識別するステップと、
(i)前記ラベルなし入力データの前記1つまたは複数の部分および(ii)1つまたは複数のディープ・ラーニング技術を使用して、前記ニューラル・ネットワーク・エンティティ解決モデルをトレーニングするステップと、
1つまたは複数のデータセットに前記トレーニングしたニューラル・ネットワーク・エンティティ解決モデルを適用することによって1つまたは複数のエンティティ解決タスクを実行するステップと
を含む、コンピュータ実施方法。
【請求項2】
前記基準は、前記ラベルなし入力データの各サンプルのエントロピーであり、前記2以上のサブセットそれぞれから選択される前記1つまたは複数の部分は、高いエントロピーを示す不確かな部分と、低いエントロピーを示す高信頼度の部分とを含み、前記2以上のサブセットは、マッチである確率に基づいて分割された複数のサブセットを含む、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記1つまたは複数のディープ・ラーニング技術が、分類のためにエンティティ・レコード対の分散型表示を実施することを含む、請求項1
または2に記載のコンピュータ実施方法。
【請求項4】
前記ニューラル・ネットワーク・エンティティ解決モデルを前記トレーニングするステップが、ワード埋め込みを活用することによって前記エンティティ・レコード対の各々のベクトル表示を構成することを含む、請求項3に記載のコンピュータ実施方法。
【請求項5】
前記トレーニングしたニューラル・ネットワーク・エンティティ解決モデルが、リカレント・ニューラル・ネットワーク・モデルを含む、請求項1
~4のいずれか1項に記載のコンピュータ実施方法。
【請求項6】
手入力により、
取得した前記入力データの1つまたは複数の不確かな部分にラベル付けすることによって前記ニューラル・ネットワーク・エンティティ解決モデルを微調整するステップ
を含む、請求項1
~5のいずれか1項に記載のコンピュータ実施方法。
【請求項7】
1つまたは複数のディープ・ラーニング技術により、ラベル付き入力データを用いてニューラル・ネットワーク・モデルをトレーニングすることによって前記第1のエンティティ解決モデルを生成するステップ
を含む、請求項1
~6のいずれか1項に記載のコンピュータ実施方法。
【請求項8】
前記1つまたは複数のディープ・ラーニング技術が、データセット適応を使用して多数のソース・データセットから属性アグノスティックおよび転移可能なニューラル・ネットワーク・モデルを学習することを含む、請求項7に記載のコンピュータ実施方法。
【請求項9】
システムであって、
メモリと、
前記メモリに動作上でつなげられた少なくとも1つのプロセッサであって、
第1のエンティティ解決モデル
に関連して入力データを
取得することであり、前記入力データがラベル付き入力データおよびラベルなし入力データを含む、
取得することと、
ニューラル・ネットワーク・エンティティ解決モデルをトレーニングする際に使用される前記ラベルなし入力データの1つまたは複数の部分を識別することであり、前記識別することが、前記第1のエンティティ解決モデル
に関連して1つまたは複数のアクティブ・ラーニング・アルゴリズムを
実施すること
を含み、前記実施することは、少なくとも1つの分割サンプリング機構を用いて前記ラベルなし入力データを2以上のサブセットに分割することと、基準に基づいて前記2以上のサブセットそれぞれから1つまたは複数の部分を、前記ラベルなし入力データの前記1つまたは複数の部分として、選択することとを含む、識別することと、
(i)前記ラベルなし入力データの前記1つまたは複数の部分および(ii)1つまたは複数のディープ・ラーニング技術を使用して、前記ニューラル・ネットワーク・エンティティ解決モデルをトレーニングすることと、
1つまたは複数のデータセットに前記トレーニングしたニューラル・ネットワーク・エンティティ解決モデルを適用することによって1つまたは複数のエンティティ解決タスクを実行することと
のために構成された、少なくとも1つのプロセッサと
を備える、システム。
【請求項10】
前記基準は、前記ラベルなし入力データの各サンプルのエントロピーであり、前記2以上のサブセットそれぞれから選択される前記1つまたは複数の部分は、高いエントロピーを示す不確かな部分と、低いエントロピーを示す高信頼度の部分とを含み、前記2以上のサブセットは、マッチである確率に基づいて分割された複数のサブセットを含む、請求項9に記載のシステム。
【請求項11】
前記1つまたは複数のディープ・ラーニング技術が、分類のためにエンティティ・レコード対の分散型表示を実施することを含む、請求項9
または10に記載のシステム。
【請求項12】
コンピュータ実施方法であって、
ランダムに初期化されたエンティティ解決モデル
に関連して入力データを処理するステップであって、前記入力データがラベルなし入力データを含む、処理するステップと、
前記ランダムに初期化されたエンティティ解決モデルをトレーニングする際に使用される前記ラベルなし入力データの1つまたは複数の部分を識別するステップであって、前記識別するステップが前記ランダムに初期化されたエンティティ解決モデルに1つまたは複数のアクティブ・ラーニング・アルゴリズムを
実施すること
を含み、前記実施することは、少なくとも1つの分割サンプリング機構を用いて前記ラベルなし入力データを2以上のサブセットに分割することと、基準に基づいて前記2以上のサブセットそれぞれから1つまたは複数の部分を、前記ラベルなし入力データの前記1つまたは複数の部分として、選択することとを含む、識別するステップと、
(i)前記ラベルなし入力データの前記1つまたは複数の部分および(ii)1つまたは複数のディープ・ラーニング技術を使用して、前記ランダムに初期化されたエンティティ解決モデルをトレーニングするステップと、
1つまたは複数のデータセットに前記トレーニングされランダムに初期化されたエンティティ解決モデルを適用することによって1つまたは複数のエンティティ解決タスクを実行するステップと
を含む、コンピュータ実施方法。
【請求項13】
前記基準は、前記ラベルなし入力データの各サンプルのエントロピーであり、前記2以上のサブセットそれぞれから選択される前記1つまたは複数の部分は、高いエントロピーを示す不確かな部分と、低いエントロピーを示す高信頼度の部分とを含み、前記2以上のサブセットは、マッチである確率に基づいて分割された複数のサブセットを含み、前記1つまたは複数のディープ・ラーニング技術が、分類のためにエンティティ・レコード対の分散型表示を実施することを含む、請求項
12に記載のコンピュータ実施方法。
【請求項14】
コンピュータ・プログラムであって、請求項1ないし8、
12および13のいずれか1項に記載の方法の各ステップをコンピュータに実行させるための、コンピュータ・プログラム。
【請求項15】
請求項14に記載のコンピュータ・プログラムを記録した、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、一般に情報技術に関し、とりわけ、データ管理技術に関する。
【背景技術】
【0002】
エンティティ解決(ER)技術は、同じエンティティを参照するデータ集合内のレコードを識別し、そしてこのような技術は、データ・クリーニングおよび統合プロセスにおいてよく利用される。従来のER手法は、問題のエンティティの属性に適用するマッチング機能を明示的に規定する費用のかかる手作業の機能エンジニアリングを多くの場合に必要とする。加えて、旧来のER手法は、実世界のアプリケーションでは多くの場合に利用できない大量のラベル付きデータもまた必要とすることがある。
【発明の概要】
【0003】
本発明の1つの態様では、転移学習を用いた低リソース・エンティティ解決のための技術が提供される。例示的なコンピュータ実施方法は、第1のエンティティ解決モデルにより入力データを処理するステップであって、上記入力データがラベル付き入力データおよびラベルなし入力データを含む、処理するステップと、ニューラル・ネットワーク・エンティティ解決モデルをトレーニングする際に使用される上記ラベルなし入力データの1つまたは複数の部分を識別するステップであって、識別するステップが、上記第1のエンティティ解決モデルに1つまたは複数のアクティブ・ラーニング・アルゴリズムを適用することを含む、識別するステップとを含むことができる。方法はまた、(i)上記ラベルなし入力データの上記1つまたは複数の部分および(ii)1つまたは複数のディープ・ラーニング技術を使用して、上記ニューラル・ネットワーク・エンティティ解決モデルをトレーニングするステップと、1つまたは複数のデータセットに上記トレーニングしたニューラル・ネットワーク・エンティティ解決モデルを適用することによって1つまたは複数のエンティティ解決タスクを実行するステップとを含む。
【0004】
発明のもう1つの態様では、例示的なコンピュータ実施方法は、ランダムに初期化されたエンティティ解決モデルにより入力データを処理するステップであって、上記入力データがラベルなし入力データを含む、処理するステップと、上記ランダムに初期化されたエンティティ解決モデルをトレーニングする際に使用される上記ラベルなし入力データの1つまたは複数の部分を識別するステップであって、識別するステップが上記ランダムに初期化されたエンティティ解決モデルに1つまたは複数のアクティブ・ラーニング・アルゴリズムを適用することを含む、識別するステップとを含むことができる。加えて、このような方法は、(i)上記ラベルなし入力データの上記1つまたは複数の部分および(ii)1つまたは複数のディープ・ラーニング技術を使用して、上記ランダムに初期化されたエンティティ解決モデルをトレーニングするステップと、1つまたは複数のデータセットに上記トレーニングされランダムに初期化されたエンティティ解決モデルを適用することにより1つまたは複数のエンティティ解決タスクを実行するステップとを含む。
【0005】
発明またはその要素のもう1つの態様は、実施したときに、コンピュータに、本明細書に記載するような複数の方法ステップを行わせるコンピュータ可読命令を有形に具現化しているコンピュータ・プログラム製品の形態で実施されることがある。さらにその上、発明またはその要素のもう1つの実施形態は、メモリと、上記メモリにつなげられ、記した方法ステップを実行するように構成された少なくとも1つのプロセッサとを含む形態で実施されることがある。まださらに、発明またはその要素のもう1つの実施形態は、本明細書に記載した方法ステップを行うための手段またはその要素の形態で実施されることがあり、上記手段が、ハードウェア・モジュールまたはハードウェアとソフトウェア・モジュールとの組合せを含むことができ、上記ソフトウェア・モジュールが、有形のコンピュータ可読記憶媒体(または多数のそのような媒体)に記憶される。
【0006】
本発明のこれらのおよび他の目的、特徴および利点は、添付の図面とともに読まれる本発明の例示の実施形態の下記の詳細な説明から明らかになるだろう。
【図面の簡単な説明】
【0007】
【
図1】発明の例示的な実施形態による、システム・アーキテクチャを図説する図である。
【
図2】発明の例示的な実施形態による、転移学習を用いた低リソース・エンティティ解決を図説する流れ図である。
【
図3】発明の例示的な実施形態による、発明を実施するための形態の表1に詳しく述べたようなディープ転移アクティブ・ラーニング・アルゴリズムを図説する図である。
【
図4】発明の実施形態による技術を図説する流れ図である。
【
図5】発明の少なくとも1つの実施形態を実施できる例示的なコンピュータ・システムのシステム図である。
【
図6】本発明の実施形態によるクラウド・コンピューティング環境の図である。
【
図7】本発明の実施形態による抽象概念モデル・レイヤの図である。
【発明を実施するための形態】
【0008】
本明細書において説明するように、発明の実施形態は、転移学習を用いた低リソース・エンティティ解決を含む。少なくとも1つの実施形態は、転移学習とアクティブ・ラーニングとの組合せを通してERに関する低リソース設定を目標とするディープ・ラーニングに基づく方法を実施することを含む。
【0009】
ニューラル・ネットワーク・アーキテクチャを通して、1つまたは複数の実施形態は、累積的に十分なラベル付きデータを有する多数のソース・データセットから転移可能なモデルを学習することを含む。その後、このような実施形態は、ターゲット・データセットにモデルをさらに適応させるために不明確な例、そしてしたがって、情報価値のある例を識別するためにアクティブ・ラーニングを使用することを含む。ER設定での転移学習とアクティブ・ラーニングとのこの組む合わせは、従来の手法と比較して著しく少ないターゲット・データセット・ラベルを使用しながら改善したディープ・ラーニング(DL)モデルの学習を可能にする。したがって、少なくとも1つの実施形態は、データセット(ドメイン)適応を使用して多数のソース・データセットから属性アグノスティック表現および転移可能な表現を学習するERに関するDLアーキテクチャを作り出すことまたは実施することあるいはその両方を含む。加えて、このような実施形態は、ターゲット・データセットに転移したモデルの微調整に役立つアクティブ・ラーニングのためのエントロピーに基づくサンプリング方法を利用することを含む。
【0010】
1つまたは複数の実施形態は、低リソース設定(すなわち、タスクのために限られた量のラベル付きデータがある)でのERタスクの文脈において実施されるものである。このような実施形態では、ディープ・ラーニング法は、マッチング機能を設計する必要性を軽減するまたは削除するあるいはその両方を行い、そしてディープ・ラーニング法はまた、(かなりの量のラベル付きデータを必要とする)フィーチャ・エンジニアリングに対する必要性も軽減する。
【0011】
図1は、発明の実施形態による、システム・アーキテクチャを図説する図である。実例として、
図1は、ラベル付き例106の(少量の)集合およびラベルなし例104の集合を含む低リソース・データセット102を描いている。ラベルなし例104の少なくとも一部が、提供されたラベルなし例104を処理しそして1つまたは複数の情報価値のある例110を決定するまたは識別するあるいは両方を行う初期ERモデル108に提供される。情報価値のある例110、ならびにラベル付き例106の少なくとも一部分が、アクティブ・ラーニング・コンポーネント112内部のニューラル(ディープ・ラーニング)モデル114に提供される。
【0012】
ニューラル(DL)モデル114は、1つまたは複数の不明確な例116を決定するまたは識別するあるいはその両方を行い、そしてこれらの不明確な例が、(例えば、ユーザを介して)ラベルを提供され、これらの新たなラベル付き例が、モデル114を微調整するためにニューラル(DL)モデル114へと再度組み込まれる。加えて、
図1に描かれたように、ニューラル(DL)モデル114は、結局は、(1つまたは複数のERタスクを実行するために利用されることがある)最終的なディープ・アクティブ転移学習(DATL)ERモデル118を生成するまたは出力するあるいはその両方を行う。
【0013】
図2は、発明の例示的な実施形態による、転移学習を用いた低リソース・エンティティ解決を図説する流れ図である。例として、タプル(D={D
1,D
2,...,D
n},T)を含んでいるERシナリオを考える、ここではDは類似した属性を有するスキーム全体にわたるデータセットの集合であり、そしてTはDの至るところで(同じタイプの)同じエンティティ・インスタンスのすべての発生を識別するタスクである。例えば、このようなタスクは、D内の多数のレコードに現れる人物を識別することを含む。本明細書において記したように、いくつかのERシナリオは、かなりの量のラベル付きデータを含む、しかしながら、多くのERシナリオは、限られた量のラベル付きデータを含むだろう(本明細書では、低リソースERタスクとも呼ばれる)。
【0014】
再び
図2を参照して、かなりの量のラベル付きデータ202を含むERシナリオS
1204が与えられると、発明の少なくとも1つの実施形態は、すべての属性対に対して同じニューラル・ネットワークを使用してS
1からニューラル(DL)ERモデルM206を学習することを含む。加えて、ターゲット・シナリオS
2208が与えられると、このような実施形態はまた、(例えば、スキーム・マッチングなどの技術により実行される)意味的に類似したS
2208のデータセットの中から属性を識別すること、そして次いでS
2208内のデータセットの至るところの同じエンティティ・インスタンスの発生を識別するためにこれらの属性対にM206を適用することを含む。S
2208からある量のラベル付きデータがある場合には、このようなラベル付きデータ(またはその一部分)が、S
2208によりよく適応するように転移されたモデルM206を改良するために使用されることがある。
図2にさらに描かれたように、少なくとも1つの実施形態では、S
2208からのある量のラベル付きデータ210が、アクティブ・ラーニングを介して自動的に生成されることがあり、そこでは少なくとも1つのアクティブ・ラーニング・アルゴリズムが、ユーザによりラベルを付けられるようにそしてモデルM206を改良するために使用されるように、S
2208からの関連する例を積極的に識別する。
【0015】
本明細書において詳細に説明するように、1つまたは複数の実施形態では、ディープ・ラーニング・モデルは、分類のためにエンティティ・レコード対の分散型表示を使用する。このようなモデルは、各々のエンティティ・レコード対のベクトル表示を構成するためにワード埋め込みを活用し、そしてこのように、費用のかかるフィーチャ・エンジニアリングを回避できる。少なくとも1つの実施形態では、ディープ・ラーニングERモデルは、RNNモデルに類似しており、転移学習もさらに容易にする。そのような実施形態では、ブロック化が既に実行されていることを仮定し、そしてディープ・ラーニングERモデルがマッチまたはノンマッチとして候補セット内の各々の対を分類する。
【0016】
各々のエンティティ・レコード対<e1,e2>に関して、ここでは各々の属性値がワードの系列であり、1つまたは複数の実施形態は、属性値をトークン化することおよび入力表示を得るために外部ワード埋め込みによりワードをベクトル化することを含む。単なる例として、このような実施形態は、文字n-gramを介してワード・ベクトルを生成することによってサブワード情報を取り込む300次元FastText埋め込みを使用することを含むことができる。
【0017】
加えて、少なくとも1つの実施形態は、各々の属性値のワード入力表示に双方向性リカレント・ニューラル・ネットワーク(RNN)を実行すること、および二方向から最後の隠れユニットを連結することにより属性ベクトルを得ること含む。1つまたは複数の実施形態では、異なるRNNが、異なる属性に対して使用される。あるいは、1つまたは複数の実施形態は、所与のネットワーク・アーキテクチャ内のすべての属性表示を計算するユニバーサルRNNを実施することを含む。結果として得られる属性表示が、各々のエンティティ・レコード対の属性を比較するために使用されることがある。特に、少なくとも1つの実施形態は、各々の属性に関する2つの属性ベクトル同士の間の要素毎の絶対差異を計算すること、そして属性類似性ベクトルを構成することを含む。
【0018】
属性類似性ベクトルが与えられると、1つまたは複数の実施形態は、入力エンティティ・レコード対の間の類似性を表示するためにこれらのベクトルを統合することを含む。このような実施形態は、すべての属性類似性ベクトルを加えることまたは合計することあるいはその両方を実行することを含む。ベクトルを統合するこの方法は、最終的な類似性ベクトルが属性の数とは無関係に同じ次元数のものであることを保証し、そして続くパラメータのすべての転移を容易にする。
【0019】
加えて、少なくとも1つの実施形態は、ハイウェイ接続を用いて2層多層パーセプトロン(MLP)へ2つのレコードに関する類似性ベクトルをフィードすること、およびマッチまたはノンマッチとして対を分類することを含む。MLPの最終レイヤからの出力は、2次元ベクトルであり、そして1つまたは複数の実施形態は、確率分布を得るためにソフトマックス関数により2次元ベクトルを規格化することを含む。
【0020】
また、少なくとも1つの実施形態は、負の対数尤度損失を最小にするために1つまたは複数のネットワークをトレーニングすることを含む。このような実施形態は、例えば、16のバッチ・サイズおよび0.001の初期学習レートでAdam最適化アルゴリズムを使用することを含むことができ、そして各々のエポックの後で、このような実施形態は、開発セット上のモデルを評価することを含む。
【0021】
本明細書においてさらに詳細に説明されるように、1つまたは複数の実施形態は、ERタスクに関するディープ転移アクティブ・ラーニングを含み、ここではこのような実施形態は、低リソース設定でのディープ・ラーニングERモデルのための2つの直交するフレームワーク(すなわち、転移学習フレームワークおよびアクティブ・ラーニング・フレームワーク)を確立することを含む。
【0022】
転移学習に関して、少なくとも1つの実施形態は、ソース・データに関する所与のネットワーク内のすべてのパラメータをトレーニングすること、およびターゲット・データセットを分類するためにパラメータを使用することを含む。このような実施形態は、データセットの特異な特性に関して不変であるネットワーク表示を構成することを追加で含むことができる。この目的のために、1つまたは複数の実施形態は、画像認識において開発されたデータセット(ドメイン)適応の技術を適用することを含む。特に、このような実施形態は、入力対の元であるデータセットを予測するマッチング分類子と同じアーキテクチャを有するデータセット分類子を作成することを含む。さらに、このような実施形態は、2つの分類子からの負の対数尤度損失の総計によりトレーニング対象を置き換える。データセット分類子内のパラメータがデータセットを予測するためにトレーニングされ、一方でネットワークの残りがデータセット分類子をミスリードするようにトレーニングされ、これによってデータセットに無関係な内部表示を開発すべく、勾配反転レイヤが、類似性ベクトルとデータセット分類子との間に追加されることがある。データセット適応を用いて、このような実施形態は、ターゲット・データセットならびにネットワークへのソースからの対をフィードすることを含む。ターゲット・データセットからの対に関して、マッチング分類子からの損失が無視されることがある。
【0023】
加えて、1つまたは複数の実施形態では、アクティブ・ラーニングは、モデルにとって情報価値のある例を繰り返し選択することにより、ラベルを付けられる必要がある対の数を減少させるための枠組みを提供する。
【0024】
図3は、発明の例示的な実施形態による、ディープ転移アクティブ・ラーニング・アルゴリズム302を図説する図である。1つまたは複数の実施形態は、サンプルを選択するためにエントロピー・レベルしきい値を使用することを避けることを含み、そして代わりにサンプルの数を固定することを含むことに留意されたい。下記の表1に詳細に述べるように、
図3のアクティブ・ラーニング・アルゴリズム302は、3つのステップ、すなわち、(1)ラベルなしデータから不明確な(したがって情報価値のある)サンプルを選択し、このようなサンプルにラベルを付けるステップ、(2)ラベルなしデータから高確信度サンプルを選択し、プロキシとして予測したラベルを使用するステップ、および(3)選択したサンプルについてのネットワークをトレーニングすることによりネットワーク内のパラメータを更新するステップ、の全体にわたり繰り返す。第2のステップは、例えば、ネットワークが選択した不明確なサンプルに過剰適合することを防止する。
【0025】
1つまたは複数の実施形態では、不明確なサンプルおよび高確信度サンプルは、現在のモデルにより出力される確信度確率分布のエントロピーによって特徴付けられる。単に実例として、Kがサンプリング・サイズであり、候補レコード対を含むラベルなしデータセットが
【数1】
であるとする。加えて、レコード対x
iがp(x
i)によって現在のモデルにしたがったマッチである確率を表す。引き続いて、対の条件付きエントロピーが下記の式により計算される。
H(x
i)=-p(x
i)log p(x
i)
-(1-p(x
i))log(1-p(x
i))
【0026】
不明確なサンプルおよび高確信度サンプルを、高エントロピーおよび低エントロピーに関係付けることができる。不明確さおよび高確信度のこの概念が与えられると、上からK個のエントロピーを有するレコード対を不明確なサンプルとして選択することができ、そして下からK個のエントロピーを有するレコード対を、高信頼度サンプルとして選択することができる。すなわち、それぞれ、不明確なサンプルおよび高確信度サンプルのセットとして
【数2】
、
【数3】
を取る。しかしながら、これらの基準は、ある特定の方向に向かう意図したバイアスを導入でき、結果として不安定な性能になる。この不安定性問題に対処するために、少なくとも1つの実施形態は、分割サンプリング機構を実施することを含む。このような実施形態は、ラベルなしデータD
Uを、モデルがそれぞれマッチおよびノンマッチとして予測する対を含む2つのサブセット
【数4】
および
【数5】
へと分割することを含む。すなわち、
【数6】
、
【数7】
【0027】
その後、このような実施形態は、エントロピーに関する各々のサブセットから上位/下位k=K/2のサンプルを選択することを含む。不明確なサンプルは、ここで、
【数8】
であり、ここでは、2つの基準が、それぞれ(精度を高めるために)可能性の高い擬似陽性および(再現率を高めるために)可能性の高い擬似陰性を選択する。このような実施形態では、高確信度サンプルが、
【数9】
により識別され、ここでは、2つの基準が、それぞれ高確信度陽性および高確信度陰性に対応する。これらのサンプリング基準は、不明確なサンプルおよび高確信度サンプルを異なるカテゴリへと分割する。
表1:ディープ転移アクティブ・ラーニング
入力:
ラベルなしデータD
U、サンプリング・サイズK、バッチ・サイズB、最大繰り返し数T、エポックの最大数I。
通知:
ディープERパラメータおよびラベル付きサンプルのセットをそれぞれWおよびD
Lにより表示する。Update(W,D
L,B)は、バッチ・サイズBを有するラベル付きデータD
Lの負の対数尤度を最適化するパラメータ更新関数を表示する。k=K/2に設定する。
1:転移学習によってWを初期化する。D
L=0もまた初期化する
2:for t∈{1,2,...,T} do
3: 式1に基づきD
Uからk個の可能性の高い擬似陽性およびk個の可能性の高い擬似陰性を選択し、D
Uからこれらを除去する。これらのサンプルにラベルを付け、D
Lにこれらを加える。
4: 式2を使用してD
Uからk個の高確信度陽性およびk個の高確信度陰性を選択し、正のラベルおよび負のラベルを付けてこれらをD
Lに加える
5: for t∈{1,2,...,I} do
6: W←Update(W,D
L,B)
7: Wを用いてD
LにディープERモデルを実行し、F1スコアを求める
8: if F1スコアが改善する then
9: W
best←W
10: end if
11: end for
12: W←W
best
13:end for
14:return W
【0028】
図4は、本発明の実施形態による技術を図説する流れ図である。ステップ402は、第1のエンティティ解決モデルにより入力データを処理することを含み、ここでは入力データがラベル付き入力データおよびラベルなし入力データを含む。ステップ404は、ニューラル・ネットワーク・エンティティ解決モデルをトレーニングする際に使用されるラベルなし入力データの1つまたは複数の部分を識別することを含み、ここでは前記識別することが第1のエンティティ解決モデルに1つまたは複数のアクティブ・ラーニング・アルゴリズムを適用することを含む。
【0029】
ステップ406は、(i)ラベルなし入力データの1つまたは複数の部分および(ii)1つまたは複数のディープ・ラーニング技術を使用して、ニューラル・ネットワーク・エンティティ解決モデルをトレーニングすることを含む。少なくとも1つの実施形態では、1つまたは複数のディープ・ラーニング技術は、分類のためにエンティティ・レコード対の分散型表示を実施することを含み、そしてニューラル・ネットワーク・エンティティ解決モデルをトレーニングすることが、ワード埋め込みを活用することによってエンティティ・レコード対の各々のベクトル表示を構成すること含む。
【0030】
ステップ408は、1つまたは複数のデータセットにトレーニングしたニューラル・ネットワーク・エンティティ解決モデルを適用することによって1つまたは複数のエンティティ解決タスクを実行することを含む。1つまたは複数の実施形態では、1つまたは複数のデータセットは、所与のしきい値よりも少ない量のラベル付きデータを含む。加えて、少なくとも1つの実施形態では、トレーニングしたニューラル・ネットワーク・エンティティ解決モデルは、リカレント・ニューラル・ネットワーク・モデルを含む。
【0031】
図4に描かれた技術はまた、手入力により、処理した入力データの1つまたは複数の不明確な部分にラベルを付けることによってニューラル・ネットワーク・エンティティ解決モデルを微調整することも含むことができる。加えて、少なくとも1つの実施形態は、1つまたは複数のディープ・ラーニング技術により、ラベル付き入力データを用いてニューラル・ネットワーク・モデルをトレーニングすることによって第1のエンティティ解決モデルを生成することを含む。さらにまた、このような実施形態では、1つまたは複数のディープ・ラーニング技術は、データセット適応を使用して多数のソース・データセットから属性アグノスティックおよび転移可能なニューラル・ネットワーク・モデルを学習することを含む。
【0032】
さらにまた、発明の追加の実施形態は、ランダムに初期化されたエンティティ解決モデルにより入力データを処理することであって、ここでは入力データが、ラベルなし入力データを含む、処理すること、およびランダムに初期化されたエンティティ解決モデルをトレーニングする際に使用されるラベルなし入力データの1つまたは複数の部分を識別することであって、ここでは識別することが、ランダムに初期化されたエンティティ解決モデルに1つまたは複数のアクティブ・ラーニング・アルゴリズムを適用することを含む、識別することを含む。加えて、このような実施形態は、(i)ラベルなし入力データの1つまたは複数の部分および(ii)1つまたは複数のディープ・ラーニング技術を使用して、ランダムに初期化されたエンティティ解決モデルをトレーニングすること、および1つまたは複数のデータセットにトレーニングされランダムに初期化されたエンティティ解決モデルを適用することによって1つまたは複数のエンティティ解決タスクを実行することを含む。
【0033】
図4に描かれた技術はまた、本明細書において説明するように、システムを提供することを含むことができ、このシステムは、別個のソフトウェア・モジュールを含み、別個のソフトウェア・モジュールの各々が、有形のコンピュータ可読記録可能記憶媒体上に具現化される。モジュール(またはその任意のサブセット)のすべてが、同じ媒体上にあってもよい、または例えば、各々が異なる媒体上にあってもよい。モジュールは、図に示したまたは本明細書に記載したあるいはその両方の構成要素のうちのいずれかまたはすべてを含むことができる。発明の実施形態では、モジュールは、例えば、ハードウェア・プロセッサ上で実行できる。方法ステップを、そのときには、上に説明したように、ハードウェア・プロセッサ上で実行するシステムの別個のソフトウェア・モジュールを使用して行うことができる。さらに、コンピュータ・プログラム製品は、別個のソフトウェア・モジュールを有するシステムの提供を含め、本明細書において説明した少なくとも1つの方法ステップを行うために実行されることに適応したコードを有する有形のコンピュータ可読記録可能記憶媒体を含むことができる。
【0034】
加えて、
図4に描かれた技術を、データ処理システム内のコンピュータ可読記憶媒体に記憶されたコンピュータ使用可能なプログラム・コードを含むことができるコンピュータ・プログラム製品により実施することができ、このコンピュータ使用可能なプログラム・コードは、遠隔データ処理システムからネットワークを介してダウンロードされた。さらにまた、発明の実施形態では、コンピュータ・プログラム製品は、サーバ・データ処理システム内のコンピュータ可読記憶媒体に記憶されたコンピュータ使用可能なプログラム・コードを含むことができ、そしてこのコンピュータ使用可能なプログラム・コードは、遠隔システムを用いてコンピュータ可読記憶媒体での使用のために遠隔データ処理システムへネットワークを介してダウンロードされる。
【0035】
発明の実施形態またはその要素を、メモリ、およびメモリにつなげられそして例示的な方法ステップを実行するように構成された少なくとも1つのプロセッサを含む装置の形態で実施することができる。
【0036】
加えて、本発明の実施形態は、コンピュータまたはワークステーション上で実行するソフトウェアを使用させることができる。
図5を参照して、このような実施態様は、例えば、プロセッサ502、メモリ504、および例えば、ディスプレイ506およびキーボード508により形成される入力/出力インターフェースを採用するだろう。本明細書において使用するように「プロセッサ」という用語は、例えば、CPU(中央処理ユニット)または他の形態の処理回路あるいはその両方を含むものなどの任意の処理デバイスを含むものとする。さらに、「プロセッサ」という用語は、1つよりも多くの個別プロセッサを呼ぶことがある。「メモリ」という用語は、例えば、RAM(ランダム・アクセス・メモリ)、ROM(読出し専用メモリ)、固定メモリ・デバイス(例えば、ハード・ドライブ)、リムーバブル・メモリ・デバイス(例えば、ディスケット)、フラッシュ・メモリ、等などの、プロセッサまたはCPUに関連するメモリを含むものとする。加えて、本明細書において使用するように「入力/出力インターフェース」という句は、例えば、処理ユニットへデータを入力するための機構(例えば、マウス)、および処理ユニットに関連する結果を提供するための機構(例えば、プリンタ)を含むものとする。プロセッサ502、メモリ504、ならびにディスプレイ506およびキーボード508などの入力/出力インターフェースを、例えば、データ処理ユニット512の一部としてのバス510を介して相互接続することができる。例えば、バス510を介した適切な相互接続もまた、コンピュータ・ネットワークとインターフェースするように設けられることがあるネットワーク・カードなどのネットワーク・インターフェース514に、および媒体518とインターフェースするように設けられることがあるディスケットまたはCD-ROMドライブなどの媒体インターフェース516に提供されることがある。
【0037】
したがって、本明細書において説明するような、発明の方法論を実行するための命令またはコードを含むコンピュータ・ソフトウェアを、関連するメモリ・デバイス(例えば、ROM、固定メモリまたはリムーバブル・メモリ)に記憶することができ、利用される準備ができると、(例えば、RAMへと)部分的にまたは全体がロードされ、そしてCPUにより実施される。このようなソフトウェアは、限定されないが、ファームウェア、常駐ソフトウェア、マイクロコード、等を含むだろう。
【0038】
プログラム・コードを記憶するまたは実行するあるいはその両方を行うことに適したデータ処理システムは、システム・バス510を介してメモリ素子504に直接的にまたは間接的につなげられた少なくとも1つのプロセッサ502を含むだろう。メモリ素子は、プログラム・コードの実際の実施中に利用されるローカル・メモリ、バルク・ストレージ、および実施中にバルク・ストレージからコードが取得されなければならない回数を減少させるために少なくともいくつかのプログラム・コードの一時的なストレージを提供するキャッシュ・メモリを含むことができる。
【0039】
(限定しないが、キーボード508、ディスプレイ506、ポインティング・デバイス、等を含め)入力/出力デバイスまたはI/Oデバイスを、(バス510を介してなど)直接的にまたは(明確さのために省略した)介在するI/Oコントローラのいずれかでシステムにつなげることができる。
【0040】
ネットワーク・インターフェース514などのネットワーク・アダプタもまた、データ処理システムが介在するプライベート・ネットワークまたはパブリック・ネットワークを介して他のデータ処理システムまたは遠隔プリンタまたはストレージ・デバイスにつなげられるようになることを可能にするためにシステムにつなげられることがある。モデム、ケーブル・モデムおよびイーサネット(R)・カードは、ネットワーク・アダプタの現在利用可能なタイプのうちのほんのいくつかである。
【0041】
特許請求の範囲を含め、本明細書において使用するように、「サーバ」は、サーバ・プログラムを実行している物理データ処理システム(例えば、
図5に示したようなシステム512)を含む。このような物理サーバが、ディスプレイおよびキーボードを含んでも含まなくてもよいことが理解されるだろう。
【0042】
本発明は、集積度の任意の可能な技術詳細レベルにおけるシステム、方法、またはコンピュータ・プログラム製品あるいはその組合せであってもよい。コンピュータ・プログラム製品は、本発明の実施形態をプロセッサに行わせるために記憶媒体上にコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)を含むことができる。
【0043】
コンピュータ可読記憶媒体を、命令実行デバイスによる使用のために命令を保持できるまたは記憶できる有形のデバイスとすることができる。コンピュータ可読記憶媒体を、例えば、限定しないが、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または上記の任意の適切な組合せとすることができる。コンピュータ可読記憶媒体のより具体的な例の非網羅的な列挙は、下記のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)、消去書込み可能読出し専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読出し専用メモリ(CD-ROM)、ディジタル・ヴァーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ(R)・ディスク、パンチカードまたは記録された命令を有する溝内の突起した構造体などの機械的にエンコードされたデバイス、および上記の任意の適切な組合せを含む。コンピュータ可読記憶媒体は、本明細書において使用するように、無線波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を通り伝播する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または電線を通り伝送される電気信号などのそれ自体一過性の信号であるように解釈されるべきではない。
【0044】
本明細書において説明されるコンピュータ可読プログラム命令を、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにまたは、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくはワイヤレス・ネットワークあるいはその組合せのネットワークを介して外部コンピュータもしくは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはその組合せを含むことができる。各々のコンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そしてそれぞれのコンピューティング/処理デバイス内部のコンピュータ可読記憶媒体に記憶のためにコンピュータ可読プログラム命令を転送する。
【0045】
本発明の作業を行うためのコンピュータ可読プログラム命令を、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、またはSmalltalk(R)、C++、等などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの手続き型プログラミング言語を含め、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードのいずれかとすることができる。コンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で、一部分がユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、一部分がユーザのコンピュータ上でそして一部分が遠隔コンピュータ上で、または全体が遠隔コンピュータもしくはサーバ上で実行できる。後者のシナリオでは、遠隔コンピュータを、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含め任意のタイプのネットワークを介してユーザのコンピュータに接続することができる、または接続を、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに行うことができる。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含め電子回路は、本発明の実施形態を実行するために、電子回路をパーソナライズするコンピュータ可読プログラム命令の状態情報を利用することによりコンピュータ可読プログラム命令を実行できる。
【0046】
本発明の実施形態が、発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート説明図またはブロック図あるいはその両方を参照して本明細書において説明される。フローチャート説明図またはブロック図あるいはその両方の各々のブロック、およびフローチャート説明図またはブロック図あるいはその両方のブロックの組合せを、コンピュータ可読プログラム命令により実施できることが理解されるだろう。
【0047】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令がフローチャートまたはブロック図の1つもしくは複数のブロックあるいはその両方に明示された機能/動作を実施するための手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または装置を製造するために他のプログラマブル・データ処理装置のプロセッサに提供されることがある。これらのコンピュータ可読プログラム命令はまた、記憶した命令を有するコンピュータ可読記憶媒体がフローチャートまたはブロック図の1つもしくは複数のブロックあるいはその両方に明示された機能/動作の態様を実施する命令を含む製造の物品を備えるべく、コンピュータ、プログラマブル・データ処理装置、または特定の様式で機能する他のデバイスあるいはその組合せを管理できるコンピュータ可読記憶媒体内に記憶されることもある。
【0048】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行する命令がフローチャートまたはブロック図の1つもしくは複数のブロックあるいはその両方に明示された機能/動作を実施すべく、コンピュータに実施されるプロセスを生成するためにコンピュータ、他のプログラマブル装置または他のデバイス上で一連の動作ステップを実行させるためにコンピュータ、他のプログラマブル・データ処理装置または他のデバイス上へとロードされることがある。
【0049】
図のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、コンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能、および動作を図説する。この点に関して、フローチャートまたはブロック図の各々のブロックは、モジュール、セグメント、または指定された論理機能を実施するための1つまたは複数の実行可能な命令を含む命令の一部を表すことができる。いくつかの代替の実施態様では、ブロックに記した機能は、図に記したものとは異なる順番で生じることがある。例えば、連続して示された2つのブロックが、実際には、実質的に同時に実行されることがある、または、含まれる機能に応じて、複数のブロックが、時には逆の順番で実行されることがある。ブロック図またはフローチャート説明図あるいはその両方の各々のブロック、およびブロック図またはフローチャート説明図あるいはその両方のブロックの組合せが、指定された機能もしくは行為を実行するまたは専用ハードウェアとコンピュータ命令との組合せを行う専用ハードウェアに基づくシステムにより実施されることもまた、留意されるだろう。
【0050】
本明細書において説明した方法のうちのいずれかは、コンピュータ可読記憶媒体上に具現化された別個のソフトウェア・モジュールを含むシステムを提供する追加のステップを含むことができ、モジュールが、例えば、本明細書において詳細に説明した構成要素のうちのいずれかまたはすべてを含むことができることに留意すべきである。方法ステップは、そのときには、上に説明したように、ハードウェア・プロセッサ502上で実行する別個のソフトウェア・モジュールまたはシステムのサブモジュールあるいはその両方を使用して行われることがある。さらに、コンピュータ・プログラム製品は、別個のソフトウェア・モジュールを有するシステムの提供を含め、本明細書において説明した少なくとも1つの方法ステップを行うように実施されることに適応したコードを有するコンピュータ可読記憶媒体を含むことができる。
【0051】
いずれにせよ、本明細書において図説した構成要素を、様々な形態のハードウェア、ソフトウェア、またはこれらの組合せ、例えば、特定用途集積回路(ASICS)、機能回路、付随するメモリを有する適切にプログラムされたディジタル・コンピュータ、等に実施できることが理解されるべきである。本明細書に提供された発明の教示が与えられると、当業者は、発明の構成要素の他の実施態様を予期できるだろう。
【0052】
加えて、本明細書において詳述した教示の実施態様が特定のコンピューティング環境に限定されないことが、あらかじめ理解される。むしろ、本発明の実施形態は、現在知られているまたは後に開発されるいずれかのタイプのコンピューティング環境とともに実施されることが可能である。
【0053】
例えば、クラウド・コンピューティングは、サービスのプロバイダとの最小の管理労力または対話で迅速に提供され解放されることが可能な構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理工程、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利な、オンデマンド・ネットワーク・アクセスを可能にするためのサービス提供のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含むことができる。
【0054】
特徴は、下記の通りである。
【0055】
オンデマンド・セルフサービス:クラウド利用者は、サービスのプロバイダとのヒューマン・インタラクションを必要とせずに必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的に提供できる。
【0056】
広いネットワーク・アクセス:能力は、ネットワークを介して利用可能であり、異種性のシンまたはシック・クライアント・プラットフォーム(例えば、携帯電話機、ラップトップ、およびPDA)による使用を促進させる標準機構を通してアクセスされる。
【0057】
リソース・プーリング:プロバイダのコンピューティング・リソースは、要求にしたがって動的に割り当てられそして再割り当てされる異なる物理リソースおよび仮想リソースを用いて、マルチテナント・モデルを使用する多数の利用者に提供するためにプールされる。利用者が一般に、提供されたリソースの正確な場所に関する制御または知識がないが高いレベルの抽象概念での場所(例えば、国、州、またはデータセンタ)を特定することが可能であり得るという点で、場所独立性の感覚である。
【0058】
急速弾力性:能力が、いくつかのケースでは自動的に、迅速にスケール・アウトするために急速にそして弾力的に提供され、そして迅速にスケール・インするために急速に解放されることがある。利用者に対して、提供することのために利用可能な能力は、制限されないようにしばしば見られ、そしていつでも任意の量を購入できる。
【0059】
測定されるサービス:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、および有効なユーザ・アカウント)に対して適切な抽象概念のいくつかのレベルで計測能力を活用することによりリソース使用を自動的に制御しそして最適化する。リソース使用量は、利用されたサービスのプロバイダおよび利用者の両方に対する透明性を提供するためにモニタされ、制御され、そして報告されることがある。
【0060】
サービス・モデルは、下記の通りである。
【0061】
サービスとしてのソフトウェア(SaaS):利用者に提供される能力は、クラウド・インフラストラクチャ上で実行するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェース(例えば、ウェブ・ベースの電子メール)を介して様々なクライアント・デバイスからアクセス可能である。利用者は、限定的なユーザ専用アプリケーション構成設定の潜在的な例外で、ネットワーク、サーバ、オペレーティング・システム、ストレージ、またはそれどころか個別のアプリケーション能力を含め下にあるクラウド・インフラストラクチャを管理しないまたは制御しない。
【0062】
サービスとしてのプラットフォーム(PaaS):利用者に提供される能力は、プロバイダによりサポートされるプログラミング言語およびツールを使用して作成され利用者が作成したまたは取得したアプリケーションをクラウド・インフラストラクチャ上へと展開することである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含め下にあるクラウド・インフラストラクチャを管理しないまたは制御しないが、展開したアプリケーションおよびおそらく環境構成をホストしているアプリケーションを通した制御を有する。
【0063】
サービスとしてのインフラストラクチャ(IaaS):利用者に提供される能力は、利用者が、処理、ストレージ、ネットワーク、ならびに利用者がオペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアを展開し実行できる他の基本的なコンピューティング・リソースの提供である。利用者は、下にあるクラウド・インフラストラクチャを管理しないまたは制御しないが、オペレーティング・システム、ストレージ、展開したアプリケーションおよび選択ネットワーキング構成要素(例えば、ホスト・ファイアウォール)の潜在的に限定された制御を通した制御を有する。
【0064】
展開モデルは、下記の通りである。
【0065】
プライベート・クラウド:クラウド・インフラストラクチャは、組織のために単独で運用される。これは、組織またはサード・パーティにより管理されることがあり、そしてオンプレミスまたはオフプレミスで存在できる。
【0066】
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織により共有され、共有した関心事(例えば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンスの考慮)を有する特定のコミュニティをサポートする。これは、組織またはサード・パーティにより管理されることがあり、そしてオンプレミスまたはオフプレミスで存在できる。
【0067】
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大きな産業グループに対して利用可能にされ、そしてクラウド・サービスを販売している組織によって所有される。
【0068】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティを残すが、データおよびアプリケーションの可搬性を可能にする標準化されたまたは専用の技術によって一緒に結びつけられた2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合物(例えば、クラウド同士の間の負荷バランスをバーストしているクラウド)である。
【0069】
クラウド・コンピューティング環境は、無国籍、低結合、モジュール性、および意味相互運用性に注目して指向したサービスである。クラウド・コンピューティングの心臓部には、相互接続されたノードのネットワークを備えるインフラストラクチャがある。
【0070】
ここで
図6を参照して、例示のクラウド・コンピューティング環境50が描かれる。示したように、クラウド・コンピューティング環境50は、例えば、パーソナル・ディジタル・アシスタント(PDA)またはセルラ電話機54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54Nあるいはその組合せなどのクラウド利用者により使用されるローカル・コンピューティング・デバイスが通信できる1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信できる。ノードは、1つまたは複数のネットワークでは、本明細書において上に説明したようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、もしくはハイブリッド・クラウド、またはこれらの組合せなどの、物理的にまたは仮想的にグループ化(図示せず)されることがある。これは、クラウド利用者がローカル・コンピューティング・デバイス上のリソースを維持管理することを必要としないでサービスとしてクラウド・コンピューティング環境50がインフラストラクチャ、プラットフォームまたはソフトウェアあるいはその組合せを提供することを可能にする。
図6に示したタイプのコンピューティング・デバイス54A~54Nが単に例示のためであり、そしてコンピューティング・ノード10およびクラウド・コンピューティング環境50が任意のタイプのネットワークまたはネットワーク・アドレス指定可能な接続を介して(例えば、ウェブ・ブラウザを使用して)任意のタイプのコンピュータ化されたデバイスと通信できることが理解される。
【0071】
ここで
図7を参照して、クラウド・コンピューティング環境50(
図6)により提供される機能的抽象概念レイヤのセットが示される。
図7に示した構成要素、レイヤ、および機能は、単に例示的なものにすぎず、発明の実施形態がこれに限定されないことが、あらかじめ理解されるはずである。描かれたように、下記のレイヤおよび対応する機能が提供される。
【0072】
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア構成要素およびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャに基づくサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーキング・コンポーネント66を含む。いくつかの実施形態では、ソフトウェア構成要素は、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0073】
仮想化レイヤ70は、仮想エンティティの下記の例、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含め仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、および仮想クライアント75が与えられることがある抽象概念レイヤを提供する。1つの例では、管理レイヤ80は、下記に説明する機能を提供できる。リソース提供部81は、コンピューティング・リソースおよびクラウド・コンピューティング環境内部でタスクを実行するために利用される他のリソースの動的な調達を提供する。計測および価格設定部82は、リソースがクラウド・コンピューティング環境内部で利用されるので価格追跡、およびこれらのリソースの消費に関する課金または請求を提供する。
【0074】
1つの例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド利用者およびタスクに関するアイデンティティ認証、ならびにデータおよび他のリソースに関する保護を提供する。ユーザ・ポータル83は、利用者およびシステム管理者用のクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理部84は、要求されるサービス・レベルが満足されるように、クラウド・コンピューティング・リソース割り当ておよび管理を提供する。サービス・レベル契約(SLA)立案および達成部85は、将来の必要条件がSLAにしたがって予期されるクラウド・コンピューティング・リソースに関する事前手配および調達を提供する。
【0075】
ワークロード・レイヤ90は、クラウド・コンピューティング環境が利用されることがある機能の例を提供する。ワークロードおよびこのレイヤから提供されることがある機能の例は、本発明の1つまたは複数の実施形態によれば、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想学級教育配信93、データ解析処理94、取引処理95、低リソース・エンティティ解決96を含む。
【0076】
本明細書において使用した専門用語は、特定の実施形態だけを説明する目的のためであり、発明を限定するものではない。本明細書において使用したように、「1つ(a)」、「1つ(an)」および「その(the)」という単数形は、文脈が別なふうに明確に指示しない限り、同様に複数形を含むものである。「備える(comprise)」または「備えている(comprising)」あるいはその両方の用語は、この明細書で使用されるときに、記述した特徴、ステップ、動作、要素、または構成要素あるいはその組合せの存在を明示するが、もう1つの特徴、ステップ、動作、要素、構成要素、またはこれらのグループあるいはその組合せの存在または追加を排除しないことがさらに理解されるだろう。
【0077】
本発明の少なくとも1つの実施形態は、例えば、低リソースの文脈でエンティティ解決タスクを実行することなどの有益な効果を提供できる。
【0078】
本発明の様々な実施形態の説明が、例示の目的で提示されてきているが、網羅的であるものではないまたは開示した実施形態に限定されない。多くの修正および変形が、別記の特許請求の範囲により規定されるような発明の範囲から逸脱せずに当業者には明白であろう。本明細書において使用した専門用語は、実施形態の原理、実際的な応用もしくは市場で見出される技術に対する技術的改善を最も良く説明するために、または当業者が本明細書に開示した実施形態を理解することを可能にするために選択された。