JP6677093B2 - 表データ検索装置、表データ検索方法、及び表データ検索プログラム - Google Patents

表データ検索装置、表データ検索方法、及び表データ検索プログラム Download PDF

Info

Publication number
JP6677093B2
JP6677093B2 JP2016121013A JP2016121013A JP6677093B2 JP 6677093 B2 JP6677093 B2 JP 6677093B2 JP 2016121013 A JP2016121013 A JP 2016121013A JP 2016121013 A JP2016121013 A JP 2016121013A JP 6677093 B2 JP6677093 B2 JP 6677093B2
Authority
JP
Japan
Prior art keywords
table data
attribute
category
value
determined
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
JP2016121013A
Other languages
English (en)
Other versions
JP2017224240A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016121013A priority Critical patent/JP6677093B2/ja
Publication of JP2017224240A publication Critical patent/JP2017224240A/ja
Application granted granted Critical
Publication of JP6677093B2 publication Critical patent/JP6677093B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、表データ検索装置、表データ検索方法、及び表データ検索プログラムに関する。
従来、検索対象の文書に類似するとして検索された各類似文書について、検索対象の文書との類似度を算出し、類似度順に検索結果を表示したり、各類似文書の概要であるスニペットを検索結果に付けて表示したりする技術が知られている。このスニペットを表示することで、検索された文書がどのような文書であるかを検索者に伝え易くすることができる。
特開2003−216624号公報
検索対象として表データ(表形式ファイル)を指定し、類似する表データを検索する場合、検索された表データの一部を含むスニペットを表示しても、どのように類似しているのかが分かりにくい場合がある。例えば、検索された表データの属性(カラム)の並び順が、検索対象の表データから変更されている場合には、情報の内容としては同じデータであっても、同じであることが分かりにくい。また、属性の並び順や属性の一部の値が類似している場合には、情報の内容としては異なるデータであっても、異なることが分かりにくい。
そこで、一側面では、表形式のデータの類似性を判定することを目的とする。
一つの案では、表データ検索装置において、各表データの各属性における値の分布の特徴を抽出する抽出部と、表データの各属性のカテゴリを判定するカテゴリ判定部と、前記抽出部により抽出された特徴に基づいて、第1の表データの各属性と、前記第1の表データに基づいて検索された第2の表データの各属性とが類似するか否かを判定する類似度判定部と、を備え、前記類似度判定部は、前記カテゴリ判定部により判定されたカテゴリが一致する前記第1の表データの各属性、及び前記第2の表データの各属性について、類似するか否かを判定する

一側面によれば、表形式のデータの類似性を判定することが可能となる。
実施形態における表データ検索システムの構成例を示す図である。 実施の形態における表データ検索装置のハードウェア構成例を示す図である。 表データ検索装置の機能ブロック図である。 各表データに対する検索用のメタデータを作成する処理の一例を示すフローチャートである。 特徴抽出部により抽出される各属性の特徴について説明するための図である。 表データを検索する処理の一例を示すフローチャートである。 属性の特徴を抽出する処理の一例を示すフローチャートである。 各属性の類似度を判定する処理の一例を示すフローチャートである。 検索された表データの属性に対する表示を、類似度に応じて制御する例について説明する図である。 第1の実施例に係るFPを説明するための図である。 n×nの有効フラグで類似性を判定する処理の一例を示す図である。 転置インデックスを用いた比較を説明するための図である。 第2の実施例に係るFPの特性を説明するための図(1)である。 第2の実施例に係るFPの特性を説明するための図(2)である。 第2の実施例に係る表データ検索部の処理を説明するための図である。 キーワードと出現回数との関係を示す図である。 第3の実施例に係る表データ検索部の処理を説明するための図である。 残す対象とする特徴L−Lを説明するための図である。
以下、図面に基づいて本発明の実施形態を説明する。図1は、実施形態における表データ検索システムの構成例を示す図である。図1において、表データ検索システム1は、表データ検索装置10、及び情報端末20を含む。
表データ検索装置10と情報端末20とは、LAN(Local Area Network)やインターネット等の通信回線によって通信可能に接続される。
情報端末20は、例えば、PC(Personal Computer)、タブレット型端末、スマートフォン等の端末である。本実施の形態において、情報端末20は、検索対象の表形式のデータ(以下、「表データ」という。)の指定や、検索対象の表データに類似するとして検索された表データの表示等に利用される。
表データ検索装置10は、情報端末20にて検索対象として指定された表データに類似している表データを検索し、検索結果を情報端末20に通知する。なお、表データとは、各属性(カラム)に対する値を有するデータであり、例えばCSV(comma‐separated values)形式のファイル等のデータである。
図2は、実施の形態における表データ検索装置10のハードウェア構成例を示す図である。図2の表データ検索装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105等を有する。
表データ検索装置10での処理を実現する表データ検索プログラムは、記録媒体101によって提供される。表データ検索プログラムを記録した記録媒体101がドライブ装置100にセットされると、表データ検索プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、表データ検索プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされた表データ検索プログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って表データ検索装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
なお、記録媒体101の一例としては、CD−ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
情報端末20のハードウェア構成は、図2に示す表データ検索装置10のハードウェア構成例と同様でもよい。
次に、図3を参照し、表データ検索装置10の機能構成について説明する。図3は、表データ検索装置10の機能ブロック図である。表データ検索装置10は、特徴抽出部12、カテゴリ判定部13、類似度判定部14、表データ検索部15、表示制御部16、及び通信部17を有する。これら各部は、表データ検索装置10にインストールされた1以上のプログラムが、表データ検索装置10のCPU104に実行させる処理により実現される。
また、表データ検索装置10は、表データを記憶する表データ記憶部11を有する。表データ記憶部11は、例えば、補助記憶装置102等を用いて実現される。
特徴抽出部12は、表データの各属性における値の分布等の特徴を抽出する。
カテゴリ判定部13は、表データの各属性の内容(カテゴリ)を判定する。カテゴリ判定部13は、例えば、氏名、年齢、性別、生年月日、住所、身長、体重、年収、メールアドレス、ID、暗証番号、郵便番号、日付、マイナンバー、病名コード等のカテゴリを判定する。
類似度判定部14は、特徴抽出部12により抽出された特徴に基づいて、検索対象の表データの属性と、検索された各表データの属性との類似度を判定する。
表データ検索部15は、検索対象の表データに類似する表データを、表データ記憶部11に記憶されている表データ群から検索する。
表示制御部16は、類似度判定部14により判定された類似度に応じて、検索された表データの情報端末20での表示を制御する。
通信部17は、情報端末20との通信を制御する。
<メタデータ作成>
次に、図4、図5を参照して、表データ記憶部11に記憶されている被検索対象の各表データに対する検索用のメタデータを作成する処理の詳細例について説明する。図4は、各表データに対する検索用のメタデータを作成する処理の一例を示すフローチャートである。
ステップS101において、表データ検索部15は、表データ記憶部11に記憶されている各表データから、検索用のインデックスを抽出する。
続いて、特徴抽出部12は、各表データにおける各属性(カラム)の格納タイプを抽出する(ステップS102)。なお、この処理の詳細は後述する。
続いて、特徴抽出部12は、各表データにおける各属性の分布タイプを抽出する(ステップS103)。なお、この処理の詳細は後述する。
続いて、表データ検索部15は、各表データに対応付けて、検索用のインデックス、格納タイプ、及び分布タイプをメタデータとして表データ記憶部11に格納する(ステップS104)。
図5は、特徴抽出部12により抽出される各属性の特徴について説明するための図である。図5(A)には、特徴抽出部12により抽出される各属性の特徴の一例が示されている。
表データの各属性について、格納タイプ、及び分布タイプ(「分布の特徴」の一例)が、属性の特徴として抽出される。格納タイプには、数値であるか、文字列であるかを示すデータと、表現形式、長さタイプ、カテゴリを示すデータが含まれる。
表データの全ての行データに関して、その値が数字(数値)であると判定された属性については、表現形式として、2進数、8進数、10進数、16進数等のいずれかが含まれる。また、長さタイプとして、固定長(桁数)、または可変長が含まれる。カテゴリ(内容)として、電話番号、年齢、生年月日、日付、郵便番号、クレジットカード番号、マイナンバー、0〜100の間の数字、1〜5の間の数字等のいずれかが含まれる。
表データの全ての行データに関して、その値が文字列(数字のみではない)と判定された属性については、表現形式として、アルファベット、アルファベット+数字、カナ、ひらがな、漢字等のいずれかが含まれる。また、長さタイプとして、固定長(桁数)、または可変長が含まれる。カテゴリ(内容)として、住所、氏名等のいずれかが含まれる。
また、分布タイプとして、属性に対する各行データの値の分布形状と、属性に対する各行データの値の特徴が抽出される。分布形状には、例えば、正規分布、t分布、F分布、二項分布、カイ二乗分布、ポアソン分布、人口分布等がある。値の特徴には、例えば、平均値、中央値、最大値、最長値、有効数値範囲等がある。
図5(B)には、特徴抽出部12により抽出された各属性の特徴を示すデータの一例が示されている。図5の例では、最初の属性の格納タイプは「数字」であり、表現形式は「10進数」、長さは「固定長」の「8」桁であり、属性のカテゴリ(内容)は「生年月日」である。そして、属性に対する各行データの値の分布タイプは、分布形状が「人口分布」であり、値の特徴である平均値、中央値、最小値、最大値がそれぞれ、「19700101」、「19800101」、「19000101」、「20150101」である。
<表データ検索処理>
次に、図6を参照して、検索対象の表データに基づいて、表データ記憶部11に記憶されている各表データから類似しているものを検索する処理の詳細例について説明する。図6は、表データを検索する処理の一例を示すフローチャートである。
ステップS111において、表データ検索部15は、情報端末20から、検索対象の表データを受信する。当該表データは、情報端末20において、ユーザによって指定されたものである。
続いて、表データ検索部15は、表データ記憶部11に記憶されている表データ群から、検索対象の表データに類似する表データを検索する(ステップS112)。なお、この処理の詳細は後述する。
続いて、特徴抽出部12は、検索対象の表データにおける各属性の格納タイプを抽出する(ステップS113)。なお、この処理の詳細は後述する。
続いて、特徴抽出部12は、検索対象の表データにおける各属性の分布タイプを抽出する(ステップS114)。なお、この処理の詳細は後述する。
続いて、類似度判定部14は、検索された各表データに対応付けられた各属性の特徴(格納タイプ、及び分布タイプ)と、検索対象の表データから抽出された各属性の特徴を比較して、類似度を判定する(ステップS115)。なお、この処理の詳細は後述する。
続いて、表示制御部16は、類似度判定部14により判定された類似度に応じて、表データ検索部15により検索された表データの属性に対するデータを作成し、出力する(ステップS116)。例えば、情報端末20に、検索された各表データの各属性に対し、類似度に応じたデータを付加して表示させる。
なお、ステップS115で判定した類似度に基づいて、検索結果を更新してもよい。例えば、類似度が高いと判定された表データの表示順が上位にされてもよい。
<<属性の特徴抽出>>
次に、図4のステップS102、S103、及び図6のステップS113、S114の、特徴抽出部12による、各属性の特徴(格納タイプ、及び分布タイプ)を抽出する処理の詳細例について説明する。図7は、属性の特徴を抽出する処理の一例を示すフローチャートである。
ステップS201において、特徴抽出部12は、表データに含まれる各属性のうち、一の属性(以下、「対象属性」という。)を処理対象として選択する。
続いて、特徴抽出部12は、対象属性が、数字であるか文字列であるか、表現形式、及び長さタイプの情報を抽出する(ステップS202)。
続いて、特徴抽出部12は、対象属性のカテゴリを判定する(ステップS203)。
なお、表データにおける対象属性のカテゴリは、例えば以下のように判定可能である。
(1)対象属性に対する各行データの値と、予め記憶されている人名辞書に含まれるデータとの類似度が、所定の閾値以上である場合に、対象属性のカテゴリは「氏名」カテゴリであると判定可能である。
(2)対象属性に対する各行データの値が、「男」、「女」等の性別を表す文字又は文字列である場合に、対象属性のカテゴリは「性別」カテゴリであると判定可能である。
(3)対象属性に対する各行データの値が、日付の表現形式と一致し、かつ、数値範囲が日付と同等である場合、対象属性のカテゴリは、「生年月日」、または「日付」であると判定可能である。
(4)対象属性に対する各行データの値と、予め記憶されている住所辞書に含まれるデータとの類似度が、所定の閾値以上である場合に、「住所」カテゴリであると判定可能である。
(5)対象属性に対する各行データの値が、メールアドレスの表現形式と一致する場合、「メールアドレス」カテゴリであると判定可能である。
(6)対象属性に対する各行データの値が、郵便番号の表現形式(例えば7桁の数字)と一致し、かつ、予め記憶されている郵便番号辞書に含まれるいずれかの郵便番号と一致する場合、対象属性のカテゴリは、「郵便番号」であると判定可能である。
(7)対象属性に対する各行データの値が、マイナンバーの表現形式(例えば12桁の数字)と一致し、かつ、対象属性に対する各行データの値をマイナンバーとみなした場合における当該マイナンバー用のチェックデジットが正しい場合に、対象属性のカテゴリは、「マイナンバー」のカテゴリであると判定可能である。
(8)対象属性に対する各行データの値が、クレジットカード番号の表現形式(15桁又は16の数字)と一致し、かつ、対象属性に対する各行データの値をクレジットカード番号とみなした場合における当該クレジットカード番号用のチェックデジットが正しい場合に、対象属性のカテゴリは、「クレジットカード」カテゴリであると判定可能である。
(9)対象属性に対する各行データの値をソートし、隣接する値の間の距離の中央値、及び最大値を算出する。続いて、隣接する値の間の距離の中央値と最大値の差が所定の閾値以上であれば、対象属性のカテゴリは、「社員番号」のカテゴリであると判定可能である。これは、対象属性に対する各行データの値が、例えば入社年度+3桁で表現される社員番号であり、1年間に入社する社員が平均100人、3桁の番号がシリアルに発番されているとすると、隣接する値の間の距離の中央値、及び最大値は、それぞれ1、及び900となり、所定の閾値以上である(分布に連続性が無い)と判定可能であるためである。
(10)対象属性に対する各行データの値の分布が、多様な値が出現する均等分布に従う場合、対象属性のカテゴリは、「ID」カテゴリであると判定可能である。
(11)対象属性に対する各行データの値の分布が、特定の値(例えば生年月日等)が出現する均等分布に従う場合、対象属性のカテゴリは、「暗証番号」カテゴリであると判定可能である。
(12)対象属性に対する各行データの値の分布が、パレート分布に従う場合、対象属性のカテゴリは、「病名コード」カテゴリであると判定可能である。なお、病名コードの場合、国際統計分類で使用されているICD−10では、先頭のアルファベットが全21章から成る大分類に続く数字が中分類に使用されている(風邪のコード、J00)。
続いて、特徴抽出部12は、対象属性のカテゴリが判定できたか否か判定する(ステップS204)。
対象属性のカテゴリが判定できた場合(ステップS204でYES)、特徴抽出部12は、カテゴリが判定できた場合のルールに応じて、対象属性に対する各行データの値の統計的な特徴を示すデータである分布タイプを判定する(ステップS205)。特徴抽出部12は、カテゴリが判定できた場合に応じた所定の複数種類の分布形状(例えば、ユニーク分布、均等分布、パレート分布等)の中から、例えば最小二乗法により、最も近い分布形状を選択する。また、特徴抽出部12は、カテゴリが判定できた場合に応じた所定の値の特徴(例えば、出現種類数、最大出現回数、最少出現回数、平均出現回数等)を算出する。なお、出現種類数は、対象属性に対する各行データの値の種類の数である。最大出現回数は、対象属性に対する各行データの値の各種類のうち、最も多い値の数である。最少出現回数は、対象属性に対する各行データの値の各種類のうち、最も少ない値の数である。平均出現回数は、対象属性に対する各行データの値の種類毎の平均値である。
対象属性のカテゴリが判定できない場合(ステップS204でYES)、特徴抽出部12は、カテゴリが判定できない場合のルールに応じて、対象属性に対する各行データの値の統計的な特徴を示すデータである分布タイプを判定する(ステップS206)。特徴抽出部12は、カテゴリが判定できない場合に応じた所定の複数種類の分布形状(例えば、正規分布、t分布、F分布等)の中から、例えば最小二乗法により、最も近い分布形状を選択する。また、特徴抽出部12は、カテゴリが判定できない場合に応じた所定の値の特徴(例えば、最大値、最小値、平均値等)を算出する。なお、これにより、例えば、年齢、身長、体重、年収等のカテゴリを判定(区別)してもよい。年齢、身長、及び体重と、年収とは、最小値及び最大値が異なるため、最大値及び最小値の少なくとも一方に基づいて区別できる。また、年齢、身長、体重は、最小値及び最大値が類似することもあるが、年齢は人口分布に従い、身長、体重は正規分布に従うため、分布の種別の違いに基づいて、年齢と、身長及び体重とを区別できる。また、身長と体重の平均値を比較することにより、身長と体重とを区別できる。
<<属性の類似度判定>>
次に、図6のステップS114の詳細例について説明する。図8は、各属性の類似度を判定する処理の一例を示すフローチャートである。なお、類似度判定部14は、以下の処理を、検索対象の表データにおける各々の属性について、検索された各表データにおける各々の属性に対して実行する。以下、検索対象の表データの各属性のうち、処理対象とされている属性を「対象属性」という。
ステップS301において、類似度判定部14は、検索対象の表データにおける対象属性と、検索された一の表データにおける一の属性との間で、表現形式、長さ、及びカテゴリが一致するか否か判定する。なお、表現形式は、例えば、2進数、8進数、10進数、16進数、アルファベット、アルファベット+数字、カナ、ひらがな、漢字等のデータである。長さは、対象属性に対する各行データの値の長さが固定長であるか、可変長であるか、固定長である場合の桁数等のデータである。
表現形式、長さ、及びカテゴリのうちの少なくともいずれか一つが一致しない場合(ステップS301でNO)、類似度判定部14は、属性が類似していない(非類似)と判定し(ステップS302)、処理を終了する。
表現形式、長さ、及びカテゴリの全てが一致する場合(ステップS301でYES)、類似度判定部14は、検索対象の表データにおける対象属性の分布形状と、検索された表データにおける対象属性の分布形状とが一致するか否か判定する(ステップS303)。
分布形状が一致する場合(ステップS303でYES)、類似度判定部14は、分布形状が一致すると判定する(ステップS304)。
分布形状が一致しない場合(ステップS303でNO)、又はステップS304に続いて、類似度判定部14は、検索対象の表データにおける対象属性の値の特徴と、検索された表データにおける対象属性の値の特徴が類似するか判定する(ステップS305)。類似度判定部14は、例えば、検索された表データにおける対象属性の最大値や最小値と、検索された表データにおける対象属性の最大値や最小値の差が、所定の閾値以下である場合に、比較された双方の値の特徴が類似すると判定する。
属性の値の特徴が類似する場合(ステップS305でYES)、類似度判定部14は、属性の値の特徴が類似すると判定する(ステップS306)。
属性の値の特徴が類似しない場合(ステップS305でNO)、又はステップS306に続いて、類似度判定部14は、分布形状が類似するか、値の特徴が類似するかに応じて、属性間の類似度を算出する(ステップS307)。類似度判定部14は、例えば、分布形状、及び値の特徴の両方が類似している場合、類似度を「高」と判定する。値の特徴のみが類似している場合、類似度を「中」と判定する。分布形状のみが類似している場合、類似度を「低」と判定する。分布形状、及び値の特徴の両方が類似していない場合、類似度を「非類似」と判定する。
比較される一方の属性が体重の値であり、他方の属性が年齢の値である場合を例として、類似度の算出方法を説明する。体重の値を示す属性における値の特徴は、最小値が40、最大値が95、平均値が65であり、分布形状は正規分布であったとする。また、年齢の値を示す属性における値の特徴は、最小値が20、最大値が65、平均値が45であり、分布形状は人口分布であったとする。
この場合、分布形状が正規分布と人口分布で異なるため、分布形状が類似しないと判定される。また、値の特徴は、最小値、最大値、平均値の差がそれぞれの閾値以内であれば、類似していると判断される。この場合、値の特徴のみが類似しているため、類似度は「中」と判定される。
<<表示制御>>
次に、図6のステップS115の詳細例について説明する。図9は、検索された表データの属性に対する説明文の表示態様を、類似度に応じて制御する例について説明する図である。
図9(A)には、検索対象の表データの一例が示されている。図9(B)には、検索された表データの属性に対する説明文の表示態様が、類似度に応じて制御されている例が示されている。
図9(B)の例では、検索された表データの各属性に対する説明文の表示態様について、検索対象の表データに同じカテゴリの属性が存在する属性に対する説明文501の枠を実線で表示させ、存在しない属性に対する説明文502の枠を破線で表示させている。また、検索された表データの属性のうち、検索対象の表データに同じカテゴリの属性が存在する属性については、類似度判定部14により判定された類似度が高い程、枠内が濃い色(例えば、密な斜線)で表示されている。例えば、説明文501は、類似度が高い属性に対応するため、枠内が濃い色で表示され、説明文502は、類似度が比較的低い属性に対応するため、枠内が比較的薄い色(例えば、疎な斜線)で表示されている。また、各属性のカテゴリ、分布形状、値の特徴等を示す説明文が付加されている。それにより、検索のランキングの順位による表示だけでは分かりにくい、表データの類似度を、より分かりやすく表示することができる。
また、表示制御部16は、図9(B)の検索結果を表示する際に、個人情報が表示されないよう、例えば氏名の一部を非表示としたり、住所を市町村レベルまでの表示に止めたりするように制御してもよい。
<類似表データ検索>
次に、図10を参照して、図6のステップS112の表データ検索部15による、被検索対象の表データ群から、検索対象の表データに類似する表データを検索する処理の詳細例について説明する。
表データ検索部15は、検索対象の表データ、及び被検索対象の各表データから、表データの特徴を表すフィンガープリント(FP)を取得し、FPの類似性に基づいて、検索対象の表データに類似する表データを検索する。
<<表データ検索部の第1の実施例>>
図10は、第1の実施例に係るFPを説明するための図である。表データ検索部15は、例えば、表データからキーワードとその並びを抽出し、特定範囲内のキーワードの向きつきの並びを特徴とする。例えば、表データのある行データとして「キーワード1,キーワード2,キーワード3,キーワード4」が存在した場合に、かかる行データの特徴は、図10の特徴10aに示すように、6つのキーワードの組となる。
表データ検索部15は、特徴の一致数を基にして、テキスト間の類似性を判定する。例えば、第2表データの特徴が、図10の特徴10bであるものとする。第1表データの特徴10aと、第2表データの特徴10bとを比較すると、特徴10bに含まれる5つのキーワードの組のうち、4つのキーワードの組が、特徴10aのキーワードの組と一致する。具体的には「キーワード1→キーワード2、キーワード1→キーワード3、キーワード1→キーワード4、キーワード3→キーワード4」が一致する。この一致数が多いほどお互いに類似した表データであるといえる。
特徴をデータとして扱う際には、キーワードのままでは扱いにくい。このため、キーワードをハッシュ化し、定数nによる余剰演算(mod)を実行し範囲を狭めたハッシュ値にすることで、表データの特徴をn×nの有効グラフで表現する。以下において、ハッシュ値を定数nでmodした値と定義する。modする前のハッシュ値を、中間ハッシュ値と定義する。
例えば、nの値を10000程度にした上でキーワードをハッシュ化する場合には、異なるキーワード間で同一のハッシュ値になる可能性があり、精度が低下する場合がある。しかし、特徴をキーワードの組としているため、異なるキーワード間で多少同一のハッシュ値になったとしても、特徴に含まれるキーワードの組の両方の値が、異なる表データ間で同一のハッシュ値に変換される確率は低い。
図11は、n×nの有効フラグで類似性を判定する処理の一例を示す図である。図11のFP11aは、表データAのFPをn×nの有効グラフで表したものである。FP11bは、表データBのFPをn×nの有効グラフで表したものである。例えば、表データAについて、キーワードの組「キーワード1→キーワード2」が含まれ、キーワード1のハッシュ値が「0」、キーワード2のハッシュ値が「2」であるものとする。この場合には、FP11aについて、「0」の行と「2」の列とが交差する部分の値が「1」に設定される。
FP11aとFP11bとの間のandを取ることで、比較結果11cが得られる。比較結果11cに含まれる「1」の数が、表データAと表データBとの類似性を示す値となる。図11に示す例では、表データAと表データBとの類似性は「4」となる。
表データ検索部15は、転置インデックスを用いて、各表データの比較を行ってもよい。
図12は、転置インデックスを用いた比較を説明するための図である。図12について、FP512は、検索表データのFPを示すものである。FP512に含まれる各特徴は、検索表データに含まれるキーワードの組から算出されるハッシュ値である。転置インデックス513は、ログ中に含まれる複数の表データの転置インデックスであり、特徴と文書識別子とを対応付ける。転置インデックス513の特徴は、表データに含まれるキーワードの組から算出されるハッシュ値である。文書識別子は、表データを一意に識別する情報である。例えば、転置インデックス513の1行目を参照すると、文書識別子「001、003、007、・・・」により識別される各ファイルが、特徴「484893」を有していることを示す。
FP512と転置インデックス513とを比較すると、比較結果514が得られる。例えば、比較結果514は、文書識別子と特徴量とを対応付ける。このうち、特徴量は、該当表データに含まれる特徴のうち、検索表データFP512と一致する特徴の数を示すものであり、特徴量が多いほど、類似性が高いことを示す。
<<表データ検索部の第2の実施例>>
ここで、表データでは、表データを取得する際のSQL文等に応じて、同じ情報であっても、属性の並び順が異なる場合がある。そのため、第1の実施例では、転置インデックスのデータが増加し、検索コストがかかるようになる。そこで、表データ検索部15は、転置インデックスのデータを以下のように削減してもよい。
図13、図14は、第2の実施例に係るFPの特性を説明するための図である。例えば、図13に示すように、キーワードk1とキーワードk2との特徴t1が複数個出現した場合には、1つにまとめられる。このため、各キーワードの配列を示す特徴は出現回数を持っているがFPのデータ上では、図14に示すような情報に丸められ、出現回数の情報は削除される。
図14において、各キーワード横の括弧内の数字は、表データに含まれるキーワードの出現回数を示す。例えば、キーワードk1(50)は、表データに含まれるキーワードk1の出現回数が、50回であることを示す。
図14に示す特徴の出現回数は、表データに含まれるキーワードの配列が出現する回数を示す。例えば、特徴t1に対応するキーワードk1とキーワードk2との配列が表データ上に30回出現することが示される。なお、FPのデータ上では、係る出現回数の情報は削除され、出現回数については、各特徴の間で区別されない。なお、図14に示す例では、各特徴が、特徴の出現回数の昇順で並べられている。
表データ検索部15は、出現回数の低いキーワードを含む特徴を残しつつ、出現回数の低いキーワードを含む特徴を削除することで、類似性判定の精度を落とさずに、FPのデータ量を削減する。
図15は、第2の実施例に係る表データ検索部15の処理を説明するための図である。図15に示すように、表データ検索部15は、特徴の出現回数に基づいて、特徴の出現回数が閾値以下となる特徴t98,t99,t100を削除対象候補として選択する。表データ検索部15は、削除対象候補の特徴のうち、特徴を削除しても特徴の有するキーワードが他の特徴で補完できる特徴を削除する。
例えば、図15に示す例では、特徴t100のキーワードkBは、特徴t99に存在する。特徴t100のキーワードkAは、特徴t98に存在する。特徴t100の有するキーワードは他の特徴t98,t99で補完することができるため、表データ検索部15は特徴t100を削除する。
<<表データ検索部の第3の実施例>>
第2の実施例では、削除対象を細かく確認するため、処理負荷が大きくなる場合がある。以下においては、図15で説明した第2の実施例の処理と同じ考え方で削除対象を細かく確認する処理を省いた、表データ検索部15の処理の一例について説明する。
図15で説明した処理では、特徴の出現回数を基に削除する特徴を絞り込んだが、キーワードの出現回数に着目して処理を行ってもよい。表データ検索部15は、表データ内に出現するキーワードの出現回数をキーワード毎に計数し、出現回数を基にしてキーワードをグループHまたはグループLに分類する。
図16は、キーワードと出現回数との関係を示す図である。図16の縦軸は出現回数を示し、横軸はキーワードに対応する。例えば、キーワードは、出現回数の多いものから順に左側から右側に並ぶ。図16の分割ポイント520よりも左側のキーワードは、グループHに属する。分割ポイント520よりも右側のキーワードは、グループLに属する。表データ検索部15は、出現回数が均等になるように、分割ポイント520を設定する。例えば、表データ検索部15は、グループHに属する各キーワードの出現回数の合計数と、グループLの属する各キーワードの出現回数の合計数とが同じ数になるように分割ポイント520を設定する。以下の説明において、グループHに属するキーワードをキーワードH、グループLに属するキーワードをキーワードLと適宜表記する。また、キーワードLとキーワードLとの配列を示す特徴を、特徴L−Lと表記する。
図17は、第3の実施例に係る表データ検索部15の処理を説明するための図(2)である。表データ検索部15は、表データ35上に一定範囲35aを設定し、特徴L−Lをした場合の残りの特徴の数を計数する。表データ検索部15は、計数した特徴の数が所定数未満である場合には、削除予定となる特徴L−Lのうち、一部を残すようにする。表データ検索部15は、一定範囲35aをずらしつつ、上記処理を繰り返し実行する。
表データ検索部15は、残す対象となる特徴L−Lを、特徴L−Lを構成するキーワードLの出現回数に基づいて特定する。図18は、残す対象とする特徴L−Lを説明するための図である。図18の横軸は、特徴L−Lを構成するキーワードLのペアうち、一方のキーワードLの出現回数を示し、縦軸は、他方のキーワードLの出現回数を示す。例えば、縦軸は、出現回数はキーワードLのペアのうち、出現回数の多いキーワードLの出現回数とする。
例えば、表データ検索部15は、全ての特徴L−Lのうち、キーワードLのペアの出現回数が多い特徴L−Lを残す。図18に示す例では、表データ検索部15は、領域36に含まれるキーワードLのペアを有する特徴L−Lを残し、それ以外の特徴L−Lを削除する。表データ検索部15がこのような処理を実行することにより、表データの全体的な特徴を残しながら最低限の部分的な特徴を残すことができ、類似判定の精度が落ちることを抑止することができる。
<変形例>
上述した実施形態は、情報漏洩の原因を調査するシステムにも適用できる。この場合、表データ検索装置10は、例えば、検索対象の表データが印刷等により外部に出力された際に、出力された表データの特徴を抽出して、出力したユーザのIDと共にメタデータとして格納しておく。そして、情報漏洩が判明した際に、漏洩した表データを検索対象とし、格納されているメタデータに基づいて、類似度が高い表データを、当該表データを出力したユーザIDを取得する。それにより、情報漏洩の原因を調査できる。
<まとめ>
表データ(表形式ファイル)は、表データを取得する際のSQL文等に応じて、同じ情報であっても、属性の並び順が異なる場合がある。そのため、検索された表データの一部をスニペットとして表示しても、同じ情報であることが分かりにくい。
また、従来技術では、属性の並び順や値が類似しているが、属性の値の分布の特徴が異なる場合、データが異なることをユーザに伝えることができない。
上述した実施形態によれば、表データの各属性における値の分布の特徴を抽出し、抽出された特徴に基づいて、検索対象の表データの属性と、被検索対象の表データの属性の類似度を判定する。それにより、表形式のデータの類似性の判定を容易にすることが可能となる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
表データ検索装置10の各機能部は、例えば1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。また、表データ検索装置10と情報端末20とを一体として構成してもよい。
以上の説明に関し、更に以下の項を開示する。
(付記1)
各表データの各属性における値の分布の特徴を抽出する抽出部と、
前記抽出部により抽出された特徴に基づいて、第1の表データの各属性と、前記第1の表データに基づいて検索された第2の表データの各属性とが類似するか否かを判定する類似度判定部と、
を備えることを特徴とする表データ検索装置。
(付記2)
前記類似度判定部により類似していると判定された場合、検索された表データの各属性の表示態様を変化させる表示制御部を備える、
ことを特徴とする付記1記載の表データ検索装置。
(付記3)
前記抽出部は、表データの各属性における値の分布形状、平均値、中央値、最大値、最小値、出現種類数、最大出現回数、最少出現回数、及び平均出現回数のうちの少なくとも1つを抽出する、
ことを特徴とする付記1または2記載の表データ検索装置。
(付記4)
表データの各属性のカテゴリを判定するカテゴリ判定部を備え、
前記類似度判定部は、前記カテゴリ判定部により判定されたカテゴリが一致する前記第1の表データの各属性、及び前記第2の表データの各属性について、類似するか否かを判定する、
ことを特徴とする付記1乃至3のいずれか一項に記載の表データ検索装置。
(付記5)
前記抽出部は、前記カテゴリ判定部によりカテゴリが判定できない属性について、カテゴリが判定できない場合の所定のルールに応じて、値の分布の特徴を抽出する、
ことを特徴とする付記4記載の表データ検索装置。
(付記6)
コンピュータが、
各表データの各属性における値の分布の特徴を抽出する処理と、
前記抽出する処理により抽出された特徴に基づいて、第1の表データの各属性と、前記第1の表データに基づいて検索された第2の表データの各属性とが類似するか否かを判定する処理と、
を実行することを特徴とする表データ検索方法。
(付記7)
前記判定する処理により類似していると判定された場合、検索された表データの各属性の表示態様を変化させる処理と、
を実行することを特徴とする付記6記載の表データ検索方法。
(付記8)
前記抽出する処理は、表データの各属性における値の分布形状、平均値、中央値、最大値、最小値、出現種類数、最大出現回数、最少出現回数、及び平均出現回数のうちの少なくとも1つを抽出する、
ことを特徴とする付記6または7記載の表データ検索方法。
(付記9)
表データの各属性のカテゴリを判定する処理を実行し、
前記類似するか否かを判定する処理は、前記カテゴリを判定する処理により判定されたカテゴリが一致する前記第1の表データの各属性、及び前記第2の表データの各属性について、類似するか否かを判定する、
ことを特徴とする付記6乃至8のいずれか一項に記載の表データ検索方法。
(付記10)
前記抽出する処理は、前記カテゴリを判定する処理によりカテゴリが判定できない属性について、カテゴリが判定できない場合の所定のルールに応じて、値の分布の特徴を抽出する、
ことを特徴とする付記9記載の表データ検索方法。
(付記11)
コンピュータに、
各表データの各属性における値の分布の特徴を抽出する処理と、
前記抽出する処理により抽出された特徴に基づいて、第1の表データの各属性と、前記第1の表データに基づいて検索された第2の表データの各属性とが類似するか否かを判定する処理と、
を実行させることを特徴とする表データ検索プログラム。
(付記12)
前記判定する処理により類似していると判定された場合、検索された表データの各属性の表示態様を変化させる処理と、
を実行させることを特徴とする付記6記載の表データ検索プログラム。
(付記13)
前記抽出する処理は、表データの各属性における値の分布形状、平均値、中央値、最大値、最小値、出現種類数、最大出現回数、最少出現回数、及び平均出現回数のうちの少なくとも1つを抽出する、
ことを特徴とする付記6または7記載の表データ検索プログラム。
(付記14)
表データの各属性のカテゴリを判定する処理を実行し、
前記類似するか否かを判定する処理は、前記カテゴリを判定する処理により判定されたカテゴリが一致する前記第1の表データの各属性、及び前記第2の表データの各属性について、類似するか否かを判定する、
ことを特徴とする付記6乃至8のいずれか一項に記載の表データ検索プログラム。
(付記15)
前記抽出する処理は、前記カテゴリを判定する処理によりカテゴリが判定できない属性について、カテゴリが判定できない場合の所定のルールに応じて、値の分布の特徴を抽出する、
ことを特徴とする付記9記載の表データ検索プログラム。
10 表データ検索装置
11 表データ記憶部
12 特徴抽出部(抽出部)
13 カテゴリ判定部
14 類似度判定部
15 表データ検索部
16 表示制御部
17 通信部
20 情報端末

