JP4814570B2 - あいまいな重複に強い検出器 - Google Patents

あいまいな重複に強い検出器 Download PDF

Info

Publication number
JP4814570B2
JP4814570B2 JP2005221802A JP2005221802A JP4814570B2 JP 4814570 B2 JP4814570 B2 JP 4814570B2 JP 2005221802 A JP2005221802 A JP 2005221802A JP 2005221802 A JP2005221802 A JP 2005221802A JP 4814570 B2 JP4814570 B2 JP 4814570B2
Authority
JP
Japan
Prior art keywords
tuples
tuple
ambiguous
data set
vicinity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005221802A
Other languages
English (en)
Other versions
JP2006072985A (ja
JP2006072985A5 (ja
Inventor
モトワニ ラジェフ
チャウドゥーリ スラジット
ガンティ ベンカテシュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006072985A publication Critical patent/JP2006072985A/ja
Publication of JP2006072985A5 publication Critical patent/JP2006072985A5/ja
Application granted granted Critical
Publication of JP4814570B2 publication Critical patent/JP4814570B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Circuits Of Receivers In General (AREA)

Description

本発明は、一般には、データベースおよびデータウェアハウスに関連する技術に関し、より詳細には、あいまいな重複に強い検出に関する。
データウェアハウスでの決定支援分析は、ビジネス上の重要な決定に影響を及ぼす。したがって、こうした分析の精度は重要である。しかし、データウェアハウスにおいて外部ソースから受信されるデータには、通常、エラー(例えば、つづり間違い、複数のデータソースにわたって一致しない規則など)を含む。こうしたエラーは、タプル(tuple)の重複のエントリをもたらすことが多い。したがって、データクリーニング、データ内のエラーの検出および訂正の作業にかなりの時間およびお金が費やされる。
データベースにおける重複するタプルの検出および削除の問題は、データクリーニングおよびデータ品質の広大な領域での重大な問題の1つである。論理的に同一である、実世界の実体が、データウェアハウスにおいて複数の表現を有することがあるのはよくあることである。
例えば、Isabelという名の顧客がSuperMegaMarketから2度製品を購入する場合、彼女の名前が2つの異なるレコード、[Isabel Christie,Seatle,WA,USA,98025]および[Christy Isabel,Seatle,WA,United States,98025]として現れるかもしれない。不一致は、データ入力のエラーおよび/またはデータを入力する営業担当者の好みのためであることがある。
Isabelなどの複数の顧客が複数のカタログを受け取ることがあるので、こうした重複の情報によって、ダイレクトメールのコストが大きく増加する傾向にある。厳しい予算のダイレクトメールのキャンペーンでは、こうしたエラーは、キャンペーンの成功と失敗との差であることがある。さらに、こうしたエラーは、不正確なクエリ結果(例えば、シアトルに何人のSuperMegaMarketの顧客がいるのかなど)を、誤った分析モデルの作成も同様にもたらすことがある。
別個のように見えるが、重複しているエントリをデータベースから取り除くことは、あいまいな重複の削除の問題(fuzzy duplicate elimination problem)である。本明細書では、「あいまいな重複」は、完全には一致しないが、同一の実世界の実体または現象を表す、別個のように見えるタプル(すなわち、レコード)である。
この問題は、すべての属性が完全に一致する場合にだけ2つのタプルを重複と見なす、標準的な完全重複の削除の問題とは異なる。文脈で明確に示さない限り、本明細書では以下、重複の検出および削除への言及は、あいまいな重複の削除の問題に焦中させることを仮定する。
あいまいな重複の削除に対する以前のソリューションを、監視する手法と監視しない手法に分類することができる。監視する手法では、周知の重複で構成された訓練データから、重複の対を特徴付ける規則を学習する。さらに、監視する手法は、訓練データが、実際に見られるエラーの種類および分布を示すことを仮定する。会話型の手動の指導を必要とする欠点を有する能動的な学習手法によって、限られた範囲で、述べられた問題のような、広範囲にわたる訓練データを取得することは、不可能ではないとしても困難である。実データの統合の多くのシナリオでは、適切な訓練データまたは会話型の手動の指導を取得することは不可能である。
監視しない手法による重複の削除の問題は、両方がデータ集合を分離したグループに分割しよう試みる点で、クラスタリングの問題に類似する。しかし、標準的なクラスタリングの定式化と重複の削除の問題との間には、いくつかの別個の違いがある。こうした違いについて以下で論じるであろう。
現在の監視しない手法は、こうした違いを無視しようとする傾向にあり、代わりに、複数属性のタプル間の標準的な逐語的な類似関数(例えば、編集距離およびコサイン距離などよく知られた単一結合のクラスタリング(single−linkage clustering)アルゴリズム)、および重複の対を検出するために閾値に基づく制約にたよる。しかし、こうした閾値に基づく手法は、多数の偽陽性(真の重複ではないが、そうであると予測されるタプル)、または多数の偽陰性(本当は重複であるが、そうであると見なされないタプル)に帰着する。
本明細書で説明する少なくとも1つの実装では、あいまいな重複を検出し、こうした重複を削除する。あいまいな重複は、データベースにおいて、同一の実世界の実体または現象を表す、別個のように見える複数のタプル(すなわち、レコード)である。
同様の要素および特徴を参照するために、すべての図面を通じて同一の参照符号を使用する。
以下の説明では、データベース内のあいまいな重複のタプルの検出および削除を円滑に行う技術について述べる。技術を、(限定はしないが)プログラムモジュール、汎用および専用のコンピューティングシステム、専用電子機器、および1つまたは複数のコンピュータネットワークの一部含む、多くの方法で実装することができる。
こうした技術の例示的実装を、「例示的あいまいな重複の検出器」と呼ぶことができ、以下で説明する。
例示的あいまいな重複の検出器は、あいまいな重複の削除の問題に向けられる。本明細書では、「あいまいな重複」は、完全には一致しないにもかかわらず同一の実世界の実体または現象を表す、別個のように見えるタプル(すなわち、レコード)である。あいまいな重複を検出および削除することは、あいまいな重複の削除の問題である。
(重複を特徴付ける基準)
あいまいな重複を検出する際に、例示的あいまいな重複の検出器は、従来技術の手法では使用されない少なくとも2つの新しい制約を用いる。特に、これらの2つの基準は、コンパクト集合(CS:compact set)および離散的な近傍(SN:sparse neighborhood)と呼ばれる。これらの2つ基準は、重複のタプルのグループを特徴付けるための、データの局所的な構造的な特性を明示的に獲得する。
CSおよびSNの基準は、以下の特性を獲得する。
・ グループ内の重複は、他よりも相互に「より近接」する。
・ 重複のタプルの「局所近傍」は、空または離散的である。
こうした基準を満たすタプルを、たとえ相互に遠く離れているとしても重複としてグループにすることができる一方、より近接するが、こうした基準を満たさないタプルは、グループにすることができない。こうした局所的な構造的な特性によって、標準的なクラスタリングの定式化と重複の削除の問題とを区別する。
Figure 0004814570
表1は、典型的な音楽データベースの例を提供する。(アスタリスク「*」でタグ付けされた)最初の6つのタプルは、重複のタプルである一方、残りのタプル(7〜14)は一意的である。
(コンパクト集合の基準)
コンパクト集合(CS)の基準は、重複の集合が、相互に最近隣(nearest neighbor)のコンパクト集合であることである。この基準の前提は、重複のタプルが、他の別個のタプルに対してよりも相互により近接することである。したがって、重複のタプルは通常、相互に最も近い近隣である。表1の例では、タプル1は、タプル2の最近隣であり、逆の場合も同様である。対照的に、タプル8は、タプル7の最近隣とすることができ、タプル9は、タプル8の最近隣とすることができる。
対照的に、単一結合のクラスタリングに基づく従来技術の閾値に基づく手法では、推移性(すなわち、「a]が「b]の重複であり、「b]が「c]の重複であるならば、「a]は「c]の重複である)を仮定し、閾値のグラフ内で連結された要素を識別する。したがって、閾値に基づく手法では、多数の偽陽性をもたらす可能性がより高い。
(離散的な近傍の基準)
離散的な近傍(SN)の基準の前提は、重複のグループの局所近傍が離散的であることである。例えば、この基準は、表1の一意的なタプル7〜14の周辺では満たさず、重複の集合よりも大きい(この例では、4つの)グループで生じる。
ひとつの見方から、タプルのグループの局所近傍とは、タプルの局所分布に依存する大きさの周囲の領域に関して定義された、じかに接している近接である。例えば、それは、半径2・nn(v)の領域とすることができ、ただし、nn(v)は、タプルvの最近隣への距離である。
タプルの周辺の拡張比、すなわち、領域の外にあるタプルの数が小さい場合は、その局所近傍は「離散的」と呼ばれる。この概念は、タプルのグループに拡張され、個々のタプルの拡張比の総計が小さい(例えば、閾値cより小さい)場合は、その結合された局所近傍は、「離散的」と呼ばれる。例えば、総計の関数の最大値は、グループ内のすべてのタプルの近傍の値が閾値よりも小さいことを必要とするが、関数の平均値は、すべての拡張比の平均値が小さいことだけを必要とする。最大値の関数は、平均値の関数よりも制約が大きい。
(基準の形式化)
以下の定義では、Rをリレーション(すなわち、データ集合)とし、またd:R x R→[0,1]をR内のタプルに関する対称の距離関数とする。分かりやすく説明するために、以下、(i)2つのタプル間の距離は、タプルがまったく同一である場合にだけ0であり、および(ii)R内にある2つのタプルは、相互に同一ではないと仮定する。この仮定の妥当性を、タプルが完全に同一である場合には0を返すように、およびそうではない場合には、小さいε>0に対して、d(v1,v2)+εを返すように、dを修正することによって確保する。
CSの基準:Rからのタプルの集合Sは、Sのすべてのタプルvに対して、vとSの他のタプルv’との間の距離d(v,v’)が、vとR−Sの他のタプルv”との間の距離d(v,v”)より小さい場合には、コンパクト集合である。
SNの基準:タプルvに対して、2つの同心球を考える。小さい方の球は、半径が、vとその最近隣との間の距離nn(v)であり、、大きい方の球は、半径がg(nn(v))(>nn(v))である。ここでは、g(x)=2xを使用する。近傍の拡張比ng(v)は、vの周辺の大きい方の球内の点の数である。
AGG:2R→Rを総計の関数とし、c(>0)を定数とする。(i)|S|=1、または(ii)Sのすべてのタプルの近傍の拡張比の総計された値がcより小さい(すなわち、AGG({ng(v):v in S})<c)である場合、タプルSの集合は、SN(AGG,c)のグループであると言う。
SG(小さいグループ)の基準:考慮することができる重複のグループの別の特徴は、それが通常、非常に小さいことである。予め定義された定数K>1に対して、|G|≦Kが成り立つならば、重複のグループGは小さい。グループのカーディナリティ(すなわち、メンバの数)が小さいので、これを、「小さいカーディナリティ」の基準とも呼ぶことができる。
(例示的あいまいな重複の検出器)
一般に、例示的あいまいな重複の検出器は、入力されたリレーションR(例えば、データベースのデータ集合など)を最小数の「妥当」なグループに分割し、ただし、グループは、最小数が小さく、ならびにCSおよびSNの基準を満たす場合に、妥当である。
例示的あいまいな重複の検出器の文脈では、これは、重複の削除(DE:Duplicate Elimination)の問題である。すなわち、リレーションR、距離関数d、正の整数K(>1)、総計の関数AGG、および正の実数cを所与とすると、例示的あいまいな重複の検出器は、1≦i≦mを満たすすべてのiに対して、以下のようになるよう、リレーションRを最小数のグループ{G1,...,Gm}に分割する。
・ |Gi|≦K
・ Giはコンパクト集合である
・ GiはSN(AGG,c)のグループである。
図1に、あいまいな重複の検出および削除(FDDE:fuzzy duplicate detection and elimination)システム100を例示する。例示的あいまいな重複の検出器を、本明細書で説明するFDDEシステム100によって実装することができる。FDDEシステム100の構成要素を、ソフトウェア、ハードウェア、または両方の組合せで実装することができる。一般に、FDDEシステム100により、最近隣の集合が等しいタプルの対を決定し、対の均等をタプルのグループに拡張する。
FDDEシステム100は、サーバまたはクライアントの一部とすることができる。このFDDEシステム100は、汎用コンピュータ、専用コンピュータ、ポータブルコンピュータ、携帯情報端末(PDA:personal digital assistant)、アプライアンス製品、専用電子機器、またはデータベースを管理することができる他のこうしたコンピューティングおよび電子装置上で実装することができる。
FDDEシステム100の構成要素を、図1の破線内に示す。説明するシステム100には、データ集合取得サブシステム110、最近隣計算サブシステム120、分割サブシステム130および重複削除サブシステム140を含む。
システム100は、(例えば、直接接続を介して、またはインターネットなどのネットワークを介して)データウェアハウスサーバ160に結合される。こうしたサーバ160上に、データベース170がある。システム100およびデータベース170は、同一のコンピューティング装置(サーバ160など)内または複数の装置にわたって属することができる。
このシステム100では、取得サブシステム110は、データベース170からデータ集合を取得する。このデータ集合は、システム100の動作の対象である。このデータ集合を、「リレーション」および/または単に「R」と呼ぶこともできる。こうした取得の例には、タプルの集合を含むデータパケットを受信すること、タプルを含む格納されたファイルへのアクセスすること、および/またはクエリを送信し、そのクエリの結果を受信することが含まれる。
最近隣計算サブシステム120は、取得したリレーションのあらゆるタプルのK最近隣を決定する。最近隣計算サブシステム120は、索引を生成するか、または以下のクエリについての効率的な回答を考慮する既存の索引を使用する。すなわち、リレーションRの所与のタプルvに対して、vのK最近隣をメモリに読み出す。
リレーションRの各タプルに対して、最近隣計算サブシステム120は、vの最も近いK個の近隣、およびvの近傍の拡張比を決定する。このサブシステムの出力は、リレーションNN_Reln[ID,ID1,...,IDK,NG]、ただし、ID1,...,IDKは、識別子IDおよび近傍の拡張比NGを有する、タプルvのK最近隣の識別子である。K最近隣をメモリに読み出し、および近傍の拡張比を計算するために使用することができる索引を所与とすると、このサブシステムは、入力されたリレーションRを精査し、およびRの各タプルvに対して、索引を検索し、タプル[v、vl,...,vK,ng(v)]を出力に書き込む。
分割サブシステム130は、リレーションを最小数の妥当な重複のグループに分割する。少なくとも1つの実装では、このサブシステムは、標準的なデータベース(例えば、SQLなど)のクエリを使用する。このようにして、分割サブシステム130は、データベースシステムの効率的なクエリ処理能力を利用して、結果として、クライアントとサーバとの間で大量のデータが移動することを回避する。
分割サブシステム130は、第1フェーズの出力を使用して、入力されたリレーションを最小数のSNのコンパクト集合に分割する。結果としての分割は、DE問題の解答である。
分割サブシステムによるあいまいな重複の識別に基づいて、重複削除サブシステム140は、余分な重複のタプルを取り除くことによってデータベースのクリーンアップを行う。このサブシステムはデータベース170を修正することにより、識別された重複を取り除く。
(索引の検索の順序)
次に、最近隣計算サブシステム120の動作に関する追加の詳細を説明する。特に、ここでは、索引をアクセスする順序についてが中心である。
通常、K最近隣をメモリに読み出すために使用される索引構造は、ディスクベースである。換言すると、索引構造は、高速アクセス可能な主メモリ(例えば、ランダムアクセスメモリなど)に格納されたデータではなく、より遅い補助記憶システム(例えば、ハードディスクなど)に格納されたデータにアクセスする。
ディスクベースの最近隣の索引を一般的に用いて検索される連続したタプルが相互に近い場合、検索手順は、索引の同一の部分にアクセスする可能性が高い。したがって、第2の検索は、第1の検索から利益を得る。これは、バッファのヒット率および全体的な実行時間を大きく改善する。例示的あいまいな重複の検出器は、効率的に実行することができる検索の順序を使用する。
表1の例示的タプルを考察する。システムがRのタプルの最近隣を検索する順番が1、12、5などであると仮定する。タプル1(「The Doors,LA Woman」)の最近隣をメモリに読み出すために、索引を付ける手順は、索引の一部にアクセスし、および処理において、データベースのバッファの中で索引の一部をキャッシュに保持する。タプル12(「Aliyah,Are you ready」)の最近隣の同様の検索では、タプル12がタプル1から非常に離れているので、索引の完全に異なる部分にアクセスするであろう。あるいはまた、タプル1の処理後にタプル2(Doors,LA Woman」)の最近隣を検索する場合、システムは、索引のほぼ同一の部分を使用する。したがって、システムは、データベースのバッファ内に索引の一部が既にあるという利益を利用することができる。
例示的あいまいな重複の検出器は、幅優先(BF:breadth first)順を採用する。幅優先順は、適切な検索順序の2つの特性を満たす。すなわち、第1に、順序内のタプルの直前のタプルはそれに近くなければならない。第2に、入力されたタプルの順序付けの手順は効率的でなければならない。
順序は、以下のように構成された木Tの幅優先の巡回に対応する。すなわち、入力されたタプルは、木の根になるように選択される。木のノードの子は、まだ木の中にまだ挿入されていないK最近隣である。例示的あいまいな重複の検出器は、実際には、こうした木を構築する必要はないが、適切な順序で単に入力されたタプルをメモリに読み出すことに留意されたい。
BF順の各タプル(根を除く)の前に、そのタプルの兄弟または親の兄弟の子が常に先行する。こうしたタプルは、任意のタプルの対よりも相互に非常に近い。したがって、検索の順序のすべてのタプルの前に、そのタプルに非常に近いタプルが先行する。したがって、検索アルゴリズムは、局所的な索引にアクセスさせる。
入力されたタプルの各々の検索に対して、そのタプルのK最近隣のタプルが目盛りに読み出される。したがって、BF順でタプルに出くわすと、システムは、そのタプルの親のタプルが検索された場合にそれを既にメモリに読み出している。したがって、データベースのバッファは、タプルを既にキャッシュに保持している。システムは、メモリが許せば、こうしたタプルを明示的にキャッシュに保持するか、または最近のアクセスをバッファに保存するためにデータベースシステムを当てにすることができる。
本発明では、最近隣の索引の参照は、正確なまたは確率的な最近隣の索引を使用することを意図する。当事業者は、標準的な距離関数(例えば、コサイン距離、編集距離、およびあいまいに合致する類似度など)に基づく近似および確率を使用する多くの従来技術の索引について精通している。
(手順の実行)
図2に、FDDEシステム100の手順の実行を示す。この手順の実行を、ソフトウェア、ハードウェア、またはその両方の組合せで実行することができる。理解しやすいように、方法のステップを、別個のステップとして概説するが、しかし、これらの別個のステップは、実行において必ずしも順序に依存するとして解釈しない。
例示するために、この手順の実行の説明では、特定の例への適用を説明する。この例では、グループ{10,50,100,150}がSNのコンパクト集合を形成する。各タプルの近傍の拡張比(NG:nearest growth)の値に加えて、対{10,50}、{10,100}、{10,150}の4最近隣の集合がすべて等しいことが分かることで十分である。対の均等、および集合の均等の推移性から、グループ{10,50,100,150}がコンパクト集合であることを推定することができる。
図2の212では、FDDEシステム100は、データベース170からデータ集合(すなわち、リレーション)を取得する。
214では、FDDEシステム100は、取得されたリレーションのすべてのタプルのK最近隣を計算する。K最近隣を計算するために、既存の索引を使用するまたは索引自体を生成することがある。
ブロック214の一環として、FDDEシステム100は、タプルの対間で異なるサイズの近隣の集合の均等を計算する。すなわち、タプルの対(10、100)に対して、システムは、2最近隣の集合、3最近隣の集合、などK最近隣の集合までが等しいかどうかを決定する。タプルv1とv2との間のこうした比較によって、以下のブール検索の結果CS2,...,CSKが、近傍の拡張比ng(v1)およびng(v2)といっしょにもたらされる。値CSi(2≦i≦K)は、v1およびv2のi近隣の集合が等しいかどうかを示す。結果を、一時的なリレーションのCSの対内に格納することができる。
さらにブロック214の一環として、FDDEシステム100は、CSの対のリレーションを計算するために、第1フェーズの出力(NN_Reln)に対するデータベースのクエリ(例えば、(選択するならば)SQLのクエリなど)を発行することができる。クエリには、タプルのNN_Reln1.IDがNN_Reln2.IDより小さく、およびタプルNN_Reln1.IDがNN_Reln2.IDのK最近隣の集合内に存在し、逆の場合も同様であるという属性によって、NN_Reln(例えば、NN_Reln1,NN_Reln2からなど)の自己結合を含む。
選択された列リストは、以下の2つの部分を有する。(i)NN_Reln1.ID,NN_Reln2.ID,NN_Reln1.NG,NN_Reln2.NG、および(ii)2とKとの間にあるjに対して、NN_Reln1.IDのj最近隣の集合がNN_Reln2.IDのj最近隣の集合に等しい場合、1を返すcase文。このクエリは、標準的なSQLを用いて表現され、およびデータベースサーバでの計算のすべてを実行することができることに留意されたい。
216では、FDDEシステム100は、リレーションを最小数の妥当な重複のグループに分割する。結果の妥当な重複のグループは、以下の各基準を満たす。
・ |Gi|≦K
・ Giはコンパクト集合である
・ GiはSN(AGG,c)のグループである。
ブロック216の一環として、FDDEシステム100は、タプルの対の近隣の集合間の均等をタプルの集合に拡張し、および近隣の集合がコンパクトであって、かつSN基準を満たすかどうかを決定する。表2では、タプルの対(10,50)、(10,100)および(10,150)の4近隣の集合は、等しく、したがって、サイズ4のコンパクト集合を形成する。集合{10,50,100,150}を、(i)このグループの総計のSNの値が閾値cより小さいこと、および(ii)このグループがより大きなコンパクトのSNのグループに拡張することができないことを与えられた、重複のグループとして出力することができる。集合の均等は推移的であるので、対(50,100)、(50,150)などの4近隣の集合が等しいかどうかに関する明示的な検査はない。
Figure 0004814570
FDDEシステム100は、以下のCSのグループのクエリを発行することによって、CSの対のリレーション(ブロック214の出力)を処理する。すなわち、「IDによってCSの対の順序から*を選択」して、タプルvとvの近隣v’との間のすべての近隣の集合の比較した結果をグループにする。ただし、v.ID<v’.IDである。CSのグループのクエリの結果において、各SNのコンパクト集合Gを、G内の最小IDを有するタプルのもとでいっしょにグループにするであろうことに留意されたい。
FDDEシステム100は、CSのグループのクエリ結果内のタプルの各グループQ[ID=v](同一のIDで識別される)を処理する。タプルのグループQ[ID=v]に対して、vがSNのコンパクト集合に属するとして既に識別されていない場合、システムは、vが属すことのできる(1より大きいサイズの)自明でない最大のSNのコンパクト集合Gvを決定する。この集合を、単にグループQ[ID=v]から識別することができる。システムは、集合Gvを出力し、およびコンパクト集合への割当てを示すために、Gvの各タプルを選び出す。例えば、タプル10に対する集合は、{10,50,100,150}である。集合{10,50,100,150}が出力され、および再び処理されないように、妥当なSNのコンパクト集合に属するとして、タプルの識別子10、50、100、150を選び出す。
218では、FDDEシステム100は、余分な重複のタプルを削除することによって、データベース170にクリーンアップを行う。ただし、こうした重複のタプルの識別は、ブロック216の結果に基づく。
(他の実装の詳細)
例示的あいまいな重複の検出器によって提供されるあいまいな重複の削除の問題へのソリューションは、既存の従来技術の手法よりも、より正確およびより効率的である。このソリューションは、距離関数の尺度がタプルの局所的な構造的な特性に強い影響を与えるよう尺度に関し不変である。このソリューションは、重複のグループのタプル間の距離の縮小、および限られた方法においてグループをわたるタプル間の距離の拡大によってのみ、分割を変更することができるという点で、分割/結合に関し不変である。このソリューションは、重複の削除の関数の範囲によって実際に有用であろう、グループにすることのすべてを行うような、制約の多い豊かさを有する。
少なくとも1つの実装では、ユーザは、離散的な近傍の閾値cを指定しなければならない。しかし、この計算は、自動的に行うことができ、または閾値cの計算においてユーザに援助をすることができる。
(例示的コンピューティングシステムおよび環境)
図3に、本明細書で説明する、例示的あいまいな重複の検出器を(全体か部分的にか)実装することができる適切なコンピューティング環境300の一例を例示する。コンピューティング環境300を、本明細書で説明するコンピュータおよびネットワークアーキテクチャにおいて使用することができる。
例示的コンピューティング環境300は、コンピューティング環境の一例にすぎず、コンピュータおよびネットワークアーキテクチャの使用または機能の範囲に関する制限を示唆する意図はない。コンピューティング環境300は、例示的コンピューティング環境300内に例示される構成要素のいずれか1つまたは組合せに関するいずれかの依存関係または要件を有すると解釈すべきでない。
例示的あいまいな重複の検出器を、複数の他の汎用または専用のコンピューティングシステム環境または構成において実装することができる。使用に適することができよう周知のコンピューティングシステム、環境および/または構成の例には、限定はしないが、パーソナルコンピュータ、サーバコンピュータ、シンクライアント、シッククライアント、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサに基づくシステム、セットトップボックス、携帯情報端末(PDA)、アプライアンス、専用の電子機器(DVDプレーヤなど)、プログラム可能な家庭要電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記システムまたは装置のいずれかを含む分散コンピューティング環境などが含まれる。
例示的あいまいな重複の検出器は、コンピュータによって実行されるプログラムモジュールなどのプロセッサ実行可能命令の一般的な文脈において説明することができる。一般に、プログラムモジュールには、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造体などを含む。例示的あいまいな重複の検出器を、通信ネットワークを介してリンクされたリモート処理装置によってタスクが実行される分散コンピューティング環境内で実践することもできる。分散コンピューティング環境では、プログラムモジュールを、メモリ記憶装置を含むローカルとリモートとの両方のコンピュータ記憶媒体内に配置することができる。
コンピューティング環境300には、コンピュータ302の形式の汎用コンピューティング装置を含む。コンピュータ302の構成要素には、限定はしないが、1つまたは複数のプロセッサまたは処理装置304、システムメモリ306、およびプロセッサ304を含む種々のシステム構成要素をシステムメモリ306に結合するシステムバス308を含む。
システムバス308は、メモリバスまたはメモリコントローラ、周辺バス、グラフィックスアクセラレータのポート、およびバスアーキテクチャの種類のいずれかを用いたプロセッサまたはローカルバスを含めて、バス構造のいくつかの種類のいずれかの1つまたは複数を表す。例として、こうしたアーキテクチャには、カードバス、パーソナルコンピュータメモリカード国際協会(PCMCIA:Personal Computer Memory Card International Association)、アクセラレイテッドグラフィックポート(AGP:Accelerated graphics port)、小型コンピュータシステムインターフェース(SCSI:Small Computer System Interface)、ユニバーサルシリアルバス(USB:Universal Serial Bus)、IEEE1394、ビデオ電子規格協会(VESA:Video Electronics Standards Association)のローカルバス、およびメザニンバスとも呼ばれる周辺コンポーネント相互接続(PCI:Peripheral Component Interconnects)バスを含むことができる。
コンピュータ302には、通常、プロセッサ読取可能な媒体の種類を含む。こうした媒体を、コンピュータ302によってアクセス可能であり、および揮発性と不揮発性との両方の、取り外し可能と固定との両方の媒体を含む、あらゆる使用可能な媒体とすることができ。
システムメモリ306には、ランダムアクセスメモリ(RAM:random access memory)310などの揮発性および/または読出し専用メモリ(ROM:read only memory)312などの不揮発性の形式のコンピュータ読取可能な媒体を含む。起動中などにコンピュータ302内の要素間で情報の転送を助ける基本ルーチンを含む基本入出力システム(BIOS:basic input/output system)314は、ROM312に格納される。RAM310は、通常、処理装置304によって即時的にアクセス可能および/または現在、動作を受けるデータおよび/またはプログラムモジュールを含む。
コンピュータ302には、他の取外し可能/固定の、揮発性/不揮発性のコンピュータ記憶媒体をも含むことができる。例として、図3に、固定の不揮発性の磁気媒体(図示せず)に対する読み出しおよび書き込みを行うためのハードディスクドライブ316、取外し可能な不揮発性の磁気ディスク320(例えば、「フロッピー(登録商標)ディスク」など)に対する読み出しおよび書き込みを行うための磁気ディスクドライブ318、ならびにCD−ROM、DVD−ROMまたは他の光媒体などの取外し可能な不揮発性の光ディスク324に対する読み出しおよび/または書き込みを行うための光ディスクドライブ322を例示する。ハードディスクドライブ316、磁気ディスクドライブ318および光ディスクドライブ322は、各々、1つまたは複数のデータメディアインターフェース325によってシステムバス308に接続される。あるいはまた、ハードディスクドライブ316、磁気ディスクドライブ318および光ディスクドライブ322を、1つまたは複数のインターフェース(図示せず)によってシステムバス308に接続することができる。
ディスクドライブおよびディスクドライブに関連付けられたプロセッサ読取可能な媒体によって、コンピュータ読取り可能命令、データ構造体、プログラムモジュール、およびコンピュータ302のための他のデータの不揮発性の記憶装置を提供する。例には、ハードディスク316、取外し可能磁気ディスク320、および取外し可能光ディスク324を例示するが、磁気カセットまたは他の磁気記憶装置、フラッシュメモリカード、CD−ROM、デジタル多用途ディスク(DVD:digital versatile disk)または他の光記憶装置、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、電気的消去可能なプログラム可能な読出し専用メモリ(EEPROM:electrically erasable programmable read−only memory)など、コンピュータによってアクセス可能なデータを格納することができる他の種類のプロセッサ読取可能な媒体を使用して、例示的コンピューティングシステムおよび環境を実装することもできることを理解されたい。
あらゆる数のプログラムモジュールを、例えば、オペレーティングシステム326、1つまたは複数のアプリケーションプログラム328、他のプログラムモジュール330およびプログラムデータ332を含む、ハードディスク316、磁気ディスク320、光ディスク324、ROM312および/またはRAM310上に格納することができる。
ユーザは、キーボード334、ポインティング装置336(例えば、「マウス」)などの入力装置によって、コンピュータ302にコマンドおよび情報を入力することができる。他の入力装置338(具体的には図示せず)には、マイク、ジョイスティック、ゲームパッド、パラボラアンテナ、シリアルポート、スキャナおよび/またはなどを含むことができる。これらのおよび他の入力装置を、システムバス308に結合された入出力インターフェース340によって処理装置304に接続するが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)など、他のインターフェースおよびバス構造によって接続することもできる。
モニタ342または他の種類の表示装置もまた、ビデオアダプタ344などのインターフェースをよってシステムバス308に接続することができる。他の出力周辺装置には、モニタ342に加えて、入出力インターフェース340によってコンピュータ302に接続することができる、スピーカ(図示せず)およびプリンタ346など構成要素を含むことができる。
コンピュータ302は、リモートコンピューティング装置348などの1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。例として、リモートコンピューティング装置348は、パーソナルコンピュータ、ポータブルコンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピアデバイス、または他の一般的なネットワークノードなどとすることができる。リモートコンピューティング装置348を、コンピュータ302に関して、本明細書で説明する要素および特徴の多くまたはすべてを含むことができるポータブルコンピュータとして例示する。
コンピュータ302とリモートコンピュータ348との間の論理接続を、ローカルエリアネットワーク(LAN:local area network)350、および一般的な広域ネットワーク(WAN:wide area network)352として表す。こうしたネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットでは一般的である。こうしたネットワーク環境は、有線または無線とすることができる。
LANのネットワーキング環境で実装する場合、コンピュータ302は、ネットワークインターフェースまたはアダプタ354を介してローカルネットワーク350に接続される。WANのネットワーキング環境で実装する場合、コンピュータ302には、通常、モデム356、または広域ネットワーク352上での通信を確立する他の手段を含む。コンピュータ302の内部または外部とすることができるモデム356を、入出力インターフェース340または他の適切な機構を介してシステムバス308に接続することができる。例示のネットワーク接続は例示的であり、コンピュータ302と348との間の通信リンクを確立する他の手段を使用することができることを理解されたい。
コンピューティング環境300で例示したようなネットワーク化された環境では、コンピュータ302またはその一部に関して表したプログラムモジュールを、リモートのメモリ記憶装置に格納することができる。例として、リモートのアプリケーションプログラム358は、リモートコンピュータ348のメモリ装置に属する。例示する目的のために、本明細書では、アプリケーションプログラム、およびオペレーティングシステムなどの他の実行可能なプログラムの構成要素を、別個のブロックとして例示するが、こうしたプログラムおよび構成要素は、種々の時点で、コンピューティング装置302の異なる記憶装置の構成要素内に属し、およびコンピュータのデータプロセッサによって実行されることが理解されよう。
(プロセッサ実行可能な命令)
例示的あいまいな重複の検出器の実装は、1つまたは複数のコンピュータまたは他の装置によって実行される、プログラムモジュールなどのプロセッサ実行可能な命令の一般的な文脈で説明することができる。プログラムモジュールには、一般に、特定のタスクを実行または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造体などを含む。プログラムモジュールの機能は、通常、種々の実装において所望のとおりに組み合わせまたは分散させることができる。
(例示的オペレーティング環境)
図3に、例示的あいまいな重複の検出器を実装することができる適切なオペレーティング環境300の一例を例示する。具体的には、本明細書で説明する例示的あいまいな重複の検出器を、図3のあらゆるプログラムモジュール328〜330および/もしくはオペレーティングシステム326、またはその一部によって(全体または部分的に)実装することができる。
オペレーティング環境は、適切なオペレーティング環境の一例にすぎず、本明細書で説明する例示的あいまいな重複の検出器の使用または機能の範囲に関する制限を示唆することを意図しない。使用に適した他の周知のコンピューティングシステム、環境および/または構成には、限定はしないが、パーソナルコンピュータ(PC:personal computer)、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサに基づくシステム、プログラム可能な家庭用電化製品、無線電話および装置、汎用および専用のアプライアンス、特定用途向け集積回路(ASIC:application−specific integrated circuit)、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上述のシステムまたは装置のいずれかを含む分散コンピューティング環境などが含まれる。
(プロセッサ読取可能な媒体)
例示的あいまいな重複の検出器の一実装を、何らかの形式のプロセッサ読取可能な媒体に対して格納するまたは送信することができる。プロセッサ読取可能な媒体は、コンピュータによってアクセスすることができるあらゆる使用可能な媒体とすることができる。例として、プロセッサ読取可能な媒体には、限定はしないが、「コンピュータ記憶媒体」および「通信媒体」を含むことができる。
「コンピュータ記憶媒体」には、コンピュータ読取可能な命令、データ構造体、プログラムモジュールまたは他のデータなどの情報を格納するための任意の方法または技術で実装された揮発性および不揮発性、取外し可能および固定の媒体を含む。コンピュータ記憶媒体には、限定はしないが、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を格納するために使用することができ、およびコンピュータによってアクセスすることができるあらゆる他の媒体が含まれる。
「通信媒体」には、通常、プロセッサ読取可能な命令、データ構造体、プログラムモジュール、または搬送波や他の転送機構などの変調されたデータ信号内の他のデータを含む。通信媒体は、あらゆる情報伝達媒体をも含む。
用語の「変調されたデータ信号」は、信号内の情報をエンコードする方法でその特性の1つまたは複数が設定されまたは変更された信号を意味する。例として、通信媒体には、限定はしないが、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、RF、赤外線、および他の無線媒体などの無線媒体を含むことができる。上述のいずれの組合せもまた、プロセッサ読取可能な媒体の範囲内に含まれる。
(結論)
上述の1つまたは複数の実装について、構造上の特徴および/または手順のステップに特有の言語で説明したが、説明した具体的な特徴またはステップなしに、他の実装が実践されることがあることを理解されたい。むしろ、具体的な特徴およびステップを、好ましい形式の1つまたは複数の実装として開示する。
本明細書で説明する実装のブロック図である。 本明細書で説明する手順の実装を示すフロー図である。 本明細書で説明する少なくとも1つの実施形態を(全体または部分的に)実装するのに適したコンピューティング・オペレーティング環境の一例の図である。
符号の説明
304 処理装置
306 システムメモリ
308 システムバス
325 データメディアインターフェース
326 オペレーティングシステム
328 アプリケーションプログラム
330 プログラムモジュール
332 プログラムデータ
334 キーボード
336 マウス
338 他の装置
340 I/Oインターフェース
342 モニタ
344 ビデオアダプタ
346 プリンタ
348 リモートコンピューティング装置
352 インターネット
354 ネットワークアダプタ
356 モデム
358 リモートアプリケーションプログラム

