IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特表2022-551230データ検索システム、装置、方法、および、プログラム
<>
  • 特表-データ検索システム、装置、方法、および、プログラム 図1
  • 特表-データ検索システム、装置、方法、および、プログラム 図2
  • 特表-データ検索システム、装置、方法、および、プログラム 図3
  • 特表-データ検索システム、装置、方法、および、プログラム 図4
  • 特表-データ検索システム、装置、方法、および、プログラム 図5
  • 特表-データ検索システム、装置、方法、および、プログラム 図6
  • 特表-データ検索システム、装置、方法、および、プログラム 図7
  • 特表-データ検索システム、装置、方法、および、プログラム 図8
  • 特表-データ検索システム、装置、方法、および、プログラム 図9
  • 特表-データ検索システム、装置、方法、および、プログラム 図10
  • 特表-データ検索システム、装置、方法、および、プログラム 図11
  • 特表-データ検索システム、装置、方法、および、プログラム 図12
  • 特表-データ検索システム、装置、方法、および、プログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-08
(54)【発明の名称】データ検索システム、装置、方法、および、プログラム
(51)【国際特許分類】
   G06F 16/2458 20190101AFI20221201BHJP
【FI】
G06F16/2458
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022517451
(86)(22)【出願日】2019-10-08
(85)【翻訳文提出日】2022-03-17
(86)【国際出願番号】 JP2019039653
(87)【国際公開番号】W WO2021070247
(87)【国際公開日】2021-04-15
(81)【指定国・地域】
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103090
【弁理士】
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【弁理士】
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】董 于洋
(72)【発明者】
【氏名】小山田 昌史
(72)【発明者】
【氏名】竹岡 邦紘
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175FA03
5B175HB03
(57)【要約】
データインデックス部80は、ソーステーブルのデータを管理する。データ検索部90は、クエリテーブルに対して結合可能なソーステーブルを検索する。グループインデックス部81は、ソーステーブルを集合のコレクションに分割し、分割された集合ごとに、セルの類似度を計算する類似度関数を用いて、その集合に含まれる類似セルのグループを生成する。データフィルタリング部91は、分割されたクエリテーブルの集合に含まれる第1セルと、その第1セルに類似するセルを含む上記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索する。
【特許請求の範囲】
【請求項1】
クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索システムであって、
前記ソーステーブルのデータを管理するデータインデックス部と、
クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索部とを備え、
前記データインデックス部は、前記ソーステーブルを集合のコレクションに分割し、分割された集合ごとに、セルの類似度を計算する類似度関数を用いて、前記集合に含まれる類似セルのグループを生成するグループインデックス部を含み、
前記データ検索部は、分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索するデータフィルタリング部を含む
ことを特徴とするデータ検索システム。
【請求項2】
前記データインデックス部は、前記集合のグループのそれぞれに含まれるセル数の大小関係に基づいて定義される関係であって、セル数が多いグループを含む集合が、セル数が少ない同じグループを含む集合を支配するという関係を示す支配関係を抽出する支配関係抽出部をさらに含み、
前記データフィルタリング部は、前記支配関係によって支配されている集合がより多く存在する集合を検索候補として優先的に選択する
請求項1記載のデータ検索システム。
【請求項3】
前記データ検索部は、前記支配関係によって支配されている集合を抽出するプルーニング処理部をさらに含み、
前記データフィルタリング部は、抽出された集合を前記検索候補から除外する
請求項2記載のデータ検索システム。
【請求項4】
複数のテーブル間の結合可能な関係を表す結合グラフを可視化する可視化部をさらに備える
請求項1から請求項3のうちのいずれか1項に記載のデータ検索システム。
【請求項5】
前記データ検索部は、前記第1セルと前記第2セルとの組の数を用いて前記ソーステーブルを検証するデータ検証部をさらに含む
請求項1から請求項4のうちのいずれか1項に記載のデータ検索システム。
【請求項6】
前記データインデックス部は、文字列データを含む集合を実数データに変換するデータ前処理部をさらに含む
請求項1から請求項5のうちのいずれか1項に記載のデータ検索システム。
【請求項7】
クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索装置であって、
セルの類似度を計算する類似度関数を用いて、各ソーステーブルの列ごとに生成された類似セルのグループを入力する入力部と、
分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索するデータフィルタリング部とを含む
ことを特徴とするデータ検索装置。
【請求項8】
クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索方法であって、
前記ソーステーブルを集合のコレクションに分割し、分割された集合ごとに、セルの類似度を計算する類似度関数を用いて、前記集合に含まれる類似セルのグループを生成し、
分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索する
ことを特徴とするデータ検索方法。
【請求項9】
前記集合のグループのそれぞれに含まれるセル数の大小関係に基づいて定義される関係であって、セル数が多いグループを含む集合が、セル数が少ない同じグループを含む集合を支配するという関係を示す支配関係を抽出し、
前記支配関係によって支配されている集合がより多く存在する集合を検索候補として優先的に選択する
請求項8に記載のデータ検索方法。
【請求項10】
クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索方法であって、
セルの類似度を計算する類似度関数を用いて、各ソーステーブルの列ごとに生成された類似セルのグループを入力し、
分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索する
ことを特徴とするデータ検索方法。
【請求項11】
クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索プログラムであって、
コンピュータに、
セルの類似度を計算する類似度関数を用いて、各ソーステーブルの列ごとに生成された類似セルのグループを入力する入力処理、および、
分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索するデータフィルタリング処理
を実行させるためのデータ検索プログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、結合可能なテーブルを検索するデータ検索システム、データ検索装置、データ検索方法およびデータ検索プログラムに関する。
【背景技術】
【0002】
「結合」は、2つ以上のテーブルを接続するための重要な技術である。2つの異なるテーブルを結合することで、元のデータに関連するより多くの属性を得ることにより、データの価値を高めることができる。データ分析は、より多くの特徴を処理し、より良いパフォーマンスを得ることができる結合から利益を得る。例えば、データ分析者は、POS(販売時点情報管理)データと気象データとを結合することで、「台風の日はおにぎりがよく売れる」のようにより多くの知識を得ることができる。
【0003】
そのため、テーブルを保有しているデータ分析者にとっては、大規模なソーステーブルから結合可能なテーブルを見つけることが大きなニーズとなっている。特許文献1には、入力された文字列で関連テーブルを検索する生成装置が開示されている。しかし、特許文献1に開示されている生成装置は、問合せ文字列を受け取り、その文字列に対応する関連テーブルを出力するものであり、クエリテーブルに対する結合可能なテーブルを検索する問題に適用することはできない。
【0004】
非特許文献1には、入力テーブルに対して結合可能なテーブルを検索する方法が開示されている。非特許文献1に開示されている方法では、2つのテーブルが結合可能かどうかの判断は、厳密な結合(または等しい結合)操作に基づいて行われる。厳密な結合は、等しい結合や外部キー結合と同様に、全く同じ値を持つ2つの異なるテーブルからの値で実行される。図12は、テーブルの例を示す説明図である。例えば、図12では、「STORE ID」の列に応じてテーブルを結合することができる。
【0005】
一方で、2つのテーブルのデータがまったく同じとは限らない。このような場合、テーブルは類似度結合(またはファジー結合)で結合される。類似度結合は、異なるテーブルの2つのデータの類似度を測定する。非特許文献2には、文字列データに対する類似度結合の操作に基づいて、2つのテーブルから関連する集合を見つける方法が開示されている。
【0006】
図13は、テーブルの他の例を示す説明図である。例えば、図13において、列「ベストセラー」は、文字列の類似度に応じて、別のテーブルの別の列「Product」と結合することができる。例えば、図13において、「Google AR Glass」と「Google Glass」は、全く同じではないが、Jaccard類似度や編集距離などの文字列類似度関数で高い類似度を持つ。そこで、非特許文献2では、このような文字列のファジィ結合を可能にし、文字列データの関連集合を効率的に見つけることができる。
【0007】
データ分析者は、実数(または数値ベクトル)データで2つのテーブル間の類似度結合を処理する必要もある。ユークリッド距離やコサイン類似度など、2つの実数データを測定する類似度関数は、文字列データに対する類似度関数とは異なる。例えば、図12において、「位置」の列には座標が表示されている。2つのテーブルを結合すると、売上と天気の関係がわかる。非特許文献3には、2つの表を入力し、数値ベクトルデータの列をユークリッド距離で高速に類似度結合する方法が開示されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】米国特許US9607044 B2
【非特許文献】
【0009】
【非特許文献1】Erkang zhu et al., “JOSIE: Overlap Set Similarity Search for Finding Joinable Tables in Data Lakes”, SIGMOD Conference 2019, pp.847-864, 2019
【非特許文献2】Dong Deng et al., “SilkMoth: An Efficient Method for Finding Related Sets with Maximum Matching Constraints”, PVLDB 10(10), pp.1082-1093, 2017
【非特許文献3】You Jung Kim et al., “Performance Comparison of the R*-Tree and the Quadtree for kNN and Distance Join Queries”, IEEE Trans. Knowledge Data Eng., 22(7), pp. 1014-1027, 2010
【発明の概要】
【発明が解決しようとする課題】
【0010】
第1の課題は、実数データの類似度結合を持つ結合可能なテーブルを見つけることである。上述したように、クエリテーブルが与えられた場合、非特許文献1によれば、クエリテーブルと全く同じデータを含む結合可能なテーブルしか検索できない。非特許文献1に開示されている方法では、類似度結合に対応できない。
【0011】
非特許文献2には、類似度結合で結合可能なテーブルを見つける方法が開示されている。しかし、非特許文献2に開示されている方法は、文字列データに対する類似度関数に対応し、実数データに対する類似度関数に対応していない。実際のアプリケーションにおいて、データ分析の性能を上げるために、多くの文字列処理システムでは、文字列をワードエンベッディング技術によって実数データ(数値ベクトル)に変換する傾向がある。そのため、上記の手法では、実数データの類似度結合で結合可能なテーブルを見つけることができないという問題がある。
【0012】
第2の課題は、大規模なソーステーブルから結合可能なテーブルを効率的に検索することである。非特許文献3に開示されている方法は、実数データの類似結合に対応しているが、2つのテーブルを入力し、結合可能な行を検索する場合のみを想定している。非特許文献3に開示されている方法を、結合可能なテーブルの検索に用いることは、非効率的であり、不可能である。ソーステーブルは、常に膨大な数(数千、数百万)のテーブルを持っている。非特許文献3に開示されている方法では、結合可能なテーブルを検索するために、テーブルを1つ1つ確認する必要があり、処理時間が非常に長くなる。そのため、大規模なソーステーブルから結合可能なテーブルを効率的に検索する方法が課題となっている。
【0013】
そこで、本発明は、大規模なソーステーブルから類似度結合により結合可能なテーブルを短い処理時間で検索することができるデータ検索システム、データ検索装置、データ検索方法およびデータ検索プログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明によるデータ検索システムは、クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索システムであって、ソーステーブルのデータを管理するデータインデックス部と、クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索部とを備え、データインデックス部が、ソーステーブルを集合のコレクションに分割し、分割された集合ごとに、セルの類似度を計算する類似度関数を用いて、その集合に含まれる類似セルのグループを生成するグループインデックス部を含み、データ検索部が、分割されたクエリテーブルの集合に含まれる第1セルと、その第1セルに類似するセルを含む上記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索するデータフィルタリング部を含むことを特徴とする。
【0015】
本発明によるデータ検索装置は、クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索装置であって、セルの類似度を計算する類似度関数を用いて、各ソーステーブルの列ごとに生成された類似セルのグループを入力する入力部と、分割されたクエリテーブルの集合に含まれる第1セルと、その第1セルに類似するセルを含む上記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索するデータフィルタリング部とを含むことを特徴とする。
【0016】
本発明によるデータ検索方法は、クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索方法であって、ソーステーブルを集合のコレクションに分割し、分割された集合ごとに、セルの類似度を計算する類似度関数を用いて、その集合に含まれる類似セルのグループを生成し、分割されたクエリテーブルの集合に含まれる第1セルと、その第1セルに類似するセルを含む上記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索することを特徴とする。
【0017】
本発明によるデータ検索方法は、クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索方法であって、セルの類似度を計算する類似度関数を用いて、各ソーステーブルの列ごとに生成された類似セルのグループを入力し、分割されたクエリテーブルの集合に含まれる第1セルと、その第1セルに類似するセルを含む上記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索することを特徴とする。
【0018】
本発明によるデータ検索プログラムは、クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索プログラムであって、コンピュータに、セルの類似度を計算する類似度関数を用いて、各ソーステーブルの列ごとに生成された類似セルのグループを入力する入力処理、および、分割されたクエリテーブルの集合に含まれる第1セルと、その第1セルに類似するセルを含む上記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索するデータフィルタリング処理を実行させることを特徴とする。
【発明の効果】
【0019】
本発明によれば、大規模なソーステーブルから類似度結合により結合可能なテーブルを短い処理時間で検索することができる。
【図面の簡単な説明】
【0020】
図1】本発明によるデータインデックス部の一実施形態の構成例を示すブロック図である。
図2】第一の実施形態によるデータインデックス部のデータインデックス処理の例を示すフローチャートである。
図3】グループ生成時の処理の例を示す説明図である。
図4】支配関係の例を示す説明図である。
図5】本発明によるデータ検索システムの一実施形態の構成例を示すブロック図である。
図6】第二の実施形態によるデータ検索部のデータ検索処理の例を示すフローチャートである。
図7】一致した組の対のセルの下限を算出する処理の例を示す説明図である。
図8】本発明によるデータ可視化システムの一実施形態の構成例を示すブロック図である。
図9】第三の実施形態によるグラフ生成部のデータ可視化処理の例を示すフローチャートである。
図10】本発明によるデータ検索システムの概要を示すブロック図である。
図11】本発明によるデータ検索装置の概要を示すブロック図である。
図12】テーブルの例を示す説明図である。
図13】テーブルの他の例を示す説明図である。
【発明を実施するための形態】
【0021】
まず、本実施形態で使用する用語について説明する。異なるテーブルの列の組について、列のセルの値が十分に一致していれば、それらを結合することに意味がある。以下の説明では、テーブルの列における1つのデータを「セル」と呼ぶ。例えば、図12の「晴れ」は、「天気」列のセルである。この列を「集合」と呼ぶ。
【0022】
セル類似度関数fにより、2つのセルが所定のセル類似度の閾値Tcellよりも大きな類似度を持つ場合は、「match」(一致)と呼ばれ、以下の式1で表わされる。
【0023】
【数1】
【0024】
式1において、f(q,x)は、セルqとセルxとのセル類似度関数である。|Match(q,x)|は、類似度がセル類似度の閾値Tcellよりも大きい組の数である。特定の関数uを持つ数に応じて集合類似度関数Fが算出される。集合類似度関数Fは、以下の式2で表わされる。
【0025】
【数2】
【0026】
関数Fの値が設定された類似度の閾値Tsetを超えるとき、2つの集合は、結合可能であると定義され、以下の式3で表される。
【数3】
【0027】
結合可能なテーブルの探索問題は、形式的に2つのバージョンで定義される。1つは、問合せバージョン、もう1つは全組バージョンである。
【0028】
問合せバージョンについては、集合のコレクションXと問合せ集合Q、さらに設定された類似度の閾値Tsetとセル類似度の閾値Tcellが与えられ、次のような集合Aを見つける。
【数4】
【0029】
全組バージョンについては、集合のコレクションX、設定された類似度の閾値Tset、セル類似度の閾値Tcellが与えられ、Xの要素である各集合xに対して、次のような集合Aを見つける。
【数5】
【0030】
以下、本発明の実施形態を、図面を参照して説明する。すべての図面において、同様の要素は同様の参照数字で参照され、その説明は繰り返されない。
【0031】
実施形態1.
本発明の第一の実施形態における、データインデックス部を説明する。第一の実施形態のデータインデックス部は、テーブルデータをインデックス化して管理する。すなわち、データインデックス部では、複数のテーブルがインデックス化されて管理される。データインデックス部は、1つのテーブルの挿入、削除、更新をサポートする。削除は同一部でコピーと同様の(逆の)処理フローで対応し、更新操作は挿入と削除の組み合わせであるため、以下では、主にテーブルの挿入の詳細を説明する。
【0032】
図1は、本発明によるデータインデックス部の一実施形態の構成例を示すブロック図である。本実施形態のデータインデックス部600は、データ入力部601と、データ前処理部602と、グループインデックス部603と、支配関係インデックス部604と、グループ構造記憶部605と、支配関係構造記憶部606と、ソーステーブル記憶部607とを含む。
【0033】
データ入力部601は、複数のテーブルを取得する。データ前処理部602は、入力されたテーブルをインデックス生成可能な状態に前処理する。グループインデックス部603は、テーブルの同様のセルをグループに分割し、グループ構造をグループ構造記憶部605にインデックス化する。支配関係インデックス部604は、グループ間の支配関係を抽出し、これを支配関係構造記憶部606にインデックス化する。ソーステーブル記憶部607は、元の入力テーブルを記憶する。
【0034】
データ入力部601、データ前処理部602、グループインデックス部603、および、支配関係インデックス部604は、プログラム(データインデックスプログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、データインデックス部600に含まれる記憶装置(図示せず)に記憶され、CPUはそのプログラムを読み込み、プログラムに従って、データ入力部601、データ前処理部602、グループインデックス部603、および、支配関係インデックス部604として動作してもよい。また、データインデックス部の機能が、SaaS(Software as a Service)の形式で提供されてもよい。
【0035】
また、データ入力部601、データ前処理部602、グループインデックス部603、支配関係インデックス部604は、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【0036】
また、各装置各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0037】
さらに、グループ構造記憶部605、支配関係構造記憶部606、ソーステーブル記憶部607は、例えば、磁気ディスク等により実現される。
以下、各部の内容を具体的に説明する。
【0038】
図2は、本実施形態によるデータインデックス部600のデータインデックス処理の例を示すフローチャートである。ステップS101において、データ入力部601は、複数のソーステーブルを取得し、これらのテーブルをソーステーブル記憶部607に格納する。ステップS102において、データ前処理部602は、ステップS101から入力されたテーブルを受け取る。まず、データ前処理部602は、各テーブルを集合のコレクションに分割する。テーブルの列は、集合として抽出される。次に、データ前処理部602は、文字列データを含む集合を実数データに変換する。なお、文字列データを実数データに変換する方法は広く知られており、ここではその詳細な説明を省略する。最後に、データ前処理部602は、ステップS103における今後の処理に備えて、ダーティデータをクリーニングし、データを正規化する。
【0039】
ステップS103において、グループインデックス部603は、ステップS102で前処理された集合を受け取る。グループインデックス部603は、ステップS103において、各集合のグループのコレクションを含むグループ構造を生成する。グループ構造のグループは、集合に含まれるセルと類似度関数fとに応じて生成される。すなわち、グループインデックス部603は、分割された集合ごとに、類似度関数fを用いて、集合に含まれる類似セルのグループを生成する。
【0040】
具体的には、以下のステップS1033の処理を、各集合および集合の各セルに対して行う(ステップS1031、S1032)。ステップS1033において、グループインデックス部603が、セル類似度の閾値Tcellの値とセル類似度関数fとに応じて、「小グループ」と名付けられたいくつかのグループを生成する。同じ小グループ内のセルは、Tcellよりも高い類似度値を持つので、すべてのセルは、セル類似度関数fで互いに「一致」する必要がある。
【0041】
図3は、グループ生成時の処理の例を示す説明図である。図3に示すように、テーブルT1は集合(列)S1~S3に分割され、各集合に含まれるセルCは、セル類似度関数fを用いてグループ化(グループG1~G9)される。図3に示す例では、各集合のグループ数は同じであるが、他の場合では、グループ数が異なっていてもよい。
【0042】
また、ステップS1033において、グループインデックス部603は、セルをインデックス化するための「大グループ」を生成する。大グループは、小グループに対応して生成される。具体的には、グループインデックス部603は、小グループと同じ中心を持ち、小グループよりも広い範囲を持つ大グループを生成する。大グループの範囲は、中心との類似度がTcellの1.5倍以下のすべてのセルをカバーすることができる。したがって、小グループ内のすべてのセルについて、大グループ内のセルとは一致してもよいが、大グループ外のセルとは一致してはならない。
【0043】
ステップS102からの各集合に対して、グループインデックス部603は、小グループのコレクションと大グループのコレクションを生成し、これらのグループをグループ構造にインデックス化する。グループ構造は、集合を表し、グループ構造記憶部605にインデックス化される。
【0044】
全ての集合のグループ構造を生成した後、ステップS104において、支配関係インデックス部604は、グループ間の支配関係を抽出して、それらを支配関係構造記憶部606にインデックス化する。なお、支配関係とは、各集合のグループに含まれるセル数の大小関係に基づいて定義される関係であり、セル数の多いグループを含む集合が、セル数の少ない同じグループを含む集合を支配する関係を示すものである。以下、支配関係インデックス部604による処理について具体的に説明する。
【0045】
インデックス化された各グループ構造について(ステップS1041)、支配関係インデックス部604は、ステップS1042において、このグループ構造と他のグループ構造との間の支配関係を抽出する。なお、2つのグループ構造間の支配関係の定義は以下の通りである。
【0046】
【数6】
【0047】
|G.h|は、グループ構造Gのグループhのセル数である。Dom(A,B)は、集合Aのセル数が集合Bのセル数よりも少ない小グループの集合である。Dom(A,B)は、集合Aのセル数が集合Bのセル数よりも多い大グループの集合である。Dom(A,B)は、集合Aと集合Bの両方で空の大グループの集合である。
【0048】
ステップS1043において、支配関係インデックス部604が、グループ構造に対する支配関係を木構造または逆インデックス構造でインデックス化し、その支配関係を支配関係構造記憶部606に格納する。
【0049】
図4は、支配関係の例を示す説明図である。図4の例では、支配関係を有向グラフで表わす。具体的には、図4に例示された円は候補集合を示し、矢印は支配関係を示す。
【0050】
具体的には、支配関係インデックス部604は、小グループとの支配関係Dom(A,B)を小グループ支配関係として、支配関係構造記憶部606に記憶する。また、支配関係インデックス部604は、大グループとの支配関係Dom(A,B)を大グループ支配関係として支配関係構造記憶部606に記憶する。さらに、支配関係インデックス部604は、大グループとの支配関係Dom(A,B)を空グループ支配関係として支配関係構造記憶部606に記憶する。
【0051】
以上のように、本実施形態によれば、グループインデックス部603は、類似度関数を用いてテーブルのすべての列をグループに分割し、列内の類似するセルを同じグループにインデックス化する。さらに、支配関係インデックス部604は、異なる列からグループ間の支配関係を抽出し、その支配関係をインデックス化する。したがって、膨大な数のテーブルをインデックス化して管理することができる。なお、インデックス化されたテーブルは、データインデックス部600における挿入、削除、更新の操作で維持される。
【0052】
実施形態2.
次に、本発明の第二の実施形態について説明する。本発明の第二の実施形態として、データ検索システムについて説明する。データ検索システムは、結合可能なテーブルを検索するシステムである。
【0053】
図5は、本発明による実施形態のデータ検索システムの一実施形態の構成例を示すブロック図である。本実施形態のデータ検索システム100は、データインデックス部600と、データ検索部700とを含む。データインデックス部600は、第一の施形態と同様である。
【0054】
データ検索部700は、インデックス化されたグループ構造と支配関係とを利用して、入力されたクエリテーブルに対する結合可能なテーブルを効率的に検索する。なお、本実施形態の単一のデータ検索部700は、データ検索システム100として実現されてもよい。例えば、グループ構造および支配関係が既に生成されている場合、データ検索システム100としてのデータ検索部700は、これらの情報を外部記憶装置(図示せず)から取得して、後述する処理を行ってもよい。この場合、データ検索部700は、データ検索装置と呼ぶことができる。
【0055】
本実施形態のデータ検索部700は、問合せ入力部710と、問合せ前処理部720と、データフィルタリング部701と、データ検証部702と、検索結果出力部730とを含む。
【0056】
データフィルタリング部は、結合処理部7010と、プルーニング処理部7011と、候補選択部7012と、内部結果記憶部7013とを有する。
【0057】
なお、問合せ入力部710は、入力されたクエリテーブルを取得し、類似度閾値Tsetを設定し、グループ構造記憶部605に記憶された類似セルのグループを入力してもよい。問合せ前処理部720は、入力されたクエリテーブルを集合に前処理する。データフィルタリング部701は、見かけ上結合可能なテーブルや結合不可能なテーブルをフィルタリングする。データ検証部702は、データフィルタリング部701でフィルタリングできなかったテーブルを検証する。検索結果出力部730は、検索された結合可能なテーブルを返信する。
【0058】
結合処理部7010は、2つの集合が結合可能であるか、結合不可能であるかを定義する。プルーニング処理部7011は、候補テーブルをプルーニングする。候補選択部7012は、次に処理する適切な候補を選択する。内部結果記憶部7013は、後述するフィルタ処理時の内部結果を記憶する。
【0059】
問合せ入力部710と、問合せ前処理部720と、データフィルタリング部701(より具体的には、結合処理部7010と、プルーニング処理部7011と、候補選択部7012)と、データ検証部702と、検索結果出力部730とは、プログラム(データ検索プログラム)に従って動作するコンピュータのCPUによって実現される。なお、問合せ入力部710と、問合せ前処理部720と、データフィルタリング部701(より具体的には、結合処理部7010と、プルーニング処理部7011と、候補選択部7012)と、データ検証部702と、検索結果出力部730とは、それぞれが専用のハードウェアで実現されていてもよい。
【0060】
また、内部結果記憶部7013は、例えば、磁気ディスク等により実現される。
【0061】
以下、各部の内容を具体的に説明する。
【0062】
図6は、データ検索部700のデータ検索処理の例を示すフローチャートである。ステップS201において、問合せ入力部710は、クエリテーブルを取得する。ステップS202において、問合せ前処理部720は、ステップS201から入力されたテーブルを受け取る。まず、問合せ前処理部720は、各テーブルを集合のコレクションに分割する。テーブルの列は、集合として抽出される。次に、問合せ前処理部720は、文字列データを含む集合を実数データに変換する。問合せ前処理部720による変換方法は、第一の実施形態のデータ前処理部602による変換方法と同じである。最後に、問合せ前処理部720は、ステップS203において、今後の処理に備えて、ダーティデータをクリーニングし、データを正規化する。
【0063】
入力されたクエリテーブルの各集合について(ステップS2031)、ステップS2032において、候補選択部7012は、支配関係構造記憶部606にしたがって、支配関係の最大数のコスト関数においてグリーディ法で、グループ構造記憶部605からグループ構造を持つインデックス化された集合の候補を選択する。すなわち、候補選択部7012は、支配関係で支配される集合が多い集合を検索候補として優先的に選択する。
【0064】
ステップS2033において、結合処理部7010は、選択された集合Rが問合せ集合Qに結合可能であるか否かを判定する。具体的には、結合処理部7010は、集合類似度関数Fの値が設定された類似度の閾値Tsetを超えているか否かを確認することにより、結合可能性を判定する。
【0065】
結合処理部7010は、グループ構造Gに応じて、一致するセルの数の下限値を算出してもよい。具体的には、結合処理部7010は、クエリテーブルの集合Qの要素である各セルq(以下、第1セルと記載する場合がある)について、qをG内の対応するグループに対応付けようとする。これは、qをカバーできるグループがG内に存在するかどうかを調べることを意味する。
【0066】
qがGの要素であるグループgに対応付けられる場合、gに含まれるセルの数(以下、第2セルと記載する場合がある)は、セルqと集合Qとの間の一致数の下限値である。したがって、結合処理部7010は、Qの要素であるすべてのセルsの下限値を合計することにより、QとRとの間の一致した組のセルの下限値を算出してもよい。
【0067】
以上のように、結合処理部7010は、分割されたクエリテーブルの列に含まれる第1セルと、第1セルに類似するセルを含むグループに含まれる第2セルとの組の数(つまり、下限値)が、所定の閾値(つまり、設定された類似度の閾値Tset)を超える集合を含むソーステーブルを検索する。これにより、セルを1つずつ比較する場合に比べて、処理時間を短縮することができる。
【0068】
図7は、一致した組の対のセルの下限を算出する処理の例を示す説明図である。図7に示す例では、集合Qは、位置を示す集合とする。まず、結合処理部7010は、集合Qのセルを、Xに対応するグループに関連付ける(すなわち、セルの類似度が設定された類似度の閾値Tset以下である)。図7に示す例では、グループAには1つのセルが、グループBには1つのセルが、グループCには2つのセルが、グループDには1つのセルがそれぞれ割り当てられているものとする。
【0069】
次に、結合処理部7010は、QとXとの間で一致した組の対のセルの下限値を算出する。Xでは、2つのセルがグループAに分類され、2つのセルがグループBに分類され、1つのセルがグループCに分類されているものとする。このとき、結合処理部7010は、一致した組の対のセルの下限値を1*2+1*2+2*1=6と算出する。
【0070】
結合処理部7010は、グループ構造Gに応じて、一致したセルの数の上限を計算してもよい。具体的には、セルqをGの対応するグループにマッピングする際に、qは、マッピングされたグループに近いグループのセルも一致する可能性がある。したがって、これらの近いグループに含まれるセル数は、上限を形成することができる。そして、結合処理部7010は、Qの要素であるすべてのセルsの上限値を合計することにより、QとRの間の一致した組の対のセルの上限を計算してもよい。
【0071】
ステップS2033では、結合処理部7010でQとRの上限を計算する際に、Qの要素であるqのセルがGの対応する任意のグループにマッピングできない場合、qがRの任意のセルに一致できないことを意味する。結合処理部7010は、この種の一致しないセルの数をカウントしてもよい。この数を用いて、集合類似度関数Fに従って、QとRが結合不可能であると判定することができる。
【0072】
なお、ステップS2034において、結合処理部7010は、Tsetとの一致数の下限を確認することで、QとRを結合可能と判定してもよい。結合処理部7010は、Tsetとの上限を確認することやTsetと一致しないセルの数を確認することで、QとRを結合不可能と判定してもよい。例えば、図7に示す処理では、Tsetが5に設定されているものとする。この場合、下限値はTset以上である。そのため、結合処理部7010は、QとXを結合可能と判定してもよい。
【0073】
なお、S2034でQとRが接合可能または接合不可能と判定できない場合(S2024における「不明」)、結合処理部7010は、データ検証部702による今後の検証処理のために、それらを内部結果記憶部7013に記憶されている検証リストに追加してもよい。
【0074】
一方、S2034でQとRが結合可能か否かを判定できた場合(S2024におけるYES)、すなわち、現在の集合Rが結合可能か否かが判定された場合には、プルーニング処理部7011は、支配関係構造記憶部606に記憶された支配関係に従って、他の候補集合をさらにプルーニングを行う。
【0075】
具体的には、Rが結合可能と判定された場合、プルーニング処理部7011は、Rの大きな支配関係を支配関係構造記憶部606から取得する。プルーニング処理部7011は、この大きな支配関係に含まれる全ての集合を結合可能と判定し、プルーニングを行う。Rが結合可能でないと判定された場合、プルーニング処理部7011は、支配関係構造記憶部606からRの小さな支配関係を取得する。プルーニング処理部7011は、この小さな支配関係に含まれる全ての集合を、結合可能でなく、プルーニングされたものとして判定する。
【0076】
さらに、ステップS2036において、QとRが不一致のセルにより結合不可能と定義された場合、プルーニング処理部7011は、Rの空の支配関係を支配関係構造記憶部606から取得する。プルーニング処理部7011は、この空の支配関係に含まれる全ての集合を結合不可能と判断し、プルーニングを行う。
【0077】
このようにして、プルーニング処理部7011は、支配関係によって支配されている列を抽出し、結合処理部7010は、抽出された列を検索候補から除外する。したがって、全体の検索を高速化することができる。
【0078】
ステップS204では、データ検証部702は、内部結果記憶部7013の検証リストを検証する。データ検証部702は、下限または上限(組の数)を用いてソーステーブルを検証してもよい。例えば、データ検証部702は、検証リストから下限が閾値(所定の範囲内にある)に近い集合を候補として抽出し、その候補が結合可能か結合不可能かを検証してもよい。なお、検証方法は任意である。これにより、より多くの結合可能な集合を選択することが可能になる。
【0079】
ステップS205において、検索結果出力部730は、ステップS203およびステップS204における結合可能なテーブルの結果をまとめて出力する。
【0080】
以上のように、本実施形態によれば、問合せ入力部710は、各ソーステーブルの列ごとに生成された類似セルのグループを類似度関数fを用いて入力し、データフィルタリング部701(結合処理部7010)は、組の数が所定の閾値(設定された類似度の閾値Tset)を超える集合を含むソーステーブルを検索する。したがって、大規模なテーブルソースの実数データに対して、類似度結合により結合可能なテーブルを短い処理時間で検索することができる。
【0081】
実施形態3.
次に、本発明の第三の実施形態について説明する。本発明の第三の実施形態として、データ可視化システムを説明する。データ可視化システムは、結合グラフを可視化する(例えば、表示する)システムである。結合グラフは、複数のテーブル間の結合可能な関係を表わすためのグラフ構造である。結合グラフにおいて、ノードはテーブルを表し、2つのテーブル間のエッジは、それらが結合可能であることを表す。結合グラフは、複数のテーブルのつながりを表わすもので、多くのデータ分析手法に利用されている。
【0082】
図8は、本発明によるデータ可視化システムの一実施形態の構成例を示すブロック図である。本実施形態のデータ可視化システム200は、データインデックス部600と、グラフ生成部800とを含む。データインデックス部600は、第一の実施形態と同様である。
【0083】
なお、本実施形態の単一のグラフ生成部800は、データ可視化システム200として実現されてもよい。例えば、グループ構造や支配関係が既に生成されている場合には、データ可視化システム200としてのグラフ生成部800は、これらの情報を外部記憶装置(図示せず)から取得して、後述する処理を行ってもよい。この場合、グラフ生成部800は、グラフ生成装置と呼ぶことができる。
【0084】
本実施形態による単一のグラフ生成部800は、パラメータ入力部810と、データフィルタリング部701と、データ検証部702と、結合グラフ処理部801と、結合グラフ表示部802とを含む。データフィルタリング部701およびデータ検証部702は、第二の実施形態と同様である。
【0085】
結合グラフ処理部801は、データ可視化システム200の一部または全部のテーブルについて、結合グラフを生成する。結合グラフ表示部802は、結合グラフを表示する。
【0086】
パラメータ入力部810と、データフィルタリング部701(より具体的には、結合処理部7010と、プルーニング処理部7011と、候補選択部7012)と、データ検証部702と、結合グラフ処理部801と、結合グラフ表示部802とは、プログラム(データ検索プログラム)に従って動作するコンピュータのCPUによって実現される。
【0087】
以下、各部の内容を具体的に説明する。
【0088】
図9は、グラフ生成部800のデータ可視化処理の例を示すフローチャートである。ステップS301において、パラメータ入力部810は、設定された類似度の閾値Tsetと、結合グラフを可視化する条件を取得する。
【0089】
各インデックス付きテーブルRについて(ステップS302)、データフィルタリング部701およびデータ検証部702は、Rに対する結合可能なテーブルを検索する(ステップS303、ステップS304)。ステップS305において、結合グラフ処理部801は、一部または全部のインデックス付きテーブルの結合可能なテーブルの情報に従って、結合グラフを生成する。ステップS306において、結合グラフ表示部802は、結合グラフを出力し、結合グラフを表示する。
【0090】
以上のように、本実施形態によれば、グラフ生成部800は、データインデックス部600が生成したグループを用いて、複数のテーブル間の結合可能な関係を表す結合グラフを可視化する。したがって、テーブルの結合グラフを効率的に生成し、ユーザの要求に応じて結合グラフを表示することが可能となる。
【0091】
次に、本発明の概要を説明する。図10は、本発明によるデータ検索システムの概要を示すブロック図である。クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索システム10(例えば、データ検索システム100)は、ソーステーブルのデータを管理するデータインデックス部80(例えば、データインデックス部600)と、クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索部90(例えば、データ検索部700)とを含む。
【0092】
データインデックス部80は、ソーステーブルを集合のコレクションに分割し、分割された集合ごとに、セルの類似度を計算する類似度関数(例えば、類似度関数f)を用いて、その集合に含まれる類似セルのグループを生成するグループインデックス部81(例えば、グループインデックス部603)を含む。
【0093】
データ検索部90は、分割されたクエリテーブルの集合に含まれる第1セルと、その第1セルに類似するセルを含む上記グループに含まれる第2セルとの組の数(例えば、下限)が所定の閾値(例えば、設定された類似度閾値Tset)を超える集合を含むソーステーブルを検索するデータフィルタリング部91(例えば、データフィルタリング部701、結合処理部7010)を含む。
【0094】
そのような構成により、大規模なソーステーブルから類似度結合により結合可能なテーブルを短い処理時間で検索することができる。
【0095】
さらに、データインデックス部80は、各集合のグループのそれぞれに含まれるセル数の大小関係に基づいて定義される関係であって、セル数が多いグループを含む集合が、セル数が少ない同じグループを含む集合を支配するという関係を示す支配関係を抽出する支配関係抽出部(例えば、支配関係インデックス部604)をさらに含み、データフィルタリング部91は、支配関係によって支配されている集合がより多く存在する集合を検索候補として優先的に選択してもよい。
【0096】
具体的には、データ検索部90は、支配関係によって支配されている集合を抽出するプルーニング処理部(例えば、プルーニング処理部7011)をさらに含み、データフィルタリング部91は、抽出された集合を検索候補から除外してもよい。
【0097】
さらに、データ検索システム10は、複数のテーブル間の結合可能な関係を表す結合グラフを可視化する可視化部(例えば、グラフ生成部800)をさらに含んでいてもよい。
【0098】
さらに、データ検索部90は、第1セルと第2セルとの組の数を用いてソーステーブルを検証するデータ検証部(例えば、データ検証部702)をさらに含んでいてもよい。
【0099】
さらに、データインデックス部80は、文字列データを含む集合を実数データに変換するデータ前処理部(例えば、データ前処理部602)をさらに含んでいてもよい。
【0100】
図11は、本発明によるデータ検索装置の概要を示すブロック図である。クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索装置70(例えば、データ検索部700)であって、データ検索装置は、セルの類似度を計算する類似度関数を用いて、各ソーステーブルの列ごとに生成された類似セルのグループを入力する入力部71(例えば、問合せ入力部710)と、分割されたクエリテーブルの集合に含まれる第1セルと、その第1セルに類似するセルを含むグループに含まれる第2セルとの組の数(例えば、下限)が所定の閾値(例えば、設定された類似度閾値Tset)を超える集合を含むソーステーブルを検索するデータフィルタリング部72(例えば、データフィルタリング部701、結合処理部7010)とを含む。
【0101】
そのような構成により、大規模なソーステーブルから類似度結合を有する結合可能なテーブルを短い処理時間で検索することができる。
【0102】
上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
【0103】
(付記1)クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索システムであって、
前記ソーステーブルのデータを管理するデータインデックス部と、
クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索部とを備え、
前記データインデックス部は、前記ソーステーブルを集合のコレクションに分割し、分割された集合ごとに、セルの類似度を計算する類似度関数を用いて、前記集合に含まれる類似セルのグループを生成するグループインデックス部を含み、
前記データ検索部は、分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索するデータフィルタリング部を含む
ことを特徴とするデータ検索システム。
【0104】
(付記2)前記データインデックス部は、前記集合のグループのそれぞれに含まれるセル数の大小関係に基づいて定義される関係であって、セル数が多いグループを含む集合が、セル数が少ない同じグループを含む集合を支配するという関係を示す支配関係を抽出する支配関係抽出部をさらに含み、
前記データフィルタリング部は、前記支配関係によって支配されている集合がより多く存在する集合を検索候補として優先的に選択する
付記1記載のデータ検索システム。
【0105】
(付記3)前記データ検索部は、前記支配関係によって支配されている集合を抽出するプルーニング処理部をさらに含み、
前記データフィルタリング部は、抽出された集合を前記検索候補から除外する
付記2記載のデータ検索システム。
【0106】
(付記4)複数のテーブル間の結合可能な関係を表す結合グラフを可視化する可視化部をさらに備える
付記1から付記3のうちのいずれか1つに記載のデータ検索システム。
【0107】
(付記5)前記データ検索部は、前記第1セルと前記第2セルとの組の数を用いて前記ソーステーブルを検証するデータ検証部をさらに含む
付記1から付記4のうちのいずれか1つに記載のデータ検索システム。
【0108】
(付記6)前記データインデックス部は、文字列データを含む集合を実数データに変換するデータ前処理部をさらに含む
付記1から付記5のうちのいずれか1つに記載のデータ検索システム。
【0109】
(付記7)クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索装置であって、
セルの類似度を計算する類似度関数を用いて、各ソーステーブルの列ごとに生成された類似セルのグループを入力する入力部と、
分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索するデータフィルタリング部とを含む
ことを特徴とするデータ検索装置。
【0110】
(付記8)クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索方法であって、
前記ソーステーブルを集合のコレクションに分割し、分割された集合ごとに、セルの類似度を計算する類似度関数を用いて、前記集合に含まれる類似セルのグループを生成し、
分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索する
ことを特徴とするデータ検索方法。
【0111】
(付記9)前記集合のグループのそれぞれに含まれるセル数の大小関係に基づいて定義される関係であって、セル数が多いグループを含む集合が、セル数が少ない同じグループを含む集合を支配するという関係を示す支配関係を抽出し、
前記支配関係によって支配されている集合がより多く存在する集合を検索候補として優先的に選択する
付記8に記載のデータ検索方法。
【0112】
(付記10)クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索方法であって、
セルの類似度を計算する類似度関数を用いて、各ソーステーブルの列ごとに生成された類似セルのグループを入力し、
分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索する
ことを特徴とするデータ検索方法。
【0113】
(付記11)クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索プログラムであって、
コンピュータに、
セルの類似度を計算する類似度関数を用いて、各ソーステーブルの列ごとに生成された類似セルのグループを入力する入力処理、および、
分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索するデータフィルタリング処理
を実行させるためのデータ検索プログラム。
【符号の説明】
【0114】
100 データ検索システム
200 データ可視化システム
600 データインデックス部
601 データ入力部
602 データ前処理部
603 グループインデックス部
604 支配関係インデックス部
605 グループ構造記憶部
606 支配関係構造記憶部
607 ソーステーブル記憶部
700 データ検索部
701 データフィルタリング部
7010 結合処理部
7011 プルーニング処理部
7012 候補選択部
7013 内部結果記憶部
702 データ検証部
710 問合せ入力部
720 問合せ前処理部
730 検索結果出力部
800 グラフ生成部
801 結合グラフ処理部
802 結合グラフ表示部
810 パラメータ入力部

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
【手続補正書】
【提出日】2022-03-17
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索システムであって、
前記ソーステーブルのデータを管理するデータインデックス部と、
クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索部とを備え、
前記データインデックス部は、前記ソーステーブルを集合のコレクションに分割し、分割された集合ごとに、セルの類似度を計算する類似度関数を用いて、前記集合に含まれる類似セルのグループを生成するグループインデックス部を含み、
前記データ検索部は、分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索するデータフィルタリング部を含む
ことを特徴とするデータ検索システム。
【請求項2】
前記データインデックス部は、前記集合のグループのそれぞれに含まれるセル数の大小関係に基づいて定義される関係であって、セル数が多いグループを含む集合が、セル数が少ない同じグループを含む集合を支配するという関係を示す支配関係を抽出する支配関係抽出部をさらに含み、
前記データフィルタリング部は、前記支配関係によって支配されている集合がより多く存在する集合を検索候補として優先的に選択する
請求項1記載のデータ検索システム。
【請求項3】
前記データ検索部は、前記支配関係によって支配されている集合を抽出するプルーニング処理部をさらに含み、
前記データフィルタリング部は、抽出された集合を前記検索候補から除外する
請求項2記載のデータ検索システム。
【請求項4】
複数のテーブル間の結合可能な関係を表す結合グラフを可視化する可視化部をさらに備える
請求項1から請求項3のうちのいずれか1項に記載のデータ検索システム。
【請求項5】
前記データ検索部は、前記第1セルと前記第2セルとの組の数を用いて前記ソーステーブルを検証するデータ検証部をさらに含む
請求項1から請求項4のうちのいずれか1項に記載のデータ検索システム。
【請求項6】
前記データインデックス部は、文字列データを含む集合を実数データに変換するデータ前処理部をさらに含む
請求項1から請求項5のうちのいずれか1項に記載のデータ検索システム。
【請求項7】
クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索装置であって、
セルの類似度を計算する類似度関数を用いて、各ソーステーブルの列ごとに生成された類似セルのグループを入力する入力部と、
分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索するデータフィルタリング部とを含む
ことを特徴とするデータ検索装置。
【請求項8】
クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索方法であって、
前記ソーステーブルを集合のコレクションに分割し、分割された集合ごとに、セルの類似度を計算する類似度関数を用いて、前記集合に含まれる類似セルのグループを生成し、
分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索する
ことを特徴とするデータ検索方法。
【請求項9】
クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索方法であって、
セルの類似度を計算する類似度関数を用いて、各ソーステーブルの列ごとに生成された類似セルのグループを入力し、
分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索する
ことを特徴とするデータ検索方法。
【請求項10】
クエリテーブルに対して結合可能なソーステーブルを検索するデータ検索プログラムであって、
コンピュータに、
セルの類似度を計算する類似度関数を用いて、各ソーステーブルの列ごとに生成された類似セルのグループを入力する入力処理、および、
分割されたクエリテーブルの集合に含まれる第1セルと、当該第1セルに類似するセルを含む前記グループに含まれる第2セルとの組の数が所定の閾値を超える集合を含むソーステーブルを検索するデータフィルタリング処理
を実行させるためのデータ検索プログラム。
【国際調査報告】