JP6772606B2 - データ処理プログラム、データ処理方法、及びデータ処理装置 - Google Patents

データ処理プログラム、データ処理方法、及びデータ処理装置 Download PDF

Info

Publication number
JP6772606B2
JP6772606B2 JP2016138309A JP2016138309A JP6772606B2 JP 6772606 B2 JP6772606 B2 JP 6772606B2 JP 2016138309 A JP2016138309 A JP 2016138309A JP 2016138309 A JP2016138309 A JP 2016138309A JP 6772606 B2 JP6772606 B2 JP 6772606B2
Authority
JP
Japan
Prior art keywords
master
candidate
tables
degree
data items
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
JP2016138309A
Other languages
English (en)
Other versions
JP2018010450A (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 JP2016138309A priority Critical patent/JP6772606B2/ja
Priority to US15/598,712 priority patent/US20180018362A1/en
Publication of JP2018010450A publication Critical patent/JP2018010450A/ja
Application granted granted Critical
Publication of JP6772606B2 publication Critical patent/JP6772606B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データ処理プログラム、データ処理方法、及びデータ処理装置に関する。
企業や官公庁など、多くの組織の大規模システムでは、新しいマスタテーブルと古いマスタテーブルとが整理されないまま混在していたり、地域ごとに分けられたマスタテーブルが識別できない状態のまま放置されていたりすることがある。このような場合、トランザクションデータと対応付けられたマスタテーブルを選び出して結合することが困難なため、データの利活用が著しく制限されるといった問題がある。
クライアント装置から受信した検索要求から求めた管理データ・リポジトリ(MDR)の組み合せの優先度に基づいて、MDR毎に検索して取得したデータのうち検索要求の検索条件を満たすデータを特定する技術等が知られている。
特開2014−021704号公報 特開2006−189921号公報 特開平11−191115号公報
上述した技術では、異なる名前で管理されている同一データに対して共通の名前を付け、同一データとして管理するため、データ間の対応付けが既知であることを前提としている。従って、データ間の対応付け、言い換えると、テーブル間の対応付けが不明な場合において、稼働中のトランザクションのようなテーブルと、蓄積され放置されたマスタのようなテーブルとの対応付けを行うことができないといった問題がある。
したがって、1つの側面では、本発明は、テーブル間の対応付けの確からしさの精度を向上させることを目的とする。
一態様によれば、第1テーブルと、前記第1テーブルのデータ項目と少なくとも一部のデータ項目が一致する複数の第2テーブルそれぞれとデータ項目の一致度である第1一致度をそれぞれ算出し、前記第1一致度に基づいて前記複数の第2テーブルの中から複数の候補テーブルを決定し、複数の前記候補テーブルそれぞれについて、候補テーブルのデータ項目と少なくとも一部のデータ項目が一致する、前記第2テーブルに含まれる複数の第3テーブルそれぞれとのデータ項目の一致度である第2一致度をそれぞれ算出し、前記第1一致度と前記第2一致度に基づいて、複数の前記候補テーブルそれぞれの信頼度を算出する処理をコンピュータに実行させるデータ処理プログラムが提供される。

また、上記課題を解決するための手段として、データ処理方法、及びデータ処理装置とすることもできる。
テーブル間の対応付けの確からしさの精度を向上させることができる。
結合処理を説明するための図である。 結合成功率に基づいてマスタを選択する例を説明するための図である。 データ処理装置のハードウェア構成を示す図である。 第1実施例におけるデータ処理装置の機能構成例を示す図である。 第1実施例における結合連鎖の例を示す図である。 第1実施例における結合率に基づく信頼度の計算例を説明するための図である。 第1実施例における統合マスタ選択処理を説明するための図である。 ステップS20の結合処理を説明するためのフローチャート図である。 ステップS40のマスタ探索処理を説明するためのフローチャート図である。 図9のステップS404を説明するためのフローチャート図である。 第2実施例におけるデータ処理装置の機能構成例を示す図である。 第2実施例における結合連鎖の例を示す図である。 第2実施例における生存数に基づく信頼度の計算例を説明するための図である。 第1実施例における統合マスタ選択処理を説明するための図である。 ステップS20−2の結合処理を説明するためのフローチャート図である。 ステップS40−2のマスタ探索処理を説明するためのフローチャート図である。 図16のステップS404−2を説明するためのフローチャート図である。 第3実施例を説明するための図である。
以下、本発明の実施の形態を図面に基づいて説明する。大規模システムにおいて、新旧のマスタが整理されないまま混在していると、業務に伴って発生した取引先との受発注、支払、納品等のトランザクションデータに対応付けられるマスタを選定して結合することが困難な場合がある。このような状況では、データの利活用が著しく制限されるといった問題がある。
本実施例において、トランザクション(又は、トランザクションデータ)は、データが頻繁に追加される表形式のデータが相当する。マスタ(又は、マスタデータ)は、更新頻度が少ない表形式のデータが相当する。マスタは、業務に係る情報の登録(顧客、店員、製品等の登録情報)に利用される場合が多い。結合処理(又は、JOIN処理)は、キー項目に同一のキーワードをもつトランザクションとマスタの各レコードを合併する処理である。図1に、結合処理について説明する。
図1は、結合処理を説明するための図である。図1において、トランザクション7は、業務ID、顧客ID、店員ID等の項目を有するテーブルである。この例では、業務ID「1」のレコードでは、顧客ID「112」、店員ID「A12」等が示されている。業務ID「2」のレコードでは、顧客ID「851」、店員ID「C54」等が示されている。業務ID「3」のレコードでは、顧客ID「294」、店員ID「Q39」等が示されている。
マスタ6は、店員ID、共通ID等の項目を有するテーブルである。店員ID「A12」のレコードでは、共通ID「009988」等が示されている。店員ID「C54」のレコードでは、共通ID「123987」等が示されている。店員ID「Q39」のレコードでは、共通ID「357852」等が示されている。
トランザクション7及びマスタ6の店員IDはキー項目3である場合、キー項目3の値が一致するレコードが結合され(結合演算)、結合テーブル9が生成される。
結合テーブル9は、業務ID、顧客ID、店員ID、共通ID等の項目を有する。この例では、業務ID「1」のレコードでは、顧客ID「112」、店員ID「A12」、共通ID「009988」等が示される。店員ID「A12」を同一とする、トランザクション7のレコードと、マスタ6のレコードとが結合される。業務ID「2」及び業務ID「3」のレコードについても同様である。
図1では、トランザクション7に対してキー項目3で対応付けされるマスタが1つの場合で説明したが、新旧のマスタが混在する場合には2以上のマスタが同じキー項目3で対応付けられる場合がある。対応付けが可能な2以上のマスタが存在する場合には、トランザクション7への対応付けとして最も確からしいマスタを選択することが望ましい。
トランザクション7に対して対応付け可能な2つのマスタ(「候補マスタ」という)が存在する場合について考察する。2つ候補マスタのうち、トランザクション7のレコード数に対して結合成功率が一番高いマスタを選択することが考えられる。
図2は、結合成功率に基づいてマスタを選択する例を説明するための図である。図2では、トランザクション7のレコードと店員IDで対応付け可能な候補マスタとして、第1候補マスタ8と、第2候補マスタ8とが存在する場合を示している。第1候補マスタ8と、第2候補マスタ8とは共に、少なくとも店員IDの項目を有するマスタである。
第1候補マスタ8では、店員ID「A12」のレコードと、トランザクション7の店員ID「A12」のレコードとで対応付けられる。また、店員ID「C54」のレコードと、トランザクション7の店員ID「C54」のレコードとで対応付けられる。
しかしながら、第1候補マスタ8は、店員ID「Q39」のレコードが存在しないため、トランザクション7の店員ID「Q39」のレコードには対応付けられない。よって、トランザクション7の3レコードに対して、2レコードが対応付け、トランザクション7と第1候補マスタ8との結合成功率は「2/3」となる。
第2候補マスタ8では、店員ID「Q39」のレコードと、トランザクション7の店員ID「Q39」のレコードとで対応付けられる。しかしながら、第2候補マスタ8は、店員ID「A12」及び「C54」のレコードが存在しないため、トランザクション7の店員ID「A12」及び「C54」のレコードのいずれにも対応付けられない。よって、トランザクション7の3レコードに対して、1レコードが対応付け、トランザクション7と第2候補マスタ8との結合成功率は「1/3」となる。
結合成功率に基づいた場合、第1候補マスタ8の結合効率が第2候補マスタ8の結合成功率より大きいため、第1候補マスタ8が、トランザクション7に対応付けるマスタとして選択される。
しかしながら、通常のDBMS(DataBase Management System)は、いくつものマスタを連鎖的に結合して活用するように設計されている。従って、トランザクション7と第1候補マスタ8のようなあるマスタとの結合成功率(「結合率」ともいう)が高いだけでは、その対応付けが確からしいとはいえない。
即ち、トランザクション7と結合可能な候補マスタが、更に別のマスタとうまく結合できるかどうかを探索し、連鎖的に結合できる影響範囲の広さを定量化することが望ましい。連鎖的に結合できる影響範囲の広さを定量化することによって、トランザクション7の結合相手としてより確からしい候補マスタの選択が可能となる。このような観点に基づいて、発明者等によって、以下の手順が提案される。
<手順1>
トランザクション7と結合可能な候補マスタを列挙して結合率を計算する。
<手順2>
それぞれの候補マスタと、DBMS上のすべてのマスタとの間で、結合可能かのチェックを行い、結合可能なら結合率を計算する。
<手順3>
上記<手順2>で得られたマスタに対して、<手順2>と同じ処理を結合率が閾値以下となるまで再帰的に繰り返す。
<手順4>
それぞれの候補マスタに対する結合連鎖の影響範囲の広さを、結合連鎖における各結合の結合率の積(又は平均等)として算出して定量化する。
結合連鎖の影響範囲の広さを定量化するデータ処理装置100は、図3に示すようなハードウェア構成を有する。
図3は、データ処理装置のハードウェア構成を示す図である。図3において、データ処理装置100は、コンピュータによって制御される情報処理装置であって、CPU(Central Processing Unit)11と、主記憶装置12と、補助記憶装置13と、入力装置14と、表示装置15と、通信I/F(インターフェース)17と、ドライブ装置18とを有し、バスBに接続される。
CPU11は、主記憶装置12に格納されたプログラムに従ってデータ処理装置100を制御するプロセッサに相当する。主記憶装置12には、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を記憶又は一時保存する。
補助記憶装置13には、HDD(Hard Disk Drive)等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置13に格納されているプログラムの一部が主記憶装置12にロードされ、CPU11に実行されることによって、各種処理が実現される。
入力装置14は、マウス、キーボード等を有し、ユーザがデータ処理装置100による処理に必要な各種情報を入力するために用いられる。表示装置15は、CPU11の制御のもとに必要な各種情報を表示する。入力装置14と表示装置15とは、一体化したタッチパネル等によるユーザインタフェースであってもよい。通信I/F17は、有線又は無線などのネットワークを通じて通信を行う。通信I/F17による通信は無線又は有線に限定されるものではない。
データ処理装置100によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read‐Only Memory)等の記憶媒体19によってデータ処理装置100に提供される。
ドライブ装置18は、ドライブ装置18にセットされた記憶媒体19(例えば、CD−ROM等)とデータ処理装置100とのインターフェースを行う。
また、記憶媒体19に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体19に格納されたプログラムは、ドライブ装置18を介してデータ処理装置100にインストールされる。インストールされたプログラムは、データ処理装置100により実行可能となる。
尚、プログラムを格納する記憶媒体19はCD−ROMに限定されず、コンピュータが読み取り可能な、構造(structure)を有する1つ以上の非一時的(non‐transitory)な、有形(tangible)な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVD(Digital Versatile Disk)、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
結合率の積によって、結合連鎖の影響範囲の広さを定量化する第1実施例について説明する。図4は、第1実施例におけるデータ処理装置の機能構成例を示す図である。
図4において、データ処理装置100は、主に、結合マスタ選択部40aを有する。結合マスタ選択部40aは、データ処理装置100にインストールされたプログラムが、データ処理装置100のCPU11に実行させる処理により実現される。記憶部130には、トランザクション7、マスタ集合50、候補マスタ8、8、・・・8(総称して、「候補マスタ8」と呼ぶ)、最尤マスタ8p等が記憶される。
結合マスタ選択部40aは、キー項目3によりトランザクション7と結合するマスタとして最も確からしい最尤マスタ8pをマスタ集合50から選択する処理部であり、更に、結合部41aと、候補マスタ抽出部42aと、マスタ探索部43aと、信頼度取得部44aと、最尤マスタ選択部45aとを含む。
結合部41aは、トランザクション7を受け付けて、マスタ集合50の全てのマスタに対してトランザクション7との結合率を計算する。結合部41aは、トランザクション7の全レコード数に対して、マスタと結合したレコード数の割合を算出して結合率を取得する。
候補マスタ抽出部42aは、結合部41aによって計算された結合率に基づいて、複数の候補マスタ8を抽出する。結合率の高い順に予め定めた候補マスタ数分のマスタを選択して候補マスタ8とすればよい。又は、予め定めた結合率の閾値に基づいて閾値以上となるマスタを選択して候補マスタ8とすればよい。結合部41aと候補マスタ抽出部42aとが、第1の一致度取得部に相当する。
マスタ探索部43aは、各候補マスタ8から項目の値の一致により結合可能なマスタと、更に、そのマスタとの項目の値の一致により更に結合可能な次のマスタと、・・・、即ち、再帰的に結合連鎖によって対応付けられるマスタを探索し、マスタ間の結合率を求める。マスタ探索部43aは、第2一致度取得部に相当する。
信頼度取得部44aは、結合連鎖に従って結合率を乗算することで、トランザクション7と候補マスタ8との対応付けの確からしさを示す信頼度を算出する。最尤マスタ選択部45aは、候補マスタ選択部44aによって算出された信頼度のうち、最も高い信頼度を示す候補マスタ8を最尤マスタ8pとして選択する。
第1実施例における結合連鎖と結合率について図5及び図6で説明する。図5は、第1実施例における結合連鎖の例を示す図である。図5では、図2からの続きを示し、第1候補マスタ8及び第2候補マスタ8からの夫々の結合連鎖を示している。
第1候補マスタ8からは、共通IDの値の一致により、マスタA8へと結合され得ると判断する。第1候補マスタ8からマスタA8へは、3レコードが結合され得る。その共通IDで一致した値は、「009988」、「654456」、及び「052399」である。第1候補マスタ8の全レコード数「4」に対して3レコードが連結されることから、結合率は「75%」となる。
マスタA8からは、マイナンバーの値の一致により、マスタD8への結合が可能である。マスタA8からマスタD8へは、1レコードが結合され、そのマイナンバーの値は、「123‐5678」である。マスタA8の全レコード数「4」に対して1レコードが連結されることから、結合率は「25%」となる。
マスタA8からは、マイナンバーの値の一致により、マスタC8への結合が可能である。マスタA8からマスタC8へは、1レコードが結合され、そのマイナンバーの値は、「034‐2076」である。マスタA8の全レコード数「4」に対して1レコードが連結されることから、結合率は「25%」となる。
一方、第2候補マスタ8からは、共通IDの値の一致により、マスタB8へと結合され得る。第2候補マスタ8からマスタB8へは2レコードが結合可能であり、その共通IDの値は「991027」及び「351024」である。第2候補マスタ8の全レコード数「4」に対して2レコードが連結されることから、結合率は「50%」となる。
マスタB8からは、マイナンバーの値の一致により、マスタD8へと結合される。マスタB8からマスタD8へは、1レコードが結合され、そのマイナンバーの値は、「123‐5678」である。マスタB8の全レコード数「4」に対して2レコードが連結されることから、結合率は「50%」となる。
図6は、第1実施例における結合率に基づく信頼度の計算例を説明するための図である。図6を参照して、トランザクション7と対応付けられる最も確からしい候補マスタ8を選択するための信頼度の計算例について説明する。
トランザクション7からの結合連鎖において、トランザクション7から第1候補マスタ8への結合率は、図2より、2/3=67%である。図5より、第1候補マスタ8からマスタA8への結合率は75%、マスタA8からマスタC8への結合率は25%、及び、マスタA8からマスタD8への結合率は25%である。
よって、これらの結合率から、トランザクション7から第1候補マスタ8への結合の信頼度は、
67%×75%×25%×25% = 3.1%
である。
トランザクション7から第2候補マスタ8への結合率は、図2より、1/3=33%である。図5より、第2候補マスタ8からマスタB8への結合率は75%、マスタB8からマスタC8への結合率は50%、及び、マスタB8からマスタD8への結合率は50%である。
よって、これらの結合率から、トランザクション7から第2候補マスタ8への結合の信頼度は、
33%×50%×50%×50% = 4.1%
である。
第1候補マスタ8の信頼度「3.1%」に対して、第2候補マスタ8の信頼度は「4.1%」であり、第1候補マスタ8より高い。従って、トランザクション7と第2候補マスタ8とを結合するのがより確からしいと判定する。第2候補マスタ8を示す最尤マスタ8pが記憶部130に出力される。最尤マスタ8pは、表示装置15に表示されてもよい。
第1実施例では、トランザクション7と直接接合するマスタとの結合率のみで結合の確からしさを判定するのではなく、トランザクション7から結合され、連結される複数のマスタを含めて、全体としての結合連鎖の確からしさに基づいて、トランザクション7とマスタとの対応付けの確からしさの精度を向上させることができる。
つまり、図2の例では、第1候補マスタ8が選択されるのに対して、第1実施例では、第2候補マスタ8が選択される。第2候補マスタ8を選択することで、より確からしい対応付けにより、結合演算の結果として、複数のマスタから精度良くより多くの項目を結合することができる。
次に、第1実施例における、結合マスタ選択部40aによる、結合率を用いて最尤マスタ8pを選択する統合マスタ選択処理について説明する。図7は、第1実施例における統合マスタ選択処理を説明するための図である。
図7を参照すると、結合マスタ選択部40aにおいて、結合部41aは、トランザクション7の入力を受け付けると(ステップS10)、マスタ集合50の全マスタに対してトランザクション7との結合を行い、マスタ毎に結合率を計算する(ステップS20)。結合部41aは、トランザクション7のレコード総数に対する、マスタに結合したレコード数の割合を算出する。
そして、候補マスタ抽出部42aは、トランザクション7とマスタとの対応付けの確からしさを示す結合率に基づいて、マスタ集合50から候補マスタ8の集合を抽出する(ステップS30)。
マスタ探索部43aは、候補マスタ8毎に、結合可能なマスタに対して、結合率の計算を再帰的に実行する(ステップS40)。
信頼度取得部44aは、候補マスタ8毎に、結合連鎖に従って、各マスタの結合率を合算して信頼度を計算する(ステップS50)。最尤マスタ選択部45aは、信頼度の最も高い候補マスタ8を最尤マスタ8pとして選択する(ステップS60)。最尤マスタ8pは、記憶部130に記憶される。また、最尤マスタ8pは、表示装置15に表示されてもよい。結合マスタ選択部40aは、第1実施例における統合マスタ選択処理を終了する。
ステップS20の結合部41aによる、トランザクション7に結合され得る候補マスタ8を選択するための結合率を求める結合処理について説明する。図8は、ステップS20の結合処理を説明するためのフローチャート図である。
図8において、記憶部130のマスタ集合50をマスタ集合Mで示し、マスタ集合Mから選択した1つのマスタをマスタmという。また、マスタmを特定する識別子と求めた結合率sとを(m、s)で表し、(m、s)を要素とする集合は、候補決定用マスタ集合Mで表す。候補決定用マスタ集合Mは、トランザクション7から結合先の候補マスタ8を決定するために参照される。
結合部41aは、記憶部130のマスタ集合50をマスタ集合Mに設定する(ステップS201)。そして、結合部41aは、マスタ集合Mにマスタmが存在するか否かを判断する(ステップS202)。マスタmが存在する場合(ステップS202のYes)、結合部41aは、マスタ集合Mからマスタmを1つ取得する(ステップS203)。
結合部41aは、トランザクション7の項目とマスタmの項目との組合せ毎に、項目間で一致する値の数(以下、「一致数」という)を求め(ステップS204)、組合せ毎の一致数から最大数cを取得する(ステップS205)。
結合部41aは、トランザクション7のレコード総数と最大数cとから、マスタmの結合率sを求め、候補決定用マスタ集合Mに(m、s)を加えた後(ステップS206)、マスタ集合Mからマスタmを削除して(ステップS207)、ステップS202へと戻り、上述同様の処理を繰り返す。
一方、マスタ集合Mにマスタmが存在しない場合(ステップS202のNo)、結合部41aは、結合処理を終了する。
候補マスタ抽出部42aは、結合部41aによる結合処理の結果である候補決定用マスタ集合Mから結合率sがゼロでない(m、s)を取得する。候補マスタ抽出部42aは、結合率sの値の高い順に(m、s)を所定個数、又は、結合率sが閾値以上の(m、s)を取得してもよい。取得した複数の(m、s)で指定されるマスタmを候補マスタ8として記憶部130に記憶する。
次に、ステップS40のマスタ探索部43aによるマスタ探索処理について説明する。図9は、ステップS40のマスタ探索処理を説明するためのフローチャート図である。
図9において、候補マスタ8を結合元のマスタとして結合元テーブルtで表す。候補マスタ8を除く複数のマスタをマスタ集合Mで示し、マスタ集合Mから選択した1つのマスタをマスタmという。また、マスタmと求めた結合率sとを(m、s)で表し、(m、s)を要素とする集合は結合率付きマスタ集合Msrで表す。即ち、
sr = {(m、s)|m∈M、s∈R}
ここで、Rは実数集合である。
マスタ探索部43aは、候補マスタ8の1つを結合元テーブルtに設定する(ステップS401)。また、マスタ探索部43aは、記憶部130のマスタ集合50をマスタ集合Mに設定して初期化する(ステップS402)。
マスタ探索部43aは、結合テーブルtからの結合連鎖での各マスタmの結合率sを取得する結合率取得処理を行う(ステップS403)。結合率取得処理では、マスタ探索部43aは、マスタ集合Mにマスタmが存在するか否かを判断する(ステップ431)。マスタmが存在しない場合(ステップS431のNo)、マスタ探索部43aは、結合率取得処理を終了する。
マスタmが存在する場合(ステップS431のYes)、マスタ探索部43aは、マスタ集合Mの各マスタmに対して、結合元テーブルtとの結合率sを付加した結合率付きマスタ集合Msrを取得する(ステップS432)。結合率付きマスタ集合Msrを取得する処理については、図10で詳述する。
マスタ探索部43aは、取得した結合率付きマスタ集合Msrの全てのマスタmで結合率sがゼロか否かを判断する(ステップS433)。全てのマスタmで結合率sがゼロでない場合(ステップS433のNo)、マスタ探索部43aは、(m、s)毎に、マスタmを結合元テーブルtに設定して、マスタmを除いてマスタ集合Mを設定し、結合率取得処理を再帰的に呼び出す(ステップS434)。
全てのマスタmで結合率sがゼロである場合(ステップS433のYes)、マスタ探索部43aは、結合率取得処理を終了する。結合率取得処理から復帰すると、マスタ探索部43aは、未処理の候補マスタ8が残っているか否かを判断する(ステップS404)。
未処理の候補マスタ8が残ってる場合(ステップS404のYes)、マスタ探索部43aは、次の候補マスタ8を結合元テーブルtに設定し(ステップS405)、ステップS402へと戻り、上述した同様の処理を繰り返す。未処理の候補マスタ8が残っていない場合(ステップS404のNo)、マスタ探索部43aは、マスタ探索処理を終了する。
図10は、図9のステップS404を説明するためのフローチャート図である。図10において、マスタ探索部43aは、結合元テーブルtを受け付けて、結合率付きマスタ集合Msrを空集合(Φ)に設定して初期化する(ステップS471)。
マスタ探索部43aは、マスタ集合Mにマスタmが存在するか否かを判断する(ステップS472)。マスタ集合Mに未処理のマスタmが存在する場合(ステップS472のYes)、マスタ探索部43aは、マスタ集合Mからマスタmを1つ選択する(ステップS473)。ステップS404での処理において、未処理のマスタmが1つ選択され、統合元テーブルtに設定される。
マスタ探索部43aは、統合元テーブルtの項目を1つ選択し、ステップS473で選択したマスタmの各項目との組合せ毎に項目間で一致する値の数を求め(ステップS474)、結合元テーブルtの未処理の項目があるか否かを判断する(ステップS475)。結合元テーブルtの未処理の項目がある場合(ステップS475のYes)、マスタ探索部43aは、ステップS474の処理を繰り返す。
一方、結合元テーブルtの未処理の項目がない場合(ステップS475のNo)、マスタ探索部43aは、全ての組合せに対して得られた一致数のうち、最大数cを取得する(ステップS476)。
マスタ探索部43aは、結合元テーブルtのレコード総数と最大数cとから結合率sを求め、結合率付きマスタ集合Msrに(m、s)を加える(ステップS477)。その後、マスタ探索部43aは、ステップS472へと戻り、上述同様の処理を繰り返す。
一方、マスタ集合Mにマスタmが存在しない場合(ステップS472のNo)、マスタ探索部43aは、結合率付きマスタ集合Msrを出力する(ステップS478)。
第1実施例では、候補マスタ8毎に、トランザクション7から始まる結合連鎖上の結合毎に得た結合率sを乗算することで、候補マスタがトランザクション7と結合する確からしさを示す信頼度を求め、最も高い信頼度を示す候補マスタ8が、トランザクション7と結合するのが最も確からしい最尤マスタ8pであると判断する。結合率sを乗算する代わりに、重み付き和、平均値等により信頼度を求めてもよい。
第2実施例では、トランザクション1から始まる結合連鎖により生き残る生存数により信頼度を求める。生存数とは、項目の値の一致によりマスタ間のレコードを次々に結合した結合連鎖において、各マスタの、末端のマスタへの結合に寄与するレコード数に相当する。
図11は、第2実施例におけるデータ処理装置の機能構成例を示す図である。図11において、第2実施例におけるデータ処理装置100は、主に、結合マスタ選択部40bを有する。結合マスタ選択部40bは、データ処理装置100にインストールされたプログラムが、データ処理装置100のCPU11に実行させる処理により実現される。記憶部130には、第1実施例と同様に、トランザクション7、マスタ集合50、複数の候補マスタ8、最尤マスタ8p等が記憶される。
結合マスタ選択部40bは、キー項目3によりトランザクション7と結合するマスタとして最も確からしい最尤マスタ8pをマスタ集合50から選択する処理部であり、更に、結合部41bと、候補マスタ抽出部42bと、マスタ探索部43bと、信頼度取得部44bと、最尤マスタ選択部45bとを含む。
結合部41bは、トランザクション7を受け付けて、マスタ集合50の全てのマスタに対してトランザクション7と結合できたレコード数(以下、「結合レコード数」という)を計算する。
候補マスタ抽出部42bは、結合部41bによって計算された結合レコード数に基づいて、複数の候補マスタ8を抽出する。生存数の高い順に予め定めた候補マスタ数分のマスタを選択して候補マスタ8の集合を抽出してもよい。又は、結合レコード数が1以上又は予め定めた閾値以上となるマスタを選択して候補マスタ8の集合を抽出してもよい。
マスタ探索部43bは、各候補マスタ8から項目の値の一致により結合可能なマスタと、更に、そのマスタとの項目の値の一致により更に結合可能な次のマスタと、・・・、即ち、再帰的に結合連鎖によって対応付けられるマスタを探索した後、マスタ毎に、末端のマスタへの結合に寄与するレコード数を求めて、各マスタの生存数を求める。
信頼度取得部44bは、結合連鎖に従って生存数を合算することで、トランザクション7と候補マスタ8との対応付けの確からしさを示す信頼度を算出する。最尤マスタ選択部45bは、候補マスタ選択部44bによって算出された信頼度のうち、最も高い信頼度を示す候補マスタ8を最尤マスタ8pとして選択する。
第2実施例における結合連鎖と生存数について図12及び図13で説明する。図12は、第2実施例における結合連鎖の例を示す図である。図12では、図2からの続きを示し、第1候補マスタ8及び第2候補マスタ8からの夫々の結合連鎖を示している。
項目の値の一致により、第1候補マスタ8からは、マスタA8のレコードへと結合でき、更に、マスタA8の結合したレコードからマスタD8のレコードへと結合可能である。
共通IDの値の一致により、第1候補マスタ8からマスタA8へは、3レコードが結合され得る。その共通IDで一致した値は、「009988」、「654456」、及び「052399」である。
しかしながら、第1候補マスタ8からの結合連鎖の末端となるマスタD8のレコードへの結合に寄与するマスタA8のレコードは、共通IDの値が「009988」の1レコードのみである。マスタA8の生存数に「1」が与えられる。また、マスタA8は、第1候補マスタ8からのみ結合され得るため、マスタA8の生存数は「1」となる。
マスタA8の共通IDの値が「009988」のレコードからは、マイナンバーの値の一致により、マスタD8へと結合され得る。マスタA8からマスタD8へは、1レコードが結合され、そのマイナンバーの値は、「123‐5678」である。第1候補マスタ8からの結合連鎖の末端となるマスタD8の生存数は「1」である。
一方、第2候補マスタ8からは、共通IDの値の一致により、マスタB8へと結合され得る。第2候補マスタ8からマスタB8へは2レコードが結合可能であり、その共通IDの値は「991027」及び「351024」である。
しかしながら、第2候補マスタ8からの結合連鎖の末端となるマスタC8及びマスタD8の少なくとも1つのマスタのレコードへの結合に寄与するマスタB8のレコードは、共通IDの値が「351024」の1レコードのみである。マスタB8の生存数に「1」が与えられる。また、マスタB8は、第2候補マスタ8からのみ結合され得るため、マスタB8の生存数は「1」となる。
マスタB8の共通IDの値が「351024」のレコードからは、マイナンバーの値の一致により、マスタC8とマスタD8へと結合され得る。マイナンバーの値「682‐1206」の一致により、マスタB8の1レコードがマスタC8とマスタD8とに結合可能である。第2候補マスタ8からの結合連鎖の末端となるマスタC8及びマスタD8の生存数は、夫々「1」である。
このように、第2実施例では、第1候補マスタ8から結合されるマスタA8から生存数が与えられ、同様に、第2候補マスタ8から結合されるマスタB8から生存数が与えられる。候補マスタ8毎に、候補マスタ8から結合連鎖され得る各マスタの生存数を合算して信頼度を算出する。最も高い信頼度を有する候補マスタ8が最尤マスタ8pとなる。
図13は、第2実施例における生存数に基づく信頼度の計算例を説明するための図である。図13を参照して、トランザクション7と対応付けられる最も確からしい候補マスタ8を選択するための信頼度の計算例について説明する。
トランザクション7からの結合連鎖において、第1候補マスタ8から結合されるマスタA8の生存数は「1」であり、マスタD8の生存数は「1」である。よって、これらの生存数から、トランザクション7から第1候補マスタ8への結合の信頼度は、
1+1 = 2
である。
第2候補マスタ8から結合されるマスタB8の生存数は「1」であり、マスタC8の生存数は「1」であり、また、マスタD8の生存数は「1」である。よって、これらの生存数から、トランザクション7から第2候補マスタ8への結合の信頼度は、
1+1+1 = 3
である。
第1候補マスタ8の信頼度「2」に対して、第2候補マスタ8の信頼度は「3」であり、第1候補マスタ8より高い。従って、トランザクション7と第2候補マスタ8とを結合するのがより確からしいと判定する。第2候補マスタ8を示す最尤マスタ8pが記憶部130に出力される。最尤マスタ8pは、表示装置15に表示されてもよい。
第2実施例では、トランザクション7と直接接合するマスタの結合されるレコード数のみで結合の確からしさを判定するのではなく、トランザクション7から結合され、連結される複数のマスタを含めて、全体としての結合連鎖の確からしさに基づいて、トランザクション7とマスタとの対応付けの確からしさの精度を向上させることができる。
つまり、図2の例では、第1候補マスタ8が選択されるのに対して、第2実施例では、第2候補マスタ8が選択される。第2候補マスタ8を選択することで、より確からしい対応付けにより、結合演算の結果として、複数のマスタから精度良くより多くの項目を結合することができる。
次に、第2実施例における、結合マスタ選択部40bによる、生存数を用いて最尤マスタ8pを選択する統合マスタ選択処理について説明する。図14は、第1実施例における統合マスタ選択処理を説明するための図である。
図14を参照すると、結合マスタ選択部40bにおいて、結合部41bは、トランザクション7の入力を受け付けると(ステップS10−2)、マスタ集合50の全マスタに対してトランザクション7との結合を行い、マスタ毎にトランザクション7と結合できた結合レコード数を計算する(ステップS20−2)。結合部41bによる結合処理は、図15で詳述される。
そして、候補マスタ抽出部42bは、ステップS20−2で算出した結合レコード数に基づいて、マスタ集合50から候補マスタ8の集合を抽出する(ステップS30−2)。
候補マスタ抽出部42bは、マスタ集合50の各マスタの結合レコード数に基づいて、結合レコード数が1以上又は閾値以上の結合レコード数となったマスタを候補マスタ8として決定すればよい。
マスタ探索部43bは、候補マスタ8毎に、結合可能なマスタに対する生存数の計算を再帰的に実行し、結合連鎖における各マスタの生存数を求める(ステップS40−2)。
マスタ探索部43bは、候補マスタ8毎に、結合可能なマスタに対する結合レコード数の計算を再帰的に実行することで、その候補マスタ8の結合連鎖を定め、定めた結合連鎖の末端のマスタから遡ることにより、各マスタ及び候補マスタ8の生存数を求める。マスタ探索部43bは、マスタの識別子と、生存数とを記憶する。マスタ探索部43bによるマスタ探索処理は、図16で詳述される。
信頼度取得部44bは、候補マスタ8毎に、結合連鎖に従って、候補マスタ8の生存数から合算して信頼度を計算する(ステップS50−2)。最尤マスタ選択部45bは、信頼度取得部44bによって求められた信頼度に基づいて、候補マスタ8の中から、信頼度が最も高い最尤マスタ8pを選択し記憶部130に記憶する(ステップS60−2)。最尤マスタ選択部45bは、最尤マスタ8pを表示装置15に表示してもよい。その後、結合マスタ選択部40bは、第2実施例における統合マスタ選択処理を終了する。
ステップS20−2の結合部41bによる、トランザクション7に結合され得る候補マスタ8を選択するための結合レコード数を求める結合処理について説明する。図15は、ステップS20−2の結合処理を説明するためのフローチャート図である。
図15において、記憶部130のマスタ集合50をマスタ集合Mで示し、マスタ集合Mから選択した1つのマスタをマスタmという。また、マスタmを特定する識別子と求めた結合レコード数nとを(m、n)で表し、(m、n)を要素とする集合は、候補決定用マスタ集合Mで表す。候補決定用マスタ集合Mは、トランザクション7から結合先の候補マスタ8を決定するために参照される。
結合部41bは、記憶部130のマスタ集合50をマスタ集合Mに設定する(ステップS201−2)。そして、結合部41bは、マスタ集合Mにマスタmが存在するか否かを判断する(ステップS202−2)。マスタmが存在する場合(ステップS202−2のYes)、結合部41bは、マスタ集合Mからマスタmを1つ取得する(ステップS203−2)。
結合部41bは、トランザクション7の項目とマスタmの項目との組合せ毎に、項目間で値の一致数を求め(ステップS204−2)、組合せ毎の一致数から最大数cを取得する(ステップS205−2)。
結合部41bは、トランザクション7のレコード総数と最大数cとから、マスタmの結合レコード数nを求め、候補決定用マスタ集合Mに(m、n)を加えた後(ステップS206−2)、マスタ集合Mからマスタmを削除して(ステップS207−2)、ステップS202−2へと戻り、上述同様の処理を繰り返す。
一方、マスタ集合Mにマスタmが存在しない場合(ステップS202−2のNo)、結合部41bは、結合処理を終了する。
候補マスタ抽出部42bは、結合部41bによる結合処理の結果である候補決定用マスタ集合Mから結合レコード数nがゼロでない(m、n)を取得する。候補マスタ抽出部42bは、結合レコード数nの値の高い順に(m、n)を所定個数、又は、結合レコード数nが閾値以上の(m、n)を取得してもよい。取得した複数の(m、n)で指定されるマスタmを候補マスタ8として記憶部130に記憶する。
次に、ステップS40−2のマスタ探索部43bによるマスタ探索処理について説明する。図16は、ステップS40−2のマスタ探索処理を説明するためのフローチャート図である。
図16において、候補マスタ8を結合元のマスタとして結合元テーブルtで表す。候補マスタ8を除く複数のマスタをマスタ集合Mで示し、マスタ集合Mから選択した1つのマスタをマスタmという。また、マスタmと求めた生存数sとを(m、s、l)で表し、(m、s、l)を要素とする集合は生存数付きマスタ集合Mseで表す。また、結合されるレコードのidの一覧は、生存リストlで示される。即ち、
se = {(m、s、l)|m∈M、s∈N、lはmの生存リスト}
ここで、Nは自然数集合である。
マスタ探索部43bは、候補マスタ8の1つを結合元テーブルtに設定する(ステップS401−2)。また、マスタ探索部43bは、記憶部130のマスタ集合50をマスタ集合Mに設定して初期化する(ステップS402−2)。
マスタ探索部43bは、結合テーブルtからの結合連鎖での各マスタmの生存数sを取得する生存数取得処理を行う(ステップS403−2)。生存数取得処理では、マスタ探索部43bは、マスタ集合Mにマスタmが存在するか否かを判断する(ステップ431−2)。マスタmが存在する場合(ステップS431−2のNo)、マスタ探索部43bは、生存数取得処理を終了する。
マスタmが存在する場合(ステップS431−2のYes)、マスタ探索部43bは、マスタ集合Mの各マスタmに対して、結合元テーブルtとの生存数sを付加した生存数付きマスタ集合Mseを取得する(ステップS432−2)。生存数付きマスタ集合Mseを取得する処理については、図17で詳述する。
マスタ探索部43bは、取得した生存数付きマスタ集合Mseの全てのマスタmで結合率sがゼロか否かを判断する(ステップS433−2)。全てのマスタmで生存数sがゼロでない場合(ステップS433−2のNo)、マスタ探索部43bは、(m、s、l)毎に、マスタmを結合元テーブルtに設定して、マスタmを除いてマスタ集合Mを設定し、生存数取得処理を再帰的に呼び出す(ステップS434−2)。
全てのマスタmで生存数sがゼロである場合(ステップS433のYes)、マスタ探索部43bは、生存数取得処理を終了する。生存数取得処理から復帰すると、マスタ探索部43bは、未処理の候補マスタ8が残っているか否かを判断する(ステップS404)。
未処理の候補マスタ8が残ってる場合(ステップS404−2のYes)、マスタ探索部43bは、次の候補マスタ8を結合元テーブルtに設定し(ステップS405−2)、ステップS402−2へと戻り、上述した同様の処理を繰り返す。未処理の候補マスタ8が残っていない場合(ステップS404−2のNo)、マスタ探索部43bは、マスタ探索処理を終了する。
図17は、図16のステップS404−2を説明するためのフローチャート図である。図17において、マスタ探索部43bは、結合元テーブルtを受け付けて、生存数付きマスタ集合Mseを空集合(Φ)に設定して初期化する(ステップS471−2)。
マスタ探索部43bは、マスタ集合Mに未処理のマスタmが存在するか否かを判断する(ステップS472−2)。マスタ集合Mにマスタmが存在する場合(ステップS472−2のYes)、マスタ探索部43aは、マスタ集合Mからマスタmを1つ選択する(ステップS473−2)。ステップS404−2での処理において、未処理のマスタmが1つ選択され、統合元テーブルtに設定される。
マスタ探索部43bは、統合元テーブルtの項目を1つ選択し、結合元テーブルtの生存リストlで指定される生存レコードにおける項目値と、ステップS473‐2で選択したマスタmの項目値の一致数を求め、また、マスタmの生存リストlに項目値が一致したレコードidを追加する(ステップS474−2)。そして、マスタ探索部43bは、結合元テーブルtの未処理の項目があるか否かを判断する(ステップS475−2)。結合元テーブルtの未処理の項目がある場合(ステップS475−2のYes)、マスタ探索部43bは、ステップS474−2の処理を繰り返す。
一方、結合元テーブルtの未処理の項目がない場合(ステップS475−2のNo)、マスタ探索部43bは、全ての組合せに対して得られた一致数のうち、最大数cを取得する(ステップS476−2)。
マスタ探索部43bは、最大数cのレコードidの生存リストlをlとし、生存数付きマスタ集合Mseに(m、生存数s、l)を加える(ステップS477−2)。その後、マスタ探索部43bは、ステップS472−2へと戻り、上述同様の処理を繰り返す。
一方、マスタ集合Mにマスタmが存在しない場合(ステップS472−2のNo)、マスタ探索部43bは、生存数付きマスタ集合Mseを出力する(ステップS478−2)。
第2実施例では、候補マスタ8毎に、トランザクション7から始まる結合連鎖上の結合毎に得た生存数sを加算することで、候補マスタがトランザクション7と結合する確からしさを示す信頼度を求め、最も高い信頼度を示す候補マスタ8が、トランザクション7と結合するのが確からしい最尤マスタ8pであると判断する。
上述した第1実施例及び第2実施例では、1つのトランザクション7に対して、トランザクション7と結合され得る最も確からしい最尤マスタ8pを精度良く選択できる。次に、2以上のトランザクション7の全てに対して結合され得る最も確からしい最尤マスタ8pを選択する第3実施例について説明する。
図18は、第3実施例を説明するための図である。第3実施例において、トランザクションA7a及びトランザクションB7bのそれぞれに対して結合率を用いて最尤マスタ8pを求め、2つの最尤マスタ8pのうち、最も高い信頼度のマスタを、トランザクションA7a及びトランザクションB7b全てに対する最尤マスタ8pとして決定する。
トランザクションA7aに結合され得る第1候補マスタ8の信頼度は、
67%×75%×25%×25% = 3.1%
よって、3.1%である。
トランザクションA7aに結合され得る第2候補マスタ8の信頼度は、
33%×50%×50%×50% = 4.1%
よって、4.1%である。
トランザクションB7bに結合され得る第1候補マスタ8の信頼度は、
70%×75%×25%×25% = 3.3%
よって、3.3%である。
トランザクションB7bに結合され得る第2候補マスタ8の信頼度は、
20%×50%×50%×50% = 2.5%
よって、2.5%である。
上記結果より、トランザクションA7aに対する最尤マスタ8pは、第2候補マスタ8であると判定され、トランザクションB7bに対する最尤マスタ8pは、第1候補マスタ8であると判定される。
更に、トランザクションA7aに対する最尤マスタ8pである第2候補マスタ8の信頼度は「4.1%」であったのに対して、トランザクションB7bに対する最尤マスタ8pである第1候補マスタ8の信頼度は「3.3%」である。従って、より信頼度の高い第2候補マスタ8を、2つのトランザクションA7a及びB7bに結合され得る最尤マスタ8pとして選択する。
上述したように、第1、第2、及び第3実施例では、複数のマスタを連鎖的に結合して活用するように設計されたDBMSにおいても、与えられたトランザクション7に対して、複数の候補マスタから、トランザクション7との対応付けとして最も確からしいマスタ選択することができる。
第1、第2、及び第3実施例では、あるマスタのトランザクション7との結合率のみによる最尤マスタ8pの選択に比べて、トランザクション7とマスタの対応付けの確からしさの精度を上げることができる。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
以上の第1〜第3実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
第1テーブルのデータ項目と少なくとも一部のデータ項目が一致する複数の候補テーブルを複数の第2テーブルから選択し、複数の前記候補テーブルと前記第1テーブルのデータ項目の第1一致度をそれぞれ算出し、
複数の前記候補テーブルのデータ項目と少なくとも一部のデータ項目が一致する複数の第3テーブルを複数の前記第2テーブルから選択し、複数の前記候補テーブルと複数の前記第3テーブルのデータ項目の第2一致度をそれぞれ算出し、
前記第1一致度と前記第2一致度に基づいて、複数の前記候補テーブルの信頼度を算出する
処理をコンピュータに実行させるデータ処理プログラム。
(付記2)
前記コンピュータは、
前記第1テーブルのデータ項目の総数に対する、前記候補テーブルのデータ項目が一致した一致数の割合を算出することによって、前記第1一致度を取得する
ことを特徴とする付記1記載のデータ処理プログラム。
(付記3)
前記コンピュータは、
各候補テーブル毎に、該候補テーブルのデータ項目の総数に対する、前記第3テーブルのデータ項目が一致した一致数の割合を算出することによって、前記第2一致度を取得する
ことを特徴とする付記2記載のデータ処理プログラム。
(付記4)
前記コンピュータは、
前記候補テーブル毎に、前記第1テーブルの前記データ項目の前記第1一致度と、前記第3テーブルのとの該データ項目の第2一致度とを合算して、各候補テーブルの前記信頼度を取得する
ことを特徴とする付記1乃至3のいずれか一項記載のデータ処理プログラム。
(付記5)
前記コンピュータは、
複数の前記候補テーブルのうち、最も高い信頼度の候補テーブルを、前記第1テーブルに最も結合され得る最尤テーブルであると判定する
ことを特徴とする付記1乃至4のいずれか一項記載のデータ処理プログラム。
(付記6)
前記コンピュータは、
複数の前記第1テーブルに対して、該第1テーブル毎に、前記信頼度に基づいて、複数の前記候補テーブルの1つを該第1テーブルに最も結合され得るテーブルであると判定し、
複数の前記第1テーブルの複数の前記最も結合され得るテーブルのうち、最も高い信頼度のテーブルを、複数の該第1テーブルに結合され得る最尤テーブルであると判定する
ことを特徴とする付記5記載のデータ処理プログラム。
(付記7)
第1テーブルのデータ項目と少なくとも一部のデータ項目が一致する複数の候補テーブルを複数の第2テーブルから選択し、
複数の前記候補テーブルのデータ項目と少なくとも一部のデータ項目が一致する複数の第3テーブルを複数の前記第2テーブルから選択し、複数の前記候補テーブルと複数の前記第3テーブルのデータ項目の第1一致度をそれぞれ算出し、
複数の前記第3テーブルのデータ項目と少なくとも一部のデータ項目が一致する複数の第4テーブルを複数の前記第2テーブルから選択し、複数の前記第3テーブルと複数の前記第4テーブルのデータ項目の第2一致度をそれぞれ算出し、
前記第1一致度と前記第2一致度に基づいて、複数の前記候補テーブルの信頼度を算出する
処理をコンピュータに実行させるデータ処理プログラム。
(付記8)
第1テーブルのデータ項目と少なくとも一部のデータ項目が一致する複数の候補テーブルを複数の第2テーブルから選択し、複数の前記候補テーブルと前記第1テーブルのデータ項目の第1一致度をそれぞれ算出し、
複数の前記候補テーブルのデータ項目と少なくとも一部のデータ項目が一致する複数の第3テーブルを複数の前記第2テーブルから選択し、複数の前記候補テーブルと複数の前記第3テーブルのデータ項目の第2一致度をそれぞれ算出し、
前記第1一致度と前記第2一致度に基づいて、複数の前記候補テーブルの信頼度を算出する
処理をコンピュータに実行させるデータ処理方法。
(付記9)
第1テーブルのデータ項目と少なくとも一部のデータ項目が一致する複数の候補テーブルを複数の第2テーブルから選択し、複数の前記候補テーブルと前記第1テーブルのデータ項目の第1一致度をそれぞれ算出する第1一致度取得部と、
複数の前記候補テーブルのデータ項目と少なくとも一部のデータ項目が一致する複数の第3テーブルを複数の前記第2テーブルから選択し、複数の前記候補テーブルと複数の前記第3テーブルのデータ項目の第2一致度をそれぞれ算出する第2一致度取得部と、
前記第1一致度と前記第2一致度に基づいて、複数の前記候補テーブルの信頼度を算出する信頼度取得部と
を有するデータ処理装置。
7 トランザクション
8 候補マスタ
8p 最尤マスタ
11 CPU
12 主記憶装置
13 補助記憶装置
14 入力装置
15 表示装置
17 通信I/F
18 ドライブ装置
19 記憶媒体
40a、40b 結合マスタ選択部
41a、41b 結合部
42a、42b 候補マスタ抽出部
43a、43b マスタ探索部
44a、44b 信頼度取得部
45a、45b 最尤マスタ選択部
50 マスタ集合
100 データ処理装置
130 記憶部

Claims (8)

  1. 第1テーブルと、前記第1テーブルのデータ項目と少なくとも一部のデータ項目が一致する複数の第2テーブルそれぞれとデータ項目の一致度である第1一致度をそれぞれ算出し、
    前記第1一致度に基づいて前記複数の第2テーブルの中から複数の候補テーブルを決定し、
    複数の前記候補テーブルそれぞれについて、候補テーブルのデータ項目と少なくとも一部のデータ項目が一致する、前記第2テーブルに含まれる複数の第3テーブルそれぞれとのデータ項目の一致度である第2一致度をそれぞれ算出し、
    前記第1一致度と前記第2一致度に基づいて、複数の前記候補テーブルそれぞれの信頼度を算出する
    処理をコンピュータに実行させるデータ処理プログラム。
  2. 前記コンピュータは、
    前記第1テーブルのデータ項目の総数に対する、前記候補テーブルのデータ項目が一致した一致数の割合を算出することによって、前記第1一致度を取得する
    ことを特徴とする請求項1記載のデータ処理プログラム。
  3. 前記コンピュータは、
    各候補テーブル毎に、該候補テーブルのデータ項目の総数に対する、前記第3テーブルのデータ項目が一致した一致数の割合を算出することによって、前記第2一致度を取得する
    ことを特徴とする請求項2記載のデータ処理プログラム。
  4. 前記コンピュータは、
    前記候補テーブル毎に、前記第1テーブルの前記データ項目の前記第1一致度と、前記第3テーブルのとの該データ項目の第2一致度とを総合して、各候補テーブルの前記信頼度を取得する
    ことを特徴とする請求項1乃至3のいずれか一項記載のデータ処理プログラム。
  5. 前記コンピュータは、
    複数の前記候補テーブルのうち、最も高い信頼度の候補テーブルを、前記第1テーブルに最も結合され得る最尤テーブルであると判定する
    ことを特徴とする請求項1乃至4のいずれか一項記載のデータ処理プログラム。
  6. 前記コンピュータは、
    複数の前記第1テーブルに対して、該第1テーブル毎に、前記信頼度に基づいて、複数の前記候補テーブルの1つを該第1テーブルに最も結合され得るテーブルであると判定し、
    複数の前記第1テーブルの複数の前記最も結合され得るテーブルのうち、最も高い信頼度のテーブルを、複数の該第1テーブルに結合され得る最尤テーブルであると判定する
    ことを特徴とする請求項5記載のデータ処理プログラム。
  7. 第1テーブルと、前記第1テーブルのデータ項目と少なくとも一部のデータ項目が一致する複数の第2テーブルそれぞれとデータ項目の一致度である第1一致度をそれぞれ算出し、
    前記第1一致度に基づいて前記複数の第2テーブルの中から複数の候補テーブルを決定し、
    複数の前記候補テーブルそれぞれについて、候補テーブルのデータ項目と少なくとも一部のデータ項目が一致する、前記第2テーブルに含まれる複数の第3テーブルそれぞれとのデータ項目の一致度である第2一致度をそれぞれ算出し、
    前記第1一致度と前記第2一致度に基づいて、複数の前記候補テーブルそれぞれの信頼度を算出する
    処理をコンピュータに実行させるデータ処理方法。
  8. 第1テーブルと、前記第1テーブルのデータ項目と少なくとも一部のデータ項目が一致する複数の第2テーブルそれぞれとデータ項目の一致度である第1一致度をそれぞれ算出し、前記第1一致度に基づいて前記複数の第2テーブルの中から複数の候補テーブルを決定する第1一致度取得部と、
    複数の前記候補テーブルそれぞれについて、候補テーブルのデータ項目と少なくとも一部のデータ項目が一致する、前記第2テーブルに含まれる複数の第3テーブルそれぞれとのデータ項目の一致度である第2一致度をそれぞれ算出する第2一致度取得部と、
    前記第1一致度と前記第2一致度に基づいて、複数の前記候補テーブルそれぞれの信頼度を算出する信頼度取得部と
    を有するデータ処理装置。
JP2016138309A 2016-07-13 2016-07-13 データ処理プログラム、データ処理方法、及びデータ処理装置 Expired - Fee Related JP6772606B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016138309A JP6772606B2 (ja) 2016-07-13 2016-07-13 データ処理プログラム、データ処理方法、及びデータ処理装置
US15/598,712 US20180018362A1 (en) 2016-07-13 2017-05-18 Data processing method and data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016138309A JP6772606B2 (ja) 2016-07-13 2016-07-13 データ処理プログラム、データ処理方法、及びデータ処理装置

Publications (2)

Publication Number Publication Date
JP2018010450A JP2018010450A (ja) 2018-01-18
JP6772606B2 true JP6772606B2 (ja) 2020-10-21

Family

ID=60941111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016138309A Expired - Fee Related JP6772606B2 (ja) 2016-07-13 2016-07-13 データ処理プログラム、データ処理方法、及びデータ処理装置

Country Status (2)

Country Link
US (1) US20180018362A1 (ja)
JP (1) JP6772606B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11016978B2 (en) * 2019-09-18 2021-05-25 Bank Of America Corporation Joiner for distributed databases

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003027A (en) * 1997-11-21 1999-12-14 International Business Machines Corporation System and method for determining confidence levels for the results of a categorization system
US7299226B2 (en) * 2003-06-19 2007-11-20 Microsoft Corporation Cardinality estimation of joins
JP4899544B2 (ja) * 2006-03-13 2012-03-21 富士通株式会社 プログラム解析方法、プログラム及びプログラム解析装置
US8266168B2 (en) * 2008-04-24 2012-09-11 Lexisnexis Risk & Information Analytics Group Inc. Database systems and methods for linking records and entity representations with sufficiently high confidence
JP5840110B2 (ja) * 2012-11-05 2016-01-06 三菱電機株式会社 同一項目検出装置及びプログラム
JP5984629B2 (ja) * 2012-11-14 2016-09-06 三菱電機株式会社 マスタファイル差分自動出力装置
JP6123372B2 (ja) * 2013-03-12 2017-05-10 株式会社リコー 情報処理システム、名寄せ判定方法及びプログラム
US9767127B2 (en) * 2013-05-02 2017-09-19 Outseeker Corp. Method for record linkage from multiple sources
US9495347B2 (en) * 2013-07-16 2016-11-15 Recommind, Inc. Systems and methods for extracting table information from documents
JP6352761B2 (ja) * 2014-10-08 2018-07-04 株式会社日立製作所 データ処理システム、データ処理方法、及びプログラム
US10198471B2 (en) * 2015-05-31 2019-02-05 Microsoft Technology Licensing, Llc Joining semantically-related data using big table corpora
US20170344890A1 (en) * 2016-05-26 2017-11-30 Arun Kumar Parayatham Distributed algorithm to find reliable, significant and relevant patterns in large data sets