Claims (14)

  1. プロセッサに、
    データベースから複数のタプルを含むデータ集合を取得する動作(212)と、
    前記データ集合の前記複数のタプルの各々について、前記データ集合内の前記タプルに対して定義された距離関数を使用して前記データ集合内の定義された数の最近隣のタプルを計算する動作(214)と、
    各タプルについて最近隣のタプルの定義された数の組を近傍と定義する動作と、
    各近傍について近傍の拡張比を計算する動作であって、前記近傍の拡張比は前記近傍が定義されたタプルの周囲のスフェア中のタプル数であり、前記スフェアの半径は前記近傍が定義された前記タプルと最近隣の近傍との間の距離よりも大き動作と、
    複数のタプルの複数の分離した分割を各分割コンパクトの組及び離散的な近傍であること基づいて、定義する動作(216)であって
    こで、もしタプルの組中の各タプルに対して、前記タプルの組中のタプルと前記タプルの組中のその他のいずれのタプルとの間の距離が前記タプルの組中のタプルと前記タプルの組中の外のデータ集合内のその他のいずれのタプルとの間の距離よりも短ければ、前記データ集合内の前記タプルの組はコンパクトな組であり、
    し前記タプルの組中の全てのタプルの近傍の拡張比の集合された値が閾値よりも小さければ、前記タプルの組は離散的な近傍のグループであり、
    分割内のタプルが相互のあいまいな重複を含み、分割内の各あいまいな重複のタプルが共通の実世界の実体または現象を表す、動作と、
    前記分割の各々によって1つの重複しないタプルが残るよう、前記複数のあいまいな重複のタプルの複数の分割内の重複を削除する動作(218)と
    を備えた動作群を実行させるプロセッサ実行可能な命令を有する1つまたは複数のプロセッサ読取可能な記録媒体。
  2. もしタプルの組のカーディナリティが1に等しければ前記タプルの組は離散的な近傍のグループであることを特徴とする請求項1に記載の1つまたは複数のプロセッサ読取可能な記録媒体。
  3. 前記計算する動作は、前記データ集合内の前記タプルの索引によって最近隣の近傍を検索する動作を含むことを特徴とする請求項1に記載の1つまたは複数のプロセッサ読取可能な記録媒体。
  4. 前記定義動作は、複数のタプルの複数の分割を、各分割が「コンパクトな組」、「離散的な近傍」および「小さいカーディナリティ」であることに基づいて、定義する動作を含み、もし前記分割中のあいまいな重複のグループのカーディナリティが予め定義された定数と等しいか小さい場合に分割のカーディナリティが小さいことを特徴とする請求項1に記載の1つまたは複数のプロセッサ読取可能な記録媒体。
  5. 各分割内の前記タプルは、互いに完全な重複をさらに含むことを特徴とする請求項1に記載の1つまたは複数のプロセッサ読取可能な記録媒体。
  6. あいまいな重複を削除するシステム(100)であって、
    データベース(170)からの複数のタプルを含むデータ集合を取得するデータ集合取得手段(110)と、
    前記データ集合の前記複数のタプルの各々について、前記データ集合内の前記タプルに対して定義された距離関数を使用して前記データ集合内の定義された数の最近隣のタプルを計算し、
    各タプルについて定義された数の最近接のタプルの組を近傍として定義し、
    各近傍について近傍の拡張比を計算する計算手段(120)であって、前記近傍の拡張比は前記近傍が定義されたタプルの周囲のスフェア中のタプル数であり、前記スフェアの半径は前記近傍が定義された前記タプルと最近隣の近傍との間の距離よりも大き計算手段と、
    数のタプルの複数の分離した分割を、各分割がコンパクトの組及び離散的な近傍であること基づいて、定義するための分割手段(130)であって
    こで、もしタプルの組中の各タプルに対して、前記タプルの組中のタプルと前記タプルの組中のその他のいずれのタプルとの間の距離が前記タプルの組中のタプルと前記タプルの組中の外のデータ集合内のその他のいずれのタプルとの間の距離よりも短ければ、前記データ集合内の前記タプルの組はコンパクトな組であり、
    し前記タプルの組中の全てのタプルの近傍の拡張比の集合された値が閾値よりも小さければ、前記タプルの組は離散的な近傍のグループであり、
    分割内の外観上別個のタプルが互いにあいまいな重複を含み、分割内の各あいまいな重複のタプルが共通の実世界の実体または現象を表す、分割手段と、
    前記分割の各々によって1つの重複しないタプルが残るよう、前記複数の分割内の複数のあいまいな重複のタプルの重複を削除する重複削除手段(140)と
    を備えたことを特徴とするシステム。
  7. もしタプルの組のカーディナリティが1に等しければ前記タプルの組は離散的な近傍のグループであることを特徴とする請求項6に記載のシステム。
  8. 前記各分割内のタプルは、相互の完全な重複をさらに含むことを特徴とする請求項6に記載のシステム。
  9. 前記計算手段は、前記データ集合内の前記タプルの索引によって最近隣を検索することを特徴とする請求項6に記載のシステム。
  10. 前記分割手段は複数のタプルの複数の分割を、各分割が「コンパクトな組」、「離散的な近傍」および「小さいカーディナリティ」であることに基づいて、定義し、もし前記分割中のあいまいな重複のグループのカーディナリティが予め定義された定数と等しいか小さい場合は、分割のカーディナリティが小さいことを特徴とする請求項6に記載のシステム。
  11. データ集合内のあいまいな重複タプルを除去するためのコンピュータによって実行される方法であって、
    前記データ集合の前記複数のタプルの各々について、前記データ集合内の前記タプルに対して定義された距離関数を使用して前記データ集合内の定義された数の最近隣のタプルを計算するステップ(214)と、
    各タプルについて最近隣のタプルの定義された数の組を近傍と定義するステップと、
    各近傍について近傍の拡張比を計算するステップであって、前記近傍の拡張比は前記近傍が定義されたタプルの周囲のスフェア中のタプル数であり、前記スフェアの半径は前記近傍が定義された前記タプルと最近隣の近傍との間の距離よりも大きい、計算ステップと、
    複数のタプルの複数の分離した分割を、各分割コンパクトの組及び離散的な近傍であること基づいて、定義するステップ(216)であって
    こで、もしタプルの組中の各タプルに対して、前記タプルの組中のタプルと前記タプルの組中のその他のいずれのタプルとの間の距離が前記タプルの組中のタプルと前記タプルの組中の外のデータ集合内のその他のいずれのタプルとの間の距離よりも短ければ、前記データ集合内の前記タプルの組はコンパクトな組であり、
    し前記タプルの組中の全てのタプルの近傍の拡張比の集合された値が閾値よりも小さければ、前記タプルの組は離散的な近傍のグループであり、
    分割内のタプルが相互のあいまいな重複を含み、分割内の各あいまいな重複のタプルが共通の実世界の実体または現象を表す、定義ステップと、
    前記分割の各々によって1つの重複しないタプルが残るよう、前記複数のあいまいな重複のタプルの複数の分割内の重複を削除するステップ(218)と
    を備えた方法。
  12. もしタプルの組のカーディナリティが1に等しければ前記タプルの組は離散的な近傍のグループであることを特徴とする請求項11に記載の方法。
  13. 前記計算ステップは、前記データ集合内の前記タプルの索引によって最近隣を検索することを特徴とする請求項11に記載の方法。
  14. 前記定義ステップは複数のタプルの複数の分割を、各分割が「コンパクトな組」、「離散的な近傍」および「小さいカーディナリティ」であるに基づいてと定義し、もし前記分割中のあいまいな重複のグループのカーディナリティが予め定義された定数と等しいか小さい場合は、分割のカーディナリティが小さいことを特徴とする請求項11に記載の方法。
