JP4902863B2 - テーブル分類装置 - Google Patents

テーブル分類装置 Download PDF

Info

Publication number
JP4902863B2
JP4902863B2 JP2007016158A JP2007016158A JP4902863B2 JP 4902863 B2 JP4902863 B2 JP 4902863B2 JP 2007016158 A JP2007016158 A JP 2007016158A JP 2007016158 A JP2007016158 A JP 2007016158A JP 4902863 B2 JP4902863 B2 JP 4902863B2
Authority
JP
Japan
Prior art keywords
classification
column
attribute
hierarchy
similarity
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.)
Expired - Fee Related
Application number
JP2007016158A
Other languages
English (en)
Other versions
JP2008181459A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007016158A priority Critical patent/JP4902863B2/ja
Publication of JP2008181459A publication Critical patent/JP2008181459A/ja
Application granted granted Critical
Publication of JP4902863B2 publication Critical patent/JP4902863B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、複数のテーブルを分類するテーブル分類装置に関する。
企業の合併、支店の統廃合、全社規模での業務分析などで、複数のシステムを統合するニーズが増えている。また、システムを追加する際に既存のデータベースやデータウェアハウスを複製して新たなシステムをつくることが多い。これら、統合や追加に伴い、冗長で不必要なデータや処理が増え、メンテナンス効率の劣化、業務処理非効率化、不整合による品質の劣化、過剰な設備投資、等々問題が発生している。さらに、システムの複雑化、ブラックボックス化のため、人手による統合(分析/設計)作業が非常に困難となっている。しかしながら、データの必要/不要の区別は、データの内容以外にも、技術的、人的、費用的、政治的な様々な要因により決められるため、如何に人の作業/判断を支援できるかが重要となる。
従来は、データ統合を行うために、データ型の一致やデータの一致度によって、同一のカラムを見つけていた(例えば、特許文献1)。
また、カラムの属性を複数使用して類似を判定する場合は、特開2005−63332号公報(特許文献2)の図5に示すように、それぞれのカラム(または、フィールド、カテゴリ、ドキュメント、情報要素)で共通する属性についてのみを軸とする多次元空間の距離を用いて、対応するカラムの対を求めるのみであった(例えば、特許文献2)。
従来技術の多くは、テーブルのジョインやデータの同期を目的にしているため、データの内容を比較して、ほぼ同じカラムを求めていた。そのため、一致判定用にカラムの属性は、主に型情報のみを利用しており、その他ではカラム名称を利用していた。
特開2004−86782号公報、異種データベース統合支援装置 特開2005−63332号公報、情報体系対応付け装置および対応付け方法
従来の統合支援のための一致性判定法は、複数の評価基準を持つ多次元空間における距離により判定していたため、同じ評価軸同士の比較が隠れてしまい、得られる結果の要因が分かり難くいと言う問題があった。さらに、評価基準を変える為にそれぞれの軸の重み付けを調整する際に、結果を予測して重み付けを行うことが難しいという問題点があった。
また、従来の類似性算出法では、類似性のあるカラムの集合である、テーブル間の類似性を求めることができないと言う問題があった。カラムの属性とテーブルの属性のような、構造のレベルが異なる属性同士を同時に比較することができなかった。
また、従来は完全に一致するカラムを求めることを目的とした手法であるため、データや属性が大きく異なる場合の比較が難しいと言う問題があった。さらに、具体的に利用する属性限られていた。
また、従来の階層的な分類では、分類の構造に依存していることが多く、階層を入れ替えた分類ができないか、もしくはすべての計算を再計算する必要があるため、インタラクティブな操作に適さないと言う問題があった。
本発明は、データ統合における統合支援として、データベースやデータウェアハウスのデータについて、要/不要を判断するために、テーブル間の類似性に基づいて、ユーザに分かりやすい形でテーブルを分類することを目的としている。
この発明のテーブル分類装置は、
所定の入力を受け付け、受け付けた入力に基づいて、1〜N(Nは2以上の整数)の属性セットナンバーごとの所定のテーブル属性からなる属性セット情報と、テーブルを分類する場合の分類の優先順位を示す1〜M(Mは2以上、かつ、N以下の整数)の階層ナンバーのそれぞれについて前記属性セットナンバーのうち重複しない何れかが対応付けられた分類階層情報とを設定する設定部と、
複数のテーブルを格納するデータベースからテーブルごとに前記属性セット情報の示す前記テーブル属性を取得する属性取得部と、
前記分類階層情報の前記階層ナンバーに対応する前記属性セットナンバーから定まるテーブル属性を前記属性取得部が取得した前記テーブル属性の中から取り込み、取り込んだテーブル属性に基づいて、前記分類階層情報の前記階層ナンバーごとに前記データベースに格納されたそれぞれのテーブル間の類似度を示す階層別テーブル間類似度を生成する階層別テーブル間類似度生成部と、
前記階層別テーブル間類似度生成部が前記階層ナンバーごとに生成した階層別テーブル間類似度を用いて、前記データベースが格納する複数のテーブルを分類する分類部と
を備えたことを特徴とする。
この発明により、テーブル間の類似性に基づいて、ユーザに分かりやすい形でテーブルを分類することが可能となる。
実施の形態1.
図1は、コンピュータであるデータベース分類装置30(テーブル分類装置)の外観の一例を示す図である。図1において、データベース分類装置30は、システムユニット830、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置813、キーボード814(Key・Board:K/B)、マウス815、FDD817(Flexible・Disk・ Drive)、コンパクトディスク装置818(CDD:Compact Disk Drive)、プリンタ装置819などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット830は、コンピュータであり、また、ネットワークに接続されている。ネットワークには、データベース20が接続されたデータベース管理装置10と、可視化装置40とが接続されている。データベース分類装置30は、ネットワークを介してデータベース管理装置10、可視化装置40と通信可能である。データベース20は複数のテーブルを格納している。データベース分類装置30は、データベース20からテーブルに関するデータを取得することが可能である。
図2は、実施の形態1におけるデータベース分類装置30のハードウェア資源の一例を示す図である。図2において、データベース分類装置30は、プログラムを実行するCPU810(中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、FDD817、CDD818、プリンタ装置819、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
RAM812は、揮発性メモリの一例である。ROM811、FDD817、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部の一例である。通信ボード816、キーボード814、FDD817などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813、プリンタ装置819などは、出力部、出力装置の一例である。
通信ボード816は、ネットワーク(LAN等)に接続されている。通信ボード816は、LANに限らず、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。
上記プログラム群823には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。
ファイル群824には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明する情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明においては、データや信号値は、RAM812のメモリ、FDD817のフレキシブルディスク、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
図3は、実施の形態1におけるデータ統合支援システムの全体構成図である。データ統合支援システムは、データベース管理装置10と、データベース管理装置10が管理するデータベース20と、データベース分類装置30と、可視化装置40からなり、最終的にユーザ50が、データ統合を目的にテーブルの類似性を識別可能とする支援を行うものである。データベース20は、複数のテーブルを格納している。
本実施の形態1の特徴は、データ統合支援システムにおける、データベース分類装置30にある。図4は、データベース分類装置30の構成図である。データベース分類装置30は、メタデータ抽出部31と、データ分析部32と、分類構造入力部33と、分類構造管理部34と、カラム類似度算出部35と、テーブル類似度算出部36と、分類判定部37とを備える。メタデータ抽出部31とデータ分析部32とは、属性取得部を構成する。分類構造入力部33と分類構造管理部34とは、設定部を構成する。カラム類似度算出部35とテーブル類似度算出部36とは、階層別テーブル間類似度生成部を構成する。
(1)メタデータ抽出部31は、データベース管理装置10からテーブルの属性やカラムの属性を取得する。
(2)データ分析部32は、データベース管理装置10からデータを取得し統計情報を生成する。
(3)分類構造入力部33は、ユーザ50から、分類の基準となる属性の組(属性セット情報70の設定のための情報)や分類の順番(分類階層情報80の設定のための情報)の入力を受け付け、属性セット情報70(後述する図11)及び分類階層情報80(後述する図12)を設定する。
(4)分類構造管理部34は、分類構造入力部33が設定した属性セット情報70及び分類階層情報80を格納し、必要に応じて出力する。
(5)カラム類似度算出部35は、メタデータ抽出部31からカラムの属性を取得し、データ分析部32からデータの統計情報を取得し、分類構造管理部34から、属性セット情報70を取得し、カラム間の類似度を計算する。
(6)テーブル類似度算出部36は、メタデータ抽出部31からテーブルの属性を取得し、カラム類似度算出部からカラムの類似度を取得し、カラム類似度から一致カラム対を算出し、テーブル属性と一致カラム対から、分類構造管理部から属性セット情報70を取得し、テーブル類似度を算出する。
(7)分類判定部37は、テーブル類似度算出部36からテーブル間の類似度を取得し、分類構造管理部34から分類の階層構造を取得し、テーブルの分類階層構造を算出(生成)する。
次に、図5を用いて、データベース分類装置30により得られる、テーブルの分類結果を説明する。図5は、データベース分類装置30により得られる結果のイメージ図である。T1〜T17が、分類の対象となる全テーブルである。
この例では、
(1)C1、C2、C3は、まず初めにデータベース分類装置30がテーブル名称による分類を行い、類似性の高いテーブル同士をグループ分けした結果である。
(2)C11、C12、C13は、C1に分類されたテーブルについて、さらにデータの内容が近いテーブル同士をグループ分けをした結果である。
(3)C21、C22は、C2に分類されたテーブルについて、さらにデータの内容が近いテーブル同士をグループ分けをした結果である。
(4)C31、C33は、C3に分類されたテーブルについて、さらにデータの内容が近いテーブル同士をグループ分けをした結果である。
また、通常のツリー構造の分類に比べて、テーブル間およびグループ間の類似度に応じた距離(配置)で表示できるよう、類似度情報を含めたグループの階層構造を分類階層構造と呼ぶ。ただし、表示法、表示形式は、本発明に含まれない。
次に、図6を用いてデータベース分類装置30の動作の概要を説明する。図6は、データベース分類装置30により実現されるデータベース分類方式の全体の流れを示した図である。データベース分類方式は、分類構造入力処理S1、属性取得処理S2、類似度計算処理S3、分類階層算出処理S4の順で処理を行う。
(1)分類構造入力処理S1は、ユーザから「属性セット情報70」、「分類階層情報80」の設定のための情報の入力を受け付け、「属性セット情報70」、「分類階層情報80」を設定する処理である。
(2)属性取得処理S2は、属性セット情報70に従って、必要な属性をメタデータ抽出部31やデータ分析部32から取得する処理である。
(3)類似度計算処理S3は、属性セット情報70についてカラムの類似度およびテーブルの類似度を計算する処理である。
(4)分類階層算出処理S4は、分類の優先順(分類階層情報80)に従って、階層的に、テーブル類似度からテーブルのグループを計算する処理である。
以下に、各処理の詳細について説明する。図7は、図6における分類構造入力処理S1の手順を示した図である。分類構造入力処理S1は、属性セット選択S11、分類階層設定S12、分類階層蓄積S13の順に処理される。
(1)属性セット選択S11は、データベース分類装置30における分類構造入力部33で実行される。属性セット選択S11では、ユーザの指定により、分類の単位となる属性の集合(属性セット情報70)を設定する処理である。
(2)分類階層設定S12は、データベース分類装置30における分類構造入力部33で実行される。分類階層設定S12は、ユーザの指定により、分類の優先順となる「分類階層情報80」を設定する処理である。
(3)分類階層蓄積S13は、データベース分類装置30における分類構造管理部34で実行される。分類階層蓄積S13は、「属性セット情報70」および「分類階層情報80」を蓄積し、他の処理の要求に応じてこれら情報を提示する。
図8は、属性の集合の要素となるカラム属性61である。カラム名A1、型A2、精度A3、サイズA4、NULL可フラグA5は、メタデータ抽出部31がデータベース20から取得する、カラムのメタデータである。ユニーク率A6、NULL率A7、最大値/最大日付/最大文字数A8、最小値/最小日付/最小文字数A9、平均値/中間日付/平均文字数A10は、データ分析部32がデータベース20から取得する、1つのカラムのデータの統計情報である。A8〜A10については、型の種類によって値の種類も異なる。
メタデータ抽出部31は、分類構造入力処理が実行される前にデータベース管理装置(10)がカラムのメタデータを抽出しておいても良いし、分類構造入力処理の要求に応じてデータベース管理装置10からメタデータを抽出しても良い。データ分析部32は、分類構造入力処理が実行される前にデータベース管理装置10からカラムのデータを抽出し統計情報を算出しておいても良いし、分類構造入力処理の要求に応じてデータベース管理装置10からデータを抽出して統計情報を算出しても良い。また、A1からA10以外の属性や統計情報を利用しても構わない。
図9は、属性の集合の要素となるテーブル属性62である。テーブル名A11、カラム数A12、VARCHAR型カラム数A13、数値型カラム数A14、日付型カラム数A15、レコード長A16は、メタデータ抽出部31がデータベース20から取得する、テーブルのメタデータである。レコード数A17は、データ分析部32がデータベース20から取得する、1つのテーブルのデータの統計情報である。
図10は、属性を用いた類似度を算出するための正規化に利用するテーブルの属性である。最大カラム数A18、最大レコード長A19、最大レコード数A20は、データ分析部32がデータベース20から取得する、全テーブルのデータの統計情報である。メタデータ抽出部31は、分類構造入力処理が実行される前にデータベース管理装置10からテーブルのメタデータを抽出しておいても良いし、分類構造入力処理の要求に応じてデータベース管理装置10からメタデータを抽出しても良い。データ分析部32は、分類構造入力処理が実行される前にデータベース管理装置10からテーブルのデータを抽出し統計情報を算出しておいても良いし、分類構造入力処理の要求に応じてデータベース管理装置10からデータを抽出して統計情報を算出しても良い。また、A11からA20以外の属性や統計情報を利用しても構わない。
図11は、図6の分類構造入力処理S1における、属性セット選択S11でユーザが設定する分類の単位となる「属性セット情報70」の例である。
この例では、
セット1は、テーブル名A11、カラム名A1からなる。
セット2は、カラム数A12、レコード長A16、サイズA4、精度A3、NULL可フラグA5からなる。
セット3は、レコード数A17からなる。
セット4は、ユニーク率A6、NULL率A7からなる。
セット5は、最大値/最大日付/最大文字数A8、最小値/最小日付/最小文字数A9、平均値、中間日付/平均文字数A10からなる。
セットに含まれる属性および統計情報は、単一でも良いし、複数でも良い。また、テーブルの属性や統計情報とカラムの属性や統計情報を混在しても良い。
図12は、図6の分類構造入力処理S1における、分類階層設定S12でユーザが設定する、分類優先順となる分類階層情報80の例である。
この例では、
階層1はセット1、
階層2はセット2、
階層3はセット3、
階層4はセット4、
階層5はセット5
を指定している。
もちろん、分類の評価順は任意に指定して良い。
分類構造入力処理S1における、分類階層蓄積S13では、属性セット選択S11および分類階層設定S12により指定された、属性セット情報70と分類階層情報80を出力し蓄積する処理である。
図13は、図6における属性取得処理S2および類似度計算処理S3の手順を示した図である。属性取得処理S2は、初期化処理S21、分類階層情報取得S22、対象テーブル選択S23、テーブル属性取得S24、カラム属性取得S25、データ統計情報取得S26からなる。S21、S22、S23、S24、S26、S32、S33、S34は、データベース分類装置30における、テーブル類似度算出部36により実行される。S25、S31は、データベース分類装置30における、カラム類似度算出部35により実行される。類似度計算処理S3は、カラム類似度計算S31、カラム対算出S32、テーブル類似度計算S33、テーブル組みループ判定S34、分類階層ループ判定S35、階層別類似度情報出力S36からなる。S35、S36は、データベース分類装置30における、分類判定部37により実行される。
以下に図13を用いて、図6における属性取得処理S2および類似度計算処理S3の各処理の詳細を説明する。
(1)初期化処理S21では、テーブル類似度算出部36が、対象とする全テーブルの指定を行うなどの初期化を実行する。
(2)分類階層情報取得S22では、テーブル類似度算出部36が、分類構造管理部34により蓄積された分類階層情報80と属性セット情報70とを分類構造管理部34から取得する。
(3)対象テーブル選択S23では、テーブル類似度算出部36が、まず初めの分類階層ループとして、分類階層情報80の階層No1のセットNoに対応する属性セット情報70と、初期化処理S21で指定された全テーブルの中から類似度を算出すべきテーブルの組を1つ取り出す。
(4)テーブル属性取得S24では、テーブル類似度算出部36が、階層No1の属性セット情報70に含まれる種別がテーブルの属性について、対象テーブル選択S23において選択された2つのテーブルの属性情報(メタデータ)を、メタデータ抽出部31より取得する。
(5)カラム属性取得S25では、カラム類似度算出部35が、階層No1の属性セット情報70に含まれる種別がカラムの属性について、対象テーブル選択S23において選択された2つのテーブルに含まれるカラムの属性情報(メタデータ)を、メタデータ抽出部31より取得する。
(6)データ統計情報取得S26では、テーブル類似度算出部36が、階層No1の属性セット情報70に含まれる種別がテーブルの属性の統計情報について、対象テーブル選択S23において選択された2つのテーブルの属性情報(統計情報)を、データ分析部32より取得する。また、階層No1の属性セット情報70に含まれる種別がカラムの属性の統計情報について、対象テーブル選択S23において選択された2つのテーブルに含まれるカラムの属性情報(統計情報)を、データ分析部32より取得する。
以上の、S24、S25、S26により、S23で選択された対象のテーブルについて、類似度の計算を行うための必要な情報が準備される。
(1)カラム類似度計算S31では、カラム類似度算出部35が、カラム属性取得S25において取得したカラムのメタデータと、データ統計情報取得S26において取得したカラムの統計情報それぞれを用いて、カラム間の類似度を求める。複数の属性を合わせて同時に類似度を求める手法は、多次元空間の距離算出などの公知技術により実現可能である。例えば、内積、コサイン尺度、ユークリッド距離、ハミング距離、等々の手法を用いる。
以下に、ユークリッド距離を用いて、カラム1とカラム2間のn次元空間における類似度算出の例を示す。以下の例では、カラム属性取得S25において取得したカラムのメタデータと、データ統計情報取得S26において取得したカラムの統計情報が、図6に示すA1〜A10全て揃っている場合を示す。
カラムの型が一致しない場合は、カラムの類似度eは、例えば以下の式により求めることができる。h1は、チューニング用の重み付けである。
=h1÷(カラム1のカラム名文字数+カラム2のカラム名文字数)
×(カラム1のカラム名文字数+カラム2のカラム名文字数
−カラム1のカラム名とカラム2のカラム名の最大連続一致文字数×2)
カラムの型が共に数値型の場合は、カラムの類似度eは、例えば以下の式により求めることができる。h1からh9は、チューニング用の重み付けである。
=h1÷(カラム1のカラム名文字数+カラム2のカラム名文字数)
×(カラム1のカラム名文字数+カラム2のカラム名文字数
−カラム1のカラム名とカラム2のカラム名の最大連続一致文字数×2)
+h2×(精度が一致する場合0、一致しない場合1)
+h3×(カラム1のサイズ−カラム2のサイズ)
+h4×(NULL可/不可が一致する場合0、一致しない場合1)
+h5×(カラム1のユニーク率−カラム2のユニーク率)
+h6×(カラム1のNULL率−カラム2のNULL率)
+h7×(カラム1の最大値−カラム2の最大値)
+h8×(カラム1の最小値−カラム2の最小値)
+h9×(カラム1の平均値−カラム2の平均値)
カラムの型が共に日付型の場合は、カラムの類似度eは、例えば以下の式により求めることができる。h1からh9は、チューニング用の重み付けである。
=h1÷(カラム1のカラム名文字数+カラム2のカラム名文字数)
×(カラム1のカラム名文字数+カラム2のカラム名文字数
−カラム1のカラム名とカラム2のカラム名の最大連続一致文字数×2)
+h3×(カラム1のサイズ−カラム2のサイズ)
+h4×(NULL可/不可が一致する場合0、一致しない場合1)
+h5×(カラム1のユニーク率−カラム2のユニーク率)
+h6×(カラム1のNULL率−カラム2のNULL率)
+h7×(カラム1の最大日付−カラム2の最大日付の日数)
+h8×(カラム1の最小日付−カラム2の最小日付の日数)
+h9×(カラム1の中間日付−カラム2の中間日付の日数)
カラムの型が共にVARCHAR型の場合は、カラムの類似度eは、例えば以下の式により求めることができる。h1からh9は、チューニング用の重み付けである。
=h1÷(カラム1のカラム名文字数+カラム2のカラム名文字数)
×(カラム1のカラム名文字数+カラム2のカラム名文字数
−カラム1のカラム名とカラム2のカラム名の最大連続一致文字数×2)
+h3×(カラム1のサイズ−カラム2のサイズ)
+h4×(NULL可/不可が一致する場合0、一致しない場合1)
+h5×(カラム1のユニーク率−カラム2のユニーク率)
+h6×(カラム1のNULL率−カラム2のNULL率)
+h7×(カラム1の最大文字数−カラム2の最大文字数)
+h8×(カラム1の最小文字数−カラム2の最小文字数)
+h9×(カラム1の平均文字数−カラム2の平均文字数)
以上により、型の一致に応じて、様々なカラムの属性を使ってカラム間の距離(類似度)を求めることができる。上記例では、全てのカラムの属性を評価した類似度の計算を示したが、属性セットごとに上記属性の部分集合を対象にして、距離(類似度)の計算を行っても良い。
(2)続いて、カラム対算出S32では、テーブル類似度算出部36が、S31で求めたカラム間の類似度を利用して、テーブル間のカラム対を求める。図14は、n次元空間の距離からカラム対を求める概念図である。黒い丸があるテーブルのカラムであり、白い丸が別のあるテーブルのカラムである。n次元空間上で、距離が最も近く、かつ一定の閾値以下のカラム同士を、一致するカラムと見なして対とする方法である。この手法については、公知の技術(例えば、特開2006−63332号公報)で実現可能である。
さらにS32では、一致するカラム同士以外のカラムについても類似度の計算を行う。図15は、一致するカラム対とそれ以外のカラム全てを対象として、テーブル間の類似度計算する方法の例を示している。
(一致カラム対)
先の一致するカラム対のことを「一致カラム対」と呼ぶ。図15中の実線で結ばれるカラム同士である。図15の例では、カラムU11とカラムU23、カラムU12とカラムU21、カラムU14とカラムU22が一致カラム対である。
(類似カラム対)
次に、一致とは見なされないが類似しているカラム同士のことを、「類似カラム対」と呼ぶ。図15中の点線で結ばれるカラム同士である。図15の例では、カラムU13とカラムU24が、類似カラム対である。類似カラム対の条件は、一致カラム対以外で、かつ、カラム間の距離の合計が最も近い組である。即ち、類似カラム対は、閾値以上の距離のあるカラム対となる。
(不一致カラム対)
最後に、テーブル間のカラム数の差によって、対にならないカラムが残る場合がある。このカラムについては、対応するカラムを仮に想定して対とする。この仮のカラムを「NULLカラム」と呼び、NULLカラムと対となるカラム同士を「不一致カラム対」と呼ぶ。図15の一点差線で結ばれたカラム同士が、不一致カラム対である。図15の例では、カラムU15とカラムU25が不一致カラム対である。NULLカラムは、対となるカラムと同じ型で、データが0件の仮想的なカラムである。
(3)テーブル類似度計算S33では、テーブル類似度算出部36が、テーブル属性取得S24で取得したテーブルのメタデータおよびデータ統計情報取得S26で取得したテーブルの統計情報と、S31で求めたカラム類似度と、S32で求めたカラム対を用いて、S23で選択したテーブル間の類似度の計算を行う。
まず、テーブル属性取得S24で取得したテーブルのメタデータおよびデータ統計情報取得S26で取得したテーブルの統計情報を用いた類似度の算出法を示す。カラム間の類似度算出と同様に、複数の属性を合わせて同時に類似度を求める手法は、多次元空間の距離算出などの公知技術により実現可能である。例えば、内積、コサイン尺度、ユークリッド距離、ハミング距離、等々の手法を用いる。以下に、ユークリッド距離を用いて、テーブル1とテーブル2間のn次元空間における類似度算出の例を示す。以下の例では、テーブル属性取得S24において取得したメタデータと、データ統計情報取得S26において取得した統計情報が、図9に示すA11〜A20全て揃っている場合を示す。
テーブルの類似度rは、例えば以下の式により求めることができる。k1〜k7は、チューニング用の重み付けである。
=k1÷(テーブル1のテーブル名文字数+テーブル2のテーブル名文字数)
×(テーブル1のテーブル名文字数+テーブル2のテーブル名文字数
−テーブル1のテーブル名とテーブル2のテーブル名の最大連続一致文字数×2)
+k2÷最大カラム数×(テーブル1のカラム数−テーブル2のカラム数)
+k3÷最大カラム数×(テーブル1のVARCHAR型カラム数−テーブル2のVARCHAR型カラム数)
+k4÷最大カラム数×(テーブル1の数値型カラム数−テーブル2の数値カラム数)
+k5÷最大カラム数×(テーブル1の日付型カラム数−テーブル2の日付カラム数)
+k6÷最大レコード数×(テーブル1のレコード数−テーブル2のレコード数)
+k7÷最大レコード長×(テーブル1のレコード長−テーブル2のレコード長)
続いて、上記類似度rと、S31で求めたカラム類似度と、S32で求めたカラム対を用いて、S23で選択したテーブル間の類似度の計算法を示す。
テーブルの類似度Rは、例えば以下の式により求めることができる。K1〜K4は、チューニング用の重み付けである。
=K1×r
+(K2×((カラムU11とカラムU23間の距離)+(カラムU12とカラムU21間の距離)+(カラムU14とカラムU22間の距離)
+K3×(カラムU13とカラムU24間の距離)
+K4×(カラムU15とカラムU25間の距離))÷全カラム対の数
また、一致するカラム対のみ評価する場合(対にならないカラムを無視する場合)は、
K3=K4=0
として、該当の距離算出を行わなくても良い。
(4)テーブル組みループS34は、テーブル類似度算出部36が、類似度計算が行われていないテーブルの組が残っているかを判断し、残っている場合はS23に戻って、新たなテーブルの組を対象とするループである。
(5)分類階層ループS35において、分類判定部37が、類似度計算が行われていない階層が残っているかを判断し、残っている場合は次の階層の分類階層情報80を取得するためS21、S22に戻るためのループである。
(テーブル間類似度の出力)
以上、図13に示したS21〜S35により、全ての分類階層(図12の階層No1〜No5)に対して、全てのテーブルの組について計算した類似度を、階層別類似度情報出力S36において、分類判定部37が、出力する。図16は、S36において出力される階層別テーブル間類似度90(分類階層別テーブル間類似度と言う場合がある)の例を示す。それぞれの階層ごとに、テーブルの総数Nの2次元配列として、次の式に示すテーブル間類似度を保持する。
テーブル間類似度=Ri[N][N]、
i:分類階層情報80における階層Noを示す。
N:テーブル番号を示す。
図17は、図6における分類階層算出処理S4の詳細な手順を記した図である。分類階層算出S4では、分類判定部37は、類似度計算S3で求めたテーブル間類似度Ri[N][N]を元に、テーブルを階層構造に分類する。分類階層算出処理S4では、分類判定部37が、初期化処理を行うS41、分類階層テーブルセット取得S42、分類階層別テーブル間類似度取得S43、現グループ内テーブル分類S44、子グループ出力S45、同階層ループS46、下位階層ループS47、分類階層構造結果出力S48の順に処理する。
初期化処理S41では、分類判定部37は、階層構造のルートを指定するなどのループに必要な初期化処理を行う。例えば図5の例では、初期状態値において、名前類似を最初(第1階層)に行なう。
分類階層テーブルセット取得S42では、分類判定部37は、分類の対象となる階層におけるグループに含まれるテーブル群を取得する。最初のループでは、全てのテーブルが対象となる。2回目以降のループでは、前回ループで生成された子グループを母集団とする。例えば図5の例では、最初のループではT1〜T17を親グループ(現グループ)とする。
テーブル間類似度取得S43では、図6における類似度計算処理S3の結果として出力された、図16の例に示す分類階層別テーブル間類似度90を取得する。この場合、R1を取得する。
現グループ内テーブル分類S44では、分類階層テーブルセット取得S42で取得したテーブルの集合について、テーブル間類似度取得S43で取得した分類階層別テーブル間類似度90を元に、テーブルのクラスタリングを行う。クラスタリングの手法は、公知の技術により実現する。例えば図5の例では、T1〜T17を分類する。
子グループ出力S45では、現グループ内テーブル分類S44で分類された結果を出力する。例えば図5の例では、C1〜C3を分類する。
同階層ループS46は、同じ分類階層における別のグループが残っているか判定し、残っている場合は、次のグループを分類の対象とするために、分類階層テーブルセット取得S42へ戻るループである。S46最初のループでは、親グループの兄弟(同階層)が存在しないため、S47へ進む。
下位階層ループS47は、現階層の全てのグループについての分類が終了後に、分類階層情報80の下位の階層が残っているかを判定し、残っている場合は、下位の階層の分類を行うために、分類階層テーブルセット取得S42へ戻るループである。第2下位層の処理を行うため、S42へ戻る。
図17の処理を図5と対比して説明すれば次の様である。図17は分類判定部37による動作である。
(1)S41において、図5では、初期状態値でな名前類似を最初(第1階層)に行う。
(2)S42において、図5では、最初のループでは、T1〜T17を親グループ(現グループ)とする。
(3)S43において、図16の階層別テーブル間類似度Rを取得する
(4)S44において、図5では、T1〜T17を分類する。
(5)S45において、図5では、子グループC1〜C3を出力する。
(6)S46において、最初のループでは、親グループの兄弟(同階層)が存在しないため、S47へ進む。
(7)S47において、第2階層の処理を行うためS42へ戻る。
(8)S42において、図5では、C1のテーブルT1〜T6を親グループ(現グループ)とする。
(9)S43において、図16の階層別テーブル間類似度Rを取得する。
(10)S44において、図5では、テーブルT1〜T6を分類する。
(11)S45において、図5では、子グループC11〜C13を出力する。
(12)S46において、親グループの兄弟(同階層)であるC2の処理を行うため、S42に進む。
(13)S42〜S45において、同様にC2を処理する。
(14)親グループの兄弟(同階層)であるC3の処理を行うため、S42に進む。
(15)S42〜S45において、同様にC3を処理する。
(16)S46において、親グループの兄弟(同階層)がないので、S47に進む。
(17)S47において、第3階層の処理を行うためS42へ戻る。
(18)S42において、図5では、C11のテーブルT1〜T3を親グループ(現グループ)とする。
(19)S43において、図16の階層別テーブル間類似度Rを取得する。
(20)S44において、図5では、テーブルT1〜T3を分類する。
(21)S45において、図5では、上記と同様に子グループC11〜C13を出力する。
(22)S46において、親グループの兄弟(同階層)であるC12の処理を行うため、S42に進む。
(23)S42〜S45において、同様にC12〜C33を処理する。
(24)S46において、親グループの兄弟(同階層)がないので、S47に進む。
(25)S47において、第4階層の処理を行うためS42へ戻る。同様の処理を繰り返し、最下の階層となればループを終了する。
(26)S48において、図5に示す、階層的に分類された結果を得る。
以上、S41〜S47により、全ての分類階層において分類された結果を、分類階層構造結果出力S48において出力する。分類階層構造結果は、階層的にクラスタリングされ、さらに類似度を付加したグラフ構造となり、図3のデータ統合支援システムにおける、可視化装置40により可視化される。
以上のように、データベース分類装置30は、類似性判定の基準となる属性の優先順位を指定するようにしているので、ユーザが優先する重要な比較から順に類似性を確認できるため、類似の要因が明確となる。
さらに、類似性判定の基準となる属性は、複数をセットに指定することを可能としているので、ユーザの意図に応じて分類の精度を向上することができる。
また、テーブルと言うある意味のもの元にまとめられたカラムの集合の類似度を使いテーブルを分類しているので、平坦にカラム間の類似性を求めるよりも、意味的に近いテーブルの類似性を識別できるようになる。
また、テーブルの属性とカラムの属性を混在して分類の基準に指定するようにしているので、ユーザは自在に優先順位を指定して、分類の精度向上や作業の効率化を調整することができる。
さらに、一致と見なすカラムの対以外の、類似のカラムや、不一致のカラムについても類似性の評価の対象に含めるため、テーブルの類似性の判定精度を向上することができる。
また、テーブルやカラムの統計情報を、類似性を判定する属性の一部に利用しているので、レコード数が異なるテーブルや、属性値の一致が少ないカラムの比較ができる。
また、データベース固有の属性情報を多数利用しているので、取得できる情報が不完全な場合にも、テーブルの分類が可能である。
実施の形態2.
以上の実施の形態1では、どちらかと言うと固定的な階層構造の分類を行うものであるが、ユーザは分類結果から類似の要因を把握するために、インタラクティブに分類の優先順位を変更することが有効となりえる。もちろん、実施の形態1であっても全ての処理を1からやり直せば、優先順位を変更した分類を行うことは可能であるが、類似度計算やクラスタリングは計算量の多い処理であり、かつ対象となるテーブルやカラムの数が膨大となると再計算の時間が問題となることがある。
本実施の形態2では、そのような場合に計算量を削減する実施の形態を示す。図18は、図5の分類結果から、分類の優先順位を変えて、階層の順番入れ替えた分類結果のイメージの例である。図5の例では、初めに名称の類似性で分類を行い、次にデータの類似性による分類を行っていた。図18の例では、類似性の優先順位を変えて、初めにデータの類似性による分類を行い、次に名称の類似性による分類を行っている。
図18において、T1〜T17が、分類の対象となる全テーブルである。この例では、D1、D2、D3は、まず初めにデータの内容が近いもの同士でグループ分けを行い、類似性の高いもの同士をグループ分けした結果である。D11、D12、D13は、D1に分類されたテーブルについてさらに名称により分類した結果である。D21、D22は、D2に分類されたテーブルについてさらに名称により分類した結果である。D31、D33は、D3に分類されたテーブルについてさらに名称により分類した結果である。ただし、表示法、表示形式は、本発明に含まれない。
実施の形態2においても、データベース統合システムの全体構成図は、図3と同様である。また、実施の形態2においても、データベース分類装置30の構成図は、図4と同様である。
次に動作について説明する。実施の形態2は、実施の形態1に対して分類判定部37の処理動作が異なる。その他は実施の形態1と同様である。
実施の形態2において、データベース分類方式の全体の流れは図6とほぼ同等であるが、分類階層算出S4の処理内容が異なり、図18に示す分類階層算出S5となる。
(1)実施の形態2においても、分類構造入力処理の手順は、図7と同様である。
(2)また、実施の形態2においても、属性の集合の要素となるカラムの属性は、図8と同様のものを利用する。
(3)また、実施の形態2においても、属性の集合の要素となるテーブルの属性は、図9と同様のものを利用する。
(4)また、実施の形態2においても、属性を用いた類似度を算出するための正規化に利用するテーブルの属性は、図10と同様のものを利用する。
(5)また、実施の形態2においても、分類単位となる属性セット情報70の例は、図11と同様とする。
(6)また、実施の形態2においても、分類の優先順となる分類階層情報80の例は、図12と同様とする。
(7)また、実施の形態に2においても、属性取得処理および類似度計算処理の手順は、図13と同様である。
(8)また、実施の形態2においても、類似度計算S3により得られる、分類階層別テーブル間類似度90は、図16と同様とする。
図20は、図19における分類階層算出処理S5の詳細な手順を記した図である。実施の形態1では、分類階層情報80に従って、上位の階層から順番にクラスタリングを行い、最終的な分類階層構造結果を出力していた。実施の形態2では、分類階層情報80に従った階層的な分類と、属性セット情報70に従ったテーブル群のクラスタリング処理を分離することにより、分類の優先順である階層を入れ替えた場合に、クラスタリング処理を再計算すること無しに、最終的な分類階層構造結果を得ることができる。
実施の形態2における分類判定部37による分類階層算出処理S5では、類似度計算S3で求めたテーブル間類似度を元に、前半部分では、属性セットごとのテーブルの分類を行う。分類階層算出処理S5は、まず分類初期化処理S51、全テーブルセット取得S52、テーブル間類似度取得S53、テーブル分類S54、属性セットループS55、属性セット別分類情報出力S56、テーブル別属性セット変換S57の順に処理する。後半部分では、分類階層順多重ソートS61、分類間類似度計算S62、分類階層構造結果出力S63の順に処理する。
(1)分類初期化処理S51では、属性セットを順番に調べるために必要な初期化処理を行う。
(2)全テーブルセット取得S52では、分類の対象となる全てのテーブルを取得する。2回目以降のループでも、全てのテーブルが対象となる。
(3)テーブル間類似度取得S53では、図19における類似度計算処理S3の結果として出力された、図16の例に示す分類階層別テーブル間類似度90を取得する。
(4)テーブル分類S54では、全テーブルセット取得S52で取得したテーブルの集合について、テーブル間類似度取得S53で取得した分類階層別テーブル間類似度90を元に、テーブルのクラスタリング処理を行う。クラスタリングの手法は、公知の技術により実現する。
実施の形態2では、クラスタリングを階層的に進めるのではなく、予め属性セットごとにクラスタリング結果を全て取得する。
(5)属性セットループS55で、分類が終わっていない残りの属性セットがあるかを判定し、残りの属性セットがある場合は、次の属性セットについて分類を行うために、S52へ戻る。
(6)全ての属性セットに関して、テーブルの分類が終了した時点で、属性セット別分類情報出力S56で、属性セット別分類情報201を出力する。
図21は、属性セット別分類情報201の例である。属性セットごとに、クラスタリングにより分類された数だけ、テーブルの部分集合が求められる。この時点では、分類間の類似度(距離)については、計算しない。
(7)テーブル別属性セット変換S57では、属性セット別分類情報出力S56で得られた、属性セット別分類情報201を、テーブル別属性セット情報202に変換する。図22は、図21の属性セット別分類情報201を、テーブル別属性セット情報202に変換した例である。属性セットごとのテーブルの集合が、各テーブルについて、各属性セットにおける分類番号を並べる表形式に変換する。
(8)分類階層順多重ソートS61は、テーブル別属性セット変換S57の出力結果である属性セット別分類情報201について、図7の分類階層蓄積S13で保存されている分類蓄積情報の階層No順にセットNoでソートする処理を行う。図23は、図12の例に示した分類階層情報80に従い、セットNo1、2、3、4、5の順にテーブル別セット情報をソートした結果203である。この例では、セットNoの順番と分類階層の順番が同一であるが、もちろんユーザの指定に従い任意の順番でソートすることは容易である。ソートの方式は公知の技術により実現可能である。
図24は、図23の分類階層順多重ソート結果を、木構造204で表現した図である。S61の時点で、分類間の類似度(距離)を除いた、分類階層構造が生成される。
(9)分類間類似度計算S62は、分類階層順多重ソートS61の出力を元に、各階層のグループ間の類似度を求める処理である。類似度を求めるグループは、親のグループが同じグループ間でのみ計算する。図24の例では、階層No1(セット#1)の階層では、分類No1、2、3、4それぞれの間の、合計6通りの類似度を計算する。階層No2(セット#2)の階層では、上位階層が同じ分類同士で、分類No1と2の組の合計4通り類似度を計算する。分類間の類似度の計算方式は、公知の技術を利用する。例えば、単一リンク法の一番近いデータ対の距離でも良いし、完全リンク法の一番遠いデータ対の距離でも良いし、群平均法の全データ対の距離平均でも良いし、WARD法の平均ベクトル(セントロイド)との誤差平方和でも良い。分類間の類似度計算に必要なテーブル間の類似度は、図13の階層別類似度情報出力S36の結果である、図16に示す分類階層別テーブル間類似度90を使用する。
(10)以上、S51〜S62により、全ての分類階層において分類された結果を、分類階層構造結果出力S63において出力する。分類仮想構造結果は、階層的にクラスタリングされ、さらに類似度を付加したグラフ構造となり、図3のデータ統合支援システムにおける、可視化装置(4)により可視化される。
そして、ユーザの操作により、インタラクティブに分類の優先順位を変更して、再度分類を得る場合は、図19の属性取得S2および類似度計算S3は実行する必要が無く、分類階層算出S5については、図20のS51〜S57までは、前回実行時の結果を再利用して、S61〜S63のみ実行すればよい。
以上のように、実施の形態2では、クラスタリングを階層的に進めるのではなく、クラスタリングと階層構造の生成を分離して実行するようにしているので、2度目以降は分類の優先順位を自在に変更して再分類を行う際に、クラスタリングの結果を再利用して計算時間を削減することができ、ユーザが自由に優先順位を変化させた比較検討を容易に行うことが可能となる。
実施の形態1におけるデータベース分類装置30の外観を示す図。 実施の形態1におけるデータベース分類装置30のハードウェア構成図。 実施の形態1におけるデータ統合支援システムの構成図。 実施の形態1におけるデータベース分類装置30のブロック図。 実施の形態1におけるデータベース分類装置30により得られる結果のイメージを示す図。 実施の形態1におけるデータベース分類装置30の動作の概要を示すフローチャート。 実施の形態1におけるデータベース分類装置30の分類構造入力処理を示すフローチャート。 実施の形態1におけるカラム属性61の一例を示す図。 実施の形態1におけるテーブル属性62の一例を示す図。 実施の形態1における正規化用テーブルデータ統計情報を示す図。 実施の形態1における属性セット情報を示す図。 実施の形態1における分類階層情報を示す図。 実施の形態1におけるデータベース分類装置30の属性取得処理及び類似度計算処理を示すフローチャート。 実施の形態1におけるn次元空間の距離からカラム対を求める概念図。 実施の形態1におけるカラム対からテーブル間の類似度を算出する方法を説明する図。 実施の形態1における分類階層別テーブル間類似度を示す図。 実施の形態1におけるデータベース分類装置30による分類階層算出処理を示すフローチャート。 実施の形態2におけるデータベース分類装置30により得られる結果のイメージを示す図。 実施の形態2におけるデータベース分類装置30の動作の概要を示すフローチャート。 実施の形態2におけるデータベース分類装置30の分類階層算出処理の詳細を示すフローチャート。 実施の形態2における属性セット別分類情報201を示す図。 実施の形態2におけるテーブル別属性セット情報202を示す図。 実施の形態2における分類階層順多重ソート結果203を示す図。 実施の形態2における分類階層順多重ソート結果の木構造を示す図。
符号の説明
10 データベース管理装置、20 データベース、30 データベース分類装置、40 可視化装置、50 ユーザ、31 メタデータ抽出部、32 データ分析部、33 分類構造入力部、34 分類構造管理部、35 カラム類似度算出部、36 テーブル類似度算出部、37 分類判定部、61 カラム属性、62 テーブル属性、63 正規化用テーブルデータ統計情報、70 属性セット情報、80 分類階層情報、90 階層別テーブル間類似度、201 属性セット別分類情報、202 テーブル別属性セット情報、203 分類階層順多重ソート結果、204 木構造、800 コンピュータシステム、810 CPU、811 ROM、812 RAM、813 表示装置、814 K/B、815 マウス、816 通信ボード、817 FDD、818 CDD、819 プリンタ装置、820 磁気ディスク装置、821 OS、822 ウィンドウシステム、823 プログラム群、824 ファイル群、825 バス、830 システムユニット。

Claims (5)

  1. 所定の入力を受け付け、受け付けた入力に基づいて、1〜N(Nは2以上の整数)の属性セットナンバーごとの所定のテーブル属性からなる属性セット情報と、テーブルを分類する場合の分類の優先順位を示す1〜M(Mは2以上、かつ、N以下の整数)の階層ナンバーのそれぞれについて前記属性セットナンバーのうち重複しない何れかが対応付けられた分類階層情報とを設定する設定部と、
    複数のテーブルを格納するデータベースからテーブルごとに前記属性セット情報の示す前記テーブル属性を取得する属性取得部と、
    前記分類階層情報の前記階層ナンバーに対応する前記属性セットナンバーから定まるテーブル属性を前記属性取得部が取得した前記テーブル属性の中から取り込み、取り込んだテーブル属性に基づいて、前記分類階層情報の前記階層ナンバーごとに前記データベースに格納されたそれぞれのテーブル間の類似度を示す階層別テーブル間類似度を生成する階層別テーブル間類似度生成部と、
    前記階層別テーブル間類似度生成部が前記階層ナンバーごとに生成した階層別テーブル間類似度を用いて、前記データベースが格納する複数のテーブルを分類する分類部と
    を備えたことを特徴とするテーブル分類装置。
  2. 前記設定部が設定する前記属性セット情報は、
    前記属性セットナンバーごとの所定のテーブル属性のうちの少なくともいずれかが、テーブルの構成要素であるカラムの属性を示すカラム属性を含み、
    前記属性取得部は、
    複数のテーブルを格納するデータベースからテーブルごとに前記属性セット情報の示す前記カラム属性を取得し、
    階層別テーブル間類似度生成部は、
    前記分類階層情報の前記階層ナンバーに対応する前記属性セットナンバーから定まるテーブル属性が前記カラム属性を含む場合には、そのカラム属性を前記属性取得部が取得した前記カラム属性の中から取り込み、取り込んだカラム属性をさらに加えて、前記階層ナンバーの前記階層別テーブル間類似度を生成することを特徴とする請求項1記載のテーブル分類装置。
  3. 前記階層別テーブル間類似度生成部は、
    前記分類階層情報の前記階層ナンバーごとに前記階層別テーブル間類似度を生成する場合に所定の基準にしたがって2つのテーブル間におけるカラム対を生成し、生成した前記カラム対に基づいて前記階層別テーブル間類似度を生成することを特徴とする請求項2記載のテーブル分類装置。
  4. 前記階層別テーブル間類似度生成部は、
    前記カラム対として、互いに一致するとみなされる一致カラム対と、
    互いに類似するとみなされる類似カラム対と、
    互いに一致も類似もしないとみなされる不一致カラム対とを生成することを特徴とする請求項3記載のテーブル分類装置。
  5. 前記設定部が設定する前記属性セット情報は、
    前記属性セットナンバーごとの所定のテーブル属性のうちの少なくともいずれかが統計情報であることを特徴とする請求項1記載のテーブル分類装置。
JP2007016158A 2007-01-26 2007-01-26 テーブル分類装置 Expired - Fee Related JP4902863B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007016158A JP4902863B2 (ja) 2007-01-26 2007-01-26 テーブル分類装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007016158A JP4902863B2 (ja) 2007-01-26 2007-01-26 テーブル分類装置

Publications (2)

Publication Number Publication Date
JP2008181459A JP2008181459A (ja) 2008-08-07
JP4902863B2 true JP4902863B2 (ja) 2012-03-21

Family

ID=39725296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007016158A Expired - Fee Related JP4902863B2 (ja) 2007-01-26 2007-01-26 テーブル分類装置

Country Status (1)

Country Link
JP (1) JP4902863B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8666998B2 (en) * 2010-09-14 2014-03-04 International Business Machines Corporation Handling data sets
JP5884293B2 (ja) * 2011-04-28 2016-03-15 富士通株式会社 類似文字コード群検索支援方法、類似候補抽出方法、類似候補抽出プログラムおよび類似候補抽出装置
JP5367112B2 (ja) * 2012-03-22 2013-12-11 株式会社東芝 データ分析支援装置およびデータ分析支援処理プログラム
JPWO2017064769A1 (ja) * 2015-10-14 2018-08-02 株式会社ターボデータラボラトリー 情報処理システム及びコンピュータプログラム
JP6547577B2 (ja) * 2015-10-15 2019-07-24 富士通株式会社 検査装置、検査プログラムおよび検査方法
JP6480377B2 (ja) * 2016-05-06 2019-03-06 日本電信電話株式会社 分類器学習装置、表種類分類装置、方法、及びプログラム
US20190205361A1 (en) * 2016-08-05 2019-07-04 Nec Corporation Table-meaning estimating system, method, and program
JP6495212B2 (ja) * 2016-09-16 2019-04-03 日本電信電話株式会社 分類器学習装置、表種類分類装置、方法、及びプログラム
KR101930034B1 (ko) * 2017-02-24 2019-03-14 (주)위세아이텍 데이터의 도메인을 판별하는 장치 및 그 방법
US11182394B2 (en) * 2017-10-30 2021-11-23 Bank Of America Corporation Performing database file management using statistics maintenance and column similarity
WO2019171538A1 (ja) 2018-03-08 2019-09-12 日本電気株式会社 意味推定システム、方法およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004046650A (ja) * 2002-07-12 2004-02-12 Mitsubishi Electric Corp データ管理方法およびデータベース構造
JP2004118573A (ja) * 2002-09-26 2004-04-15 Fuji Photo Film Co Ltd 画像整理装置およびプログラム

Also Published As

Publication number Publication date
JP2008181459A (ja) 2008-08-07

Similar Documents

Publication Publication Date Title
JP4902863B2 (ja) テーブル分類装置
US7502780B2 (en) Information storage and retrieval
US9053386B2 (en) Method and apparatus of identifying similar images
US8332366B2 (en) System and method for automatic weight generation for probabilistic matching
EP3752930B1 (en) Random draw forest index structure for searching large scale unstructured data
US20160283533A1 (en) Multi-distance clustering
EP2060982A1 (en) Information storage and retrieval
AU2011239618B2 (en) Ascribing actionable attributes to data that describes a personal identity
US20150186471A1 (en) System and method for approximate searching very large data
Liao et al. A sample-based hierarchical adaptive K-means clustering method for large-scale video retrieval
GB2395807A (en) Information retrieval
US11556590B2 (en) Search systems and methods utilizing search based user clustering
JP2011237879A (ja) 類似映像検索装置
US20190272341A1 (en) Layered locality sensitive hashing (lsh) partition indexing for big data applications
CN106570173B (zh) 一种基于Spark的高维稀疏文本数据聚类方法
WO2023221713A1 (zh) 图像编码器的训练方法、装置、设备及介质
WO2019023542A1 (en) METHODS AND SYSTEMS FOR OPTIMIZED VISUAL RECAPITULATION FOR TEMPORAL EVENT DATA SEQUENCES
JP2002183171A (ja) 文書データ・クラスタリングシステム
US7925617B2 (en) Efficiency in processing queries directed to static data sets
US20220222233A1 (en) Clustering of structured and semi-structured data
US10509800B2 (en) Visually interactive identification of a cohort of data objects similar to a query based on domain knowledge
WO2017065891A1 (en) Automated join detection
US20160283862A1 (en) Multi-distance similarity analysis with tri-point arbitration
JP2003316819A (ja) オブジェクト分類検索装置及びそれを実行するためのプログラム
US10803053B2 (en) Automatic selection of neighbor lists to be incrementally updated

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111216

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: 20111227

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: 20111229

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees