最近話題の年金問題,金融系企業の大規模統合/合併,預金のペイオフ対応,などなど──これらのシステム対応に共通する,ある重要な技術がある。「名寄せ」である。異なるシステムのデータを統合するとき,規制やルールによってデータを作り直すとき,顧客情報などの名寄せは常に大きな問題となる。

 メインフレームの時代から,システムを作ったり,改変したり,統合したりを繰り返してきたベテラン技術者であれば,何を今さらと思うだろう。特に金融系システムの開発者やデータベース管理者などにとっては必須知識に近い。ベテランでなくても,何らかのシステム統合やデータ移行に携わった経験があれば,名寄せの作業を見聞きしたことがあるだろう。

 しかし,そうしたシステムや現場にかかわったことがない開発者/技術者の中には“名寄せ”と聞いても何のことかわからないと言う人もいる。また,最近話題になってから,言葉を知ったという人もいるかもしれない。

 名寄せは,元々は,金融機関で同一の預金者が複数の預金口座を持っている場合に,それらを合算して算定することを意味する。少し広義には,同一の預金者であるかどうかを特定する作業自体を指す。

 しかし,その作業はかなり困難である。例えば,以下のデータが見つかったとしよう。

 (1)斉藤太郎 東京都港区白金9-99-301 03-9999-9999
 (2)斎藤太郎 港区白金9-99 BPマンションA-301 090-1111-1111
 (3)鈴木美子 港区白金88-88 03-9999-8888
 (4)佐藤美子 名古屋市中区栄9-999 070-9999-9999

 さて,(1)と(2)は同一人物だろうか? もし電話番号が同じであれば,ほぼ同一人物と見なすことができる。しかし最近は,固定回線ではなく携帯電話番号を登録する人も多い。BPマンションにB-301やC-301があって,別人の斎藤氏がいる可能性もある。

 さらに,(3)と(4)は一見別人のようであるが,実は結婚などによって姓が変わった同一人物だったりする。これだけの情報でそれを知るのはまず不可能だろう。

 なぜ,このようなデータが存在するのか。もともとは重複データを気にしない(許す)システムだったからということがある。銀行では,一人の預金者が複数の口座を持つことができる。以前は,同一人物かどうかの調査・追跡はあまり重要ではなかった。

 しかし,ペイオフ(金融機関が破たんした際,定期預金などの払戻保証額を元本1000万円とその利息までとする制度)以降は,個人の各口座の預金総額を確定しなければならない。そうしたことを考慮していなかったレガシーなデータの名寄せは,相当困難だったに違いない。

 名寄せは,おおよそ次のような手順で行う。

1. 調査:どのフィールド(項目)をキーとして特定するかを決定
2. 標準化:データのばらつきを解消して,標準的なデータに変換
3. 類似データの絞り込み:標準化されたデータをパターン化したり,重み付け(数値化)したりして,似たデータを絞り込む
4. 同一データの決定:絞り込まれたデータを見て,同一データを特定

 これらをどこまでシステムで行うのか,どこから人間が作業するかはケースによって異なる。ITpro Developmentでは,近々,名寄せ技術の基本を解説する連載を開始する。詳細はそちらを参照してほしい。

 より広義には,預金者云々にかかわらず,多数のデータの中から同一のデータを特定する作業全般を名寄せと呼ぶ場合も多い。本来は,システム関連の用語ではないのだが,今やデータ管理/統合過程の重要な作業を意味する言葉として定着している。

 前述の例とは少し異なるが,企業システム内には“きたない”データや“ふぞろい”のデータは多数存在する。電話番号の書式が異なっていたり,住所の都道府県があったりなかったり,半角と全角の数字が混じっていたり,同じ会社の株式会社の表記が前だったり後ろだったり。皆さんの身近なシステムにもきっとあるのではないだろうか。

 本来,こうしたデータは入力チェックの時点で,統一できるはずだ。しかし,そうしたチェックを持たない緩いシステムや,異なるシステムのデータを統合したりした場合に,“きたない”データが発生する。

 システム内の“きたない”データを整備することを「データ・クレンジング」(またはデータ・クリーニング)と呼ぶ。BI(Business Intelligence)ツール,特にETL(抽出・変換・移行)処理ツールなどの開発者やユーザーはご存じだろう。データ・クレンジング専用のツールもあるぐらいだ。

 データ・クレンジングは,不正なデータ,情報が不十分なデータ,あってはならない重複データなどを取り除き,“使える”データとして再構成する処理である。その名の通り,データを“洗浄する”わけだ。この場合,同一データを特定する名寄せは,データ・クレンジングの一環という位置付けになる。

 顧客データに限らず,企業システムのデータは信頼できるものでなければ,システムを使う意味がない。商品コードや部品コードなど,マスターに近いデータであればなおさらだ。データの不備が,ビジネスに悪影響をもたらすといった事例はよくある話だ。もちろん細心の注意でデータは管理されているに違いない。そのシステムを使い続けているうちはいいだろう。

 しかし,システムは変わる。一部門だけのシステムが事業部のシステムと統一される。事業部のシステムが全社システムに置き換わる。さらに,会社のグループ統合や,買収/合併などによって,より上位のシステムに一新される。そのたびにマスター・データも更新される。

 システムの刷新とは,マスター・データを作り替える作業を何度も繰り返していくようなものだ。その時々で,レガシーなデータが“きたない”データとして蓄積される可能性がある。データ・クレンジングの重要度は増すばかりだ。

 一方で,データを使う側の工夫も進んでいる。例えば,多少のデータのばらつきを吸収するあいまい検索機能は,インターネット検索の進化とともに,従来よりずっと賢くなっている。書式の違いぐらいなら,逃すことなく見つけられる。同一データかどうかの判定は難しいが,類似データを見落とす可能性は低くなっている。

 年金問題で,名寄せ技術が再注目された。それと同時に,システムにとって,信頼できるデータを維持することの重要さ,難しさを再認識した。我々はまだ進歩しなければならない。システムを作ることとデータを整備することの両方で。