(57)【要約】【課題】  ウェブデータベースのスキーマを識別する方法およびシステムを提供する。【解決手段】  スキーママッチングシステムが、ウェブデータベースのインタフェーススキーマと結果スキーマとの間のマッピングを生成し、これを用いて、基礎となるデータベーススキーマを表現する。また、スキーママッチングシステムは、ウェブデータベースのインタフェース属性および結果属性から、セマンティクスが既知であるグローバルスキーマのグローバル属性へのマッピングも生成する。これらのマッピングを用いることで、検索エンジンサービスは、グローバル属性を用いてクエリを作成し、それらのクエリを対応するインタフェース属性にマッピングし、クエリをサブミットし、目的のグローバル属性に対応する結果属性から値を読み出すことができる。【選択図】  図４
2006004411.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムにおいて生起キューブを生成する方法において、
データベースにクエリをサブミットするステップであって、各クエリは、前記データベースのインタフェース属性の値が前記データベースのドメインのグローバル属性のグローバル属性値にセットされる、クエリをサブミットするステップと、
それぞれのサブミットされたクエリの結果に対して、前記インタフェース属性の前記値が前記結果の各結果属性に現れる回数をカウントするステップと
を含むことを特徴とする生起キューブを生成する方法。
【請求項２】
前記生起キューブから、グローバル属性およびインタフェース属性に関連する生起行列を生成するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記生起キューブから、グローバル属性および結果属性に関連する生起行列を生成するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記生起キューブから、インタフェース属性および結果属性に関連する生起行列を生成するステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
グローバル属性値およびインタフェース属性の各組合せごとにクエリがサブミットされることを特徴とする請求項１に記載の方法。
【請求項６】
前記生起キューブが、グローバル属性、インタフェース属性、および結果属性の各組合せに対するカウントを含むことを特徴とする請求項１に記載の方法。
【請求項７】
コンピュータシステムにおいてドメイン内のデータベースの属性を識別する方法において、
前記ドメインのグローバルスキーマのグローバル属性ならびに前記データベースのインタフェーススキーマのインタフェース属性および結果スキーマの結果属性に関連する生起カウントを提供するステップと、
提供されたカウントに基づいてスキーマの対の相互情報量を推定するステップと、
推定された相互情報量からどの属性がマッチするかを識別するステップと
を含むことを特徴とするデータベースの属性を識別する方法。
【請求項８】
前記カウントを提供するステップが、グローバル属性、インタフェース属性、および結果属性に関連する生起カウントを提供する生起キューブを、スキーマの対に関連する行列に射影するステップを含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記インタフェース属性の値が前記グローバル属性のグローバル属性値にセットされたクエリを前記データベースにサブミットすることによって前記生起キューブを生成するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記生起キューブ内の前記生起カウントは、クエリにおけるインタフェース属性の値として用いられるグローバル属性のグローバル属性値が該クエリの結果の結果属性に現れる回数を表すことを特徴とする請求項９に記載の方法。
【請求項１１】
前記インタフェース属性が、ＨＴＭＬの入力関連要素に基づいて識別されることを特徴とする請求項７に記載の方法。
【請求項１２】
前記結果属性が、正規表現ラッパを用いて識別されることを特徴とする請求項７に記載の方法。
【請求項１３】
インタフェース属性の値が前記グローバル属性のグローバル属性値にセットされたクエリを前記データベースにサブミットすることによって、前記生起カウントが提供されることを特徴とする請求項７に記載の方法。
【請求項１４】
前記相互情報量が次式
【数１】
2006004411.tif 000014
によって推定されることを特徴とする請求項７に記載の方法。
【請求項１５】
スキーマの対において、一方のスキーマの属性であって、他方のスキーマの属性について最高の推定相互情報量を有する属性が、他方のスキーマの別の属性についてさらに高い推定相互情報量を有しない場合に、スキーマの対における属性間のマッチが識別されることを特徴とする請求項７に記載の方法。
【請求項１６】
コンピュータシステムにおいてデータベースのスキーマをモデリングする方法において、
前記データベースにクエリをサブミットする際に使用するインタフェース属性を識別するステップと、
前記データベースにサブミットされたクエリの結果を表す結果属性を識別するステップと、
どの識別されたインタフェース属性がどの識別された結果属性にマッピングされるかを判定するステップと
を含むことを特徴とするデータベースのスキーマをモデリングする方法。
【請求項１７】
インタフェース属性から結果属性への前記マッピングが、前記データベースの部分スキーマを表すことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記データベースがウェブデータベースであることを特徴とする請求項１６に記載の方法。
【請求項１９】
識別されたインタフェース属性がドメインのグローバル属性のグローバル属性値にセットされたクエリをサブミットするステップを含むことを特徴とする請求項１６に記載の方法。
【請求項２０】
前記サブミットされたクエリの結果に基づいてグローバル属性、インタフェース属性、および結果属性に関連する生起をカウントするステップを含むことを特徴とする請求項１９に記載の方法。
【請求項２１】
前記カウントするステップが、生起キューブを生成するステップを含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
前記判定するステップが、前記サブミットされたクエリの結果に基づいてスキーマの対の属性間の相互情報量を推定するステップを含むことを特徴とする請求項１９に記載の方法。
【請求項２３】
どの識別されたインタフェース属性が、ドメインのどのグローバル属性にマッピングされるか、およびどの識別された結果属性が、該ドメインのどのグローバル属性にマッピングされるか、を判定するステップを含むことを特徴とする請求項１６に記載の方法。
【請求項２４】
コンピュータシステムにおいて第１データベースの第１データベース属性と第２データベースの第２データベース属性との間のマッピングを判定する方法において、前記第１データベースおよび第２データベースはあるドメイン内にあり、
前記ドメインのグローバル属性および前記第１データベース属性に関連する生起カウントを提供するステップと、
前記ドメインのグローバル属性および前記第２データベース属性に関連する生起カウントを提供するステップと、
提供された生起カウントに基づいて第１データベース属性と第２データベース属性の対のベクトル類似度を推定するステップと、
推定されたベクトル類似度から、どの第１データベース属性がどの第２データベース属性にマッチするかを識別するステップと
を含むことを特徴とするデータベース属性間のマッピングを判定する方法。
【請求項２５】
前記カウントを提供するステップが、グローバル属性、インタフェース属性、および結果属性に関連する生起カウントを提供する生起キューブを生起行列に射影するステップを含むことを特徴とする請求項２４に記載の方法。
【請求項２６】
前記インタフェース属性の値が前記グローバル属性のグローバル値にセットされたクエリをデータベースにサブミットすることによって前記生起キューブを生成するステップを含むことを特徴とする請求項２５に記載の方法。
【請求項２７】
前記生起キューブ内の前記生起カウントは、クエリの前記グローバル値が該クエリの結果の結果属性に現れる回数を表すことを特徴とする請求項２６に記載の方法。
【請求項２８】
前記データベース属性がインタフェース属性であることを特徴とする請求項２４に記載の方法。
【請求項２９】
前記データベース属性が結果属性であることを特徴とする請求項２４に記載の方法。
【請求項３０】
データベースインタフェース属性の値が前記グローバル属性のグローバル値にセットされたクエリを前記データベースにサブミットすることによって、前記カウントが提供されることを特徴とする請求項２４に記載の方法。
【請求項３１】
前記ベクトル類似度が次式
【数２】
2006004411.tif 000015
によって推定されることを特徴とする請求項２４に記載の方法。
【請求項３２】
ある第２データベース属性について最高の推定ベクトル類似度を有する第１データベース属性が、別の第２データベース属性についてさらに高い推定ベクトル類似度を有しない場合に、マッチが識別されることを特徴とする請求項２４に記載の方法。
【請求項３３】
コンピュータシステムにおいてデータベーススキーマを変更する方法において、
各データベーススキーマについて、
該データベーススキーマから他の各データベーススキーマへのマッピングを提供するステップと、
該データベーススキーマからグローバルデータベーススキーマへのマッピングを提供するステップと、
データベーススキーマのデータベース属性が、前記グローバルデータベーススキーマのグローバル属性にマッピングされるとともに、前記グローバルデータベーススキーマの属性にマッピングされない他のデータベーススキーマのデータベース属性にマッピングされる場合、前記データベーススキーマの該属性を、前記グローバルデータベーススキーマの別の属性にマッピングされるようにセットするステップと
を含むことを特徴とするデータベーススキーマを変更する方法。
【請求項３４】
前記データベーススキーマの属性を前記グローバルデータベーススキーマの別の属性にマッピングされるようにセットすべき場合を判定するために辺切断アルゴリズムを適用するステップを含むことを特徴とする請求項３３に記載の方法。
【請求項３５】
前記属性が頂点として表され、マッピングがある頂点から別の頂点への辺として表されることを特徴とする請求項３４に記載の方法。
【請求項３６】
前記データベース属性が、それらにマッチングするグローバル属性に基づいて最初にクラスタ化されることを特徴とする請求項３３に記載の方法。
【請求項３７】
データベーススキーマについて前記マッピングを提供するステップが、グローバル属性および前記データベーススキーマのデータベース属性に関連する生起カウントを生成するステップを含むことを特徴とする請求項３３に記載の方法。
【請求項３８】
前記生起カウントを生成するステップが、各データベースについて、前記グローバル属性のグローバル属性値に基づくクエリをサブミットするステップを含むことを特徴とする請求項３７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全体として、ウェブデータベースのスキーマ（schema）を決定することに関する。
【背景技術】
【０００２】
ワールドワイドウェブ（「ウェブ」）は、ウェブページを通じてアクセス可能な大量の情報を提供する。ウェブページは、静的コンテンツと動的コンテンツ(dynamic content)のいずれも含み得る。静的コンテンツとは一般に、ウェブページへの多数回のアクセスにわたって同一のままであり得る情報を指す。動的コンテンツとは一般に、ウェブデータベースに記憶され、検索要求に応答してウェブページに付加される情報を指す。動的コンテンツは、深層ウェブあるいは隠れたウェブ（hidden web）と呼ばれてきたものを表す。
【０００３】
多くの検索エンジンサービスにより、ユーザは、ウェブの静的コンテンツを検索することができる。ユーザが、検索タームを含む検索要求あるいはクエリ（問合せ）をサブミット(投入、提出)した後、検索エンジンサービスは、それらの検索タームに関係している可能性のあるウェブページを識別する。これらのウェブページが検索結果である。関係するウェブページを迅速に識別するため、検索エンジンサービスは、キーワードからウェブページへのマッピングを維持管理することができる。このマッピングは、ウェブを「クロール」して各ウェブページのキーワードを識別することにより生成できる。ウェブをクロールするため、検索エンジンサービスは、ルートウェブページのリストを用い、それらのルートウェブページを通じてアクセス可能なすべてのウェブページを識別できる。個々のウェブページのキーワードは、見出しの語、ウェブページのメタデータに提供された語、強調表示された語等を識別するというような、種々の周知の情報検索技法を用いて識別することができる。
【０００４】
しかし、これらの検索エンジンサービスは一般に、動的コンテンツを検索するようになっていない。動的コンテンツは、クロール不能コンテンツともみなされている。動的コンテンツを検索する場合の１つの問題点として、ウェブデータベースを提供するウェブサイトの協力なしには、対応するウェブデータベースのスキーマを直接取得することが困難または不可能なことがある。スキーマは、データベースに記憶される情報すなわち属性を定義する。例えば、書店のウェブデータベースは、各書籍のタイトル属性および著者属性を含む書籍のカタログ（すなわちウェブデータベース）のスキーマを有するであろう。スキーマが未知の場合、検索エンジンサービスがウェブデータベースのコンテンツをクロールして、どの情報が検索に利用可能かを判定することが非常に困難となる。ウェブデータベースのスキーマが既知であっても、検索エンジンサービスは依然として、ウェブデータベースをクロールしてそのコンテンツを読み出す方法を決定する必要がある。検索エンジンがウェブデータベースのコンテンツを読み出すことができたとしても、検索エンジンサービスは依然として、異なるスキーマの属性が意味的に等価な属性を表す場合を識別する必要がある。例えば、書籍がペーパーバック、ハードカバー、またはコンパクトディスクのいずれであるかを明記したカタログを書店ウェブサイトが有しているとする。ある書店のウェブサイトではこの属性を「ｔｙｐｅ」（タイプ）と名付け、別の書店のウェブサイトでは同じ属性を「ｆｏｒｍａｔ」（形態）と名付けているかもしれない。複数のウェブサイトにわたって動的コンテンツを効果的に検索できるためには、検索エンジンサービスは、ウェブデータベースの属性の意味すなわちセマンティクスを知る必要がある。
【０００５】
【非特許文献１】Ｓ．カスタノ（S. Castano）、Ｖ．アントネリス（V. Antonellis）、Ｓ．ヴィメルカティ（S. Vimercati）、「異種データソースのグローバルな閲覧（Global Viewing of Heterogeneous Data Sources）」、IEEE Trans. Data and Knowledge Eng.、第１３巻、第２号、２００１年
【非特許文献２】Ｂ．ヘー（B. He）、Ｃ．Ｃ．チャン（C. C. Chang）、「ウェブクエリインタフェース間の統計的スキーママッチング（Statistical Schema Matching across Web Query Interfaces）」、Proc. ACM SIGMOD Conf.、２００３年
【非特許文献３】Ｆ．ハキンプル（F. Hakimpour）、Ａ．ゲッパート（A. Geppert）、「形式オントロジを用いたグローバルスキーマ生成（Global Schema Generation Using Formal Ontologies）」、Proc. 21st Conf. on Conceptual Modeling、２００２年
【非特許文献４】Ａ．アラス（A. Arasu）、Ｈ．ガルシア＝モリナ（H. Garcia-Molina）、「ウェブページから構造化データを抽出する（Extracting Structured Data from Web Pages）」、Proc. ACM SIGMOD Conf.、２００３年
【非特許文献５】Ｃ．Ｈ．チャン（C. H. Chang）、Ｓ．Ｃ．ルイ（S. C. Lui）、「ＩＥＰＡＤ：パターン発見に基づく情報抽出（IEPAD: Information Extraction based on Pattern Discovery）」、Proc. 10th World Wide Web Conf.、p.681-688、２００１年
【非特許文献６】Ｖ．クレセンツィ（V. Crescenzi）、Ｇ．メッカ（G. Mecca）、Ｐ．メリアルド（P. Merialdo）、「ＲＯＡＤＲＵＮＮＥＲ：大規模ウェブサイトからの自動データ抽出に向けて（ROADRUNNER: Towards Automatic Data Extraction from Large Web Sites）」、Proc. 27th VLDB. Conf.、p.109-118、２００１年
【非特許文献７】Ｊ．ワン（J. Wang）、Ｆ．ロチョフスキ（F. Lochovsky）、「ウェブデータベースのためのデータ抽出およびラベル割当て（Data Extraction and Label Assignment for Web Databases）」、Proc. 12th World Wide Web Conf.、p.187-196、２００３年
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ウェブデータベースに関連するスキーマを自動的に識別する技法を実現し、異なるスキーマの同じ意味内容を表す属性を識別することが望ましい。
【課題を解決するための手段】
【０００７】
ウェブデータベースのスキーマを識別する方法およびシステムが提供される。スキーママッチングシステムが、ウェブデータベースのインタフェーススキーマと結果スキーマとの間のマッピングを生成し、これを用いて、基礎となるデータベーススキーマを表現する。また、スキーママッチングシステムは、ウェブデータベースのインタフェース属性および結果属性（result attribute）から、セマンティクスが既知であるグローバルスキーマのグローバル属性へのマッピングも生成する。これらのマッピングを用いることで、検索エンジンサービスは、グローバル属性を用いてクエリを作成し、それらのクエリを対応するインタフェース属性にマッピングし、クエリをサブミットし、目的のグローバル属性に対応する結果属性から値を読み出すことができる。
【発明を実施するための最良の形態】
【０００８】
ウェブデータベースのスキーマを識別する方法およびシステムが提供される。一実施形態では、スキーママッチングシステムが、ウェブデータベースのインタフェーススキーマと結果スキーマとの間のマッピングを生成し、これを用いて、基礎となるデータベーススキーマを表現する。ウェブデータベースのインタフェーススキーマは、検索に使用可能なデータベースの属性を表す。ウェブデータベースの結果スキーマは、検索結果の一部として表示されるデータベースの属性を表す。マッピングは、どのインタフェース属性がどの結果属性と同じ意味を有する（対応する、あるいはマッチするともいう）かを示す。また、スキーママッチングシステムは、ウェブデータベースのインタフェース属性および結果属性から、セマンティクスが既知であるグローバルスキーマのグローバル属性へのマッピングも生成する。これらのマッピングを用いることで、検索エンジンサービスは、グローバル属性を用いてクエリを作成し、それらのクエリを対応するインタフェース属性にマッピングし、クエリをサブミットし、目的のグローバル属性に対応する結果属性から値を読み出すことができる。このようにして、スキーママッチングシステムは、ウェブデータベースを検索するために使用可能なウェブデータベースのスキーマを識別する。
【０００９】
図１は、書店のウェブデータベースの種々のスキーマを例示する図である。ウェブデータベースは、データベーススキーマ１０１、インタフェーススキーマ１０２、および結果スキーマ１０３を含む。データベーススキーマは、ウェブデータベースの基礎となるスキーマを表し、この例では、タイトル（Ｔｉｔｌｅ）、著者（Ａｕｔｈｏｒ）、出版社（Ｐｕｂｌｉｓｈｅｒ）、ＩＳＢＮ、形態（Ｆｏｒｍａｔ）、および発行日（Ｐｕｂｌｉｃａｔｉｏｎ  Ｄａｔｅ）という属性を含む。ウェブサイトは、ユーザが書籍を検索するために訪れることができる検索ウェブページを提供する。このウェブデータベースのインタフェーススキーマは、タイトル、著者、形態、およびＩＳＢＮという属性を含む。ユーザは、書籍データベースを検索するために、インタフェース属性の任意の組合せに対する検索文字列を指定できる。ウェブページの「Ｙｏｕｒ  Ｓｅａｒｃｈ」（あなたの検索）フィールドにより、ユーザは、ウェブデータベースのすべての属性において検索ができる。検索の結果は結果ウェブページに表示される。このウェブデータベースの結果スキーマは、タイトル、著者、出版社、形態、および発行日を含む。検索の結果は通常、検索要求にマッチするデータベースの各エントリごとに複数のエントリを提供する。結果の各エントリは通常、結果属性のそれぞれに対する値を含む。この例では、インタフェーススキーマは、結果スキーマに含まれない属性（すなわちＩＳＢＮ）を有し、結果スキーマは、インタフェーススキーマに含まれない属性（すなわち発行日）を有する。
【００１０】
ウェブデータベースのためにインタフェーススキーマおよび結果スキーマを用いることに加えて、スキーママッチングシステムは、ドメイン（領域、範囲）固有のグローバル（包括的な）スキーマも使用する。ドメインのグローバルスキーマは、そのドメイン内でウェブデータベースによって一般的に使用される属性の集合を表す。例えば、書籍のドメイン内のウェブデータベースは通常、タイトル、著者、および出版社等の属性を有し、自動車のドメイン内のウェブデータベースは通常、車名、型式、および年式等の属性を有する。また、グローバルスキーマは、それに関連するサンプルグローバル属性値を有してもよい。例えば、書籍ドメインの出版社属性は、「Ｒａｎｄｏｍ  Ｈｏｕｓｅ」および「ＭＩＴ  Ｐｒｅｓｓ」等のグローバル属性値を有してもよい。
【００１１】
マッピングを生成するため、スキーママッチングシステムは、まず、ウェブデータベースのドメインに対するグローバルスキーマと、ウェブデータベースのインタフェーススキーマおよび結果スキーマを識別する。（これらのスキーマを識別するための技法については後述する。）スキーママッチングシステムは、グローバル属性のグローバル属性値から（例えば値集合のサンプルから）クエリを生成し、インタフェースウェブページ経由でウェブデータベースへそれらのクエリをサブミットする（例えば、検索ウェブページ経由でクエリのサブミットに対応するＨＴＴＰ要求を送信する）。スキーママッチングシステムは、結果ウェブページによって提示される結果を分析することにより、どのインタフェース属性がどの結果属性に対応するか（「インタフェース−結果対応」）、どのグローバル属性がどのインタフェース属性に対応するか（「グローバル−インタフェース対応」）、および、どのグローバル属性がどの結果属性に対応するか（「グローバル−結果」対応）を判定する。インタフェーススキーマおよび結果スキーマは単一のウェブサイトのスキーマに対応するので、これらの対応は「サイト内」マッチングと呼ばれる。スキーママッチングシステムは、結果属性の値が、検索時に用いられたインタフェース属性の値といつマッチするかに基づいて、インタフェース属性が結果属性に対応するかどうかを識別する。例えば、タイトルインタフェース属性に「Ｈａｒｒｙ  Ｐｏｔｔｅｒ」という値が与えられている場合、結果の多くのエントリが、タイトル結果属性に「Ｈａｒｒｙ  Ｐｏｔｔｅｒ」という値を有すると考えられる。これに対して、著者インタフェース属性に「Ｈａｒｒｙ  Ｐｏｔｔｅｒ」という値を与えて検索すると、結果のほんの少しのエントリのみが、タイトル結果属性に「Ｈａｒｒｙ  Ｐｏｔｔｅｒ」という値を有すると考えられる。このように、タイトルインタフェース属性はタイトル結果属性に対応する可能性が高いが、著者インタフェース属性はタイトル結果属性に対応しない可能性が高い。
【００１２】
一実施形態では、スキーママッチングシステムは、異なるウェブサイトのインタフェーススキーマと結果スキーマとの間のマッピングを生成することも可能である。スキーママッチングシステムは、上記のようにサブミットしたクエリの結果を分析し、あるウェブサイトのスキーマのどのインタフェース属性が別のウェブサイトのスキーマのどのインタフェース属性に対応するか（「インタフェース−インタフェース対応」）、および、あるウェブサイトのスキーマのどの結果属性が別のウェブサイトのスキーマのどの結果属性に対応するか（「結果−結果対応」）を識別する。例えば、スキーママッチングシステムは、あるウェブサイトのタイプ（ｔｙｐｅ）インタフェース属性が別のウェブサイトの形態（ｆｏｒｍａｔ）インタフェース属性に対応するであろうと識別するかもしれない。これらの対応は、異なるウェブサイト間でスキーマがマッチングされるので、「サイト間」マッチングと呼ばれる。サイト間（inter-site）マッチング情報は、ドメイン内の複数のウェブデータベースを検索する際に使用可能である。また、サイト間マッチング情報は、サイト内（intra-site）マッチングが正しいかどうかの検証を助けるためにも使用可能である。
【００１３】
図２は、一実施形態におけるサイト内およびサイト間のマッチングを示している。楕円２０２は、書籍ドメイン内のウェブデータベースに関係するスキーマを表す。各サイト１〜Ｎが、インタフェーススキーマ（「ＩＳ」）および結果スキーマ（「ＲＳ」）を有し、ドメインはグローバルスキーマ（「ＧＳ」）を有する。スキーマの表現の間の線は、サイト内およびサイト間のマッチングを表す。例えば、サイト１のＩＳとＧＳとの間の線はサイト内のグローバル−インタフェース対応を表し、サイト１のＩＳとサイト１のＲＳとの間の線は、サイト内のインタフェース−結果対応を表し、サイト１のＩＳとサイト２のＩＳとの間の線は、サイト１とサイト２の間のサイト間のインタフェース−インタフェース対応を表す。
【００１４】
一実施形態では、スキーママッチングシステムは生起キューブ（occurrence cube）を生成する。生起キューブは、グローバル属性、ウェブデータベースのインタフェース属性および結果属性のそれぞれの組合せについて、そのグローバル属性に対するあるグローバル属性値が検索時にそのインタフェース属性の値として使用される場合に、当該グローバル属性値がその結果属性に現れる回数を識別する。各インタフェース属性に対して、スキーママッチングシステムは複数のクエリをサブミットする。各クエリは、そのインタフェース属性の値が、異なるグローバル属性値にセットされる。例えば、グローバル属性が、ペーパーバック、ハードカバー、およびコンパクトディスクという値をとる形態属性と、Ｒｏｗｌｉｎｇという値をとる著者属性とを含む場合、スキーママッチングシステムは、タイトル属性をペーパーバックにセットしたクエリと、タイトル属性をハードカバーにセットしたクエリと、タイトル属性をコンパクトディスクにセットしたクエリと、タイトル属性をＲｏｗｌｉｎｇにセットしたクエリとをサブミットする。他のそれぞれのインタフェース属性について、スキーママッチングシステムは、ペーパーバック、ハードカバー、コンパクトディスク、およびＲｏｗｌｉｎｇというグローバル属性値に対するクエリをサブミットする。各クエリ結果に対し、スキーママッチングシステムは、クエリのグローバル属性値が各結果属性の値として現れる回数をカウントする。例えば、タイトルインタフェース属性をペーパーバックにセットしたクエリをサブミットした場合、マッチがほとんどまたは全く見つからない可能性が高い。これは、タイトルインタフェース属性が形態グローバル属性にマッチしないだろうということを示す。これに対して、形態インタフェース属性をペーパーバックにセットしたクエリをサブミットした場合、多くのマッチが見つかり、検索ターム「ペーパーバック」が、形態結果属性における結果の多くのエントリに見つかる可能性が高い。これは、形態グローバル属性、形態インタフェース属性、および形態結果属性が互いに対応する可能性が高いことを示す。特定のグローバル属性、インタフェース属性、および結果属性の組合せが、特に他の組合せに比べてカウントが高いことは、それらの属性が対応している可能性、すなわち、それらが同じ意味内容を表す可能性が高いことを示していると考えられる。
【００１５】
生起キューブを生成した後、スキーママッチングシステムは、グローバル−インタフェース対応、グローバル−結果対応、およびインタフェース−結果対応に対する生起行列を作成する。一実施形態では、スキーママッチングシステムは、生起キューブの１次元を平面上に射影することによって生起行列を作成する。グローバル−インタフェース対応に対する生起行列を生成するため、スキーママッチングシステムは、グローバル属性とインタフェース属性のそれぞれの組合せに対するすべての結果属性の生起カウントの和をとる。スキーママッチングシステムは、グローバル−結果対応およびインタフェース−結果対応に対する生起行列を同様に生成する。表１は、グローバル−インタフェース対応に対する生起行列の一例である。
【００１６】
【表１】
2006004411.tif 000003
【００１７】
カウントの大きさは、対をなす属性間の対応の指標であるが、絶対的大きさよりも相対的大きさのほうがマッチの重要な指標である。特に、生起カウントが高くても、対応する属性を表していない可能性がある。例えば、著者ＩＳと出版社ＧＳに対する行列要素（５３４）はこの行列における最高値であるが、著者ＩＳと出版社ＧＳは意味的に互いに対応しない。一般に、与えられた特定の行列要素ｍｉｊに対して、そのインタフェース属性ｉおよびグローバル属性ｊに対するすべての要素のうちでの相対的大きさのほうが、その絶対的大きさよりも重要である。例えば、キーワードＩＳは、「Ｙｏｕｒ  Ｓｅａｒｃｈ」フィールドを含むと考えられ、書籍ドメインの真の属性ではないが、すべてのグローバル属性について類似のパフォーマンスを有する。このことは、グローバル属性のいずれについても良好なマッチではない可能性があることを示す。出版社ＩＳと出版社ＧＳの要素（４６８）は、出版社ＧＳに対する要素のうちで最高ではない。しかし、出版社ＩＳに対する他の要素よりも相対的に大きい。
【００１８】
属性のどの対が対応するかを識別するため、スキーママッチングシステムは、属性対の相互情報量を推定する。相互情報量は、相互エントロピーおよび情報利得とも呼ばれる。スキーママッチングシステムは、各スキーマを考慮して、スキーマの属性によるウェブデータベースの分割を表現する。最も重なりの大きい分割を有する異なるスキーマからの属性の対が、対応する可能性が高い。一実施形態では、スキーママッチングシステムは、次式に従って、属性対の相互情報量を推定する。
【００１９】
【数１】
2006004411.tif 000004
【００２０】
ここで、ＥＭＩは、スキーマＳ１のｉ番目の属性Ｓ１ｉとＳ２のｊ番目の属性Ｓ２ｊとの間の推定相互情報量であり、Ｍは
【００２１】
【数２】
2006004411.tif 000005
【００２２】
であり、ｍｉ＋は
【００２３】
【数３】
2006004411.tif 000006
【００２４】
であり、ｍ＋ｊは
【００２５】
【数４】
2006004411.tif 000007
【００２６】
である。表１の生起行列に対するＥＭＩ行列を表２に示す。
【００２７】
【表２】
2006004411.tif 000008
【００２８】
スキーママッチングシステムは、あるＥＭＩ行列要素が、同じインタフェース属性に対して（すなわち同じ行において）他の要素よりも大きく、しかも同じグローバル属性に対して（すなわち同じ列において）他の要素よりも大きい場合に、属性間のマッチを検出する。対応する属性は、矩形で示したように、相互間の情報量の重なりが、相手スキーマの他の属性との重なりよりも大きい。例えば、著者ＩＳと著者ＧＳに対するＥＭＩ行列要素（すなわち０．１１）は、著者インタフェース属性および著者グローバル属性の両方について最大のものであるので、これは正しいマッチである。属性のマッチは次式で表現される。
【００２９】
【数５】
2006004411.tif 000009
【００３０】
ここでＭＡＰは、スキーマＳ１のｉ番目の属性がスキーマＳ２のｊ番目の属性とマッチするかどうかを示し、ｅｉｊは、スキーマＳ１のｉ番目の属性とスキーマＳ２のｊ番目の属性に対するＥＭＩ行列要素である。
【００３１】
一実施形態では、スキーママッチングシステムは異なるウェブデータベースの属性間のマッチを識別する。スキーママッチングシステムは、ウェブデータベースの対応する生起行列のベクトル間の類似度に基づいてマッチを識別する。例えば、表３は、スキーマＳ１に対するグローバル−インタフェース生起行列を表し、表４は、スキーマＳ２に対するグローバル−インタフェース生起行列を表す。グローバルスキーマＧＳは｛タイトル（ＴＧ），著者（ＡＧ），出版社（ＰＧ），ＩＳＢＮ（ＩＧ）｝であり、サイト１のインタフェーススキーマＩＳ１は｛著者１（Ａ１），タイトル１（Ｔ１），出版社１（Ｐ１），キーワード１（Ｋ１），ＩＳＢＮ１（Ｉ１）｝であり、サイト２のインタフェーススキーマＩＳ２は｛タイトル２（Ｔ２），著者２（Ａ２），ＩＳＢＮ２（Ｉ２）｝である。
【００３２】
【表３】
2006004411.tif 000010
【００３３】
【表４】
2006004411.tif 000011
【００３４】
属性Ａ１は、表３の第１行のベクトルで表され、属性Ａ２は、表４の第２行のベクトルで表される。スキーママッチングシステムは、次式を用いて２つの属性間の類似度を計算する。
【００３５】
【数６】
2006004411.tif 000012
【００３６】
ここで、ＥＶＳは、スキーマＳ１のｉ番目の属性とＳ２のｊ番目の属性との間の推定ベクトル類似度であり、ａｉｋはスキーマＳ１に対する生起行列の値を表し、ｂｊｋはスキーマＳ２に対する生起行列の値を表す。
【００３７】
表５は、表３および表４から導出された推定ベクトル類似度を表す。
【００３８】
【表５】
2006004411.tif 000013
【００３９】
スキーママッチングシステムは、あるＥＶＳ行列要素が、一方のウェブサイトの同じインタフェース属性に対して他の要素よりも大きく、しかも他方のウェブサイトの同じインタフェース属性に対して他の要素よりも大きい場合に、属性間のマッチを検出する。表５の矩形は、行および列の両方についての最大の類似度値を示し、同時に正しいマッチングも示している。ＩＳ２の２番目の属性である著者２は、ＧＳの出版社２と誤ってマッチングされているが、スキーママッチングシステムはサイト間マッチングを用いてマッチングを訂正する。
【００４０】
一実施形態では、スキーママッチングシステムは、グローバル−インタフェース対応、グローバル−結果対応、インタフェース−結果対応、インタフェース−インタフェース対応、および結果−結果対応を相互検証することにより、誤りの可能性があるマッチを識別し訂正する。スキーママッチングシステムは、インタフェース属性を（そして同様に結果属性も）、それらがマッチする相手のグローバル属性に基づいて複数のクラスタへとクラスタ化する。例えば、ある特定のグローバル属性にマッチした種々のウェブデータベースの属性が１つのクラスタを表す。このクラスタ化はサイト内（intra-site）マッチングに基づく。サイト間（inter-site）マッチングを用いてクラスタ（cluster;集団）を相互検証することも可能である。サイト内およびサイト間のマッチングが完全に正しいとすれば、ウェブデータベースの各属性は、他のウェブデータベースの同一クラスタ内にある属性のみにマッピングされるであろう。すなわち、ウェブデータベースの属性は、相互に、およびグローバル属性に、整合的にマッピングされるであろう。一実施形態では、スキーママッチングシステムは、ウェブデータベーススキーマの属性を頂点として表し、サイト間マッチングをそれらの頂点間の辺として表す。スキーママッチングシステムは、辺切断が最小になるように頂点を分割する。辺切断は、分割間のすべての辺の重みの和である（例えば、各辺は同じ重みを有する）。辺切断を最小化することにより、スキーママッチングシステムは、異なるクラスタの頂点間の辺数を最小化する。
【００４１】
一実施形態では、スキーママッチングシステムは、初期クラスタを初期分割として用い、切断数が減少する限りはあるクラスタから別のクラスタへ頂点を移動することによって、辺切断の最小化を近似する。一般に、頂点は、その隣接頂点の大部分が存在するクラスタに移動される。隣接頂点間には辺がある。頂点は、その隣接頂点の多くが移動される場合には移動される必要があるので、スキーママッチングシステムは、辺切断が局所最適値に収束するように複数のパスを使用してもよい。辺切断が収束したら、スキーママッチングシステムは、２つのクラスタＣ１およびＣ２に含まれるサイトＳ１の属性ＡｉとサイトＳ２の属性Ｂｊの間のクラスタ間マッチを捨てることによってそのクラスタ間マッチングを解消し、Ｃ１にクラスタ化されたサイトＳ２の属性ＢｋにＡｉをマッチングし直す。他方のクラスタについても同様である。
【００４２】
図３は、一実施形態におけるスキーママッチングシステムの分割の１つのパスを示している。この例では、グローバルスキーマは２つの属性｛著者，出版社｝を含み、５個のウェブデータベースは、ＩＳ属性ＩＳ１＝｛Ａａ｝、ＩＳ２＝｛Ｂａ，Ｂｐ｝、ＩＳ３＝｛Ｃａ，Ｃｐ｝、ＩＳ４＝｛Ｄａ，Ｄｐ｝、およびＩＳ５＝｛Ｅａ，Ｅｐ｝を含む。クラスタ３０１および３０２は、（サイト内マッチングにより）マッチする相手がどのグローバル属性であるかに基づく属性（頂点で表す）の初期クラスタを示し、対をなす属性間の辺は、それらの属性が（サイト間マッチングにより）マッチしていることを示す。初期状態では、Ａａは、出版社グローバル属性に誤ってマッチングされており、誤ってＢｐにもマッチングされているが、著者カテゴリ内の他の３個の属性には正しくマッチングされている。したがって、スキーママッチングシステムは、クラスタ間の辺数を３から１に減らすようにＡａを移動する。移動は、Ａａのマッチング相手の属性を出版社グローバル属性から著者グローバル属性に訂正する。この移動後、スキーママッチングシステムは、ＡａとＢｐの間の辺を除去し、ＡａとＢａ（著者グローバル属性にマッチングされているサイト２の属性）の間の新たな辺を追加する。クラスタ３１１および３１２は、訂正された対応を表す。
【００４３】
グローバルスキーマ、インタフェーススキーマ、および結果スキーマは、種々の技法を用いて識別できる。グローバルスキーマを識別するためのいくつかの技法として、属性名および要素の構造に基づくものがある。（非特許文献１および非特許文献２を参照。これらは参照により本明細書に援用される。）他の技法として、形式オントロジに基づくものがある。（非特許文献２および非特許文献３を参照。これらは参照により本明細書に援用される。）サンプルグローバル属性値は、種々のサンプルウェブデータベースから収集することも、手作業で生成することも可能である。ウェブデータベースのインタフェーススキーマは、ＨＴＭＬ仕様により定義されるクエリウェブページの入力関連タグから識別できる。結果スキーマを識別するためのいくつかの技法として、ラッパ（wrapper）を生成することで、動的テンプレートにより生成されたウェブページから、埋め込まれた半構造化データ内容を抽出することがある。（非特許文献４〜非特許文献７を参照。これらは参照により本明細書に援用される。）ある技法では、ＨＴＭＬページ内のネストされた繰り返しパターンの発見に基づいて正規表現ラッパを生成する。（非特許文献７を参照。これは参照により本明細書に援用される。）当業者には理解されるように、これらのスキーマのそれぞれが、手動で、または手動手段と自動手段の組合せによって識別されることも可能である。
【００４４】
図４は、一実施形態におけるスキーママッチングシステムのコンポーネントを示すブロック図である。スキーママッチングシステム４１０は、通信リンク４０２経由で種々のウェブデータベースサイト４０１に接続される。スキーママッチングシステムは、サイト内マッチングコンポーネント４１１、サイト間マッチングコンポーネント４１２、相互検証（クロス確認）コンポーネント４１３、キューブ生成コンポーネント４１４、キューブ射影（project）コンポーネント４１５、ＥＭＩ計算コンポーネント４１６、およびマッチング行列生成コンポーネント４１７を含む。また、スキーママッチングシステムは、キューブ記憶部４２１、射影(projection)記憶部４２２、ＥＭＩ記憶部４２３、およびマッチング記憶部４２４を含む。サイト内マッチングコンポーネントは、キューブ生成コンポーネントを呼び出すことにより生起キューブを生成し、キューブ射影コンポーネントを呼び出すことによりグローバル−インタフェース生起行列、グローバル−結果生起行列、およびインタフェース−結果生起行列を生成する。また、サイト内マッチングコンポーネントは、ＥＭＩ計算コンポーネントを呼び出すことにより、生起行列に基づいて推定相互情報量を計算し、マッチング行列生成コンポーネントを呼び出すことにより、属性のどの対がマッチするかを識別する。サイト間マッチングコンポーネントは、生起行列を用いて推定ベクトル類似度を計算し、マッチング行列生成コンポーネントを呼び出すことによりマッチを識別する。相互検証コンポーネントは、誤ってマッチングされていると見られる属性についてマッチングを変更する。キューブ記憶部は生起キューブを含み、射影記憶部は生起行列を含み、ＥＭＩ記憶部はＥＭＩ行列を含み、マッチング記憶部はマッチング行列を含む。
【００４５】
スキーママッチングシステムが実施されるコンピューティング装置は、中央処理ユニット、メモリ、入力装置（例えば、キーボードおよびポインティングデバイス）、出力装置（例えばディスプレイ装置）、および記憶装置（例えばディスクドライブ）を含み得る。メモリおよび記憶装置は、スキーママッチングシステムを実装する命令を含み得るコンピュータ可読媒体である。さらに、通信リンク上の信号のようなデータ伝送媒体によって、データ構造およびメッセージ構造が記憶または伝送されてもよい。インターネット、ローカルエリアネットワーク、広域ネットワーク、またはポイントツーポイント型ダイヤルアップ接続のような種々の通信リンクが使用可能である。
【００４６】
スキーママッチングシステムは、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサ方式のシステム、プログラム可能な消費者電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境等、を含む種々のオペレーティング環境で実施可能である。
【００４７】
スキーママッチングシステムは、１つまたは複数のコンピュータ等の装置によって実行されるプログラムモジュール等のコンピュータ実行可能命令との一般的関連で説明される。一般的に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。通常、プログラムモジュールの機能は、種々の実施形態において望み通りに組み合わされ、または分散され得る。
【００４８】
図５は、一実施形態におけるサイト内マッチングコンポーネントの処理を示す流れ図である。このコンポーネントは、ウェブデータベースについてグローバル−インタフェース対応、グローバル−結果対応、およびインタフェース−結果対応を識別する。ブロック５０１で、コンポーネントは、キューブ生成コンポーネントを呼び出すことにより生起キューブを生成する。ブロック５０２〜５０６で、コンポーネントは、スキーマの対（すなわち、グローバルとインタフェース、グローバルと結果、そしてインタフェースと結果）を選択することを繰り返し、各対の対応を表すマッチング行列を生成する。ブロック５０２で、コンポーネントは、次のスキーマ対を選択する。判断ブロック５０３で、すべてのスキーマ対が既に選択されている場合、コンポーネントは終了し、そうでない場合、コンポーネントはブロック５０４に進む。ブロック５０４で、コンポーネントは、キューブ射影コンポーネントを呼び出すことにより、選択したスキーマ対に対する生起行列を生成する。ブロック５０５で、コンポーネントは、ＥＭＩ計算コンポーネントを呼び出すことにより、選択したスキーマ対の属性対の相互情報量を推定する。ブロック５０６で、コンポーネントは、マッチング行列生成コンポーネントを呼び出すことにより、選択したスキーマ対の属性対応を示すマッチング行列を生成する。そして、コンポーネントはブロック５０２にループして次のスキーマ対を選択する。
【００４９】
図６は、一実施形態におけるキューブ生成コンポーネントの処理を示す流れ図である。このコンポーネントは、グローバルスキーマ、インタフェーススキーマ、および結果スキーマに基づいて、ウェブデータベースの生起キューブを生成する。生起キューブは、グローバル属性、インタフェース属性、および結果属性のそれぞれの組合せをカウントにマッピングする３次元行列である。カウントは、そのインタフェース属性がそのグローバル属性のあるグローバル属性値にセットされたクエリに対する結果エントリが、その結果属性においてそのグローバル属性値を有した回数である。ブロック６０１で、コンポーネントは、次のグローバル属性（ＧＡ）を選択する。判断ブロック６０２で、すべてのグローバル属性が既に選択されている場合、コンポーネントは復帰し、そうでない場合、コンポーネントはブロック６０３に進む。ブロック６０３で、コンポーネントは、選択したグローバル属性に対する次のグローバル属性値（ＧＡＶ）を選択する。判断ブロック６０４で、選択したグローバル属性に対するすべてのグローバル属性値が既に選択されている場合、コンポーネントはブロック６０１にループして次のグローバル属性を選択し、そうでない場合、コンポーネントはブロック６０５に進む。ブロック６０５〜６０９で、コンポーネントは、各インタフェース属性を選択し、そのインタフェース属性が選択したグローバル属性値にセットされたクエリをサブミットすることを繰り返す。当業者には理解されるように、一部のインタフェース属性に対する値のドメインが制限されることがある。例えば、インタフェース属性がＨＴＭＬのＳＥＬＥＣＴ要素で表されている場合、その値のドメインは、関連するＯＰＴＩＯＮ要素の値に制限されることがある。このような場合、コンポーネントは、オプション値に「類似」するグローバル属性値に対するクエリのみをサブミットしてもよい。グローバル属性値は、それがオプション値を含む場合に類似しているとみなし得る。当業者には理解されるように、他の類似性の尺度を用いてもよい。ＣＨＥＣＫＢＯＸ要素およびＲＡＤＩＯＢＯＸ要素に対するクエリは同様に処理できる。ＴＥＸＴＢＯＸに対する値のドメインは未知のことがあるので、コンポーネントは、ＴＥＸＴＢＯＸによって表されるインタフェース属性に対するすべてのグローバル属性値を用いて網羅的にクエリをサブミットしてもよい。一実施形態では、コンポーネントは、各クエリごとにただ１つのインタフェース属性に対する値をセットする。他のインタフェース属性の値は、ウェブサイトによって定義されるデフォルト値を有してよい。ブロック６０５で、コンポーネントは、次のインタフェース属性（ＩＡ）を選択する。判断ブロック６０６で、すべてのインタフェース属性が既に選択されている場合、コンポーネントはブロック６０３にループし、選択したグローバル属性に対する次のグローバル属性値を選択する。ブロック６０７で、コンポーネントは、選択したインタフェース属性および選択したグローバル属性値を用いてクエリを作成する。ブロック６０８で、コンポーネントは、作成したクエリをウェブサイトにサブミット（提出、投入）する。ブロック６０９で、コンポーネントは、クエリの結果に基づいて生起キューブを更新した後、ブロック６０５にループして、次のインタフェース属性を選択する。
【００５０】
図７は、一実施形態におけるキューブ更新コンポーネントの処理を示す流れ図である。このコンポーネントには、グローバル属性、グローバル属性値、およびインタフェース属性の指示と、クエリ結果とが渡される。ブロック７０１で、コンポーネントは、結果の次のエントリすなわち行を選択する。判断ブロック７０２で、結果のすべてのエントリが既に選択されている場合、コンポーネントは復帰し、そうでない場合、コンポーネントはブロック７０３に進む。ブロック７０３で、コンポーネントは、次の結果属性すなわち列を選択する。判断ブロック７０４で、すべての結果属性が既に選択されている場合、コンポーネントはブロック７０１にループして結果の次のエントリを選択し、そうでない場合、コンポーネントはブロック７０５に進む。ブロック７０５で、グローバル属性値(ＧＡＶ)が、選択したエントリの選択した結果属性（ＡＶ）の値に等しい場合、コンポーネントはブロック７０６に進み、そうでない場合、コンポーネントはブロック７０３にループして、選択したエントリの次の結果属性を選択する。ブロック７０６で、コンポーネントは、渡されたグローバル属性、渡されたインタフェース属性、および選択した結果属性に対する生起キューブ内のカウントをインクリメントする。そして、コンポーネントはブロック７０３にループして、選択したエントリの次の結果属性を選択する。
【００５１】
図８は、一実施形態におけるキューブ射影コンポーネントの処理を示す流れ図である。本実施形態では、このコンポーネントは、グローバル−インタフェース対応の生起行列を生成する。スキーママッチングシステムは、同様にして、グローバル−結果対応およびインタフェース−結果対応の生起行列を生成することも可能である。本実施形態では、このコンポーネントは、グローバル属性とインタフェース属性の対について結果属性のカウントの和をとることにより、３次元の生起キューブを２次元の対応行列に射影する。当業者には理解されるように、直接の総和以外の射影技法も使用可能である。例えば、コンポーネントは、重み付き総和を用い、重みは結果スキーマの自動識別中に導出される信頼度に基づくようにしてもよい。ブロック８０１で、コンポーネントは、次のグローバル属性を選択する。判断ブロック８０２で、すべてのグローバル属性が既に選択されている場合、コンポーネントは復帰し、そうでない場合、コンポーネントはブロック８０３に進む。ブロック８０３で、コンポーネントは、次のインタフェース属性を選択する。判断ブロック８０４で、すべてのインタフェース属性が既に選択されている場合、コンポーネントはブロック８０１にループして次のグローバル属性を選択し、そうでない場合、コンポーネントはブロック８０５に進む。ブロック８０５で、コンポーネントは、次の結果属性を選択する。判断ブロック８０６で、すべての結果属性が既に選択されている場合、コンポーネントはブロック８０３にループして次のインタフェース属性を選択し、そうでない場合、コンポーネントはブロック８０７に進む。ブロック８０７で、コンポーネントは、選択したインタフェース属性およびグローバル属性に対する生起行列内のカウントを、選択したグローバル属性、インタフェース属性、および結果属性に対する生起キューブからのカウントだけインクリメントする。そして、コンポーネントはブロック８０５にループして次の結果属性を選択する。
【００５２】
図９は、一実施形態におけるＥＭＩ計算コンポーネントの処理を示す流れ図である。このコンポーネントは、式１を用いて、生起行列における属性対の相互情報量を推定する。当業者には理解されるように、属性対がマッチしている尤度を推定するために種々の技法が使用可能である。このコンポーネントは、生起行列が渡され、ＥＭＩ行列を返す。ブロック９０１で、コンポーネントは、生起行列内のすべてのカウントの和を計算する。ブロック９０２で、コンポーネントは、生起行列の各行内のカウントの和を計算する。ブロック９０３で、コンポーネントは、生起行列の各列内のカウントの和を計算する。ブロック９０４〜９０８で、コンポーネントは、生起行列の各属性対を選択することを繰り返し、それらの属性がマッチしている尤度(likelihood)を求める。ブロック９０４で、コンポーネントは、生起行列の次の行を選択する。判断ブロック９０５で、生起行列のすべての行が既に選択されている場合、コンポーネントは復帰し、そうでない場合、コンポーネントはブロック９０６に進む。ブロック９０６で、コンポーネントは、生起行列の次の列を選択する。判断ブロック９０７で、生起行列のすべての列が既に選択されている場合、コンポーネントはブロック９０４にループして生起行列の次の行を選択し、そうでない場合、コンポーネントはブロック９０８に進む。ブロック９０８で、コンポーネントは、選択した行および列によって表される属性に対する推定相互情報量を計算する。そして、コンポーネントはブロック９０６にループして次の列を選択する。
【００５３】
図１０は、一実施形態におけるマッチング行列生成コンポーネントの処理を示す流れ図である。このコンポーネントには、属性対がマッチしている尤度を示すＥＭＩ行列のような行列が渡される。属性対に対する尤度が、両方の属性について最高の尤度である（一方の属性を表す行において最高であり、他方の属性を表す列において最高である）場合、コンポーネントは、それらの属性がマッチしていると認める。ブロック１００１で、コンポーネントは、渡された行列の次の行を選択する。判断ブロック１００２で、渡された行列のすべての行が既に選択されている場合、コンポーネントは復帰し、そうでない場合、コンポーネントはブロック１００３に進む。ブロック１００３で、コンポーネントは、渡された行列の次の列を選択する。判断ブロック１００４で、渡された行列のすべての列が既に選択されている場合、コンポーネントはブロック１００１にループして、渡された行列の次の行を選択し、そうでない場合、コンポーネントはブロック１００５に進む。判断ブロック１００５で、選択した行および列の値がその行内で最高である場合、コンポーネントはブロック１００６に進み、そうでない場合、コンポーネントはブロック１００３にループして次の列を選択する。判断ブロック１００６で、選択した行および列の値がその列内で最高である場合、コンポーネントはブロック１００７に進み、そうでない場合、コンポーネントはブロック１００３にループして次の列を選択する。ブロック１００７で、コンポーネントは、選択した行および列に対するマッチング行列の値をマッチングを示すようにセットした後、ブロック１００３にループして、選択した行の次の列を選択する。
【００５４】
図１１は、一実施形態におけるサイト間マッチングコンポーネントの処理を示す流れ図である。このコンポーネントは、あるウェブサイトのどの属性（インタフェースおよび結果）が別のウェブサイトのどの属性とマッチするかを識別する。コンポーネントは、ウェブサイトのグローバル−インタフェース対応の生起行列を用いてインタフェーススキーマについてのマッチングを識別し、ウェブサイトのグローバル−結果対応の生起行列を用いて結果スキーマについてのマッチングを識別する。ブロック１１０１で、コンポーネントは、キューブ生成コンポーネントを呼び出すことにより、サイトＡの生起キューブを生成する。ブロック１１０２で、コンポーネントは、キューブ射影コンポーネントを呼び出すことにより、サイトＡの生起行列を生成する。ブロック１１０３で、コンポーネントは、キューブ生成コンポーネントを呼び出すことにより、サイトＢの生起キューブを生成する。ブロック１１０４で、コンポーネントは、キューブ射影コンポーネントを呼び出すことにより、サイトＢの生起行列を生成する。ブロック１１０５で、コンポーネントは、インタフェース属性について、推定ベクトル類似度計算コンポーネント(calculate estimated vector similarity component)を呼び出すことにより、サイトＡおよびサイトＢからのインタフェース属性の対がマッチしている尤度を生成する。当業者には理解されるように、この尤度を推定するためには多くの異なる技法が使用可能であり、ベクトル類似度は単なる一例である。ブロック１１０６で、コンポーネントは、インタフェース属性に対する推定ベクトル類似度行列を渡してマッチング行列生成コンポーネントを呼び出すことにより、どのインタフェース属性対がマッチしているかを示す行列を生成する。ブロック１１０７で、コンポーネントは、推定ベクトル類似度計算コンポーネントを呼び出すことにより、結果属性に対する推定ベクトル類似度行列を生成する。ブロック１１０８で、コンポーネントは、マッチング行列生成コンポーネントを呼び出すことにより、どの結果属性対がマッチしているかを示す行列を生成する。そして、コンポーネントは終了する。
【００５５】
図１２は、一実施形態における推定ベクトル類似度計算コンポーネントの処理を示す流れ図である。このコンポーネントは、インタフェース−インタフェース対応または結果−結果対応の生起行列が渡され、各属性対がマッチしている尤度を求める。ブロック１２０１で、コンポーネントは、サイトＡの次の属性を選択する。判断ブロック１２０２で、サイトＡのすべての属性が既に選択されている場合、コンポーネントは復帰し、そうでない場合、コンポーネントはブロック１２０３に進む。ブロック１２０３で、コンポーネントは、サイトＢの次の属性を選択する。判断ブロック１２０４で、サイトＢのすべての属性が既に選択されている場合、コンポーネントはブロック１２０１にループしてサイトＡの次の属性を選択し、そうでない場合、コンポーネントはブロック１２０５に進む。ブロック１２０５で、コンポーネントは、式３に従って、選択した属性に対する推定ベクトル類似度を計算した後、ブロック１２０３にループして、サイトＢの次の属性を選択する。
【００５６】
図１３は、一実施形態における相互検証コンポーネントの処理を示す流れ図である。サイト内マッチが誤っていることをサイト間マッチが示している場合、コンポーネントは、属性のマッチを変更する。ブロック１３０１で、コンポーネントは、次のグローバル属性を選択する。判断ブロック１３０２で、すべてのグローバル属性が既に選択されている場合、コンポーネントは終了し、そうでない場合、コンポーネントはブロック１３０３に進む。ブロック１３０３で、コンポーネントは、次のウェブサイト（Ｓ）を選択する。判断ブロック１３０４で、すべてのウェブサイトが既に選択されている場合、コンポーネントはブロック１３０１にループして次のグローバル属性を選択し、そうでない場合、コンポーネントはブロック１３０５に進む。判断ブロック１３０５で、選択したウェブサイトが、選択したグローバル属性にマッチする属性を有する場合、コンポーネントはブロック１３０６に進み、そうでない場合、コンポーネントはブロック１３０３にループして次のウェブサイトを選択する。判断ブロック１３０６で、選択した属性（ＳＡ）が別のグローバル属性に移動されるべきである場合、コンポーネントはブロック１３０７に進み、そうでない場合、コンポーネントはブロック１３０３にループして次のウェブサイトを選択する。ブロック１３０７で、コンポーネントは、選択した属性を、異なるグローバル属性にマッチするように変更する。ブロック１３０８で、コンポーネントは、選択した属性のサイト内マッチを変更する。そして、コンポーネントはブロック１３０３にループして次のウェブサイトを選択する。
【００５７】
当業者には理解されるように、本明細書には、説明の目的上、スキーママッチングシステムの特定の実施形態が記載されているが、本発明の趣旨および範囲から逸脱することなく種々の変更をなし得る。したがって、本発明は、特許請求の範囲によって以外には限定されない。
【図面の簡単な説明】
【００５８】
【図１】書店のウェブデータベースの種々のスキーマを例示する図である。
【図２】一実施形態におけるサイト内およびサイト間のマッチングを示す図である。
【図３】一実施形態におけるスキーママッチングシステムの分割の１つのパスを示す図である。
【図４】一実施形態におけるスキーママッチングシステムのコンポーネントを示すブロック図である。
【図５】一実施形態におけるサイト内マッチングコンポーネントの処理を示す流れ図である。
【図６】一実施形態におけるキューブ生成コンポーネントの処理を示す流れ図である。
【図７】一実施形態におけるキューブ更新コンポーネントの処理を示す流れ図である。
【図８】一実施形態におけるキューブ射影コンポーネントの処理を示す流れ図である。
【図９】一実施形態におけるＥＭＩ計算コンポーネントの処理を示す流れ図である。
【図１０】一実施形態におけるマッチング行列生成コンポーネントの処理を示す流れ図である。
【図１１】一実施形態におけるサイト間マッチングコンポーネントの処理を示す流れ図である。
【図１２】一実施形態における推定ベクトル類似度計算コンポーネントの処理を示す流れ図である。
【図１３】一実施形態における相互検証コンポーネントの処理を示す流れ図である。
【符号の説明】
【００５９】
１０１  データベーススキーマ
１０２  インタフェーススキーマ
１０３  結果スキーマ
３０１，３０２，３１１，３１２  クラスタ
４０１  ウェブデータベースサイト
４０２  通信リンク
４１０  スキーママッチングシステム
４１１  サイト内マッチングコンポーネント
４１２  サイト間マッチングコンポーネント
４１３  相互検証コンポーネント
４１４  キューブ生成コンポーネント
４１５  キューブ射影コンポーネント
４１６  ＥＭＩ計算コンポーネント
４１７  マッチング行列生成コンポーネント
４２１  キューブ記憶部
４２２  射影記憶部
４２３  ＥＭＩ記憶部
４２４  マッチング記憶部
【図１】
2006004411.tif 000016
【図２】
2006004411.tif 000017
【図３】
2006004411.tif 000018
【図４】
2006004411.tif 000019
【図５】
2006004411.tif 000020
【図６】
2006004411.tif 000021
【図７】
2006004411.tif 000022
【図８】
2006004411.tif 000023
【図９】
2006004411.tif 000024
【図１０】
2006004411.tif 000025
【図１１】
2006004411.tif 000026
【図１２】
2006004411.tif 000027
【図１３】
2006004411.tif 000028
【外国語明細書】
2006004411000001.pdf