JP2005221802A 2004-08-30 2005-07-29 あいまいな重複に強い検出器 Active JP4814570B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/929,514 2004-08-30
US10/929,514 US7516149B2 (en) 2004-08-30 2004-08-30 Robust detector of fuzzy duplicates

Publications (3)

Publication Number Publication Date
JP2006072985A JP2006072985A (ja) 2006-03-16
JP2006072985A5 JP2006072985A5 (ja) 2008-09-11
JP4814570B2 true JP4814570B2 (ja) 2011-11-16

Family

ID=35219700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005221802A Active JP4814570B2 (ja) 2004-08-30 2005-07-29 あいまいな重複に強い検出器

Country Status (7)

Country Link
US (1) US7516149B2 (ja)
EP (1) EP1630698B1 (ja)
JP (1) JP4814570B2 (ja)
KR (1) KR101153113B1 (ja)
CN (1) CN100520776C (ja)
AT (1) ATE420406T1 (ja)
DE (1) DE602005012192D1 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732004B1 (en) 2004-09-22 2014-05-20 Experian Information Solutions, Inc. Automated analysis of data to generate prospect notifications based on trigger events
US7840484B2 (en) 2004-10-29 2010-11-23 American Express Travel Related Services Company, Inc. Credit score and scorecard development
US8630929B2 (en) 2004-10-29 2014-01-14 American Express Travel Related Services Company, Inc. Using commercial share of wallet to make lending decisions
US7788147B2 (en) 2004-10-29 2010-08-31 American Express Travel Related Services Company, Inc. Method and apparatus for estimating the spend capacity of consumers
US8131614B2 (en) 2004-10-29 2012-03-06 American Express Travel Related Services Company, Inc. Using commercial share of wallet to compile marketing company lists
US8543499B2 (en) 2004-10-29 2013-09-24 American Express Travel Related Services Company, Inc. Reducing risks related to check verification
US7792732B2 (en) 2004-10-29 2010-09-07 American Express Travel Related Services Company, Inc. Using commercial share of wallet to rate investments
US20070244732A1 (en) 2004-10-29 2007-10-18 American Express Travel Related Services Co., Inc., A New York Corporation Using commercial share of wallet to manage vendors
US8326671B2 (en) 2004-10-29 2012-12-04 American Express Travel Related Services Company, Inc. Using commercial share of wallet to analyze vendors in online marketplaces
US7822665B2 (en) 2004-10-29 2010-10-26 American Express Travel Related Services Company, Inc. Using commercial share of wallet in private equity investments
US8204774B2 (en) * 2004-10-29 2012-06-19 American Express Travel Related Services Company, Inc. Estimating the spend capacity of consumer households
US8086509B2 (en) 2004-10-29 2011-12-27 American Express Travel Related Services Company, Inc. Determining commercial share of wallet
US20070016501A1 (en) 2004-10-29 2007-01-18 American Express Travel Related Services Co., Inc., A New York Corporation Using commercial share of wallet to rate business prospects
US8326672B2 (en) 2004-10-29 2012-12-04 American Express Travel Related Services Company, Inc. Using commercial share of wallet in financial databases
US7912770B2 (en) * 2004-10-29 2011-03-22 American Express Travel Related Services Company, Inc. Method and apparatus for consumer interaction based on spend capacity
US20080243680A1 (en) * 2005-10-24 2008-10-02 Megdal Myles G Method and apparatus for rating asset-backed securities
US20080033852A1 (en) * 2005-10-24 2008-02-07 Megdal Myles G Computer-based modeling of spending behaviors of entities
US8036979B1 (en) 2006-10-05 2011-10-11 Experian Information Solutions, Inc. System and method for generating a finance attribute from tradeline data
US8239250B2 (en) 2006-12-01 2012-08-07 American Express Travel Related Services Company, Inc. Industry size of wallet
US8606626B1 (en) 2007-01-31 2013-12-10 Experian Information Solutions, Inc. Systems and methods for providing a direct marketing campaign planning environment
US8606666B1 (en) 2007-01-31 2013-12-10 Experian Information Solutions, Inc. System and method for providing an aggregation tool
US7827153B2 (en) * 2007-12-19 2010-11-02 Sap Ag System and method to perform bulk operation database cleanup
US20110004578A1 (en) * 2008-02-22 2011-01-06 Michinari Momma Active metric learning device, active metric learning method, and program
US9910875B2 (en) 2008-12-22 2018-03-06 International Business Machines Corporation Best-value determination rules for an entity resolution system
US20100161542A1 (en) * 2008-12-22 2010-06-24 International Business Machines Corporation Detecting entity relevance due to a multiplicity of distinct values for an attribute type
US8200640B2 (en) 2009-06-15 2012-06-12 Microsoft Corporation Declarative framework for deduplication
US8176407B2 (en) * 2010-03-02 2012-05-08 Microsoft Corporation Comparing values of a bounded domain
US9652802B1 (en) 2010-03-24 2017-05-16 Consumerinfo.Com, Inc. Indirect monitoring and reporting of a user's credit data
US9361008B2 (en) * 2010-05-12 2016-06-07 Moog Inc. Result-oriented configuration of performance parameters
US8781954B2 (en) 2012-02-23 2014-07-15 American Express Travel Related Services Company, Inc. Systems and methods for identifying financial relationships
US8473410B1 (en) 2012-02-23 2013-06-25 American Express Travel Related Services Company, Inc. Systems and methods for identifying financial relationships
US9477988B2 (en) 2012-02-23 2016-10-25 American Express Travel Related Services Company, Inc. Systems and methods for identifying financial relationships
US8538869B1 (en) 2012-02-23 2013-09-17 American Express Travel Related Services Company, Inc. Systems and methods for identifying financial relationships
US9336302B1 (en) 2012-07-20 2016-05-10 Zuci Realty Llc Insight and algorithmic clustering for automated synthesis
CN104516900A (zh) * 2013-09-29 2015-04-15 国际商业机器公司 用于多个序列数据的聚类方法及其装置
US9892158B2 (en) * 2014-01-31 2018-02-13 International Business Machines Corporation Dynamically adjust duplicate skipping method for increased performance
US10262362B1 (en) 2014-02-14 2019-04-16 Experian Information Solutions, Inc. Automatic generation of code for attributes
US10387389B2 (en) * 2014-09-30 2019-08-20 International Business Machines Corporation Data de-duplication
US10445152B1 (en) 2014-12-19 2019-10-15 Experian Information Solutions, Inc. Systems and methods for dynamic report generation based on automatic modeling of complex data structures
US11205103B2 (en) 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis
US11055327B2 (en) 2018-07-01 2021-07-06 Quadient Technologies France Unstructured data parsing for structured information
US11301440B2 (en) 2020-06-18 2022-04-12 Lexisnexis Risk Solutions, Inc. Fuzzy search using field-level deletion neighborhoods

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5924090A (en) 1997-05-01 1999-07-13 Northern Light Technology Llc Method and apparatus for searching a database of records
US5940821A (en) 1997-05-21 1999-08-17 Oracle Corporation Information presentation in a knowledge base search and retrieval system
US5913207A (en) 1997-08-15 1999-06-15 Microsoft Corporation Database system index selection using index configuration enumeration for a workload
US5950186A (en) 1997-08-15 1999-09-07 Microsoft Corporation Database system index selection using cost evaluation of a workload for multiple candidate index configurations
US5926813A (en) 1997-08-15 1999-07-20 Microsoft Corporation Database system index selection using cost evaluation of a workload for multiple candidate index configurations
US5913206A (en) 1997-08-15 1999-06-15 Microsoft Corporation Database system multi-column index selection for a workload
US5960423A (en) 1997-08-15 1999-09-28 Microsoft Corporation Database system index selection using candidate index selection for a workload
US5966702A (en) 1997-10-31 1999-10-12 Sun Microsystems, Inc. Method and apparatus for pre-processing and packaging class files
US6182066B1 (en) 1997-11-26 2001-01-30 International Business Machines Corp. Category processing of query topics and electronic document content topics
US6169983B1 (en) 1998-05-30 2001-01-02 Microsoft Corporation Index merging for database systems
US6223171B1 (en) 1998-08-25 2001-04-24 Microsoft Corporation What-if index analysis utility for database systems
US6460045B1 (en) 1999-03-15 2002-10-01 Microsoft Corporation Self-tuning histogram and database modeling
US6374241B1 (en) 1999-03-31 2002-04-16 Verizon Laboratories Inc. Data merging techniques
US6363371B1 (en) 1999-06-29 2002-03-26 Microsoft Corporation Identifying essential statistics for query optimization for databases
US6529901B1 (en) 1999-06-29 2003-03-04 Microsoft Corporation Automating statistics management for query optimizers
US6691108B2 (en) 1999-12-14 2004-02-10 Nec Corporation Focused search engine and method
US6366903B1 (en) 2000-04-20 2002-04-02 Microsoft Corporation Index and materialized view selection for a given workload
US6266658B1 (en) 2000-04-20 2001-07-24 Microsoft Corporation Index tuner for given workload
US6513029B1 (en) 2000-04-20 2003-01-28 Microsoft Corporation Interesting table-subset selection for database workload materialized view selection
US6356890B1 (en) 2000-04-20 2002-03-12 Microsoft Corporation Merging materialized view pairs for database workload materialized view selection
US6356891B1 (en) 2000-04-20 2002-03-12 Microsoft Corporation Identifying indexes on materialized views for database workload
US7007008B2 (en) 2000-08-08 2006-02-28 America Online, Inc. Category searching
GB0029159D0 (en) 2000-11-29 2001-01-17 Calaba Ltd Data storage and retrieval system
US20020124214A1 (en) 2001-03-01 2002-09-05 International Business Machines Corporation Method and system for eliminating duplicate reported errors in a logically partitioned multiprocessing system
US20040128282A1 (en) 2001-03-07 2004-07-01 Paul Kleinberger System and method for computer searching
WO2002077640A2 (en) 2001-03-25 2002-10-03 Exiqon A/S Systems for analysis of biological materials
US6912549B2 (en) * 2001-09-05 2005-06-28 Siemens Medical Solutions Health Services Corporation System for processing and consolidating records
JP3803961B2 (ja) * 2001-12-05 2006-08-02 日本電信電話株式会社 データベース生成装置、データベース生成処理方法及びデータベース生成プログラム
JP3812818B2 (ja) * 2001-12-05 2006-08-23 日本電信電話株式会社 データベース生成装置、データベース生成方法及びデータベース生成処理プログラム
US7523127B2 (en) * 2002-01-14 2009-04-21 Testout Corporation System and method for a hierarchical database management system for educational training and competency testing simulations
US7139749B2 (en) 2002-03-19 2006-11-21 International Business Machines Corporation Method, system, and program for performance tuning a database query
US7152060B2 (en) * 2002-04-11 2006-12-19 Choicemaker Technologies, Inc. Automated database blocking and record matching
US6961721B2 (en) * 2002-06-28 2005-11-01 Microsoft Corporation Detecting duplicate records in database
US7953694B2 (en) 2003-01-13 2011-05-31 International Business Machines Corporation Method, system, and program for specifying multidimensional calculations for a relational OLAP engine
CA2464927A1 (en) * 2003-04-21 2004-10-21 At&T Corp. Text joins for data cleansing and integration in a relational database management system
US7774312B2 (en) 2003-09-04 2010-08-10 Oracle International Corporation Self-managing performance statistics repository for databases
US20050125401A1 (en) * 2003-12-05 2005-06-09 Hewlett-Packard Development Company, L. P. Wizard for usage in real-time aggregation and scoring in an information handling system
WO2005057365A2 (en) 2003-12-08 2005-06-23 Ebay Inc. System to automatically regenerate software code
US7281004B2 (en) 2004-02-27 2007-10-09 International Business Machines Corporation Method, system and program for optimizing compression of a workload processed by a database management system