Also Published As

Publication number Publication date
JP2018010450A (ja) 2018-01-18
US20180018362A1 (en) 2018-01-18

Similar Documents

Publication Publication Date Title
KR101149994B1 (ko) 외부 메타데이터 프로세싱 방법 및 시스템
JP5313337B2 (ja) モバイル・コンピューティング装置に対する検索結果の提供
JP4943240B2 (ja) ビジネスプロセス作成方法、ビジネスプロセス作成装置、及びビジネスプロセス作成プログラム
JP4453983B2 (ja) データベースへのクエリ送信方法およびクエリ送信システム
CN107784030B (zh) 一种处理连接查询的方法及装置
JP4908073B2 (ja) サービスベースソフトウェア設計支援方法及びそのための装置
WO2016191995A1 (zh) 一种分布式数据库中关联表分区的方法和设备
JP2009217426A (ja) 情報処理装置、リソース同定プログラム、リソース同定方法
US8285742B2 (en) Management of attribute information related to system resources
JP6772606B2 (ja) データ処理プログラム、データ処理方法、及びデータ処理装置
CN115328883A (zh) 一种数据仓库建模方法和系统
CN116483476B (zh) 数据源的配置方法、装置、电子设备及存储介质
JPWO2009069474A1 (ja) 類似サービス検索システム、方法、及び、プログラム
JP6588988B2 (ja) 業務プログラム生成支援システムおよび業務プログラム生成支援方法
US20080082516A1 (en) System for and method of searching distributed data base, and information management device
JP4852834B2 (ja) アプリケーション要件設計支援システムおよび方法
CN115982100A (zh) 一种项目工程文件数据管理方法、系统及电子设备
US20220035791A1 (en) Verification method, information processing apparatus, and non-transitory computer-readable storage medium for storing verification program
JP6273969B2 (ja) データ加工装置、情報処理装置、方法、およびプログラム
CN115733787A (zh) 一种网络识别方法、装置、服务器及存储介质
JP5358981B2 (ja) 情報処理装置、情報処理装置の制御方法および情報処理装置の制御用プログラム
WO2020141968A1 (en) A system and method for impact analysis of change request that affects database structure through classificiation and keyword similarity analysis
JP6221305B2 (ja) 情報処理装置
JP5535270B2 (ja) 文書成分分析装置およびプログラム
US20050015400A1 (en) Existing content utilization support method, information processing device, program, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200803

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200914

R150 Certificate of patent or registration of utility model

Ref document number: 6772606

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees