IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エヌイーシー ラボラトリーズ アメリカ インクの特許一覧

特許7345046単語重複ベースのクラスタリングクロスモーダル検索
<>
  • 特許-単語重複ベースのクラスタリングクロスモーダル検索 図1
  • 特許-単語重複ベースのクラスタリングクロスモーダル検索 図2
  • 特許-単語重複ベースのクラスタリングクロスモーダル検索 図3
  • 特許-単語重複ベースのクラスタリングクロスモーダル検索 図4
  • 特許-単語重複ベースのクラスタリングクロスモーダル検索 図5
  • 特許-単語重複ベースのクラスタリングクロスモーダル検索 図6
  • 特許-単語重複ベースのクラスタリングクロスモーダル検索 図7
  • 特許-単語重複ベースのクラスタリングクロスモーダル検索 図8
  • 特許-単語重複ベースのクラスタリングクロスモーダル検索 図9
  • 特許-単語重複ベースのクラスタリングクロスモーダル検索 図10
  • 特許-単語重複ベースのクラスタリングクロスモーダル検索 図11
  • 特許-単語重複ベースのクラスタリングクロスモーダル検索 図12
  • 特許-単語重複ベースのクラスタリングクロスモーダル検索 図13
  • 特許-単語重複ベースのクラスタリングクロスモーダル検索 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-06
(45)【発行日】2023-09-14
(54)【発明の名称】単語重複ベースのクラスタリングクロスモーダル検索
(51)【国際特許分類】
   G06F 16/903 20190101AFI20230907BHJP
   G06F 16/907 20190101ALI20230907BHJP
【FI】
G06F16/903
G06F16/907
【請求項の数】 20
(21)【出願番号】P 2022504286
(86)(22)【出願日】2020-07-02
(65)【公表番号】
(43)【公表日】2022-10-17
(86)【国際出願番号】 US2020040649
(87)【国際公開番号】W WO2021015936
(87)【国際公開日】2021-01-28
【審査請求日】2022-01-21
(31)【優先権主張番号】62/877,952
(32)【優先日】2019-07-24
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/918,353
(32)【優先日】2020-07-01
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/878,781
(32)【優先日】2019-07-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504080663
【氏名又は名称】エヌイーシー ラボラトリーズ アメリカ インク
【氏名又は名称原語表記】NEC Laboratories America, Inc.
(74)【代理人】
【識別番号】100123788
【弁理士】
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【弁理士】
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】チェン、 ユンコン
(72)【発明者】
【氏名】ユアン、 ファオ
(72)【発明者】
【氏名】ソン、 ドンジン
(72)【発明者】
【氏名】ルメザヌ、 クリスチャン
(72)【発明者】
【氏名】チェン、 ハイフォン
(72)【発明者】
【氏名】溝口 毅彦
【審査官】早川 学
(56)【参考文献】
【文献】特開2017-041206(JP,A)
【文献】米国特許出願公開第2018/0293313(US,A1)
【文献】米国特許出願公開第2019/0205393(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
クロスモーダルデータ検索のためのコンピュータ処理システムであって、
損失関数に基づく教師なし訓練方法を使用して共同訓練される時系列符号器(211)とテキスト符号器(212)とを有し、前記損失関数は、時系列と自由形式テキストコメントとの2つの異なるモダリティの訓練セットの特徴ベクトルの類似性と、前記時系列および前記自由形式テキストコメントと教師なし訓練方法の疑似ラベルを計算するように構成された、前記自由形式テキストコメントをクラスタリングする単語重複ベースのスペクトルクラスタリング方法により得られる疑似ラベルとの互換性と、を共同で評価する、ニューラルネットワークと、
前記訓練セットを、前記訓練セットの符号化から抽出された特徴ベクトルと共に記憶し、前記符号化は、前記時系列符号器を使用して前記時系列の訓練セットを符号化し、前記テキスト符号器を使用して前記自由形式テキストコメントの訓練セットを符号化することによって得られた、データベース(205)と、
テスト時系列およびテスト自由形式テキストコメントのうちの少なくとも1つに関連するテスト入力に対応する少なくとも1つの特徴ベクトルとともに特徴空間に挿入するための、前記2つの異なるモダリティのうちの少なくとも1つに対応する前記特徴ベクトルを前記データベースから検索し、距離基準に基づいて前記特徴空間内の前記特徴ベクトルの中から最近傍の組を決定し、前記最近傍の組に基づいて前記テスト入力に対するテスト結果を出力するためのハードウェアプロセッサ(110)とを含むコンピュータ処理システム。
【請求項2】
前記単語重複ベースのスペクトルクラスタリング方法は、前記自由形式テキストコメントの2つの入力の間に存在する単語重複の量に基づいて類似値を計算する、請求項1に記載のコンピュータ処理システム。
【請求項3】
前記ハードウェアプロセッサ(110)は、前記類似値に基づいて類似性行列を計算し、前記類似性行列は、前記単語重複ベースのスペクトルクラスタリング方法によって使用されて、前記自由形式テキストコメントを含む様々な入力のクラスタ割り当てを生成する、請求項2に記載のコンピュータ処理システム。
【請求項4】
前記単語重複の量は、2組の自由形式テキストコメントの共通部分として計算される、請求項3に記載のコンピュータ処理システム。
【請求項5】
前記単語重複ベースのスペクトルクラスタリング方法によって行われるクラスタ割り当ては、擬似ラベルとして構成される、請求項1に記載のコンピュータ処理システム。
【請求項6】
前記クラスタ割り当ては、クラスタ割り当て行列において具現化され、前記クラスタ割り当て行列における所与の行は、所与の自由形式テキストコメントが割り当てられる前記データベースからのクラスタ割当てのそれぞれの1つに対応する位置においてのみ1の値を有する1ホットベクトルである、請求項5に記載のコンピュータ処理システム。
【請求項7】
前記損失関数は、前記時系列および前記自由形式テキストコメントのいずれかから選択された入力ペアに対するコサイン埋め込み損失と、前記自由形式テキストコメントに対するクラスタリング損失と、前記時系列に対するクラスタリング損失とを含む、請求項1に記載のコンピュータ処理システム。
【請求項8】
前記クラスタリング損失は、ガウスカーネルに基づく、請求項7に記載のコンピュータ処理システム。
【請求項9】
前記テスト入力は、前記時系列符号器に適用される任意の長さの入力時系列であり、前記テスト結果を、1つ以上の自由形式テキストコメントの形式で前記入力時系列の説明として取得する、請求項1に記載のコンピュータ処理システム。
【請求項10】
前記テスト入力は、前記テキスト符号器に適用される任意の長さの入力自由形式テキストコメントであり、前記テスト結果を、前記入力自由形式テキストコメントと同じ意味クラスを有する1つまたは複数の時系列として取得する、請求項1に記載のコンピュータ処理システム。
【請求項11】
前記テスト入力は、前記特徴空間への挿入のための第1のベクトルを得るために前記時系列符号器に適用される任意の長さの入力時系列と、前記特徴空間への挿入のための第2のベクトルを得るために前記テキスト符号器に適用される任意の長さの入力自由形式テキストコメントとの両方を含む、請求項1に記載のコンピュータ処理システム。
【請求項12】
前記ニューラルネットワークの複数の畳み込み層がローカルコンテキストを捕捉する、請求項1に記載のコンピュータ処理システム。
【請求項13】
前記テスト入力は、ハードウェアシステムの異常検出のための少なくとも1つのハードウェアセンサの所与の時系列データを含む、請求項1に記載のコンピュータ処理システム。
【請求項14】
前記ハードウェアプロセッサ(110)は、テスト結果に応じて前記ハードウェアシステムを制御する請求項13に記載のコンピュータ処理システム。
【請求項15】
クロスモーダルデータ検索のためのコンピュータ実装された方法であって、
時系列と自由形式テキストコメントとの2つの異なるモダリティの訓練セットの特徴ベクトルの類似性と、前記時系列および前記自由形式テキストコメントと教師なし訓練方法の疑似ラベルを計算するように構成された、前記自由形式テキストコメントをクラスタリングする単語重複ベースのスペクトルクラスタリング方法により得られる疑似ラベルとの互換性と、を共同で評価する損失関数に基づく教師なし訓練方法を使用して時系列符号器とテキスト符号器とを有するニューラルネットワークを共同訓練すること(300)と、
データベースに、前記訓練セットの、前記時系列符号器を使用して前記時系列の訓練セットを符号化し、前記テキスト符号器を使用して前記自由形式テキストコメントの訓練セットを符号化することによって得られた符号化から抽出された特徴ベクトルと共に前記訓練セットを格納すること(330)と、
テスト時系列およびテスト自由形式テキストコメントの少なくとも1つに関連するテスト入力に対応する少なくとも1つの特徴ベクトルと共に特徴空間に挿入するための、前記2つの異なるモダリティの少なくとも1つに対応する前記特徴ベクトルを前記データベースから検索すること(360)と、
距離基準に基づいて前記特徴空間内の前記特徴ベクトルの中から最近傍の組を決定し(370)、前記最近傍の組に基づいて前記テスト入力に対するテスト結果を出力することとを含むコンピュータ実装された方法。
【請求項16】
前記単語重複ベースのスペクトルクラスタリング方法は、前記自由形式テキストコメントの2つの入力の間に存在する単語重複の量に基づいて類似値を計算する、請求項15に記載のコンピュータ実装された方法。
【請求項17】
類似性行列が前記類似値に基づいて計算され、前記類似性行列が前記単語重複ベースのスペクトルクラスタリング方法によって使用されて、前記自由形式テキストコメントを含む様々な入力のクラスタ割り当てを生成する、請求項16に記載のコンピュータ実装された方法。
【請求項18】
前記単語重複の量は、2組の自由形式テキストコメントの共通部分として計算される、請求項17に記載のコンピュータ実装された方法。
【請求項19】
前記単語重複ベースのスペクトルクラスタリング方法によって行われるクラスタ割り当ては、擬似ラベルとして構成される、請求項15に記載のコンピュータ実装された方法。
【請求項20】
コンピュータにクロスモーダルデータ検索を実現する方法を実行させるためのコンピュータプログラムであって、前記コンピュータに実行させる方法は、
時系列と自由形式テキストコメントとの2つの異なるモダリティの訓練セットの特徴ベクトルの類似性と、前記時系列および前記自由形式テキストコメントと教師なし訓練方法の疑似ラベルを計算するように構成された、前記自由形式テキストコメントをクラスタリングする単語重複ベースのスペクトルクラスタリング方法により得られる疑似ラベルとの互換性と、を共同で評価する損失関数に基づく教師なし訓練方法を使用して時系列符号器およびテキスト符号器を有するニューラルネットワークを共同訓練すること(300)と、
データベースに、前記訓練セットの、前記時系列符号器を使用して前記時系列の訓練セットを符号化し、前記テキスト符号器を使用して前記自由形式テキストコメントの訓練セットを符号化することによって得られた符号化から抽出された特徴ベクトルと共に前記訓練セットを格納すること(330)と、
テスト時系列およびテスト自由形式テキストコメントの少なくとも1つに関連するテスト入力に対応する少なくとも1つの特徴ベクトルと共に特徴空間に挿入するための、前記2つの異なるモダリティの少なくとも1つに対応する前記特徴ベクトルを前記データベースから検索すること(360)と、
距離基準に基づいて前記特徴空間内の前記特徴ベクトルの中から最近傍の組を決定し(370)、前記最近傍の組に基づいて前記テスト入力に対するテスト結果を出力することとを含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願情報
本出願は、2020年7月1日に出願された米国非仮特許出願第16/918,353号(これは、2019年7月26日に出願された米国仮特許出願第62/878,781号、および2019年7月24日に出願された米国仮特許出願第62/877,952号の優先権を主張する)の優先権を主張し、これらの全ては、参照によりその全体が本明細書に組み込まれる。
【背景技術】
【0002】
本発明は、情報処理に関し、より詳細には、単語重複ベースのクラスタリングを使用した時系列データおよびテキストデータのデータセットにおける教師なしクロスモーダル検索に関する。
関連技術の説明
【0003】
時系列(TS)データは、ビッグデータ時代に普及している。1つの実施例は、多数のセンサの読み取り値が複雑な時系列を形成する工業的モニタリングである。現代のデータ分析ソフトウェアは、機械学習を使用して、時系列からパターンを検出する。しかしながら、現在の分析ソフトウェアは、人間のユーザにとってあまりフレンドリーではない。例えば、次のような問題が非常に一般的である。
【0004】
第1に、機械学習システムは、特定の分類タスクを実行することができるが、結果は、通常、説明なしに返される。ユーザは、より精巧で自然な方法で提示される機械分析結果を望む。
【0005】
第2に、時系列データの量が増加し続けるにつれて、履歴データの自動検索が必要になる。従来、典型例のセグメントは検索クエリとして使用されていた。ただし、多くの場合、より記述的なクエリを使用する必要がある。SQLのようなデータベースクエリ言語は、より複雑な基準を表現する可能性があるが、平均的なユーザにとっては理解できない。
【発明の概要】
【0006】
本発明の態様によれば、クロスモーダルデータ検索のためのコンピュータ処理システムが提供される。コンピュータ処理システムは、損失関数に基づく教師なし訓練方法を使用して共同訓練される時系列符号器とテキスト符号器とを有するニューラルネットワークを含む。損失関数は、時系列と自由形式テキストコメントとの2つの異なるモダリティの訓練セットの特徴ベクトルの類似性と、時系列および自由形式テキストコメントと、教師なし訓練方法の疑似ラベルを計算するように構成された単語重複ベースのスペクトルクラスタリング方法との互換性とを共同で評価する。コンピュータ処理システムは、訓練セットの符号化から抽出された特徴ベクトルと共に訓練セットを記憶するためのデータベースをさらに含む。符号化は、時系列符号器を使用して時系列の訓練セットを符号化し、テキスト符号器を使用して自由形式テキストコメントの訓練セットを符号化することによって得られる。コンピュータ処理システムはまた、テスト時系列およびテスト自由形式テキストコメントのうちの少なくとも1つに関連するテスト入力に対応する少なくとも1つの特徴ベクトルと共に特徴空間に挿入するために、2つの異なるモダリティのうちの少なくとも1つに対応する特徴ベクトルをデータベースから検索し、距離基準に基づいて特徴空間内の特徴ベクトルの中から最近傍の組を決定し、最近傍の組に基づいてテスト入力に対するテスト結果を出力するためのハードウェアプロセッサを含む。
【0007】
本発明の他の側面によれば、クロスモーダルデータ検索のためのコンピュータ実装された方法が提供されている。この方法は、損失関数に基づく教師なし訓練方法を使用して、時系列符号器とテキスト符号器とを有するニューラルネットワークを共同で訓練することを含む。損失関数は、時系列と自由形式テキストコメントとの2つの異なるモダリティの訓練セットの特徴ベクトルの類似性と、時系列および自由形式テキストコメントと、教師なし訓練方法の疑似ラベルを計算するように構成された単語重複ベースのスペクトルクラスタリング方法との互換性とを共同で評価する。この方法はさらに、データベースに、訓練セットの符号化から抽出された特徴ベクトルと共に訓練セットを記憶することを含む。符号化は、時系列符号器を使用して時系列の訓練セットを符号化し、テキスト符号器を使用して自由形式テキストコメントの訓練セットを符号化することによって得られる。また、本方法は、テスト時系列およびテスト自由形式テキストコメントの少なくとも1つに関連するテスト入力に対応する少なくとも1つの特徴ベクトルと共に特徴空間に挿入するために、2つの異なるモダリティの少なくとも1つに対応する特徴ベクトルをデータベースから検索することを含む。この方法は、さらに、距離基準に基づいて特徴空間内の特徴ベクトルの中から最近傍の組を決定することと、最近傍の組に基づいてテスト入力に対するテスト結果を出力することとを含む。
【0008】
本発明のさらに別の態様によれば、クロスモーダルデータ検索のためのコンピュータプログラム製品が提供される。コンピュータプログラム製品は、それを具体化したプログラム命令を有する非一時的なコンピュータ読み取り可能記憶媒体を含む。プログラム命令は、コンピュータに方法を実行させるために、コンピュータによって実行可能である。この方法は、損失関数に基づく教師なし訓練方法を使用して、時系列符号器とテキスト符号器とを有するニューラルネットワークを共同で訓練することを含む。損失関数は、時系列と自由形式テキストコメントとの2つの異なるモダリティの訓練セットの特徴ベクトルの類似性と、時系列および自由形式テキストコメントと、教師なし訓練方法の疑似ラベルを計算するように構成された単語重複ベースのスペクトルクラスタリング方法との互換性とを共同で評価する。この方法はさらに、データベースに、訓練セットの符号化から抽出された特徴ベクトルと共に訓練セットを記憶することを含む。符号化は、時系列符号器を使用して時系列の訓練セットを符号化し、テキスト符号器を使用して自由形式テキストコメントの訓練セットを符号化することによって得られる。また、本方法は、テスト時系列およびテスト自由形式テキストコメントの少なくとも1つに関連するテスト入力に対応する少なくとも1つの特徴ベクトルと共に特徴空間に挿入するために、2つの異なるモダリティの少なくとも1つに対応する特徴ベクトルをデータベースから検索することを含む。この方法は、さらに、距離基準に基づいて特徴空間内の特徴ベクトルの中から最近傍の組を決定することと、最近傍の組に基づいてテスト入力に対するテスト結果を出力することとを含む。
【0009】
これらおよび他の特徴および利点は、添付の図面に関連して読まれるべき、その例示的な実施形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【0010】
本開示は、以下の図面を参照して、好ましい実施形態の以下の説明において詳細を提供する。
【0011】
図1】本発明の一実施形態による、例示的な計算装置を示すブロック図である
【0012】
図2】本発明の一実施形態による、例示的な発電所シナリオを示すブロック図である。
【0013】
図3】本発明の一実施形態による、時系列を自然言語で説明するための例示的なシステム/方法を示す高水準ブロック図である。
【0014】
図4】本発明の一実施形態による、テキスト記述を用いて履歴時系列を検索するための例示的なシステム/方法を示す高水準ブロック図である。
【0015】
図5】本発明の一実施形態による、例示的な系列およびテキスト記述を用いて履歴時系列を検索するための例示的なシステム/方法を示す高レベルブロック図である。
【0016】
図6】本発明の一実施形態による、例示的なクロスモーダル検索システム/方法を示す高レベルブロック図である。
【0017】
図7】本発明の一実施形態による、例示的な訓練アーキテクチャ700を示す高レベルブロック図である。
【0018】
図8】本発明の一実施形態による、例示的な訓練方法を示すフロー図である。
【0019】
図9】本発明の一実施形態による、図7のテキスト符号器715の例示的なアーキテクチャを示すブロック図である。
【0020】
図10】本発明の一実施形態による、図7の時系列符号器710の例示的なアーキテクチャを示すブロック図である。
【0021】
図11】本発明の一実施形態による、クロスモーダル検索のための例示的な方法を示す流れ図である。
【0022】
図12】本発明の一実施形態による、入力時系列の説明を提供するための例示的なシステム/方法を示す高レベルブロック図である。
【0023】
図13】本発明の一実施形態による、自然言語入力に基づいて時系列を検索するための例示的なシステム/方法を示す高レベルブロック図である。
【0024】
図14】本発明の一実施形態による、ジョイントモダリティ検索のための例示的なシステム/方法を示す高レベルブロック図である。
【発明を実施するための形態】
【0025】
本発明の実施形態によれば、単語重複ベースのクラスタリングを使用して、時系列データとテキストデータとのデータセット内の教師なしクロスモーダル検索のためのシステムおよび方法が提供される。
【0026】
多くの現実世界のシナリオでは、時系列は、領域専門家によって書かれたテキストコメントでタグ付けされる。例えば、発電所の運転員がセンサの故障に気付いたとき、彼は、信号の形状、原因、解決策、および期待される将来の状態を説明する注記を書くことがある。このようなデータは、2つのモダリティ(多変量時系列およびテキスト)の組になった実施例を含む。施設は、その運用の過程で、そのような多モーダルデータを大量に蓄積している可能性がある。これらは、時系列データと人間の説明との間の相関を求めるために使用することができる。これらはまた、特定のアプリケーション領域の知識を学習するための優れたリソースでもある。これらのデータが豊富な専門知識を含んでいると仮定すると、本発明は、様々な異なるアプリケーションに対して同じことを利用する。
【0027】
本発明の1つまたは複数の実施形態は、2つのテキスト間の単語重複を使用して、類似性行列に関する類似性の例を測定する。類似性行列に基づいて、例のクラスタリングが、スペクトルクラスタリングを使用して計算される。クラスタ割り当ては疑似ラベルとして使用される。本発明の1つまたは複数の実施形態は、ニューラルネットワークを使用して、ベクトル表現における時系列セグメントおよびテキストノートを符号化する。複合損失関数は、実施例擬似ラベルに基づいてベクトル表現にわたって定義される。ニューラルネットワークの訓練は、この損失関数を最小化することによって実現される。
【0028】
一方、本発明の1つ以上の実施形態は、同じクラスタに割り当てられたテキストにおいて頻繁に現れるフレーズを識別する。フレーズは、与えられたデータセット内の共通概念を発見するために使用することができる。例えば、発電所の操作ログから、本発明は、「低温」、「タービン振動」等のような共通の問題を表すキーフレーズを抽出することができる。
【0029】
図1は、本発明の一実施形態による例示的な計算装置100を示すブロック図である。計算装置100は、単語重複ベースのクラスタリングを使用して、時系列データおよびテキストデータのデータセットにおいて、教師なしクロスモーダル検索を実行するように構成される。
【0030】
計算装置100は、限定されるものではないが、コンピュータ、サーバ、ラックベースのサーバ、ブレードサーバ、ワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、モバイル計算装置、ウェアラブル計算装置、ネットワークアプライアンス、Webアプライアンス、分散計算システム、プロセッサベースのシステム、および/または消費者電子装置を含む、本明細書に記載する機能を実行することができる任意のタイプの計算またはコンピュータデバイスとして実施することができる。さらに、または代替として、計算装置100は、物理的に分離された計算装置の1つまたは複数のコンピューティングスレッド、メモリスレッド、または他のラック、スレッド、コンピューティングシャーシ、または他の構成要素として実施され得る。図1に示すように、計算装置100は、例示的に、プロセッサ110、入出力サブシステム120、メモリ130、データ記憶装置140、通信サブシステム150、および/またはサーバまたは同様の計算装置に一般的に見られる他の構成要素および装置を含む。もちろん、計算装置100は、他の実施形態では、サーバコンピュータ(例えば、様々な入力/出力装置)に一般に見られるような他のまたは追加のコンポーネントを含むことができる。さらに、いくつかの実施形態では、例示的な構成要素のうちの1つまたは複数は、別の構成要素に組み込まれてもよく、または別の方法で別の構成要素の一部を形成してもよい。例えば、いくつかの実施形態では、メモリ130またはその一部をプロセッサ110に組み込むことができる。
【0031】
プロセッサ110は、本明細書に記載する機能を実行することができる任意のタイプのプロセッサとして実施することができる。プロセッサ110は、シングルプロセッサ、マルチプロセッサ、中央処理装置(CPU)、グラフィックス処理装置(GPU)、シングルまたはマルチコアプロセッサ、デジタル信号プロセッサ、マイクロコントローラ、または他のプロセッサまたは処理/制御回路として具現化されてもよい。
【0032】
メモリ130は、本明細書で説明する機能を実行することができる任意のタイプの揮発性または不揮発性メモリまたはデータ記憶装置として実施することができる。動作において、メモリ130は、オペレーティングシステム、アプリケーション、プログラム、ライブラリ、ドライバなど、計算装置100の動作中に使用される様々なデータおよびソフトウェアを記憶することができる。メモリ130は、I/Oサブシステム120を介してプロセッサ110に通信可能に結合され、これは、プロセッサ110、メモリ130、および計算装置100の他の構成要素との入出力操作を容易にするための回路および/または構成要素として具現化され得る。例えば、I/Oサブシステム120は、メモリコントローラハブ、入力/出力制御ハブ、プラットフォームコントローラハブ、集積制御回路、ファームウェアデバイス、通信リンク(例えば、ポイントツーポイントリンク、バスリンク、ワイヤ、ケーブル、光ガイド、プリント回路基板トレースなど)、および/または入力/出力動作を容易にするための他の構成要素およびサブシステムとして具現化されてもよく、またはそうでなければそれらを含んでもよい。いくつかの実施形態では、I/Oサブシステム120は、システムオンチップ(SOC)の一部を形成し、プロセッサ110、メモリ130、および計算装置100の他の構成要素とともに、単一の集積回路チップ上に組み込まれ得る。
【0033】
データ記憶装置140は、例えば、メモリ装置および回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブ、または他のデータ記憶装置などの、データの短期または長期記憶のために構成された任意のタイプの装置または複数の装置として具現化され得る。データ記憶装置140は、単語重複ベースのクラスタリングを使用して時系列データとテキストデータとのデータセットにおけるクロスモーダル検索のためのプログラムコード140Aを記憶することができる。計算装置100の通信サブシステム150は、ネットワークを介して計算装置100と他のリモート装置との間の通信を可能にすることができる、任意のネットワークインターフェースコントローラまたは他の通信回路、装置、またはそれらの集合として実施することができる。通信サブシステム150は、任意の1つ以上の通信技術(例えば、有線または無線通信)および関連プロトコル(例えば、イーサネット(登録商標)、InfiniBand(登録商標)、Bluetooth(登録商標)、Wi-Fi(登録商標)、WiMAX(登録商標)など)を使用して、そのような通信を行うように構成されてもよい。
【0034】
図示のように、計算装置100は、1つまたは複数の周辺装置160を含むこともできる。周辺装置160は、任意の数の追加の入力/出力装置、インターフェース装置、および/または他の周辺装置を含むことができる。例えば、いくつかの実施形態では、周辺装置160は、ディスプレイ、タッチスクリーン、グラフィック回路、キーボード、マウス、スピーカシステム、マイクロフォン、ネットワークインターフェース、および/または他の入力/出力装置、インターフェース装置、および/または周辺装置を含むことができる。
【0035】
もちろん、計算装置100は、当業者によって容易に企図されるように、他の要素(図示せず)を含むこともでき、特定の要素を省略することもできる。例えば、当業者によって容易に理解されるように、様々な他の入力装置および/または出力装置を、同じものの特定の実装に応じて、計算装置100に含めることができる。例えば、様々なタイプの無線および/または有線の入力および/または出力装置を使用することができる。さらに、様々な構成の追加のプロセッサ、コントローラ、メモリなどを利用することもできる。処理システム100のこれらおよび他の変形は、本明細書で提供される本発明の教示を与えられれば、当業者によって容易に企図される。
【0036】
本明細書で採用されるように、「ハードウェアプロセッササブシステム」または「ハードウェアプロセッサ」という用語は、1つ以上の特定のタスクを実行するために協働するプロセッサ、メモリ、ソフトウェアまたはそれらの組み合わせを指すことができる。有用な実施形態では、ハードウェアプロセッササブシステムは、1つまたは複数のデータ処理要素(例えば、論理回路、処理回路、命令実行デバイスなど)を含むことができる。1つまたは複数のデータ処理要素は、中央処理ユニット、画像処理ユニットおよび/または別個のプロセッサまたはコンピューティング要素ベースのコントローラ(たとえば、論理ゲートなど)に含めることができる。ハードウェアプロセッササブシステムは、1つ以上のオンボードメモリ(例えば、キャッシュ、専用メモリアレイ、読み出し専用メモリなど)を含むことができる。いくつかの実施形態では、ハードウェアプロセッササブシステムは、オンボードまたはオフボードにすることができるか、またはハードウェアプロセッササブシステム(例えば、ROM、RAM、基本入出力システム(BIOS)など)によって使用するために専用にすることができる1つ以上のメモリを含むことができる。
【0037】
ある実施形態では、ハードウェアプロセッササブシステムは、1つ以上のソフトウェア要素を含むことができ、実行することができる。1つ以上のソフトウェア要素は、特定の結果を達成するために、オペレーティングシステムおよび/または1つ以上のアプリケーションおよび/または特定のコードを含むことができる。
【0038】
他の実施形態では、ハードウェアプロセッササブシステムは、指定された結果を達成するために1つまたは複数の電子処理機能を実行する専用の専用回路を含むことができる。そのような回路は、1つまたは複数のアプリケーション専用集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、および/またはプログラマブルロジックアレイ(PLA)を含むことができる。
【0039】
ハードウェアプロセッササブシステムのこれらおよび他の変形もまた、本発明の実施形態に従って企図される。
【0040】
図2は、本発明の一実施形態による、例示的な発電所シナリオ200を示すブロック図である。
【0041】
発電所シナリオ200は、燃料供給/発電機/変圧器210および制御室220を含む。
【0042】
燃料供給/発電機/変圧器210は、制御装置211およびセンサ212を含む。
【0043】
制御室220は、人間のオペレータ221と、データ分析システム222と、テキストログ223とを含む。
【0044】
このように、発電所の操作の文脈において、設備の種々の部分に配置されたセンサ212は、発電プロセスの状態を特徴付ける時系列(TS)データ240を収集する。TSデータは、制御室220内のコンピュータに設置されたデータ分析システム222へ送信される。1人以上の人間オペレータ221は、モニタ上でデータを検査し、自由形式テキストでメモを作成することができる。データが異常である場合には、原因分析や解析などの詳細を含むことが予想される。テキストノートおよび時系列データは、データベース250に格納され、データ分析システム222の一部である本明細書に記載のクロスモーダル検索システムを訓練するために使用される。
【0045】
人間オペレータ221は、以下に説明するように、2つの方法でクロスモーダル検索システムと相互作用することができる。
【0046】
本発明の1つまたは複数の実施形態は、教師なしニューラルネットワーク訓練のための方法、ならびに時系列データおよびテキストデータのためのクロスモーダル検索を使用するための方法を提供する。これら2つのモダリティの対データを含むデータベースが与えられると、訓練されたシステムは、データベースからユーザ与えられたクエリに類似するデータを検索することができる。このシステムは、クエリのモダリティと検索結果に応じて、(1)自然言語での時系列の説明、(2)テキスト記述を用いた履歴時系列の検索、(3)参照系列とテキスト記述を用いた履歴時系列の検索、の3つの例示的な用法を持つ。もちろん、本明細書に提供される本発明の教示が与えられれば、他の例示的な使用が当業者によって容易に企図される。
【0047】
図3は、本発明の一実施形態による、自然言語で時系列を説明するための例示的なシステム/方法300を示す高レベルブロック図である。
【0048】
図4は、本発明の一実施形態による、テキスト記述を用いて履歴時系列を検索するための例示的なシステム/方法400を示す高レベルブロック図である。
【0049】
図5は、本発明の一実施形態による、例示的な系列およびテキスト記述を用いて履歴時系列を検索するための例示的なシステム/方法500を示す高レベルブロック図である。
【0050】
図3を参照すると、システム/方法300は、オペレータ301と、クエリ時系列(TS)セグメント302と、データ分析システム303と、関連するテキスト記述304とを含む。時系列セグメント302が与えられると、データ分析システム303を用いて、クエリセグメント302の説明として機能することができる関連コメントテキスト304を検索する。
【0051】
図4を参照すると、システム/方法400は、オペレータ401と、ターゲット時系列(TS)の記述402と、データ分析システム403と、候補時系列404とを含む。テキスト記述(自然言語文またはキーワードのセット)402を与えられると、データ分析システム403を用いて記述に一致する時系列セグメント404を検索する。
【0052】
図5を参照すると、システム/方法500は、オペレータ501と、ターゲット時系列(TS)の記述502と、時系列セグメントの一例503と、データ分析システム504と、候補時系列505とを含む。時系列セグメント503およびテキスト記述502が与えられると、記述502に一致し、データ分析システム504を使用してクエリセグメント503にも類似する履歴セグメントを検索する。
【0053】
図6は、本発明の一実施形態による、例示的なクロスモーダル検索システム/方法600を示す高レベルブロック図である。
【0054】
システム/方法600は、マルチモーダルニューラルネットワークベースの符号器610と、訓練アルゴリズム620と、検索アルゴリズム630と、時系列(TS)およびテキスト対データベース640と、擬似ラベル計算方法650と、損失関数660とを含む。
【0055】
クロスモーダル検索システム/方法600は、マルチモーダルニューラルネットワーク610を使用して、テキストおよび時系列データをベクトル表現に符号化する。ニューラルネットワーク610は、TS-テキスト対640のユーザ提供データベース内の例を使用して、訓練アルゴリズム630によって訓練される。訓練アルゴリズム620は、特別な擬似ラベル計算方法650および特別な損失関数660を伴う。訓練は教師なしであり、このプロセスに人間が関与する必要がないことを意味する。ニューラルネットワーク符号器610が訓練された後、ユーザが提供したクエリによるデータベースからのデータの検索が、検索アルゴリズム630に従って実現される。
【0056】
図7は、本発明の一実施形態による、例示的な訓練アーキテクチャ700を示す高レベルブロック図である。
【0057】
訓練アーキテクチャ700は、データベースシステム705と、時系列符号器ニューラルネットワーク710と、テキスト符号器ニューラルネットワーク715と、時系列の特徴720と、テキストコメントの特徴725と、損失関数730と、単語重複による類似性行列を計算する方法735と、類似性行列740と、スペクトルクラスタリングアルゴリズム745と、テキストコメントのクラスタ割り当て750とを含む。
【0058】
図8は、本発明の一実施形態による、例示的な訓練方法800を示すフロー図である。
【0059】
ブロック810で、類似性行列A 740を計算する。ここで、Aijは、テキストiとテキストjとの両方に生じる単語の数である。Si(またはSj)が文i(またはj)内の単語の組であると仮定すると、Aijは、以下のように2つの組の共通部分として計算することができる。
【数1】
【0060】
ブロック820において、スペクトルクラスタリングアルゴリズム745を類似性行列A 740に適用する。クラスタ数kは、ユーザによって推定される。結果は、i番目の行Giが、データベースからのテキストインスタンスiが割り当てられるクラスタに対応する位置においてのみ値が1である1ホットベクトルであるクラスタ割当て行列Gである。各時系列セグメントに、ペアになっているテキストインスタンスと同じクラスタラベルを割り当てる。これらのクラスタは、本発明の様々な実施形態によって提供される概念のセットを形成する。
【0061】
さらに詳細には、スペクトルクラスタリングにおいて、次数行列Dが最初に計算される。次数行列Dは、i番目の対角要素が
【数2】
である対角行列である。ラプラシアン行列L=D-Aが計算される。Lの特異値分解は、
【数3】
として計算され、ここで、Uのi番目の行は、i番目の訓練例のスペクトル埋め込みである。すべての訓練例のスペクトル埋め込みは、k-meansなどの標準クラスタリング方法を使用してクラスタリングされる。その結果、各例はk個のクラスタのいずれかに割り当てられる。
【0062】
ブロック830では、2つのシーケンス符号器、すなわち、テキスト符号器715および時系列符号器710を含むニューラルネットワークを構築する。テキスト符号器715は、gtxtによって示され、トークン化されたテキストコメントを入力として取る。gsrsで示される時系列符号器710は、時系列を入力とする。テキスト符号器のアーキテクチャを図9に示す。時系列符号器は、図10に示すように、ワード埋め込み層が完全接続層に置き換えられていることを除いて、テキスト符号器とほぼ同じアーキテクチャを有する。符号器アーキテクチャは、一連の畳み込み層と、それに続く変換器ネットワークとを含む。畳み込み層は、ローカルコンテキスト(例えば、テキストデータのフレーズ)を捕捉する。変換器は、シーケンス内の長期依存性を符号化する。
【0063】
ブロック840で、3つの損失、すなわち、(1)コサイン埋め込み損失Lpair、(2)テキストデータのクラスタリング損失Lt、および(3)時系列データのクラスタリング損失Lsを定義する。
【0064】
同じペアに属する時系列セグメントの特徴ベクトルとテキストとの間の類似性を測定するLpairは、以下のように計算される。
【数4】
【0065】
ここで、uiとviとはi番目の時系列セグメントの特徴ベクトルと、i番目のテキストの特徴ベクトルである。言い換えると、ui==gsrs(xi)とvi==gtxt(yi)であり、ここでxiはi番目の時系列セグメントであり、yiはi番目のテキストである。
【0066】
s(またはLt)は、ガウスカーネルを使用して特徴ベクトルから計算された時系列(またはテキスト)インスタンスと、ブロック810におけるスペクトルクラスタリングから計算された親和性値との間のペアワイズ親和性値の間の一貫性を測定する。Lsは、次のように定義される。
【数5】
【0067】
ここで、は、ユーザが選択したσを使用して
【数6】
として定義されるガウスカーネルである。
【0068】
tは、uの代わりにvが使用されることを除いて、Lsと同様に定義される。
【0069】
最後に、全体損失Lは、3つの損失の合計として定義される。L=L pair +L s +L t
【0070】
ブロック850では、符号器710および715の両方のパラメータを、全体の損失Lを最小化することによって共同で訓練する。より具体的には、訓練は反復して進行する。各反復において、固定サイズのデータ対のバッチがサンプリングされる。バッチに対する全体的な損失および両方の符号器710および715のパラメータに対する損失の勾配が計算される。確率的勾配降下を用いてパラメータを更新する。
【0071】
ブロック860では、予め定義された反復回数に到達したか、または損失値が収束したことに応答して、すべての時系列セグメントとすべてのテキストとの特徴ベクトルを、それらの生形式とともにデータベース705に記憶する。
【0072】
図9は、本発明の一実施形態による、図7のテキスト符号器715の例示的なアーキテクチャ900を示すブロック図である。
【0073】
アーキテクチャ900は、単語埋め込み911、位置符号器912、畳み込み複数層913、正規化複数層921、畳み込み複数層922、スキップ接続923、正規化複数層931、自己注意複数層932、スキップ接続933、正規化複数層941、フィードフォワード複数層942、およびスキップ接続943を含む。アーキテクチャ900は、埋め込み出力950を提供する。
【0074】
上記の要素は、変換ネットワーク490を形成する。
【0075】
入力はテキスト節である。入力の各トークンは、単語埋め込み層911によって単語ベクトルに変換される。次に、位置符号器912は、各トークンの位置埋め込みベクトルをトークンの単語ベクトルに追加する。結果として得られる埋め込みベクトルは、最初の畳み込み層913に供給され、その後、一連の残差畳み込みブロック901(図示および簡潔さのために1つが示されている)が続く。各残差畳み込みブロック901は、バッチ正規化層921および畳み込み層922と、スキップ接続923とを含む。次に、残差自己注意ブロック902がある。残差自己注意ブロック902は、バッチ正規化層931、自己注意層932、およびスキップ接続933を含む。次に、残差フィードフォワードブロック903がある。残差フィードフォワードブロック903は、バッチ正規化層941と、完全に接続された線形フィードフォワード層942と、スキップ接続943とを含む。このブロックからの出力ベクトル950は、変換ネットワーク全体の出力であり、入力テキストの特徴ベクトルである。
【0076】
この特定のアーキテクチャ900は、テキストメッセージをベクトルに符号化する目的を満たすことができる多くの可能なニューラルネットワークアーキテクチャのうちの1つにすぎない。上記の特定の実装に加えて、テキスト符号器は、再帰的ニューラルネットワークまたは1次元畳み込みニューラルネットワークの多くの変形を使用して実装することができる。これらおよび他のアーキテクチャの変形は、本明細書で提供される本発明の教示を前提として、当業者によって容易に企図される。
【0077】
図10は、本発明の一実施形態による、図7の時系列符号器710の例示的なアーキテクチャ1000を示すブロック図である。
【0078】
アーキテクチャ1000は、単語埋め込み1011、位置符号器1012、畳み込み層1013、正規化層1021、畳み込み層1022、スキップ接続1023、正規化層1031、自己注意層1032、スキップ接続1033、正規化層1041、フィードフォワード層1042、およびスキップ接続1043を含む。アーキテクチャは、出力1050を提供する。
【0079】
上記の要素は、変換ネットワーク1090を形成する。
【0080】
入力は、固定長の時系列である。各時点におけるデータベクトルは、完全接続層によって高次元潜在ベクトルに変換される。次に、位置符号器は、各タイムポイントの潜在ベクトルに位置ベクトルを付加する。結果として得られる埋め込みベクトルは、最初の畳み込み層1013に供給され、その後に、一連の残差畳み込みブロック1001(図示および簡潔さのために1つが示されている)が続く。各残差畳み込みブロック1001は、バッチ正規化層1021および畳み込み層1022と、スキップ接続1023とを含む。次に、残差自己注意ブロック1002がある。残差自己注意ブロック1002は、バッチ正規化層1031、自己注意層1032、およびスキップ接続1033を含む。次に、残差フィードフォワードブロック1003がある。残差フィードフォワードブロック1003は、バッチ正規化層1041と、完全に接続された線形フィードフォワード層1042と、スキップ接続1043とを含む。このブロックからの出力ベクトル1050は、変換ネットワーク全体の出力であり、入力時系列の特徴ベクトルである。
【0081】
この特定のアーキテクチャ1000は、時系列をベクトルに符号化する目的を満たすことができる多くの可能なニューラルネットワークアーキテクチャのうちの1つにすぎない。さらに、時系列符号器は、再帰的ニューラルネットワークまたは時間的拡張畳み込みニューラルネットワークの多くの変形を使用して実施することができる。
【0082】
図11は、本発明の一実施形態による、クロスモーダル検索のための例示的な方法1100を示すフロー図である。
【0083】
ブロック1110で、時系列および/またはテキスト形式のクエリを受信する。
【0084】
ブロック1120で、時系列符号器710および/またはテキスト符号器715を使用してクエリを処理し、特徴空間に含まれる特徴ベクトルを生成する。
【0085】
ブロック1130で、データベース705からのクエリおよび特徴ベクトルの処理から得られた1つ以上の特徴ベクトルが入力された特徴空間で最近傍探索を実行して、2つのモダリティの少なくとも1つで探索結果を出力する。一実施形態では、入力モダリティは、検索結果内のその対応する出力モダリティに関連付けることができ、入力モダリティおよび出力モダリティは、いずれかの端部(本明細書で提供される教示が与えられると容易に理解されるように、その端部に対する実装および対応するシステム構成に応じた入力または出力)で同じモダリティのうちの1つまたは複数が異なるか、またはそれらを含む。
【0086】
ブロック1140で、検索結果に応答してアクションを実行する。
【0087】
例示的なアクションは、例えば、コンピュータ処理システム/電力システムにおける異常を認識し、異常が検出されるシステムを制御することを含むことができるが、これに限定されない。例えば、ハードウェアセンサまたはセンサネットワーク(例えば、メッシュ)からの時系列データの形態のクエリは、テキストメッセージをラベルとして使用して、異常な挙動(危険な、またはそうでなければ動作速度が速すぎる(例えば、モータ、ギアジャンクション)、危険な、またはそうでなければ過剰な動作熱(例えば、モータ、ギアジャンクション)、危険な、またはそうでなければ許容範囲外の整列(例えば、モータ、ギアジャンクションなど)として特徴付けることができる。処理パイプラインでは、初期入力時系列は、複数のテキストメッセージに処理され、次いで、所与のトピック(例えば、異常タイプ)に関して、よりフォーカスされた結果の出力時系列のためのテキストメッセージのサブセットを含むように再結合されることができる。したがって、装置は、実装に基づいて、オフにされ、その動作速度が低減され、アラインメント(例えば、ハードウェアベースの)手順が実行され、等々であり得る。
【0088】
別の例示的なアクションは、履歴データに対する所与の出力時系列および/またはテキストコメントに等しい所与の動作状態の検出時に、オンまたはオフにすること、減速すること、スピードアップすること、位置調整することなどを含むハードウェアマシン制御機能などの他の機能を実行するために使用されるように、パラメータの経時変化の履歴をログ記録することができる動作パラメータトレーシングであり得る。
【0089】
テストフェーズでは、符号器710,715、ならびに生データと利用可能な両方のモダリティの特徴とのデータベース705を用いて、最近傍探索を使用して、見えないクエリのための関連データを検索することができる。3つのアプリケーションシナリオのそれぞれについての具体的な手順を以下に説明する。
【0090】
図12は、本発明の一実施形態による、入力時系列の説明を提供するための例示的なシステム/方法1200を示す高レベルブロック図である。
【0091】
クエリ1201が任意の長さの時系列として与えられると、それは、特徴ベクトルx 1203を得るために、時系列符号器1202をフォワードパスされる。次に、データベース1225から、特徴1204がこのベクトル(最近傍1205)までの最小(ユークリッドの)距離を有するk個のテキストインスタンスを見つける。これらのテキストインスタンスは、人間が書いた自由形式コメントであり、検索結果1206として返される。
【0092】
図13は、本発明の一実施形態による、自然言語入力に基づいて時系列を検索するための例示的なシステム/方法1300を示す高レベルブロック図である。
【0093】
クエリ1301が自由形式テキスト節(すなわち、単語または短文)として与えられると、それは、特徴ベクトルy 1303を得るためにテキスト符号器1302を通過させられる。次いで、データベース1325から、特徴1304がy(最近傍1305)までの最小距離を有するk個の時系列インスタンスを見つける。これらの時系列は、クエリテキストと同じ意味クラスを持ち、したがってクエリに高い関連性を持ち、検索結果1306として返される。
【0094】
図14は、本発明の一実施形態による、共同モダリティ検索のための例示的なシステム/方法1400を示す高レベルブロック図である。
【0095】
クエリが(時系列セグメント1401、テキスト記述1402)の組として与えられると、時系列は、特徴ベクトルx 1405を得るために時系列符号器1403を通過し、テキスト記述は、特徴ベクトルy 1406を得るためにテキスト符号器1404を通過する。次に、データベース1425から、特徴1407がxの最近傍1408であるn個の時系列セグメントと、特徴がyの最近傍1408であるn個の時系列セグメントとを見つけ、それらの共通部分を得る。n=kから始める。共通部分内のインスタンスの数がkよりも小さい場合、nをインクリメントし、少なくともk個のインスタンスが検索されるまで検索を繰り返す。これらのインスタンスは、クエリ時系列とクエリテキストとの両方に意味的に類似しており、検索結果1409として返される。
【0096】
図2に関連する発電所運転の例示的な応用および工業的監視のより広い領域に加えて、本発明の様々な実施形態は、以下を含むがこれに限定されない、多くの他の設定で使用することができる。
【0097】
インテリジェントフィットネスまたはスポーツコーチング:ゴルファー、ランナーまたはスイマーから収集されたウェアラブルセンサデータとコーチコメントとの間の検索。
【0098】
ヘルスケア:遠隔患者監視センサデータと医師/看護師のメモとの間の検索。
【0099】
財務:財務チャートパターンと貿易戦略ノートとの間の検索。
【0100】
前述の実施例は、本明細書に提供される本発明の教示を与えられた当業者によって容易に理解されるように、単に例示的なものである。
【0101】
本明細書に記載する実施形態は、完全にハードウェアであってもよく、完全にソフトウェアであってもよく、または、ハードウェアおよびソフトウェア要素の両方を含むものであってもよい。好ましい実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、これらに限定されないソフトウェアで実施される。
【0102】
実施形態は、コンピュータまたは任意の命令実行システムによって、またはそれに関連して使用するためのプログラムコードを提供する、コンピュータ使用可能またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品を含むことができる。コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれに関連して使用するためのプログラムを格納、通信、伝搬、またはトランスポートする任意の装置を含むことができる。媒体は、磁気、光学、電子、電磁気、赤外線、または半導体システム(または装置またはデバイス)、または伝搬媒体とすることができる。媒体は、半導体または固体ステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスクおよび光ディスクなどのコンピュータ読み取り可能な記憶媒体を含むことができる。
【0103】
各コンピュータプログラムは、本明細書に記載する手順を実行するために、記憶媒体または装置がコンピュータによって読み取られるときに、コンピュータの操作を構成し制御するために、汎用または特殊目的のプログラム可能コンピュータによって読み取り可能な、機械読み取り可能な記憶媒体または装置(例えば、プログラムメモリまたは磁気ディスク)に実体的に記憶することができる。本発明のシステムはまた、コンピュータプログラムで構成された、コンピュータ読み取り可能な記憶媒体で実施されるものと考えることができ、その場合、構成された記憶媒体は、コンピュータを特定の所定の方法で動作させて、本明細書に記載する機能を実行させる。
【0104】
プログラムコードを記憶および/または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接的または間接的に結合された少なくとも1つのプロセッサを含んでもよい。メモリ要素は、プログラムコードの実際の実行中に採用されるローカルメモリ、バルクストレージ、および実行中にバルクストレージからコードが検索される回数を減らすために少なくとも何らかのプログラムコードの一時記憶を提供するキャッシュメモリを含むことができる。入力/出力またはI/O装置(キーボード、ディスプレイ、ポインティング装置などを含むが、これらに限定されない)は、直接または介在するI/Oコントローラを介してシステムに結合され得る。
【0105】
介在する専用ネットワークまたは公衆ネットワークを介して、データ処理システムを他のデータ処理システムあるいはリモートプリンタまたはストレージデバイスに結合できるようにするために、ネットワークアダプタをシステムに結合することもできる。モデム、ケーブルモデム、およびイーサネット(登録商標)カードは、現在使用可能なネットワークアダプタのタイプの一例に過ぎない。
【0106】
本明細書において、本発明の「一実施形態」又は「一実施形態」とは、その他の変形例と同様に、その実施形態に関連して説明した特定の特徴、構造、特性等が、本発明の少なくとも一実施形態に含まれることを意味するものであり、「一実施形態において」又は「一実施形態において」の語句の出現、並びに本明細書全体の様々な箇所に出現する他の変形例は、必ずしも全て同一の実施形態を意味するものではない。しかしながら、本明細書で提供される本発明の教示を前提として、1つまたは複数の実施形態の特徴を組み合わせることができることを理解されたい。
【0107】
以下の「/」、「および/または」、および「少なくとも1つ」、例えば、「A/B」、「Aおよび/またはB」、および「AおよびBの少なくとも1つ」のいずれかの使用は、第1のリストされた実施例(A)のみの選択、または第2のリストされた実施例(B)のみの選択、または両方の実施例(AおよびB)の選択を包含することが意図されることを理解されたい。さらなる例として、「A、B、および/またはC」、および「A、B、およびCの少なくとも1つ」の場合、このような句は、第1のリストされた実施例(A)のみの選択、または第2のリストされた実施例(B)のみの選択、または第3のリストされた実施例(C)のみの選択、または第1および第2のリストされた実施例(AおよびB)のみの選択、または 第1および第3のリストされた実施例(AおよびC)のみの選択、または第2および第3のリストされた実施例(BおよびC)のみの選択、または3つすべての実施例(AおよびBおよびC)の選択を包含することを意図する。これは、列挙された項目の数だけ拡張することができる。
【0108】
上記は、あらゆる点で例示的かつ例示的であるが、限定的ではないと理解されるべきであり、本明細書に開示される本発明の範囲は、詳細な説明からではなく、むしろ特許法によって許容される全範囲に従って解釈されるような特許請求の範囲から決定されるべきである。本明細書に示され、説明された実施形態は、本発明の例示にすぎず、当業者は、本発明の範囲および精神から逸脱することなく、様々な修正を実施することができることを理解されたい。当業者は、本発明の範囲および精神から逸脱することなく、様々な他の特徴の組み合わせを実施することができる。このように、本発明の態様を、特許法によって要求される詳細および特殊性と共に説明してきたが、特許状によって保護されることが請求され、望まれるものは、添付の特許請求の範囲に記載されている。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14