説明

構造化された地理的なデータの検索

データは1つまたは複数のデータ・ソースから特定され、前記データは少なくとも1つの構造化されたドキュメントと対応付けされる。前記少なくとも1つの構造化されたドキュメント内に含まれるデータ集合が抽出され、1つまたは複数のレコード項目が検索可能なデータベースに追加され、ここで、前記1つまたは複数のレコード項目は前記抽出されたデータ集合に対応する。

【発明の詳細な説明】
【技術分野】
【0001】
この開示は、ユーザの検索への結果を提供することに関する。
【背景技術】
【0002】
大きなデータの集合から情報を探索するためにクエリー処理システムが一般に使用される。典型的なシステムは、関係するウェブ・コンテンツの特定を要求するユーザによって入力された1つまたは複数のユーザの検索語句に応答して関係するウェブ・ページを特定するシステムを含む。ウェブ・ページ探索システムにおいて、検索クエリー内の語句を事前に格納されたウェブ・ページの全集に合致させることによって検索結果を特定することができる。
【0003】
また、データの集合は、潜在的に、その小さな部分集合が特定の検索に関係する大量のデータを含みうる構造化されたドキュメントを含みうる。典型的な構造化されたドキュメントは、キーホール・マークアップ言語(KML)ドキュメントであり、これは、‘Google Earth’のようなブラウザ内に地理的なデータを表示するために使用されるXMLを基にしたファイル・フォーマットである。KMLドキュメントは、入れ子にされた要素および属性を有するタグを基にした構造を利用し、説明テキスト、モデル、画像を地上の場所と対応付けるために使用することができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ウェブ・ページ検索システムは、全体としてクエリーの個々の語句と合致するドキュメントを特定することに熟達しているが、文脈においてクエリーのパラメータと合致する構造化されたドキュメントの要素を特定することができない。一例として、検索システムは、KMLドキュメント内に格納された最も関係するデータのみを返却しない。従って、ユーザは、入れ子にされた要素および属性のようなコンテンツに基づいて構造化されたドキュメントを検索することができない。例えば、ユーザは、関心のある地理的な地域を指定し、キーワードに基づいてKMLファイルをフィルタリングし、または、そのような検索クエリーの組み合わせを指定することによって、KMLファイルの要素について検索することができない。
【課題を解決するための手段】
【0005】
続く開示は、検索クエリーの結果の特定を可能とするシステム、方法、および、コンピュータ・プログラム製品を説明する。
【0006】
一態様によれば、方法が開示される。前記方法は、1つまたは複数のデータ・ソースからデータを特定する過程を有し、前記データは少なくとも1つの構造化されたドキュメントと対応付けされ、前記少なくとも1つの構造化されたドキュメント内に含まれる1つまたは複数のデータ集合を抽出する過程をさらに含む。前記方法は、1つまたは複数のレコード項目を検索可能なデータベースに追加する過程をさらに有し、前記1つまたは複数のレコード項目は前記1つまたは複数の抽出されたデータ集合に対応する。
【0007】
一態様によれば、前記方法は、前記1つまたは複数のデータ・ソースから前記データを取得する過程をさらに含むことが可能である。さらに、前記1つまたは複数のデータ・ソースのうち少なくとも1つは、1つまたは複数のユニフォーム・リソース・ロケータ(URL)を含むことが可能である。一態様によれば、前記データは少なくとも1つの構造化されたドキュメントである。また、前記データは、ページランクのようなメタデータを含むことが可能である。さらにもう1つの態様によれば、前記方法は、前記1つまたは複数のデータ・ソースから前記データを特定する過程に続いて、前記データと対応付けされたメタデータを特定する過程をさらに含むことが可能である。
【0008】
さらにもう1つの態様によれば、前記方法は、出力ファイルを生成する過程を含むことが可能であり、前記出力ファイルは2つまたはより多くの構造化されたドキュメントと対応付けされたデータを含む。また、前記1つまたは複数のデータ集合を抽出する過程は、前記出力ファイルから1つまたは複数のデータ集合を抽出する過程を含むことが可能である。さらに、一態様によれば、前記少なくとも1つの構造化されたドキュメントは、2つまたはより多くの構造化されたドキュメントを含むことが可能であり、前記方法は、前記2つまたはより多くの構造化されたドキュメントを結合する過程をさらに含むことが可能である。
【0009】
もう1つの態様によれば、前記少なくとも1つの構造化されたドキュメントはキーホール・マークアップ言語(KML)ドキュメントを含む。さらに、前記1つまたは複数のデータ集合は少なくとも1つのプレイスマークを含むことが可能である。また、前記方法は、少なくとも1つの検索クエリーを受信する過程と、前記少なくとも1つの検索クエリーの受信に応答して、前記1つまたは複数のレコード項目のうち少なくとも1つを特定する過程と、を含むことが可能である。さらに、前記少なくとも1つの構造化されたドキュメント内に含まれる1つまたは複数のデータ集合を抽出する過程は、前記1つまたは複数のデータ集合を、前記少なくとも1つの構造化されたドキュメントと対応付けされた文脈情報と対応付ける過程を含むことが可能である。
【0010】
これらの包括的なおよび特定の態様は、システム、方法、または、コンピュータ・プログラム、または、システム、方法、および、コンピュータ・プログラムの任意の組み合わせを使用して実現することが可能である。
【図面の簡単な説明】
【0011】
【図1】一実施形態による、検索システムを表わす。
【図2】一実施形態による、図1の検索システム内のサーバの構成要素を表わす。
【図3】一実施形態による、検索システムを表わす。
【図4】例示のKMLファイルを表わす。
【図5】一実施形態による、1つまたは複数のデータ・ソースからドキュメントおよびメタデータを収集および結合する例示の処理を表わす。
【図6】URLによって索引付けされた1つのファイルを含む例示の出力ファイルを表わす。
【図7】一実施形態による、構造化されたファイルの抽出のための例示の処理フローを表わす。
【図8】1つのURLに対応する複数のレコード項目を含む例示の出力ファイルを表わす。
【図9】一実施形態による、構造化されたドキュメントの収集および抽出の処理を表わす。
【発明を実施するための形態】
【0012】
ここで、全ての実施形態ではなく、いくつかが表わされている添付図面を参照して、以下、より十分にこの開示を説明する。実際、これらの実施形態は、多くの異なる形態に実現することができ、以下に記載する実施形態に限定されると解釈すべきではなく、むしろ、適用される法的な要求条件をこの開示が満たすように、これらの実施形態が提供される。全体として同一の参照符号は同一の構成要素を示す。
【0013】
この開示は、個々のデータ集合がユーザの検索クエリーに応答して検索および取得されるように、構造化されたドキュメントの収集、および、そのような構造化されたドキュメント内のデータ集合の抽出を可能とする検索システムを説明する。例えば、個々のプレイスマークがユーザのクエリーへの検索結果として返却されうる検索可能なレコードである、いくつかのプレイスマークを有するKMLファイルが抽出される。構造化されたドキュメントからのデータ集合の抽出は、抽出に続いて構造化されたドキュメントと対応付けされた文脈情報が保持されるように実行される。
【0014】
この開示は、方法、装置(すなわち、システム)、および、コンピュータ・プログラム製品のブロック図およびフローチャートを参照して説明される。ブロック図およびフローチャートのブロック、ブロック図およびフローチャートにおけるブロックの組み合わせは、それぞれ、コンピュータ・プログラム命令によって実現可能であることが理解される。これらのコンピュータ・プログラム命令は、汎用コンピュータ、専用コンピュータ、または、機械を生じる他のプログラム可能なデータ処理装置にロードされ、コンピュータまたは他のプログラム可能なデータ処理装置上で実行される命令が、フローチャートのブロックにおいて指定された機能を実現するための手段を生成する。
【0015】
また、コンピュータまたは他のプログラム可能なデータ処理装置が特定の形態で機能するように指示することができるこれらのコンピュータ・プログラム命令がコンピュータ読み取り可能なメモリ内に記憶され、コンピュータ読み取り可能なメモリ内に記憶された命令が、フローチャートのブロックにおいて指定された機能を実現する命令手段を含む製品を生じる。また、コンピュータ・プログラム命令はコンピュータまたは他のプログラム可能なデータ処理装置にロードされて、コンピュータまたは他のプログラム可能な装置上で実行される一連の動作ステップに、コンピュータまたは他のプログラム可能な装置上で実行される命令がフローチャートのブロックにおいて指定された機能を実現するためのステップを提供するようなコンピュータで実現された処理を生じさせる。
【0016】
従って、ブロック図およびフローチャートのブロックは、指定された機能を実行するための手段の組み合わせ、指定された機能を実行するためのステップの組み合わせ、指定された機能を実行するためのプログラム命令手段の組み合わせをサポートする。また、ブロック図およびフローチャートの各々のブロック、および、ブロック図およびフローチャートにおけるブロックの組み合わせは、指定された機能またはステップを実行する専用ハードウェアを基にしたコンピュータシステム、または、専用ハードウェアおよびコンピュータ命令の組み合わせによって実現できることを理解すべきである。
【0017】
ここで、図1を参照すると、一実施形態による検索システム100が表わされている。システム100は、1つまたは複数のネットワーク140を介してサーバ120と通信する1つまたは複数のクライアント115を含む。複数のクライアント115と1つのサーバ120が図1に表わされているが、より多くのサーバ、および、より多くのまたはより少ないクライアントが存在しうる。例えば、サーバ120によって実行される機能のいくつかは、1つまたは複数の他のサーバによって実行することができるので、サーバ120は、コンピュータ・プロセッサおよび/またはサーバのネットワークのような、いくつかの機器を表わしうる。さらに、ある実施形態において、クライアントはサーバ120の機能を実行することができ、サーバ120はクライアントの機能を実行することができる。クライアント115は、パーソナル・コンピュータ、携帯電話、PDA(Personal Digital Assistant)、ラップトップ・コンピュータ、または、他の種類のコンピュータ機器または通信機器のような機器、これらの機器のうち1つにおいて動作するスレッドまたはプロセス、および/または、これらの機器の1つによって実行可能なオブジェクトを含みうる。
【0018】
また、システム100は、1つまたは複数のネットワーク140を介してサーバ120と通信する1つまたは複数のデータ・ソース105を含む。システム100において、サーバ120は、1つまたは複数のデータ・ソース105からデータを収集および/または受信し、データを処理して1つまたは複数のクライアント115から受信した検索クエリーへの応答を生成する。
【0019】
ネットワーク140は、1つまたは複数のローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、公衆交換電話網(PSTN)のような電話網、イントラネット、インターネット、および/または、他の種類のネットワークを含みうる。クライアント115、データ・ソース105、および、サーバ120は、有線、無線、または、光または他の接続を介して、ネットワーク140に接続することができる。代わりの実施形態において、図1に表わされている機器のうち1つまたは複数は、他の1つの機器に直接に接続される。例えば、一実施形態において、クライアント115および/またはデータ・ソース105は、サーバ120に直接に接続される。
【0020】
図2は、一実施形態による、図1のサーバ120を表わす。サーバ120は、バス210、プロセッサ220、メイン・メモリ230、リード・オンリ・メモリ(ROM)240、記憶装置250、1つまたは複数の入力装置260、1つまたは複数の出力装置270、および、通信インタフェース280を含みうる。バス210は、サーバ120の構成要素の間での通信を可能とする1つまたは複数の経路を含みうる。
【0021】
プロセッサ220は、命令を解釈および実行する任意の種類の従来のプロセッサ、マイクロプロセッサ、または、処理ロジックを含む。メイン・メモリ230は、プロセッサ220による実行のための情報および命令を記憶するランダム・アクセス・メモリ(RAM)または他の種類の動的な記憶装置を含みうる。ROM・240は、例えば、オペレーティング・システムを含む、プロセッサ220による使用のための静的な情報および命令を記憶する従来のROM装置または任意の種類の静的な記憶装置を含みうる。さらに、記憶装置250は、磁気および/または光記録媒体およびそれに対応するドライブを含みうる。
【0022】
また、サーバ120は、キーボード、マウス、ペン、音声認識、および/または、バイオメトリクス機構、等のような、ユーザがサーバ120に情報を入力することを可能とする1つまたは複数の従来の機構を有する入力装置260を含みうる。出力装置270は、ディスプレイ、プリンタ、スピーカ、等のような、ユーザに情報を出力する1つまたは複数の従来の機構を含む。通信インタフェース280は、サーバ120が他の機器および/またはシステムと通信することを可能とするトランシーバのような任意の機構を含みうる。例えば、通信インタフェース280は、ネットワーク140のような1つまたは複数のネットワークを介して他の機器またはシステムと通信するための機構を含みうる。
【0023】
動作において、サーバ120は、1つまたは複数のデータ・ソース105からドキュメントおよびドキュメントと対応付けされたデータを収集し、そのようなドキュメントおよびデータを処理し、クライアントの検索クエリーに応答した結果を特定することができる。一実施形態において、サーバ120は、メモリ230のようなコンピュータ読み取り可能な媒体に含まれるソフトウェア命令を実行するプロセッサ220に応答してこれらの動作を実行する。ソフトウェア命令は、データ記憶装置250のような他のコンピュータ読み取り可能な媒体から、または、通信インタフェース280を介して他の機器からメモリ230に読み込まれうる。メモリ230に含まれるソフトウェア命令は、プロセッサ220に、この開示において説明する処理を実行させる。その代わりに、この開示と一致した処理を実現するために、ソフトウェア命令に代えて、または、組み合わせて、ハードウェアに組み込みの回路を使用することができる。従って、実装は、どのような特定のハードウェアに組み込みの回路およびソフトウェアの組み合わせにも限定されない。
【0024】
ここで、図3を参照すると、一実施形態による検索システム300が表わされている。検索システム300は、図1に表わされているシステム100と同様であり、1つまたは複数のデータ・ソース305、および、1つまたは複数のネットワーク340を介してサーバ320と通信する1つまたは複数のクライアント315を含む。図1のシステム100のように、データ・ソース305および/またはクライアント315は、地理的に分散し、かつ/または、サーバ320に対してローカルに存在することが可能であり、1つまたは複数のネットワーク340を介して通信する代わりに、サーバ320と直接に通信することが可能である。さらに、1つまたは複数のデータ・ソース305および/または1つまたは複数のクライアント315は、サーバ320に対してローカルに存在しうる。
【0025】
1つまたは複数のデータ・ソース305は、ドキュメントおよびドキュメントと対応付けされたメタデータを含む1つまたは複数のデータ・リポジトリ、ウェブ・ページ、等を含みうる。一実施形態によれば、ドキュメントは、KMLファイルのような構造化されたドキュメントを含みうる。KMLファイルは、‘Google Earth’、‘Google Maps’、および、‘Google Maps for mobile’のようなブラウザにおいて地理的なデータを表示するために使用される、XMLを基にしたデータまたはファイル・フォーマットであり、入れ子にされた要素および属性を有するタグを基にした構造を利用する。
【0026】
KMLファイルは、説明テキスト、モデル、および、画像を地上の場所と対応付けるために使用することができる。KMLファイル内の各々の地理的な参照が付けられる実体はプレイスマーク(placemark)と呼ばれ、地点、地域、または、道路への地理的な参照を付けることができる。簡単なプレイスマークを特定する例示のKMLファイル400が図4に表わされている。KMLファイル400は、一般に、KMLファイル400の1行目に存在するXMLヘッダ、KMLファイル400の2行目に存在するKML名前空間定義、および、名称、説明、地点を含むいくつかの要素を含む少なくとも1つのプレイスマーク・オブジェクトを含む。名称はプレイスマークのためのラベルとして使用され、説明はブラウザ内でプレイスマークに結びつけられた図式的な‘吹き出し’の中に表わされ、地点は経度、緯度、および/または、標高、道路の所在地、等のようなプレイスマークの位置を指定することができる。KMLファイルは、複数のプレイスマークを含むことが可能であり、KMLファイル内のプレイスマークは、収容しているフォルダの階層において組織化することが可能である。また、KMLファイルは、他の記述的な特徴を含むことが可能であり、リンク、フォント・サイズ、スタイル、色、テスト配列の指定、等を追加する記述的なHTMLを含みうる。
【0027】
再び図3を参照すると、1つまたは複数のデータ・ソース305からの構造化されたドキュメントおよびメタデータがサーバ320によって受信される。1つまたは複数のデータ・ソース305は、パブリックおよび/またはプライベートなデータのリポジトリを含みうる。一実施形態によれば、データ収集モジュール325によってデータ・ソース305からデータが引き出される結果として、ドキュメントおよびメタデータがデータ収集モジュール325によって収集される。データ・ソースは、その代わりに、または、それに加えて、自動的に、および/または、データ収集モジュール325によるデータの要求時に、データ収集モジュール325にドキュメントおよびメタデータを送り出す、または、送信することが可能である。例えば、KMLファイル、および、それらの対応付けされたメタデータは、データ収集モジュール325によって受信することが可能である。KMLファイルと対応付けされたメタデータは、とりわけ、任意の番号付与方式に関して、ファイルのリンク数(または人気(popularity))を特定するファイルの相対的な順位、ファイルのダウンロード数、および/または、他のメタデータを特定するページランク(page rank)を含みうる。ドキュメントと対応付けされたメタデータは、別個のドキュメントまたはデータベースのような、ドキュメントそれ自身と異なるソースに由来することが可能である。
【0028】
この開示は、以下、KMLファイルおよびその対応付けされたメタデータを参照して詳細に説明するが、この開示は、場所の名称、説明テキスト、画像、地理的な参照付け、等のようなデータを結合するために使用することが可能な任意の構造化されたデータ・フォーマットを用いて動作可能である。例えば、1つまたは複数のデータ・ソース305はサーバ320にGeoRSSファイルを送信することもでき、GeoRSSファイルはHTMLを含み、典型的に、地理的な場所への参照を付ける。KMZファイルのような他のファイルも利用可能である。
【0029】
構造化されたドキュメントおよび関連するメタデータの収集が完了した後、データ収集モジュール325は構造化されたドキュメントおよびメタデータを結合し、索引付けモジュール330に索引付けされた出力ファイルを供給する。索引付けモジュール330は、データ収集モジュール325から受信した索引付けされた出力ファイルを構文解析して1つまたは複数のデータ集合を特定し、抽出されたデータ集合についてクエリーに依存しない順位を計算し、ユーザのクエリーに応答するために使用される結果リポジトリ335内に格納するために、抽出されたデータ集合に対応するレコード項目を転送する。一実施形態によれば、データ収集モジュール325によって生成されたKMLドキュメントよびメタデータは、入力として索引付けモジュール330に供給することができ、索引付けモジュール330は、KMLファイルを構文解析し、プレイスマークを抽出し、各々のプレイスマークについてクエリーに依存しない順位を計算し、ユーザの検索クエリーに応答するために使用される検索リポジトリ335に挿入するために、各々のプレイスマークを個々に供給することができる。
【0030】
データ収集モジュール325、索引付けモジュール330、および、結果リポジトリ335の各々はサーバ320の内部に表わされており、メモリ230内に記憶されたソフトウェア命令または図2に表わされている例示のサーバ120の他の構成要素によって実現することが可能であるが、1つまたは複数のデータ収集モジュール325、索引付けモジュール330、および/または、結果リポジトリ335は、サーバ320の外部に備えることが可能である。例えば、構成要素325、330、335のうち1つまたは複数は、1つまたは複数の別個のサーバ内に備えることが可能である。また、構成要素325、330、335は、1つまたは複数の構成要素において全体または一部で結合することが可能である。従って、図3に表わされている例示のシステム300のブロック図の実施形態は、ここで説明する機能を実現することが可能な特定のソフトウェアおよび/またはハードウェアに限定することなく、システム300の各種の機能を表わすことを意図している。
【0031】
次に、図5は、データ収集モジュール325による1つまたは複数のデータ・ソースからのドキュメントおよびメタデータの収集を表わす典型的な機能ブロックのフローチャート500を表わす。一実施形態によれば、データ収集モジュール325は、構造化されたドキュメントおよびそのようなドキュメントと対応付けされた任意のメタデータ、例えば、KMLドキュメントおよび対応付けされたメタデータを特定および取得するように動作可能である。
【0032】
一実施形態によれば、データ収集モジュール325は、ウェブ・クロール・プログラム(web crawl program)を利用してワールド・ワイド・ウェブ(web)上に存在する構造化されたドキュメントを特定することができる。ウェブ・クロール・プログラムはウェブを閲覧し、訪問したページのコピーを生成し、遭遇したURLの索引またはテーブルを生成する。図5に表わされているように、ウェブ・クロール・プログラムは、ウェブ・クロール・プログラムによって特定された個々のページと対応付けされた、または、特定するURL・505を生成するように動作可能である。URLは、構造化されたドキュメントおよび構造化されたドキュメントと対応付けされたメタデータを特定することができる。
【0033】
一実施形態によれば、ウェブ・クロールの間に、構造化されたファイルは検査され、かつ/または、構造化されたファイルのコンテンツが検査および/または検索されることを可能とするために別個のファイル・フォーマットに変換される。例えば、構造化されたKMLファイルは、それと対応付けされた(かつURLによって特定された)、KMLファイルのコンテンツを記述するHTMLファイルを有することが可能であり、ここで、HTMLファイルは、KMLファイルを順位付け、および/または、索引付けするために関係しうる。図5に表わされているように、メタデータ内に含まれるURLは、各々の構造化されたドキュメントについてのURLを含み、ページランク・データベース535に転送され、ページランク・データベース535は、各々の構造化されたドキュメントと対応付けされた追加のメタデータを含みうる。
【0034】
データ収集モジュール325は、URL・505を検査し、例えば、全てのKMLドキュメントのような、関心のある全ての構造化されたドキュメントを特定することが可能である。エントリが特定されると、データ収集モジュール325は、ドキュメント取得515を実行して、特定されたURLと対応付けされた構造化されたドキュメント520を取得する。他のパブリックおよび/またはプライベートなデータ・リポジトリ525から追加の構造化されたドキュメントおよびメタデータ530を収集することが可能である。各々のデータ・ソースは、ファイルが特定のサイトからダウンロードされた回数、ユーザのフィードバック、等のような、特定の構造化されたファイルと対応付けされた異なるメタデータ530を含むことが可能である。他のパブリックおよび/またはプライベートなデータ・リポジトリ525から収集された各々の構造化されたドキュメントについてのURLは、ページランク・データベース535に転送され、ページランク・データベース535は、各々の構造化されたドキュメントと対応付けされた追加のメタデータを含むことが可能である。
【0035】
上述したように、構造化されたドキュメントを特定するとき、データ収集モジュール325は、各々の発見された構造化されたファイルのページランクの探索を試みることが可能である。一実施形態によれば、データ収集モジュール325は、ウェブ・クロール、または、パブリックおよび/またはプライベートなデータ・リポジトリにおいて発見された各々の構造化されたドキュメントに対応するURLのページランクを取得することを試みることによって、特定されたドキュメントについてページランク・データベース535に問い合わせる。ページランクは、ユーザのクエリーへの結果を優先順位付けするために検索システムによって使用されうる。もう1つの実施形態によれば、URLのページランクは、特定されたドキュメントについて取得されない。また、他のメタデータが、例えば、1つまたは複数の他のデータベースから、対応するURLについて探索されうる。
【0036】
URL・540によってキー指定され、ページランク・データベース535から収集されたメタデータは、ウェブ・クロール、および/または、パブリックまたはプライベートなデータ・リポジトリから特定された構造化されたドキュメントおよびメタデータと結合545される。このデータは、重複したドキュメントを除去するために、1つまたは複数の重複除去ステージを通して渡すことが可能である。一例として、各々がそれぞれ異なるURLからダウンロードされた2つの同一のファイルを特定することが可能である。2つの同一のファイルのうち1つは、重複除去ステージによって削除することが可能である。もう1つの例として、特定のページランクと対応付けされたURLは、ドキュメントと対応付けされた同じURLと結合することが可能である。メタデータおよびドキュメントの結合は、URLおよび/または生のドキュメントのコンテンツにおける結合によって発生しうる。
【0037】
一実施形態によれば、データ収集モジュール325は、発見された全ての構造化されたドキュメントおよびメタデータを共通のフォーマットに変換して出力ファイル550を生成することが可能である。一実施形態によれば、データ収集モジュール325の出力は、1つの索引付けされた出力ファイル550であり、出力ファイル内の各々のレコードは、ユーザの検索クエリーへの適切な応答であるか否かを特定するために、レコードを採点するために使用される構造化されたドキュメントおよび全ての対応付けされたメタデータを含む。出力ファイルは、URLによって索引付けされたレコードのテーブルを含むことが可能であり、ここで、各々のURLと対応付けされた全ての情報はURLと対応付けされたレコード内に存在する。
【0038】
図6は、データ収集モジュール325による1つまたは複数のデータ・ソースからのドキュメントおよびメタデータの収集から生成された例示の出力ファイル600を表わす。表わされているように、出力ファイルは、“Google Offices”と対応付けされたKMLファイルを特定するソースURLと対応付けされたレコードを含む。コンテンツは、“Headquarters in Mountain View”(マウンテン・ビューの本社)、“New York City Office”(ニューヨーク市営業所)、“Tokyo Office”(東京営業所)についての名称および座標を含む、世界中の異なるグーグル事務所に対応するいくつかのプレイスマークを含む。ソースURLと対応付けされたメタデータは、URLのページランク、および、例えば、利用可能なウェブ・サイトによって提供されるファイルのダウンロード数を特定する。また、メタデータは、URLのような、各々のプレイスマークと対応付けされたアンカーを含むことが可能である。例示の出力ファイル600にはただ1つのソースURLが表わされているが、1つの出力ファイル550は、2つまたはより多くのレコードを含むことが可能である。
【0039】
データ収集モジュール325によって生成される出力ファイル550は、索引付けモジュール330に送信される。索引付けモジュール330は、文脈情報を保存する一方で、出力ファイル内のレコードからデータ集合を抽出するように動作可能である。例えば、索引付けモジュール330は、多数のプレイスマークを含みうる1つのKMLファイルからプレイスマークを抽出するように動作可能であり、ここで、抽出は、親フォルダ、参照ページ、等のような文脈上のテキストを保存する。一例として、いくつかのプレイスマークを含むKMLファイルは、各々のプレイスマークがロンドン市内の特定のホテルと対応付けされ(ホテルが特定される親フォルダとすることが可能である)、各々のプレイスマークがロンドン市と対応付けされた個々の検索可能な項目となるように抽出することが可能である。
【0040】
図7は、索引付けを実行するために索引付けモジュール330によって実現される例示の処理フロー700を表わす。データ収集モジュール325によって生成された出力ファイル550はURLによって索引付けされたレコードを含むが、索引付けモジュール330は、URLによって索引付けされた各々のレコードをURL毎の複数のレコード項目に変換することが可能である。一実施形態によれば、構造化されたドキュメントの索引付けは、出力ファイル550を取得し、構造化されたレコードを構文解析して個々のデータ集合(例えば、プレイスマーク)を抽出し(ブロック710)、各々のデータ集合についてクエリーに依存しない順位を計算し、データ集合に対応するレコード項目を検索可能なリポジトリ335に送信することによって実現することが可能である。この開示は、ここでKMLファイル内のプレイスマークに関して言及しているが、構造化されたドキュメント内の他のデータ集合が索引付けモジュール330によって抽出されることが可能である。
【0041】
一実施形態によれば、索引付けモジュール330は、URLによって索引付けされたレコードをURL毎の複数のレコード項目に変換し、ここで、各々のレコード項目はドキュメントIDによって索引付けされ、ドキュメントIDは、プレイスマークのようなレコード項目を一意に特定するために索引付けモジュール330によって選択された番号である。一実施形態によれば、ドキュメントIDは、レコードの選択されたフィールドからのハッシュ値として生成することが可能である。例えば、ドキュメントIDは、プレイスマークの場所を特定する地理的な座標に、一部分、基づくことが可能である。
【0042】
抽出の間に、索引付けモジュール330は、元のレコードからの文脈情報を各々のデータ集合と対応付ける。例えば、KMLファイルから抽出された各々のプレイスマークは、プレイスマークの説明テキストおよび地理的な参照付けデータのような他のデータに加えて、対応する構造化されたファイルのURLおよび他のメタデータ、および、各々の収容しているフォルダの名称を含む文脈情報を保存する。さらに、各々のプレイスマークについて、索引付けモジュール330は、利用可能なメタデータに基づいてクエリーに依存しないスコアを計算することが可能である。これは、(図示しない)他のデータベースからの1つまたは複数の順位付けを利用することが可能である。
【0043】
索引付けモジュール330は、さらに、メタデータ等に基づいて重複したレコード項目を除去する(ブロック715)ように動作可能である。例えば、重複したプレイスマークは、場所およびプレイスマークの名称のフィンガープリントの比較に基づいて除去することが可能である。利用可能なメタデータに基づく最も高いスコアを有するプレイスマークを保持することが可能である。
【0044】
索引付けモジュール330は、任意選択で、構造化されたドキュメント内のデータ集合を、データ集合が関連する複合検索結果に一塊(cluster)にするように動作可能である。例えば、URLによって索引付けされた1つまたは複数のレコードからのデータ集合の抽出に続いて、1つまたは複数のデータ集合を同じ物理的実体を参照する1つの複合検索結果に結合する、または、一塊にすることが可能である。これは、結果の多様性を向上させるために有効でありうる。例えば、ニューヨーク市について語句‘彫像’を用いたユーザの検索クエリーが、自由の女神を特定するプレイスマークでありうる、最も高いスコアを有するプレイスマークを返却しうる。自由の女神についての全ての結果を一塊にすることは、他の彫像の結果もユーザに提供することができるように、自由の女神についての1つの複合結果を提供する検索結果を許容する。
【0045】
ある実体と関連する全ての項目が一塊にされるならば、しかし、これは、特定のレコード・エントリを特定する能力を減少させうる。従って、サービスを提供するモジュールは、ユーザの検索クエリーに少なくとも一部分基づく動的なクラスタリング(clustering)を実行することが可能である。例えば、自由の女神の例を用いて続けると、‘自由の女神’および‘ツアー’についての検索は、結果として、URLによって索引付けされたレコード内に含まれる静的な語句に加えて、ユーザの検索語句に基づくクラスタリングとなる。
【0046】
索引付けモジュール330によって特定されたレコード項目は、個々にリストされ、ユーザのクエリーに応答して使用するために検索可能なリポジトリに提供される(ブロック720、730)。図6の例示の出力ファイル600に対応する、索引付けモジュール330の例示の出力800が図8に表わされている。1つのレコード・エントリ内に存在する図6において特定されたプレイスマークは、別個のレコード項目805、810、815に抽出される。これは、構造化されたドキュメントから抽出された個々のレコード項目と対応付けされたコンテンツについてユーザが検索することを可能とする。
【0047】
図9は、一実施形態による、構造化されたドキュメントの収集および抽出の処理を表わす。データは1つまたは複数のデータ・ソースから収集され(ブロック905)、ここで、データは、1つまたは複数の構造化されたドキュメントおよびそれと対応付けされたメタデータを含むことが可能である。一実施形態によれば、データ収集は、データ収集モジュール325によって実行することが可能であり、データ収集モジュール325は、1つまたは複数のデータ・ソース305からデータを収集することが可能である。収集されたデータから、構造化されたドキュメントおよび対応付けされたメタデータが特定される(ブロック910)。次に、構造化されたドキュメントおよびそれと対応付けされたメタデータが、例えばURLによって、結合されうる。また、重複したエントリが、ドキュメントのコンテンツのような他のキーに基づいて結合されうる(ブロック920)。そして、出力ファイルが生成される(ブロック930)。一実施形態によれば、構造化されたデータの特定、構造化されたデータおよびメタデータの結合、および/または、出力ファイルの生成は、データ収集モジュール325によって実行することも可能である。
【0048】
そして、各々の出力ファイルのレコードからデータ集合を抽出することによって出力ファイル内で索引付けされた各々のレコードからレコード項目が生成される。例えば、出力ファイルのレコードがURLによって索引付けされたKMLファイルを含む場合、KMLファイル内の抽出されたプレイスマークに対応するレコード項目を生成することが可能である(ブロック940)。一実施形態によれば、データ集合の抽出およびレコード項目の生成は、索引付けモジュール330によって実行することが可能である。抽出が完了した後、レコード項目(またはレコード項目のテーブル)が検索可能なデータベースに追加される(ブロック950)。
【0049】
上述した説明および関連する図面において提示された開示の利益を受けるこの技術分野の当業者には、多くの変形および他の実施形態が思いつくであろう。従って、この開示は開示された特定の実施形態に限定されず、改良および他の実施形態が請求項の範囲内に含まれることを意図すると理解すべきである。ここで特定の用語が使用されたが、それらは総称かつ説明の意味でのみ使用され、限定の目的ではない。
【符号の説明】
【0050】
100 ・・・ 検索システム
105 ・・・ データ・ソース
115 ・・・ クライアント
120 ・・・ サーバ
140 ・・・ ネットワーク

