JP4870732B2 - 情報処理装置、名寄せ方法及びプログラム - Google Patents
情報処理装置、名寄せ方法及びプログラム Download PDFInfo
- Publication number
- JP4870732B2 JP4870732B2 JP2008198355A JP2008198355A JP4870732B2 JP 4870732 B2 JP4870732 B2 JP 4870732B2 JP 2008198355 A JP2008198355 A JP 2008198355A JP 2008198355 A JP2008198355 A JP 2008198355A JP 4870732 B2 JP4870732 B2 JP 4870732B2
- Authority
- JP
- Japan
- Prior art keywords
- link
- record
- tree
- rule
- identity
- 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
Links
- 238000000034 method Methods 0.000 title claims description 36
- 230000010365 information processing Effects 0.000 title claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 60
- 230000009466 transformation Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 240000000220 Panda oleosa Species 0.000 description 2
- 235000016496 Panda oleosa Nutrition 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
名寄せの方法としては、例えば特許文献1が知られている。
CPU11が、記憶装置13に記憶されている、プログラムに基づき処理を行うことによって、後述する機能、又はフローチャートに係る処理を実現する。
なお、図1では説明の簡略化のため、CPUは1つしか図示していないが、処理の高速化等のため、情報処理装置は、複数のCPUを有していてもよい。
ファイル生成部21は、同一性の判定対象のレコードと、同一性の判定に係るルールと、に基づき、後述する図6に示すようなファイルを生成する。
リンクテーブル作成部22は、同一性の判定に係るルールのルール数と、同一性の判定対象のレコードのレコード数と、に基づき、テーブルの各セルをゼロで初期化したリンクテーブルを作成する。
ツリー変換部24は、リンク設定部23でリンクが設定されたリンクテーブルによって表されるレコードの有向グラフをレコード番号の小さいものをルートとしたレコード番号のツリー(レコードのツリー)に変換する。
平坦化部25は、ツリー変換部24で変換された(生成された)ツリーを平坦化する。
図3に示されるように、本実施形態では、入力データとして、住所コード、補助住所(番地以下の住所を示すコード)、カナ氏名、生年月日、電話番号(電話)等のフィールドからなるテキストファイルを想定している。また、入力データの各フィールドはクレンジング済みであり、同一性の判定は文字列の完全一致により判断できる状態になっているものとする。この入力データは、例えば、情報処理装置1とネットワークを介して接続された他の装置から入力される。
(ルール1):電話が一致した場合、同一個人のレコード
(ルール2):住所コード、補助住所、カナ氏名、生年月日が一致した場合、同一個人のレコード
なお、これらのルールは、例えばルールファイル等に記述されているものとする。入力データと同様、このルールファイルも、例えば、情報処理装置1とネットワークを介して接続された他の装置から入力される。
ファイル生成部21は、分類した結果(図4の(A)及び図5の(B))を合わせて1ファイルにする。なお、このとき、ファイル生成部21は、複数のレコード番号を含むエントリーのみを抽出し、ファイルに記述する。また、ファイル生成部21は、ルールを識別するルール番号と、前記ルールに基づき同一と判定されたレコードのレコード番号の組(グループ)と、を対応付けてファイルに記述する。図6は、ファイル生成部21が生成したファイルの一例を示す図である。
例えば、ファイル生成部21で生成されたファイルに
ルール番号が1、同一個人を表すレコード番号の組が3,5
と記述されていた場合、リンク設定部23は、図7に示されるように、ルール1の列のレコード番号が大きい5のセルに、レコード番号が小さい3へのリンク(レコード間の同一性を表すリンク)を設定する。
例えば、ファイル生成部21で生成されたファイルに
ルール番号が3、同一個人を表すレコード番号の組が4,6,10
と記述されていた場合、リンク設定部23は、図8に示されるように、ルール3の列のレコード番号が大きい10、6のセルに、レコード番号が一番小さい4へのリンク(レコード間の同一性を表すリンク)を設定する。なお、図8では、リンクのない状態である0は明記せず、網掛けで表現している。以下の図においても同様である。
すると次に、ツリー変換部24は、リンクテーブルによって表現されるレコード(レコード番号)の有向グラフをツリーに変換する。
より具体的に説明すると、ツリー変換部24は、レコード番号1からレコード番号nの順に、レコード番号m(m=1、・・・、n)のレコードについて以下の処理を行い、リンクテーブルによって表現されるレコードの有向グラフをツリーに変換する。
次に、ツリー変換部24は、集合T=(S−{p})∪{m}の各レコード番号xのルール1のセルにp、2≦ルール数rの場合はルール2〜ルールrにゼロを書き込む。
m=1の場合、ツリー変換部24は、S={1}、p=1、T={1}と算出する。
よって、ツリー変換部24は、図10に示されるように、ルール番号が1、レコード番号が1のセルに1を書き込む(設定する)。
m=2の場合、ツリー変換部24は、S={2}、p=2、T={2}と算出する。
よって、ツリー変換部24は、図11に示されるように、ルール番号が1、レコード番号が2のセルに2を書き込む。
m=3の場合、ツリー変換部24は、S={3}、p=3、T={3}と算出する。
よって、ツリー変換部24は、図12に示されるように、ルール番号が1、レコード番号が3のセルに3を書き込む。
よって、ツリー変換部24は、図13に示されるように、ルール番号が1、レコード番号が4のセルに4を書き込む。
m=5の場合、ツリー変換部24は、S={5}、p=5、T={5}と算出する。
よって、ツリー変換部24は、図14に示されるように、ルール番号が1、レコード番号が5のセルに5を書き込む。
m=6の場合、ツリー変換部24は、S={6,5}、p=5、T={6}と算出する。
よって、ツリー変換部24は、図15に示されるように、ルール番号が1、レコード番号が6のセルに5を書き込む。また、ツリー変換部24は、図15に示されるように、ルール番号が2、レコード番号が6のセルにゼロを書き込む。
よって、ツリー変換部24は、図16に示されるように、ルール番号が1、レコード番号が5のセルとレコード番号が7のセルとに4を書き込む。また、ツリー変換部24は、図16に示されるように、ルール番号が2、レコード番号が7のセルにゼロを書き込む。
m=8の場合、ツリー変換部24は、S={8,4,3}、p=3、T={8,4}と算出する。
よって、ツリー変換部24は、図17に示されるように、ルール番号が1、レコード番号が4のセルとレコード番号が8のセルとに3を書き込む。また、ツリー変換部24は、図17に示されるように、ルール番号が2、レコード番号が8のセルにゼロを書き込む。
m=9の場合、ツリー変換部24は、S={9,3,2}、p=2、T={9,3}と算出する。
よって、ツリー変換部24は、図18に示されるように、ルール番号が1、レコード番号が3のセルとレコード番号が9のセルとに2を書き込む。また、ツリー変換部24は、図18に示されるように、ルール番号が2、レコード番号が9のセルにゼロを書き込む。
よって、ツリー変換部24は、図19に示されるように、ルール番号が1、レコード番号が2のセルとレコード番号が3のセルとレコード番号が4のセルとレコード番号が5のセルとレコード番号が10のセルとに1を書き込む。また、ツリー変換部24は、図19に示されるように、ルール番号が2、レコード番号が10のセルとルール番号が3、レコード番号が10のセルとにゼロを書き込む。
平坦化部25は、レコード番号mのリンク先が自分自身を指しているレコードにたどり着くまで繰り返し辿り、辿った先のレコード番号をレコード番号mのセルに書き込む。
図20に示されるツリーに対して平坦化処理を行った結果が図21である。図21に示されるように、ツリーの高さは高々高さ1となる。平坦化処理の途中、レコード番号mまで処理した時点で、レコード番号1〜レコード番号(m−1)が表すツリーの高さも高々高さ1である。よって、平坦化部25による平坦化処理はO(n)の時間計算量となる。
なお、図21では、平坦化処理の一例として、2階層にする例を示しているが、3階層、4階層等としてもよい。つまり、平坦化処理とは、少なくとも基となるツリーよりも階層が少なくなるようにする処理である。
ステップS10において、ファイル生成部21は、ルール番号Rに1を設定する。
ステップS11において、ファイル生成部21は、ルール番号Rが入力等されたルール数以下か否かを判定する。ファイル生成部21は、ルール番号Rがルール数以下の場合、ステップS12に進み、ルール番号Rがルール数以下でない場合、図22に示す処理を終了する。
ステップS13において、ファイル生成部21は、カレントレコード番号Cが入力等されたレコード数以下か否かを判定する。ファイル生成部21は、カレントレコード番号Cがレコード数以下の場合、ステップS14に進み、カレントレコード番号Cがレコード数以下でない場合、ステップS18に進む。
ステップS15において、ファイル生成部21は、ステップS14で取得したフィールドの組Tがブランクを含むか否かを判定する。ファイル生成部21は、フィールドの組Tがブランクを含む場合、ステップS17に、ブランクを含まない場合、ステップS16に進む。
ステップS16において、ファイル生成部21は、ハッシュテーブルに、キー=フィールドの組Tに対応する集合にカレントレコード番号Cを追加する。
ステップS17において、ファイル生成部21は、カレントレコード番号Cを一つインクリメントする。ステップS17の処理の後、ファイル生成部21は、ステップS13に処理を戻す。
ステップS19において、ファイル生成部21は、ルール番号Rを一つインクリメントする。ステップS19の処理の後、ファイル生成部21は、ステップS11に処理を戻す。
ステップS20において、リンク設定部23は、入力データ(図22の処理で作成されたファイル)から1レコード読み込み、カレントレコード番号Cに設定する。
ステップS21において、リンク設定部23は、読み込んだレコードが入力データのEOF(End Of File)か否かを判定する。リンク設定部23は、読み込んだレコードが入力データのEOFであった場合、ステップS23に進み、読み込んだレコードが入力データのEOFでない場合、ステップS22に進む。
一方、ステップS23において、ツリー変換部24は、レコード番号Nに1を設定する。
ステップS24において、ツリー変換部24は、レコード番号Nがレコード数(全レコード数)以下か否かを判定する。ツリー変換部24は、レコード番号Nがレコード数以下の場合、ステップS25に進み、レコード番号Nがレコード数以下でない場合、ステップS27に進む。
ステップS26において、ツリー変換部24は、レコード番号Nを一つインクリメントする。
ステップS27において、平坦化部25は、ステップS25で生成されたツリーを平坦化する上述した平坦化処理を実行する。
ステップS28において、平坦化部25は、リンクテーブルLのルール1の領域に作成された結果をファイルに出力する。
なお、図23では、情報処理装置が、リンクの設定、ツリー化、平坦化の各処理が全て終わった段階で次の処理に進む例を示しているが、例えば1レコード読み込む毎に、リンクの設定、ツリー化、平坦化の処理を行ってもよいし、所定数のレコード毎に、リンクの設定、ツリー化、平坦化の処理を行ってもよい。
12 入力装置
13 記憶装置
14 表示装置
Claims (6)
- 同一性の判定対象のレコードの数と、同一性の判定に係るルールの数と、に基づき、テーブルの各セルをゼロで初期化したリンクテーブルを作成するリンクテーブル作成手段と、
前記ルールを識別するルール識別子と、前記ルール識別子で識別されるルールに基づき同一と判定されたレコードを識別するレコード識別子の組と、を含むファイルに基づき、前記リンクテーブル作成手段で作成され、ゼロで初期化された前記リンクテーブルの該当するセルに、レコード間の同一性を表すリンクを設定するリンク設定手段と、
前記リンク設定手段でリンクが設定された前記リンクテーブルによって表されるレコードの有向グラフをレコード識別子のツリーに変換するツリー変換手段と、
前記ツリー変換手段で変換されたツリーを平坦化する平坦化手段と、
を有することを特徴とする情報処理装置。 - 前記ツリー変換手段は、レコード識別子m(m=1、・・・、n n=前記同一性の判定対象のレコードの数)と、レコード識別子mからリンクの先を再帰的に辿ることが可能なレコード識別子と、を含む集合Sを求め、集合Sの中で最小のレコード識別子をpとし、集合T=(S−{p})∪{m}の各レコード識別子xのルール1のセルにpを書き込むことによって前記リンク設定手段でリンクが設定された前記リンクテーブルによって表されるレコードの有向グラフをレコード識別子のツリーに変換することを特徴とする請求項1に記載の情報処理装置。
- 前記平坦化手段は、レコード識別子1〜n(n=前記同一性の判定対象のレコードの数)の順で、各レコード識別子m(m=1、・・・、n)に対して、レコード識別子mのリンク先を辿った先のレコード識別子をレコード識別子mのセルに書き込むことでツリーを2階層に平坦化することを特徴とする請求項1又は2に記載の情報処理装置。
- 同一性の判定対象のレコードと、同一性の判定に係るルールと、に基づき、前記ファイルを生成するファイル生成手段を更に有することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
- 情報処理装置における名寄せ方法であって、
同一性の判定対象のレコードの数と、同一性の判定に係るルールの数と、に基づき、テーブルの各セルをゼロで初期化したリンクテーブルを作成するリンクテーブル作成ステップと、
前記ルールを識別するルール識別子と、前記ルール識別子で識別されるルールに基づき同一と判定されたレコードを識別するレコード識別子の組と、を含むファイルに基づき、前記リンクテーブル作成ステップで作成され、ゼロで初期化された前記リンクテーブルの該当するセルに、レコード間の同一性を表すリンクを設定するリンク設定ステップと、
前記リンク設定ステップでリンクが設定された前記リンクテーブルによって表されるレコードの有向グラフをレコード識別子のツリーに変換するツリー変換ステップと、
前記ツリー変換ステップで変換されたツリーを平坦化する平坦化ステップと、
を有することを特徴とする名寄せ方法。 - コンピュータを、
同一性の判定対象のレコードの数と、同一性の判定に係るルールの数と、に基づき、テーブルの各セルをゼロで初期化したリンクテーブルを作成するリンクテーブル作成手段と、
前記ルールを識別するルール識別子と、前記ルール識別子で識別されるルールに基づき同一と判定されたレコードを識別するレコード識別子の組と、を含むファイルに基づき、前記リンクテーブル作成手段で作成され、ゼロで初期化された前記リンクテーブルの該当するセルに、レコード間の同一性を表すリンクを設定するリンク設定手段と、
前記リンク設定手段でリンクが設定された前記リンクテーブルによって表されるレコードの有向グラフをレコード識別子のツリーに変換するツリー変換手段と、
前記ツリー変換手段で変換されたツリーを平坦化する平坦化手段と、
して機能させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008198355A JP4870732B2 (ja) | 2008-07-31 | 2008-07-31 | 情報処理装置、名寄せ方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008198355A JP4870732B2 (ja) | 2008-07-31 | 2008-07-31 | 情報処理装置、名寄せ方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010039535A JP2010039535A (ja) | 2010-02-18 |
JP4870732B2 true JP4870732B2 (ja) | 2012-02-08 |
Family
ID=42012059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008198355A Active JP4870732B2 (ja) | 2008-07-31 | 2008-07-31 | 情報処理装置、名寄せ方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4870732B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4869448B1 (ja) * | 2011-07-08 | 2012-02-08 | 株式会社ぐるなび | 名寄せ管理システム |
-
2008
- 2008-07-31 JP JP2008198355A patent/JP4870732B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010039535A (ja) | 2010-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959246B (zh) | 基于改进的注意力机制的答案选择方法、装置和电子设备 | |
JP4848317B2 (ja) | データベースのインデックス作成システム、方法及びプログラム | |
Baldán et al. | Distributed fastshapelet transform: a big data time series classification algorithm | |
US11763583B2 (en) | Identifying matching fonts utilizing deep learning | |
JP2006301920A (ja) | 文書分類プログラム、文書分類方法および文書分類装置 | |
CN104536987B (zh) | 一种查询数据的方法及装置 | |
CN111753094B (zh) | 事件知识图谱的构建方法、装置及事件确定方法、装置 | |
WO2024036662A1 (zh) | 一种基于数据采样的并行图规则挖掘方法及装置 | |
WO2014118978A1 (ja) | 学習方法、情報処理装置および学習プログラム | |
JP2019204246A (ja) | 学習データ作成方法及び学習データ作成装置 | |
JP4870732B2 (ja) | 情報処理装置、名寄せ方法及びプログラム | |
JP2016110256A (ja) | 情報処理装置及び情報処理プログラム | |
JP5162215B2 (ja) | データ処理装置、データ処理方法、および、プログラム | |
KR102474042B1 (ko) | 데이터 마이닝을 이용한 질병 연관성 분석 방법 | |
JP4834054B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2018136640A (ja) | 検出方法、検出装置および検出プログラム | |
JP5824429B2 (ja) | スパムアカウントスコア算出装置、スパムアカウントスコア算出方法、及びプログラム | |
JP5758262B2 (ja) | 類似文書可視化装置、類似文書可視化方法およびプログラム | |
WO2014168199A1 (ja) | 論理演算方法および情報処理装置 | |
JP4865449B2 (ja) | 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム及び差分生成適用システム及び差分生成適用方法 | |
WO2022079909A1 (ja) | 秘密グループ分け装置、秘密グループ分けシステム、秘密グループ分け方法、及びプログラム | |
CN110765327A (zh) | 数据分析方法、装置、计算机装置及存储介质 | |
Narita et al. | Programming-by-example for data transformation to improve machine learning performance | |
JP2014074964A (ja) | 認証プログラム、認証方法及び認証装置 | |
JP7375096B2 (ja) | 分散表現生成システム、分散表現生成方法及び分散表現生成プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20111108 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111117 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4870732 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141125 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |