(57)【要約】  データは１つまたは複数のデータ・ソースから特定され、前記データは少なくとも１つの構造化されたドキュメントと対応付けされる。前記少なくとも１つの構造化されたドキュメント内に含まれるデータ集合が抽出され、１つまたは複数のレコード項目が検索可能なデータベースに追加され、ここで、前記１つまたは複数のレコード項目は前記抽出されたデータ集合に対応する。
2010518495.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のデータ・ソースからデータを特定する過程を有し、前記データは少なくとも１つの構造化されたドキュメントと対応付けされ、
前記少なくとも１つの構造化されたドキュメント内に含まれる１つまたは複数のデータ集合を抽出する過程と、
１つまたは複数のレコード項目を検索可能なデータベースに追加する過程と、をさらに有し、前記１つまたは複数のレコード項目は前記１つまたは複数の抽出されたデータ集合に対応する方法。
【請求項２】
前記１つまたは複数のデータ・ソースから前記データを取得する過程をさらに有する請求項１に記載の方法。
【請求項３】
前記１つまたは複数のデータ・ソースのうち少なくとも１つは、１つまたは複数のユニフォーム・リソース・ロケータを含む請求項１に記載の方法。
【請求項４】
前記データは少なくとも１つの構造化されたドキュメントである請求項１に記載の方法。
【請求項５】
前記データはメタデータをさらに含む請求項１に記載の方法。
【請求項６】
前記１つまたは複数のデータ・ソースから前記データを特定する過程に続いて、前記データと対応付けされたメタデータを特定する過程をさらに有する請求項１に記載の方法。
【請求項７】
前記メタデータは少なくとも１つのページランクを含む請求項６に記載の方法。
【請求項８】
出力ファイルを生成する過程をさらに有し、前記出力ファイルは２つまたはより多くの構造化されたドキュメントと対応付けされたデータを含む請求項１に記載の方法。
【請求項９】
前記１つまたは複数のデータ集合を抽出する過程は、前記出力ファイルから１つまたは複数のデータ集合を抽出する過程を有する請求項８に記載の方法。
【請求項１０】
前記少なくとも１つの構造化されたドキュメントは、２つまたはより多くの構造化されたドキュメントを含み、前記２つまたはより多くの構造化されたドキュメントを結合する過程をさらに有する請求項１に記載の方法。
【請求項１１】
前記少なくとも１つの構造化されたドキュメントはキーホール・マークアップ言語（ＫＭＬ）ドキュメントを含む請求項１に記載の方法。
【請求項１２】
前記１つまたは複数のデータ集合は少なくとも１つのプレイスマークを含む請求項１１に記載の方法。
【請求項１３】
少なくとも１つの検索クエリーを受信する過程と、
前記少なくとも１つの検索クエリーの受信に応答して、前記１つまたは複数のレコード項目のうち少なくとも１つを特定する過程と、
をさらに含む請求項１に記載の方法。
【請求項１４】
前記少なくとも１つの構造化されたドキュメント内に含まれる１つまたは複数のデータ集合を抽出する過程は、前記１つまたは複数のデータ集合を、前記少なくとも１つの構造化されたドキュメントと対応付けされた文脈情報と対応付ける過程をさらに有する請求項１に記載の方法。
【請求項１５】
１つまたは複数のデータ・ソースからデータを特定する手段を備え、前記データは少なくとも１つの構造化されたドキュメントと対応付けされ、
前記少なくとも１つの構造化されたドキュメント内に含まれる１つまたは複数のデータ集合を抽出する手段と、
１つまたは複数のレコード項目を検索可能なデータベースに追加する手段と、をさらに備え、前記１つまたは複数のレコード項目は前記１つまたは複数の抽出されたデータ集合に対応するシステム。
【請求項１６】
前記１つまたは複数のデータ・ソースから前記データを取得する手段をさらに備える請求項１５に記載のシステム。
【請求項１７】
前記１つまたは複数のデータ・ソースのうち少なくとも１つは、１つまたは複数のユニフォーム・リソース・ロケータを含む請求項１５に記載のシステム。
【請求項１８】
前記データは少なくとも１つの構造化されたドキュメントである請求項１５に記載のシステム。
【請求項１９】
前記データはメタデータをさらに含む請求項１５に記載のシステム。
【請求項２０】
前記データと対応付けされたメタデータを特定する手段をさらに備える請求項１５に記載のシステム。
【請求項２１】
前記メタデータは少なくとも１つのページランクを含む請求項２０に記載のシステム。
【請求項２２】
出力ファイルを生成する手段をさらに備え、前記出力ファイルは２つまたはより多くの構造化されたドキュメントと対応付けされたデータを含む請求項１５に記載のシステム。
【請求項２３】
前記１つまたは複数のデータ集合を抽出する手段は、前記出力ファイルから１つまたは複数のデータ集合を抽出する手段を備える請求項２２に記載のシステム。
【請求項２４】
前記少なくとも１つの構造化されたドキュメントは、２つまたはより多くの構造化されたドキュメントを含み、前記２つまたはより多くの構造化されたドキュメントを結合する手段をさらに備える請求項１５に記載のシステム。
【請求項２５】
前記少なくとも１つの構造化されたドキュメントはキーホール・マークアップ言語（ＫＭＬ）ドキュメントを含む請求項１５に記載のシステム。
【請求項２６】
前記１つまたは複数のデータ集合は少なくとも１つのプレイスマークを含む請求項２５に記載のシステム。
【請求項２７】
少なくとも１つの検索クエリーを受信する手段と、
前記少なくとも１つの検索クエリーの受信に応答して、前記１つまたは複数のレコード項目のうち少なくとも１つを特定する手段と、
をさらに備える請求項１５に記載のシステム。
【請求項２８】
前記少なくとも１つの構造化されたドキュメント内に含まれる１つまたは複数のデータ集合を抽出する手段は、前記１つまたは複数のデータ集合を、前記少なくとも１つの構造化されたドキュメントと対応付けされた文脈情報と対応付ける手段をさらに備える請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、ユーザの検索への結果を提供することに関する。
【背景技術】
【０００２】
大きなデータの集合から情報を探索するためにクエリー処理システムが一般に使用される。典型的なシステムは、関係するウェブ・コンテンツの特定を要求するユーザによって入力された１つまたは複数のユーザの検索語句に応答して関係するウェブ・ページを特定するシステムを含む。ウェブ・ページ探索システムにおいて、検索クエリー内の語句を事前に格納されたウェブ・ページの全集に合致させることによって検索結果を特定することができる。
【０００３】
また、データの集合は、潜在的に、その小さな部分集合が特定の検索に関係する大量のデータを含みうる構造化されたドキュメントを含みうる。典型的な構造化されたドキュメントは、キーホール・マークアップ言語（ＫＭＬ）ドキュメントであり、これは、‘Google Earth’のようなブラウザ内に地理的なデータを表示するために使用されるＸＭＬを基にしたファイル・フォーマットである。ＫＭＬドキュメントは、入れ子にされた要素および属性を有するタグを基にした構造を利用し、説明テキスト、モデル、画像を地上の場所と対応付けるために使用することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ウェブ・ページ検索システムは、全体としてクエリーの個々の語句と合致するドキュメントを特定することに熟達しているが、文脈においてクエリーのパラメータと合致する構造化されたドキュメントの要素を特定することができない。一例として、検索システムは、ＫＭＬドキュメント内に格納された最も関係するデータのみを返却しない。従って、ユーザは、入れ子にされた要素および属性のようなコンテンツに基づいて構造化されたドキュメントを検索することができない。例えば、ユーザは、関心のある地理的な地域を指定し、キーワードに基づいてＫＭＬファイルをフィルタリングし、または、そのような検索クエリーの組み合わせを指定することによって、ＫＭＬファイルの要素について検索することができない。
【課題を解決するための手段】
【０００５】
続く開示は、検索クエリーの結果の特定を可能とするシステム、方法、および、コンピュータ・プログラム製品を説明する。
【０００６】
一態様によれば、方法が開示される。前記方法は、１つまたは複数のデータ・ソースからデータを特定する過程を有し、前記データは少なくとも１つの構造化されたドキュメントと対応付けされ、前記少なくとも１つの構造化されたドキュメント内に含まれる１つまたは複数のデータ集合を抽出する過程をさらに含む。前記方法は、１つまたは複数のレコード項目を検索可能なデータベースに追加する過程をさらに有し、前記１つまたは複数のレコード項目は前記１つまたは複数の抽出されたデータ集合に対応する。
【０００７】
一態様によれば、前記方法は、前記１つまたは複数のデータ・ソースから前記データを取得する過程をさらに含むことが可能である。さらに、前記１つまたは複数のデータ・ソースのうち少なくとも１つは、１つまたは複数のユニフォーム・リソース・ロケータ（ＵＲＬ）を含むことが可能である。一態様によれば、前記データは少なくとも１つの構造化されたドキュメントである。また、前記データは、ページランクのようなメタデータを含むことが可能である。さらにもう１つの態様によれば、前記方法は、前記１つまたは複数のデータ・ソースから前記データを特定する過程に続いて、前記データと対応付けされたメタデータを特定する過程をさらに含むことが可能である。
【０００８】
さらにもう１つの態様によれば、前記方法は、出力ファイルを生成する過程を含むことが可能であり、前記出力ファイルは２つまたはより多くの構造化されたドキュメントと対応付けされたデータを含む。また、前記１つまたは複数のデータ集合を抽出する過程は、前記出力ファイルから１つまたは複数のデータ集合を抽出する過程を含むことが可能である。さらに、一態様によれば、前記少なくとも１つの構造化されたドキュメントは、２つまたはより多くの構造化されたドキュメントを含むことが可能であり、前記方法は、前記２つまたはより多くの構造化されたドキュメントを結合する過程をさらに含むことが可能である。
【０００９】
もう１つの態様によれば、前記少なくとも１つの構造化されたドキュメントはキーホール・マークアップ言語（ＫＭＬ）ドキュメントを含む。さらに、前記１つまたは複数のデータ集合は少なくとも１つのプレイスマークを含むことが可能である。また、前記方法は、少なくとも１つの検索クエリーを受信する過程と、前記少なくとも１つの検索クエリーの受信に応答して、前記１つまたは複数のレコード項目のうち少なくとも１つを特定する過程と、を含むことが可能である。さらに、前記少なくとも１つの構造化されたドキュメント内に含まれる１つまたは複数のデータ集合を抽出する過程は、前記１つまたは複数のデータ集合を、前記少なくとも１つの構造化されたドキュメントと対応付けされた文脈情報と対応付ける過程を含むことが可能である。
【００１０】
これらの包括的なおよび特定の態様は、システム、方法、または、コンピュータ・プログラム、または、システム、方法、および、コンピュータ・プログラムの任意の組み合わせを使用して実現することが可能である。
【図面の簡単な説明】
【００１１】
【図１】一実施形態による、検索システムを表わす。
【図２】一実施形態による、図１の検索システム内のサーバの構成要素を表わす。
【図３】一実施形態による、検索システムを表わす。
【図４】例示のＫＭＬファイルを表わす。
【図５】一実施形態による、１つまたは複数のデータ・ソースからドキュメントおよびメタデータを収集および結合する例示の処理を表わす。
【図６】ＵＲＬによって索引付けされた１つのファイルを含む例示の出力ファイルを表わす。
【図７】一実施形態による、構造化されたファイルの抽出のための例示の処理フローを表わす。
【図８】１つのＵＲＬに対応する複数のレコード項目を含む例示の出力ファイルを表わす。
【図９】一実施形態による、構造化されたドキュメントの収集および抽出の処理を表わす。
【発明を実施するための形態】
【００１２】
ここで、全ての実施形態ではなく、いくつかが表わされている添付図面を参照して、以下、より十分にこの開示を説明する。実際、これらの実施形態は、多くの異なる形態に実現することができ、以下に記載する実施形態に限定されると解釈すべきではなく、むしろ、適用される法的な要求条件をこの開示が満たすように、これらの実施形態が提供される。全体として同一の参照符号は同一の構成要素を示す。
【００１３】
この開示は、個々のデータ集合がユーザの検索クエリーに応答して検索および取得されるように、構造化されたドキュメントの収集、および、そのような構造化されたドキュメント内のデータ集合の抽出を可能とする検索システムを説明する。例えば、個々のプレイスマークがユーザのクエリーへの検索結果として返却されうる検索可能なレコードである、いくつかのプレイスマークを有するＫＭＬファイルが抽出される。構造化されたドキュメントからのデータ集合の抽出は、抽出に続いて構造化されたドキュメントと対応付けされた文脈情報が保持されるように実行される。
【００１４】
この開示は、方法、装置（すなわち、システム）、および、コンピュータ・プログラム製品のブロック図およびフローチャートを参照して説明される。ブロック図およびフローチャートのブロック、ブロック図およびフローチャートにおけるブロックの組み合わせは、それぞれ、コンピュータ・プログラム命令によって実現可能であることが理解される。これらのコンピュータ・プログラム命令は、汎用コンピュータ、専用コンピュータ、または、機械を生じる他のプログラム可能なデータ処理装置にロードされ、コンピュータまたは他のプログラム可能なデータ処理装置上で実行される命令が、フローチャートのブロックにおいて指定された機能を実現するための手段を生成する。
【００１５】
また、コンピュータまたは他のプログラム可能なデータ処理装置が特定の形態で機能するように指示することができるこれらのコンピュータ・プログラム命令がコンピュータ読み取り可能なメモリ内に記憶され、コンピュータ読み取り可能なメモリ内に記憶された命令が、フローチャートのブロックにおいて指定された機能を実現する命令手段を含む製品を生じる。また、コンピュータ・プログラム命令はコンピュータまたは他のプログラム可能なデータ処理装置にロードされて、コンピュータまたは他のプログラム可能な装置上で実行される一連の動作ステップに、コンピュータまたは他のプログラム可能な装置上で実行される命令がフローチャートのブロックにおいて指定された機能を実現するためのステップを提供するようなコンピュータで実現された処理を生じさせる。
【００１６】
従って、ブロック図およびフローチャートのブロックは、指定された機能を実行するための手段の組み合わせ、指定された機能を実行するためのステップの組み合わせ、指定された機能を実行するためのプログラム命令手段の組み合わせをサポートする。また、ブロック図およびフローチャートの各々のブロック、および、ブロック図およびフローチャートにおけるブロックの組み合わせは、指定された機能またはステップを実行する専用ハードウェアを基にしたコンピュータシステム、または、専用ハードウェアおよびコンピュータ命令の組み合わせによって実現できることを理解すべきである。
【００１７】
ここで、図１を参照すると、一実施形態による検索システム１００が表わされている。システム１００は、１つまたは複数のネットワーク１４０を介してサーバ１２０と通信する１つまたは複数のクライアント１１５を含む。複数のクライアント１１５と１つのサーバ１２０が図１に表わされているが、より多くのサーバ、および、より多くのまたはより少ないクライアントが存在しうる。例えば、サーバ１２０によって実行される機能のいくつかは、１つまたは複数の他のサーバによって実行することができるので、サーバ１２０は、コンピュータ・プロセッサおよび／またはサーバのネットワークのような、いくつかの機器を表わしうる。さらに、ある実施形態において、クライアントはサーバ１２０の機能を実行することができ、サーバ１２０はクライアントの機能を実行することができる。クライアント１１５は、パーソナル・コンピュータ、携帯電話、ＰＤＡ（Personal Digital Assistant）、ラップトップ・コンピュータ、または、他の種類のコンピュータ機器または通信機器のような機器、これらの機器のうち１つにおいて動作するスレッドまたはプロセス、および／または、これらの機器の１つによって実行可能なオブジェクトを含みうる。
【００１８】
また、システム１００は、１つまたは複数のネットワーク１４０を介してサーバ１２０と通信する１つまたは複数のデータ・ソース１０５を含む。システム１００において、サーバ１２０は、１つまたは複数のデータ・ソース１０５からデータを収集および／または受信し、データを処理して１つまたは複数のクライアント１１５から受信した検索クエリーへの応答を生成する。
【００１９】
ネットワーク１４０は、１つまたは複数のローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、公衆交換電話網（ＰＳＴＮ）のような電話網、イントラネット、インターネット、および／または、他の種類のネットワークを含みうる。クライアント１１５、データ・ソース１０５、および、サーバ１２０は、有線、無線、または、光または他の接続を介して、ネットワーク１４０に接続することができる。代わりの実施形態において、図１に表わされている機器のうち１つまたは複数は、他の１つの機器に直接に接続される。例えば、一実施形態において、クライアント１１５および／またはデータ・ソース１０５は、サーバ１２０に直接に接続される。
【００２０】
図２は、一実施形態による、図１のサーバ１２０を表わす。サーバ１２０は、バス２１０、プロセッサ２２０、メイン・メモリ２３０、リード・オンリ・メモリ（ＲＯＭ）２４０、記憶装置２５０、１つまたは複数の入力装置２６０、１つまたは複数の出力装置２７０、および、通信インタフェース２８０を含みうる。バス２１０は、サーバ１２０の構成要素の間での通信を可能とする１つまたは複数の経路を含みうる。
【００２１】
プロセッサ２２０は、命令を解釈および実行する任意の種類の従来のプロセッサ、マイクロプロセッサ、または、処理ロジックを含む。メイン・メモリ２３０は、プロセッサ２２０による実行のための情報および命令を記憶するランダム・アクセス・メモリ（ＲＡＭ）または他の種類の動的な記憶装置を含みうる。ＲＯＭ・２４０は、例えば、オペレーティング・システムを含む、プロセッサ２２０による使用のための静的な情報および命令を記憶する従来のＲＯＭ装置または任意の種類の静的な記憶装置を含みうる。さらに、記憶装置２５０は、磁気および／または光記録媒体およびそれに対応するドライブを含みうる。
【００２２】
また、サーバ１２０は、キーボード、マウス、ペン、音声認識、および／または、バイオメトリクス機構、等のような、ユーザがサーバ１２０に情報を入力することを可能とする１つまたは複数の従来の機構を有する入力装置２６０を含みうる。出力装置２７０は、ディスプレイ、プリンタ、スピーカ、等のような、ユーザに情報を出力する１つまたは複数の従来の機構を含む。通信インタフェース２８０は、サーバ１２０が他の機器および／またはシステムと通信することを可能とするトランシーバのような任意の機構を含みうる。例えば、通信インタフェース２８０は、ネットワーク１４０のような１つまたは複数のネットワークを介して他の機器またはシステムと通信するための機構を含みうる。
【００２３】
動作において、サーバ１２０は、１つまたは複数のデータ・ソース１０５からドキュメントおよびドキュメントと対応付けされたデータを収集し、そのようなドキュメントおよびデータを処理し、クライアントの検索クエリーに応答した結果を特定することができる。一実施形態において、サーバ１２０は、メモリ２３０のようなコンピュータ読み取り可能な媒体に含まれるソフトウェア命令を実行するプロセッサ２２０に応答してこれらの動作を実行する。ソフトウェア命令は、データ記憶装置２５０のような他のコンピュータ読み取り可能な媒体から、または、通信インタフェース２８０を介して他の機器からメモリ２３０に読み込まれうる。メモリ２３０に含まれるソフトウェア命令は、プロセッサ２２０に、この開示において説明する処理を実行させる。その代わりに、この開示と一致した処理を実現するために、ソフトウェア命令に代えて、または、組み合わせて、ハードウェアに組み込みの回路を使用することができる。従って、実装は、どのような特定のハードウェアに組み込みの回路およびソフトウェアの組み合わせにも限定されない。
【００２４】
ここで、図３を参照すると、一実施形態による検索システム３００が表わされている。検索システム３００は、図１に表わされているシステム１００と同様であり、１つまたは複数のデータ・ソース３０５、および、１つまたは複数のネットワーク３４０を介してサーバ３２０と通信する１つまたは複数のクライアント３１５を含む。図１のシステム１００のように、データ・ソース３０５および／またはクライアント３１５は、地理的に分散し、かつ／または、サーバ３２０に対してローカルに存在することが可能であり、１つまたは複数のネットワーク３４０を介して通信する代わりに、サーバ３２０と直接に通信することが可能である。さらに、１つまたは複数のデータ・ソース３０５および／または１つまたは複数のクライアント３１５は、サーバ３２０に対してローカルに存在しうる。
【００２５】
１つまたは複数のデータ・ソース３０５は、ドキュメントおよびドキュメントと対応付けされたメタデータを含む１つまたは複数のデータ・リポジトリ、ウェブ・ページ、等を含みうる。一実施形態によれば、ドキュメントは、ＫＭＬファイルのような構造化されたドキュメントを含みうる。ＫＭＬファイルは、‘Google Earth’、‘Google Maps’、および、‘Google Maps for mobile’のようなブラウザにおいて地理的なデータを表示するために使用される、ＸＭＬを基にしたデータまたはファイル・フォーマットであり、入れ子にされた要素および属性を有するタグを基にした構造を利用する。
【００２６】
ＫＭＬファイルは、説明テキスト、モデル、および、画像を地上の場所と対応付けるために使用することができる。ＫＭＬファイル内の各々の地理的な参照が付けられる実体はプレイスマーク（placemark）と呼ばれ、地点、地域、または、道路への地理的な参照を付けることができる。簡単なプレイスマークを特定する例示のＫＭＬファイル４００が図４に表わされている。ＫＭＬファイル４００は、一般に、ＫＭＬファイル４００の１行目に存在するＸＭＬヘッダ、ＫＭＬファイル４００の２行目に存在するＫＭＬ名前空間定義、および、名称、説明、地点を含むいくつかの要素を含む少なくとも１つのプレイスマーク・オブジェクトを含む。名称はプレイスマークのためのラベルとして使用され、説明はブラウザ内でプレイスマークに結びつけられた図式的な‘吹き出し’の中に表わされ、地点は経度、緯度、および／または、標高、道路の所在地、等のようなプレイスマークの位置を指定することができる。ＫＭＬファイルは、複数のプレイスマークを含むことが可能であり、ＫＭＬファイル内のプレイスマークは、収容しているフォルダの階層において組織化することが可能である。また、ＫＭＬファイルは、他の記述的な特徴を含むことが可能であり、リンク、フォント・サイズ、スタイル、色、テスト配列の指定、等を追加する記述的なＨＴＭＬを含みうる。
【００２７】
再び図３を参照すると、１つまたは複数のデータ・ソース３０５からの構造化されたドキュメントおよびメタデータがサーバ３２０によって受信される。１つまたは複数のデータ・ソース３０５は、パブリックおよび／またはプライベートなデータのリポジトリを含みうる。一実施形態によれば、データ収集モジュール３２５によってデータ・ソース３０５からデータが引き出される結果として、ドキュメントおよびメタデータがデータ収集モジュール３２５によって収集される。データ・ソースは、その代わりに、または、それに加えて、自動的に、および／または、データ収集モジュール３２５によるデータの要求時に、データ収集モジュール３２５にドキュメントおよびメタデータを送り出す、または、送信することが可能である。例えば、ＫＭＬファイル、および、それらの対応付けされたメタデータは、データ収集モジュール３２５によって受信することが可能である。ＫＭＬファイルと対応付けされたメタデータは、とりわけ、任意の番号付与方式に関して、ファイルのリンク数（または人気（popularity））を特定するファイルの相対的な順位、ファイルのダウンロード数、および／または、他のメタデータを特定するページランク（page rank）を含みうる。ドキュメントと対応付けされたメタデータは、別個のドキュメントまたはデータベースのような、ドキュメントそれ自身と異なるソースに由来することが可能である。
【００２８】
この開示は、以下、ＫＭＬファイルおよびその対応付けされたメタデータを参照して詳細に説明するが、この開示は、場所の名称、説明テキスト、画像、地理的な参照付け、等のようなデータを結合するために使用することが可能な任意の構造化されたデータ・フォーマットを用いて動作可能である。例えば、１つまたは複数のデータ・ソース３０５はサーバ３２０にＧｅｏＲＳＳファイルを送信することもでき、ＧｅｏＲＳＳファイルはＨＴＭＬを含み、典型的に、地理的な場所への参照を付ける。ＫＭＺファイルのような他のファイルも利用可能である。
【００２９】
構造化されたドキュメントおよび関連するメタデータの収集が完了した後、データ収集モジュール３２５は構造化されたドキュメントおよびメタデータを結合し、索引付けモジュール３３０に索引付けされた出力ファイルを供給する。索引付けモジュール３３０は、データ収集モジュール３２５から受信した索引付けされた出力ファイルを構文解析して１つまたは複数のデータ集合を特定し、抽出されたデータ集合についてクエリーに依存しない順位を計算し、ユーザのクエリーに応答するために使用される結果リポジトリ３３５内に格納するために、抽出されたデータ集合に対応するレコード項目を転送する。一実施形態によれば、データ収集モジュール３２５によって生成されたＫＭＬドキュメントよびメタデータは、入力として索引付けモジュール３３０に供給することができ、索引付けモジュール３３０は、ＫＭＬファイルを構文解析し、プレイスマークを抽出し、各々のプレイスマークについてクエリーに依存しない順位を計算し、ユーザの検索クエリーに応答するために使用される検索リポジトリ３３５に挿入するために、各々のプレイスマークを個々に供給することができる。
【００３０】
データ収集モジュール３２５、索引付けモジュール３３０、および、結果リポジトリ３３５の各々はサーバ３２０の内部に表わされており、メモリ２３０内に記憶されたソフトウェア命令または図２に表わされている例示のサーバ１２０の他の構成要素によって実現することが可能であるが、１つまたは複数のデータ収集モジュール３２５、索引付けモジュール３３０、および／または、結果リポジトリ３３５は、サーバ３２０の外部に備えることが可能である。例えば、構成要素３２５、３３０、３３５のうち１つまたは複数は、１つまたは複数の別個のサーバ内に備えることが可能である。また、構成要素３２５、３３０、３３５は、１つまたは複数の構成要素において全体または一部で結合することが可能である。従って、図３に表わされている例示のシステム３００のブロック図の実施形態は、ここで説明する機能を実現することが可能な特定のソフトウェアおよび／またはハードウェアに限定することなく、システム３００の各種の機能を表わすことを意図している。
【００３１】
次に、図５は、データ収集モジュール３２５による１つまたは複数のデータ・ソースからのドキュメントおよびメタデータの収集を表わす典型的な機能ブロックのフローチャート５００を表わす。一実施形態によれば、データ収集モジュール３２５は、構造化されたドキュメントおよびそのようなドキュメントと対応付けされた任意のメタデータ、例えば、ＫＭＬドキュメントおよび対応付けされたメタデータを特定および取得するように動作可能である。
【００３２】
一実施形態によれば、データ収集モジュール３２５は、ウェブ・クロール・プログラム（web crawl program）を利用してワールド・ワイド・ウェブ（web）上に存在する構造化されたドキュメントを特定することができる。ウェブ・クロール・プログラムはウェブを閲覧し、訪問したページのコピーを生成し、遭遇したＵＲＬの索引またはテーブルを生成する。図５に表わされているように、ウェブ・クロール・プログラムは、ウェブ・クロール・プログラムによって特定された個々のページと対応付けされた、または、特定するＵＲＬ・５０５を生成するように動作可能である。ＵＲＬは、構造化されたドキュメントおよび構造化されたドキュメントと対応付けされたメタデータを特定することができる。
【００３３】
一実施形態によれば、ウェブ・クロールの間に、構造化されたファイルは検査され、かつ／または、構造化されたファイルのコンテンツが検査および／または検索されることを可能とするために別個のファイル・フォーマットに変換される。例えば、構造化されたＫＭＬファイルは、それと対応付けされた（かつＵＲＬによって特定された）、ＫＭＬファイルのコンテンツを記述するＨＴＭＬファイルを有することが可能であり、ここで、ＨＴＭＬファイルは、ＫＭＬファイルを順位付け、および／または、索引付けするために関係しうる。図５に表わされているように、メタデータ内に含まれるＵＲＬは、各々の構造化されたドキュメントについてのＵＲＬを含み、ページランク・データベース５３５に転送され、ページランク・データベース５３５は、各々の構造化されたドキュメントと対応付けされた追加のメタデータを含みうる。
【００３４】
データ収集モジュール３２５は、ＵＲＬ・５０５を検査し、例えば、全てのＫＭＬドキュメントのような、関心のある全ての構造化されたドキュメントを特定することが可能である。エントリが特定されると、データ収集モジュール３２５は、ドキュメント取得５１５を実行して、特定されたＵＲＬと対応付けされた構造化されたドキュメント５２０を取得する。他のパブリックおよび／またはプライベートなデータ・リポジトリ５２５から追加の構造化されたドキュメントおよびメタデータ５３０を収集することが可能である。各々のデータ・ソースは、ファイルが特定のサイトからダウンロードされた回数、ユーザのフィードバック、等のような、特定の構造化されたファイルと対応付けされた異なるメタデータ５３０を含むことが可能である。他のパブリックおよび／またはプライベートなデータ・リポジトリ５２５から収集された各々の構造化されたドキュメントについてのＵＲＬは、ページランク・データベース５３５に転送され、ページランク・データベース５３５は、各々の構造化されたドキュメントと対応付けされた追加のメタデータを含むことが可能である。
【００３５】
上述したように、構造化されたドキュメントを特定するとき、データ収集モジュール３２５は、各々の発見された構造化されたファイルのページランクの探索を試みることが可能である。一実施形態によれば、データ収集モジュール３２５は、ウェブ・クロール、または、パブリックおよび／またはプライベートなデータ・リポジトリにおいて発見された各々の構造化されたドキュメントに対応するＵＲＬのページランクを取得することを試みることによって、特定されたドキュメントについてページランク・データベース５３５に問い合わせる。ページランクは、ユーザのクエリーへの結果を優先順位付けするために検索システムによって使用されうる。もう１つの実施形態によれば、ＵＲＬのページランクは、特定されたドキュメントについて取得されない。また、他のメタデータが、例えば、１つまたは複数の他のデータベースから、対応するＵＲＬについて探索されうる。
【００３６】
ＵＲＬ・５４０によってキー指定され、ページランク・データベース５３５から収集されたメタデータは、ウェブ・クロール、および／または、パブリックまたはプライベートなデータ・リポジトリから特定された構造化されたドキュメントおよびメタデータと結合５４５される。このデータは、重複したドキュメントを除去するために、１つまたは複数の重複除去ステージを通して渡すことが可能である。一例として、各々がそれぞれ異なるＵＲＬからダウンロードされた２つの同一のファイルを特定することが可能である。２つの同一のファイルのうち１つは、重複除去ステージによって削除することが可能である。もう１つの例として、特定のページランクと対応付けされたＵＲＬは、ドキュメントと対応付けされた同じＵＲＬと結合することが可能である。メタデータおよびドキュメントの結合は、ＵＲＬおよび／または生のドキュメントのコンテンツにおける結合によって発生しうる。
【００３７】
一実施形態によれば、データ収集モジュール３２５は、発見された全ての構造化されたドキュメントおよびメタデータを共通のフォーマットに変換して出力ファイル５５０を生成することが可能である。一実施形態によれば、データ収集モジュール３２５の出力は、１つの索引付けされた出力ファイル５５０であり、出力ファイル内の各々のレコードは、ユーザの検索クエリーへの適切な応答であるか否かを特定するために、レコードを採点するために使用される構造化されたドキュメントおよび全ての対応付けされたメタデータを含む。出力ファイルは、ＵＲＬによって索引付けされたレコードのテーブルを含むことが可能であり、ここで、各々のＵＲＬと対応付けされた全ての情報はＵＲＬと対応付けされたレコード内に存在する。
【００３８】
図６は、データ収集モジュール３２５による１つまたは複数のデータ・ソースからのドキュメントおよびメタデータの収集から生成された例示の出力ファイル６００を表わす。表わされているように、出力ファイルは、“Google Offices”と対応付けされたＫＭＬファイルを特定するソースＵＲＬと対応付けされたレコードを含む。コンテンツは、“Headquarters in Mountain View”（マウンテン・ビューの本社）、“New York City Office”（ニューヨーク市営業所）、“Tokyo Office”（東京営業所）についての名称および座標を含む、世界中の異なるグーグル事務所に対応するいくつかのプレイスマークを含む。ソースＵＲＬと対応付けされたメタデータは、ＵＲＬのページランク、および、例えば、利用可能なウェブ・サイトによって提供されるファイルのダウンロード数を特定する。また、メタデータは、ＵＲＬのような、各々のプレイスマークと対応付けされたアンカーを含むことが可能である。例示の出力ファイル６００にはただ１つのソースＵＲＬが表わされているが、１つの出力ファイル５５０は、２つまたはより多くのレコードを含むことが可能である。
【００３９】
データ収集モジュール３２５によって生成される出力ファイル５５０は、索引付けモジュール３３０に送信される。索引付けモジュール３３０は、文脈情報を保存する一方で、出力ファイル内のレコードからデータ集合を抽出するように動作可能である。例えば、索引付けモジュール３３０は、多数のプレイスマークを含みうる１つのＫＭＬファイルからプレイスマークを抽出するように動作可能であり、ここで、抽出は、親フォルダ、参照ページ、等のような文脈上のテキストを保存する。一例として、いくつかのプレイスマークを含むＫＭＬファイルは、各々のプレイスマークがロンドン市内の特定のホテルと対応付けされ（ホテルが特定される親フォルダとすることが可能である）、各々のプレイスマークがロンドン市と対応付けされた個々の検索可能な項目となるように抽出することが可能である。
【００４０】
図７は、索引付けを実行するために索引付けモジュール３３０によって実現される例示の処理フロー７００を表わす。データ収集モジュール３２５によって生成された出力ファイル５５０はＵＲＬによって索引付けされたレコードを含むが、索引付けモジュール３３０は、ＵＲＬによって索引付けされた各々のレコードをＵＲＬ毎の複数のレコード項目に変換することが可能である。一実施形態によれば、構造化されたドキュメントの索引付けは、出力ファイル５５０を取得し、構造化されたレコードを構文解析して個々のデータ集合（例えば、プレイスマーク）を抽出し（ブロック７１０）、各々のデータ集合についてクエリーに依存しない順位を計算し、データ集合に対応するレコード項目を検索可能なリポジトリ３３５に送信することによって実現することが可能である。この開示は、ここでＫＭＬファイル内のプレイスマークに関して言及しているが、構造化されたドキュメント内の他のデータ集合が索引付けモジュール３３０によって抽出されることが可能である。
【００４１】
一実施形態によれば、索引付けモジュール３３０は、ＵＲＬによって索引付けされたレコードをＵＲＬ毎の複数のレコード項目に変換し、ここで、各々のレコード項目はドキュメントＩＤによって索引付けされ、ドキュメントＩＤは、プレイスマークのようなレコード項目を一意に特定するために索引付けモジュール３３０によって選択された番号である。一実施形態によれば、ドキュメントＩＤは、レコードの選択されたフィールドからのハッシュ値として生成することが可能である。例えば、ドキュメントＩＤは、プレイスマークの場所を特定する地理的な座標に、一部分、基づくことが可能である。
【００４２】
抽出の間に、索引付けモジュール３３０は、元のレコードからの文脈情報を各々のデータ集合と対応付ける。例えば、ＫＭＬファイルから抽出された各々のプレイスマークは、プレイスマークの説明テキストおよび地理的な参照付けデータのような他のデータに加えて、対応する構造化されたファイルのＵＲＬおよび他のメタデータ、および、各々の収容しているフォルダの名称を含む文脈情報を保存する。さらに、各々のプレイスマークについて、索引付けモジュール３３０は、利用可能なメタデータに基づいてクエリーに依存しないスコアを計算することが可能である。これは、（図示しない）他のデータベースからの１つまたは複数の順位付けを利用することが可能である。
【００４３】
索引付けモジュール３３０は、さらに、メタデータ等に基づいて重複したレコード項目を除去する（ブロック７１５）ように動作可能である。例えば、重複したプレイスマークは、場所およびプレイスマークの名称のフィンガープリントの比較に基づいて除去することが可能である。利用可能なメタデータに基づく最も高いスコアを有するプレイスマークを保持することが可能である。
【００４４】
索引付けモジュール３３０は、任意選択で、構造化されたドキュメント内のデータ集合を、データ集合が関連する複合検索結果に一塊（cluster）にするように動作可能である。例えば、ＵＲＬによって索引付けされた１つまたは複数のレコードからのデータ集合の抽出に続いて、１つまたは複数のデータ集合を同じ物理的実体を参照する１つの複合検索結果に結合する、または、一塊にすることが可能である。これは、結果の多様性を向上させるために有効でありうる。例えば、ニューヨーク市について語句‘彫像’を用いたユーザの検索クエリーが、自由の女神を特定するプレイスマークでありうる、最も高いスコアを有するプレイスマークを返却しうる。自由の女神についての全ての結果を一塊にすることは、他の彫像の結果もユーザに提供することができるように、自由の女神についての１つの複合結果を提供する検索結果を許容する。
【００４５】
ある実体と関連する全ての項目が一塊にされるならば、しかし、これは、特定のレコード・エントリを特定する能力を減少させうる。従って、サービスを提供するモジュールは、ユーザの検索クエリーに少なくとも一部分基づく動的なクラスタリング（clustering）を実行することが可能である。例えば、自由の女神の例を用いて続けると、‘自由の女神’および‘ツアー’についての検索は、結果として、ＵＲＬによって索引付けされたレコード内に含まれる静的な語句に加えて、ユーザの検索語句に基づくクラスタリングとなる。
【００４６】
索引付けモジュール３３０によって特定されたレコード項目は、個々にリストされ、ユーザのクエリーに応答して使用するために検索可能なリポジトリに提供される（ブロック７２０、７３０）。図６の例示の出力ファイル６００に対応する、索引付けモジュール３３０の例示の出力８００が図８に表わされている。１つのレコード・エントリ内に存在する図６において特定されたプレイスマークは、別個のレコード項目８０５、８１０、８１５に抽出される。これは、構造化されたドキュメントから抽出された個々のレコード項目と対応付けされたコンテンツについてユーザが検索することを可能とする。
【００４７】
図９は、一実施形態による、構造化されたドキュメントの収集および抽出の処理を表わす。データは１つまたは複数のデータ・ソースから収集され（ブロック９０５）、ここで、データは、１つまたは複数の構造化されたドキュメントおよびそれと対応付けされたメタデータを含むことが可能である。一実施形態によれば、データ収集は、データ収集モジュール３２５によって実行することが可能であり、データ収集モジュール３２５は、１つまたは複数のデータ・ソース３０５からデータを収集することが可能である。収集されたデータから、構造化されたドキュメントおよび対応付けされたメタデータが特定される（ブロック９１０）。次に、構造化されたドキュメントおよびそれと対応付けされたメタデータが、例えばＵＲＬによって、結合されうる。また、重複したエントリが、ドキュメントのコンテンツのような他のキーに基づいて結合されうる（ブロック９２０）。そして、出力ファイルが生成される（ブロック９３０）。一実施形態によれば、構造化されたデータの特定、構造化されたデータおよびメタデータの結合、および／または、出力ファイルの生成は、データ収集モジュール３２５によって実行することも可能である。
【００４８】
そして、各々の出力ファイルのレコードからデータ集合を抽出することによって出力ファイル内で索引付けされた各々のレコードからレコード項目が生成される。例えば、出力ファイルのレコードがＵＲＬによって索引付けされたＫＭＬファイルを含む場合、ＫＭＬファイル内の抽出されたプレイスマークに対応するレコード項目を生成することが可能である（ブロック９４０）。一実施形態によれば、データ集合の抽出およびレコード項目の生成は、索引付けモジュール３３０によって実行することが可能である。抽出が完了した後、レコード項目（またはレコード項目のテーブル）が検索可能なデータベースに追加される（ブロック９５０）。
【００４９】
上述した説明および関連する図面において提示された開示の利益を受けるこの技術分野の当業者には、多くの変形および他の実施形態が思いつくであろう。従って、この開示は開示された特定の実施形態に限定されず、改良および他の実施形態が請求項の範囲内に含まれることを意図すると理解すべきである。ここで特定の用語が使用されたが、それらは総称かつ説明の意味でのみ使用され、限定の目的ではない。
【符号の説明】
【００５０】
１００  ・・・  検索システム
１０５  ・・・  データ・ソース
１１５  ・・・  クライアント
１２０  ・・・  サーバ
１４０  ・・・  ネットワーク
【図１】
2010518495.tif 000003
【図２】
2010518495.tif 000004
【図３】
2010518495.tif 000005
【図４】
2010518495.tif 000006
【図５】
2010518495.tif 000007
【図６】
2010518495.tif 000008
【図７】
2010518495.tif 000009
2010518495.tif 000010
【図８】
2010518495.tif 000011
【図９】
2010518495.tif 000012
【国際調査報告】
2010518495.tif 000013
2010518495.tif 000014