(57)【要約】【課題】  短文字列の２つの集合の間のマッピングの候補を作成する方法を提供する。【解決手段】  文字列の２つの集合に関係するファイルの集合を選択する。ファイルの集合内で文字列の２つの集合からの各々の文字列を検索する。同じファイルと一致する２つの文字列は、関係があるとみなされ、一緒にマッピングされる。その後、これらのマッピングの候補は、アノテータ／レビューア側でチェックすることができる。【選択図】  図３
2005339542.tif 000002
【特許請求の範囲】
【請求項１】
第１の文字列の集合と第２の文字列の集合との間の関係を決定する方法であって、
ファイルの集合を選択するステップと、
前記ファイルの集合からインデックスを作成するステップと、
前記第１の文字列の集合に関係する前記ファイルのインデックスを検索するステップと、
前記第１の文字列の集合からの各々の文字列および前記文字列に関係する前記ファイルの集合からの複数の前記ファイルに対するエントリを含む第１のリストを作成するステップと、
前記第２の文字列の集合に関係する前記ファイルのインデックスを検索するステップと、
前記第２の文字列の集合からの各々の文字列および前記文字列に関係する前記ファイルの集合からの複数の前記ファイルに対するエントリを含む第２のリストを作成するステップと、
前記第１のリストから、前記ファイルの集合からの各々のファイルおよび前記ファイルに関係する前記第１の文字列の集合からの複数の前記文字列に対するエントリを含む第３のリストを作成するステップと、
前記第２のリストおよび前記第３のリストから、前記第２の文字列の集合からの各々の文字列および、もしあれば、前記第２の文字列の集合からの前記文字列と同じ、前記ファイルの集合からのファイルに関係する、前記第１の文字列の集合からの前記文字列に対するエントリを含む第４のリストを作成するステップと
を備えたことを特徴とする方法。
【請求項２】
前記第４のリスト内のエントリが前記第２の文字列の集合からの文字列と前記第１の文字列の集合からの文字列との間の有効な関係を表すかどうかを決定するステップと、
前記第４のリストから、前記第２の文字列の集合からの文字列と前記第１の文字列の集合からの文字列との間の有効な関係を表さないエントリを削除するステップと
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のリストおよび前記第２のリスト内の各々のエントリに対する順位付けを作成するステップと、
前記第１のリストおよび前記第２のリストから作成された順位付けを使用して前記第４のリスト内の各々のエントリに対する順位付けを作成するステップと
を備えたことを特徴とする請求項１に記載の方法。
【請求項４】
最低順位を決定するステップと、前記最低順位よりも低い順位を持つエントリを前記第４のリストから削除するステップとを備えたことを特徴とする請求項３に記載の方法。
【請求項５】
前記第４のリスト内のエントリが前記第２の文字列の集合からの文字列と前記第１の文字列の集合からの文字列との間の有効な関係を表すかどうかを決定するステップと、
前記第４のリストから、前記第２の文字列の集合からの文字列と前記第１の文字列の集合からの文字列との間の有効な関係を表さないエントリを削除するステップと
を備えたことを特徴とする請求項４に記載の方法。
【請求項６】
前記ファイルの集合を選択するステップは、前記第１の文字列の集合および前記第２の文字列の集合と同じ領域内のファイルの集合を選択するステップを含むことを特徴とする請求項１に記載の方法。
【請求項７】
第１の文字列の集合と第２の文字列の集合との間の関係を決定するシステムであって、
記憶デバイス内に格納されているファイルの集合を選択するセレクタコンポーネントと、
前記ファイルの集合内の前記第１の文字列の集合および前記第２の文字列の集合からの複数の文字列を検索するサーチャコンポーネントと、
前記第１の文字列の集合からの文字列と前記文字列に関係する前記ファイル集合からのファイルとを含む、少なくとも１つのペアを含む第１のリストを作成する第１のジェネレータコンポーネントと、
前記第２の文字列の集合からの文字列と前記文字列に関係する前記ファイル集合からのファイルとを含む、少なくとも１つのペアを含む第２のリストを作成する第２のジェネレータコンポーネントと、
前記第１のリストおよび前記第２のリストを使用して、前記第１の文字列の集合からの文字列および前記第２の文字列の集合からの文字列を含む、少なくとも１つのペアを含む、第３のリストを作成する第３のジェネレータコンポーネントと
を備え、前記第１の文字列の集合からの前記文字列および前記第２の文字列の集合からの前記文字列が前記ファイル集合からの少なくとも１つのファイルに相互に関係することを特徴とするシステム。
【請求項８】
前記第３のリスト内のペアを検証し、前記第３のリストから検証できないペアを削除するレビューアコンポーネントをさらに備えたことを特徴とする請求項７に記載のシステム。
【請求項９】
前記第１のリストは、前記第１のリスト内のペア毎に、信頼水準を含むことを特徴とする請求項７に記載のシステム。
【請求項１０】
前記サーチャコンポーネントは、前記第１の文字列の集合からの前記文字列が前記ファイルの集合からの前記ファイルに関係する確率に基づいて前記ペアの前記信頼水準を決定することを特徴とする請求項９に記載のシステム。
【請求項１１】
前記第１のジェネレータコンポーネントは、前記信頼水準が所定の値よりも小さい場合に前記第１のリストからペアを削除することを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記第１のジェネレータコンポーネントは、前記信頼水準が前記第１のリストに対する信頼水準の平均よりも低い場合に前記リストからペアを削除することを特徴とする請求項１０に記載のシステム。
【請求項１３】
前記第２のリストは、さらに、前記第２のリスト内のペア毎に、信頼水準を含むことを特徴とする請求項７に記載のシステム。
【請求項１４】
前記サーチャコンポーネントは、前記第２の文字列の集合からの前記文字列が前記ファイルの集合からの前記ファイルに関係する確率に基づいて前記ペアの前記信頼水準を決定することを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記第２のジェネレータコンポーネントは、前記信頼水準が所定の値よりも小さい場合に前記第２のリストからペアを削除することを特徴とする請求項１３に記載のシステム。
【請求項１６】
前記第２のジェネレータコンポーネントは、前記信頼水準が前記第２のリストに対する信頼水準の平均よりも低い場合に前記第２のリストからペアを削除することを特徴とする請求項１３に記載のシステム。
【請求項１７】
前記セレクタコンポーネントは、前記第１の文字列の集合および前記第２の文字列の集合と同じ領域内にあるファイルの集合を選択することを特徴とする請求項７に記載のシステム。
【請求項１８】
第１の文字列の集合と第２の文字列の集合との間のマッピングを作成する方法であって、
ファイルのインデックスを保持するステップと、
前記第１の文字列の集合と前記ファイルのインデックスとの間の第１のマッピングを作成するステップと、
前記第２の文字列の集合と前記ファイルのインデックスとの間の第２のマッピングを作成するステップと、
前記第１のマッピングおよび前記第２のマッピングに基づいて文字列の第１の集合と前記第２の文字列の集合との間の前記マッピングを作成するステップと
を備えたことを特徴とする方法。
【請求項１９】
前記ファイルのインデックスを保持するステップは、前記第１の文字列の集合および前記第２の文字列の集合の同じ領域内にあるファイルのインデックスを選択するステップを含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記第１のマッピングを作成するステップは、
前記第１の文字列の集合から前記複数の文字列のうちの少なくとも１つに関係する複数のファイルに対する前記ファイルのインデックスを検索するステップと、
前記ファイルのインデックスからのファイルに関係する前記第１の文字列の集合内の文字列毎に、第１のリスト内に前記第１の文字列の集合からの前記文字列および前記第１の文字列の集合からの前記文字列に関係する複数の前記ファイルのインデックスからの各々のファイルを含むエントリを作成するステップと
を含むことを特徴とする請求項１８に記載の方法。
【請求項２１】
前記第２のマッピングを作成するステップは、
前記第２の文字列の集合から前記複数の文字列のうちの少なくとも１つに関係する複数のファイルに対する前記ファイルのインデックスを検索するステップと、
前記ファイルのインデックスからのファイルに関係する前記第２の文字列の集合内の文字列毎に、第２のリスト内に前記第２の文字列の集合からの前記文字列および前記第２の文字列の集合からの前記文字列に関係する複数の前記ファイルのインデックスからの各々のファイルを含むエントリを作成するステップと
を含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
前記第１の文字列の集合と前記第２の文字列の集合との間の前記マッピングを作成するステップは、
前記第２のリストから、前記ファイルに関係する前記第２の文字列の集合からの各々の文字列とともに、前記第２の文字列の集合からの文字列に関係する前記ファイルのインデックスからの各々のファイルのエントリを含む第３のリストを作成するステップと、
前記第３のリストおよび前記第１のリストから、前記ファイルのインデックスからのファイルに関係する前記第１の文字列の集合からの各々の文字列および前記第１の文字列の集合からの文字列と同じファイルに関係する前記第２の文字列の集合からの各々の文字列に対するエントリを含む第４のリストを作成するステップと
を含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
さらに、前記第４のリスト内のエントリ毎に順位付けを作成するステップを含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
第１の文字列の集合と第２の文字列の集合との間のマッピングを作成するシステムであって、
ファイルのインデックスを保持するための格納デバイスと、
前記第１の文字列の集合と前記ファイルのインデックスとの間の第１のマッピングを作成し、前記第２の文字列の集合と前記ファイルのインデックスとの間の第２のマッピングを作成し、前記第１のマッピングおよび前記第２のマッピングに基づいて前記第１の文字列の集合と前記第２の文字列の集合との間の前記マッピングを作成するプロセッサと
を備えたことを特徴とするシステム。
【請求項２５】
前記第１の文字列の集合と前記第２の文字列の集合とを受け取るための入力デバイスをさらに備えたことを特徴とする請求項２４に記載のシステム。
【請求項２６】
前記プロセッサは、
前記第１の文字列の集合から前記複数の文字列のうちの少なくとも１つに関係する複数のファイルに対する前記ファイルのインデックスを検索するステップと、
前記ファイルのインデックスからのファイルに関係する前記第１の文字列の集合内の文字列毎に、第１のリスト内に前記第１の文字列の集合からの前記文字列および前記第１の文字列の集合からの前記文字列に関係する複数の前記ファイルのインデックスからの各々のファイルを含むエントリを作成するステップと
により前記第１のマッピングを作成することを特徴とする請求項２４に記載のシステム。
【請求項２７】
前記プロセッサであって、
前記第２の文字列の集合から前記複数の文字列のうちの少なくとも１つに関係する複数のファイルに対する前記ファイルのインデックスを検索するステップと、
前記ファイルのインデックスからのファイルに関係する前記第２の文字列の集合内の文字列毎に、第２のリスト内に前記第２の文字列の集合からの前記文字列および前記第２の文字列の集合からの前記文字列に関係する複数の前記ファイルのインデックスからの各々のファイルを含むエントリを作成するステップと
により前記第２のマッピングを作成することを特徴とする請求項２６に記載のシステム。
【請求項２８】
前記プロセッサであって、
前記第２のリストから、前記ファイルに関係する前記第２の文字列の集合からの各々の文字列とともに、前記第２の文字列の集合からの文字列を含んでいた前記ファイルのインデックスからの各々のファイルのエントリを含む第３のリストを作成するステップと、
前記第３のリストおよび前記第１のリストから、前記ファイルのインデックスからのファイルに関係する前記第１の文字列の集合からの各々の文字列および前記第１の文字列の集合からの文字列と同じファイルに関係する前記第２の文字列の集合からの各々の文字列に対するエントリを含む第４のリストを作成するステップと
により前記第１の文字列の集合と前記第２の文字列の集合との間の前記マッピングを作成することを特徴とする請求項２７に記載のシステム。
【請求項２９】
前記プロセッサにより、前記第４のリスト内のエントリ毎に、順位付けを作成するステップをさらに含むことを特徴とする請求項２８に記載のシステム。
【請求項３０】
第１の文字列の集合と第２の文字列の集合との間の関係を決定する方法であって、
第１の文字列の集合と第２の文字列の集合との間の、各々のエントリが前記第１の文字列の集合からの文字列および前記第２の文字列の集合からの文字列を含む複数のエントリを含む作成されたマッピングを受け取るステップと、
エントリが前記第１の文字列の集合からの前記文字列と前記第２の文字列の集合からの前記文字列との間の有効な関係を表すかどうかを決定するステップと、
有効な関係を表さないエントリを削除するステップと
を備えたことを特徴とする方法。
【請求項３１】
ファイルの集合を選択するステップと、
前記ファイルの集合からインデックスを作成するステップと、
前記第１の文字列の集合から前記ファイルの集合への第１のマッピングを作成するステップと、
前記第２の文字列の集合から前記ファイルの集合への第２のマッピングを作成するステップと、
前記第１のマッピングおよび前記第２のマッピングを使用して、文字列の第１の集合から前記第２の文字列の集合への第３のマッピングを作成するステップと、
前記第３のマッピングをレビューアに送るステップと
をさらに備えたことを特徴とする請求項３０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、文字列の関連付けの分野に関し、より詳細には、短文の文字列間の関連付けを見つけることに関する。
【背景技術】
【０００２】
短文の文字列を他の短文の文字列に概念的にリンクさせる（またはマッピングさせる）必要があるアプリケーションが多数ある。例えば、分類子学習（ｃｌａｓｓｉｆｉｅｒ  ｔｒａｉｎｉｎｇ）では、クエリログからクエリをタスクまたは意図記述（ｉｎｔｅｎｔ  ｄｅｓｃｒｉｐｔｉｏｎｓ）に関連付ける必要性がある。検索を行う場合、追加メタデータと検索する語とを関連付けることが望ましい場合がある。照合される文字列が十分に長ければ、文字列間で単語の重複部分を使用して、それらが関連しているのかどうかを決定することも可能である。しかし、文字列が短いと、文字列間のマッピングを形成するために必要な考えられる関係または関連付けを認識することは非常に困難な場合がある。これは、関連付けを認識し、マッピングを形成する際に使用される文字列自体に含まれる情報が不十分なためである。
【０００３】
以前には、文字列間のマッピングを形成するために、関連技術分野の熟練した、人のアノテータが用いられていた。これは、時間のかかる労働集約的なプロセスとなる可能性がある。例えば、分類子学習では、人のアノテータは、与えられたタスク毎に手作業で、そのタスクに関係していることがわかったクエリを選択する。タスクが数百あり、クエリが数千もある場合だと、アノテータがすべてのタスクおよびクエリを覚えておいて、一貫したアノテーションの作業を行うことは困難である。さらに、人間の認識能力の限界のため、このプロセスでは間違いを生じやすく、また食い違いも生じる可能性がある。誤りを減らすために、複数のアノテータが同じクエリからタスクへのマッピングを操作することがある。しかし、この分野が複雑であること、およびアノテータに高い知識レベルが必要とされることを考慮すれば、複数の人のアノテータを用いると、コストは非常に高くつく可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記の点を考慮すると、従来技術のこれらの制限および欠点を克服するシステムおよび方法が必要であることが理解される。
【課題を解決するための手段】
【０００５】
短文字列の２つの集合の間でマッピングの候補を作成し、結果としてアノテータが検証することができるような、半自動システムが使用される。文字列の２つの集合に関係する十分に大きなファイル集合を選択することが望ましい。大きなファイル集合内で文字列の２つの集合からの各々の文字列が検索される。特定の文字列に一致する各ファイルをその文字列に関係するとみなし、文字列に関する情報およびコンテキストを追加することができる。追加した情報およびコンテキストを用いて、文字列の２つの集合の間でマッピングの候補を作成する。特に、特定の個数のファイルに一致する２つの文字列は関係があるとみなされ、一緒にマッピングされる。これらのマッピングの候補は、アノテータ側でチェックすることができる。
【０００６】
従来技術で示されているように、アノテータにマッピングの候補を作成させるよりもむしろ、アノテータは本発明のマッピングの候補と連動してレビューアとして作業することができる。各々の集合からのすべての文字列を覚えておく必要はなく、マッピングの候補が意味の有無（つまり、適切かどうか）を確認するだけでよい。これは、誤りが少なく、かなり高速なプロセスである。マッピングの候補は自動的に作成されるため、これらはかなり一貫性が高い。したがって、本発明によるアノテートのデータは、かなり安く、またより高い全般的なマッピングの品質が得られる。さらに、この方法は、どのような言語の文字列でもうまく機能するであろう。
【０００７】
本発明の追加の特徴および利点は、添付の図面を参照して行われる実施例についての以下の詳細な説明から明白になる。
【発明を実施するための最良の形態】
【０００８】
図１は、クエリからファイルの集合へのマッピングの例を示し、図２は、タスクからファイルの集合へのマッピングの例を示し、および図３は、クエリからファイルの集合へのマッピングとタスクからファイルの集合へのマッピングとの間の重複部分の例を示す。これらの図は、図１にクエリ１０１として示されている短文字列のクエリと図２にタスク２０２として示されている短文字列のタスクとの間に関係が存在するかどうかを決定するための方法の例を示すのに使用する。
【０００９】
タスク２０２およびクエリ１０１は、図１〜３に探索空間１１０として示されているテキストファイルの集合にマッピングされる。タスク２０２に一致するファイルを図２および３に２３０という符号で示す。クエリ１０１に一致するファイルを図１および３に１２０という符号で示す。クエリ１０１とタスク２０２とに一致するファイル間の重複部分を、図３に３５０という符号で示す。重複部分が大きいほど、タスクとクエリとの「関連性」は強まる。この実施形態はタスクおよびクエリの文字列に関して説明するが、本発明は、短文字列の集合との間でマッピングを作成するのにも適用可能である。
【００１０】
より具体的には、図１は、短文字列のクエリ１０１から探索空間１１０内のテキストファイルのより大きな集合へのマッピング例を示す。クエリ１０１は短文字列、例えば、単一の単語であるため、図２に示されているクエリ１０１とタスク２０２との存在しうる関係を確立する際に用いることが出来る内容は非常に少ない。クエリ１０１とタスク２０２との存在しうる関係を見つけるために、まずクエリ１０１およびタスク２０２をより大きな次元（例えば、探索空間１１０）にマッピングするのが望ましい。より大きな次元にマッピングすることにより、用いることができる情報が増えるので、これにより、タスク２０２およびクエリ１０１を比較し、それらの間に関係が存在するかどうかを決定する。
【００１１】
１２０に示すように、クエリ１０１は探索空間１１０内の複数のファイル（空間１２０として表されている）にマッピングされる。このマッピングを決定するために、探索空間１１０内の各ファイルは、クエリ１０１について検索されるテキストであるのが望ましい。ファイルのテキスト検索を行うためには、そのファイル内で、クエリ１０１が表す単語または語句の出現をスキャンまたは検索することが望ましい。テキスト検索を実行するために、ファイル内のテキスト文字列を検索する本技術分野で知られているシステム、方法、または手法を使用する。一致が見つかったファイルは、クエリ１０１に関係しているとみなされ、クエリ１０１の意味に関する他の情報を提供できる。一致が完全一致である場合があり、例えば、単語または語句がファイルのテキスト内に正確な形で出現する。一致は、また、部分一致の場合もあり、これは単語または語句の一部のみがファイル内に見つかる場合である。さらに、より高度な検索方法を使用して、検索される語句にありがちなつづりの誤りまたは形態論的な異形（例えば、「ｒｕｎｓ」の代替えとして「ｒｕｎ」、「ｒａｎ」、「ｒｕｎｎｉｎｇ」）などの一致を見つけることができる。テキスト文字列の照合に関する本技術分野で知られているシステム、手法、または方法が使用できる。
【００１２】
次に、この情報を使用することにより、マッピングの候補を作成することができる。マッチングファイルの集合を図１に１２０という符号で示す。例えば、探索空間１１０は２つのファイルを含み、ファイル１は単語「ｆｏｏ」、「ｂａｒ」、および「ｂａｎａｎａ」を含み、ファイル２は単語「ａｐｐｌｅ」、「ｐｅａｒ」、および「ｂａｎａｎａ」を含むものと仮定する。さらに、検索する語は「ｆｏｏ」であるものとする。この例では、ファイル１内およびファイル２内で「ｆｏｏ」をテキスト検索した後、「ｆｏｏ」はファイル１内で一致し、ファイル２内では一致しない。したがって、検索する語「ｆｏｏ」はファイル１にマッピングされ、ファイル２にはマッピングされない。同様に、検索する語が「ｂａｎａｎａ」であった場合、「ｂａｎａｎａ」はファイル１とファイル２で一致する。したがって、検索する語「ｂａｎａｎａ」はファイル１およびファイル２にマッピングされる。
【００１３】
特定の一致したファイルがクエリ１０１に関係しているかどうかは、探索空間１１０のサイズおよび探索空間１１０とクエリとの関連度の両方に依存する。例えば、大きな探索空間、例えば、インターネットが選択された場合、どの２つのテキスト文字列についても一致が見つからないことも考えられる。選択された探索空間が小さすぎる場合、一致が見つかりすぎることがある。したがって、探索空間１１０の選択は慎重に行うことが重要である。
【００１４】
所望の一致に意味があることを保証し、偶然の一致を減らす方法の１つは、ユーザが決定する特定の順位付けよりも高い順位付けとなる一致のみを対象とすることである。順位付けは、本技術分野で知られているシステム、方法、または手法を使用して、特定の検索する語について返される一致を順位付けすることにより作成することができる。例えば、ユーザが決定する順位付けは、検索する語が所定のファイルと一致すると見なされる前にその語がそのファイル内に出現していなければならない回数に依存し、または関係する、もしくは他の何らかの形でその回数を表すある所定の数であるのが望ましい。この数は、実験を行って決定することができ、また探索空間１１０内のファイルの個数とともに、所望の検索する語と一致したファイルの個数に応じて調整することができる。
【００１５】
例えば、クエリ１０１は、特定のファイル内に１回しか出現しないが、別のファイル内には１００回出現することがある。直観的には、クエリ１０１は、それが１回だけ出現するファイルよりもそれが１００回出現するファイルと関係する可能性が高いといえる。一実施形態では、これを利用して何らかのユーザが決定する頻度または回数よりも多いクエリ１０１を含むだけで、そのファイルと見なすことができる。この例では、特定のファイル内に検索する語が出現する頻度に基づいて検索結果の順位付けを考察しているが、検索結果の順位付けを行う他の方法も使用可能である。さらに、この順位付けは、図５に関してさらに説明するように、所望のクエリからタスクへのマッピングに順位付けを行うために使用することができる。
【００１６】
図２に例示されているように、タスク２０２は、２３０という符号で表されるように、探索空間１１０内の複数のファイルにマッピングされることが望ましい。このマッピングを決定するために、探索空間１１０内の各ファイルは、タスク２０２について検索されるテキストであるのが望ましい。ファイルが一致するとタスク２０２に関係しているとみなされ、タスク２０２の意味に関する他の情報を提供することができる。続いて、この情報を使用することにより、マッピングの候補を作成することができる。マッピングの候補は、図１のクエリからファイルへのマッピングに関して説明されているのと類似の方法で順位付けすることができる。
【００１７】
図３は、探索空間１１０内でクエリ１０１にマッチングするファイルと探索空間１１０内でタスク２０２にマッチングするファイルとの間の重複部分を例示している。１２０と２３０との間で重複するファイルを、図３に３５０という符号で示す。この重複部分の集合は、それらのファイルのテキスト内のどこかにあるクエリ１０１とタスク２０２の両方を含む探索空間１１０からのファイルを含む。重複部分のこの領域が大きいほど、クエリ１０１とタスク２０２の両方を含むファイルが多く、クエリ１０１とタスク２０２との間の関係または接続がある可能性が高くなる。さらに、他の要因が、クエリ１０１とタスク１０２との間に関係または接続の存在する確率が高いことを示すこともあり、例えば、基本的なクエリからファイルへのマッピングおよびタスクからファイルへのマッピングに関連付けられた高い重みまたは順位は、実際にマッピングされているファイルが少ししかなくても関係の存在する確率が高いことを示す場合がある。
【００１８】
重複部分３５０のサイズと、クエリ１０１とタスク２０２との間に関係の存在する確率との間の関係を使用することにより、所望のマッピングへの順位か、または重みをそれに割り当てることができる。図４および５に関してさらに説明するように、複数のクエリ１０１の語およびタスク２０２の語を、上で説明した方法と同様にして、比較するのが望ましい。いくつかのクエリ１０１およびタスク２０２の語に一致するファイルの数は、他のクエリ１０１およびタスク２０２の語と一致するファイルの数よりも多い。直観的に、これは、それらの語との関係が存在している可能性が高いことを示している。同様に、特定のファイルに一致するいくつかのクエリ１０１およびタスク２０２の語は、その一致するファイルについてより高い重みまたは順位を受ける。同じファイルに一致するクエリ１０１の語およびタスク２０２の語は、各々高い順位を持ち、それらの語との関係が存在している可能性があることを示す。
【００１９】
上述のように、一致を検証するために、人のレビューアを用いることができる。人のレビューアを用いると、費用がかかり時間もかかる。そこで、所望の一致を検証するために人が費やす時間を極力短くすることが望ましい。この目的のために、所望の一致を順位付けし、特定の望ましくはユーザが決定するしきい値よりもその一致が低い場合を排除することができる。したがって、一致は、一致を検証する、人のアノテータには送られない。ユーザが決定するしきい値は、所望の一致の数、および探索空間１１０内のファイルの数の要因に応じて、管理者により決定することができる。実施例の方法を、図５を参照して詳述する。
【００２０】
図４は、本発明によるクエリからタスクへのマッピングを作成する方法の例を示すフローチャートである。クエリとタスクとの間のマッピングは、クエリおよびタスクをファイルまたはテキストドキュメントの選択にマッピングし、それらの結果を組み合わせることにより作成される。サンプルファイルの集合を選択し、それらのファイルのインデックスを作成する。その作成されたインデックスに基づいてクエリの集合を検索し、クエリの集合を含むクエリの各々と一致するファイルのサンプル集合からのファイルの重み付けリストを作成する。その作成されたインデックスに基づいてタスクの集合を検索し、タスクの集合を含むタスクの各々と一致するファイルのサンプル集合からのファイルの重み付けリストを作成する。
【００２１】
それらのタスクの各々と一致するファイルのサンプル集合からのファイルの順位付けリストを反転して、各ファイルのリストおよびそのファイルに一致するタスクの重み付けリストを取得する。クエリおよびマッチングファイルのリストを、ファイルおよびマッチングタスクのリストと組み合わせて、クエリおよびマッチングタスクの重み付けリストを作成することができる。この実施例はタスクおよびクエリに関して説明するが、この方法は、短文字列の集合の間のマッピングを作成するのに適用することができる。
【００２２】
より具体的には、４０１で、ファイル集合が作成される。図１に関して上で述べたように、ファイル集合は、マッピングの対象であるタスクおよびクエリの一般的な領域に関係するのが望ましい。さらに、十分に大きなファイルの集合を選択すべきである。選択されたファイルが多すぎると、タスクとファイルとの間に、およびクエリとファイルとの間に十分な一致がなくなり、クエリとタスクとの間に意味のあるマッピングを形成することができない。しかし、そのファイル集合に対して選択されたファイルが少なすぎると、偶然の一致を非常に多く作成する危険性が生じる（例えば、アノテータにとってよけいな仕事が増える）。一般に、偶然の一致はそれらに関連付けられる重みを非常に小さくすることが望ましく、その結果（例えば、その後のアノテーションプロセスの前に）、排除できるのであれば、この危険性は小さくなる。
【００２３】
４０５で、選択された複数のファイルを使用しインデックスを作成するのが望ましい。ファイルの集合にインデックスを付けることにより、ファイルをすばやく検索することができる。ファイルのインデックスエントリは、そのファイルに含まれるすべての単語のリストを含むことができる。より高度なインデックスだと、ファイル内の各単語の出現数を含むようにすることができ、これにより、一致に、その一致が意味を持つ順位または確率を付与することができる。ファイル内の一致した単語の出現回数が多いほど、ファイルが一致した単語に関係する確率は高くなる。同様に、スペリング、形態素解析、句読点、フレーズなどの使用を含む、テキストの正規化を使用して、与えられたファイルインデックスを改善することができる。例えば、ファイル内に見つかる単語のよくあるつづりの誤りをインデックスに含めることができる。一実施形態では、オペレーティングシステム標準のインデックス付けサービスを使用して、ファイルインデックスを作成することができるが、ファイルのグループのインデックスを作成するための本技術分野で知られているシステム、方法、または手法を使用することもできる。
【００２４】
４０８で、タスクの各々をファイルのインデックス上で検索する。これらのタスクの各々と一致したファイルを含むリストを作成するのが望ましい。使用するインデックス付けの種類を定めたら、各タスクと一致するファイルのリストに対し、順位付けを行うか、または一致の品質またはそれが正確である確率を示す信頼水準を付与することができる。（例えば、ユーザが決定する）順位または信頼水準よりも低い一致を排除することによりファイルのリストを縮小することができる。ファイル検索に関する本技術分野で知られているシステム、方法、または手法を使用することが可能であることも理解される。
【００２５】
４１１で、ファイル集合内の各ファイルおよびそのファイルエントリと一致する関連付けられたタスクに対するエントリを含む、新しいリストを、各タスクおよびそのタスクを含んでいたファイルに対するエントリを含むリストから作成するのが望ましい。このリストは、各タスクおよびそのタスクを含んでいたファイルに対するエントリを含むリストを反転または逆にすることにより作成するのが望ましい。新しいリストは、ファイル集合内の各ファイルおよびそのファイルエントリと一致する関連付けられたタスクに対するエントリを含む。各一致に関連付けられた順位付けまたは信頼水準は、新しいリストに保存するのが望ましい。
【００２６】
４１５で、クエリの各々を、タスクと同じ、ファイルのインデックス上で検索する。これらのクエリの各々と一致したファイルを含むリストを作成するのが望ましい。順位または信頼水準は、一致ごとに指定するのが望ましい。上で述べたタスクの低減と同様に、使用されるインデックス付けの種類が指定された場合、各クエリと一致するファイルのリストを縮小するために、ユーザが決定する順位または信頼水準よりも低い一致を排除する。ファイル検索に関する本技術分野で知られているシステム、手法、または方法を使用することができる。
【００２７】
４１７で、クエリからファイルへのマッピングを含む作成されたリストをファイルからタスクへのマッピングを含むリストと組み合わせて、クエリからタスクへのマッピングを作成することが望ましい。さらに、図５を参照して以下に詳述するように、各々の提案されているクエリからタスクへのマッピングに対し、クエリとタスクのペアがファイル内で一致した回数に基づくか、または使用される検索システムが返すタスクからファイルへおよびクエリからファイルへのマッピングの重み関数に基づいて、順位付けまたは重み付けをすることができる。マッピングの候補は、作成された後、人のレビューア（または他の自動システム）に送られ、そこで、偶然一致または誤ったマッピングを除去することができる。
【００２８】
図５は、本発明により作成されたマッピングに重みを割り当てる方法の一例を説明するための図である。一実施例では、クエリの語からテキストファイルへのマッピングは、テキストファイルの集合内でクエリの語を検索することにより作成される。タスクの語からテキストファイルへのマッピングも、同様に作成される。クエリからファイルへのマッピングを反転または逆にして、ファイルからクエリの語へのマッピングを作成する。タスクからファイルへのマッピングをファイルからクエリへのマッピングと組み合わせることにより、タスクからクエリへのマッピングを作成する。特定のタスクが特定のクエリにマッピングされる回数を使用して、それらの結果を順位付けすることができる。同様に、基本的なクエリからファイルへの、およびタスクからファイルへのマッピングの順位付けまたは信頼水準を使用して、クエリからタスクへのマッピングの全体的な順位付けまたは信頼水準を作成することができる。しきい値を定めて、特定の順位よりも下の一致を排除し、それによって、作成された一致が正確であることを保証することができる。この実施例についてはクエリおよびタスクにおいて説明されているが、短文字列の別の集合または複数の集合により、短文字列の集合または複数の集合の間でマッピングを作成することに同様に適用することができる。
【００２９】
５０１で、クエリからファイルへのマッピングが作成される。この実施例の目的のために、３つのクエリの語１〜３および１５個のテキストファイル１〜１５があると仮定する。図に示されているように、クエリ１はファイル３、５、１０、および１５にマッピングされ、クエリ２はファイル５および１５にマッピングされ、クエリ３はファイル３にマッピングされる。この実施例では、クエリの語がファイル内に少なくとも１回出現する場合に、ファイルにマッピングされる特定のクエリが見つかる。
【００３０】
図４について説明したように、特定のマッピングに信頼度または重みを割り当てることができる。本技術分野では、逆ドキュメント頻度（ｉｎｖｅｒｓｅ  ｄｏｃｕｍｅｎｔ  ｆｒｅｑｕｅｎｃｙ）、検索する語がどれだけまれであるか、またはありふれているか、およびこの実施例で使用されている語の出現頻度を含む、検索結果に重みまたは信頼度を割り当てる多数の手法が知られている。語の出現頻度を使用し、クエリがファイル内に見つかる回数に応じて特定の一致を順位付けする。特定の順位よりも下であれば、一致は排除または無視することができる。例えば、特定のファイル集合および検索する条件について一致が多数得られた場合、システムまたはユーザは、特定の順位よりも低い一致を排除し、一致したファイルが検索された条件に関係している可能性を高めることも可能である。信頼度をこれらの一致に割り当てるこの方法を、複数のタスクと複数のクエリとの間での所望の関係を順位付けする方法とともに使用することができる。
【００３１】
５０５で、クエリからファイルへのマッピングを反転または逆にし、ファイルからクエリへのマッピングを実現するのが望ましい。図に示されているように、ファイル３はクエリ１および３にマッピングされ、ファイル５はクエリ２および１にマッピングされ、ファイル１０はクエリ１にマッピングされ、ファイル１５はクエリ２および１にマッピングされる。ファイル１、２、４、６、７、８、９、１１、１２、１３、および１４は、クエリのどれとも一致していないため省かれる。
【００３２】
５０８で、タスクからファイルへのマッピングが作成される。この実施例のために、３つのタスクの語１〜３および１５個のテキストファイル１〜１５があると仮定する。図に示されているように、タスク１はファイル５および１０にマッピングされ、タスク２はファイル３、１０、および１５にマッピングされ、タスク３はファイル１５にマッピングされる。
【００３３】
５１１で、タスクからファイルへのマッピングをファイルからクエリへのマッピングと組み合わせて、タスクからクエリへのマッピングを作成する。各々のファイルは、複数の異なるクエリ、および複数の異なるタスクにマッピングすることができる。その結果、２つのマッピングを組み合わせた場合、いくつかのタスクは同じクエリに複数回マッピングされることが示される。タスクが特定のクエリと一致する回数は、冗長であるというよりはむしろ、一致の近似度を知る手がかりとなるであろう。図に示すように、タスク１はクエリ２に１回、クエリ１に２回マッピングされ、タスク２はクエリ１に３回、クエリ２に１回、クエリ３に１回マッピングされ、タスク３はクエリ２に１回、クエリ１に１回マッピングされる。
【００３４】
５１５で、各々のマッピングに対する順位付けまたは信頼水準が作成される。図に示されているように、各々のタスクからクエリへのマッピングは、見つかった重複する一致の数により順位付けされる。各々の重複するマッピングは、クエリの語とタスクの語の両方を含んでいたファイルを表す。順位が高いほど、タスクとクエリとの間のマッピングが意味を持つ可能性が高くなる。
【００３５】
重複する一致の数により順位付けするほかに、重みまたは信頼水準を検索される語に割り当てる本技術分野で知られているシステム、方法、または手法を使用して、各々のマッピングに対する順位付けまたは信頼水準を作成することができる。例えば、検索システムにより返される重み（一致の度合い）が使用される場合、場合によっては、単一の大きな重みの重複部分が生じる可能性もあり、これは、重複が見つかること以上に重要である。
【００３６】
作成されるマッピングを人が検証するのに費やす時間と費用を節約するために、ユーザは何らかのしきい値に基づき作成されたマッピングをフィルタ処理することができる。レビューアは、作成された各々のマッピングを調べて、クエリとタスクとの間に実際に関係が存在するのかどうか、一致が単に偶然の一致であるか、またはファイルの集合内のテキストファイルが不良である結果だったのかを決定する。本技術分野者によって行われるレビューは費用のかかるプロセスであるため、レビューされるマッピングの数を極力少なくすることが望ましい。この目的のために、ユーザ側で、マッピングがレビューアにより検証される前に、タスクとクエリとの間に見つかる最小の順位付けを決定することが望ましい。図５に関して説明されている実施例では、重複する一致の数は少なくとも２つであると決定されていた。５１５の点線の上に示されているように、タスク２とクエリ１、およびタスク１とクエリ１との間のマッピングは、この基準を満たしていた。実際、一致に対する望ましい最適な順位付けは、複数のクエリおよび複数のタスクがマッピングされる検索空間のサイズとともに、それらのファイルの関連度にも大きく依存する。
【００３７】
図６は、本発明によるシステムの例のコンポーネントを例示するブロック図である。システムは、セレクタコンポーネント６０２、サーチャコンポーネント６０５、第１のジェネレータコンポーネント６０６、第２のジェネレータコンポーネント６０７、第３のジェネレータコンポーネント６１１、およびレビューアコンポーネント６１５を備える。
【００３８】
セレクタコンポーネント６０２は、短いクエリ文字列の集合と短いタスク文字列の集合との間のマッピングを作成するために使用できるファイルの集合を選択する場合に使用するのが望ましい。クエリおよびタスクは短文字列なので、マッピングを作成するために使用できる情報はわずかしかない。図１について説明したように、クエリおよびタスク文字列の領域に関係するファイルの集合を選択するのが望ましい。クエリおよびタスクをファイルの集合にマッピングするのが望ましい。同じファイルにマッピングされるクエリおよびタスクは、関係があるとみなされ、したがって一緒にマッピングされる。このようにして、クエリとタスクとの間のマッピングが作成される。この目的のために、セレクタコンポーネント６０２により選択されたファイルの集合は、クエリおよびタスクの一般的な領域と関係づけられ、マッピングを作成するための十分なファイルがあるようなサイズであり、すべてのクエリがすべてのタスクにマッピングされないことが望ましい。セレクタコンポーネント６０２は、ハードウェア、もしくはソフトウェアを使用するか、またはハードウェアとソフトウェアとを併用して実装することができる。この実施形態はクエリおよびタスクの集合に関して説明されているが、短文字列の集合の間のマッピングを作成するのにも適用可能である。
【００３９】
サーチャコンポーネント６０５は、クエリの集合およびタスクの集合から文字列の出現を、選択された複数のテキストファイル内で検索する場合に使用するのが望ましい。各々のクエリおよびタスクは、ファイルの集合内で検索されるテキストであることが望ましい。図１〜３について詳述したように、選択されたファイルは、各々のクエリおよびタスクの出現について検索されるテキストである。さらに、サーチャコンポーネント６０５は、重みまたは信頼水準を見つかった一致に割り当てて、その特定のファイルが検索する語にどれだけ関連しているかを示すことが望ましい。テキストファイルの集合内で文字列を検索し、重みまたは信頼水準をそれらの結果に割り当てる、本技術分野で知られているシステム、方法、または手法を使用することができる。サーチャコンポーネント６０５は、ハードウェア、またはソフトウェアを使用するか、またはハードウェアとソフトウェアとを併用して実装することができる。
【００４０】
第１のジェネレータコンポーネント６０６は、複数のクエリと複数のファイルの集合との間のマッピングを作成するために使用するのが望ましい。作成されたマッピングは、そのクエリの語を含むファイルの集合からの各々のファイルとともに、各クエリの語に対するエントリを含むリストを備えることができる。作成されたマッピングは、さらに、所与の語について第１のジェネレータコンポーネント６０６により、特定の順位または信頼水準を達成したファイルを追加するだけで、より精密にすることができる。例えば、サーチャコンポーネント６０５により特定のクエリの語と一致することが判明した所与のファイルの、重みが低い可能性があり、その一方で、クエリの語と一致する別のファイルは重みが非常に高い可能性がある。定義により、重みが高いファイルは、重みが低いファイルよりもそのクエリの語に関係する可能性が高い。第１のジェネレータコンポーネント６０６は、ファイルがユーザ指定値を超える重みまたは信頼水準を有するクエリの語と一致する場合にエントリをリストに加えることができる。第１のジェネレータ６０６は、ハードウェア、もしくはソフトウェアを使用するか、またはハードウェアとソフトウェアとを併用して実装することができる。
【００４１】
第２のジェネレータコンポーネント６０７は、複数のタスクと選択された複数のファイルとの間のマッピングを作成するために使用するのが望ましい。作成されたマッピングは、そのタスクの検索する語を含むファイルの集合からの各々のファイルとともに、各タスクの語に対するエントリを含むリストを備えることができる。作成されたマッピングは、さらに、所与の語について第２のジェネレータコンポーネント６０７により、特定のユーザ指定値を超える重みまたは信頼水準を有するタスクの検索する語を含んだファイルを追加するだけで、より精密にすることができる。これについては、第１のジェネレータコンポーネント６０６に関して詳しく説明した。第２のジェネレータコンポーネント６０７は、ハードウェア、もしくはソフトウェアを使用するか、またはハードウェアとソフトウェアとを併用して実装することができる。
【００４２】
第３のジェネレータコンポーネント６１１は、短いクエリの集合と短いタスクの集合との間のマッピングを作成するために使用するのが望ましい。このマッピングは、クエリの語からファイル集合へのマッピングと、タスクの語からファイル集合へのマッピングとを組み合わせることにより作成するのが望ましい。クエリとタスクとの間の各々の個別マッピングは、クエリおよびタスクの両方の語を含んでいたファイル集合内の少なくとも１つのファイルに呼応する。いくつかのクエリおよびタスクの語がファイル集合からとった複数のファイル内で一致したか、またはその中に含まれていた。第３のジェネレータコンポーネント６１１は、さらに、決定されたしきい値よりも小さい値で一緒に出現したクエリおよびタスクのマッピングを排除することにより、マッピングをより精密にすることができる。このしきい値は、所望のマッピングの総数、または初期のファイル集合のサイズを参照して決定することができる。
【００４３】
同様に、クエリとタスクの語との間のマッピングは、クエリからファイルへのマッピングおよびタスクからファイルへのマッピングに関連付けられている基本的な順位付けまたは信頼水準に基づいてマッピング毎に順位付けまたは信頼水準を作成することによって、より精密にすることができる。各々の一致したクエリおよびタスクの語は、サーチャコンポーネント６０５の作成した、基本的なクエリからファイルへのマッピングおよびタスクからファイルへのマッピングの両方について関連付けられた重みまたは信頼水準を持つ。これら２つの順位付けを組み合わせることにより、複合の順位付けをクエリからタスクへのマッピングについて作成することができる。第３のジェネレータコンポーネント６１１は、決定されたしきい値よりも低い順位付けを受け取るクエリおよびタスクのマッピングを排除することができる。第３のジェネレータコンポーネント６１１は、ハードウェア、もしくはソフトウェアを使用するか、またはハードウェアとソフトウェアとを併用して実装することができる。
【００４４】
レビューアコンポーネント６１５は、複数のクエリと複数のタスクとの間の作成されたマッピングのうちどれが意味のあるものかを決定し、および意味のないマッピングを排除することが望ましい。レビューアとして作業する、人のアノテータは、クエリおよびタスクの語の関連する技術に精通したものであるのが望ましく、これにより、各々のマッピングを調べて、クエリおよびタスクの語に関係があるように思われない場合にマッピングを排除することができる。さらに、このレビューは自動化またはコンピュータ化することもできる。このような場合、このレビューアコンポーネント６１５は、ハードウェア、もしくはソフトウェアを使用するか、またはハードウェアとソフトウェアとを併用して実装することができる。
【００４５】
コンピューティング環境の実施例
図７は、本発明を実施するのに適しているコンピューティングシステム環境７００の一実施例の図である。コンピューティングシステム環境７００は、適当なコンピューティング環境の一例にすぎず、本発明の用途または機能性の範囲に関する制限を示唆する意図はない。コンピューティング環境７００は、動作環境例７００に例示されている１つのコンポーネントまたはその組み合わせに関係する何らかの依存関係または要求条件がその環境にあるものと解釈すべきでない。
【００４６】
本発明は、他の数多くの汎用または専用コンピューティングシステム環境または構成で動作する。本発明とともに使用するのに適していると思われるよく知られているコンピューティングシステム、環境、および／または構成の例として、これらに限定はしないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記システムまたはデバイスを含む分散コンピューティング環境などがある。
【００４７】
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的背景状況において説明することができる。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。また、本発明は、通信ネットワークまたは他のデータ伝送媒体を通じてリンクされているリモート処理デバイスによりタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールおよびその他のデータをメモリ記憶デバイスなどのローカルとリモートの両方のコンピュータ記憶媒体に配置できる。
【００４８】
図７では、本発明を実装する例示されているシステムは、コンピュータ７１０の形態の汎用コンピューティングデバイスを備える。コンピュータ７１０が備えるコンポーネントとしては、これらに限定はしないが、処理ユニット７２０、システムメモリ７３０、およびシステムメモリを備えるさまざまなシステムコンポーネントを処理ユニット７２０に結合するシステムバス７２１などがある。システムバス７２１には、メモリバスまたはメモリコントローラ、周辺機器バス、およびさまざまなバスアーキテクチャを使用するローカルバスを含む数種類のバス構造がありえる。
【００４９】
コンピュータ７１０は通常、さまざまなコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ７１０によってアクセスされることができる媒体であればどのような媒体でも使用可能であり、揮発性および不揮発性媒体、取り外し可能および取り外し不可能媒体を含む。例えば、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、またはその他のデータなどの情報を格納する方法または技術で実装される揮発性および不揮発性、取り外し可能および取り外し不可能媒体を含む。コンピュータ記憶媒体としては、これらに限定はしないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多目的ディスク（ＤＶＤ）またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶デバイス、または所望の情報を格納するために使用することができコンピュータ７１０によりアクセスできるその他の媒体がある。通信媒体は、通常、コンピュータ可読命令、データ構造体、プログラムモジュール、または搬送波もしくはその他のトランスポートメカニズムなどの変調データ信号によるその他のデータを具現するものであり、任意の情報配信媒体を含む。例えば、限定しないが、通信媒体としては、有線ネットワークまたは直接配線接続などの有線媒体、ならびに、音響、ＲＦ、赤外線、およびその他の無線媒体などの無線媒体がある。上記のいずれの組み合わせもコンピュータ可読媒体の範囲に収まらなければならない。
【００５０】
システムメモリ７３０は、ＲＯＭ  ７３１およびＲＡＭ  ７３２などの揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を備える。起動時などにコンピュータ７１０内の要素間の情報伝送を助ける基本ルーチンを含む基本入出力システム７３３（ＢＩＯＳ）は、通常、ＲＯＭ  ７３１に格納される。通常、ＲＡＭ  ７３２は、処理ユニット７２０に直接アクセス可能な、および／または処理ユニット１２０によって現在操作されているデータおよび／またはプログラムモジュールを格納する。例えば、限定しないが、図７は、オペレーティングシステム７３４、アプリケーションプログラム７３５、その他のプログラムモジュール７３６、およびプログラムデータ７３７を例示している。
【００５１】
コンピュータ７１０はさらに、その他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体を備えることもできる。例えば、図７は、取り外し不可能な不揮発性磁気媒体の読み出しまたは書き込みを行うハードディスクドライブ７４０、取り外し可能な不揮発性磁気ディスク７５２の読み出しまたは書き込みを行う磁気ディスクドライブ７５１、およびＣＤ  ＲＯＭまたはその他の光媒体などの取り外し可能な不揮発性光ディスク７５６の読み出しまたは書き込みを行う光ディスクドライブ７５５を例示している。動作環境の実施例で使用できる他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体としては、これらに限定はしないが、磁気テープカセット、フラッシュメモリカード、デジタル多目的ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどがある。ハードディスクドライブ７４１は、通常、インターフェイス７４０などの取り外し不可能なメモリインターフェイスを介してシステムバス７２１に接続され、磁気ディスクドライブ７５１および光ディスクドライブ７５５は、通常、インターフェイス７５０などの取り外し可能なメモリインターフェイスによりシステムバス７２１に接続される。
【００５２】
ドライブおよび関連するコンピュータ記憶媒体は、コンピュータ７１０用のコンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータを格納するための記憶装置を実現する。例えば、図７では、ハードディスクドライブ７４１は、オペレーティングシステム７４４、アプリケーションプログラム７４５、その他のプログラムモジュール７４６、およびプログラムデータ７４７を格納するものとして例示されている。これらのコンポーネントは、オペレーティングシステム７３４、アプリケーションプログラム７３５、その他のプログラムモジュール７３６、およびプログラムデータ７３７と同じである場合もあれば異なる場合もあることに注意されたい。オペレーティングシステム７４４、アプリケーションプログラム７４５、その他のプログラムモジュール７４６、およびプログラムデータ７４７に対しては、ここで、異なる番号を割り当てて、最低でも、それが異なるコピーであることを示している。ユーザは、キーボード７６２、およびマウス、トラックボール、またはタッチパッドと一般に呼ばれるポインティングデバイス７６１などの入力デバイスを介してコンピュータ７１０にコマンドおよび情報を入力できる。これらの入力デバイスやその他の入力デバイスは、システムバスに結合されているユーザ入力インターフェイス７６０を介して処理ユニット７２０に接続されることが多いが、他のインターフェイスおよびバス構造により接続することもできる。モニタ７９１またはその他の種類の表示デバイスも、ビデオインターフェイス７９０などのインターフェイスを介してシステムバス７２１に接続される。モニタのほかに、コンピュータはさらにスピーカ７９７およびプリンタ７９６などの他の周辺出力デバイスも備えることができ、これらは出力周辺インターフェイス７９５を介して接続することができる。
【００５３】
コンピュータ７１０は、リモートコンピュータ７８０などの１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク接続環境で動作することができる。リモートコンピュータ７８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、またはその他の共通ネットワークノードでもよく、通常は、コンピュータ７１０に関係する上述の要素の多くまたはすべてを含むが、メモリ記憶デバイス７８１だけが図７に例示されている。示されている論理接続は、ＬＡＮ７７１およびＷＡＮ７７３を含むが、他のネットワークを含むこともできる。
【００５４】
ＬＡＮネットワーキング環境で使用される場合、ネットワークインターフェイスまたはアダプタ７７０を介してＬＡＮ  ７７１にコンピュータ７１０が接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ７１０は、通常、モデム７７２またはインターネットなどのＷＡＮ  ７７３上で通信を確立するためのその他の手段を備える。モデム７７２は、内蔵でも外付けでもよいが、ユーザ入力インターフェイス７６０またはその他の適切なメカニズムを介してシステムバス７２１に接続することができる。ネットワーク接続環境では、コンピュータ７１０またはその一部に関して示されているプログラムモジュールは、リモートメモリ記憶デバイスに格納することができる。例えば、限定しないが、図７には、リモートアプリケーションプログラム７８５がメモリデバイス７８１に置かれているものとして例示されている。図に示されているネットワーク接続は実施例であり、コンピュータ間の通信リンクを確立するのに他の手段が使用可能であることは理解されるであろう。
【００５５】
上述のように、さまざまなコンピューティングデバイスに関連して本発明の複数の実施例が説明されたが、基本的な概念は、どのようなコンピューティングデバイスまたはシステムにも適用可能である。
【００５６】
本明細書で説明されているさまざまな手法は、ハードウェアまたはソフトウェアに関連して、または該当する場合には、その両方の組み合わせに関連して実装することができる。したがって、本発明の方法および装置、またはそれらのいくつかの態様または一部は、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ハードドライブ、またはその他の機械可読記憶媒体などの有形な媒体内に具現化されたプログラムコード（つまり、命令）の形態を取ることができ、プログラムコードがコンピュータなどの機械に読み込まれ実行されると、機械は本発明を実施するための装置となる。プログラムコードがプログラム可能なコンピュータ上で実行される場合、コンピューティングデバイスは、一般に、プロセッサ、プロセッサにより読み取り可能な記憶媒体（揮発性および不揮発性メモリおよび／または記憶素子を含む）、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスを含む。プログラムは、必要ならば、アセンブリまたは機械語で実装することができる。いずれの場合も、言語は、コンパイル型言語またはインタプリタ型言語であり、ハードウェア実装と組み合わせることができる。
【００５７】
本発明の方法および装置は、さらに、光ファイバを使用する電気配線またはケーブル配線などの何らかの伝送媒体上で伝送されるプログラムコードの形態で具現化される通信を介して、または他の形態の伝送を介して実施することもでき、プログラムコードがＥＰＲＯＭ、ゲートアレイ、プログラム可能論理回路（ＰＬＤ）、クライアントコンピュータなどのマシンにより受信され、読み込まれ、実行されると、マシンは本発明を実施するための装置となる。汎用プロセッサ上に実装された場合、プログラムコードとプロセッサとが組み合わさって、本発明の機能を呼び出す動作をする独自の装置を実現する。さらに、本発明に関連して使用される格納手法は、常に、ハードウェアとソフトウェアとの組み合わせであってよい。
【００５８】
本発明において、さまざまな形の実施形態に関連して説明したが、他の類似の実施形態を使用するか、または説明されている実施形態に修正および追加を行って、本発明から逸脱することなく本発明の同じ機能を実行するようにできることは理解されるであろう。したがって、本発明は、単一の実施形態に限定すべきではなく、むしろ、特許請求の範囲の定める範囲内で解釈すべきである。
【図面の簡単な説明】
【００５９】
【図１】本発明による、ファイルの集合へのクエリのマッピングの例を示す図である。
【図２】本発明による、ファイルの集合へのタスクのマッピングの例を示す図である。
【図３】本発明による、クエリからファイルの集合へのマッピングとタスクからファイルの集合へのマッピングとの間の重複部分の例を示す図である。
【図４】本発明による、クエリからタスクへのマッピングの方法の一例を示すフローチャートである。
【図５】本発明による、作成されたマッピングに重みを割り当てる方法の一例を説明するための図である。
【図６】本発明による、システムの一例のコンポーネントを示すブロック図である。
【図７】本発明のいくつかの態様を実装することができるコンピューティング環境の一例を示すブロック図である。
【図１】
2005339542.tif 000003
【図２】
2005339542.tif 000004
【図３】
2005339542.tif 000005
【図４】
2005339542.tif 000006
【図５】
2005339542.tif 000007
【図６】
2005339542.tif 000008
【図７】
2005339542.tif 000009