Claims (6)

  1. 各表データの各属性における値の分布の特徴を抽出する抽出部と、
    表データの各属性のカテゴリを判定するカテゴリ判定部と、
    前記抽出部により抽出された特徴に基づいて、第1の表データの各属性と、前記第1の表データに基づいて検索された第2の表データの各属性とが類似するか否かを判定する類似度判定部と、
    を備え
    前記類似度判定部は、前記カテゴリ判定部により判定されたカテゴリが一致する前記第1の表データの各属性、及び前記第2の表データの各属性について、類似するか否かを判定する、
    ることを特徴とする表データ検索装置。
  2. 前記類似度判定部により類似していると判定された場合、検索された表データの各属性の表示態様を変化させる表示制御部を備える、
    ことを特徴とする請求項1記載の表データ検索装置。
  3. 前記抽出部は、表データの各属性における値の分布形状、平均値、中央値、最大値、最小値、出現種類数、最大出現回数、最少出現回数、及び平均出現回数のうちの少なくとも1つを抽出する、
    ことを特徴とする請求項1または2記載の表データ検索装置。
  4. 前記抽出部は、前記カテゴリ判定部によりカテゴリが判定できない属性について、カテゴリが判定できない場合の所定のルールに応じて、値の分布の特徴を抽出する、
    ことを特徴とする請求項1から3のいずれか一項に記載の表データ検索装置。
  5. コンピュータが、
    各表データの各属性における値の分布の特徴を抽出する処理と、
    表データの各属性のカテゴリを判定する処理と、
    前記抽出する処理により抽出された特徴に基づいて、第1の表データの各属性と、前記第1の表データに基づいて検索された第2の表データの各属性とが類似するか否かを、前記判定する処理より判定されたカテゴリが一致する前記第1の表データの各属性、及び前記第2の表データの各属性について判定する処理と、
    を実行することを特徴とする表データ検索方法。
  6. コンピュータに、
    各表データの各属性における値の分布の特徴を抽出する処理と、
    表データの各属性のカテゴリを判定する処理と、
    前記抽出する処理により抽出された特徴に基づいて、第1の表データの各属性と、前記第1の表データに基づいて検索された第2の表データの各属性とが類似するか否かを、前記判定する処理より判定されたカテゴリが一致する前記第1の表データの各属性、及び前記第2の表データの各属性について判定する処理と、
    を実行させることを特徴とする表データ検索プログラム。
