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

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7684766NLPモデル増強に基づくコーパスの対象を絞った部分再豊富化
<>
  • 特許-NLPモデル増強に基づくコーパスの対象を絞った部分再豊富化 図1
  • 特許-NLPモデル増強に基づくコーパスの対象を絞った部分再豊富化 図2
  • 特許-NLPモデル増強に基づくコーパスの対象を絞った部分再豊富化 図3
  • 特許-NLPモデル増強に基づくコーパスの対象を絞った部分再豊富化 図4
  • 特許-NLPモデル増強に基づくコーパスの対象を絞った部分再豊富化 図5
  • 特許-NLPモデル増強に基づくコーパスの対象を絞った部分再豊富化 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-05-20
(45)【発行日】2025-05-28
(54)【発明の名称】NLPモデル増強に基づくコーパスの対象を絞った部分再豊富化
(51)【国際特許分類】
   G06F 16/38 20190101AFI20250521BHJP
   G06F 40/169 20200101ALI20250521BHJP
【FI】
G06F16/38
G06F40/169
【請求項の数】 19
(21)【出願番号】P 2022573660
(86)(22)【出願日】2021-06-09
(65)【公表番号】
(43)【公表日】2023-07-12
(86)【国際出願番号】 CN2021099122
(87)【国際公開番号】W WO2021254227
(87)【国際公開日】2021-12-23
【審査請求日】2023-11-14
(31)【優先権主張番号】16/904,924
(32)【優先日】2020-06-18
(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)【参考文献】
【文献】米国特許出願公開第2016/0147840(US,A1)
【文献】米国特許出願公開第2014/0074845(US,A1)
【文献】米国特許出願公開第2014/0278351(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
コーパスに対する少なくとも1つの自然言語処理(NLP)要求が、少なくとも1つの表面形式と関連付けられると決定するステップであって、データベースは、前記コーパスに関連付けられた既存の注釈を含む、決定するステップと、
前記少なくとも1つの表面形式に関連する索引クエリを実行して、索引クエリ結果を生成するステップであって、前記索引クエリ結果は、前記NLP要求によって影響を受ける前記コーパスの部分の識別を含む、生成するステップと、
前記索引クエリ結果に基づいて、前記データベースに関連する前記NLP要求のスコープを決定するステップであって、前記スコープは、前記NLP要求の影響を受ける、前記既存の注釈のうちの影響を受けた候補注釈の識別を含む、決定するステップと、
前記コーパスの前記部分に対する再処理により前記スコープにおいて識別される候補注釈に対する修正を含む更新をもたらすようにNLPサービスを実行させステップと、
前記コーパスに関連付けられた前記データベースに対し前記更新をコミットするステップと
を含む、コンピュータ実装方法。
【請求項2】
前記データベースに対し前記更新をコミットする前に、前記更新のプレビューを表示するステップをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記コーパスは、前記少なくとも1つの表面形式を含む、請求項1または2に記載のコンピュータ実装方法。
【請求項4】
前記NLP要求の影響を受ける前記コーパスの前記部分は、前記コーパス内の複数の文書からの少なくとも1または複数の文書の識別を含む、請求項1~3のいずれか1項に記載のコンピュータ実装方法。
【請求項5】
前記NLP要求の影響を受ける前記コーパスの前記部分は、前記コーパス内の文書における少なくとも1または複数のパッセージの識別を含む、請求項1~3のいずれか1項に記載のコンピュータ実装方法。
【請求項6】
前記更新は、新しい注釈を含む、請求項1~5のいずれか1項に記載のコンピュータ実装方法。
【請求項7】
前記NLPサービスを実行させるステップは、前記NLPサービスを前記コーパスの全体にわたって実行させることと比較してより短い時間において発生する、請求項1~のいずれか1項に記載のコンピュータ実装方法。
【請求項8】
前記索引クエリを実行するステップおよび前記スコープを決定するステップは、前記コーパスに関連付けられた前記データベースに対し前記更新をコミットするための計算能力を一方的にプロビジョニングすることを可能にする、請求項1~のいずれか1項に記載のコンピュータ実装方法。
【請求項9】
システムであって、
コンピュータ可読命令を有するメモリと、
前記コンピュータ可読命令を実行するための1または複数のプロセッサと
を備え、前記コンピュータ可読命令は、動作を実行するために前記1または複数のプロセッサを制御し、前記動作は、
コーパスに対する少なくとも1つの自然言語処理(NLP)要求が、少なくとも1つの表面形式と関連付けられると決定することであって、データベースは、前記コーパスに関連付けられた既存の注釈を含む、決定することと、
前記少なくとも1つの表面形式に関連する索引クエリを実行して、索引クエリ結果を生成することであって、前記索引クエリ結果は、前記NLP要求によって影響を受ける前記コーパスの部分の識別を含む、生成することと、
前記索引クエリ結果に基づいて、前記データベースに関連する前記NLP要求のスコープを決定することであって、前記スコープは、前記NLP要求の影響を受ける、前記既存の注釈のうち影響を受けた候補注釈の識別を含む、決定することと、
前記コーパスの前記部分に対する再処理により前記スコープにおいて識別される候補注釈に対する修正を含む更新をもたらすようにNLPサービスを実行させことと、
前記コーパスに関連付けられた前記データベースに対し前記更新をコミットすることと
を含む、システム。
【請求項10】
前記動作は、前記データベースに対し前記更新をコミットする前に、前記更新のプレビューを表示することをさらに含む、請求項に記載のシステム。
【請求項11】
前記コーパスは、前記少なくとも1つの表面形式を含む、請求項または10に記載のシステム。
【請求項12】
前記NLP要求の影響を受ける前記コーパスの前記部分は、前記コーパス内の複数の文書からの少なくとも1または複数の文書の識別を含む、請求項11のいずれか1項に記載のシステム。
【請求項13】
前記NLP要求の影響を受ける前記コーパスの前記部分は、前記コーパス内の文書における少なくとも1または複数のパッセージの識別を含む、請求項11のいずれか1項に記載のシステム。
【請求項14】
前記更新は、新しい注釈含む、請求項13のいずれか1項に記載のシステム。
【請求項15】
前記NLPサービスを実行させることは、前記NLPサービスを前記コーパスの全体にわたって実行させることと比較してより短い時間において発生する、請求項14のいずれか1項に記載のシステム。
【請求項16】
コンピュータに、
コーパスに対する少なくとも1つの自然言語処理(NLP)要求が、少なくとも1つの表面形式と関連付けられると決定することであって、データベースは、前記コーパスに関連付けられた既存の注釈を含む、決定することと、
前記少なくとも1つの表面形式に関連する索引クエリを実行して、索引クエリ結果を生成することであって、前記索引クエリ結果は、前記NLP要求によって影響を受ける前記コーパスの部分の識別を含む、生成することと、
前記索引クエリ結果に基づいて、前記データベースに関連する前記NLP要求のスコープを決定することであって、前記スコープは、前記NLP要求の影響を受ける、前記既存の注釈のうち影響を受けた候補注釈の識別を含む、決定することと、
前記コーパスの前記部分に対する再処理により前記スコープにおいて識別される候補注釈に対する修正を含む更新をもたらすようにNLPサービスを実行させことと、
前記コーパスに関連付けられた前記データベースに対し前記更新をコミットすることと
を実行させるためのコンピュータ・プログラム。
【請求項17】
前記コンピュータに、さらに、前記データベースに対し前記更新をコミットする前に、前記更新のプレビューを表示することを行わせる、請求項16に記載のコンピュータ・プログラム。
【請求項18】
前記コーパスは、前記少なくとも1つの表面形式を含む、請求項16に記載のコンピュータ・プログラム。
【請求項19】
前記NLP要求の影響を受ける前記コーパスの前記部分は、前記コーパス内の複数の文書からの少なくとも1または複数の文書の識別を含む、請求項16に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、コンピュータ・システムに関し、より詳細には、コンピュータ・システム上での自然言語処理モデル増強に基づくコーパスの対象を絞った部分再豊富化に関する。
【背景技術】
【0002】
自然言語処理(NLP)は、コンピュータと人間の(自然)言語との間の相互作用、特にどのように大量の自然言語データを処理および分析するためにコンピュータをプログラムするかに関心がある。この自然言語データは、しばしばコーパスと参照されることがある。言語学的には、コーパスまたはテキスト・コーパスは、大規模かつ構造化されたテキスト・セットを包含する言語リソースである。NLP処理は、大規模コーパス上で生じて、コーパスに関連する多数の注釈をもたらす可能性がある。
【発明の概要】
【0003】
本発明の実施形態は、コンピュータ・システム上の自然言語処理モデル増強に基づくコーパスの対象を絞った部分再豊富化を対象とする。非限定的な例のコンピュータ実施方法は、コーパスに対する少なくとも1つの自然言語処理(NLP)要求が、少なくとも1つの表面形式と関連付けられると決定するステップを含み、データベースは、コーパスに関連付けられた既存の注釈を含む。方法は、少なくとも1つの表面形式に関連する索引クエリを実行して、索引クエリ結果を生成するステップを含み、索引クエリ結果は、NLP要求によって影響を受けるコーパスの部分の識別を含む。方法は、索引クエリ結果に基づいて、データベースに関連するNLP要求のスコープを決定するステップを含み、スコープは、NLP要求の影響を受ける、既存の注釈のうちの影響を受けた候補注釈の識別を含む。また、方法は、スコープおよび部分に従ってコーパスに対しNLPサービスを実行させ、それによって更新をもたらすステップと、コーパスに関連付けられたデータベースに対し更新をコミットするステップとを含む。
【0004】
上記または下記に説明される特徴の1または複数に加えて、または、代替として、さらに実施形態は、データベースに対し更新をコミットする前に、更新のプレビューを表示するステップを含んでもよい。
【0005】
上記または下記に説明される特徴の1または複数に加えて、または、代替として、さらに実施形態は、コーパスは、少なくとも1つの表面形式を含むことを含んでもよい。
【0006】
上記または下記に説明される特徴の1または複数に加えて、または、代替として、さらに実施形態は、NLP要求の影響を受けるコーパスの部分が、コーパス内の複数の文書からの少なくとも1または複数の文書の識別を含むことを含んでもよい。
【0007】
上記または下記に説明される特徴の1または複数に加えて、または、代替として、さらに実施形態は、NLP要求の影響を受けるコーパスの部分が、コーパス内の文書における少なくとも1または複数のパッセージの識別を含むことを含んでもよい。
【0008】
上記または下記に説明される特徴の1または複数に加えて、または、代替として、さらに実施形態は、更新が、新しい注釈を含むことを含んでもよい。
【0009】
上記または下記に説明される特徴の1または複数に加えて、または、代替として、さらに実施形態は、更新が、新しい注釈および影響を受けた候補注釈に対する修正を含むことを含んでもよい。
【0010】
上記または下記に説明される特徴の1または複数に加えて、または、代替として、さらに実施形態は、スコープおよび部分に従ってコーパスに対してNLPサービスを実行させるステップが、NLPサービスをコーパスの全体にわたって実行させることと比較してより短い時間において発生することを含んでもよい。
【0011】
上記または下記に説明される特徴の1または複数に加えて、または、代替として、さらに実施形態は、索引クエリを実行するステップおよびスコープを決定するステップが、コーパスに関連付けられたデータベースに対し更新をコミットするための計算能力を一方的にプロビジョニングすることを可能とすることを含んでもよい。
【0012】
本発明の他の実施形態は、上記方法の特徴を、コンピュータ・システムおよびコンピュータ・プログラム製品で実装する。
【0013】
追加の技術的特徴および利益は、本発明の技術を介して実現される。本発明の実施形態および側面は、本明細書において詳細に説明され、特許請求される主題の一部と見なされる。より良い理解のために、詳細な説明および図面を参照されたい。
【0014】
本明細書に説明される排他的な権利の詳細は、明細書の末尾の特許請求の範囲において具体的に指摘され、明確に特許請求される。本発明の上記および他の特徴および利点は、以下の添付図面と組み合わせて、以下の詳細な説明から明らかである。
【図面の簡単な説明】
【0015】
図1図1は、本発明の1または複数の実施形態と組み合わせて使用するための例示的なコンピュータ・システムのブロック図である。
図2図2は、本発明の1または複数の実施形態による、自然言語処理モデル増強に基づくコーパスの対象を絞った部分再豊富化のためのシステムのブロック図である。
図3図3は、本発明の1または複数の実施形態による、自然言語処理モデル増強に基づくコーパスの対象を絞った部分再豊富化のためのプロセスのフローチャートである。
図4図4は、本発明の1または複数の実施形態によるコーパスの対象を絞った部分再豊富化のためのコンピュータ実施方法のフローチャートである。
図5図5は、本発明の1または複数の実施形態によるクラウド・コンピューティング環境を示す図である。
図6図6は、本発明の1または複数の実施形態による抽象化モデル・レイヤを示す。
【発明を実施するための形態】
【0016】
本発明の1または複数の実施形態は、NLPモデルに対する1または複数の増強に基づいてコーパスの対象を絞った部分再豊富化を行うためのシステムおよび方法を提供する。1または複数の実施形態においては、NLPモデル増強がコーパスのテキストにおける表面形式に遡ることができる場合、再豊富化は、コーパス全体ではなく、対象を絞ったパッセージ・セット上で生じ得る。単語の表面形式は、コーパスのテキストにおいて出現する単語の形式である。NLPモデルに対する増強の利点を得るためにコーパス全体を再豊富化することは、例えばコーパスが多くの文書(例えば、数百、数千、または数百万の文書)を含む場合の数日など、多くの時間を必要とする高価なコンピュータ計算プロセスである。コーパス全体を処理する代わりに、1または複数の実施形態は、例えば、辞書に表面形式を追加すること/辞書から表面形式を除去すること、もしくは、他の注釈(属性)の上に構築された注釈に修正を加えること、またはその両方を行うことなど、コーパス内の表面形式に遡ることができるNLP編集に基づき、コーパスの対象を絞った豊富化を促進する。対象を絞った豊富化技術を採用する場合、1または複数の実施形態は、ドメイン専門家(例えば、オペレータ)がNLP編集に満足し、コーパスの再豊富化を望むまで、再豊富化されたデータを実際に適用することなく、コーパスの上のカートリッジ増強の影響をプレビューするオプションを提供する。カートリッジは、NLPパイプラインのためのデプロイ可能なアセットの全体セットについての総称である。カートリッジは、使用するためのサービス、それらのサービスのための構成、辞書、フィルタなどを包含するか、もしくは参照するか、またはその両方であってもよい。
【0017】
ここで、図1を参照すると、概して、コンピュータ・システム100が本発明の1または複数の実施形態に従って示される。コンピュータ・システム100は、本明細書で説明されるように、コンピューティング・デバイスおよび種々の通信技術を利用するネットワークの任意の数および組み合わせを含み、もしくは採用し、またはその両方である電子的なコンピュータ・フレームワークであってもよい。コンピュータ・システム100は、異なるサービスに変更するまたは他とは独立していくつかの特徴を再構成する能力を有し、容易にスケーラブルであり、拡張可能であり、モジュール式である。コンピュータ・システム100は、例えば、サーバ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータまたはスマートフォンであってよい。いくつかの例では、コンピュータ・システム100は、クラウド・コンピューティング・ノードであってもよい。コンピュータ・システム100は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈において説明される可能性がある。概して、プログラム・モジュールは、特定のタスクを実行するか、または、特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含んでもよい。コンピュータ・システム100は、通信ネットワークを介してリンクされたリモートの処理デバイスによってタスクが実行される、分散型クラウド・コンピューティング環境において実施されてもよい。分散型クラウド・コンピューティング環境においては、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモートのコンピュータ・システム・ストレージ媒体の両方に配置されてもよい。
【0018】
図1に示すように、コンピュータ・システム100は、1または複数の中央処理ユニット(CPU)101a,101b,101cなど(総称してまたは一般的にプロセッサ(複数可)101と参照する)を有する。プロセッサ101は、シングル・コア・プロセッサ、マルチ・コア・プロセッサ、コンピューティング・クラスタ、または任意の数の他の構成としてもよい。また、プロセッサ101は、処理回路とも参照され、システムバス102を介して、システム・メモリ103および種々の他のコンポーネントに接続される。システム・メモリ103は、リード・オンリー・メモリ(ROM)104およびランダム・アクセス・メモリ(RAM)105を含んでもよい。ROM104は、システムバス102に結合され、コンピュータ・システム100のある基本的な機能を制御する、基本入力/出力システム(BIOS)またはその後継のユニファイド・エクステンシブル・ファームウェア・インタフェース(UEFI)を含んでもよい。RAMは、プロセッサ101によって使用されるためにシステムバス102に結合される、リード―ライト・メモリである。システム・メモリ103は、動作中に命令の動作のための一時的なメモリ空間を提供する。システム・メモリ103は、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ、フラッシュメモリまたは任意の他の適切なメモリ・システムを含んでもよい。
【0019】
コンピュータ・システム100は、システムバス102に結合された入力/出力(I/O)アダプタ106および通信アダプタ107を含む。I/Oアダプタ106は、ハード・ディスク108もしくは任意の他の同様のコンポーネントまたはその両方と通信するスモール・コンピュータ・システム・インタフェース(SCSI)アダプタであってもよい。I/Oアダプタ106およびハード・ディスク108は、本明細書において、総称してマス・ストレージ110と参照される。
【0020】
コンピュータ・システム100上で実行するためのソフトウェア111は、マス・ストレージ110に格納されてもよい。マス・ストレージ110は、プロセッサ101によって読み取り可能な有形のストレージ媒体の一例であり、ここで、ソフトウェア111は、種々の図面に関連して以下で本明細書に記載されるようにコンピュータ・システム100を動作させるためのプロセッサ101による実行のための命令として格納される。コンピュータ・プログラム製品の例およびそのような命令の実行については、本明細書においてより詳細に議論される。通信アダプタ107は、外部ネットワークである可能性があるネットワーク112とシステムバス102を相互接続し、コンピュータ・システム100がこのような他のシステムと通信することを可能にする。一実施形態においては、システム・メモリ103およびマス・ストレージ110の一部は、図1に示される種々のコンポーネントの機能を調整するための任意の適切なオペレーティング・システムであってもよいオペレーティング・システムを集合的に格納する。
【0021】
追加の入力/出力デバイスは、ディスプレイ・アダプタ115およびインタフェース・アダプタ116を介してシステムバス102に接続されるように示される。一実施形態においては、アダプタ106,107,115,116は、中間バス・ブリッジ(図示せず)を介してシステムバス102に接続される1または複数のI/Oバスに接続されてもよい。ディスプレイ119(例えば、スクリーンまたはディスプレイ・モニタ)は、グラフィックスを多用するアプリケーションの性能を向上させるグラフィックス・コントローラおよびビデオコントローラ含み得るディスプレイ・アダプタ115によってシステムバス102に接続される。キーボード121、マウス122、スピーカ123などは、インタフェース・アダプタ116を介してシステムバス102に相互接続されてもよく、インタフェース・アダプタ116は、例えば、複数のデバイスアダプタを1つの集積回路に統合するスーパI/Oチップを含んでもよい。ハードディスク・コントローラ、ネットワーク・アダプタ、グラフィックス・アダプタなどの周辺機器を接続するための適切なI/Oバスは、通常、PCI(ペリフェラル・コンポーネント・インターコネクト)およびPCIe(ペリフェラル・コンポーネント・インターコネクト・エクスプレス)などの共通のプロトコルを含む。よって、図1のように構成されるように、コンピュータ・システム100は、プロセッサ101の形態での処理能力と、システム・メモリ103およびマス・ストレージ110を含むストレージ能力と、キーボード121およびマウス122などの入力手段と、スピーカ123およびディスプレイ119を含む出力能力とを含む。
【0022】
いくつかの実施形態においては、通信アダプタ107は、中でもインターネット・スモール・コンピュータ・システム・インタフェースなどの任意の適切なインタフェースまたはプロトコルを使用してデータを送信することができる。ネットワーク112は、中でも、セルラーネットワーク、ラジオ・ネットワーク、ワイド・エリア・ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)またはインターネットであってもよい。外部コンピューティング・デバイスは、ネットワーク112を介してコンピュータ・システム100に接続されてもよい。いくつかの例では、外部コンピューティング・デバイスは、外部ウェブサーバまたはクラウド・コンピューティング・ノードであってもよい。
【0023】
図1のブロック図は、コンピュータ・システム100が図1に示されるコンポーネントのすべてを含むべきことを示すことを意図するものではない。むしろ、コンピュータ・システム100は、適切なより少ないものを含んでもよいし、または、図1に示されない任意の適切な追加のコンポーネント(例えば、追加のメモリ・コンポーネント、組み込みコントローラ、モジュール、追加のネットワーク・インタフェースなど)を含んでもよいことを理解されたい。さらに、コンピュータ・システム100に関し本明細書で説明される実施形態は、任意の適切なロジックで実装されてもよく、ここで、ロジックは、本明細書で参照されるように、種々の実施形態において、任意の適切なハードウェア(例えば、中でも、プロセッサ、組み込みコントローラまたは特定用途向け集積回路)、ソフトウェア(例えば、中でもアプリケーションなど)、ファームウェア、または、ハードウェア、ソフトウェアおよびファームウェアの任意の適切な組み合わせを含んでもよい。
【0024】
図2は、本発明の1または複数の実施形態による、自然言語処理モデル増強に基づくコーパスの対象を絞った部分再豊富化のためのシステム200のブロック図である。図3は、本発明の1または複数の実施形態による、自然言語処理モデル増強に基づくコーパスの対象を絞った部分再豊富化のためのプロセス300のフローチャートである。NLPモデルに対する増強の利点を得るためにコーパス全体を再豊富化することは、時間的におよび計算リソース的に高価な課題である。テキストにおける表面形式に遡ることができる所与のNLPモデル増強が与えられると、1または複数の実施形態に従って、再豊富化が、コーパス全体ではなく、対象を絞ったパッセージ・セット上で生じ得る。図2は、コンピュータ・システム220に結合された1または複数のコンピュータ・システム202を示す。コンピュータ・システム100の要素は、コンピュータ・システム202およびコンピュータ・システム220に使用されてもよいし、もしくは統合されてもよいし、またはその両方がされてもよい。
【0025】
図3におけるプロセス300が、以下図2および図3を参照して説明される。ブロック302では、コンピュータ・システム202上のソフトウェア・アプリケーション204は、1または複数の自然言語処理(NLP)要求230を受信するように構成される。ソフトウェア・アプリケーション204は、ソフトウェア111として1または複数のプロセッサ101上で実行されてもよい。NLP要求230は、ソフトウェア・アプリケーション204を用いてなされてもよく、もしくは、コンピュータ・システム220から受信されてもよく、または、その両方でなされてもよい。NLP要求230は、コーパス208内のテキストの1または複数の表面形式に遡るNLPモデル増強を含む。NLPモデル増強は、コーパス208内のテキストの1または複数の表面形式に関連付けられた更新を含む。単語の表面形式は、それがコーパス208のテキストにおいて出現する通りの単語の形式である。1または複数の実施形態においては、コーパス内で特定の表面形式に遡ることができるNLPモデル増強は、編集がソフトウェア・アプリケーション204になされるか、もしくは送信されるか、またはその両方がなされる一方で、(例えば、ソフトウェア・アプリケーション204もしくはソフトウェア・アプリケーション204のクライアント・アプリケーション222またはその両方を介して)コグニティブ・ツーリング・プラットフォーム内で識別されてもよい。クライアント・アプリケーション222は、図1で議論されるように、1または複数のプロセッサ101上で実行するように構成されたソフトウェア111を使用して実装されてもよい。また、ソフトウェア・アプリケーション204は、NLP要求230の作成者によってなされた指示または選択によって、表面形式がコーパス208中のテキストに遡ることを決定してもよく、これらの指示/選択は、NLP要求230に包含される。例示のNLPモデル増強は、辞書に表面形式を追加すること、もしくは辞書から表面形式を除去すること、またはその両方を行うこと、属性セットに基本ブロックのコンセプトを追加すること、もしくは属性セットから基本ブロックのコンセプトを除去することまたはその両方を行うことなどを含んでもよい。さらに、NLPモデル増強は、コーパス208内の表面形式に戻るようリンクされて(つまり、識別される)もよい任意の編集を含む。
【0026】
ブロック304では、コンピュータ・システム202上のソフトウェア・アプリケーション204は、コーパス208全体のテキスト(例えば、単語)を索引付けするために、NLP要求230からの以前の/修正済みの表面形式の更新に基づいて、索引240にコーパスを索引付けするクエリを実行するように構成される。テキスト、用語、単語などは、相互交換可能に使用され得る。コーパス208内のすべてのテキストは、索引240に以前に索引付けされており、コーパスを索引付けするクエリは、索引240内の索引付けされたテキストを検索する。索引240は、コーパス208内のすべてのテキスト/単語(すなわち、表面形式)のコーパス208中のそれらに関連付けられる位置を有するリストである。例えば、コーパス208中の各テキスト/単語について、索引240は、ページ番号、パッセージ、文書名、行位置、テキスト/単語(表面形式)の言及の数などを含んでもよい。索引240は、データベース索引または他の検索索引(すなわち、Luceneまたはエラスティック検索索引)である。索引240用の検索スタイルのアプリケーションでは、NLPパイプライン(またはカートリッジ)によって抽出された関連エンティティのすべてが、索引付けされており、検索アプリケーション(ソフトウェア・アプリケーション204を含む)による迅速なルックアップを可能にする。コーパスを索引付けするクエリは、クエリ結果242を返し、これらのクエリ結果242は、メモリ206内に保存される。メモリ206は、マス・ストレージ110または任意の他の可読ストレージ媒体として実装されてもよい。クエリ結果242は、いずれのNLPモデル増強のテキスト/単語の表面形式が発見され、厳密にコーパス208内のどこでこれらの表面形式が見つかった(例えば、ページ番号、パッセージ、文書名、行位置などを含む)を含む。上記のように、コーパス208は、数百、数千もしくは数百万の文書またはその組み合わせを含む可能性があり、また、ビッグデータとも参照される。クエリ結果242は、表面形式およびそれがコーパス208内のどこに位置するかを具体的に識別する。1または複数の実施形態においては、索引240は、Luceneスタイルのコーパス・クエリを使用して検索されるLuceneスタイルの索引であってもよい。Luceneは、フルテキストの逆索引である。これは、すべての文書を取り込み、これらを単語に分割し、次いで、単語毎に索引を構築することを意味する。索引が文字列厳密一致であるため、クエリは、非常に高速である可能性がある。
【0027】
ブロック306では、コンピュータ・システム202上のソフトウェア・アプリケーション204は、クエリ結果242を使用して、表面形式の変化にリンクされたNLP増強の上流/スタックの使用によって決定されるようにコーパス208からテキスト/単語の妥当なスコープ244を抽出するように構成される。上流/スタックは、索引240を利用するアプリケーション(例えば、ソフトウェア・アプリケーション204もしくはソフトウェア・アプリケーション204によって呼び出されるアプリケーションまたはその両方)を参照する。2つのもの(つまり用語)、疾患および薬剤、を探すだけのNLPプロセスがあってもよい。索引240は、関連するコーパス文書とともに、疾患および薬剤の注釈の両方を含む。例えば、NLPモデル増強のテキスト/単語についてのクエリ結果242を使用して、ソフトウェア・アプリケーション204は、メタデータ/注釈データベース210を分析し、メタデータ/注釈データベース210内に既存するいずれの候補注釈がコーパス208における表面形式の変化にリンクされるNLPモデル増強のテキスト/単語による影響を受けるかを決定する。影響を受ける候補注釈は、コーパス208内の表面形態およびNLP要求230に引き戻す(stem back to)。また、NLPモデル増強のテキスト/単語に対するクエリ結果242を使用して、ソフトウェア・アプリケーション204は、アノテータ250内に既存するいずれの候補アノテータが、コーパス208における表面形式の変化にリンクされるNLPモデル増強のテキスト/単語による影響を受けるかを決定する。影響を受けた候補アノテータは、メタデータ/注釈データベース210内に影響を受けた候補注釈を元々生成したアノテータを含んでもよく、影響を受けた候補アノテータは、NLP要求230におけるテキストの表面形式を使用したものである。加えて、影響を受けた候補アノテータは、直接ではなくもしくは間接的にまたはその両方でNLP要求230内のテキストの表面形式に関連付けられる他のテキスト(もしくは概念またはその両方)のために、コーパス208中の他のパッセージ、文書もしくはページまたはその組み合わせに関連付けられてもよく、よって、他のテキスト(もしくは概念またはその両方)は、早期にはクエリ結果242内で識別されていない可能性があるが、NLP要求230内のテキストの表面形式に間接的に依存している可能性がある。したがって、スコープ244は、(1)メタデータ/注釈データベース210に存在する影響を受けた候補注釈の識別(影響を受けた候補注釈が、NLP要求230/クエリ結果242におけるテキストの表面形式と直接もしくは間接的またはその両方で関連付けられ得る)、(2)アノテータ250における影響を受けた候補アノテータの識別(影響を受ける候補アノテータが、NLP要求230/クエリ結果242におけるテキストの表面形式と直接もしくは間接的またはその両方で関連付けら得る)、(3)クエリ結果242の識別もしくはクエリ結果242の情報またはその両方、再処理または再豊富化される必要がある、コーパス208内のいずれのパッセージおよびドキュメントかの正確な位置の識別(NLP要求230/クエリ結果242におけるテキストの表面形式について)を含む。言い換えると、識別された候補アノテーションおよび識別された候補注釈は、NLPモデル増強による変化の影響を受ける。
【0028】
ブロック308では、コンピュータ・システム202上のソフトウェア・アプリケーション204は、NLPモデル増強のテキスト/単語について抽出されたスコープ244を、NLPサービス212の所望のものにルーティングするように構成される。1または複数のコンピュータ・システム202上に種々のタイプのNLPサービス212が存在してもよい。いくつかのNLPサービス212は、異なる利益またはトレードオフを有する可能性がある。NLPサービスは、アノテータ250を使用してテキストを構文解析(parse)し、メタデータ/注釈データベース210に格納される意味を見つけることができる。コンピュータ・システム202上のソフトウェア・アプリケーション204は、ブロック310で、スコープ244に関連するコーパス208の部分についてのみNLPサービス212を実行させるように構成される。スコープ244は、コーパス208全体を再処理する必要なしに、いずれのコーパス208の特定の部分または文書が再処理する必要があるか、その上で再処理が生じる必要のある部分/文書における位置、影響を受けるメタデータ/注釈データベース210内の特定の影響を受ける注釈、および、影響を受けるアノテータ250のうちの影響を受ける候補アノテータを詳しく述べる。したがって、208の全体は、再処理を必要としない。
【0029】
ブロック312では、コンピュータ・システム202上のソフトウェア・アプリケーション204は、スコープ244についてのNLPサービス212からの出力を受信し、出力を使用してコーパスのリコンシリエーション(reconciliation)処理を実行して、コーパス更新246を生成し、結果として、メモリ206に一時的に格納されるコーパス更新246をもたらすように構成される。コーパス更新246は、メタデータ/注釈データベース210において為される新しい注釈もしくは更新された注釈またはその両方と、これらの新しい注釈もしくは更新された注釈またはその両方が、既存のメタデータ/注釈210をどのように変更するかを含む。ブロック314では、更新246は、メタデータ/注釈データベース210に更新を適用する前に、表示画面(例えば、ディスプレイ119)上でオペレータによるプレビューを受けることができる。ソフトウェア・アプリケーション204を用いたオペレータによる承認の後、もしくは、プレビューがスキップされる場合またはその両方の場合、コンピュータ・システム202上のソフトウェア・アプリケーション204は、ブロック316で、スコープ244について(のみ)メタデータ/注釈データベース210に更新246を適用/コミットするように構成される。オペレータが更新246を承認しない場合、オペレータは、(例えば、ソフトウェア・アプリケーション204を使用して)NLP増強を修正し、フローは、ブロック302に戻る。
【0030】
本明細書で議論される技法およびシステムは、種々の技術的な利益を提供する。1または複数の実施形態によれば、増強されたNLPモデルに対応する更新246を用いてメタデータ/注釈データベース210を再豊富化する準備ができた場合、NLPモデル増強によって影響されると識別された文書/パッセージは、NLPサービスによって再処理され、それらの文書/パッセージは、モデル更新によって再豊富化される。コーパス208内のそれらの文書/パッセージ上の(メタデータ/注釈データベース210内の)任意の以前の注釈は、切り取られ、もしくは、増強されたNLPモデルから結果としてもたらされる更新246内の注釈で置換され、またはその両方がなされる可能性がある。メタデータ/注釈データベース210内で段落レベルまたは文書レベルの規則が存在する場合、それらのより広いスコープが、文/パッセージのみではなく再豊富化されてもよく、あるいは、文書を再豊富化することを選択することができる。再豊富化の前にコーパス208に関連付けられたNLPモデル増強の結果をプレビューする場合、再豊富化されたパッセージは、増強されたモデルを用いてコーパス208が豊富化されたらメタデータ/注釈データベース210において起こるであろう変化をプレビューすることを目的として、メモリ206に格納されるか、またはメタデータ/注釈データベース210の外部で永続化される。オペレータは、増強が望ましくない結果を生じたらその増強を改良する手段としてこのプレビュー能力を活用することができる。これは、待つことを必要とせず、もしくは、コーパス全体を再豊富化する必要がなく、または両方の必要なく、迅速に行うことができる。
【0031】
図4は、1または複数の実施形態による、自然言語処理モデル増強に基づくコーパス208の対象を絞った部分再豊富化のためのコンピュータ実施方法400のフローチャートである。ブロック402では、コンピュータ・システム202上のソフトウェア・アプリケーション204は、少なくとも1つの自然言語処理(NLP)要求230が、少なくとも1つの表面形式と関連付けられると決定するように構成されており、NLP要求230は、コーパス208に対するものであり、データベース(例えば、メタデータ/注釈データベース210)は、コーパス208に関連付けられた既存の注釈を含む。ステップS404では、コンピュータ・システム202上のソフトウェア・アプリケーション204は、少なくとも1つの表面形式に関連する索引クエリを実行して、索引クエリ結果242を生成するよう構成されており、索引クエリ結果242は、NLP要求230によって影響を受けるコーパス208の部分の識別を含む。ブロックS406では、コンピュータ・システム202上のソフトウェア・アプリケーション204は、索引クエリ結果242に基づいて、データベース(例えば、メタデータ/注釈データベース210)に関連するNLP要求230のスコープ244を決定するよう構成されており、スコープ244は、NLP要求230による影響を受ける(例えば、メタデータ/注釈データベース210内の)既存の注釈のうちの影響を受けた候補注釈の識別を含む。ステップ408においては、コンピュータ・システム202上のソフトウェア・アプリケーション204は、スコープ244および(例えば、索引クエリ結果242において識別される)部分に従ってコーパス208に対しNLPサービス(例えば、NLPサービス212の一つ)を実行させるよう構成されており、それによって更新246をもたらす。ブロック410では、コンピュータ・システム202上のソフトウェア・アプリケーション204は、コーパス208に関連付けられたデータベース(例えば、メタデータ/注釈データベース210)に対し更新246をコミットする。
【0032】
コンピュータ・システム202上のソフトウェア・アプリケーション204は、データベースに対し更新をコミットする前に、更新246のプレビューを視覚的に表示するよう構成される。コーパス208は、少なくとも1つの表面形式を含む。NLP要求の影響を受けるコーパス208の部分は、コーパス208内の複数の文書からの少なくとも1または複数の文書の識別(例えばその位置)を含む。NLP要求の影響を受けるコーパス208の部分は、コーパス208内の文書における少なくとも1または複数のパッセージの識別(例えばその位置)を含む。更新246は、NLP要求230に従った新しい注釈を含む。更新246は、新しい注釈およびNLP要求230に従った影響を受けた候補注釈に対する修正を含む。スコープ244および部分に従ってコーパス208に対してNLPサービス(例えばNLPサービス212)を実行させることは、NLPサービスをコーパス208の全体にわたって実行させることと比較してより短い時間において発生する。索引クエリを実行することおよびスコープを決定することにより、コーパスに関連付けられたデータベースに対し更新をコミットするための計算能力を一方的にプロビジョニングすることが可能となる。
【0033】
この開示は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書で詳述される教示の実装は、クラウド・コンピューティング環境に限定されないことに前もって理解されたい。むしろ、本発明の実施形態は、現時点で知られた、またはこれから開発される他の任意のタイプのコンピューティング環境と併せて実装可能性である。
【0034】
クラウド・コンピューティングは、最小の管理労力またはサービス・プロバイダとの対話で迅速にプロビジョニングおよびリリースされ得る、構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシンおよびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能とする、サービス配布のモデルである。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデルおよび少なくとも4つのデプロイメント・モデルを含む可能性がある。
【0035】
特性は、以下の通りである。
【0036】
オンデマンド・セルフ・サービス:クラウド・コンシューマは、サービス・プロバイダとの人的な対話を必要とせずに自動的に必要なだけ、サーバ時間およびネットワーク・ストレージなどのコンピュータ能力を一方的にプロビジョニングすることができる。
【0037】
広帯域ネットワーク・アクセス:能力は、ネットワーク越しに利用可能であり、異種シン・クライアントまたはシック・クライアント・プラットフォーム(例えば、モバイルフォン、ラップトップ、PDA)による使用を促進する標準的なメカニズムを介して、アクセスされる。
【0038】
リソース・プーリング:プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを用いて複数のコンシューマに提供するためにプールされ、種々の物理的および仮想的リソースが需要に従って動的に割り当てられ、また、再割り当てられる。コンシューマは、一般的に、提供されるリソースの正確な場所を管理したり、知識を有したりせず、しかし、より高度な抽象レベル(例えば国、州、またはデータセンタ)にて場所を指定することが可能であるという意味で、場所の独立感がある。
【0039】
迅速な弾力性:能力は、迅速かつ柔軟に、いくつかの場合では自動的に、プロビジョニングされて素早くスケール・アウトすることができ、また、迅速にリリースされて素早くスケール・インすることができる。コンシューマにとって、プロビジョニング利用可能な能力は、しばしば外面的には無制限のように見え、任意の時間に任意の量を購入することができる。
【0040】
測量されたサービス:クラウドシステムは、サービスのタイプにとって適切なある抽象レベル(例えば、ストレージ、処理、帯域幅、アクティブ・ユーザ数)での計量能力を利用することによって、自動的にリソース使用を制御し、また最適化する。リソース使用量は、監視され、制御されおよび報告されて、利用サービスのプロバイダおよびコンシューマの双方に対する透明性を提供する。
【0041】
サービス・モデルは、以下の通りである。
【0042】
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供される能力は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えばウェブベースの電子メール)などのシン・クライアント・インタフェースを介して種々のクライアント・デバイスからアクセス可能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または、限定されたユーザ固有のアプリケーション構成設定の潜在的な例外を除いて個々のアプリケーション能力すらも含む下層のインフラストラクチャを管理または制御しない。
【0043】
プラットフォーム・アズ・ア・サービス(PaaS):コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを用いて作成された、コンシューマ作成または獲得のアプリケーションをクラウド・インフラストラクチャ上にデプロイすることである。コンシューマは、ネットワーク、サーバ、オペレーティング・システムまたはストレージを含む下層のクラウド・インフラストラクチャを管理または制御しないが、デプロイされたアプリケーションおよび場合によってはアプリケーション・ホスティング環境の構成への制御を有する。
【0044】
インフラストラクチャ・アズ・ア・サービス(IaaS):コンシューマに提供される能力は、処理、ストレージ、ネットワーク、および、コンシューマが、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアをデプロイし、稼働させることができる他の基本的なコンピューティング・リソースを提供することである。コンシューマは、下層のクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションに対する制御、および、場合によっては、選択したネットワーキング・コンポーネント(例えば、ホストファイアウォール)の限定された制御を有する。
【0045】
デプロイメント・モデルは、以下の通りである。
【0046】
プライベート・クラウド:クラウド・インフラストラクチャは、1つの組織のためだけに使用される。これは、組織または第三者によって管理されてもよく、オンプレミスまたはオフプレミスが存在し得る。
【0047】
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織により共有され、共通の懸念(例えば、ミッション、セキュリティ要件、ポリシーおよびコンプライアンスに関する考慮事項)を有する特定のコミュニティをサポートする。これは、組織または第三者によって管理されてもよく、オンプレミスまたはオフプレミスが存在し得る。
【0048】
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆、または、大きな業界団体が利用可能であり、クラウド・サービスを販売する組織によって所有される。
【0049】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2以上のクラウド(プライベート、コミュニティまたはパブリック)の混成であり、これらのクラウドは、固有のエンティティのままであるが、しかし、データおよびアプリケーションのポータビリティを可能とする標準化されたまたは独自の技術(例えばクラウド間の負荷分散のためのクラウド・バースティング)によって結合される。
【0050】
クラウド・コンピューティング環境は、ステートレス性、低結合、モジュール性および意味論的な相互運用性に重点を置いたサービス指向である。クラウド・コンピューティングの核心は、相互接続された複数のノードのネットワークを含むインフラストラクチャである。
【0051】
ここで、図5を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示するように、クラウド・コンピューティング環境50は、1以上のクラウド・コンピューティング・ノード10を含み、これと、例えば、PDAまたは携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54Cもしくは自動車コンピュータ・システム54Nまたはこれらの組み合わせなどの、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが通信してもよい。ノード10は、互いに通信してもよい。これらは、プライベート、コミュニティ、パブリックもしくはハイブリッド・クラウドなど上述したような、またはこれらの組み合わせなどの1以上のネットワークにおいて、物理的にまたは仮想的にグループ化(図示しない)されてもよい。これは、クラウド・コンピューティング環境50が、インフラストラクチャ、プラットフォームもしくはソフトウェアまたはこれらの組み合わせをサービスとして提供することを可能とし、これらについては、クラウド・コンシューマは、リソースをローカル・コンピューティング・デバイス上で維持する必要がない。図5に示されるコンピューティング・デバイス54A~54Nのタイプは、説明する目的のみであり、コンピューティング・ノード10およびクラウド・コンピューティング環境50が、任意のタイプのネットワーク、ネットワークアドレス可能な接続(例えば、ウェブ・ブラウザを使用して)またはこれらの両方を介して、任意のタイプのコンピュータ化されたデバイスと通信することができることが理解される。
【0052】
ここで、図6を参照すると、クラウド・コンピューティング環境50(図5)によって提供される機能抽象レイヤのセットが示される。図6に示すコンポーネント、レイヤおよび機能が、説明する目的のみであり、本発明の実施形態は、これらに限定されないことを事前に理解されるである。示すように、以下のレイヤおよび対応する機能が提供される。
【0053】
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例には、メインフレーム61、RISC(縮約命令セットコンピュータ)アーキテクチャに基づくサーバ62、サーバ63,ブレードサーバ64、ストレージ・デバイス65およびネットワークおよびネットワーキング・コンポーネント66を含む。いくつかの実施形態においては、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0054】
仮想化レイヤ70は、抽象化レイヤを提供し、そこから仮想化サーバ71、仮想化ストレージ72、バーチャル・プライベート・ネットワークを含む仮想化ネットワーク73、仮想化アプリケーションおよびオペレーティング・システム74、および仮想クライアント75などの仮想化エンティティの例が提供される。
【0055】
一例においては、管理レイヤ80は、以下に説明する機能を提供してもよい。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を提供する。メータリングおよびプライシング82は、リソースがクラウド・コンピューティング環境内で利用されるコストの追跡およびこれらのソースの消費に対する請求またはインボイスの送付を提供する。一例においては、これらのリソースは、アプリケーション・ソフトウェアのライセンスを含んでもよい。セキュリティは、クラウド・コンシューマおよびタスクについての本人確認、並びに、データおよび他のリソースに対する保護を提供する。ユーザポータル83は、コンシューマおよびシステム管理者に対しクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル・マネジメント84は、要求されるサービス・レベルを満たすようにクラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス・レベル合意(SLA)の計画と履行85は、SLAに従って、将来の要求が予期されるクラウド・コンピューティグ・リソースの事前配置および調達を提供する。
【0056】
ワークロード・レイヤ90は、クラウド・コンピューティング環境が利用される機能性の例を提供する。ワークロードおよびこのレイヤから提供される機能の例には、マッピングおよびナビゲ―ション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育分散93、データ・アナリティクス処理94、トランザクション処理95、ワークロードおよび機能96に実装されるソフトウェア・アプリケーション(例えば、ソフトウェア・アプリケーション204)が含まれる。また、ソフトウェア・アプリケーションは、リソース・プロビジョニング81とともに機能してもよく、もしくは、統合されてもよく、またはその両方であってもよい。
【0057】
本明細書において、本発明の種々の実施形態が、関連する図面を参照して説明される。本発明の代替実施形態は、本発明の範囲から逸脱することなく工夫されてもよい。以下の説明および図面における要素間で、種々の接続および位置関係(例えば、上に、下に、隣接して)が記載される。特に断りのない限り、これらの接続もしくは位置関係またはその両方は、直接的であってもよいし、または間接的であってもよく、本発明は、この点で限定することを意図するものではない。したがって、エンティティの結合は、直接的または間接的な結合のいずれかを参照する可能性があり、エンティティ間の位置関係は、直接的または間接的な位置関係である可能性がある。さらに、本明細書で説明される種々のタスクおよびプロセスのステップは、本明細書において詳細に説明されない追加のステップまたは機能性を有するより包括的な手順またはプロセスに組み込まれてもよい。
【0058】
本明細書で説明される方法のうちの1または複数は、データ信号に応じてロジック機能を実装するための論理ゲートを有するディスクリートのロジック回路、適切な組み合わせ論理ゲートを有する特定用途向け集積回路(ASIC)、プログラマブル・ゲート・アレイ(PGA)、フィールド・プログラマブル・ゲート・アレイ(FPGA)といった、それぞれ当該技術分野において周知の技術のいずれかまたはその組み合わせで実装されてもよい。
【0059】
簡潔にするために、本発明の側面を作るおよび使用することに関連する従来技術は、本明細書で詳細に説明される可能性があり、または、詳細に説明されない可能性がある。特に、本明細書で説明される種々の技術的特徴を実装するためのコンピューティング・システムおよび特定のコンピュータ・プログラムの種々の側面は、周知である。したがって、簡略にするために、多くの従来の実装の詳細が、本明細書において簡単に触れられるか、または、周知のシステムもしくはプロセスまたはその両方の詳細を提供することなく完全に省略される。
【0060】
いくつかの実施形態においては、種々の機能または作用は、所与の場所で起こってもよく、もしくは1または複数の装置またはシステムの動作に関連して起こってもよく、またはその両方について起こってもよい。いくつかの実施形態においては、所与の機能または作用の一部が、第1のデバイスまたは位置で実行されてもよく、機能または作用の残りが、1または複数の追加のデバイスまたは位置で実行されてもよい。
【0061】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的とし、限定することを意図するものではない。本明細書で使用されるように、単数形「a」、「an」および「the」は、文脈が明確に示さない限り、複数形も含むことを意図している。さらに、用語「含む(comprise)」もしくは「含んでいる(comprising)」またはこれらの両方は、この明細書で使用される場合、記載された特徴、整数、ステップ、動作、要素もしくはコンポーネントまたはこれらの組み合わせの存在を指定するが、しかしながら、1以上の他の特徴、整数、ステップ、動作、要素、コンポーネントもしくはこれらのグループまたはこれらの組み合わせの存在または追加を除外するものではないことを理解されたい。
【0062】
以下の特許請求の範囲における、対応する構造、材料、動作および全てのミーンズまたはステップ・プラス・ファンクション要素の均等物は、明確に特許請求されるように、他の特許請求された要素と組み合わせで機能を実行するための任意の構造、材料または動作を含むことが意図される。本開示は、例証および説明を目的として提示されたものであるが、しかしながら、網羅的であることまたは本発明を開示された形態に限定することを意図するものではない。本開示の範囲から逸脱することなく多くの変更および変形が、当業者にとって明らかとなるであろう。実施形態は、本発明の原理および実際的な用途を最も良く説明するために、また、当業者が、企図した特定の使用に適した種々の変更とともに種々の実施形態について本発明を理解できるように、選択され、説明されたものである。
【0063】
本明細書に描かれる図は、例示である。本開示の範囲から逸脱することなく、本明細書で記載される図またはステップ(または動作)に対して多くの変形が可能である。例えば、アクションは、異なる順序で実行されてもよく、または、アクションが追加、削除または変更されてもよい。また、用語「結合された(coupled)」は、2つの要素間の信号経路を有することを説明するが、それらの要素間の介在要素/接続を介さない要素間の直接接続を暗示しない。これらの変形例の全てが、本開示の一部であると見なされる。
【0064】
以下の定義および略語は、特許請求の範囲および明細書の解釈に使用されるものである。本明細書で使用されるように、用語「含む(comprise)」、「含んでいる(comprising)」、「含む(include)」、「含んでいる(including)」、「有する(has)」、「有している(having)」、「包含する(contains)」、「包含している(containing)」、またはこれらの変例は、非排他的包含を対象とすることを意図するものである。例えば、要素のリストを含む組成物、混合物、プロセス、方法、物品または装置は、必ずしもこれらの要素のみに限定されるわけではなく、明示的に列挙されないか、または、そのような組成物、混合物、プロセス、方法、物品または装置に固有の他の要素を含む可能性がある。
【0065】
加えて、用語「例示の(exemplary)」は、本明細書において、「例(example)」、実例(instance)または例証(illustration)としての役割を意味するために使用される。「例示の」として本明細書において説明される任意の実施形態またはデザインは、必ずしも他の実施形態またはデザインを越えて好ましいであるとかあるいは有利であるとかという解釈がなされるべきではない。用語「少なくとも1つ(at least one)」、「1または複数の(one or more)」は、1と等しいかそれを超える任意の整数、例えば、1、2、3、4など、を含むものと理解される。用語「複数の(a plurality)」は、2と等しいかそれを超える任意の整数、例えば、2、3、4、5など、を含むものと理解される。用語「接続(connection)」は、間接的な「接続」および直接的な「接続」の両方を含み得る。
【0066】
用語「およそ(about)」、「実質的に(substantially)」、「約(approximately)」およびこれらの変例は、出願時に利用可能な設備に基づく特定の量の測定に関連して一定程度の誤差を含むことを意図する。例えば、「約(about)」は、所与の値の±8%または5%または2%を含む可能性がある。
【0067】
本開示は、任意の潜在的な統合の詳細さのレベルでのシステム、方法もしくはコンピュータ・プログラム製品またはこれらの組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の側面を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体を含んでもよい。
【0068】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持し格納する有形のデバイスであってよい。コンピュータ可読ストレージ媒体は、例えば、これに限定されるものではないが、電子的ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたは上記の任意の適切な組み合わせであってよい。コンピュータ可読ストレージ媒体のより具体的な例示の例示列挙としては、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、消去可能プログラマブル・リード・オンリー・メモリ(EPROMまたはフラッシュメモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリー・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリースティック、フロッピーディスク(登録商標)、パンチカードまたは記録された命令を有する溝内の隆起構造のような機械的エンコードされたデバイス、および上記の任意の適切な組み合わせが含まれる。コンピュータ可読ストレージ媒体は、本明細書で使用されるように、電波、自由伝搬する電磁波、導波路または他の伝送媒体を伝搬する電磁波(たとえば、ファイバ光ケーブルを通過する光パルス)または、ワイヤを通して伝送される電気信号のような、それ自体が一時的な信号として解釈されるものではない。
【0069】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピュータ/処理デバイスに、または、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはこれらの組み合わせといったネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジサーバまたはこれらの組み合わせを含んでもよい。各コンピュータ/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0070】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用構成データ、または、1以上のプログラミング言語の任意の組み合わせで書かれたソース・コードあるいはオブジェクト・コードであってよく、1以上のプログラミング言語は、Smalltalk(登録商標)、C++またはこれらに類するもなどのオブジェクト指向言語、Cプログラミング言語または類似のプログラミング言語などの手続型言語を含む。コンピュータ可読プログラム命令は、スタンド・アローンのソフトウェア・パッケージとして、全体としてユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上かつ部分的に遠隔のコンピュータ上で、または、完全に遠隔のコンピュータまたはサーバ上で実行されてもよい。後者のシナリオでは、遠隔のコンピュータは、ユーザのコンピュータに、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通じて接続されてもよく、あるいは接続は、(例えば、インターネット・サービス・プロバイダを用いてインターネットを通じて)外部コンピュータになされてもよい。いくつかの実施形態においては、電気的回路は、本発明の側面を実行するために、コンピュータ可読プログラム命令の状態情報を利用して、電気的回路を個別化することによって、コンピュータ可読プログラム命令を実行してもよく、この電気的回路は、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む。
【0071】
本発明の側面は、本明細書において、本発明の実施形態に従った方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照しながら、説明される。フローチャート図もしくはブロック図またはその両方の各ブロック、および、フローチャート図もしくはブロック図またはその両方における複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装されてもよいことが理解されよう。
【0072】
これらのコンピュータ可読プログラム命令は、汎用コンピュータおよび特定用途コンピュータのプロセッサまたは他のプログラマブル・データ処理装置に提供され、コンピュータのプロセッサまたは他のプログラマブル・データ処理装置を介して実行される命令が、フローチャート図もしくはブロックまたはその両方のブロックまたは複数のブロックにおいて特定される機能/作用を実装するための手段を作成するように、マシンを生成する。これらのコンピュータ可読プログラム命令は、また、コンピュータ、プログラマブル・データ処理装置もしくは他のデバイスまたはこれらの組み合わせに特定のやり方で機能するよう指示できるコンピュータ可読ストレージ媒体に格納され、それに格納された命令を有するコンピュータ可読ストレージ媒体に、フローチャートもしくはブロックまたはその両方のブロックまたは複数のブロックで特定される機能/作用の側面を実装する命令を含む製品が含まれるようにする。
【0073】
コンピュータ可読プログラム命令は、また、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラマブル・データ処理装置または他のデバイス上で一連の動作ステップを実行させて、コンピュータ、他のプログラマブル・データ処理装置または他のデバイス上で実行される命令が、フローチャートもしくはブロックまたはその両方のブロックまたは複数のブロックで特定される機能/作用の側面を実装するように、コンピュータ実装処理を生成することもできる。
【0074】
図面におけるフローチャートおよびブロック図は、本発明の種々の実施形態に従ったシステム、方法およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能性および動作を示す。この点に関して、フローチャートまたはブロック図の各ブロックは、特定の論理機能を実装するための1以上の実行可能な命令を含む、モジュール、セグメントまたは命令の部分を表す可能性がある。いくつかの代替の実装では、ブロックにおいて言及された機能は、図面に示された順序から外れて生じる可能性がある。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行されてもよく、あるいは、複数のブロックは、関与する機能性に応じて逆の順序で実行されてもよい。ブロック図もしくはフローチャート図またはその両方の各ブロックおよびブロック図もしくはフローチャート図またはその両方の複数のブロックの組み合わせが、特定の機能または作用を実行し、または、特別な目的のハードウェアおよびコンピュータ命令の組み合わせを実施する、特定目的ハードウェアベースのシステムによって実装されてもよいことに留意されたい。
【0075】
本開示の種々の実施形態の説明が、説明のために提示されたが、しかしながら、網羅的であること、または、開示される実施形態に限定されることを意図するものではない。説明される実施形態の範囲および精神を逸脱することなく、多くの変更および変形が当業者にとって明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の応用または市場で発見される技術に対する技術的改善を最もよく説明するために、あるいは、他の当業者が、本明細書で開示される実施形態を理解できるように選ばれたものである。
図1
図2
図3
図4
図5
図6