【特許請求の範囲】
【請求項1】
1つまたは複数のデータ・ソースからデータを特定する過程を有し、前記データは少なくとも1つの構造化されたドキュメントと対応付けされ、
前記少なくとも1つの構造化されたドキュメント内に含まれる1つまたは複数のデータ集合を抽出する過程と、
1つまたは複数のレコード項目を検索可能なデータベースに追加する過程と、をさらに有し、前記1つまたは複数のレコード項目は前記1つまたは複数の抽出されたデータ集合に対応する方法。
【請求項2】
前記1つまたは複数のデータ・ソースから前記データを取得する過程をさらに有する請求項1に記載の方法。
【請求項3】
前記1つまたは複数のデータ・ソースのうち少なくとも1つは、1つまたは複数のユニフォーム・リソース・ロケータを含む請求項1に記載の方法。
【請求項4】
前記データは少なくとも1つの構造化されたドキュメントである請求項1に記載の方法。
【請求項5】
前記データはメタデータをさらに含む請求項1に記載の方法。
【請求項6】
前記1つまたは複数のデータ・ソースから前記データを特定する過程に続いて、前記データと対応付けされたメタデータを特定する過程をさらに有する請求項1に記載の方法。
【請求項7】
前記メタデータは少なくとも1つのページランクを含む請求項6に記載の方法。
【請求項8】
出力ファイルを生成する過程をさらに有し、前記出力ファイルは2つまたはより多くの構造化されたドキュメントと対応付けされたデータを含む請求項1に記載の方法。
【請求項9】
前記1つまたは複数のデータ集合を抽出する過程は、前記出力ファイルから1つまたは複数のデータ集合を抽出する過程を有する請求項8に記載の方法。
【請求項10】
前記少なくとも1つの構造化されたドキュメントは、2つまたはより多くの構造化されたドキュメントを含み、前記2つまたはより多くの構造化されたドキュメントを結合する過程をさらに有する請求項1に記載の方法。
【請求項11】
前記少なくとも1つの構造化されたドキュメントはキーホール・マークアップ言語(KML)ドキュメントを含む請求項1に記載の方法。
【請求項12】
前記1つまたは複数のデータ集合は少なくとも1つのプレイスマークを含む請求項11に記載の方法。
【請求項13】
少なくとも1つの検索クエリーを受信する過程と、
前記少なくとも1つの検索クエリーの受信に応答して、前記1つまたは複数のレコード項目のうち少なくとも1つを特定する過程と、
をさらに含む請求項1に記載の方法。
【請求項14】
前記少なくとも1つの構造化されたドキュメント内に含まれる1つまたは複数のデータ集合を抽出する過程は、前記1つまたは複数のデータ集合を、前記少なくとも1つの構造化されたドキュメントと対応付けされた文脈情報と対応付ける過程をさらに有する請求項1に記載の方法。
【請求項15】
1つまたは複数のデータ・ソースからデータを特定する手段を備え、前記データは少なくとも1つの構造化されたドキュメントと対応付けされ、
前記少なくとも1つの構造化されたドキュメント内に含まれる1つまたは複数のデータ集合を抽出する手段と、
1つまたは複数のレコード項目を検索可能なデータベースに追加する手段と、をさらに備え、前記1つまたは複数のレコード項目は前記1つまたは複数の抽出されたデータ集合に対応するシステム。
【請求項16】
前記1つまたは複数のデータ・ソースから前記データを取得する手段をさらに備える請求項15に記載のシステム。
【請求項17】
前記1つまたは複数のデータ・ソースのうち少なくとも1つは、1つまたは複数のユニフォーム・リソース・ロケータを含む請求項15に記載のシステム。
【請求項18】
前記データは少なくとも1つの構造化されたドキュメントである請求項15に記載のシステム。
【請求項19】
前記データはメタデータをさらに含む請求項15に記載のシステム。
【請求項20】
前記データと対応付けされたメタデータを特定する手段をさらに備える請求項15に記載のシステム。
【請求項21】
前記メタデータは少なくとも1つのページランクを含む請求項20に記載のシステム。
【請求項22】
出力ファイルを生成する手段をさらに備え、前記出力ファイルは2つまたはより多くの構造化されたドキュメントと対応付けされたデータを含む請求項15に記載のシステム。
【請求項23】
前記1つまたは複数のデータ集合を抽出する手段は、前記出力ファイルから1つまたは複数のデータ集合を抽出する手段を備える請求項22に記載のシステム。
【請求項24】
前記少なくとも1つの構造化されたドキュメントは、2つまたはより多くの構造化されたドキュメントを含み、前記2つまたはより多くの構造化されたドキュメントを結合する手段をさらに備える請求項15に記載のシステム。
【請求項25】
前記少なくとも1つの構造化されたドキュメントはキーホール・マークアップ言語(KML)ドキュメントを含む請求項15に記載のシステム。
【請求項26】
前記1つまたは複数のデータ集合は少なくとも1つのプレイスマークを含む請求項25に記載のシステム。
【請求項27】
少なくとも1つの検索クエリーを受信する手段と、
前記少なくとも1つの検索クエリーの受信に応答して、前記1つまたは複数のレコード項目のうち少なくとも1つを特定する手段と、
をさらに備える請求項15に記載のシステム。
【請求項28】
前記少なくとも1つの構造化されたドキュメント内に含まれる1つまたは複数のデータ集合を抽出する手段は、前記1つまたは複数のデータ集合を、前記少なくとも1つの構造化されたドキュメントと対応付けされた文脈情報と対応付ける手段をさらに備える請求項15に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2010−518495(P2010−518495A)
【公表日】平成22年5月27日(2010.5.27)
【国際特許分類】
【出願番号】特願2009−548491(P2009−548491)
【出願日】平成20年2月4日(2008.2.4)
【国際出願番号】PCT/US2008/052945
【国際公開番号】WO2008/097921
【国際公開日】平成20年8月14日(2008.8.14)
【出願人】(507103802)グーグル・インコーポレーテッド (191)
【Fターム(参考)】