JP2016121013A 2016-06-17 2016-06-17 表データ検索装置、表データ検索方法、及び表データ検索プログラム Active JP6677093B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016121013A JP6677093B2 (ja) 2016-06-17 2016-06-17 表データ検索装置、表データ検索方法、及び表データ検索プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016121013A JP6677093B2 (ja) 2016-06-17 2016-06-17 表データ検索装置、表データ検索方法、及び表データ検索プログラム

Publications (2)

Publication Number Publication Date
JP2017224240A JP2017224240A (ja) 2017-12-21
JP6677093B2 true JP6677093B2 (ja) 2020-04-08

Family

ID=60687029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016121013A Active JP6677093B2 (ja) 2016-06-17 2016-06-17 表データ検索装置、表データ検索方法、及び表データ検索プログラム

Country Status (1)

Country Link
JP (1) JP6677093B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209663B (zh) * 2018-02-14 2023-06-20 阿里巴巴集团控股有限公司 搜索范围确定的方法、装置和存储介质
CN110866042B (zh) * 2019-10-11 2023-05-12 平安科技(深圳)有限公司 表格智能查询方法、装置及计算机可读存储介质
JP7350674B2 (ja) 2020-02-26 2023-09-26 株式会社東芝 情報処理装置、情報処理方法、およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271656A (ja) * 2002-03-19 2003-09-26 Fujitsu Ltd 関係付候補生成装置,関係付候補生成方法,関係付システム,関係付候補生成プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
JP2004086782A (ja) * 2002-08-29 2004-03-18 Hitachi Ltd 異種データベース統合支援装置

