(57)【特許請求の範囲】
【請求項１】
情報検索であり、特にテキストＴの形で記憶された情報のためのサーチシステムであって、テキストＴがワードおよび／または記号とそれらのシーケンスを含み、前記情報検索はワードおよび／または記号とそれらのシーケンスを含む質問ＱとテキストＴから得られるワードおよび／または記号とそれらのシーケンスを含む検索される情報Ｒとの間の所定のまたは可変の一致の度合いでもって実施され、少なくともテキストＴの一部分を記憶するためのデータ構造と、前記質問Ｑと検索される情報Ｒとの間の一致の度合いを測定するメトリックＭと、サーチ、特にキーワードｋｗに基づいて全文サーチを実行するサーチ・アルゴリズムを含んでいる前記サーチ・システムにおいて、
前記データ構造は、テキストＴにおけるワードおよび／または記号とそれらシーケンスの接尾語を記憶する非均一スペースト疎接尾語ツリーＳＴ（Ｔ）の形式におけるツリー構造を含んでいることと、
テキストＴにおけるワードおよび／または記号と質問Ｑの間の近似的な一致の度合いについての編集ディスタンス・メトリック、およびテキストＴにおけるワードおよび／または記号のシーケンスＳと質問Ｑにおけるワードおよび／または記号の質問シーケンスＰの間の近似的な一致の度合いについての編集ディスタンス・メトリックの組合せを前記メトリックＭが含んでいて、
後者の編集ディスタンス・メトリックが前記テキストＴ内のワードおよび／または記号の１つのシーケンスＳを前記質問Ｑ内のワードおよび／または記号のシーケンスＰへ変換する編集オペレーションのための重み付けコスト関数を含み、前記重みは、変換におけるシーケンスの長さの変化に比例するかまたは照合すべきシーケンスにおけるワードおよび／または記号のサイズによって異なる１つの値によって実現することと、
テキストＴと質問Ｑの各々の接尾語ツリー表現内のワードおよび／または記号の間の一致の度合いを決定する第１アルゴリズムおよびテキストＴと質問Ｑの各々の接尾語ツリー表現内のワードおよび／または記号のシーケンスの間の一致の度合いを決定する第２アルゴリズムをインプリメントされた前記サーチ・アルゴリズムを含んでいて、
前記第１および／または第２のアルゴリズムは、ワード、ワードのシーケンス、または記号のシーケンスまたはこれらの組合せの形式の質問Ｑで、データ構造をサーチして、これにより前者と後者の間の規定された一致の度合いによる質問Ｑに基づいて情報Ｒが検索されるようになっていることと、
前記サーチ・アルゴリズムはまたオプションとして、テキストＴおよび質問Ｑの各々の接尾語ツリー表現におけるワードおよび／または記号の間の完全一致を決定する第３アルゴリズムと、テキストＴおよび質問Ｑの各々の接尾語ツリー表現におけるワードおよび／または記号のシーケンスの間の完全一致を決定する第４アルゴリズムを含んでいて、
前記第３アルゴリズムおよび／または前記第４アルゴリズムはワードか記号かワードのシーケンスか記号のシーケンスかこれらの組合せかの形式における質問Ｑによりデータ構造をサーチして、これにより情報Ｒが質問Ｑに基づいて、前者と後者の完全一致により検索されることを特徴とする前記サーチシステム。
【請求項２】
前記非均一スペースト疎接尾語ツリーＳＴ（Ｔ）が、テキストＴ内に接尾語の１つのサブセットのみを含んでいるワード・スペースト疎接尾語ツリーＳＳＴWS（Ｔ）であることを特徴とする請求項１記載のサーチ・システム。
【請求項３】
前記ワード・スペースト疎接尾語ツリーＳＳＴWS（Ｔ）がキーワード・スペースト疎接尾語ツリーＳＳＴkWS（Ｔ）であることを特徴とする請求項２記載のサーチ・システム。
【請求項４】
キーワード・スペースト疎接尾語ツリーＳＳＴkWS（Ｔ）内のキーワードの一致の度合いを検出する第１アルゴリズムが下記のように擬似コードでインプリメントされていることを特徴とする請求項３記載のサーチ・システム。
0003581652.tif 000021
【請求項５】
キーワード・スペースト疎接尾語ツリーＳＳＴkWS（Ｔ）内のキーワードの一致の度合いを検出する第２アルゴリズムが下記のように擬似コードでインプリメントされていることを特徴とする請求項３記載のサーチ・システム。
0003581652.tif 000022
【請求項６】
前記第２アルゴリズムのＡｐｐｒｏｘＭａｔｃｈＲｅｓｔサブルーチンが下記のように擬似コードでインプリメントされていることを特徴とする請求項５記載のサーチ・システム。
0003581652.tif 000023
【請求項７】
キーワード・スペースト疎接尾語ツリーＳＳＴkWS（Ｔ）内の正確なキーワード照合を決定する第３アルゴリズムが下記のように擬似コードでインプリメントされていることを特徴とする請求項３記載のサーチ・システム。
0003581652.tif 000024
【請求項８】
キーワード・スペースト疎接尾語ツリーＳＳＴkWS（Ｔ）内の正確なキーワード・シーケンスの照合を決定する第４アルゴリズムが下記のように擬似コードでインプリメントされていることを特徴とする請求項３記載のサーチ・システム。
0003581652.tif 000025
【請求項９】
テキストの形式で記憶された情報の情報検索のシステムにおける方法であって、
テキストＴがワードおよび記号とそれらのシーケンスを含んでいて、ワードおよび記号とそれらのシーケンスを含んでいる質問ＱとテキストＴからのワードおよび記号とそれらのシーケンスを含んでいる検索された情報Ｒとの間の所定のまたは可変の一致の度合いでもって前記情報検索が実施され、検索された情報ＲはテキストＴからのワードおよび記号とそれらのシーケンスを含んでいて、
前記サーチ・システムは少なくともテキストＴの一部分を記憶するためのデータ構造と、質問Ｑと検索された情報Ｒの間の一致の度合いを測定するメトリックＭを含んでいて、特にキーワードｋｗに基づく全文サーチであるサーチを実行するサーチとアルゴリズムを前記サーチシステムがインプリメントし、
前記テキスト内の前記情報はワードとワード・シーケンスへ分割され、前記ワードはワード境界項により分離された全テキストのサブストリングであって記号のシーケンスを形成し、各ワードは記号のシーケンスとして構成され、
テキストＴ内のワード・セパレータ記号で開始する全ての接尾語を表現するテキストＴのワード・スペースト疎接尾語ツリーＳＳＴWS（Ｔ）として前記データ構造を生成し、テキストＴ内のワードのシーケンス情報をワード・スペースト疎接尾語ツリーＳＳＴWS（Ｔ）内に記憶し、テキストＴ内のワードの編集ディスタンス・メトリックＤ（ｓ，ｑ）と、質問Ｑ内の質問ワードｑと、テキストＴ内のワードのシーケンスＳのワード・サイズ依存編集ディスタンス・メトリックＤWS（Ｓ，Ｐ）と、質問Ｑ内のワードｑのシーケンスＰを含んでいる組合せ編集ディスタンス・メトリックＭを生成し、
前記編集ディスタンス・メトリックＤWS（Ｓ，Ｐ）はシーケンスＳをシーケンスＰへ変換する編集オペレーションのコストの最小和であり、このコストの最小和は、シーケンスＳの全長の変化に比例するパラメータまたはカレントのワード長とシーケンスＳ；Ｐ内の平均ワード長の比率により重み付けられる各編集オペレーションのコスト関数の最小和であり、検出される情報Ｒのワードｓと質問Ｑの間の編集ディスタンスＤ（ｓ，ｑ）を計算することによりワードｓ，ｑの間の一致の度合いを決定し、
または前記ワードｓ，ｑが互いからｋ個のエラーを超える場合は、全ての照合について編集ディスタンスＤWS（ＳR，ＰQ）を計算することにより、検出される情報Ｒと質問ＱのそれぞれのワードシーケンスＳR，ＰQの間の一致の度合いを決定することを特徴とする前記方法。
【請求項１０】
ワードｓとワードｑのキャラクタの間の近接についてのパラメータによりワードｓを他のワードｑへ変更する編集オペレーションを追加的に重み付けることにより、問題の編集オペレーションのコストを決定するときにワードｓとワードｑの類似性を考慮に入れることを特徴とする請求項９記載の方法。
【請求項１１】
質問ワード・シーケンスＰQ内の制限されたワードの数についての編集ディスタンスＤws（ＳR，ＰQ）を計算することにより、照合の数を制限することを特徴とする請求項９記載の方法。
【請求項１２】
ワードｓとワードｑの間の編集ディスタンスＤ（ｓ，ｑ）を再帰的に定義して、動的プログラミング手順により前記編集ディスタンスＤ（ｓ，ｑ）を計算することを特徴とする請求項９記載の方法。
【請求項１３】
シーケンスＳとシーケンスＰの間の編集ディスタンスＤws（Ｓ，Ｐ）を再帰的に定義して、動的プログラミング手順により前記編集ディスタンスＤws（Ｓ，Ｐ）を計算することを特徴とする請求項９記載の方法。
【請求項１４】
請求項１記載のサーチ・システムを使用した近似サーチ・システム。
【発明の詳細な説明】
【０００１】
本発明は情報検索、特にテキストＴの形で記憶された情報のためのサーチシステムであって、テキストＴがワードおよび／または記号とそれらのシーケンスを含んでいて、前記情報検索はワードおよび／または記号とそれらのシーケンスを含んでいる質問ＱとテキストＴからのワードおよび／または記号とそれらのシーケンスを含んでいる検索される情報Ｒとの間の所定のまたは可変の一致の度合いでもって実施され、少なくともテキストＴの一部分を記憶するためのデータ構造と、前記質問Ｑと検索される情報Ｒの間の一致の度合いを測定するメトリックＭと、サーチ、特にキーワードｋｗに基づいて全文サーチを実行するサーチ・アルゴリズムをインプリメントする前記サーチ・システムと；特にテキストの形式で記憶された情報の情報検索のシステムにおける方法であって、テキストＴがワードおよび記号とそれらのシーケンスを含んでいて、ワードおよび記号とそれらのシーケンスを含んでいる質問ＱとテキストＴからのワードおよび記号とそれらのシーケンスを含んでいる検索された情報Ｒとの間の所定のまたは可変の一致の度合いにより前記情報検索が実施され、検索された情報ＲはテキストＴからのワードおよび記号とそれらのシーケンスを含んでいて、前記サーチ・システムは少なくともテキストＴの一部分を記憶するためのデータ構造と、質問Ｑと検索された情報Ｒの間の一致の度合いを測定するメトリック（測定法）Ｍを含んでいて、特にキーワードｋｗに基づく全文サーチであるサーチを実行するサーチアルゴリズムを前記サーチシステムがインプリメントし、前記テキスト内の前記情報はワードとワード・シーケンスへ分割され、前記ワードはワード境界項により分離された全テキストのサブストリングであって記号のシーケンスを形成し、各ワードは記号のシーケンスとして構成される前記方法に関する。
【０００２】
本発明はまた、前記サーチ・システムの使用に関する。
【０００３】
人知の種々な分野の巨大な量の情報がコンピュータ・メモリ・システムに収集され記憶されている。コンピュータ・メモリ・システムがますます公衆利用データ通信ネットワークにリンクされるにつれて、公共的および個人的な使用のための情報のサーチと検索のシステムと方法が一層の努力で開発されてきた。しかしながら、現在のデータ・サーチ方法は、記憶された情報を効率的に検索して使用する可能性を大きく減少させる種々の制限がある。
【０００４】
情報は種々のデータ・タイプの形式で記憶され得るし、情報のサーチと検索の文脈において、動的データと静的データの間を識別することは有用である。動的データはしばしば継続的に変化するデータであり、有効データのセットが常に変化するのに対して、静的データは非常に稀にしか、または全然変化しない。例えば株価のような経済データ、または気象データは急激な変化を受けやすいので動的である。他方、書物とドキュメントのアーカイバル・ストレージは通常永久的な静的データである。データの揮発性の概念は、どれくらいの期間データが有効であるかに関係する。データの揮発性は、その情報がどれくらいの期間サーチされ検索されるかに関係がある。大量のデータは、サーチを容易にするために構造を必要とするが、そうした構造を構築する時間コストは、そのデータが有効である時間よりも高くてはならない。構造を構築するコストはデータ量によって決まり、従って、情報をサーチするためのデータ構造の構築は、データ量と揮発性の両方を考慮に入れなければならない。収集された情報はデータベースに記憶されるが、これらは構造化されているかもしれないし、構造化されていないかもしれない。その上、データベースはいくつかのタイプのドキュメントを含み得て、それには、映像、ビデオ、音響、フォーマット付きまたは注釈付きのテキストが含まれる。特に構造化データベースは、データのサーチと検索を容易にするために、通常、索引を備えている。ワールド・ワイド・ウェブ（ＷＷＷ）の成長は、複合ハイパーリンク・ドキュメントの収集の確実な成長を提供する。これらの大多数は構造化データベース内に収集されず、サーチを容易にするインデックスは何も利用できない。しかしながら、ワールド・ワイド・ウェブ内にドキュメントをサーチする必要は明白であり、その結果、多数のいわゆるサーチ・エンジンが開発されて、ワールド・ワイド・ウェブ内の情報が少なくとも部分的に利用できるようになった。
【０００５】
サーチ・エンジンは、情報をサーチし検索する１つまたはそれ以上のツールであると一般に理解されている。サーチ・システムはまた、固有のサーチ・システムに加えて、例えば多数のユニフォーム・リソース・ロケーター（ＵＲＬ）からのテキストを含んでいる。そうしたサーチ・エンジンの例には、Ａｌｔａ  Ｖｉｓｔａ、Ｉｎｋｔｏｍｙ  ｔｅｃｈｎｏｌｏｇｙによるＨｏｔＢｏｔ、Ｉｎｆｏｓｅｅｋ、Ｅｘｃｉｔｅ、Ｙａｈｏｏがある。これらの全ては、ワールド・ワイド・ウェブ内での情報のサーチと検索を遂行する機能を提供する。しかしながら、それらの速度と性能は、ワールド・ワイド・ウェブ上で利用可能な情報の巨大な量に決して整合せず、従って、これらのサーチ・エンジンのサーチと検索の性能が、大いに望ましいものとして残る。
【０００６】
テキスト・ドキュメントの大きなコレクションをサーチすることは、いくつかの質問型を実行することにより通常行ない得る。最も一般的な質問型は、照合とこの変形である。質問される情報内に現存するはずであるキーワードまたはキーワードのセットを指定することにより、サーチ・システムはこの要件を満たすすべてのドキュメントを検索する。基本的なサーチ方法は、いわゆる単一キーワード照合に基づいている。キーワードｐがサーチされて、このワードを含む全てのドキュメントが検索される。キーワード接頭語ｐjをサーチすることも可能であり、またドキュメント内のいずれかのキーワード内でこの接頭語が存在する全てのドキュメントが検索される。キーワードによって検索する代わりに、しばしばサーチはいわゆる用語の完全一致に基づくこともあり、この場合はサーチは特定のシーケンス内のいくつかの単一キーワードを使用する。当業者に公知のように、キーワード・フレーズの厳密な照合（完全一致）は、多くのシステムにおいてブール演算子によって、例えば情報のフィルタリングを可能にするＡＮＤ、ＯＲ、ＮＯＴのような演算子に基づいて実行され得る。例えばＡＮＤフレーズを使用すれば、このＡＮＤ演算子によりリンクされる２つのキーワードを含む全てのドキュメントが結果として返される。またＮＥＡＲオペレータも、キーワード照合により返すドキュメント自体およびそのドキュメント・テキスト内で互いに「近く」位置するものを返すために使用される。多くの構造化データベースにおいて、データベース内に含まれるドキュメントは、例えばドキュメント内の情報のある部分またはタイプを記すフィールドを備えていて、注釈されている。これにより、ドキュメントの部分のみの照合のためのサーチが可能になり、質問される情報のタイプが予め知られているときに有用である。
【０００７】
テキスト・ドキュメント内でサーチするときにデータは構造化されていて、たぶん英語、ノルウェイ語などのようなある自然言語で存在するであろう。ある一定の文脈によりドキュメントをサーチするときに、質問に近似的に照合するキーワードまたはフレーズを照合させるために、近接メトリックを適用することができる。キーワードおよびフレーズ内のエラーを許容することは、近接のための普通の方法であり、シソーラスを使用することはもう一つの普通の方法である。近接サーチは、検索される情報と質問の間に、部分的な照合があることのみを必要とする。国際公表特許出願ＷＯ９６／００９４５、名称「可変長データ・シーケンス照合方法と装置」（デリンガ他）、インターナショナル・ビジネス・マシン社に譲渡は、入力からのサーチ・アーギュメント（入力キー）の少なくとも部分的な照合、好ましくは最長の部分的照合または全ての部分的な照合を記憶し検索するためのトライ類似の構造（ｔｒｉｅ−ｌｉｋｅ  ｓｔｒｕｃｔｕｒｅ）を開示する。
【０００８】
一般的な先行技術を更に明らかにするために、国際公表特許出願ＷＯ９２／１５９５４（キンバル他、米国のレッド・ブリック・システム社に譲渡、）および米国特許第５  ６２７  ７４８号（ベイカー他、米国のルーセント・テクノロジー社へ譲渡）に言及することができ、これらは両方とも正方行列内のサーチ／照合のための接尾語ツリーの形式のデータ構造を開示する。これら２つの公表特許はいずれも、リンクされたリストを照合中に使用すること以外には、正規の接尾語表現を超えるものを何も開示せず、近似照合のためにサーチ中にサーチ空間を制限する解決法を教示または示唆しない。しかしながら、接尾語ツリーに基づくデータ構造をサーチに適用するときには、そうした解決法が最も望ましく、特に、ワールド・ワイド・ウェブに見出し得るような極度に大きなドキュメント・コレクションにおける近似照合において、最も望ましい。
【０００９】
こうして本発明の主要な目的は、大量のデータにおいて迅速で能率的な情報のサーチと検索のためのサーチシステムと方法を供給することである。特に、分散した大量のデータ記憶を有する情報システム、例えばインターネットのサーチのためのサーチ・エンジンをインプリメントするのに適したサーチ・システムを供給することが、本発明の１つの目的である。理解すべきは、本発明によるサーチ・システムは英数字記号の形式により記憶された情報をサーチし検索するのに決して限定されず、ディジタル化された画像およびグラフィック記号の形式で記憶された情報をサーチし検索するためにも同様に適用でき、同様に本書に使用されるワード・テキストも、これらが部分的または全体的に記号のセットとして表現されるときは、画像として解釈され得ることである。また理解すべきは、本発明によるサーチ・システムが、商用コンピュータ・システム上で適当な高水準言語で書かれたソフトウェアとしてインプリメントできるが、前記の種類の情報のサーチと検索のために専用プロセッサ装置の形式でインプリメントすることもできることである。
【００１０】
上記の諸目的と諸利点は本発明によるサーチ・システムにより実現されるが、その特徴は、前記データ構造は、テキストＴにおけるワードおよび／または記号とそれらシーケンスの接尾語を記憶する非均一スペースト疎接尾語ツリーＳＴ（Ｔ）の形式におけるツリー構造を含んでいることと、テキストＴにおけるワードおよび／または記号と質問Ｑの間の照合の近似的な度合いについての編集ディスタンス・メトリック、およびテキストＴにおけるワードおよび／または記号のシーケンスＳと質問Ｑにおけるワードおよび／または記号の質問シーケンスＰの間の照合の近似的な度合いについての編集ディスタンス・メトリックの組合せを前記メトリックＭが含んでいて、後者の編集ディスタンス・メトリックが前記テキストＴ内のワードおよび／または記号の１つのシーケンスＳを前記質問Ｑ内のワードおよび／または記号のシーケンスＰへ変換する編集オペレーションのための重み付けコスト関数を含み、前記重みは、変換におけるシーケンスの長さの変化に比例するかまたは照合すべきシーケンスにおけるワードおよび／または記号のサイズによって異なる１つの値によって実現することと、テキストＴと質問Ｑの各々の接尾語ツリー表現内のワードおよび／または記号の間の一致の度合いを決定する第１アルゴリズムおよびテキストＴと質問Ｑの各々の接尾語ツリー表現内のワードおよび／または記号のシーケンスの間の一致の度合いを決定する第２アルゴリズムをインプリメントされた前記サーチ・アルゴリズムを含んでいて、前記第１および／または第２のアルゴリズムは、ワード、ワードのシーケンス、または記号のシーケンスまたはこれらの組合せの形式の質問Ｑで、データ構造をサーチして、これにより前者と後者の間の規定された一致の度合いによる質問Ｑに基づいて情報Ｒが検索されるようになっていることと、前記サーチ・アルゴリズムはまたオプションとして、テキストＴおよび質問Ｑの各々の接尾語ツリー表現におけるワードおよび／または記号の間の完全一致を決定する第３アルゴリズムと、テキストＴおよび質問Ｑの各々の接尾語ツリー表現におけるワードおよび／または記号のシーケンスの間の完全一致を決定する第４アルゴリズムを含んでいて、前記第３アルゴリズムおよび／または前記第４アルゴリズムはワードか記号かワードのシーケンスか記号のシーケンスかこれらの組合せかの形式における質問Ｑによりデータ構造をサーチして、これにより情報Ｒが質問Ｑに基づいて、前者と後者の完全一致により検索されることである。
【００１１】
本発明によるサーチシステムの有利な実施例において、前記接尾語ツリーＳＴ（Ｔ）は、テキストＴ内に接尾語の１つのサブセットのみを含んでいるワード・スペースト疎接尾語ツリーＳＳＴWS（Ｔ）である。
【００１２】
それからワード・スペースト疎接尾語ツリーＳＳＴWS（Ｔ）は、好ましくはキーワード・スペースト疎接尾語ツリーＳＳＴkWS（Ｔ）である。
【００１３】
本発明の更なる有利な実施例において、キーワード・スペースト疎接尾語ツリーＳＳＴkWS（Ｔ）においてキーワード一致の度合いを検出する第１アルゴリズムは従属請求項４により開示されたようにインプリメントされ、キーワード・スペースト疎接尾語ツリーＳＳＴkWS（Ｔ）においてキーワード一致の度合いを検出する第２アルゴリズムは従属請求項５により開示されたようにインプリメントされ、これにより第２アルゴリズムのサブルーチンが従属請求項６に開示されたようにインプリメントされるのが好ましく、キーワード・スペースト疎接尾語ツリーＳＳＴkWS（Ｔ）においてキーワード一致の度合いを検出する第３アルゴリズムは従属請求項７により開示されたようにインプリメントされ、最後にキーワード・スペースト疎接尾語ツリーＳＳＴkWS（Ｔ）においてキーワード一致の度合いを検出する第４アルゴリズムは従属請求項８により開示されたようにインプリメントされる。
【００１４】
上記の諸目的と諸利点はまた、本発明による方法で実現されるが、その特徴は、テキストＴ内のワード・セパレータ記号で開始する全ての接尾語を表現するテキストＴのワード・スペースト疎接尾語ツリーＳＳＴWS（Ｔ）として前記データ構造を生成し、テキストＴ内のワードのシーケンス情報をワード・スペースト疎接尾語ツリーＳＳＴWS（Ｔ）内に記憶し、テキストＴ内のワードの編集ディスタンス・メトリックＤ（ｓ，ｑ）と、質問Ｑ内の質問ワードｑと、テキストＴ内のワードのシーケンスＳのワード・サイズ依存編集ディスタンス・メトリックＤWS（Ｓ，Ｐ）と、質問Ｑ内のワードｑのシーケンスＰを含んでいる組合せ編集ディスタンス・メトリックＭを生成し、前記編集ディスタンス・メトリックＤWS（Ｓ，Ｐ）はシーケンスＳをシーケンスＰへ変換する編集オペレーションのコストの最小和であり、このコストの最小和は、シーケンスＳの全長の変化に比例するパラメータまたはカレントのワード長とシーケンスＳ；Ｐ内の平均ワード長の比率により重み付けられる各編集オペレーションのコスト関数の最小和であり、検出される情報Ｒのワードｓと質問Ｑの間の編集ディスタンスＤ（ｓ，ｑ）を計算することによりワードｓ，ｑの間の一致の度合いを決定し、または前記ワードｓ，ｑが互いからｋ個のエラーを超える場合は、全ての照合について編集ディスタンスＤWS（ＳR，ＰQ）を計算することにより、検出される情報Ｒと質問ＱのそれぞれのワードシーケンスＳR，ＰQの間の一致の度合いを決定することである。
【００１５】
本発明による有利な方法は追加的に、ワードｓおよびｑのキャラクタの間の近接のパラメータにより、ワードｓをワードｑへ変更する編集オペレーションに重みを付けて、これにより、編集オペレーションのコストを決定するときに問題のワードｓとｑの類似性を考慮に入れることを含む。
【００１６】
本発明による方法の有利な実施例において、好ましくは、質問ワード・シーケンスＰQ内の制限されたワードの数についての編集ディスタンスＤws（ＳR，ＰQ）を計算することにより、編集ディスタンスを計算して、これにより照合の数を制限する。
【００１７】
本発明による方法の他の有利な実施例において、ワードｓとワードｑの間の編集ディスタンスＤ（ｓ，ｑ）は再帰的に定義され、動的プログラミング手順により前記編集ディスタンスＤ（ｓ，ｑ）が計算され、また、シーケンスＳとシーケンスＰの間の編集ディスタンスＤws（Ｓ，Ｐ）が対応して再帰的に定義され、動的プログラミング手順により前記編集ディスタンスＤws（Ｓ，Ｐ）が計算される。
【００１８】
本発明によれば、上述の諸目的と諸利点はまた、近似サーチ・エンジン内で本発明によるサーチ・システムを使用することにより実現することができる。
【００１９】
本発明によるサーチ・システムは本質的に３つの部分、すなわち、データ構造、近似的な一致のためのメトリック、サーチ・アルゴリズムからなる。全文検索がターゲットであるときは、本質的に本発明によるサーチ・システムによる場合の様に、検索可能であるべきデータ・セット全体が、高い質問性能をサポートするデータ構造内に記憶される。
【００２０】
本発明の基礎にある基本的な概念を最初にやや詳しく議論する。テキストＴの形式で記憶された情報はワードｓとワードのシーケンスＳへ分割される。ワードは、ワード境界項により分離された全テキストのサブストリングである。境界項のセットはＢＴwordと記される。ワード境界項の共通セットはセット
0003581652.tif 000002
であり得て、ここで＼ｔはタブ・キャラクタを表し、＼ｎは改行キャラクタを表し、＼０はドキュメント終了指示子を表す。本発明の下記の説明に関して、ストリングとシーケンスに関するいくつかの定義が有用である。
【００２１】
（定義１：ストリング）
ストリングはＡＳＣＩＩキャラクタのような、アルファベットから取られた記号のシーケンスである。次にストリングの長さは、そのストリングに含まれている記号またはキャラクタのインスタンスの数であり、｜ｘ｜と記される。もしｘが長さｍを有するならば、このストリングはまたｘ1ｘ2...ｘi...ｘmと記され、ここでｘiはストリング内のｉ番目の記号を表現する。
【００２２】
ｘのサブストリングは、ｘ内の記号の連続グループにより与えられるストリングである。こうして、ストリングの始めまたは終りから１つまたはそれ以上のキャラクタを削除することにより、サブストリングが得られる。
【００２３】
（定義２：サブストリング、接尾語、接頭語）
ｘのサブストリングは、ある
0003581652.tif 000003
についてのスング
0003581652.tif 000004
である。ストリング
0003581652.tif 000005
はストリングｘの接尾語であり、また、ストリング
0003581652.tif 000006
はストリングｘの接頭語である。
【００２４】
ワード・シーケンスの観念も使用される。
【００２５】
（定義３：ワード・シーケンス）
ワード・シーケンスは分離された連続するワードである。ワード・シーケンスs=ｓ1，ｓ2，...，ｓnは、ｓ1、ｓ2からｓnまでのｎ個の単一ワード（またはストリング）からなる。
【００２６】
ワード・シーケンスはシーケンス境界項により区切られる。セット・シーケンス境界項はＢＴseqと記される。シーケンス境界項の一般的なセットは、セット｛’０＼’｝であり得て、ここで０＼はドキュメント終了マーカを意味する。
【００２７】
近似ワード照合のコンセプトは下記の通りに記述される。
【００２８】
ストリングs=ｓ1，ｓ2，...，ｓnと質問項ｑ=ｑ1ｑ2...ｑmが与えられる。そのときタスクは、もとの質問項ｑから最大ｋ個のエラーだれ離れたｓ内のｑの全ての出現を発見することである。近似メトリックが、ｑと潜在的な照合ｓi．．．ｓjの間のエラーをどのように計算するかを決定する。
【００２９】
近似ワード照合のための一般的なメトリックは、Ｌｅｖｅｎｓｔｅｉｎディスタンスすなわち編集ディスタンスである（Ｖ．Ｉ．Ｌｅｖｅｎｓｔｅｉｎ、「訂正、削除、挿入、反転ができるバイナリ・コード」、（ロシアの）Ｄｏｋｌａｄｙ  Ａｋａｄｅｍｉｉ  ｎａｕｋ  ＳＳＳＲ、第１６３巻、第４号、８４５−８頁、（１９６５年）；またサイバネティクスと制御理論、第１０巻、第８号、７０７−１０頁、（１９６６年））。このメトリックは、１つのストリングを他へ変換するのに必要な編集オペレーションの最小数として定義される。編集オペレーションはいずれかの書換え規則で与えられ、例えば、
・（ａ→ε），削除
・（ε→ａ），挿入
・（ａ→ｂ），変更
【００３０】
ｐとｍをそれぞれサイズｉとｊの２つのワードであるとする。そのとき、Ｄ（ｉ，ｊ）はｐのｉ番目の接頭語とｍのｊ番目の接頭語の間の編集ディスタンスを記す。そのとき編集ディスタンスは下記のように再帰的に定義される。
0003581652.tif 000007
【００３１】
ワード・シーケンス内のワードのレベル上で近似的な照合を定義することも可能であり、これは下記のように定義される。
【００３２】
各ワードがキャラクタのストリングであるｎ個のワードｗ1，ｗ2．．．ｗnからなるテキストＴを与えられる。シーケンス・パターンＰは、ｍ個のワードｐ1，ｐ2，．．．，ｐmからなる。１≦ｉ≦ｊ≦ｎであるようなｉ，ｊについてシーケンスｗi，ｗi+1．．．，ｗjから最大でｋ個のエラーまでｐ1，ｐ2，．．．，ｐmが異なるならば、シーケンス・パターンＰはＴにおいて近似的な出現を有すると言われる。ここでも、近似メトリックが２つのシーケンスの間のエラーの数を計算する仕方を決定する。
【００３３】
サーチ・システム内の検索すべきテキストに、データのサーチを容易にするような仕方で、索引をつけなければならない。したがって、データ構造は本発明によるサーチ・システムのカーネル・データ構造であって、いわゆる接尾語ツリー、特に疎接尾語ツリーに基づく。これら２つの構造を下記に定義する。接尾語ツリーＳ（Ｔ）はテキストＴ内に存在し得る全ての接尾語のツリー表現である。接尾語ツリーＳ（Ｔ）内の全ての単項ノードはその子と連結されて１つのコンパクト・バリアント（ｃｏｍｐａｃｔ  ｖａｒｉａｎｔ）を生成する。
【００３４】
図１はテキストＴ＝“構造”（“ｓｔｒｕｃｔｕｒｅ”）のための接尾語ツリーを示す。
【００３５】
更に一層特殊には、本発明は疎接尾語ツリーに基づいている。これらは
0003581652.tif 000008
により、「疎接尾語ツリー」、第２回国際計算組み合わせ論年次大会（ＣＯＣＯＯＮ’９６）集録、Ｓｐｒｉｎｇｅｒ出版社、２１９頁−２３０頁に紹介されていて、これもまた、Ｄ．Ｒ．Ｍｏｒｒｉｓｏｎ「ＰＡＴＲＩＣＩＡ−英数字コード化情報を検索するための実用アルゴリズム」、ジャーナル・オブ・ジ・ＡＣＭ、１５、５１４−５３４頁（１９６８年）に基づいている。疎接尾語ツリーは下記のように定義される。
【００３６】
（定義４：疎接尾語ツリー）
テキストＴの疎接尾語ツリーＳＳＴ（Ｔ）は接尾語ツリーであって、テキストの接尾語ツリーＳＴ（Ｔ）内に存在する接尾語のサブセットを１つだけ含むものである。
【００３７】
本発明によるサーチ・システムを使用して全てのワードをサーチするときに、ワード境界のみで開始して接尾語を記憶することにより、非均一的に間隔を取った疎接尾語ツリーが有利に生成され得る。ワード・スペースト（ｗｏｒｄ−ｓｐａｃｅｄ）疎接尾語ツリーのコンセプトは下記のように定義される。
【００３８】
（定義５：ワード・スペースト疎接尾語ツリー）
テキストＴの疎接尾語ツリーＳＳＴws（Ｔ）は、テキスト内のワード・セパレータ・キャラクタで開始する接尾語のみを含む疎接尾語ツリーＳＳＴ（Ｔ）である。
【００３９】
図２は、ワード・スペースト疎接尾語ツリーの２つの例を示す。読みやすくするために、接尾語の一部分を省略してある。Ｔ＝“ｔｏ  ｂｅ  ｔｈｅ  ｂｅｓｔ”のためのワード・スペースト疎接尾語ツリーは図２の左側の構造であり、またＴ＝“ｔｏ  ｍａｋｅ  ｔｈｅ  ｏｎｌｙ  ｍａｊｏｒ  ｍｏｄｉｆｉｃａｔｉｏｎ”のためのワード・スペースト疎接尾語ツリーは図２の右側の構造である。
【００４０】
本発明のサーチ・システムにおいて、テキストは、ワード・スペースト疎接尾語ツリー内に独立して記憶される複数のワードに自然に分割される。サーチングのためのアトミック・サーチ項がワード自体であるので、有利なことに各接尾語がワードの末尾で終結する。これは、この疎接尾語ツリーをいわゆるパトリシア・トライ（ＰＡＴＲＩＣＩＡ  ｔｒｉｅ）（Ｍｏｒｒｉｓｏｎ、前掲書中に）へ縮小する。この文献中に定義されるトライはルート付きのツリーであって、その性質は、ルート以外の各ノードがアルファベットの記号を含み、また同一のツリーからの２つの子が同一記号を有することがない。注意すべきは、ワード・トライがワード“検索”から出ていることであり、したがって、トライがデータの検索に適したツリー構造であることである。パトリシア・トライは、葉ノード内に記憶される接尾語がキーワード区切り文字に限定されるキーワード・スペースト疎接尾語ツリー（ＫＷＳツリー）として定義される。キーワード｛“ａｖｏｉｄ”，“ａｂｕｓｅ”，“ｂｅ”，“ｂｅｃｏｍｅ”，“ｂｒｅａｓｅ”，“ｓａｙ”｝のセットが図３に示されている。本発明のサーチ・システムに使用される構造は、このサーチ・システムがワードのシーケンス情報を明示的に記憶するので、パトリシア・トライと異なる。接尾語の長さを減少させるためには、葉ノードの表現を変更する必要がある。オリジナル・テキストへのポインタは接尾語自体により置きかえられる。図２に示したのと同じ２つのストリングについて、この種の接尾語長さ縮小を図４に示す。言い換えれば図４はワード境界で切り取られた接尾語を有するワード・スペースト疎接尾語ツリーを示す。Ｔ＝“ｔｏ  ｂｅ  ｔｈｅ  ｂｅｓｔ”のためのワード・スペースト疎接尾語ツリーは図の左側に示され、またＴ＝“ｔｏ  ｍａｋｅ  ｔｈｅ  ｏｎｌｙ  ｍａｊｏｒ  ｍｏｄｉｆｉｃａｔｉｏｎ”のためのワード・スペースト疎接尾語ツリーは図の右側に示されている。葉ノードは、その葉ノードにより表現されるワードが生起する全ての位置のリストを含む。
【００４１】
オリジナル・テキストに見出される情報の明示的なシーケンスを使用する代わりに、本発明は、ワード・スペースト疎接尾語ツリー内に、シーケンス情報を明示的に記憶する。これは、オリジナル・テキスト内の連続する語を表現する葉ノードの間にポインタを使用することにより実行される。少なくとも特定の葉ノードにより表現されるワードの全ての生起が利用できるように、次の連続する葉へポインタが付加されなければならない。
【００４２】
葉ノードはそれが表現するワードの接尾語のみを含むので、生起リスト内にシーケンス・ポインターズを横断するときに各連続ワードの接尾語だけが現れる。これは、接尾語だけでなく葉ノード内のワード全体を記憶することにより処理され、こうして本発明のデータ構造もまた、この点でパトリシアと異なる。明示的に記憶されたワード・シーケンス情報のデータ構造は、次の連続ワードとその生起へのポインタを有する生起リストと共に、図５に示されている。
【００４３】
本発明によるサーチ・システムは、生起リストを組織するためにパトリシア・トライを使用する（Ｍｏｒｒｉｓｏｎ、前掲書中に）。パトリシア・トライは、サーチ・システムが、時間Ｏ（｜ｐ2｜）で、ストリングｐ2を照合する全ての連続ワードのリストにアクセスできるようにし、ここで｜ｐ2｜はもちろんｐ2の長さである。生起リストを組織するためにパトリシア・トライを使用することにより、テキストからワードを記憶してシーケンス情報を維持するための完全に定義されたツリー構造が得られる。組織された生起リストのためのパシア・トライと特別な未ソート生起リストの両方を有する典型的な葉ノードが、図６に示されている。本発明のサーチ・システムに使用されるような生起リストのためのメモリ要件の例として、約７４２５３８のドキュメントがあるデータベースは、合計３３３  ８５６  ７４４語と５３８  ２４４のディスティンクト・ワードの辞典を有する。このデータベースの全体のサイズは２０５４．５２ＭＢである。その平均ワード長は、こうして６．４５バイトである。疎接尾語ツリーは各内部ノードに８バイトを使用し、３２ビットのポインタを使用する。各ワードについて、平均３個の内部ノードが使用されているとみなされる。そのとき葉ノードは生起リストへのポインタのためのワード全体プラス３２ビットを記憶するために、６．４５バイトを必要とする。３４．４５バイト／ワードの全体が全サイズの１８．１０８ＭＢを与える。その上、生起リストは入力ごとの４バイトと、フル・バージョンを使用する場合の１２バイトを有する。したがって、生起リストの全体のメモリ要件は１２７３ＭＢから３８２０ＭＢまで変化する。疎接尾語ツリーを使用するデータ構造は、オリジナル・テキストの６０％から２００％の間のサイズを有する。これは逆ファイルの要件に比較し得るが、しかし本発明によるサーチ・システムに使用される疎接尾語ツリーは、遥かに迅速なサーチを供給して、近似照合を可能にし、シーケンス照合を遂行しやすくする。
【００４４】
近似サーチにおいては、あり得る照合にエラー測度を与えるためにメトリックが使用される。本発明によるサーチ・システムはいくつかのメトリックを採用し、特にメックの独自な組合せを採用する。これらのメトリックはメトリックの組合せとともに、以下に議論される。
【００４５】
キャラクタと同様にワードに直観的に適用される削除、挿入、変更のオペレーションを、上に定義した編集ディスタンス・メトリックが可能にする。フレーズの照合における一般的なエラーは、ワードの脱落、追加、変更である。従って、近似ワードシーケンス照合問題に適用するために、以前に定義した編集ディスタンス・メトリックを適合させて拡張すべきである。シーケンスの編集オペレーションは下記に定義される。
【００４６】
（定義６：シーケンスの編集オペレーション）
ワードの１つのシーケンスＳをワードの他のシーケンスＰに変換するために、シーケンス内のワードに許される編集オペレーションを、下記の書換え規則により書きこむことができる。
・（ａ→ε），シーケンスからのワードａの削除
・（ε→ａ），シーケンスへのワードａの挿入
・（ａ→ｂ），ワードａからワードｂへの変更
・（ａｂ→ｂａ），隣接するワードａとワードｂの置換え
【００４７】
アトムとしてのキャラクタの代わりに、本発明によるサーチ・システムは、ワードへ編集オペレーションを適用し、そのときワードはオペレーショナル・アトムとみなされる。
【００４８】
コスト関数
0003581652.tif 000009
は下記のように定義される定数である。
0003581652.tif 000010
ここで
0003581652.tif 000011
は下記のように定義される。
0003581652.tif 000012
【００４９】
上記の編集オペレーションを使用することにより、今やシーケンスの編集ディスタンスを定義できる。
【００５０】
（定義７：シーケンスの編集ディスタンス）
シーケンスのための編集ディスタンス・メトリックは、シーケンスＳ＝ｓ1，ｓ2，...，ｓnおよびシーケンスＰ＝ｐ1，ｐ2，...，ｐmの間のディスタンスDseq（Ｓ，Ｐ）を、シーケンスＳをシーケンスＰへ変換する編集オペレーションのシーケンスのためのコストｃ（ｘ→ｙ）の最小和として定義する。
【００５１】
本発明によるサーチ・システムでは、シーケンスのための編集ディスタンス・メトリックは、そこで処理されるワードのサイズにより編集オペレーションのコストの重み付けを増加している。
【００５２】
（定義８：シーケンスのためのワード・サイズ依存編集ディスタンス）
シーケンスのためのワード・サイズ依存編集ディスタンスは、１つのシーケンスを他へ変換するのに必要な編集オペレーションのためのコストの最小和として定義される。これらのコスト関数はそのオペランドのワード・サイズによって決まる。
【００５３】
本発明によるサーチ・アルゴリズムにおいて、コスト関数の定義は下記の方程式により与えられる。
0003581652.tif 000013
ここでｌは比較される２つのシーケンスの中の１つのワードの平均長さを記す。各編集オペレーションのコストは、シーケンスの全体長さの変化に比例するサイズにより、またはカレントのワード長さと考察するシーケンス内の平均ワード長さとの比率により、重み付けられる。
【００５４】
さてこのディスタンス・メトリックは、ワード長さとワード・シーケンスの意味文脈へのそのワードの重要性との間のある関係の仮定を反映する。その上、本発明によるサーチ・システムは、変更編集オペレーション（ａ→ｂ）が使用されるとき、キャラクタ・レベルの近接が採用される。あるワードａを他のワードｂで置換えることは、これら２つのワードの間の類似性に関係する。従って変更編集オペレーションの新しいコスト関数は下記のように与えられる。
0003581652.tif 000014
Ｄ（ａ，ｂ）が、語の正規編集ディスタンス測定関数であるとき、０は完全な類似性を意味し、1は類似性が全くないことを示す。
【００５５】
本発明によるサーチ・システムは、式（４）、（５）、（６）により与えられるコスト関数を有するシーケンスの編集ディスタンス・メトリックと、式（１）により与えられるワードの編集ディスタンス・メトリックを組合せる。これは、照合されたワードがお互いからｋ個のエラーよりも離れているときにのみ、シーケンス編集オペレーションが使用されることを意味する。
【００５６】
本発明によるサーチ・システムに使用されるアルゴリズムは、これらの説明された構造の効率的なサーチを遂行する。上記のメトリックにより照合が発見される。
【００５７】
ワード・スペースト疎接尾語ツリー内の近似ワード照合が、編集ディスタンスマトリクスの計算と接尾語ツリーの横断の組合せにより実行される。このためのアルゴリズムを擬似コードで書いたものが表Ｉに与えられる。
【００５８】
このアルゴリズムは、Ｈ．Ｓｈａｎｇ  ＆  Ｔ．Ｈ．Ｍｅｒｒｅｔｔａｌ、「近似ストリング・マッチングの試み」、知識・データ工学についてのＩＥＥＥトランザクション、第５巻、第４号、５４０頁−５４７頁（１９９６年）により提案されたトライ照合アルゴリズムから適合されたものである。このアルゴリズムの実行時間の予想される最悪の場合は、Ｓｈａｎｇ  ＆  Ｍｅｒｒｅｔｔａｌによれば、Ｏ（ｋ｜Σ｜k）である（前掲書に）。
【００５９】
近似ワード・シーケンス照合は、全ての可能な照合についてワード・シーケンス編集ディスタンスを計算することを必要とする。しかしながら、可能な照合の数は、可能なワード上にのみ編集ディスタンスの計算を開始することにより制限できる。シーケンスから１つのワードを削除するコストが可能な開始ワードの数を決定する。１つの質問シーケンスＰQ内のｉ個のファースト・ワードを削除するコストの蓄積が与えられたエラー・スレッショルドの上にあがれば、質問のｉ番目のワードにより開始する候補シーケンスは、恐らく照合ではあり得ない。従ってｉ個のワードの質問シーケンスＰQについて、最大ｉ個の開始ワードが試みられる。ツリーのシーケンス構造内にバックポインタが１つもないので、全ての可能な照合が得られることは保証されない。バックポインタを追加することが、この問題を解決する。本発明によるサーチ・システムに使用されるような近似ワード・シーケンス照合のためのアルゴリズムは、下記の表IIに擬似コードで与えられる。このアルゴリズムは、ｐ1，ｐ2...により逐次的にファースト・キーワードを照合して、全ての可能な開始位置をテストすることを試みる。
【００６０】
表IIのＡｐｐｒｏｘＳｅｑｕｅｎｃｅＭａｔｃｈアルゴリズムにおいて、ＡｐｐｒｏｘＭａｔｃｈＲｅｓｔ関数は、下記の表IIIのアルゴリズムにより定義される。この関数は、初期エラー値を使用して、残りのシーケンスを照合する。
0003581652.tif 000015
0003581652.tif 000016
0003581652.tif 000017
【００６１】
表IIと表IIIのアルゴリズムは、表Ｉのアルゴリズムと同一の擬似コードで書かれている。
【００６２】
シーケンス内のファースト・ワードに一致する葉ノードを発見するために使用されるＦｉｎｄＥｘａｃｔ関数は、ツリーの単一の横断を遂行し、その実行時間はＯ｜ｐ1｜であり、ここでｐ1は質問シーケンスＰQ内のファースト・ワードを記する。編集ディスタンスの計算は、直接の動的プログラミングを使用して｜Ｐ｜2時間内に実行できるし、またはこの計算アルゴリズムの改良バージョンを使用してＯ（ｋ）時間（ここでｋはエラー・スレッショルドを記す）内に実行できるが、Ｅ．Ｕｋｋｏｎｅｎ、「ストリング内の近似パターンの発見」、ジャーナル・オブ・アルゴリズム、第６巻、１３２頁−１３７頁（１９８５年）を参照されたい。
【００６３】
Σｎocc（ｐi）が、ワード・シーケンス内の各ワードｐiの生起の数の総合計を記すならば、そのとき最悪の場合、実行時間は、Ｏ（ｋΣｎocc（ｐi））である。
【００６４】
最後に、本発明によるサーチ・システムに基づくサーチ・エンジンのインプリメンテーションを簡単に議論する。特に、本発明によるサーチ・システムに基づくサーチ・エンジンは、近似サーチ・エンジン（ＡＳＥ）としてインプリメントされ、大きなドキュメント・コレクションに索引をつけて、これらのドキュメント・コレクションの厳密サーチと近似サーチのためのアルゴリズムを供給することを意図している。ＡＳＥは大きなテキストまたはドキュメントのコレクションを記憶するデータ構造を供給する。理解すべきは、データ構造が画像、ビデオ、音響、のような付加的な情報を含むドキュメントから生成されるかも知れず、またテキストはフォーマットまたは注釈されているかもしれないことである。データ構造は上に議論したワード・スペースト疎接尾語ツリーと同一であり、もちろん、ワードはサーチ・システムのキーワードであると理解すべきであり、従ってこのワード・スペースト疎接尾語ツリーを代わりにキーワード・スペースト疎接尾語ツリー（ＫＷＳツリー）と名付けることができる。ＡＳＥは、ＫＷＳツリー内のドキュメントに索引をつけるアルゴリズムを含む。もちろんこれらのアルゴリズムは本発明によるサーチ・システムの一部分を形成しないが、しかしそれらは当業者によく知られていて文献にも記載されているので、たとえば
0003581652.tif 000018
Ｄ．Ｒ．Ｍｏｒｒｉｓｏｎ（前掲書）を参照されたい。
【００６５】
本発明によりＡＳＥの中で使用されるサーチ・システムは、ＫＷＳツリー内のパターンの完全一致および近似一致の両方のアルゴリズムを採用する。上記の表Ｉと表IIに示されるアルゴリズムは、メトリック（測定法）として可変（non-uniform）編集ディスタンスでもって照合を取る近似ワードとワードのシーケンスに使用される。ＫＷＳツリー内の長さｍを有するキーワードｐの正確な一致を発見することは、当分野で知られており、ツリー構造の単一の横断として容易にインプリメントされる。擬似コードで書かれた正確なキーワード照合のために適当なアルゴリズムを表IVに示す。本発明によるサーチ・システムは正確なシーケンス照合のためのアルゴリズムをもサポートできる。正確なキーワード・シーケンス照合のアルゴリズムは当分野で知られており、下記の表Ｖに擬似コードで示されるように容易にインプリメントされる。ここに与えられるアルゴリズムは第１キーワードがあれば、その厳密な照合を発見する。次にそれは、第１キーワードの全ての生起について、第２キーワードが質問の第２キーワードに照合するかどうかをチェックする。もし照合すれば、表ＶのＭａｔｃｈＲｅｓｔ手順が使用されて、２つの第１キーワードの生起が全シーケンスにおいて照合するかどうかを決定する。ＫＷＳツリー内の近似キーワード照合のために、サーチシステムは上記の表Ｉのアルゴリズムをインプリメントする。適当なキーワード・シーケンス照合のために、サーチ・システムは上記の表IIのアルゴリズムをインプリメントして、ｐ1，ｐ2．．．により逐次的にファースト・キーワードを照合して、全ての可能な開始位置をテストして、表IIIに示すＡｐｐｒｏｘＭａｔｃｈＲｅｓｔ機能を適用して、ある特定の位置で開始するシーケンスを照合して、初期エラー値を処理する。
【００６６】
最後にＡＳＥは、ドキュメント・コレクションの索引付けと質問の制御をユーザに与える１つの単純なフロント・エンドを必要とする。このフロント・エンドはまた、ドキュメント・コレクションの統計を備えて、ＷＷＷ経由などのリモート・アクセスと、ローカル・サーバ・ユーザ・インターフェイスの両方を供給することができる。
【００６７】
本発明によるサーチ・システムを有するＡＳＥは、新しい索引付けとサーチのアルゴリズムを容易に追加できるようにする仕方であるので一般的である。また、各ドキュメントまたはキーワードについて特別な情報を記憶しているので、容易な仕方でインプリメントできる。特に、フロント・エンドはデータ・構造とサーチ・アルゴリズムから独立しているので、これらにおける内部変更が前者の設計に何の影響もしない。
【００６８】
本発明によるサーチ・システムを使用することにより、ＡＳＥがデータ・構造内で可能な限り少ないメモリのオーバーヘッドを有するように設計できる。また、サーチができるだけ速くなるように設計できる。しかしながら、これら２つの要素の間には、通常トレード・オフが存在する。
0003581652.tif 000019
0003581652.tif 000020
【００６９】
要約すると、本発明によるサーチ・システムを有するＡＳＥは、４つの大きなモジュールを有する。
【００７０】
１．  ＫＷＳツリー構造内のドキュメントを索引付けするためのドキュメント・インデクシング・モジュールＤＩＭ。このモジュールはまた、いくつかのドキュメントのタイプをサポートするための全ての拡張を含む。
【００７１】
２．  キーワード・スペースト疎接尾語ツリー（ＫＷＳツリー）に基づくデータ・記憶装置モジュール。
【００７２】
３．  ＫＷＳツリーをサーチするためのサーチ・アルゴリズム・モジュールＳＡＭであって、ワードおよびワード・シーケンスをそれぞれ正確整合および／または近似整合するアルゴリズムを含んでいるもの。
【００７３】
４．  ローカル・サーバ・ユーザ・インターフェイスとリモート質問のためのネットワーク・インターフェイスの両方を含んでいる、ユーザ・インターフェイス・フロント・エンド・モジュール。
【００７４】
ＡＳＥの４つのモジュールは共に作用して、完全なサーチ・エンジンの機能性を供給する。異なったモジュールの間のデータの流れを図７に示す。あるドキュメントのコレクションの索引付けが、インデクシング・アルゴリズムを含んでいるドキュメント・インデクシング・モジュールＤＩＭ内で実行される。もちろんこのモジュールは本発明によるサーチ・システムの１つではなく、使用できるインデクシング・アルゴリズムは当分野でよく知られている。ドキュメント内に見出されるテキストが、記憶のためにデータ記憶装置モジュールＤＳＭへ渡される。もちろん、データ記憶装置モジュールは、本発明によるサーチ・システムの一部分であり、ＫＷＳツリー構造に基づいて示されているとおりである。サーチ・アルゴリズム・モジュールＳＡＭは、データ記憶装置モジュール内に配置されたサーチ用のアルゴリズムを含む。このモジュールは本発明によるサーチ・システムをインプリメントして、ツリーとノード情報についてデータ構造に質問してサーチ処理ができるようにし、同時に状態変数を維持する。フロント・エンド・モジュールがたとえばワーク・ステーション上またはパーソナル・コンピュータ上などにインプリメントされて、上述の機能性を供給する。
【００７５】
既に導入部で述べたように、本発明によるサーチ・システムは、ワークステーションを含む商用のコンピュータ・システム上で、適当な高水準言語で書かれたソフトウェアとしてインプリメントできることを理解すべきである。それはまた前述のように専用プロセッサの形式でもインプリメントでき、それは、多数の質問ワード・シーケンスを有する近似照合のために、大きなワード・シーケンスを並列に処理できる多数の並列プロセッサを有利に含み得る。プロセッサの固定オペレーショナル・パラメータは、それから低レベル・コードに入力され、一方ＫＷＳツリー構造からのキーワード・シーケンス入力が、巨大な量のデータへの質問の極度に迅速な処理を可能にするので、本発明によるサーチ・システムは、従ってワールド・ワイド・ウェブなどにおけるサーチの遂行に高度に適しており、ＫＷＳツリー構造内でさえ現在ワールド・ワイド・ウェブ上に提供されている全てのドキュメントを索引付けることができ、将来のワールド・ワイド・ウェブに予想されるデータ量の増加をも処理できる。
【図面の簡単な説明】
本発明によるサーチ・システムと方法を、添付図面を参照しながら、前記に詳細に説明してきた。
【図１】接尾語ツリーの一例を示す。
【図２】本発明に使用されるワード・スペースト疎接尾語ツリーの例である。
【図３】先行技術として知られるいわゆるパトリシア・トライの例である。
【図４】本発明に使用されるワード・スペースト疎接尾語ツリーの更なる例である。
【図５】本発明に使用される明示的に記憶されたワード・シーケンス情報である。
【図６】本発明に使用される葉ノード構造である。
【図７】本発明によるサーチ・システムを有するサーチ・エンジンの構造を図式的に示す。
【図１】
0003581652.tif 000026
【図２】
0003581652.tif 000027
【図３】
0003581652.tif 000028
【図４】
0003581652.tif 000029
【図５】
0003581652.tif 000030
【図６】
0003581652.tif 000031
【図７】
0003581652.tif 000032