Also Published As

Publication number Publication date
JP2006072985A (ja) 2006-03-16
CN1744083A (zh) 2006-03-08
CN100520776C (zh) 2009-07-29
EP1630698B1 (en) 2009-01-07
US20060053129A1 (en) 2006-03-09
KR20060050069A (ko) 2006-05-19
US7516149B2 (en) 2009-04-07
KR101153113B1 (ko) 2012-06-04
EP1630698A1 (en) 2006-03-01
DE602005012192D1 (de) 2009-02-26
ATE420406T1 (de) 2009-01-15

Similar Documents

Publication Publication Date Title
JP4814570B2 (ja) あいまいな重複に強い検出器
US7287019B2 (en) Duplicate data elimination system
Gravano et al. Text joins in an RDBMS for web data integration
US7567962B2 (en) Generating a labeled hierarchy of mutually disjoint categories from a set of query results
US9201903B2 (en) Query by image
Mueller Fast sequential and parallel algorithms for association rule mining: A comparison
Aggarwal et al. A survey of uncertain data algorithms and applications
US8032532B2 (en) Efficient multifaceted search in information retrieval systems
US6470333B1 (en) Knowledge extraction system and method
JP4141460B2 (ja) 自動分類生成
US8396884B2 (en) Graph querying, graph motif mining and the discovery of clusters
CN106991141B (zh) 一种基于深度剪枝策略的关联规则挖掘方法
US8046339B2 (en) Example-driven design of efficient record matching queries
Dalvi et al. Optimal hashing schemes for entity matching
WO2019056569A1 (zh) 滑动窗口下基于位置top-k关键词查询的优先查询算法及系统
CN111666468A (zh) 一种基于团簇属性在社交网络中搜索个性化影响力社区的方法
Lin et al. BigIN4: Instant, interactive insight identification for multi-dimensional big data
Epasto et al. Massively parallel and dynamic algorithms for minimum size clustering
Li et al. Answering why-not questions on top-k augmented spatial keyword queries
Kang et al. Semantic indexes for machine learning-based queries over unstructured data
US20230004977A1 (en) Exploiting graph structure to improve results of entity resolution
Wen et al. Computing k-cores in large uncertain graphs: An index-based optimal approach
Friedman et al. Box queries over multi-dimensional streams
Zhou et al. Benchmark of DNN Model Search at Deployment Time
WO2022141655A1 (zh) 一种分布式计算SimRank单源节点相似度的方法和装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080729

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110310

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110823

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110826

R150 Certificate of patent or registration of utility model

Ref document number: 4814570

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140902

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250