(57)【特許請求の範囲】
【請求項１】
データベースにおけるカラム毎に、レコード間の第１のデータ類似度を算出し、データ格納部に格納し、前記カラムの組み合わせの各々について前記データ格納部に格納されている前記第１のデータ類似度の相関係数を算出し、前記データ格納部に格納する相関係数算出部と、
前記カラムのうちの任意のカラムである注目カラムにおける任意のレコードである注目レコード内のデータに類似する又は類似するとされるデータを有するレコードを特定し、前記注目レコードと特定されたレコードとの間の各々における、前記カラム毎の第２のデータ類似度を算出又は特定して前記データ格納部に格納すると共に、前記注目カラムと他のカラムとの組み合わせの各々について前記データ格納部に格納されている前記第２のデータ類似度の相関係数を近傍相関係数として算出して前記データ格納部に格納する近傍相関係数算出部と、
前記相関係数算出部で算出された前記相関係数が正の値であり、且つ前記近傍相関係数算出部で算出された前記近傍相関係数又は当該近傍相関係数にデータ欠損が発生していないレコードの割合を乗じた積が所定の有意水準を超える正の値である前記カラムの組み合わせを、前記データ格納部から抽出する第１抽出処理を実施するカラム処理部と、
を有する名寄せ支援処理装置。
【請求項２】
前記近傍相関係数算出部が、
前記注目カラムのデータで前記レコードをソートし、当該ソート後の並びにおいて前記注目レコードの前後所定数のレコードを前記注目レコード内のデータに類似する又は類似するとされるデータを有するレコードとして特定する
請求項１記載の名寄せ支援処理装置。
【請求項３】
前記カラム処理部は、
抽出された前記カラムの組み合わせに含まれるカラムである抽出カラムの各々について、当該抽出カラムと他の抽出カラムとの間の前記相関係数と前記近傍相関係数との差を有用度として算出し、前記データ格納部に格納し、
前記抽出カラムの各々について、当該抽出カラムについて算出された前記有用度と前記他の抽出カラムについて算出された当該抽出カラムとの前記有用度とから優先度を算出し、前記データ格納部に格納する、
請求項１又は２記載の名寄せ支援処理装置。
【請求項４】
前記カラム処理部は、
前記データ格納部から、前記相関係数算出部で算出された前記相関係数又は当該相関係数にデータ欠損が発生していないレコードの割合を乗じた積が所定の有意水準を超える正の値である前記カラムの組み合わせを抽出する第２抽出処理を実施し、
前記第１抽出処理において抽出された前記カラムの組み合わせに含まれるカラムと前記第２抽出処理において抽出された前記カラムの組み合わせに含まれるカラムとに共通するカラムのうち、前記優先度が最も高いカラムを抽出する、
請求項３記載の名寄せ支援処理装置。
【請求項５】
前記カラム処理部は、
前記第１抽出処理において抽出された前記カラムの組み合わせに含まれるカラムから前記第２抽出処理において抽出された前記カラムの組み合わせに含まれるカラムを除外した後のカラムである第２抽出カラムと、前記優先度が最も高いカラムとの組み合わせを生成する
請求項４記載の名寄せ支援処理装置。
【請求項６】
前記データ格納部に格納されている前記第２抽出カラムの優先度と前記優先度が最も高いカラムの優先度とが、所定の閾値以上である場合に組み合わせる
ことを特徴とする請求項５記載の名寄せ支援処理装置。
【請求項７】
前記カラム処理部により抽出されたカラム又は生成された組み合わせに係るカラムである第１のカラム以外のカラムである第２のカラムのうち、データ欠損が発生しており且つ前記第１のカラムとの相関係数が閾値以上であるという条件を含む第１の所定の条件を満たす第３のカラムを特定し、各レコードペアについて、前記第１のカラムにおけるデータの類似度が第２の閾値以上であるという条件を含む第２の所定の条件を満たす場合には前記第３のカラムにおける当該レコードペアの非欠損データとの類似度が第３の閾値以上であり且つ前記第３カラムに出現する類似データの類似度の重み付け加算値を前記第３のカラムについての類似度として算出し、前記第２の所定の条件を満たさない場合には前記第１のカラムと前記第３のカラムとの他の方法に基づき算出した第２の値を前記第３のカラムについての類似度として算出し、前記データ格納部に格納する類似度推定部と、
をさらに有し、
前記類似度推定部の処理結果を格納する前記データ格納部に格納されているデータを用いて、前記相関係数算出部が、前記第１の類似度の相関係数を再度算出し、前記近傍相関係数算出部が、前記第２の類似度の相関係数を再度算出し、
前記カラム処理部が処理を再度行う
請求項１乃至６のいずれか１つ記載の名寄せ支援処理装置。
【請求項８】
前記第１の所定の条件が、前記第１のカラムと前記第２のカラムとにおいて共にデータ欠損となっていないレコード数が第４の閾値以上存在するという条件をさらに含む
請求項７記載の名寄せ支援処理装置。
【請求項９】
前記第２の所定の条件が、当該レコードペアについて前記第１のカラムにおけるデータの出現頻度が第５の閾値未満である条件をさらに含む
請求項７又は８記載の名寄せ支援処理装置。
【請求項１０】
前記重み付け加算値の重み値が、前記類似データの出現頻度の総和に対する当該類似データの出現頻度の比である
請求項７乃至９のいずれか１つ記載の名寄せ支援処理装置。
【請求項１１】
前記第２の値が、
前記第１のカラムと前記第３のカラムとの回帰計算結果から前記第１のカラムにおけるデータの類似度に対応する前記第３のカラムにおける類似度を算出し、当該算出した類似度に対して乱数値を加算した結果である
請求項７乃至１０のいずれか１つ記載の名寄せ支援処理装置。
【請求項１２】
データベースにおけるカラム毎に、レコード間の第１のデータ類似度を算出し、データ格納部に格納するステップと、
前記カラムの組み合わせの各々について前記データ格納部に格納されている前記第１のデータ類似度の相関係数を算出し、前記データ格納部に格納する相関係数算出ステップと、
前記カラムのうちの任意のカラムである注目カラムにおける任意のレコードである注目レコード内のデータに類似する又は類似するとされるデータを有するレコードを特定し、前記注目レコードと特定されたレコードとの間の各々における、前記カラム毎の第２のデータ類似度を算出又は特定して前記データ格納部に格納すると共に、前記注目カラムと他のカラムとの組み合わせの各々について前記データ格納部に格納されている前記第２のデータ類似度の相関係数を近傍相関係数として算出して前記データ格納部に格納する近傍相関係数算出ステップと、
前記相関係数算出ステップで算出された前記相関係数が正の値であり、且つ前記近傍相関係数算出ステップで算出された前記近傍相関係数又は当該近傍相関係数にデータ欠損が発生していないレコードの割合を乗じた積が所定の有意水準を超える正の値である前記カラムの組み合わせを、前記データ格納部から抽出する抽出する第１抽出ステップと、
を含み、コンピュータにより実行される名寄せ支援処理方法。
【請求項１３】
データベースにおけるカラム毎に、レコード間の第１のデータ類似度を算出し、データ格納部に格納するステップと、
前記カラムの組み合わせの各々について前記データ格納部に格納されている前記第１のデータ類似度の相関係数を算出し、前記データ格納部に格納する相関係数算出ステップと、
前記カラムのうちの任意のカラムである注目カラムにおける任意のレコードである注目レコード内のデータに類似する又は類似するとされるデータを有するレコードを特定し、前記注目レコードと特定されたレコードとの間の各々における、前記カラム毎の第２のデータ類似度を算出又は特定して前記データ格納部に格納すると共に、前記注目カラムと他のカラムとの組み合わせの各々について前記データ格納部に格納されている前記第２のデータ類似度の相関係数を近傍相関係数として算出して前記データ格納部に格納する近傍相関係数算出ステップと、
前記相関係数算出ステップで算出された前記相関係数が正の値であり、且つ前記近傍相関係数算出ステップで算出された前記近傍相関係数又は当該近傍相関係数にデータ欠損が発生していないレコードの割合を乗じた積が所定の有意水準を超える正の値である前記カラムの組み合わせを、前記データ格納部から抽出する第１抽出ステップと、
を、コンピュータに実行させる名寄せ支援処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、名寄せを支援するための技術に関する。
【背景技術】
【０００２】
名寄せとは、データベースにおいて、同一の実体を表す複数のレコードを発見し、統合することである。例えば、顧客データベースにおいて、顧客企業又は顧客個人について複数のレコードがあれば、それらを統合する処理である。典型的には、名寄せの対象とするデータベース中には多くのカラムが存在することが多く、膨大なデータ量となるため、そのまま名寄せ処理を行うと計算量が増大し、大変な処理時間が要する原因となる。そのため、名寄せを行う前にはカラム選択が行われる。このカラム選択は、データベース中のどのカラムを名寄せの処理対象にするか決める処理である。通常は、カラム選択において適切なカラムを選択することによって、名寄せ処理の精度を保ちつつ処理速度が向上する。なお、元のデータベース中に名寄せに悪影響を与えるようなカラムが存在する場合には、適切なカラムを選択するにより、名寄せの精度も向上することが期待される。
【０００３】
しかし、従来では、人間の経験と勘から名寄せのためのカラム選択を行ったり、機械学習を行った上でカラム選択を行ったり、カラム毎の異なり値数を計算して一定数以上の異なり値数を有するカラムを選択したりしていた。しかし、このような方法では、手間がかかったり、適切ではないカラムが選択されたりする場合がある。適切ではないカラムの例としては、例えば「会社漢字名」と「会社カナ名」のようにほとんど同じ情報を表す冗長なカラムが両方とも選択されてしまう場合や、取引商品名といった顧客企業の名寄せには無関係なカラムが選択されてしまう場合もある。
【０００４】
なお、名寄せは、レコード間の同一性を発見する技術であるが、カラム間の同一性を発見するための技術としては、以下がある。複数のテーブルにおける項目間の関連を検出する技術については既に存在している。例えば、テーブルにおける項目毎に、項目中の値毎の出現回数に基づく値である項目スコアを算出し、複数のテーブルの中から互いに異なるテーブルを関連元テーブル及び関連先テーブルとして選択し、関連元テーブル中の項目である関連元項目と関連先テーブル中の項目である関連先項目とを選択し、関連元項目と関連先項目の組み合わせを関連として生成する。そして、生成された関連毎に、関連先項目における関連元項目中の値毎の出現回数と関連元項目の項目スコアと関連先項目の項目スコアとに基づく値である関連スコアを算出するものである。しかしながら、一般的に、名寄せで複数のテーブルにおける項目間の関連を検出することはない。なお、複数のテーブルにおけるレコードの同一性を発見する技術として、参照名寄せがあるが本技術では対象としない。
【０００５】
また、各レコードの全てのカラムにデータが登録されていればよいが、データ欠損が存在している場合もある。このような場合には、対象データ中の欠損値を含む部分を除外し、残ったデータに対して通常の解析を行う方法があるが、非欠損値の数が少ないと相関係数値の信頼性が低下するといった問題がある。また、統計的に意味のある数値（平均値、回帰推定値、最悪値など）を各カラムの欠損箇所に代入するというような方法があるが、自然な分散値を外れる危険性が高く、結果として相関係数値が不正確になるという問題がある。さらに、欠損値を複数通り推定し、複数のデータセットを生成して解析し、最後に結果を統合するというような方法もあるが、データ規模や欠損の数によっては計算量が膨大になり、名寄せの分野では現実的な対策ではない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２７０７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従って、本技術の目的は、一側面において、名寄せを精度良く行うのに役立つ可能性のあるカラムを自動的に選択するための技術を提供することである。
【課題を解決するための手段】
【０００８】
本技術の一側面に係る名寄せ支援処理方法は、（Ａ）データベースにおけるカラム毎に、レコード間の第１のデータ類似度を算出し、データ格納部に格納するステップと、（Ｂ）カラムの組み合わせの各々についてデータ格納部に格納されている第１のデータ類似度の相関係数を算出し、データ格納部に格納するステップと、（Ｃ）カラムのうちの任意のカラムである注目カラムにおける任意のレコードである注目レコード内のデータに類似する又は類似するとされるデータを有するレコードを特定し、注目レコードと特定されたレコードとの間の各々における、カラム毎の第２のデータ類似度を算出又は特定してデータ格納部に格納すると共に、注目カラムと他のカラムとの組み合わせの各々についてデータ格納部に格納されている第２のデータ類似度の相関係数を近傍相関係数として算出してデータ格納部に格納する近傍相関係数算出ステップと、（Ｄ）正の相関係数が算出され且つ所定の有意水準を超える正の近傍相関係数又はデータ欠損が発生していないレコードの割合が乗じられた正の近傍相関係数が算出されたカラムの組み合わせを、データ格納部から抽出する第１抽出処理を実施する第１抽出ステップとを含む。
【発明の効果】
【０００９】
名寄せを精度良く行うのに役に立つ可能性のあるカラムを自動的に選択できるようになる。
【図面の簡単な説明】
【００１０】
【図１】図１は、相関と近傍相関を説明するための図である。
【図２】図２は、相関について説明するための図である。
【図３】図３は、相関について説明するための図である。
【図４】図４は、相関と近傍相関を説明するための図である。
【図５】図５は、相関と近傍相関を説明するための図である。
【図６】図６は、相関と近傍相関を説明するための図である。
【図７】図７は、相関と近傍相関を説明するための図である。
【図８】図８は、相関と近傍相関の関係を説明するための図である。
【図９】図９は、名寄せ支援処理装置の機能ブロック図である。
【図１０】図１０は、本実施の形態におけるメインの処理フローを示す図である。
【図１１】図１１は、読み出されたデータの一例を示す図である。
【図１２】図１２は、相関算出処理の処理フローを示す図である。
【図１３】図１３は、類似度算出を説明するための図である。
【図１４】図１４は、類似度の算出結果を表す図である。
【図１５】図１５は、相関係数の算出結果を表す図である。
【図１６】図１６は、近傍相関算出処理の処理フローを示す図である。
【図１７】図１７は、特定のカラムに着目してソートした場合の一例を示す図である。
【図１８】図１８は、各レコードについて近傍レコードを抽出した場合の一例を示す図である。
【図１９】図１９は、類似度の算出結果を表す図である。
【図２０】図２０は、近傍相関算出処理の処理フローを示す図である。
【図２１】図２１は、１つのカラムについて算出された近傍相関係数の一例を示す図である。
【図２２Ａ】図２２Ａは、カラムの優先度算出処理の処理フローを示す図である。
【図２２Ｂ】図２２Ｂは、相関及び近傍相関の算出結果をまとめた図である。
【図２３】図２３は、有用度及び優先度の計算結果をまとめた図である。
【図２４】図２４は、冗長カラム群の一元化処理の処理フローを示す図である。
【図２５】図２５は、冗長カラムグループの分類について説明するための図である。
【図２６】図２６は、冗長カラムグループ内において優先するカラムの選択を説明するための図である。
【図２７】図２７は、最終的なカラム選択結果を説明するための図である。
【図２８】図２８は、結果出力の一例を示す図である。
【図２９】図２９は、第２の実施の形態に係る名寄せ支援処理装置の機能ブロック図である。
【図３０】図３０は、第２の実施の形態に係るメインの処理フローを示す図である。
【図３１Ａ】図３１Ａは、欠損のあるデータの一例を示す図である。
【図３１Ｂ】図３１Ｂは、重みｄの算出方法を説明するための図である。
【図３２】図３２は、出現頻度表の一例を示す図である。
【図３３】図３３は、欠損値推定処理の処理フローを示す図である。
【図３４】図３４は、推定可能カラム決定処理の処理フローを示す図である。
【図３５Ａ】図３５Ａは、推定可能カラム決定処理を説明するための図である。
【図３５Ｂ】図３５Ｂは、推定可能カラム決定処理を説明するための図である。
【図３５Ｃ】図３５Ｃは、推定可能カラム決定処理を説明するための図である。
【図３５Ｄ】図３５Ｄは、推定可能カラム決定処理を説明するための図である。
【図３５Ｅ】図３５Ｅは、推定可能カラムペアリストの一例を示す図である。
【図３６】図３６は、推定可能カラム決定処理の処理フローを示す図である。
【図３７】図３７は、名寄せ可能性推定処理の処理フローを示す図である。
【図３８Ａ】図３８Ａは、名寄せ可能性推定処理を説明するための図である。
【図３８Ｂ】図３８Ｂは、名寄せ可能性推定処理を説明するための図である。
【図３９】図３９は、欠損値推定処理の処理フローを示す図である。
【図４０】図４０は、第１推定処理の処理フローを示す図である。
【図４１Ａ】図４１Ａは、第１推定処理を説明するための図である。
【図４１Ｂ】図４１Ｂは、第１推定処理を説明するための図である。
【図４１Ｃ】図４１Ｃは、第１推定処理を説明するための図である。
【図４２】図４２は、第２推定処理を説明するための図である。
【図４３】図４３は、第２推定処理を説明するための図である。
【図４４】図４４は、第２名寄せ可能性推定処理の処理フローを示す図である。
【図４５】図４５は、第２名寄せ可能性推定処理を説明するための図である。
【図４６】図４６は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
［実施の形態１］
本実施の形態では、名寄せに役に立つカラム、すなわち実体を１又は少数に限定することができるカラム（例えば顧客企業の名寄せであれば企業名、住所など）を、新たな指標を導入することによって抽出する。
【００１２】
具体的には、よく知られている相関（より具体的には相関係数）と近傍相関（より具体的には近傍相関係数）とを組み合わせて用いる。近傍相関とは、後に詳細な計算方法を示すが、特定のカラムにおいて類似する少数のレコードの範囲で複数のカラムの値が同時に一致又は類似している度合いを表す指標である。以下、相関と近傍相関との関係について説明する。
【００１３】
まず、図１を用いて相関と近傍相関について概観する。
【００１４】
ここでは、以下のような典型例が成り立つものとする。（１）名寄せ可能なレコードの集合においては、名寄せに役立つカラムのペアのカラム値は、「ともに一致又は非常に類似する」ことが多い。すなわち、この場合、２つのカラムの類似度は連動する。（２）名寄せ可能性の高いレコードが存在する場合でも、その部分のデータ数はデータベースの全レコード数に比べると非常に小さい。
【００１５】
図１左上に示すように、相関は、分析対象のデータベース全体における、特定のカラムペアの類似度の連動性を示している。カラムペアの相関係数が大きい場合、主な原因はカラムの冗長性である。例えば、「会社漢字名」と「会社カナ名」とは相関係数が大きくなるが、名寄せとしては冗長なカラムのペアであり、そのまま両方とも用いると、精度には変わりがないものの、処理時間が増大する。なお、典型例（２）より、名寄せの可能性が高いレコードの絶対数は非常に少ないので、それらは相関の増加にはほとんど寄与しない。すなわち、相関係数単独では、名寄せに役立つカラムは埋もれてしまって抽出できない。
【００１６】
一方、近傍相関は、図１左上でハッチングが付されている部分のように、特定カラム（例えば「会社漢字名」）のカラム値が類似するレコードの集合（図１右下）を抽出することによって得られる、局所的に類似性が強いデータ集合における、カラムペアの類似性の連動性を示している。カラムペアの近傍相関係数が大きい場合、典型例（１）から名寄せの可能性が高いレコードを多く含むことが推定され、名寄せに役立つカラムが含まれる可能性が高くなる。但し、冗長性を完全に排除できるわけではない。
【００１７】
次に、図２及び図３を用いて相関についてもう少し詳細に検討する。図２は散布図であって、横軸は例えば取引商品カラム内のカラム値の類似度を表し、縦軸は例えば住所カラム内のカラム値の類似度を表し、黒点はレコードのペアを表す。図２の例のように、相関がほぼ０（無相関）の場合には、いずれのカラムの類似度の大小も互いに無関係であり、このようなカラムペアは名寄せに役に立つことはない。
【００１８】
なお、相関の大小の判定には、統計学における相関係数の有意性の判定を用いるものとする。すなわち、有意水準の限界値αと相関係数ｒとの関係がｒ＞αを満たせば相関大であり、満たさない場合には相関小ということとする。
【００１９】
一方、図３も散布図であり、横軸は例えば会社漢字名カラム内のカラム値の類似度を表し、縦軸は例えば会社カナ名カラム内のカラム値の類似度を表す。図３の例では、一方のカラムの類似度が大きい場合には他方のカラムの類似度も大きく、一方のカラムの類似度が小さい場合には他方のカラムの類似度も小さくなっている。このように、両方のカラムの類似度の挙動がほぼ同じになっている場合には、冗長なカラムペアということになる。従って、いずれのカラムを用いてもほぼ同様の結果が期待される。このように、図３のような類似度の相関係数が大きいカラムペアについては、冗長性のあるカラムペアであり、以下で述べるように近傍相関との関係で利用することができる。
【００２０】
次に、図４乃至図８を用いて相関と近傍相関についてもう少し詳細に検討する。
【００２１】
なお、近傍相関の大小判定についても、相関の大小の判定と同様に、相関係数の有意性の検定手法を用いるものとする。
【００２２】
図４は散布図であり、縦軸は例えば住所カラムの類似度を表し、横軸は取引商品カラムの類似度を表している。このカラムペアについては、類似度の相関が非常に小さいことが分かる。また、取引商品カラムの類似度を基準にして、取引商品カラムの類似度が高いレコード（すなわち取引商品カラムの類似度が１に近いハッチング部分）の住所カラムの類似度もばらばらであるから、近傍相関も小さいことがわかる。このようなカラムペアは、名寄せには役に立たない。
【００２３】
また、図５も散布図であり、縦軸は例えば会社カナ名の類似度を表し、横軸は会社漢字名カラムの類似度を表している。このカラムペアについては、類似度の相関が大きいことが分かる。また、会社漢字名カラムの類似度を基準として、会社漢字名カラムの類似度が高いレコード（すなわち会社漢字名カラムの類似度が１に近いハッチング部分）の会社カナ名カラムの類似度も高くなっている。すなわち近傍相関も大きくなっている。しかし、カラムペアの相関の大きさがそのまま近傍相関の値に反映されているだけなので、相関が大きく且つ近傍相関が大きいというカラムペアは、それだけで名寄せに役に立つペアとは言えない。
【００２４】
さらに、図６も散布図であり、縦軸は例えば会社カナ名カラムの類似度を表し、横軸は住所カラムの類似度を表している。このカラムペアについては、全体の相関は小さいことが分かる。しかしながら、住所カラムの類似度を基準として、会社カナ名カラムの類似度が高いレコード（すなわち住所カラムの類似度が１に近いハッチング部分）の会社カナ名カラムの類似度は高くなっている。すなわち近傍相関が大きくなっている。このように、特定のカラムについての類似度が高いレコードに着目すると他方のカラムについても類似度が高いということであれば、名寄せすべきレコードが存在していることを暗示しているので、このようなカラムペアについては、名寄せに役立つカラムペアと言える。
【００２５】
さらに、図７も散布図であり、縦軸は例えば電話番号カラムの類似度を表し、横軸は会社カナ名カラムの類似度を表している。このカラムペアについては、全体として相関が高いことが分かる。さらに、会社カナ名カラムの類似度を基準として、会社カナ名カラムの類似度が高いレコード（すなわち会社カナ名カラムの類似度が１に近いハッチング部分）の電話番号カラムの類似度の連動性が高くなっていることが分かる。すなわち、近傍相関の大きさは、相関の大きさよりも大きくなっている。このようなカラムペアは、特定のカラムについての類似度が高いレコードに着目すると他方のカラムについても類似度が非常に連動して高いということであれば、名寄せすべきレコードが存在していることを暗示している。従って、このようなカラムペアについては、名寄せに役立つカラムペアと言える。なお、会社漢字名カラムと会社カナ名カラムとがこのような態様に該当する場合には、漢字と読みの関係が多対一（同音異字語）、一対多（複数読みの語）のケースを多く含む場合などが該当する。
【００２６】
このように近傍相関が大きい場合には、特定のカラムについての類似度が高いレコードに着目すると他方のカラムについても類似度が高く連動性がある、すなわち散布図であれば直線的に並ぶということである。
【００２７】
図４乃至図７を用いて説明した典型的なケースをまとめると図８のようになる。なお、後に詳細を述べるが、本実施の形態においては、近傍相関の値から相関の値を引いたものを有用度とする。具体的には、図４のような「相関：小且つ近傍相関：小」のケースであれば、カラムペアに冗長性は無いが、カラムペアが名寄せに役立つ可能性は無い。従って、名寄せに対する有用度は０に近いものである。また、図５のような「相関：大且つ近傍相関：大」のケースであれば、カラムペアに冗長性があるだけで、カラムペアが名寄せに役に立つ可能性は無い。従って、名寄せに対する有用度は０に近い。一方、図６のような「相関：小且つ近傍相関：大」のケースであれば、カラムペアに冗長性も無く、カラムペアが名寄せに役に立つ可能性がある。従って、名寄せに対する有用度は正の値となる。さらに、図７のような「相関：大且つ近傍相関：非常に大」のケースであれば、カラムペアに冗長性もあるが、カラムペアが名寄せに役に立つ可能性がある。従って、名寄せに対する有用度は正の値となる。
【００２８】
従って、まず図８のテーブルにおいて下２行のように、類似度の相関が正で小又は大で、類似度の近傍相関が正で大又は非常に大といった特徴のあるカラムペアを探索することが好ましい。
【００２９】
その後、以下で述べるような指標を導入することで、適切に名寄せに役に立つカラムを抽出することができるようになる。
【００３０】
なお、本実施の形態では、データベースにはテーブル状のデータ構造が用意されており、カラムとレコードとして把握されるものを念頭に説明する。
【００３１】
図９に、本実施の形態における名寄せ支援処理装置の機能ブロック図を示す。本名寄せ支援処理装置１００は、（Ａ）名寄せ対象データベース５００からデータを読み出すデータ読み込み部１１０と、（Ｂ）第１データ格納部１２０と、（Ｃ）相関計算部１３０と、（Ｄ）近傍相関計算部１４０と、（Ｅ）第２データ格納部１５０と、（Ｆ）カラム処理部１６０と、（Ｇ）出力データ格納部１７０とを有する。
【００３２】
データ読み込み部１１０は、名寄せ対象データベース５００から読み込んだデータを第１データ格納部１２０に格納するようになっている。また、相関計算部１３０は、第１データ格納部１２０に格納されているデータを用いて処理を行い、処理途中のデータ及び処理結果を第２データ格納部１５０に格納するようになっている。近傍相関計算部１４０は、第１データ格納部１２０に格納されているデータを用いて処理を行い、処理途中のデータ及び処理結果を第２データ格納部１５０に格納するようになっている。カラム処理部１６０は、第１データ格納部１２０及び第２データ格納部１５０に格納されているデータを用いて処理を行い、最終の処理結果を出力データ格納部１７０に格納するようになっている。また、カラム処理部１６０も、処理途中のデータについては第２データ格納部１５０に格納する。また、カラム処理部１６０は、カラム優先度計算部１６１とカラム抽出処理部１６２と出力部１６３とを有する。
【００３３】
なお、名寄せ対象データベース５００は、例えばネットワークを介して接続されている他のコンピュータに管理されているものとする。なお、当該他のコンピュータが名寄せ支援処理装置であってもよい。
【００３４】
次に、図１０乃至図２８を用いて、図９に示した名寄せ支援処理装置１００の処理内容について説明する。
【００３５】
まず、データ読み込み部１１０は、名寄せ対象データベース５００から処理対象データを読み込み、第１データ格納部１２０に格納する（図１０：ステップＳ１）。なお、本実施の形態では、レコードを識別するためのレコードＩＤが各レコードに付与されており、このレコードＩＤのカラムとカラム選択の対象となるカラムとが読み出されるものとする。図１１に、読み出されたデータの一例を示す。図１１の例では、レコードＩＤのカラムと、会社漢字名のカラムと、会社カナ名のカラムと、住所のカラムと、取引部品名のカラムとが含まれ、全部で１１レコードが抽出された例を示している。このほかのカラムが含まれても良いし、レコード数はより多い方が正しい処理が行われる。
【００３６】
次に、相関計算部１３０は、カラム間の相関算出処理を実施する（ステップＳ３）。この処理については、図１２乃至図１６を用いて説明する。
【００３７】
まず、相関計算部１３０は、未処理のレコードペアを、第１データ格納部１２０内において１つ特定する（図１２：ステップＳ２１）。
【００３８】
また、相関計算部１３０は、未処理のカラムを１つ特定する（ステップＳ２３）。そして、相関計算部１３０は、特定されたカラムにおけるレコードペア間について類似度を算出し、第２データ格納部１５０に格納する（ステップＳ２５）。本実施の形態では、類似度は、編集距離に基づく類似度を用いる。例えば、レコードＩＤ「１００００００１」と「１００００００４」のレコードペアが特定された場合には、会社漢字名カラムにおける△△△株式会社と○○ヤユヨ株式会社とを比較する。そうすると、図１３に示すように「株式会社」の４文字以外は全て異なっているので、以下のように類似度は算出される。なお、図１３において二重丸は一致を示しており、×は編集（置換、削除、挿入）が必要な部分を示している。
【００３９】
類似度＝１．０−（同一化に必要な文字の編集数／長い方の文字数）
＝１．０−５／９＝０．４４４４
【００４０】
そして、相関計算部１３０は、全てのカラムについて処理したか判断する（ステップＳ２７）。未処理のカラムが存在している場合には、ステップＳ２３に戻る。全てのカラムについて処理した場合には、相関計算部１３０は、全てのレコードペアについて処理したか判断する（ステップＳ２９）。未処理のレコードペアが存在する場合にはステップＳ２１に戻る。一方、全てのレコードペアについて処理した場合には、ステップＳ３１に移行する。
【００４１】
この段階で、図１１に示したデータを処理すると、図１４に示すような類似度テーブルが得られる。図１４の例では、レコードＩＤペアの列と、会社漢字名の類似度の列と、会社カナ名の類似度の列と、住所の類似度の列と、取引部品名の類似度の列とが設けられており、各レコードペアについて、類似度が登録されている。
【００４２】
そして、相関計算部１３０は、図１４のような類似度テーブルにおいて、未処理のカラムペアを特定する（ステップＳ３１）。図１４においては既に「会社漢字名」と「会社カナ名」のカラムペアを選択する場面を一例として示している。
【００４３】
その後、相関計算部１３０は、カラムペアの類似度から、類似度についての相関係数を算出し、第２データ格納部１５０に格納する（ステップＳ３３）。相関係数の算出方法は、従来と同じであるが、以下に示すような算式が用いられる。
【００４４】
【数１】
0005640796.tif 000002
【００４５】
なお、ｘiは、カラムＸにおけるｉ番目の類似度を表し、ｙiは、カラムＹにおけるｉ番目の類似度とを表す。また、ｘバー（ｘの上にバーを乗せた記号）はカラムＸについての類似度の平均値を表し、ｙバー（ｙの上にバーを乗せた記号）はカラムＹについての類似度の平均値を表す。
【００４６】
そして、相関計算部１３０は、全てのカラムペアについて処理したか判断する（ステップＳ３５）。未処理のカラムペアが存在する場合にはステップＳ３１に戻る。一方、全てのカラムペアについて処理した場合には、元の処理に戻る。
【００４７】
ここまで処理を行うと、例えば図１５に示すようなデータが、第２データ格納部１５０に格納される。図１５の例では、同一のカラムペアであっても順番が異なれば異なるカラムペアとして値を示しているが、実際は同一の相関係数が得られるので、いずれかを算出すればよい。上で述べた例では、太字で示されている「会社漢字名」と「会社カナ名」のカラムペアについて相関係数が算出されているが、「会社カナ名」と「会社漢字名」のカラムペアについての相関係数も同一の値になる。
【００４８】
図１０の処理の説明に戻って、次に、近傍相関計算部１４０は、カラム間の近傍相関算出処理を実施する（ステップＳ５）。カラム間の近傍相関算出処理については、図１６乃至図２１を用いて説明する。
【００４９】
まず、近傍相関計算部１４０は、第１データ格納部１２０に格納されている処理対象データにおける未処理のカラムを１つ特定する（図１６：ステップＳ４１）。また、近傍相関計算部１４０は、特定されたカラムをベースにレコードをソートし、ソート結果を例えば第２データ格納部１５０に格納する（ステップＳ４３）。図１１に示した処理対象データを会社漢字名カラムをベースに辞書順でソートすると、図１７に示すようなデータが得られるものとする。辞書順にソートすると、あるレコードに着目した場合、特定されたカラムにおいて、そのレコードの近傍には、ある程度類似した値を有するレコードが配置されるようになる。このような性質を用いて、特定されたカラムにおいて類似した値を有するレコードを比較的軽い処理で収集しやすくしている。
【００５０】
但し、図１４に示したように、カラム毎に既に各レコードペアについての類似度が計算されている場合には、特定されたカラムにおいて、同じレコードＩＤをレコードペアの片方のレコードのＩＤとして有する行について類似度でソートすることによって、正確に類似度が高い行、すなわち特定されたカラムについて特定のレコードに着目した場合に類似度が高い他方のレコードを特定することができる。
【００５１】
次に、近傍相関計算部１４０は、各レコードについて、ソート結果に基づき近傍レコードを抽出し、当該近傍レコードのデータを第２データ格納部１５０に格納する（ステップＳ４５）。例えば、特定のレコードの上下３つのレコードを抽出すものとする。例えば、図１７の例で、第１のレコードを選択した場合、上レコードは存在しないので、下レコード３つを近傍レコードとして特定する。なお、自レコードは近傍に含めない。また、近傍レコードの抽出方法は、例えば編集距離、すなわち上で述べた類似度を採用してもよいし、bi-gram検索などを採用しても良い。さらに、近傍の抽出範囲については、固定レコード単位でなくともよい。類似度が閾値を超えたレコードのみを抽出するようにしても良い。さらに、全てのレコードを基準とするのではなく、無作為に抽出するようにしても良い。
【００５２】
例えば、上で最初に述べた基準で近傍レコードを抽出すると、例えば図１８に示すようなデータが第２データ格納部１５０に格納されるようになる。図１８の例では、比較元レコードのＩＤと、比較先近傍レコードのＩＤとが対応付けて登録されるようになっている。
【００５３】
そして、近傍相関計算部１４０は、図１８のようなテーブルにおいて、未処理の比較元レコードを１つ特定する（ステップＳ４７）。そして、近傍相関計算部１４０は、特定された比較元レコードとその各比較先近傍レコードとの間について、各カラムの類似度を算出し、第２データ格納部１５０に格納する（ステップＳ４９）。例えば、比較元レコードのＩＤが「１０００００１０」であれば、比較先近傍レコードは「１０００００１」「１００００００７」「１００００００４」「１００００００９」であるから、これらのレコードとの間について、各カラムで類似度を算出して登録すると、図１９に示すようなデータ（始めの４レコード）が得られる。図１９の例では、レコードＩＤペアの行と、会社漢字名の類似度の列と、会社カナ名の類似度の列と、住所の類似度の列と、取引部品名の類似度の列とが設けられており、比較元レコードと比較先近傍レコードとの組み合わせ毎に、各カラムの類似度が登録されるようになっている。なお、類似度は既にステップＳ３で計算されているので、レコードペアとカラムペアとから既に計算された類似度を読み出して、第２データ格納部１５０に登録するようにしても良い。
【００５４】
その後、近傍相関計算部１４０は、全ての比較元レコードについて処理したか判断する（ステップＳ５１）。未処理の比較元レコードが存在している場合にはステップＳ４７に戻る。全ての比較元レコードを処理した場合には、図１９に示すようなデータが揃うことになる。
【００５５】
そして、近傍相関計算部１４０は、図１９のようなデータにおいて未処理のカラムペアを１つ特定する（ステップＳ５３）。その後、近傍相関計算部１４０は、特定されたカラムペアの類似度から、相関係数を近傍相関係数として算出し、第２データ格納部１５０に格納する（ステップＳ５５）。相関係数の算出方法については、ステップＳ３３で説明した方法と同様の方法で算出する。そして処理は端子Ａを介して図２０の処理に移行する。
【００５６】
図２０の処理の説明に移行して、近傍相関計算部１４０は、全てのカラムペアについて処理したか判断する（ステップＳ５７）。未処理のカラムペアが存在する場合には端子Ｃを介してステップＳ５３に戻る。一方、全てのカラムペアについて処理した場合には、近傍相関計算部１４０は、図１１に示すようなデータにおける全てのカラムについて処理したか判断する（ステップＳ５９）。未処理のカラムが存在する場合にはステップＳ４１に戻る。一方、全てのカラムについて処理した場合には、元の処理に戻る。
【００５７】
ここまで処理すると例えば図２１に示すようなデータが、第２データ格納部１５０に格納される。図２１の例では、各カラムペアについて、近傍相関係数が登録されるようになっている。同一カラム間の近傍相関係数については計算することはないが、「１」であるので図２１では示している。また、カラム毎にレコードをソートするので、相関とは異なり、カラムペアにおける比較元カラムが異なれば近傍相関係数の値は異なってくる。なお、ステップＳ５３乃至Ｓ５７を１回実行すると、図２１のようなテーブルにおける１行中の１つの近傍相関係数が算出され、ステップＳ５３乃至Ｓ５７を全てのカラムペアについて繰り返すと図２１のようなテーブルにおける１行分の近傍相関係数が算出される。そして、ステップＳ４１乃至ステップＳ５９を全てのカラムについて繰り返せば、図２１のようなテーブルの全ての行の近傍相関係数が算出されるようになる。また、図１９に示すようなデータは、ステップＳ４１乃至ステップＳ５１を実施する毎に異なるデータが生成される。
【００５８】
このようにして、近傍相関が算出され、第２データ格納部１５０に格納される。このように、相関計算部１３０によって算出され且つ第２データ格納部１５０に格納されている類似度を用いずに近傍相関算出処理を実施する場合には、ステップＳ３とステップＳ５との処理順番については入れ替え可能であり、さらに並列実行可能である。
【００５９】
図１０の処理の説明に戻って、次に、カラム処理部１６０のカラム優先度計算部１６１は、カラムの優先度算出処理を実施する（ステップＳ７）。このカラムの優先度算出処理については、図２２Ａ乃至図２３を用いて説明する。
【００６０】
まず、カラム優先度計算部１６１は、データ数から、各相関係数及び各近傍相関係数について有意水準の限界値を算出し、例えば第２データ格納部１５０に格納する（ステップＳ６１）。例えば、相関係数の場合には図１４のようなデータのレコード数を計数して自由度として特定する。また、近傍相関係数の場合には図１９のようなデータのレコード数を計数して自由度として特定する。また、有意水準には５％と１％が良く用いられるが、いずれかの限界値表（ｒ表とも呼ぶ。限界値は危険率とも呼ぶ。）を予め用意しておき、自由度に応じた限界値を特定する。自由度に対応する限界値が登録されていない場合には、自由度が近い値の限界値を補間して算出するようにしても良い。
【００６１】
第２データ格納部１５０に格納されている、ステップＳ５及びＳ７の処理結果及び限界値をまとめると、図２２Ｂに示すようになる。図２２Ｂの例では、各カラムについて、対応するカラムの相関係数及び近傍相関係数の値が登録されており、さらに、相関係数及び近傍相関係数のデータ数及び当該データ数に対応する５％有意水準の限界値も登録されている。
【００６２】
次に、カラム優先度計算部１６１は、相関係数が正であって、対応する有意水準の限界値を超えるカラムペアを、全てのカラムペアから抽出し、例えば第２データ格納部１５０に格納する（ステップＳ６３）。
【００６３】
図２２Ｂの例では、「会社漢字名」と「会社カナ名」のカラムペアが該当する。具体的には、このカラムペアの相関係数「０．８９０２」と、対応する５％有意水準の限界値「０．２６４９」とを比較して判断している。なお、ステップＳ６３を実行することによって、冗長性のあるカラムペアが特定されたことになる。このようなカラムペアは、後に以下で抽出するカラムペアとの関係で用いられる。
【００６４】
また、カラム優先度計算部１６１は、相関係数及び近傍相関係数が正であって、近傍相関係数が対応する有意水準の限界値を超えているカラムペアを、全てのカラムペアから抽出し、例えば第２データ格納部１５０に格納する（ステップＳ６５）。
【００６５】
図２２Ｂの例では、ハッチングが付加されている部分、すなわち「会社漢字名」と「会社カナ名」のカラムペアと、「会社カナ名」と「会社漢字名」のカラムペアと、「会社カナ名」と「住所」のカラムペアと、「住所」と「会社カナ名」のカラムペアとが抽出される。相関のみが検討対象であれば比較元と比較先の区別はないが、近傍相関の場合には比較元と比較先とを区別する。これによって名寄せに役立つ可能性のあるカラムペアが特定される。しかしながら、ステップＳ６５で得られたカラムペアには、上でも述べたように冗長性を有するカラムペアも含まれている可能性がある。
【００６６】
そこで、カラム優先度算出部１６１は、ステップＳ６３で得られたカラムペアとステップＳ６５で得られたカラムペアから、名寄せに役に立つカラムを特定する（ステップＳ６７）。例えば、ステップＳ６３及びＳ６５で得られたカラムペアに含まれるカラムの和集合で特定される。上で述べた例では、「会社漢字名」と「会社カナ名」と「住所」とが特定される。
【００６７】
なお、上で述べた例ではステップＳ６３及びＳ６５で特定されるカラムの数が少ないのでこのような処理が可能である。一方、ステップＳ６３及びＳ６５で特定されたカラムの数が多い場合には、例えばデータベースの各カラムについて、ステップＳ６３及びＳ６５に含まれるカラムペアのいずれかに含まれているか否かを判断する。そして、含まれている場合には名寄せに役に立つ可能性のあるカラムと判定し、含まれていない場合には名寄せに役に立たないカラムと判定するようにしてもよい。
【００６８】
そして、カラム優先度算出部１６１は、特定されたカラムの各々について、有用度及び優先度を計算し、第２データ格納部１５０に格納する（ステップＳ６９）。処理はこの後元の処理に戻る。
【００６９】
本実施の形態では、ステップＳ６７で特定されたカラムの各組み合わせについて、以下の計算を行う。例えば、比較元カラムＣiと比較先カラムＣjとについて考える。
有用度Δ(Ｃi，Ｃj)＝近傍相関(Ｃi，Ｃi)−相関(Ｃi，Ｃj）
【００７０】
カラムペアの近傍相関係数の中には、冗長性が含まれている可能性があるので、カラムペアの有用度により、相関に現れる冗長性の部分を除いた正味の役立ち度合いを求めるものである。
【００７１】
さらに、各カラムＣiの優先度を以下のように算出する。
Ｃiの優先度＝ｍａｘj｛Δ(Ｃi，Ｃj)，Δ(Ｃj，Ｃi)｝
【００７２】
この意味は、自カラムからみた有用度及び他のカラムから自カラムをみた有用度の最大値を求めるということである。具体的には、上で述べた例からすると、「会社漢字名」を自カラムとすると、他のカラム「会社カナ名」「住所」との有用度と、「会社カナ名」から「会社漢字名」に対する有用度と、「住所」から「会社漢字名」に対する有用度とを比較することになる。
【００７３】
図２３に有用度及び優先度の計算結果を表す。図２３の例では、各カラムについて、相関係数、近傍相関係数及び有用度を対応する他のカラム毎に列挙すると共に優先度も示すようになっている。上で述べたように「会社漢字名」を自カラムとすると、比較すべき有用度はハッチングが付されている部分の数値となるため、矢印で示すように優先度「０．０８１１」が選択される。同様にして、各カラムの優先度の根拠を矢印で示している。
【００７４】
なお、優先度の算出方法は、他の方法であってもよい。例えば上で述べた有用度の総和、平均値などであってもよい。
【００７５】
以上述べたように、相関に加えて近傍相関を用いて、名寄せの役に立つ可能性の度合いを表す有用度と、比較時に優先すべき度合いを表す優先度とが決定される。
【００７６】
図１０の処理の説明に戻って、カラム処理部１６０のカラム抽出処理部１６２は、冗長カラム群の一元化処理を実施する（ステップＳ９）。この処理については図２４乃至図２８を用いて説明する。
【００７７】
カラム抽出処理部１６２は、有用性のあるカラム（ステップＳ６７で特定されたカラム）のうち、相関が有意であるカラムペア（ステップＳ６３で抽出されたカラム）と共通するカラムとを、冗長カラムグループに分類し、分類結果を第２データ格納部１５０に格納する（図２４：ステップＳ７１）。図２５に模式的に示すように、「会社漢字名」「会社カナ名」「住所」が有用性のあるカラムとしてステップＳ６７で抽出されており、ステップＳ６３では「会社漢字名」と「会社カナ名」のカラムペアが抽出されているので、冗長カラムグループは、共通する「会社漢字名」及び「会社カナ名」を冗長カラムグループとして分類する。上で述べた例ではカラムペアが１つしか抽出されていないので、冗長カラムグループも１つしか生成されない。一方、冗長でないカラムは「住所」カラムである。
【００７８】
次に、カラム抽出処理部１６２は、有用性のあるカラムのうち、冗長カラムグループに属さないカラムを非冗長カラムグループに登録して、非冗長カラムグループについてのデータを第２データ格納部１５０に格納する（ステップＳ７３）。さらに、カラム抽出処理部１６２は、各冗長カラムグループの中で優先度が最大のカラムを代表カラムとして選択して、選択結果を第２データ格納部１５０に格納する（ステップＳ７５）。図２６に模式的に示すように、「会社漢字名」及び「会社カナ名」のうち、優先度が高い「会社カナ名」が代表カラムとして選択される。
【００７９】
そして、カラム抽出処理部１６２は、代表カラムと非冗長カラムとのうち、閾値以上の優先度を有するカラムを抽出し、最終的なカラム選択結果として当該カラムのデータを第２データ格納部１５０に格納する（ステップＳ７７）。閾値は、例えば近傍相関についての有意水準の限界値／２を採用する。図２７に模式的に示すように、冗長カラムグループの代表カラムも非冗長カラムグループのカラムも、優先度閾値より大きいので、「会社カナ名」及び「住所」が両方とも選択される。そして元の処理に戻る。
【００８０】
図１０の処理の説明に戻って、出力部１６３は、第２データ格納部１５０に格納されているデータを読み出して、出力データ格納部１７０に格納する又は出力装置（表示装置や印刷装置など）などに出力する（ステップＳ１１）。例えば、図２８に示すようなデータを出力する。図２８の例では、カラム毎に、優先度及び冗長グループについてのデータとを含む。冗長グループについては、当該冗長グループに属する他のカラムの名称と、相関係数（＝冗長度）及び優先度が含まれている。
【００８１】
このようなデータを参照すれば、ユーザはどのカラムを名寄せに用いるべきか分かるようになる。このように選択されたカラムを用いれば、名寄せの精度を高めることができ、処理速度も速くなることが期待される。なお、ユーザに出力しないでそのまま名寄せ処理を行うコンピュータやプロセスに出力するようにしても良い。
【００８２】
［実施の形態２］
次に、レコードの何れかのカラムにデータ欠損が存在している場合の実施の形態について説明する。本実施の形態では、第１の実施の形態の構成を利用する。本実施の形態では、図９において名寄せ支援処理装置に含まれる機能を一部以下で述べるように変更したカラム選択部６００として含み、図２９に示すような名寄せ支援処理装置７００を用いる。
【００８３】
名寄せ支援処理装置７００は、カラム選択部６００と、前処理部７１０と、推定部７２０と、第３データ格納部７３０とを有する。カラム選択部６００は、図９に示したように、第１データ格納部１２０と、第２データ格納部１５０と、出力データ格納部１７０とを有する。
【００８４】
前処理部７１０は、第１データ格納部１２０に格納されている名寄せ対象データベース５００に格納されているデータに対して以下で説明する前処理を実施して処理結果を第３データ格納部７３０に格納する。推定部７２０は、第１データ格納部１２０と第２データ格納部１５０と出力データ格納部１７０と第３データ格納部７３０とに格納されているデータを用いて処理を行い、第２データ格納部１５０に処理結果を格納する。なお、推定部７２０は、処理途中のデータを第３データ格納部７３０に格納する。
【００８５】
次に、図３０乃至図４５を用いて本実施の形態における処理を説明する。
【００８６】
最初に、カラム選択部６００は、第１カラム選択処理を実施する（図３０：ステップＳ１０１）。第１カラム選択処理は、第１の実施の形態で説明した処理を一部変更した処理である。第１データ格納部１２０には、例えば図３１Ａにおいて「Ｎ／Ａ」と示すようにデータ欠損が含まれるレコード群を格納されているので、一部異なる処理を行うことになる。よって、あるカラムについてあるレコードペアの類似度を算出する際に、一方又は両方のデータが存在していないという場合が生ずる。この場合には、類似度が算出されないことになる。すなわち、図１４に示すような類似度のデータにおいても類似度が算出されない欄が発生する。そうすると、その欄に係るカラムと他のカラムとの組み合わせについての相関係数算出には、その欄に係るレコードペアは考慮されなくなる。
【００８７】
同様に、図１９に示すような類似度のデータにおいても類似度が算出されない欄が発生する。但し、図１９の場合には、特定のカラム（図１９の場合には「会社漢字名」）について類似するレコードとのレコードペアについて類似度を算出するので、特定のカラムについては類似度の欠損は存在しないが、他のカラムについては類似度が算出できないため、類似度が算出されない欄が発生する。そうすると、その欄に係るカラムとの組み合わせについての近傍相関係数算出には、その欄に係るレコードペアは考慮されなくなる。
【００８８】
このように有効なレコードペアの数が減少するので、相関係数及び近傍相関係数についてはそのままの値を用いることができない。本実施の形態では、有意水準については、有効なレコードペアの数に応じて設定する。従って、有効なレコードペアの数を図１４及び図１９のデータにおいて計数する。一方、相関係数又は近傍相関係数に対しては重みｄを乗じた値を用いる。重みｄは、本願発明者の実験等によれば、レコード単位の非欠損率を用いることが好ましい。図３１Ａの例で、企業漢字名カラムと企業カナ名カラムとのカラムペアを検討する場合には、図３１Ｂに模式的に示すように、１レコードで何れか一方又は両方のデータが欠損している場合には、そのレコードを除外して、両方ともデータが登録されているレコードの割合を算出し、重みｄとして用いる。具体的には、２つのカラムについて両方共にデータが登録されているレコード数を全レコード数で除することによって重みｄを算出する。図３１Ｂの場合には、８レコード中３レコードが除外されるので、０．６２５がｄに設定される。よって、相関係数及び近傍相関係数の有意性判定においては、有意水準＜相関係数又は近傍相関係数×ｄが成立するかを判断する。
【００８９】
なお、重みｄを算出する処理については、カラム選択部６００の処理の途中で行っても良いし、前処理部７１０が、カラム選択部６００が第１データ格納部１２０に名寄せ対象データベース５００からデータを読み込んだ後にカラムペア毎に一括して算出して、カラム選択部６００の第１データ格納部１２０等（第２データ格納部１５０など）に出力するようにしても良い。
【００９０】
さらに、図１４のような類似度を算出する際には、各カラムについて、類似度の平均値及び分散値なども算出して、第２データ格納部１５０等に格納しておく。
【００９１】
次に、前処理部７１０は、前処理を実施し、処理結果を第３データ格納部７３０に格納する（ステップＳ１０３）。前処理は、本実施の形態において用いるデータを生成する処理であり、各カラムの出現頻度表を生成する処理を含む。出現頻度表は、例えば図３２のような表である。図３２は企業カナ名についての出現頻度表であり、企業カナ名のカラムに各データ値が何回出現したかをカウントした結果が登録される。
【００９２】
その後、推定部７２０は、欠損値推定処理を実施する（ステップＳ１０５）。欠損値推定処理については、図３３乃至図４３を用いて説明する。
【００９３】
まず、推定部７２０は、推定可能カラム決定処理を実施する（図３３：ステップＳ１１１）。この推定可能カラム決定処理については、図３４乃至図３６を用いて説明する。
【００９４】
まず、推定部７２０は、非選択カラム（第１カラム選択処理において選択され且つ出力データ格納部１７０に格納されているカラム以外のカラム）のうち未処理のカラムＣ1を１つ特定する（図３４：ステップＳ１３１）。そして、推定部７２０は、第１データ格納部１２０に格納されている名寄せ対象データにおいて、特定されたカラムＣ1に欠損値が存在するか判断する（ステップＳ１３３）。特定されたカラムＣ1に欠損値が存在しない場合には、推定することはないので、端子Ｊを介して図３６のステップＳ１４５に移行する。一方、特定されたカラムＣ1に欠損値が存在する場合には、推定部７２０は、選択カラム（第１カラム選択処理において選択され且つ出力データ格納部１７０に格納されているカラム）のうち未処理のカラムＣ2を１つ特定する（ステップＳ１３５）。そして、推定部７２０は、第２データ格納部１５０に格納されている、カラムＣ1とカラムＣ2の相関係数は閾値以上であるか判断する（ステップＳ１３７）。本ステップにおける閾値には、例えば統計的有意水準を用いる。両カラム共に類似度が算出されたレコードペアの数で統計的有意水準を特定する。本ステップＳ１３７では、第１カラム選択処理において計算された相関係数をそのまま用いる。これは、本処理は、欠損値が多いために、正しく評価されなかったカラムを救済するために行うためである。
【００９５】
カラムＣ1とカラムＣ2の相関係数が閾値未満であれば端子Ｈを介して図３６のステップＳ１４３に移行する。一方、カラムＣ1とカラムＣ2の相関係数が閾値以上であれば、推定部７２０は、カラムＣ1及びＣ2のデータ値が共に欠損値となっていないレコードが所定数以上（又は所定割合以上）であるか判断する（ステップＳ１３９）。重みｄを算出する際に得られたレコード数を用いるか、重みｄそのもので判断する。本ステップは、統計的な信頼性を保持するためである。カラムＣ1及びＣ2のデータ値が共に欠損値となっていないレコードが所定数未満であれば、端子Ｈを介して図３６のステップＳ１４３に移行する。
【００９６】
一方、カラムＣ1及びＣ2のデータ値が共に欠損値となっていないレコードが所定数以上であれば、推定部７２０は、第３データ格納部７３０における推定可能カラムペアリストに、カラムＣ1及びＣ2を登録する（ステップＳ１４１）。そして、端子Ｈを介して図３６のステップＳ１４３に移行する。
【００９７】
例えば図３５Ａに示すように第１カラム選択処理の処理結果であるカラムＣ2が特定されており、図３５Ｂに示すように残余の非選択カラムＣ1が特定されているものとする。ここで、図３５Ｂに示すようにデータ値の欠損が存在しているか否かを判断すると、ステップＳ１３５以降では図３５Ｃに示すような非選択カラムＣ1が処理されることになる。そして、選択カラムＣ2とデータの欠損がある非選択カラムＣ1との相関係数と、その有意水準とを図３５Ｄに示すように比較すると、「企業漢字名」カラムと「企業カナ名」カラムとのカラムペアと、「郵便番号」カラムと「住所」カラムとのカラムペアとが、相関係数が有意水準以上となるカラムペアとして特定される。そうすると、それらのカラムペアが、図３５Ｅに示すように、推定可能カラムペアリストに登録される。
【００９８】
図３６の処理の説明に端子Ｈを介して移行して、推定部７２０は、選択カラムについて未処理のカラムが存在しているか判断する（図３６：ステップＳ１４３）。選択カラムにおいて未処理のカラムが存在する場合には、端子Ｉを介して図３４のステップＳ１３５に戻る。一方、選択カラムにおいて未処理のカラムが存在しない場合には、非選択カラムについて未処理のカラムが存在するか判断する（ステップＳ１４５）。非選択カラムについて未処理のカラムが存在する場合には、端子Ｋを介して図３４のステップＳ１３１に戻る。一方、非選択カラムについて未処理のカラムが存在しない場合には、呼び出し元の処理に戻る。
【００９９】
このようにすれば、図３５Ｅに示すように推定可能カラムペアリストの非選択カラムの列において推定可能な非選択カラムが特定される。推定可能カラムペアリストの選択カラムの列に登録された選択カラムについては、類似度を推定する際の根拠として用いられる。
【０１００】
図３３の処理の説明に戻って、推定部７２０は、第２データ格納部１５０に格納されているデータ（例えば図１４に示す各レコードペアについての類似度のデータ）から、推定可能なカラムの回帰分析を実施して回帰係数を算出し、第３データ格納部７３０に格納する（ステップＳ１１３）。以下で述べるように名寄せの可能性が低いカラムペアについては回帰分析の結果を用いて類似度を推定するためである。なお、推定可能なカラムのカラムペアとして推定可能カラムペアリストに登録されている選択カラムとの間の回帰計算を実施する。推定可能カラムペアリストに登録されている選択カラムが複数存在している場合には、重回帰分析を実施して、その回帰係数を第３データ格納部７３０に格納しておく。なお、他のカラムをさらに用いて回帰分析を実施するようにしても良い。
【０１０１】
そして、推定部７２０は、第１データ格納部１２０において、未処理のレコードペアを１つ特定する（ステップＳ１１５）。その後、推定部７２０は、名寄せ可能性推定処理を実施する（ステップＳ１１７）。この名寄せ可能性推定処理については、図３７を用いて説明する。
【０１０２】
まず、推定部７２０は、特定されたレコードペアにおける選択カラムのデータの類似度が閾値（例えば０．８や０．９など）を超えるか判断する（図３７：ステップＳ１５１）。ここで用いられる選択カラムは、推定可能カラムペアリストの選択カラムに登録されているカラムである。第１の実施の形態でも述べたように、名寄せに役立つカラムの類似度が名寄せ可能性の度合いを反映するためである。推定可能カラムペアリストの選択カラムが複数含まれている場合には、類似度の和が閾値を超えているかを判断したり、類似度の最小値が閾値を超えているか判断する。
【０１０３】
特定されたレコードペアにおける選択カラムのデータの類似度が閾値を超えた場合には、推定部７２０は、特定されたレコードペアを、第３データ格納部７３０における高名寄せ可能性リストに登録する（ステップＳ１５３）。その後呼び出し元の処理に戻る。一方、特定されたレコードペアにおける選択カラムのデータの類似度が閾値以下であれば、呼び出し元の処理に戻る。
【０１０４】
例えば図３８Ａに模式的に示すように、ＩＤ「１００００１」「１００００９」のレコードペアについて、選択カラムＣ2「企業漢字名」の類似度が「１．０」であり、閾値０．９を超えている場合には、推定可能な非選択カラムである「企業カナ名」についても、類似度が高いものと推定される。すなわち、これらのレコードペアの名寄せの可能性は高いと推定され、このようなレコードペアの場合には高名寄せ可能性リストに登録する。
【０１０５】
一方、図３８Ｂに模式的に示すように、ＩＤ「１０００１４」「１０００１７」のレコードペアについて、選択カラムＣ2「企業漢字名」の類似度が「０．３６」であり、閾値０．９以下である場合には、推定可能な非選択カラムである「企業カナ名」についても、類似度が低いものと推定される。すなわち、これらのレコードペアの名寄せの可能性は低いと推定され、このようなレコードペアの場合には高名寄せ可能性リストには登録されない。
【０１０６】
図３３の処理の説明に戻って、推定部７２０は、未処理の推定可能な非選択カラムを１つ特定する（ステップＳ１１９）。そして、推定部７２０は、特定された推定可能な非選択カラムにおいて、特定されたレコードペアの一方のみ欠損しているか判断する（ステップＳ１２１）。両方共欠損していない場合には推定は不要であり、両方共欠損している場合には推定不可と判断する。従って、特定された推定可能な非選択カラムにおいて、特定されたレコードペアの一方のみが欠損している状態ではない場合には、端子Ｅを介して図３９のステップＳ１６７に移行する。一方、特定された推定可能な非選択カラムにおいて、特定されたレコードペアの一方のみが欠損している場合には、端子Ｄを介して図３９のステップＳ１６１に移行する。
【０１０７】
図３９の処理の説明に端子Ｄを介して移行して、推定部７２０は、本レコードペアがステップＳ１１７で高名寄せ可能性リストに登録されたか判断する（図３９：ステップＳ１６１）。本レコードペアが高名寄せ可能性リストに登録されていれば、推定部７２０は、第１推定処理を実施する（ステップＳ１６３）。第１推定処理については、図４０乃至図４１Ｃを用いて説明する。なお、第１推定処理が完了すると、ステップＳ１６７に移行する。
【０１０８】
まず、推定部７２０は、推定可能な非選択カラムＣ1の出現頻度表から、特定されたレコードペアの非欠損値ｖ1を特定する（図４０：ステップＳ１７１）。図４１Ａに模式的に示すように、ＩＤ「１００００１」「１００００９」のレコードペアについて処理する場合、推定可能な非選択カラム「企業カナ名」において非欠損値ｖ1は、「エービーシーショウジ」である。そして、図４１Ｂに模式的に示す、「企業カナ名」の出現頻度表において、矢印の行「エービーシーショウジ」を特定する。
【０１０９】
そして、推定部７２０は、出現頻度表において非欠損値ｖ1の前後近傍ａ個のデータ値について、非欠損値ｖ1との類似度を算出する（ステップＳ１７３）。ステップＳ１７５の処理と併せて、閾値未満になるまで近傍のデータ値について非欠損値ｖ1との類似度を算出するようにしても良い。図４１Ｂの例では、ａ＝１であるとして、前後１つずつ非欠損値ｖ1「エービーシーショウジ」との類似度を算出する。図４１Ｂの例では、「エービーシ」については類似度「０．６０」、「エービーシーショウテン」については類似度「０．８２」が算出されている。なお、ａ＝１より大きな値を採用するようにしても良い。
【０１１０】
そうすると、推定部７２０は、閾値（例えば０．８）以上の類似度が算出された近傍のデータ値（自分自身を含む）の出現頻度を用いて重み付けした類似度の加算値を、類似度の推定値として算出し、第２データ格納部１５０に格納する（ステップＳ１７５）。
【０１１１】
図４１Ｂの例では、閾値が０．８なので、「エービーシー」は用いられず、「エービーシーショウジ」及び「エービーシーショウテン」が用いられる。そして、出現頻度の総数に対する、該当する出現頻度の割合で重み付けした類似度を加算する。すなわち、「エービーシーショウジ」については（３／（３＋１））×１．０＝０．７５が算出され、「エービーシーショウテン」については（１／（３＋１））×０．８２＝０．２０５が算出される。従って、これらを合計して、類似度の推定値は０．９５５が得られる。
【０１１２】
一般的には以下のように表される。なお、Ｗkは、類似度が閾値以上の近傍データ値ｋについての重みを表し、（該当近傍データ値ｋの出現頻度）／（類似度が閾値以上の近傍データ値についての出現頻度の総和）である。Ｓkは、近傍データ値ｋと非欠損値ｖ1との類似度を表す。
【０１１３】
【数２】
0005640796.tif 000003
【０１１４】
図４１Ａ及び４１Ｂの例からすれば、ステップＳ１７５では、図４１Ｃに示すようなデータが、第２データ格納部１５０に格納される。すなわち、ＩＤ「１００００１」「１００００９」のレコードペアについて、「企業カナ名」についての類似度の推定値は「０．９５５」と登録される。
【０１１５】
このようにして、名寄せの可能性が高いレコードペアについては、出現頻度表における非欠損値ｖ1の近傍のデータ値の類似度から推定される。
【０１１６】
図３９の処理の説明に戻って、特定されたレコードペアが高名寄せ可能性リストに登録されていない場合、推定部７２０は、第２推定処理を実施する（ステップＳ１６５）。第２推定処理については、従来技術を用いる。具体的には、ステップＳ１１３で算出され第３データ格納部７３０に格納された回帰係数を用いる。
【０１１７】
例えば、図３８Ｂのような場合、推定可能な非選択カラム「企業カナ名」に対して相関係数が閾値以上の選択カラムが「企業漢字名」のみである場合には、図４２に示すような回帰直線が、回帰分析によって得られる。そこで、この回帰直線から、図３８Ｂで示すようにＩＤ「１０００１４」「１０００１７」というレコードペアの選択カラムの類似度「０．３６」に対応する推定類似度「０．３９」を得る。さらに、図１４のような類似度を算出する際に併せて算出した推定可能な非選択カラムの平均値及び分散値に従う正規乱数を生成して、推定類似度に加算する。例えば、乱数「０．０１」が算出されれば、０．３９＋０．０１＝０．４０が最終的な推定類似度として算出される。この最終的な推定類似度が、図４３に示したように、第２データ格納部１５０に格納される。これによって、分散値の偏りを是正する。そしてステップＳ１６７に移行する。
【０１１８】
ステップＳ１６７に移行して、推定部７２０は、推定可能カラムペアリストにおいて未処理の推定可能な非選択カラムが存在するか判断する（ステップＳ１６７）。未処理の推定可能な非選択カラムが存在する場合には、端子Ｆを介してステップＳ１１９に戻る。一方、未処理の推定可能な非選択カラムが存在しない場合には、推定部７２０は、未処理のレコードペアが存在しているか判断する（ステップＳ１６９）。未処理のレコードペアが存在している場合には、端子Ｇを介してステップＳ１１５に戻る。一方、未処理のレコードペアが存在していない場合には、呼び出し元の処理に戻る。
【０１１９】
このように、名寄せの可能性が高い場合には、類似するデータ値についての類似度及び出現頻度を基に類似度を算出する。一方、名寄せの可能性が低い場合には、他のデータの傾向にあった類似度を分散値の偏りを是正しつつ算出する。但し、全ての欠損についてレコードペアの類似度を算出できるわけではない。
【０１２０】
図３０の処理の説明に戻って、推定部７２０は、第２データ格納部１５０に格納した推定類似度のデータを、相関係数算出用のテーブル（図１４）及び近傍相関係数算出用のテーブル（図１９）に設定する（ステップＳ１０７）。このようにすれば、欠損部分を減少させることができる。
【０１２１】
そして、カラム選択部６００は、第２カラム選択処理を実施する（ステップＳ１０９）。第２カラム選択処理については、第１カラム選択処理とは異なり、図１４及び図１９のようなデータは生成されているので、各カラムペアについて相関係数及び近傍相関係数を算出する。その他は同じである。欠損はまだ存在するので、重みｄについては算出し直し、有意水準も欠損の状況に応じて特定し直す。
【０１２２】
以上のような処理を実施することで、名寄せ分野におけるカラム選択において、分析対象データに欠損部分があっても、これに名寄せ問題に適した推定を行うことにより、より正確な相関係数を計算することができ、有用なカラム選択結果を得ることができるようになる。
【０１２３】
なお、名寄せ可能性推定処理（図３７）については、図４４に示すような処理に変更することも可能である。具体的には、推定部７２０は、特定されたレコードペアにおける選択カラムの類似度が閾値を超え且つ選択カラムのデータ値が珍しいかを判断する（図４４：ステップＳ１８１）。具体的には、選択カラムの出現頻度表において、出現頻度が閾値未満であるかを判断する。例えば、図３８Ａのような状況を想定した場合、選択カラムＣ2の「ＡＢＣ商事」について図４５に示すような出現頻度表から出現頻度「３」を得る。出現頻度に対する閾値「１０」から、「ＡＢＣ商事」を珍しいと判断しても良いし、レコード数で除した相対頻度（出現確率）を算出し、相対頻度に対する閾値との比較で珍しいと判断しても良い。なお、選択カラムＣ2の値がレコードペアにおいて異なる場合があるが、その場合には例えば両方の値を加算した上で判断する。平均値で判断しても良い。このような処理は、名寄せされるようなレコードのデータ値は頻繁に出現するようなデータ値ではないので、珍しいという条件を付加したものである。
【０１２４】
以上本技術の形態について説明したが、本技術はこれに限定されるものではない。例えば、上では優先度を算出する処理を実施する例を示したが、十分少ない数までカラムが絞り込むことができていれば、例えばステップＳ６７まで実施するだけでも十分な場合もある。同様に絞り込みができていれば、ステップＳ６５の処理結果だけを提示するだけでも、ユーザが判断可能な場合もある。
【０１２５】
さらに、図９及び図２９に示した機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合がある。また、処理フローについても処理結果が変わらない限り、順番を入れ替えたり、並列実行するようにしても良い。
【０１２６】
また、処理フロー中のループの構成も同様の処理結果が得られるのであれば変更可能である。第２の実施の形態では、カラムペア毎に、レコード単位の非欠損率を算出することになるので、欠損レコード又は非欠損レコードをカウントしやすいように処理フローを変更することも可能である。
【０１２７】
なお、上で述べた名寄せ支援処理装置１００及び７００は、コンピュータ装置であって、図４６に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１２８】
以上述べた本実施の形態をまとめると、以下のようになる。
【０１２９】
本実施の形態に係る名寄せ支援処理方法は、（Ａ）データベースにおけるカラム毎に、レコード間の第１のデータ類似度を算出し、データ格納部に格納するステップと、（Ｂ）カラムの組み合わせの各々についてデータ格納部に格納されている第１のデータ類似度の相関係数を算出し、データ格納部に格納するステップと、（Ｃ）カラムのうちの任意のカラムである注目カラムにおける任意のレコードである注目レコード内のデータに類似する又は類似するとされるデータを有するレコードを特定し、注目レコードと特定されたレコードとの間の各々における、カラム毎の第２のデータ類似度を算出又は特定してデータ格納部に格納すると共に、注目カラムと他のカラムとの組み合わせの各々についてデータ格納部に格納されている第２のデータ類似度の相関係数を近傍相関係数として算出してデータ格納部に格納する近傍相関係数算出ステップと、（Ｄ）正の相関係数が算出され且つ所定の有意水準を超える正の近傍相関係数又はデータ欠落が発生していないレコードの割合が乗じられた正の近傍相関係数が算出されたカラムの組み合わせを、データ格納部から抽出する第１抽出処理を実施する第１抽出ステップとを含む。
【０１３０】
このように相関に加えて近傍相関を導入することによって、名寄せに役立つ可能性のあるカラムを自動的に抽出することができるようになる。また、処理も高速化される。なお、データ欠損が発生していないレコードの割合は、抽出しようとするカラムの組み合わせで判断することが好ましい。
【０１３１】
なお、上で述べた近傍相関係数算出ステップが、（ｃ１）注目カラムのデータでレコードをソートするステップと、（ｃ２）ソート後の並びにおいて注目レコードの前後所定数のレコードを注目レコード内のデータに類似する又は類似するとされるデータを有するレコードとして特定するステップとを含むようにしてもよい。このようにすれば処理負荷を下げて近傍相関係数を算出することができるようになる。なお、第１のデータ類似度を基に類似するレコードを特定するようにしても良い。
【０１３２】
さらに、本名寄せ支援処理方法は、（Ｅ）抽出されたカラムの組み合わせに含まれるカラムである抽出カラムの各々について、当該抽出カラムと他の抽出カラムとの間の相関係数と近傍相関係数との差を有用度として算出し、データ格納部に格納するステップと、（Ｆ）抽出カラムの各々について、当該抽出カラムについて算出された有用度と他の抽出カラムについて算出された当該抽出カラムとの有用度とから優先度を算出し、データ格納部に格納するステップとをさらに含むようにしてもよい。このようにすれば、名寄せに役立つ度合いと、抽出されたカラムの組み合わせに含まれるカラムを比較する際の基準とが得られるようになる。なお、優先度の算出方法は、最大値、平均値、総和などであっても良い。
【０１３３】
さらに、名寄せ支援処理方法は、（Ｇ）データ格納部から、所定の有意水準を超える正の相関係数が算出されたカラムの組み合わせを抽出する第２抽出ステップと、（Ｈ）第１抽出ステップにおいて抽出されたカラムの組み合わせに含まれるカラムと第２抽出ステップにおいて抽出されたカラムの組み合わせに含まれるカラムとに共通するカラムのうち、優先度が最も高いカラムを抽出するステップとをさらに含むようにしてもよい。このようにすれば、冗長性を有するカラム群のうち最も優先すべきカラムを特定することができるようになる。
【０１３４】
さらに、名寄せ支援処理方法は、（Ｉ）第１抽出ステップにおいて抽出されたカラムの組み合わせに含まれるカラムから第２抽出ステップにおいて抽出されたカラムの組み合わせに含まれるカラムを除外した後のカラムである第２抽出カラムと、優先度が最も高いカラムとの組み合わせを生成する組み合わせ生成ステップをさらに含むようにしてもよい。このようにすれば自動的に名寄せに使用すべきカラムが得られるようになる。
【０１３５】
なお、データ格納部に格納されている第２抽出カラムの優先度と優先度が最も高いカラムの優先度とが、所定の閾値以上である場合に組み合わせられるようにしてもよい。名寄せの精度を高めるためである。
【０１３６】
さらに、名寄せ支援処理方法は、（Ｊ）第１抽出ステップにおいて抽出されたカラム又は組み合わせ生成ステップにおいて生成された組み合わせに係るカラムである第１のカラム以外のカラムである第２のカラムのうち、データ欠損が発生しており且つ第１のカラムとの相関係数が閾値以上であるという条件を含む第１の所定の条件を満たす第３のカラムを特定するステップと、（Ｋ）各レコードペアについて、第１のカラムにおけるデータの類似度が第２の閾値以上であるという条件を含む第２の所定の条件を満たす場合には第３のカラムにおける当該レコードペアの非欠損データとの類似度が第３の閾値以上であり且つ第３カラムに出現する類似データ（例えば、類似度の条件のみで抽出される場合もあれば、データ数の制限がある場合もある）の類似度の重み付け加算値を第３のカラムについての類似度として算出し、第２の所定の条件を満たさない場合には第１のカラムと第３のカラムとの他の方法に基づき算出した第２の値を第３のカラムについての類似度として算出し、データ格納部に格納する推定ステップと、（Ｌ）推定ステップの処理結果を格納するデータ格納部に格納されているデータを用いて、第１の類似度の相関係数を再度算出し、第２の類似度の相関係数を再度算出するステップと、（Ｍ）相関係数の再計算結果及び近傍相関係数の再計算結果から、正の相関係数が算出され且つ所定の有意水準を超える正の近傍相関係数が算出されたカラムの組み合わせを、データ格納部から抽出する第３抽出ステップとを含むようにしても良い。
【０１３７】
このようにすればデータの欠落がある場合においても、名寄せの可能性に応じた適切な手法にて類似度を推定することができ、推定結果を用いれば全体としても適切なカラムが抽出されるようになる。
【０１３８】
なお、上で述べた第１の所定の条件が、第１のカラムと第２のカラムとにおいて共にデータ欠損となっていないレコード数が第４の閾値以上存在するという条件をさらに含むようにしてもよい。推定の信頼性を担保するためである。
【０１３９】
さらに、上で述べた第２の所定の条件が、当該レコードペアについて第１のカラムにおけるデータの出現頻度が第５の閾値未満である条件をさらに含むようにしてもよい。名寄せの可能性が高い場合には、そのカラムのデータ値は頻繁に出現するようなデータ値ではないためである。
【０１４０】
さらに、上で述べた重み付け加算値の重み値が、上記類似データの出現頻度の総和に対する当該類似データの出現頻度の比であってもよい。このようにすれば、出現頻度を適切に推定類似度に反映させることができるようになる。
【０１４１】
さらに、上で述べた第２の値が、第１のカラムと第３のカラムとの回帰計算結果から第１のカラムにおけるデータの類似度に対応する第３のカラムにおける類似度を算出し、当該算出した類似度に対して乱数値を加算した結果である場合もある。これによって推定値の分散の偏りを是正できるようになる。
【０１４２】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【０１４３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１４４】
（付記１）
データベースにおけるカラム毎に、レコード間の第１のデータ類似度を算出し、データ格納部に格納し、前記カラムの組み合わせの各々について前記データ格納部に格納されている前記第１のデータ類似度の相関係数を算出し、前記データ格納部に格納する相関係数算出部と、
前記カラムのうちの任意のカラムである注目カラムにおける任意のレコードである注目レコード内のデータに類似する又は類似するとされるデータを有するレコードを特定し、前記注目レコードと特定されたレコードとの間の各々における、前記カラム毎の第２のデータ類似度を算出又は特定して前記データ格納部に格納すると共に、前記注目カラムと他のカラムとの組み合わせの各々について前記データ格納部に格納されている前記第２のデータ類似度の相関係数を近傍相関係数として算出して前記データ格納部に格納する近傍相関係数算出部と、
正の相関係数が算出され且つ所定の有意水準を超える正の近傍相関係数又はデータ欠損が発生していないレコードの割合が乗じられた前記正の近傍相関係数が算出された前記カラムの組み合わせを、前記データ格納部から抽出する第１抽出処理を実施するカラム処理部と、
を有する名寄せ支援処理装置。
【０１４５】
（付記２）
前記近傍相関係数算出部が、
前記注目カラムのデータで前記レコードをソートし、当該ソート後の並びにおいて前記注目レコードの前後所定数のレコードを前記注目レコード内のデータに類似する又は類似するとされるデータを有するレコードとして特定する
付記１記載の名寄せ支援処理装置。
【０１４６】
（付記３）
前記カラム処理部は、
抽出された前記カラムの組み合わせに含まれるカラムである抽出カラムの各々について、当該抽出カラムと他の抽出カラムとの間の前記相関係数と前記近傍相関係数との差を有用度として算出し、前記データ格納部に格納し、
前記抽出カラムの各々について、当該抽出カラムについて算出された前記有用度と前記他の抽出カラムについて算出された当該抽出カラムとの前記有用度とから優先度を算出し、前記データ格納部に格納する、
付記１又は２記載の名寄せ支援処理装置。
【０１４７】
（付記４）
前記カラム処理部は、
前記データ格納部から、所定の有意水準を超える正の相関係数又はデータ欠損が発生していないレコードの割合が乗じられた前記正の近傍相関係数が算出された前記カラムの組み合わせを抽出する第２抽出処理を実施し、
前記第１抽出処理において抽出された前記カラムの組み合わせに含まれるカラムと前記第２抽出処理において抽出された前記カラムの組み合わせに含まれるカラムとに共通するカラムのうち、前記優先度が最も高いカラムを抽出する、
付記３記載の名寄せ支援処理装置。
【０１４８】
（付記５）
前記カラム処理部は、
前記第１抽出処理において抽出された前記カラムの組み合わせに含まれるカラムから前記第２抽出処理において抽出された前記カラムの組み合わせに含まれるカラムを除外した後のカラムである第２抽出カラムと、前記優先度が最も高いカラムとの組み合わせを生成する
付記４記載の名寄せ支援処理装置。
【０１４９】
（付記６）
前記データ格納部に格納されている前記第２抽出カラムの優先度と前記優先度が最も高いカラムの優先度とが、所定の閾値以上である場合に組み合わせる
ことを特徴とする付記５記載の名寄せ支援処理装置。
【０１５０】
（付記７）
前記カラム処理部により抽出されたカラム又は生成された組み合わせに係るカラムである第１のカラム以外のカラムである第２のカラムのうち、データ欠損が発生しており且つ前記第１のカラムとの相関係数が閾値以上であるという条件を含む第１の所定の条件を満たす第３のカラムを特定し、各レコードペアについて、前記第１のカラムにおけるデータの類似度が第２の閾値以上であるという条件を含む第２の所定の条件を満たす場合には前記第３のカラムにおける当該レコードペアの非欠損データとの類似度が第３の閾値以上であり且つ前記第３カラムに出現する類似データの類似度の重み付け加算値を前記第３のカラムについての類似度として算出し、前記第２の所定の条件を満たさない場合には前記第１のカラムと前記第３のカラムとの他の方法に基づき算出した第２の値を前記第３のカラムについての類似度として算出し、前記データ格納部に格納する類似度推定部、
をさらに有し、
前記類似度推定部の処理結果を格納する前記データ格納部に格納されているデータを用いて、前記相関係数算出部が、前記第１の類似度の相関係数を再度算出し、前記近傍相関係数算出部が、前記第２の類似度の相関係数を再度算出し、
前記カラム処理部が処理を再度行う
付記１乃至６のいずれか１つ記載の名寄せ支援処理装置。
【０１５１】
（付記８）
前記第１の所定の条件が、前記第１のカラムと前記第２のカラムとにおいて共にデータ欠損となっていないレコード数が第４の閾値以上存在するという条件をさらに含む
付記７記載の名寄せ支援処理装置。
【０１５２】
（付記９）
前記第２の所定の条件が、当該レコードペアについて前記第１のカラムにおけるデータの出現頻度が第５の閾値未満である条件をさらに含む
付記７又は８記載の名寄せ支援処理装置。
【０１５３】
（付記１０）
前記重み付け加算値の重み値が、前記類似データの出現頻度の総和に対する当該類似データの出現頻度の比である
付記７乃至９のいずれか１つ記載の名寄せ支援処理装置。
【０１５４】
（付記１１）
前記第２の値が、
前記第１のカラムと前記第３のカラムとの回帰計算結果から前記第１のカラムにおけるデータの類似度に対応する前記第３のカラムにおける類似度を算出し、当該算出した類似度に対して乱数値を加算した結果である
付記７乃至１０のいずれか１つ記載の名寄せ支援処理装置。
【０１５５】
（付記１２）
データベースにおけるカラム毎に、レコード間の第１のデータ類似度を算出し、データ格納部に格納するステップと、
前記カラムの組み合わせの各々について前記データ格納部に格納されている前記第１のデータ類似度の相関係数を算出し、前記データ格納部に格納するステップと、
前記カラムのうちの任意のカラムである注目カラムにおける任意のレコードである注目レコード内のデータに類似する又は類似するとされるデータを有するレコードを特定し、前記注目レコードと特定されたレコードとの間の各々における、前記カラム毎の第２のデータ類似度を算出又は特定して前記データ格納部に格納すると共に、前記注目カラムと他のカラムとの組み合わせの各々について前記データ格納部に格納されている前記第２のデータ類似度の相関係数を近傍相関係数として算出して前記データ格納部に格納する近傍相関係数算出ステップと、
正の相関係数が算出され且つ所定の有意水準を超える正の近傍相関係数又はデータ欠損が発生していないレコードの割合が乗じられた前記正の近傍相関係数が算出された前記カラムの組み合わせを、前記データ格納部から抽出する第１抽出ステップと、
を含み、コンピュータにより実行される名寄せ支援処理方法。
【０１５６】
（付記１３）
前記近傍相関係数算出ステップが、
前記注目カラムのデータで前記レコードをソートするステップと、
ソート後の並びにおいて前記注目レコードの前後所定数のレコードを前記注目レコード内のデータに類似する又は類似するとされるデータを有するレコードとして特定するステップと、
を含む付記１２記載の名寄せ支援処理方法。
【０１５７】
（付記１４）
抽出された前記カラムの組み合わせに含まれるカラムである抽出カラムの各々について、当該抽出カラムと他の抽出カラムとの間の前記相関係数と前記近傍相関係数との差を有用度として算出し、前記データ格納部に格納するステップと、
前記抽出カラムの各々について、当該抽出カラムについて算出された前記有用度と前記他の抽出カラムについて算出された当該抽出カラムとの前記有用度とから優先度を算出し、前記データ格納部に格納するステップと、
をさらに含む付記１２又は１３記載の名寄せ支援処理方法。
【０１５８】
（付記１５）
前記データ格納部から、所定の有意水準を超える正の相関係数が算出された前記カラムの組み合わせを抽出する第２抽出ステップと、
前記第１抽出ステップにおいて抽出された前記カラムの組み合わせに含まれるカラムと前記第２抽出ステップにおいて抽出された前記カラムの組み合わせに含まれるカラムとに共通するカラムのうち、前記優先度が最も高いカラムを抽出するステップと、
をさらに含む付記１４記載の名寄せ支援処理方法。
【０１５９】
（付記１６）
前記第１抽出ステップにおいて抽出された前記カラムの組み合わせに含まれるカラムから前記第２抽出ステップにおいて抽出された前記カラムの組み合わせに含まれるカラムを除外した後のカラムである第２抽出カラムと、前記優先度が最も高いカラムとの組み合わせを生成する組み合わせ生成ステップ
をさらに含む付記１５記載の名寄せ支援処理方法。
【０１６０】
（付記１７）
前記データ格納部に格納されている前記第２抽出カラムの優先度と前記優先度が最も高いカラムの優先度とが、所定の閾値以上である場合に組み合わせられることを特徴とする
付記１６記載の名寄せ支援処理方法。
【０１６１】
（付記１８）
前記第１抽出ステップにおいて抽出されたカラム又は前記組み合わせ生成ステップにおいて生成された組み合わせに係るカラムである第１のカラム以外のカラムである第２のカラムのうち、データ欠損が発生しており且つ前記第１のカラムとの相関係数が閾値以上であるという条件を含む第１の所定の条件を満たす第３のカラムを特定するステップと、
各レコードペアについて、前記第１のカラムにおけるデータの類似度が第２の閾値以上であるという条件を含む第２の所定の条件を満たす場合には前記第３のカラムにおける当該レコードペアの非欠損データとの類似度が第３の閾値以上であり且つ前記第３カラムに出現する類似データの類似度の重み付け加算値を前記第３のカラムについての類似度として算出し、前記第２の所定の条件を満たさない場合には前記第１のカラムと前記第３のカラムとの他の方法に基づき算出した第２の値を前記第３のカラムについての類似度として算出し、前記データ格納部に格納する推定ステップと、
前記推定ステップの処理結果を格納する前記データ格納部に格納されているデータを用いて、前記第１の類似度の相関係数を再度算出し、前記第２の類似度の相関係数を再度算出するステップと、
前記相関係数の再計算結果及び前記近傍相関係数の再計算結果から、正の相関係数が算出され且つ所定の有意水準を超える正の近傍相関係数が算出された前記カラムの組み合わせを、前記データ格納部から抽出する第３抽出ステップと、
をさらに含む付記１２乃至１７のいずれか１つ記載の名寄せ支援処理方法。
【０１６２】
（付記１９）
前記第１の所定の条件が、前記第１のカラムと前記第２のカラムとにおいて共にデータ欠損となっていないレコード数が第４の閾値以上存在するという条件をさらに含む
付記１８記載の名寄せ支援処理方法。
【０１６３】
（付記２０）
前記第２の所定の条件が、当該レコードペアについて前記第１のカラムにおけるデータの出現頻度が第５の閾値未満である条件をさらに含む
付記１８又は１９記載の名寄せ支援処理方法。
【０１６４】
（付記２１）
前記重み付け加算値の重み値が、前記類似データの出現頻度の総和に対する当該類似データの出現頻度の比である
付記１８乃至２０のいずれか１つ記載の名寄せ支援処理方法。
【０１６５】
（付記２２）
前記第２の値が、
前記第１のカラムと前記第３のカラムとの回帰計算結果から前記第１のカラムにおけるデータの類似度に対応する前記第３のカラムにおける類似度を算出し、当該算出した類似度に対して乱数値を加算した結果である
付記１８乃至２１のいずれか１つ記載の名寄せ支援処理方法。
【０１６６】
（付記２３）
データベースにおけるカラム毎に、レコード間の第１のデータ類似度を算出し、データ格納部に格納するステップと、
前記カラムの組み合わせの各々について前記データ格納部に格納されている前記第１のデータ類似度の相関係数を算出し、前記データ格納部に格納するステップと、
前記カラムのうちの任意のカラムである注目カラムにおける任意のレコードである注目レコード内のデータに類似する又は類似するとされるデータを有するレコードを特定し、前記注目レコードと特定されたレコードとの間の各々における、前記カラム毎の第２のデータ類似度を算出又は特定して前記データ格納部に格納すると共に、前記注目カラムと他のカラムとの組み合わせの各々について前記データ格納部に格納されている前記第２のデータ類似度の相関係数を近傍相関係数として算出して前記データ格納部に格納する近傍相関係数算出ステップと、
正の相関係数が算出され且つ所定の有意水準を超える正の近傍相関係数又はデータ欠損が発生していないレコードの割合が乗じられた前記正の近傍相関係数が算出された前記カラムの組み合わせを、前記データ格納部から抽出する第１抽出ステップと、
を、コンピュータに実行させるための名寄せ支援処理プログラム。
【０１６７】
（付記２４）
前記近傍相関係数算出ステップが、
前記注目カラムのデータで前記レコードをソートするステップと、
ソート後の並びにおいて前記注目レコードの前後所定数のレコードを前記注目レコード内のデータに類似する又は類似するとされるデータを有するレコードとして特定するステップと、
を含む付記２３記載の名寄せ支援処理プログラム。
【０１６８】
（付記２５）
抽出された前記カラムの組み合わせに含まれるカラムである抽出カラムの各々について、当該抽出カラムと他の抽出カラムとの間の前記相関係数と前記近傍相関係数との差を有用度として算出し、前記データ格納部に格納するステップと、
前記抽出カラムの各々について、当該抽出カラムについて算出された前記有用度と前記他の抽出カラムについて算出された当該抽出カラムとの前記有用度とから優先度を算出し、前記データ格納部に格納するステップと、
をさらに含む付記２３又は２４記載の名寄せ支援処理プログラム。
【０１６９】
（付記２６）
前記データ格納部から、所定の有意水準を超える正の相関係数が算出された前記カラムの組み合わせを抽出する第２抽出ステップと、
前記第１抽出ステップにおいて抽出された前記カラムの組み合わせに含まれるカラムと前記第２抽出ステップにおいて抽出された前記カラムの組み合わせに含まれるカラムとに共通するカラムのうち、前記優先度が最も高いカラムを抽出するステップと、
をさらに含む付記２５記載の名寄せ支援処理プログラム。
【０１７０】
（付記２７）
前記第１抽出ステップにおいて抽出された前記カラムの組み合わせに含まれるカラムから前記第２抽出ステップにおいて抽出された前記カラムの組み合わせに含まれるカラムを除外した後のカラムである第２抽出カラムと、前記優先度が最も高いカラムとの組み合わせを生成する組み合わせ生成ステップ
をさらに含む付記２６記載の名寄せ支援処理プログラム。
【０１７１】
（付記２８）
前記データ格納部に格納されている前記第２抽出カラムの優先度と前記優先度が最も高いカラムの優先度とが、所定の閾値以上である場合に組み合わせられることを特徴とする
付記２７記載の名寄せ支援処理プログラム。
【０１７２】
（付記２９）（追加）
前記第１抽出ステップにおいて抽出されたカラム又は前記組み合わせ生成ステップにおいて生成された組み合わせに係るカラムである第１のカラム以外のカラムである第２のカラムのうち、データ欠損が発生しており且つ前記第１のカラムとの相関係数が閾値以上であるという条件を含む第１の所定の条件を満たす第３のカラムを特定するステップと、
各レコードペアについて、前記第１のカラムにおけるデータの類似度が第２の閾値以上であるという条件を含む第２の所定の条件を満たす場合には前記第３のカラムにおける当該レコードペアの非欠損データとの類似度が第３の閾値以上であり且つ前記第３カラムに出現する類似データの類似度の重み付け加算値を前記第３のカラムについての類似度として算出し、前記第２の所定の条件を満たさない場合には前記第１のカラムと前記第３のカラムとの他の方法に基づき算出した第２の値を前記第３のカラムについての類似度として算出し、前記データ格納部に格納する推定ステップと、
前記推定ステップの処理結果を格納する前記データ格納部に格納されているデータを用いて、前記第１の類似度の相関係数を再度算出し、前記第２の類似度の相関係数を再度算出するステップと、
前記相関係数の再計算結果及び前記近傍相関係数の再計算結果から、正の相関係数が算出され且つ所定の有意水準を超える正の近傍相関係数が算出された前記カラムの組み合わせを、前記データ格納部から抽出する第３抽出ステップと、
をさらに含む付記２３乃至２８のいずれか１つ記載の名寄せ支援処理プログラム。
【０１７３】
（付記３０）
前記第１の所定の条件が、前記第１のカラムと前記第２のカラムとにおいて共にデータ欠損となっていないレコード数が第４の閾値以上存在するという条件をさらに含む
付記２９記載の名寄せ支援処理プログラム。
【０１７４】
（付記３１）
前記第２の所定の条件が、当該レコードペアについて前記第１のカラムにおけるデータの出現頻度が第５の閾値未満である条件をさらに含む
付記２９又は３０記載の名寄せ支援処理プログラム。
【０１７５】
（付記３２）
前記重み付け加算値の重み値が、前記類似データの出現頻度の総和に対する当該類似データの出現頻度の比である
付記２９乃至３１のいずれか１つ記載の名寄せ支援処理プログラム。
【０１７６】
（付記３３）
前記第２の値が、
前記第１のカラムと前記第３のカラムとの回帰計算結果から前記第１のカラムにおけるデータの類似度に対応する前記第３のカラムにおける類似度を算出し、当該算出した類似度に対して乱数値を加算した結果である
付記２９乃至３２のいずれか１つ記載の名寄せ支援処理プログラム。
【符号の説明】
【０１７７】
１００，７００  名寄せ支援処理装置
１１０  データ読み込み部    １２０  第１データ格納部
１３０  相関計算部    １４０  近傍相関計算部
１５０  第２データ格納部    １６０  カラム処理部
１７０  出力データ格納部
１６１  カラム優先度計算部    １６２  カラム抽出処理部
１６３  出力部
６００  カラム選択部    ７１０  前処理部
７２０  推定部    ７３０  第３データ格納部
【図１】
0005640796.tif 000004
【図２】
0005640796.tif 000005
【図３】
0005640796.tif 000006
【図４】
0005640796.tif 000007
【図５】
0005640796.tif 000008
【図６】
0005640796.tif 000009
【図７】
0005640796.tif 000010
【図８】
0005640796.tif 000011
【図９】
0005640796.tif 000012
【図１０】
0005640796.tif 000013
【図１１】
0005640796.tif 000014
【図１２】
0005640796.tif 000015
【図１３】
0005640796.tif 000016
【図１４】
0005640796.tif 000017
【図１５】
0005640796.tif 000018
【図１６】
0005640796.tif 000019
【図１７】
0005640796.tif 000020
【図１８】
0005640796.tif 000021
【図１９】
0005640796.tif 000022
【図２０】
0005640796.tif 000023
【図２１】
0005640796.tif 000024
【図２２Ａ】
0005640796.tif 000025
【図２２Ｂ】
0005640796.tif 000026
【図２３】
0005640796.tif 000027
【図２４】
0005640796.tif 000028
【図２５】
0005640796.tif 000029
【図２６】
0005640796.tif 000030
【図２７】
0005640796.tif 000031
【図２８】
0005640796.tif 000032
【図２９】
0005640796.tif 000033
【図３０】
0005640796.tif 000034
【図３１Ａ】
0005640796.tif 000035
【図３１Ｂ】
0005640796.tif 000036
【図３２】
0005640796.tif 000037
【図３３】
0005640796.tif 000038
【図３４】
0005640796.tif 000039
【図３５Ａ】
0005640796.tif 000040
【図３５Ｂ】
0005640796.tif 000041
【図３５Ｃ】
0005640796.tif 000042
【図３５Ｄ】
0005640796.tif 000043
【図３５Ｅ】
0005640796.tif 000044
【図３６】
0005640796.tif 000045
【図３７】
0005640796.tif 000046
【図３８Ａ】
0005640796.tif 000047
【図３８Ｂ】
0005640796.tif 000048
【図３９】
0005640796.tif 000049
【図４０】
0005640796.tif 000050
【図４１Ａ】
0005640796.tif 000051
【図４１Ｂ】
0005640796.tif 000052
【図４１Ｃ】
0005640796.tif 000053
【図４２】
0005640796.tif 000054
【図４３】
0005640796.tif 000055
【図４４】
0005640796.tif 000056
【図４５】
0005640796.tif 000057
【図４６】
0005640796.tif 000058