Also Published As

Publication number Publication date
JP2017224240A (ja) 2017-12-21

Similar Documents

Publication Publication Date Title
CN109635296B (zh) 新词挖掘方法、装置计算机设备和存储介质
CA2748625C (en) Entity representation identification based on a search query using field match templates
CN110377558B (zh) 文档查询方法、装置、计算机设备和存储介质
US8438183B2 (en) Ascribing actionable attributes to data that describes a personal identity
JP6007784B2 (ja) 文書分類装置及びプログラム
US20180181646A1 (en) System and method for determining identity relationships among enterprise data entities
CN111767716A (zh) 企业多级行业信息的确定方法、装置及计算机设备
CN108280197B (zh) 一种识别同源二进制文件的方法及系统
US20160147867A1 (en) Information matching apparatus, information matching method, and computer readable storage medium having stored information matching program
JP6677093B2 (ja) 表データ検索装置、表データ検索方法、及び表データ検索プログラム
JPWO2012096388A1 (ja) 意外性判定システム、意外性判定方法およびプログラム
US9552415B2 (en) Category classification processing device and method
US9442901B2 (en) Resembling character data search supporting method, resembling candidate extracting method, and resembling candidate extracting apparatus
JP5324677B2 (ja) 類似文書検索支援装置及び類似文書検索支援プログラム
CN112395881B (zh) 物料标签的构建方法、装置、可读存储介质及电子设备
JP2013029891A (ja) 抽出プログラム、抽出方法及び抽出装置
JP6621514B1 (ja) 要約作成装置、要約作成方法、及びプログラム
CN114610955A (zh) 一种智能检索方法、装置、电子设备及存储介质
KR101458857B1 (ko) 특허 분석 시스템 및 방법과 이를 실행하기 위한 프로그램이 기록된 기록매체
JP6677624B2 (ja) 分析装置、分析方法、および分析プログラム
US20230046471A1 (en) Machine learning enhanced classifier
US20220245325A1 (en) Computer-readable recording medium storing design document management program, design document management method, and information processing apparatus
JP2019028788A (ja) 機密語特定装置、機密語特定方法及び機密語特定プログラム
JP2011100332A (ja) 姓名による属性解析方法、プログラム及びシステム
KR20110021019A (ko) 검색식 추천 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200225

R150 Certificate of patent or registration of utility model

Ref document number: 6677093

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150