(57)【要約】本発明の１つの実施形態は、ドキュメントにあるテキストの検索を容易にするために、このテキストを個別の意味を有する単位のテキストに応じたトークンに変換することによってドキュメントのテキストをトークン化するシステムを提供する。このシステムはトークン化されるべきドキュメントを受け取り、このドキュメントに関連するトークン命令のセットを取り出すことによって動作する。次いで、このシステムはこのドキュメントを、トークン命令のセットによって特定される方法で、個別の意味を有する単位のテキストに対応するトークンに翻訳することによりトークン化する。【選択図】図５
2004501412.tif 000002
【特許請求の範囲】
【請求項１】
ドキュメント中のテキストの検索を容易にするために該テキストを個別の意味を有する単位のテキストに対応するトークンに変換することによって該ドキュメント中のテキストをトークン化する方法であって、
トークン化される該ドキュメントを受けるステップと、
該ドキュメントに関連するトークン化命令のセットを取り出すステップと、
該トークン化命令のセットによって特定される方法で該ドキュメントを個別の意味を有する単位のテキストに対応するトークンに翻訳することによってトークン化するステップと
を含む、方法。
【請求項２】
前記ドキュメントをトークン化するステップは、該ドキュメントの第１の区分をトークン化する第１のトークン化命令のセットを用いるステップと、該ドキュメントの第２の区分をトークン化する第２のトークン化命令のセットを用いるステップとを含む、請求項１に記載の方法。
【請求項３】
前記トークン化命令のセットがプラグインモジュールの中に含まれる、請求項１に記載の方法。
【請求項４】
前記トークン化命令のセットがオブジェクト指向プラグラミングシステムの中で定義されるオブジェクトを介して駆動される、請求項１に記載の方法。
【請求項５】
前記ドキュメントのためにインデックスを生成するステップにおいて該トークン化されるドキュメントを用いるステップをさらに含む、請求項１に記載の方法。
【請求項６】
検索エンジンが前記インデックスを走査できるように、該インデックスを該検索エンジンに利用させることをさらに含む、請求項５に記載の方法。
【請求項７】
前記トークン化命令のセットを取り出すことがリモートアドレスからネットワークを介して該トークン化命令のセットを取り出すステップを含む、請求項１に記載の方法。
【請求項８】
前記トークン化命令のセットは前記ドキュメントに追加される、請求項１に記載の方法。
【請求項９】
前記トークン化命令のセットは前記ドキュメントに関連するトークン化手順の中に含まれる、請求項１に記載の方法。
【請求項１０】
前記ドキュメントがクライアントからトークン化サーバに受け取られ、そして該トークン化サーバからの該トークン化されたドキュメントを該クライアントに返すことをさらに含む、請求項１に記載の方法。
【請求項１１】
前記トークン化命令のセットはネットワークを介してリモートサービスによって供給される、請求項１に記載の方法。
【請求項１２】
コンピュータによって実行される場合、該コンピュータに、ドキュメント中のテキストの検索を容易にするために、該テキストを個別の意味を有する単位のテキストに対応するトークンに変換することによって該ドキュメント中のテキストをトークン化する方法を行わせる命令を格納するコンピュータで読み出し可能な記憶媒体であって、
トークン化される該ドキュメントを受けるステップと、
該ドキュメントに関連するトークン化命令のセットを取り出すステップと、
該トークン化命令のセットによって特定される方法で該ドキュメントを個別の意味を有する単位のテキストに対応するトークンに翻訳することによってトークン化するステップと
を含む、方法。
【請求項１３】
前記ドキュメントをトークン化することは、該ドキュメントの第１の区分をトークン化する第１のトークン化命令のセットを用いるステップと、該ドキュメントの第２の区分をトークン化する第２のトークン化命令のセットを用いるステップとを含む、請求項１２に記載のコンピュータで読み出し可能な記憶媒体。
【請求項１４】
前記トークン化命令のセットがプラグインモジュールの中に含まれる、請求項１２に記載のコンピュータで読み出し可能な記憶媒体。
【請求項１５】
前記トークン化命令のセットがオブジェクト指向プラグラミングシステムの中で定義されるオブジェクトを介して駆動される、請求項１２に記載のコンピュータで読み出し可能な記憶媒体。
【請求項１６】
前記方法が前記ドキュメントのためにインデックスを生成する場合、前記トークン化されるドキュメントを用いるステップをさらに含む、請求項１２に記載のコンピュータで読み出し可能な記憶媒体。
【請求項１７】
前記方法は検索エンジンが前記インデックスを走査できるように、該インデックスを該検索エンジンに利用させるステップをさらに含む、請求項１６に記載のコンピュータで読み出し可能な記憶媒体。
【請求項１８】
前記トークン化命令のセットを取り出すステップがリモートアドレスからネットワークを介して該トークン化命令のセットを取り出すステップを含む、請求項１２に記載のコンピュータで読み出し可能な記憶媒体。
【請求項１９】
前記トークン化命令のセットは前記ドキュメントに追加される、請求項１２に記載のコンピュータで読み出し可能な記憶媒体。
【請求項２０】
前記トークン化命令のセットは前記ドキュメントに関連するトークン化手順の中に含まれる、請求項１２に記載のコンピュータで読み出し可能な記憶媒体。
【請求項２１】
前記ドキュメントがクライアントからトークン化サーバにおいて受け取られ、
前記方法が該トークンされたドキュメントを該トークン化サーバから該クライアントに返すステップをさらに含む、請求項１２に記載のコンピュータで読み出し可能な記憶媒体。
【請求項２２】
前記トークン化命令のセットはネットワークを介してリモートサービスによって供給される、請求項１２に記載のコンピュータで読み出し可能な記憶媒体。
【請求項２３】
ドキュメント中のテキストの検索を容易にするために該テキストを個別の意味を有する単位のテキストに対応するトークンに変換することによって該ドキュメント中のテキストをトークン化する装置であって、
トークン化される該ドキュメントを受けるように構成される受け取りメカニズムと、
該ドキュメントに関連するトークン化命令のセットを取り出すように構成される命令受け取りメカニズムと、
該トークン化命令のセットによって特定される方法で該ドキュメントを個別の意味を有する単位のテキストに対応するトークンに翻訳することによって該ドキュメントをトークン化するように構成されるトークン化メカニズムと
を含む、装置。
【請求項２４】
前記ドキュメントが混成トークンタイプの場合、前記トークン化メカニズムは、該ドキュメントの第１の区分をトークン化する第１のトークン化命令のセットを用い、かつ該ドキュメントの第２の区分をトークン化する第２のトークン化命令のセットを用いるように構成される、請求項２３に記載の装置。
【請求項２５】
前記トークン化命令のセットがプラグインモジュールの中に含まれる、請求項２３に記載の装置。
【請求項２６】
前記命令取り出しメカニズムは前記トークン化命令のセットをオブジェクト指向プラグラミングシステムの中で定義されるオブジェクトを介して命令を取り出すように構成される、請求項２３に記載の装置。
【請求項２７】
前記ドキュメントのためにインデックスを生成する場合、該トークン化されるドキュメントを用いるように構成されるインデックス生成メカニズムをさらに含む、請求項２３に記載の装置。
【請求項２８】
検索エンジンが前記インデックスを走査できるように、該インデックスを該検索エンジンに利用させるように構成されるアクセスメカニズムをさらに含む、請求項２７に記載の装置。
【請求項２９】
前記命令取り出しメカニズムは、リモートアドレスからネットワークを介して前記トークン化命令のセットを取り出すように構成される、請求項２３に記載の装置。
【請求項３０】
前記トークン化命令のセットは前記ドキュメントに追加される、請求項２３に記載の装置。
【請求項３１】
前記トークン化命令のセットは前記ドキュメントに関連するトークン化手順の中に含まれる、請求項２３に記載の装置。
【請求項３２】
前記装置は前記ドキュメントをクライアントから受け取るトークン化サーバを含み、
該トークン化サーバは該トークン化されたドキュメントを該クライアントに返すように構成される、請求項２３に記載の装置。
【請求項３３】
前記トークン化命令のセットはネットワークを介してリモートサービスによって供給される、請求項２３に記載の装置。
【発明の詳細な説明】
【０００１】
（背景）
本発明はコンピュータ化されたデータ検索を容易にするためのインデックス構造に関する。さらに詳細に述べると、本発明はドキュメントを、文字型または数字などのような、個別の意味を有する単位のテキストに関連するトークンに変換するためのトークン化手順を柔軟に割り当てる方法および装置に関する。
【０００２】
インターネットの爆発的な成長が、ユーザが数千および数百万の種々のウェブサイトから膨大な量のテキストデータを速く検索できる検索エンジンの開発に強く結びつけられた。特定のトピックに興味あるユーザは複数のキーワードを含んでいる種々のウェブページへのリンクを受け取るために、これらを検索エンジンに単に入力する必要があるだけである。
【０００３】
検索エンジンは通常、ＷＷＷ（ｗｏｒｌｄ　ｗｉｄｅ　ｗｅｂ）で利用されているドキュメント（ウェブページなど）の“インデックス”を生成することである。通常、インデックスは“トークン”として公知のよりコンパクトで容易に検索可能な形式の個別の文字群（または他の意味を有するテキストストリング）を格納することである。
【０００４】
ドキュメントが異なってインデックス化される必要のある広範囲の種々の異なる形式を有し得るという事実によって、有効なインデックスの構築のプロセスは、大変複雑になり得る。例えば、技術論文における有効なインデックスは技術論文の要約および題目を含み得るが、技術論文の本文を含まず、一方、テレビジョンのスケジュ−ルにおける有効なインデックスは個別のテレビジョンプログラムにおける格付けを含み得る。
【０００５】
インデックスを生成するプロセスは、共通のドキュメントフォーマット、例えばハイパーテキストマークアップ言語（ＨＴＭＬ）または拡張マークアップ言語（ＸＭＬ）において、検索目的のための多数の重要な情報が属性フィールドに格納され、ドキュメントの通常テキストの中に格納されてないという事実によって、また複雑になっている。
【０００６】
さらに、ドキュメントの構造は長い間に変わり得るし、このことが変化するインデックス構造を要求し得る。例えば、プロダクトカタログ構造は個別商品における消費者展望を含むように更新されることを想定する。この変化はこれらの消費者展望を含むように変化するインデックスを要求し得る。
【０００７】
実存のシステムはその場限りの規則を用いるドキュメントのインデックスを生成する。例えば、その場限りの規則のあるものは、属性フィールドにない全てのテキスト情報ためのインデックスを生成する。不幸にも、そのようなその場限りの規則はたびたび重要でない情報を多く含み、そしてたびたび重要な情報を排除する。
【０００８】
類似問題がインデックス生成プロセスにおいてドキュメントをトークンに変換する（このドキュメントのトークン化）際に存在する。このインデックス生成プロセスにおいて、ドキュメントの関連部分は、個別の意味を有する単位のテキスト、例えば、文字形式または数字に関連するトークンに変換される。英語では、通常、文字形式は空白および句読マークで線引きされる。従って、トークン化プロセスが相対的に簡単である。対照的に、日本語のような言語はそのような線引きを有しない。結果として、このトークン化プロセスは文脈情報に依存し、非常に複雑にされ得る。
【０００９】
このトークン化プロセスはまたドメインに依存し得る。例えば、“ｐｅｒｓｏｎ．ｄｅｐｔ＠ｃｏｍｐａｎｙｘ．ｃｏｍ”のような電子メールのピリオドは、連結要素であり、一方、他のテキスト情報の中でのピリオドは通常、単語および文章境界の線引きを行う。
【００１０】
従って、トークン化プロセスは言語間およびドメイン間で変化する。
【００１１】
（要旨）
本発明の１つの実施形態は、テキスト検索を容易にするために、ドキュメントの中のテキストを、個別の意味を有する単位のテキストに対応するトークンに変換することによってトークン化するシステムを供給する。このシステムはトークン化されるべきドキュメントを受け取り、このドキュメントに関連するトークン化命令のセットを取り出すことによって動作する。次いで、このシステムはこのドキュメントを、トークン命令のセットによって特定される方法で、個別の意味を有する単位のテキストに対応するトークンに翻訳することによりトークン化する。
【００１２】
本発明のある実施形態において、このドキュメントをトークン化することはこのドキュメントの第１の区分をトークン化するための第１のトークン命令のセットを用いることと、このドキュメントの第２の区分をトークン化するための第２のトークン命令のセットを用いることとを含む。
【００１３】
本発明のある実施形態において、このトークン化命令のセットはプラグインモジュールにおいて含まれる。
【００１４】
本発明のある実施形態において、このトークン化命令のセットはオブジェクト指向プログラミングシステムの中で定義されているオブジェクトを介して駆動される。
【００１５】
本発明のある実施形態において、このシステムはさらにドキュメントのインデックスを生成することにおいてトークン化されたドキュメントを用いる。この実施形態のある変形において、このシステムはこのインデックスを検索エンジンに利用できるようにさせ、この検索エンジンがこのインデックスを走査できるようにする。
【００１６】
本発明のある実施形態において、このシステムはリモートアドレスからネットワークを介してトークン化命令のセットを取り出す。
【００１７】
本発明のある実施形態において、このトークン化命令のセットはこのドキュメントに追加される。
【００１８】
本発明のある実施形態において、このトークン化命令のセットはこのドキュメントに関連するトークン化手順の中に含まれる。
【００１９】
本発明のある実施形態において、このドキュメントはトークン化サーバにおいてクライアントから取り出される。この実施形態では、トークン化サーバはこのトークン化されたドキュメントをクライアントに返す。
【００２０】
本発明のある実施形態において、このトークン化命令のセットはリモートサーバからネットワークを介して与えられる。
【００２１】
（詳細な説明）
下記の説明は、任意の当業者がこの発明を作り出しおよび使用することが可能であることを提示し、特定の応用およびこの条件に関連して与えられる。この開示された実施形態における種々の変形は当業者にとって容易に理解され、そして本明細書の中で定義される一般的な原理は本発明の精神と範囲を逸脱することなく他の実施形態および用途に応用され得る。このようにして、本発明は示された実施形態に限定されるように意図されたものでなく、ここで開示した原理および特長に一致する最も広い範囲に一致する。
【００２２】
この詳細な説明の中で記述されるデータ構造およびコードは通常、コンピュータの読み出し可能な記憶媒体に格納され、そしてこの媒体はコンピュータシステムによって使用されるコードおよび／またはデータを格納できる任意のデバイスまたは媒体であり得る。これは、限定されないが、磁気的および光学的記憶デバイス、例えば、デイスクドライブ、磁気テープ、ＣＤ（コンパクトデイスク）、およびＤＶＤ（デジタルビデオデイスク）を含み、そしてさらに伝送媒体に組み込まれたコンピュータ命令信号（この信号が変調されるキャリア波を持つかまたは持たない）を含む。例えば、この伝送媒体はインターネットのような通信ネットワークを含み得る。
【００２３】
（分散コンピュータシステム）
図１は、本発明の実施形態に従った分散コンピュータシステム１００を示す。分散コンピュータシステム１００は、クライアント１０２および１１８を含み、これらは、ネットワーク１１０を介して、インデックスサーバ１１２および検索エンジン１２２を接続する。
【００２４】
ネットワーク１１０は相互にコンピュータノードを接続できる任意の有線または無線の通信チャンネルを含むことができる。これは、限定されないが、構内ネットワーク、広帯域ネットワーク、またはネットワークの組み合わせを含む。本発明のある実施形態において、ネットワーク１１０はインターネットを含む。
【００２５】
クライアント１０２および１１８はコンピュータの性能を含み、およびネットワーク１１０を介して通信メカニズムを含むネットワーク１１０上の任意のノードを含み得る。
【００２６】
クライアント１０２は複数のドキュメント１０４−１０６を含み、これらはインデックスサーバ１１２の中のインデックス１１６に統合化される。インデックスサーバ１１２は演算および／またはデータ格納資源に対してクライアントからの要求をサービスするためのメカニズムを含むコンピュータネットワーク上のノードを含み得る。さらに特に、インデクッスサーバ１１２は、ドキュメント１０４−１０６をインデックス化するために、データベース１１４のなかにインデックス１１６を生成するための資源を含む。データベース１１４はデータを不揮発性形式で格納する任意のタイプのメカニズムを含むことができる。本発明のある実施形態では、データベース１１４は、Ｏｒａｃｌｅ　Ｃｏｒｐｏｒａｔｉｏｎ　ｏｆ　Ｒｅｄｗｏｏｄ　Ｓｈｏｒｅｓ，Ｃａｌｉｆｏｒｎｉａによって配布されたＯＲＡＣＬＥ８（登録商標）データベースを含む。
【００２７】
クライアント１１８は、インデックス１１６を走査するために検索エンジン１２２と通信するブラウザ１２０を含む。ブラウザ１２０は、ウェブサイトを閲覧できる任意のタイプのブラウザ、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ  ｏｆ  Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎによって配布されたＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ（登録商標）ブラウザを含み得る。検索エンジン１２２は、データを検索できる任意のタイプのコンピュータシステムまたはアプリケーション応用を含み得る。
【００２８】
動作中、インデックスサーバ１１２はクライアント１０２からドキュメント１０４−１０６を取り出し、インデックス１１６を生成するためにドキュメント１０４−１０６を利用する。クライアント１０２は、ドキュメント１０４−１０６をインデックスサーバ１１２に送り得ることを留意されたい。あるいは、この代わりとして、インデックスサーバ１１２はクライアント１０２からドキュメント１０４−１０６を集めることができる。
【００２９】
インデックスサーバ１１２はドキュメント１０４−１０６から選択された部分をトークン化し、このトークンからインデックス１１６を生成することよってインデックス１１６を生成する。クライアント１０２はそれ自体、ドキュメント１０４−１０６を、ネットワーク１１０を介して利用させる１つのサーバであり得ることを留意されたい。
【００３０】
インデックス１１６が生成された後、クライアント１１８はブラウザ１２０を介して検索エンジン１２２にクエリー１２４を送信する。クエリー１２４はユーザのクライアント１１８に対し目標のキーワードを特定し得る。クエリー１２４に応答して、検索エンジン１２２はインデックス１１６の中にあるマッチングしたキーワードを含むドキュメントを見つけるためにインデックス１１６を検索する。そのようなドキュメントがつきとめられた場合、検索エンジン１２２はクェリーヒット１２６の一覧のなかの当該ドキュメントをブラウザ１２０に返す。
【００３１】
（インデックスサーバ）
図２は、インデックスサーバ１１２が本発明の実施形態に従って、異なるドキュメントのタイプのためのインデックスをいかに生成するかを示す。図２において、インデックスサーバ１１２は異なる資源から多数の異なるドキュメントを受け取る。インデックスサーバ１１２はこれらの異なるタイプのドキュメントをインデックス１１６に統合化する。インデックス１１６は多数の異なるドキュメントタイプを含む１つのインデックスを含み得ることを留意されたい。また、インデックス１１６は各ドキュメントタイプに対し異なるインデックスを含み得る。
【００３２】
限りない数のドキュメントタイプがインデックス化され得る。例えば、図２は、ニュースドキュメント２０２と、プロダクトカタログ２０４と、テレビジョンプログラムスケジュール２０６と、ユーザのドキュメンテーションを含むドキュメント２０８と、財務情報を含むドキュメント２１０とを示す。これらの異なるドキュメントタイプのそれぞれが異なるドキュメントの構造を有し得、そしてこの構造はＸＭＬのような言語で定義され得る。これらの異なるドキュメントの構造のそれぞれは異なるインデックスの仕組みに関連され得る。数個のドキュメントにおいて、特定の属性はこのインデックスの中に含まれ得る。例えば、数種のタイプのユーザのドキュメンテーションにおいて、このユーザのドキュメンテーションが初心者ユーザかまたは専門ユーザに適しているかどうかを示す属性をインデックス化することは有利になり得る。
【００３３】
（インデックススタイルシートおよびトークン化手順）
図３は、本発明の実施形態に従って、あるドキュメントに対してインデックス化のためのスタイルシートおよびトークン化のための手順がいかに生成し、かつインデックス化するために用いられるかを示す。図３において、インデックスサーバ１１２の中のインデックス構築メカニズム３１０は入力としてドキュメント３０２を受け取り、そしてこのドキュメント３０２のためのインデックス３１２を生成する。インデックス３１２はドキュメント収集のために大きなインデックス１１６の中に入り、そしてこの収集はデータベース１１４（図１から）の中に含まれる。
【００３４】
このインデックス構築プロセス中、インデックス構築器３１０はこのインデックススタイルシート３０４およびトークン化手順３０６−３０７を参照する。インデックススタイルシート３０４はドキュメント３０２のためのインデックス３１２を生成する命令のセットを含む。例えば、インデックススタイルシート３０４は、インデックス３１２を生成することにおいて、ドキュメント３０２のどの区分が読み飛ばされるべきかを特定できる。インデックススタイルシート３０４は、インデックススタイルシート３０４に含まれているドキュメント３０２の属性をも特定できる。例えば、属性はある人がドキュメント３０２のアクセス権を有するための最低のセキュリティレベルを特定できる。別の属性はドキュメント３０２のための内容の格付け（Ｇ，ＰＧ−１３，ＰＧ，Ｒ，Ｘ）を特定できる。
【００３５】
トークン化手順３０６−３０７はドキュメント３０２のある部分がいかにトークン化されるかを特定する。例えば、トークン化手順３０６はドキュメント３０２の第１の部分がいかにトークン化されるかを特定し、一方、トークン化手順３０７はドキュメント３０２の第２の部分がいかにトークン化されるかを特定する。大抵のドキュメントは多分１つのトークン化手順を用いるが、他のドキュメントは異なる言語での部分または異なるトークン化手順を必要とする異なるドメインからの部分を含み得る。
【００３６】
インデックススタイルシート３０４はＸＭＬ標準によって特定されたフォーマットのスタイルシートと類似している。フォーマットのスタイルシートは、ＸＭＬドキュメントを表示するために、表示属性、例えば、フォントおよび色などを特定するために用いられる。同じように、インデックスのスタイルシート３０４はドキュメント３０２のためのインデックスがいかに生成されるかを特定する。
【００３７】
図３はスタイルシートおよび手順の形態においてインデックス命令およびトークン命令を示すが、他の表現も可能であることを留意されたい。例えば、このインデックスおよびトークン命令はインデックス構築器３１０の中にプラグインされ得るプラグインモジュールに中に含まれ得る。
【００３８】
これらのインデックスおよびトークン命令はオブジェクト指向プログラミングシステムの中で定義されたオブジェクトを介して参照され得る。例えば、インデックスのパラメータオブジェクトはドキュメント３０２のインデックスを構築するために、この命令を取り出す方法を含み得る。
【００３９】
このトークン手順３０６−３０７はさらにトークン化命令を含むコードモジュールの形式を仮定できるかまたは、ネットワークを通してのリモートサービスによって供給され得る。
【００４０】
また、インデックスのスタイルシート３０４は、トークン化手順３０６−３０７がどこから取り出され得るかを特定できる参照項を含み得ることを留意されたい。
【００４１】
このインデックス構築器３１０は多数の異なるインデックスのスタイルシートおよびトークン化手順からの入力を受けることができる標準化されたインタフェースを含む。これは、インデックス構築器３１０が多数の異なるトークン化ルールを用いて、多数の異なるドキュメントタイプのためのインデックスを生成できることを可能にする。
【００４２】
（トークン化プロセス）
図４はこのトークン化プロセスの例を示す。この例では、“ＭＡＹ  ７，２０００”という１つのテキストが３つのトークン４０２−４０４に分けられる。トークン４０２は単語“ＭＡＹ．”を含む。トークン４０３は日の数字の“７，”を含み、トークン４０４は年の数字“２０００．”を含む。これらのトークンのそれぞれは唯一のトークン数字に関係し、この唯一のトークン数字はこのインデックスを生成するために用いられる。トークン数字を用いることはさらにコンパクトな再表現に通じ、これはトークン数字が大文字より大きくかつ空白より小さいストリングを拾い上げているからである。さらに、この検索プロセスの間、文字ストリングより数字ストリングを調べることの方がより簡単である。
【００４３】
（インデックス生成プロセス）
図５は、本発明の実施形態に従ってインデックスを生成するプロセスを示すフローチャートである。このシステムは構成ファイル（ステップ５０２）をダウンロードすることで開始する。このプロセスはネットワークを介して構成ファイルをダウンロードすることを含み得る。次いで、このシステムはこの構成ファイルの構文解析を行い（ステップ５０４）、この構成ファイルの中のインデックスのスタイルシート３０４のアドレスを識別する（ステップ５０６）。
【００４４】
次いで、このシステムはこの識別されたアドレスからこのインデックスのスタイルシート３０４をダウンロードする（ステップ５０８）。これはユニバーサルリソースローケータ（ＵＲＬ）によって特定された場所からのネットワークを介してこのスタイルシートを取り出すことを含む。または、このスタイルシートはこのドキュメントに追加でき、どのケースにおいても、このインデックスのスタイルシートは簡単に取り出され得る。
【００４５】
次いで、このシステムは、このインデックス生成プロセスの間、このインデックスのスタイルシートの中の命令が用いられ得るようにこのインデックスのスタイルシート３０４の構文解析を行う（ステップ５１０）。
【００４６】
このシステムは同じようにトークン化手順３０６のアドレスを識別する（ステップ５１２）。（トークン化手順３０６のアドレスはこの構成ファイルの中かまたは、インデックスのスタイルシート３０４の中に含まれ得る）。次いで、このシステムはこの識別されたアドレスからトークン化手順３０６をダウンロードする（ステップ５１４）。本発明のある実施形態では、トークン化手順３０６はインデックスのスタイルシート３０４と同じように同じ場所から取り出され得る。本発明の別の実施形態では、トークン化手順３０６は別の場所から取り出され得る。
【００４７】
次いで、このシステムは複数のドキュメントをインデックス１１６に入力する。これは、１つのドキュメントをインデックス構築器３１０にダウンロードし（ステップ５１８）、そしてその後インデックスのスタイルシート３０４の中で特定された命令を用いてこのドキュメントの構文解析を行う（ステップ５２０）ことによって成し遂げられる。このシステムはこの構文解析されたドキュメントをトークン化手順３０６を用いてトークンに変換し（ステップ５２２）、そしてこのトークンを用いてインデックスを生成する（ステップ５２４）。このプロセスはインデックス１１６に入力されるドキュメントのそれぞれに対して、繰り返される。
【００４８】
インデックス１１６が完成した後、検索エンジン１２２がクエリー処理のためにインデックス１１６を走査できるように、このシステムはインデックス１１６を検索エンジン１２２（図１から）に対して利用させる（ステップ５２６）。
【００４９】
図６は、本発明の実施形態に従って、あるドキュメントに対して更新されるインデックスを動的に生成するプロセスを示すフローチャートである。あるタイプの検索に対して、データは寿命が限られている。例えば、現在の天候データの検索において、古い天候データは関心がない。
【００５０】
これらの環境において、本発明のある実施形態は下述のように動作する。このシステムは検索リクエストを受け取る（ステップ６０２）。この検索リクエストの応答に対し、このシステムはこの検索の中に含まれる任意のドキュメントに対してドキュメント作成日時をチェックする（ステップ６０４）。このシステムが、ドキュメントが古いと判定すると（多分ドキュメントの年と制限年を比較することによって）、このシステムは新バージョンのドキュメントを生成させる（例えば、新天候データを収集することによって）（ステップ６０６）。次いで、このシステムはこの新バージョンのドキュメントに対してインデックスを生成する（ステップ６０８）。このプロセスは暗黙のうちに古いバージョンのドキュメントを取り除く（ステップ６１０）。最後に、このシステムはこの新しく更新されたインデックスを含む検索を実行する。
【００５１】
本発明の実施形態の前述の説明は図解および説明だけの目的だけに表されたものである。これらは排他的でかつ本発明を開示された形式に限定することを意図したものでない。従って、多数の変更と変形は当業者には明白であり得る。
【００５２】
例えば、本発明はクライアントおよびサーバを含む分散コンピュータシステムに関連して記述されているが、本発明は必ずしも分散クライアント−サーバコンピュータシステムに限定されるものでない。一般に、本発明はテキスト情報のためのインデックスを生成する任意のシステムまたはテキスト情報をトークン化する任意のシステムに適用できる。
【００５３】
さらに、上述の開示は本発明に限定することを意図していない。本発明の範囲は添付の特許請求の範囲によって規定される。
【図面の簡単な説明】
【図１】
図１は本発明の実施形態に従う分散コンピュータシステムを示す。
【図２】
図２は、インデックスサーバが本発明の実施形態に従う異なるドキュメントタイプのインデックスをどのように生成するかを示す。
【図３】
図３は、インデックス化するスタイルシートおよびトークン化手順が、本発明の実施形態に従ってドキュメントのインデックスを生成するためにどのように用いられるかを示す。
【図４】
図４は、トークン化プロセスの例を示す。
【図５】
図５は、本発明の実施形態に従って、インデックスを生成するプロセスを示すフローチャートを示す。
【図６】
図６は、本発明の実施形態に従って、古いドキュメントに対して、更新されたインデックスを動的に生成するプロセスを示すフローチャートを示す。
【図１】
2004501412.tif 000003
【図２】
2004501412.tif 000004
【図３】
2004501412.tif 000005
【図４】
2004501412.tif 000006
【図５】
2004501412.tif 000007
【図６】
2004501412.tif 000008
【国際公開パンフレット】
2004501412.tif 000009
2004501412.tif 000010
2004501412.tif 000011
2004501412.tif 000012
2004501412.tif 000013
2004501412.tif 000014
2004501412.tif 000015
2004501412.tif 000016
2004501412.tif 000017
2004501412.tif 000018
2004501412.tif 000019
2004501412.tif 000020
2004501412.tif 000021
2004501412.tif 000022
2004501412.tif 000023
2004501412.tif 000024
2004501412.tif 000025
2004501412.tif 000026
2004501412.tif 000027
2004501412.tif 000028
2004501412.tif 000029