【文献】
小栗 秀暢、曽根原 登,“実サービスのデータを用いたk−匿名状態の推移調査と,合理的な匿名状態評価指標の検討”,情報処理学会 研究報告 コンピュータセキュリティ(CSEC) [online],日本,情報処理学会,2014年 2月27日,Vol.2014-CSEC-64、No.4,p.1−8
【文献】
村本 俊祐、上土井 陽子、若林 真一,“背景知識を用いた推測を困難にしデータ歪曲度を極小化するプライバシー保護手法”,電子情報通信学会 第19回データ工学ワークショップ論文集 [online],日本,電子情報通信学会データ工学研究専門委員会,2008年 4月 7日,DEWS2008 C1−4,p.1−8
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0010】
図
22は、ユーザがICカードを用いて駅の自動改札を出入りし、乗車料金を決済した場合に、管理サーバ側に記録される履歴データ(フローデータ)の一例を示す図である。図
22の履歴データ91は、ユーザIDや、利用日時、利用駅、利用内容、料金等が対応付けられている。この履歴データ91は、ユーザIDとユーザの姓、年齢、性別を対応付けたユーザ情報92を参照することで、履歴データの各ユーザが識別できる。
【0011】
この履歴データ91を他の事業者へ提供する場合、ユーザIDとユーザの姓等とを対応付けるユーザ情報92を削除する、或は参照できないように管理することで、ユーザIDから個人を識別できないようにすること(仮名化状態とすること)が考えられる。
【0012】
しかし、仮名化状態の場合、ユーザIDから氏名が特定できないとしても、ユーザIDと対応付けられた利用駅等の情報が一個人に限定されている場合、即ち、他に利用駅等の情報が一致するユーザがいない場合、利用駅等の情報から再識別できる可能性がある。例えば、ID=A001のユーザが新宿駅、秋葉原駅、人形町を利用していた場合に、同じように駅を利用した人が他にいなければ、ID=A001のユーザの行動を知る人であれば、この履歴データからID=A001のユーザを再識別できる。
【0013】
例えば、n=4247万人のユーザが、m=9262の駅を一様分布で選択した場合に、再識別できる駅の数を式1によって求めると、
mS=n ・・・(式1)
S=2.237となり、履歴データに3駅記録されていれば、再識別できることが分かる。
【0014】
このようにデータの項目が駅で、選択肢数(属性種)が9262駅と非常に大きい場合、利用履歴に3駅含まれていただけ、即ちデータの項目数(属性数)が3つあるだけで、母数が4247万人と非常に大きいデータであっても匿名化できなくなってしまう。
【0015】
また、ICカードの履歴データには、この他にもショッピングの情報が含まれることがあり、購入した商品名や店舗名等の多大な選択肢数となる情報が更に含まれた場合、再識別の可能性が更に高くなる。
【0016】
このため、各項目の値を抽象化して、各項目の値の組み合わせが一個人に限定されないように匿名化することが考えられるが、行動履歴のようなデータは、データ量が非常に多くなり易く、例えば10万人を超えるような所謂ビッグデータの場合、抽象化を人手で行うのは現実的ではない。
【0017】
また、機械的に抽象化を行うことも考えられるが、機械的に抽象化を行うと、抽象化した結果が例え匿名性を満たしたとしても、有用なデータになるとは限らない。例えば項目の値の組み合わせが一個人に限定されなくなるまで抽象化した結果、利用価値が無くなるほど抽象的な項目の値(語)になってしまった場合、匿名性を満たしても意味が無い。このため機械的に抽象化を行う場合でも抽象化の結果を人が確認し、有用なデータになっていなければ、抽象化する項目を変える等の設定を変更して抽象化の処理をやり直すといった試行の繰り返しになる。
【0018】
しかし、単に試行を繰り返すのは非効率であり、特にビッグデータの場合、抽象化の処理や匿名性を検定する処理に多大な時間がかかってしまうため、充分に試行を行うことが困難であった。
【0019】
そこで本発明は、減少係数に基づき、匿名性を満たす可能性が高い区分数で匿名化処理を実行することで、匿名化処理の効率の向上を可能にさせる技術を提供する。
【課題を解決するための手段】
【0020】
本発明に係る減少係数算出装置は、
個人情報を匿名化した匿名情報を取得する匿名情報取得部と、
匿名情報を構成する属性がとり得る語の種類毎に区分して区分数を求め、各語の最少出現数を求める出現数取得部と、
前記区分数が異なる複数の前記区分数及び前記最少出現数の組み合わせに基づいて、前記区分数を増加させた場合の前記最少出現数の減少量を示す減少係数を求める係数算出部と、を備えた。
【0021】
前記減少係数算出装置は、前記減少係数を直線近似式、多項式近似式、指数近似式、又は累乗近似式として求めても良い。
【0022】
本発明に係る匿名処理装置は、
匿名化対象の個人情報を匿名化する際の区分数を取得する区分数取得部と、
前記減少係数算出装置によって算出された減少係数を取得する係数取得部と、
前記減少係数と前記区分数に基づいて、前記個人情報を前記区分数で匿名化した場合の最少出現数の減少量が所定の基準値を超える可能性を判定する可能性判定部と、
前記可能性が高い場合に前記個人情報の匿名化を行い、前記可能性が低い場合に前記個人情報の匿名化を中止する匿名化部と、
を備えた。
【0023】
本発明に係る匿名処理装置は、
匿名化対象の個人情報を受け付ける受付部と、
前記減少係数算出装置によって算出された減少係数を取得する係数取得部と、
前記減少係数と前記個人情報の全体数に基づいて、前記個人情報を匿名化した場合の最少出現数の減少量が所定の基準値を超えない区分数を求める区分数算出部と、
前記区分数で前記個人情報の匿名化を行う匿名化部と、
を備えた。
【0024】
本発明に係る減少係数算出方法は、
個人情報を匿名化した匿名情報を取得するステップと、
匿名情報を構成する属性がとり得る語の種類毎に区分して区分数を求め、各語の最少出現数を求めるステップと、
前記区分数が異なる複数の前記区分数及び前記最少出現数の組み合わせに基づいて、前記区分数を増加させた場合の前記最少出現数の減少量を示す減少係数を求めるステップと、
をコンピュータが実行する。
【0025】
本発明に係る匿名処理方法は、
匿名化対象の個人情報を匿名化する際の区分数を取得するステップと、
前記減少係数算出装置によって算出された減少係数を取得するステップと、
前記減少係数と前記区分数に基づいて、前記個人情報を前記区分数で匿名化した場合の最少出現数の減少量が所定の基準値を超える可能性を判定するステップと、
前記可能性が高い場合に前記個人情報の匿名化を行い、前記可能性が低い場合に前記個人情報の匿名化を中止するステップと、
をコンピュータが実行する。
【0026】
本発明に係る匿名処理方法は、
匿名化対象の個人情報を受け付けるステップと、
前記減少係数算出装置によって算出された減少係数を取得するステップと、
前記減少係数と前記個人情報の全体数に基づいて、前記個人情報を匿名化した場合の最少出現数の減少量が所定の基準値を超えない区分数を求めるステップと、
前記区分数で前記個人情報の匿名化を行うステップと、
をコンピュータが実行する。
【0027】
また、本発明は、上記方法をコンピュータに実行させるためのプログラムであっても良い。更に、前
記プログラムは、コンピュータが読み取り可能な記録媒体に記録されていても良い。
【0028】
ここで、コンピュータが読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体の内コンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、8mmテープ、メモリカード等がある。
【0029】
また、コンピュータに固定された記録媒体としてハードディスクやROM(リードオンリーメモリ)等がある。
【発明の効果】
【0030】
本発明は、減少係数に基づき、匿名性を満たす可能性が高い区分数で匿名化処理を実行することで、匿名化処理の効率の向上を可能にさせる技術を提供できる。
【発明を実施するための形態】
【0032】
以下、図面を参照して本発明を実施するための形態について説明する。以下の実施の形態の構成は例示であり、本発明は実施の形態の構成に限定されない。
【0033】
〈実施形態1〉
図1は匿名化処理の説明図、
図2は多様化処理の説明図である。
図1(A)は、姓、年齢、性別の項目を含む会員情報から姓の項目を削除した例を示す。
図1(A)に示すように年齢が記載されている会員情報に16歳の女性が一人だけであると、16歳の女性が、この会員であることが分かった時点で、その人を特定できる。即ち、16歳・女性という属性を持つ人が一人だけであると、他の情報と照らし合わせることで、個人を特定できる可能性がある。
【0034】
図1(B)では、会員リストの年齢の記載を抽象化し、0代(10歳未満)、10代、20代のように年代別とした。しかし、この場合でも10代女性は一人だけであり、
図1(A)と同様に個人が特定できてしまい匿名化としては不十分である。
【0035】
そこで、
図1(C)では、更に抽象化し、10代以下(19歳以下)と20代のように年代の区切りを変更した。
図1(C)の場合、10代以下の女性が2人であり、[10代以下]及び[女性]という属性が単一では無くなる。このため前述のように16歳の女性が、この会員であることが分かったとしても、どちらが当該16歳女性のデータであるかは特定できない。このように同じ属性を持つ人がk人以上いる状態を、「k-匿名性」を満たすと称し、そのようにデータを加工することを「k-匿名化」と称する。
【0036】
図2は、ユーザ毎の利用駅のデータを抽象化し、ユーザ毎の利用駅が属する区のデータとした例を示す。抽象化前のデータでは、駅が特定されているために、住居が新宿駅付近で勤務地が東京駅付近といったデータと照らし合わせることでユーザを特定できる可能性がある。このため利用駅を抽象化して、利用駅が属する区とすることで、新宿区内の駅と千代田区内の駅を利用するユーザが複数となり、利用者が特定されなくなる。このように「新宿区内の駅と千代田区内の駅を利用する」のように属性値がl種類の可能性を持つよう抽象化することをl−多様化と称する。
【0037】
図3は、本実施形態における匿名化システム10の概略構成図である。匿名化システム10は、
図1に示すように、匿名処理装置1と減少係数算出装置2を有している。
【0038】
匿名処理装置1は、データ受付部11や、区分数取得部12、係数取得部13、可能性判定部14、匿名化部15、検定部16、縦列登録部17、データ出力部18、匿名結果DB(データベース)31、匿名情報縦列DB32を備えている。
【0039】
データ受付部11は、個人と対応付けられた複数の項目を含む対象データ(個人情報)や、匿名化の条件、匿名化に係る命令等を受け付ける。なお、個人情報や匿名化の条件等の受付は、インターネット等のネットワークを介して受信するものや、記憶媒体から読み出されるもの、キーボード等の入力手段から入力されるものであっても良い。
図4は個人情報の一例を示す図である。
図4に示す例では、ユーザ毎のIDや姓、年齢、性別、購入商品、購入場所等の情報を有している。
【0040】
区分数取得部12は、匿名化対象の個人情報を匿名化する際の区分数を取得する。区分数は、匿名情報に含まれる属性が取り得る属性値(語)の種類の数、換言すると属性値を同一の属性値毎に区分した場合の区分の数である。
図5は、区分の説明図である。例えば、属性が性別の場合に、属性値を男性と女性の2区分とする。また、属性が年齢の場合に
、属性値を未成年、成人、老人の3区分や、20代以下、30代、40代、50代、60代以上の5区分、更に0代、10代、20代、30代、40代、50代、60代、70代、80代以上の9区分とする。また、属性が住所や購入場所等の地域の場合に、属性値を西日本と東日本の2区分や、北海道、東北、関東、中部、近畿、中国、四国、九州、沖縄の9区分、北海道、青森県、岩手県・・・東京都・・・大阪府といった都道府県の47区分とする。
【0041】
区分数取得部12は、例えば、匿名化の処理を指示するオペレータによる入力、過去の履歴から読み出し、対象データの属性を抽象化する語(属性値)として匿名化辞書に登録されている語の計数により区分数を取得する。
【0042】
係数取得部13は、減少係数算出装置2によって算出された減少係数を取得する。減少係数は、例えば、対象データを匿名化する際、区分数を増加させた場合の最少出現数の減少数又は前記減少数の全体数に対する割合である。
【0043】
可能性判定部14は、前記減少係数と前記区分数に基づいて、前記個人情報を前記区分数で匿名化した場合の最少出現数の減少量が所定の基準値を超える可能性を判定する。
【0044】
匿名化部15は、対象データを匿名化或いは多様化する際に、対象データ中の項目の値であるワード(語)を抽象化したワードに替えることで匿名化を行い、対象データを匿名候補データとする。本実施形態においてワード(語)は、単語や句など、一まとまりの言葉であり、位置情報や電話番号等の数値、メールアドレスやIPアドレス等の識別情報、言葉と同様の意味を持つ記号等を含んでも良い。本実施形態の匿名化部15は、前記可能性判定部14で匿名性を満たす可能性が高いと判定した場合に前記対象データの匿名化を行い、匿名性を満たす可能性が低いと判定した場合には前記対象データの匿名化を中止する。
【0045】
検定部16は、匿名候補データの一個人と対応する項目の値の組み合わせが、当該匿名候補データ中で単一でないことを条件として検定する。例えば検定部16は、匿名候補データがk−匿名性を満たしているか、l−多様性を満たしているかを検定する。即ち、検定部16は、匿名候補データのk値(最少出現数)が基準値以上で、k−匿名性を満たしているか、匿名候補データのl値が基準値以上で、l−多様性を満たしているかを検定する。検定部16は、この検定の結果、匿名性を満たした匿名候補データを匿名情報として匿名結果DB31に記憶させる。
【0046】
図4Aは、対象データの一例を示す図、
図4Bは、匿名結果DB31に記憶される匿名データの一例を示す図である。
図4Bに示す匿名データは、
図4Aに示す対象データのうち、ユーザ毎のIDを匿名情報用のIDに変更し、姓を削除し、年齢、購入商品、購入場所の情報を抽象化している。なお、匿名情報用のIDは、対象データのIDとは別のIDを付しているので、匿名情報用のIDから個人を特定できるものでは無い。また、この匿名情報用のIDと対象データのIDとの対応テーブルを対象データと共に記憶しておき、匿名情報と対象データの対応付けを可能としても良い。
【0047】
縦列登録部17は、匿名情報を属性毎に分割して、匿名情報縦列DB32へ縦列に登録する。
図4Bの匿名結果DB31では、年齢、性別、購入商品、購入場所といったユーザ毎の属性を行方向に連ねて登録しているのに対し、
図6の匿名情報縦列DB32では、これらの属性を属性毎、及びこれらの属性の組み合わせ毎に別のレコードとして分割し、縦列に登録している。例えば、
図4Aの匿名結果DB31では、IDがXのレコードに「17才」「男」「新宿」「ラーメン」といった属性が登録されているのに対し、
図6の匿名情報縦列DB32では、IDがZ001のレコードに「17才」、IDがZ004のレコ
ードに「男」、IDがX001のレコードに「新宿」、IDがY001のレコードに「ラーメン」、IDがY008のレコードに「17才−男」、IDがV003のレコードに「新宿−ラーメン」等のように、それぞれ別のレコードに登録されている。
【0048】
データ出力部18は、匿名情報縦列DB32から匿名化情報を読み出して出力する。ここで、匿名化情報の出力とは、例えば、表示装置による表示出力や、プリンタによる印刷出力、他のコンピュータへの送信、記憶媒体への書き込み等である。
【0049】
区分数算出部19は、減少係数と個人情報の全体数に基づいて、個人情報を匿名化した場合の最少出現数の減少量が所定の基準値を超えない区分数を求める。
【0050】
また、減少係数算出装置2は、匿名情報取得部21や、出現数取得部22、係数算出部23、頻出パターンDB33、減少係数DB34を備えている。
【0051】
匿名情報取得部21は、個人情報を匿名化した匿名情報縦列DB32から匿名情報を取得する。
【0052】
出現数取得部22は、匿名情報を構成する属性がとり得る語の種類毎に区分して区分数を求め、各語の最少出現数を求める、例えば、匿名情報に含まれる語を同一の語毎に区分して区分数を求め、各区分における語の最少出現数を求める。
【0053】
係数算出部23は、区分数の異なる複数の前記区分数及び前記最少出現数の組み合わせに基づいて、前記区分数を増加させた場合の最少出現数の減少数又は前記減少数の全体数に対する割合を減少係数として求め、減少係数DB34に記憶する。
【0054】
図7は匿名処理装置1及び減少係数算出装置2のハードウェア構成を示す図である。匿名処理装置1及び減少係数算出装置2は、CPU101、メモリ102、通信制御部103、記憶装置104、入出力インタフェース105を有する所謂コンピュータである。
【0055】
CPU101は、メモリ102に実行可能に展開されたプログラムを実行する。これにより、匿名処理装置1のCPU101は、前述のデータ受付部11や、区分数取得部12、係数取得部13、可能性判定部14、匿名化部15、検定部16、縦列登録部17、データ出力部18の機能を提供する。また、減少係数算出装置2のCPU101は、前述の匿名情報取得部21や、出現数取得部22、係数算出部23の機能を提供する。
【0056】
メモリ102は、主記憶装置ということもできる。メモリ102は、例えば、CPU101が実行するプログラムや、通信制御部103を介して受信したデータ、記憶装置104から読み出したデータ、その他のデータ等を記憶する。
【0057】
通信制御部103は、ネットワークを介して他の装置と接続し、当該装置との通信を制御する。入出力インタフェース105は、表示装置やプリンタ等の出力手段や、キーボードやポインティングデバイス等の入力手段、ドライブ装置等の入出力手段が適宜接続される。ドライブ装置は、着脱可能な記憶媒体の読み書き装置であり、例えば、フラッシュメモリカードの入出力装置、USBメモリを接続するUSBのアダプタ等である。また、着脱可能な記憶媒体は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、ブルーレイディスク(Blu-ray(登録商標) Disc)等のディスク媒体であってもよい。ドライブ装置は、着脱可能な記憶媒体からプログラムを読み出し、記憶装置104に格納する。
【0058】
記憶装置104は、外部記憶装置ということもできる。記憶装置104としては、SS
D(Solid State Drive)やHDD等であってもよい。記憶装置104は、ドライブ装置
との間で、データを授受する。例えば、記憶装置104は、ドライブ装置からインストールされる情報処理プログラム等を記憶する。また、記憶装置104は、プログラムを読み出し、メモリ102に引き渡す。本実施形態では、匿名処理装置1の記憶装置104が前述の匿名結果DB31、匿名情報縦列DB32を格納している。また、減少係数算出装置2の記憶装置104が、頻出パターンDB33、減少係数DB34を格納している。
【0059】
次に本実施形態における匿名化システム10の匿名処理装置1及び減少係数算出装置2がプログラムに従って実行する匿名処理方法及び減少係数算出方法について説明する。
図8は、匿名化処理の説明図である。匿名処理装置1は、先ず他のコンピュータ或いは記憶装置から対象データを受け付ける(ステップS10)。本実施形態の匿名処理装置1は、複数の匿名化アルゴリズムを有し、オペレータが任意に選択できるようにしている。複数の匿名化アルゴリズムとしては、例えば、医療情報の匿名化に特化したアルゴリズムや、購買履歴等のフローデータの匿名化に特化したアルゴリズム、ファッションや教育、外食産業等の特定の業種に特化したアルゴリズムが挙げられる。また、このアルゴリズムは、匿名化手法だけでなく、匿名化辞書や、前処理手法、フィルタリング手法などを選択可能としても良い。即ち、オペレータは、匿名化の対象データ共に、これらのアルゴリズムを選択する情報を入力する。
【0060】
次に、匿名処理装置1は、選択されたアルゴリズムで対象データを匿名化し(ステップS20)、最少出現数が基準値を超えているか否かによって匿名性の検定を行う(ステッ
プS30)。
【0061】
検定後、匿名処理装置1は、匿名情報を匿名結果DB31に蓄積する(ステップS40)。
図8において、データパターンAは、対象データの年齢を5区分で匿名化処理した匿名情報の例であり、検定の結果、16才、17才、18才、20才の4区分は基準値10人を超えて匿名性を満たし(図中、○で示す)、15才以下の1区分は基準値10人を下回り匿名性を満たしていない(図中、×で示す)。同様に、データパターンBは、対象データの年齢を3区分で匿名化処理した匿名情報の例であり、データパターンCは、対象データの年齢を2区分で匿名化処理した匿名情報の例である。
【0062】
そして、匿名処理装置1は、定期的に匿名結果DB31から匿名情報を読み取り、匿名情報縦列DB32へ縦列に登録する (ステップS50)。
図8において、縦列匿名情報8
1は、匿名情報縦列DB32に登録される匿名情報の一例を示す図であり、データパターンや、データパターン毎の行番号、属性、存在数、匿名の基準値を対応付けて記憶している。(ステップS60)
【0063】
図9は、出現数を取得する処理の説明図である。減少係数算出装置2は、
図9に示すように、先ず匿名情報縦列DB32からデータパターン毎に匿名データを取得する(ステッ
プS110)。
【0064】
次に、減少係数算出装置2は、データパターン毎の区分数や存在数を取得し(ステップ
S120)、存在数が所定値以上の属性値を頻出パターン82として頻出パターンDB3
3に登録し、属性毎の区分数と最少出現数を属性パターン83として減少係数DB34に登録する(ステップS130)。なお、属性パターン83は、
図10に示すように、日時や企業名、利用回数等の情報を更に付加しても良い。
【0065】
そして、減少係数算出装置2は、次のデータパターンがあるか否かを判定し、次のデータパターンがあればステップS110に戻り、次のデータパターンがなければ終了する(
ステップS140)。
【0066】
図11は、減少係数算出の処理の説明図である。減少係数算出装置2は、
図10に示すように、先ず減少係数DB34から属性パターン83を取得する(ステップS150)。
【0067】
次に減少係数算出装置2は、取得した属性パターン83のうち、各属性について、区分数の異なる複数の区分数及び最少出現数の組み合わせに基づいて、区分数を増加させた場合の最少出現数の減少数や前記減少数の全体数に対する割合を減少係数として求め (ステップS160)、この属性毎の減少係数84を減少係数DB34に記憶させる。
【0068】
図12に示されるように、全体数が20000、区分数2のときの最少出現数が10000、区分数7のときの最少出現数が1000、区分数11のときの最少出現数が500・・・といった区分数及び最少出現数の組み合わせ85であるとき、この回帰直線86を求めると、y=−95.905x+8727.9となる。この回帰直線の傾きから区分数が1増加すると、最少出現数が約95減少することがわかる。即ち減少定数が95.905である。ここで、全体数が20000であるので、減少定率は95.905/20000≒0.47%である。
【0069】
なお、本実施形態では、属性毎に減少係数を求めたが、これに限らず複数の属性を併合して減少係数を求めても良い。例えば、区分数(属性種)が2の属性と区分数が3の属性とを併合して区分数6として減少係数の算出に用いても良い。また、同一の属性の抽象度を変えて異なる複数の区分数の属性として減少係数の算出に用いても良い。更に、類似した属性に基づいて減少係数を求めた方が精度が高いため、匿名化の際に用いる属性に優先度を付けておき、優先度の高いものから順に所定数の属性を用いて減少係数を求めても良い。また、属性を所定のジャンル(例えば、地域、時期、音楽、ファッション等)に分類しておき、同じジャンルに分類される属性を用いて減少係数を算出しても良い。更に、A社の年齢、A社の購入場所等のように企業名毎のデータに基づいて減少係数を求めても良い。
【0070】
そして、減少係数算出装置2は、次のデータがあるか否かを判定し、次のデータがあればステップS150に戻り、次のデータがなければ終了する(ステップS180)。
【0071】
図13は、出現頻度を求める処理の説明図である。減少係数算出装置2は、
図13に示すように、先ず頻出パターンDB33から頻出パターン82を取得する(ステップS21
0)。減少係数算出装置2は、この頻出パターン82から、属性値毎の存在数の平均や、
全体数に対する存在数の割合(出現率)を統計情報として求め(ステップS220)、頻出パターンDB33に登録する(ステップS230)。
【0072】
そして、減少係数算出装置2は、次のデータがあるか否かを判定し、次のデータがあればステップS210に戻り、次のデータがなければ終了する(ステップS240)。
【0073】
図14は、減少係数を用いた匿名化処理の説明図である。匿名処理装置1は、先ず他のコンピュータから対象データと共に匿名化のリクエストを受け付ける(ステップS310)。このとき例えば男女2区分×年代8区分=16区分等のように、オペレータが指定した区分数のリクエストを受ける。なお、
図14には省略したが、前述の
図8と同様に匿名処理装置1は、複数の匿名化アルゴリズムを有し、オペレータが任意に選択できる。
【0074】
次に匿名処理装置1は、匿名化する対象データの各属性について減少係数を減少係数DB34から取得する(ステップS320)。なお、減少係数が、企業名と対応付けて記憶されている場合には、この企業名の一致する減少係数を取得する。即ち、当該企業が過去に用いた匿名データから求めた減少係数を取得する。
【0075】
そして、匿名処理装置1は、取得した減少係数と区分数に基づいて、対象データを前記区分数で匿名化した場合の最少出現数の減少量が所定の基準値を超える可能性が高いか否かを判定する(ステップS330)。例えば、減少定率が10%で、区分数が16区分であると、16区分×10%=160%となり、100%(基準値)を超えるので、匿名性を満たす可能性が低いと判定する。一方、区分数が8区分であると、8区分×10%=80%となり、100%(基準値)を超えないので、匿名性を満たす可能性が高いと判定する。また、減少定数が8で、区分数が16区分であると、16区分×8=128となり、全体数100(基準値)を超えるので、匿名性を満たす可能性が低いと判定する。一方、区分数が8区分であると、8区分×8=64となり、100(基準値)を超えないので、匿名性を満たす可能性が高いと判定する。
【0076】
匿名性を満たす可能性が高いと判定した場合、匿名処理装置1は、選択されたアルゴリズムで対象データを匿名化し(ステップS340)、最少出現数が基準値を超えているか否かによって匿名性の検定を行う(ステップS350)。また、検定後、匿名処理装置1は、匿名情報を匿名結果DB31に蓄積する(ステップS360)。
【0077】
一方、ステップS330で、匿名性を満たす可能性が低いと判定した場合、匿名処理装置1は、匿名化処理を中止し、処理を終了する(ステップS370)。
【0078】
このように
図14の処理によれば、匿名性を満たす可能性が低ければ、匿名化処理を行わないので、無駄に匿名化処理を試行することが無くなり、匿名化処理の効率化が図れる。
【0079】
図15は、減少係数を用いた匿名化処理の説明図である。匿名処理装置1は、先ず他のコンピュータから対象データを受け付ける(ステップS410)。なお、
図15には省略したが、前述の
図8と同様に匿名処理装置1は、複数の匿名化アルゴリズムを有し、オペレータが任意に選択できる。
【0080】
次に匿名処理装置1は、匿名化する対象データの各属性について減少係数を減少係数DB34から取得する(ステップS420)。また、匿名処理装置1は、匿名化する対象データの各属性について頻出パターンを頻出パターンDB33から取得する(ステップS43
0)。なお、減少係数や頻出パターンが、企業名と対応付けて記憶されている場合には、
この企業名の一致する減少係数や頻出パターンを取得する。即ち、当該企業が過去に用いた匿名データから求めた減少係数や頻出パターンを取得する。
【0081】
また、匿名処理装置1は、取得した減少係数と対象データの全体数に基づいて、対象データを匿名化した場合に匿名性を満たす可能性が高い区分数を求める(ステップS440)。例えば、減少定率が10%で、全体数が100である場合、100×10%=10区分のように区分数を求める。一方、減少定数が12で、全体数が100である場合、100/12≒8.3となるので、8区分とする。
【0082】
そして、匿名処理装置1は、ステップS430で取得した頻出パターンに含まれる区分を用い、且つステップS440で算出した区分数以下で匿名化の処理を行い(ステップS450)、最少出現数が基準値を超えているか否かによって匿名性の検定を行う(ステッ
プS460)。また、検定後、匿名処理装置1は、匿名情報を匿名結果DB31に蓄積す
る(ステップS470)。
【0083】
このように
図15の処理によれば、減少係数と対象データの全体数に基づき、匿名化を行った時の減少量が、全体数を超えないように区分数を定めたことにより、無駄に匿名化
処理を試行することが無くなり、匿名化処理の効率化が図れる。また、頻出パターンに基づき、頻出する区分を用いて匿名化を行うことで、匿名化処理を行った時の最少出現数が小さくなりすぎて、匿名性を満たさなくなることが避けられるので、匿名化処理の効率化が図れる。
【0084】
<変形例>
図16は、
図14の匿名化処理の変形例を示す図である。
図14の処理では、ステップS330で、匿名性を満たす可能性が低いと判定された場合に、処理を中断したが、
図16の処理では、ステップS330で、匿名性を満たす可能性が低いと判定された場合に、
図15の処理を実行し(ステップS390)、減少係数と全体数に基づいた区分数で匿名化を行うものである。なお、その他の構成は、同じであるため、再度の説明は省略する。
【0085】
このように本変形例によれば、ステップS310でリクエストされた区分数で匿名性を満たす可能性が低い場合でも、減少係数と全体数に基づき匿名性を満たす可能性の高い区分数で匿名化を行うことができるため、匿名化処理の更なる効率化を図ることができる。
【0086】
〈実施形態2〉
前述の実施形態1では、減少係数として直線近似式によって求めた減少定数や減少率を用いたが、これに限定されるものではなく、実施形態2では、減少係数として累乗近似式を用いた例を示す。本実施形態2は、前述の実施形態1と比べて、累乗近似式を用いた構成が異なり、他の構成は同じであるため、同一の要素は同符号を付す等して再度の説明を省略する。
【0087】
本実施形態2において、減少係数算出装置2の係数算出部23は、区分数が異なる複数の前記区分数及び前記最少出現数の組み合わせに基づいて、前記区分数を増加させた場合の前記最少出現数の減少量を示す減少係数として、累乗近似式を求める。
例えば、係数算出部23は、区分数を増加させた場合の最少出現数に基づいて、下記の累乗近似式1を求める。なお、累乗近似式1において、yは匿名レベル(k値)、xは区分数を示す。
【数1】
【0088】
そして、本実施形態2における匿名処理装置1の可能性判定部14は、累乗近似式1と匿名化を行う区分数に基づいて、個人情報を前記区分数で匿名化した場合の最少出現数の減少量が所定の基準値を超える可能性を判定する。
例えば、可能性判定部14は、累乗近似式1を以下の式2のように展開して最少出現数を推定し、この最少出現数の推定値xが基準値を超えるか否かで可能性を判定する。なお、次の式では、匿名レベルyをkとしている。
【数2】
【0089】
なお、k値は0に収束するものではないため、式1に1を加えて式3とし、式3を展開して式4として用いても良い
【数3】
【0090】
図17は、減少係数算出の処理の説明図である。減少係数算出装置2は、
図10に示すように、先ず減少係数DB34から属性パターン83を取得する(ステップS150)。
【0091】
次に減少係数算出装置2は、取得した属性パターン83のうち、各属性について、区分数の異なる複数の区分数及び最少出現数の組み合わせを求め(ステップS160A)、これらの区分数及び最少出現数に基づいて累乗近似式1を減少係数として求めて、この減少係数を減少係数DB34に記憶させる(ステップS170A)。
【0092】
図18に示されるように、全体数が20000、区分数2のときの最少出現数が10000、区分数7のときの最少出現数が1000、区分数11のときの最少出現数が500・・・といった区分数及び最少出現数の組み合わせ85であるとき、累乗近似式1を求めると、y=114659x
−1.414となる。この累乗近似式1から各区分の区分数が1増加した場合の最少出現数の減少数がわかる。例えば、この減少数が95.905である場合、全体数が20000であるので、減少率は95.905/20000≒0.47%である。
【0093】
そして、減少係数算出装置2は、次のデータがあるか否かを判定し、次のデータがあればステップS150に戻り、次のデータがなければ終了する(ステップS180)。
【0094】
図19は、減少係数を用いた匿名化処理の説明図である。匿名処理装置1は、先ず他のコンピュータから対象データと共に匿名化のリクエストを受け付ける(ステップS310)。このとき例えば男女2区分×年代8区分=16区分等のように、オペレータが指定し
た区分数のリクエストを受ける。なお、
図19には省略したが、前述の
図8と同様に匿名処理装置1は、複数の匿名化アルゴリズムを有し、オペレータが任意に選択できる。
【0095】
次に匿名処理装置1は、匿名化する対象データの各属性について減少係数(累乗近似式1)を減少係数DB34から取得する(ステップS320)。なお、減少係数が、企業名と対応付けて記憶されている場合には、この企業名の一致する減少係数を取得する。即ち、当該企業が過去に用いた匿名データから求めた減少係数を取得する。
【0096】
そして、匿名処理装置1は、取得した減少係数を式2のように展開し、区分数に基づいて、対象データを前記区分数で匿名化した場合の最少出現数の減少量が所定の基準値(k値)を超える可能性が高いか否かを判定する(ステップS330A)。
【0097】
匿名性を満たす可能性が高いと判定した場合、匿名処理装置1は、選択されたアルゴリズムで対象データを匿名化し(ステップS340)、最少出現数が基準値を超えているか否かによって匿名性の検定を行う(ステップS350)。また、検定後、匿名処理装置1は、匿名情報を匿名結果DB31に蓄積する(ステップS360)。
【0098】
一方、ステップS330で、匿名性を満たす可能性が低いと判定した場合、匿名処理装置1は、匿名化処理を中止し、処理を終了する(ステップS370)。
【0099】
このように
図19の処理によれば、匿名性を満たす可能性が低ければ、匿名化処理を行わないので、無駄に匿名化処理を試行することが無くなり、匿名化処理の効率化が図れる。
【0100】
図20は、減少係数を用いた匿名化処理の説明図である。匿名処理装置1は、先ず他のコンピュータから対象データを受け付ける(ステップS410)。なお、
図20には省略したが、前述の
図8と同様に匿名処理装置1は、複数の匿名化アルゴリズムを有し、オペレータが任意に選択できる。
【0101】
次に匿名処理装置1は、匿名化する対象データの各属性について減少係数(累乗近似式1)を減少係数DB34から取得する(ステップS420)。また、匿名処理装置1は、匿名化する対象データの各属性について頻出パターンを頻出パターンDB33から取得する(ステップS430)。なお、減少係数や頻出パターンが、企業名と対応付けて記憶されている場合には、この企業名の一致する減少係数や頻出パターンを取得する。即ち、当該企業が過去に用いた匿名データから求めた減少係数や頻出パターンを取得する。
【0102】
また、匿名処理装置1は、取得した減少係数と対象データの全体数に基づいて、対象データを匿名化した場合に匿名性を満たす可能性が高い区分数を求める(ステップS440
A)。
【0103】
そして、匿名処理装置1は、ステップS430で取得した頻出パターンに含まれる区分を用い、且つステップS440で算出した区分数以下で匿名化の処理を行い(ステップS450)、最少出現数が基準値を超えているか否かによって匿名性の検定を行う(ステッ
プS460)。また、検定後、匿名処理装置1は、匿名情報を匿名結果DB31に蓄積す
る(ステップS470)。
【0104】
このように
図20の処理によれば、減少係数と対象データの全体数に基づき、匿名化を行った時の減少量が、全体数を超えないように区分数を定めたことにより、無駄に匿名化処理を試行することが無くなり、匿名化処理の効率化が図れる。また、頻出パターンに基づき、頻出する区分を用いて匿名化を行うことで、匿名化処理を行った時の最少出現数が
小さくなりすぎて、匿名性を満たさなくなることが避けられるので、匿名化処理の効率化が図れる。
【0105】
〈実施形態3〉
本実施形態3では、複数の事業者間で匿名情報を比較するために統一した区分数で匿名化を行う例を示している。実施形態3は、前述の実施形態2と比べて、統一した区分数で匿名化を行うための構成が異なり、他の構成は同じであるため、同一の要素は同符号を付す等して再度の説明を省略する。
複数の事業者間でデータを比較する場合、同じ属性で匿名化しなければならないが、互いが所有している個人情報がどのようなものかが分らないため、どの程度の区分数であれば共通の属性で匿名化できるのかが互いに分らなかった。このため無駄に試行を繰り返すことになり、匿名化処理の効率が悪かった。そこで、本実施形態3の減少係数算出装置2は、複数事業者からの匿名情報に基づいて、共通の属性で匿名化が行える可能性が高い区分数を推定して各事業者に通知する。
【0106】
図21は、減少係数算出の処理の説明図である。減少係数算出装置2は、先ず複数の事業者から匿名情報を取得する(ステップS150B)。
【0107】
次に減少係数算出装置2は、取得した属性パターン83のうち、各属性について、区分数の異なる複数の区分数及び最少出現数の組み合わせを求め(ステップS160B)、これらの区分数及び最少出現数に基づいて累乗近似式1を減少係数として求め、この累乗近似式1に基づいて、最少出現数が基準値以上となる区分数の下限値を求めて減少係数DB34に記憶させる(ステップS170B)。
【0108】
また、減少係数算出装置2は、次のデータがあるか否かを判定し(ステップS18
0)、次のデータがあればステップS150Bに戻り、次のデータがなければ、各事業者における区分数の下限値のうち、最も小さい区分数を共通の区分数、即ち共通の属性で匿名化が行える可能性が高い区分数とし(ステップS190B)、各事業者の端末に通知する(ステ
ップS200B)。
【0109】
そして、各事業者が、通知された区分数で前述の匿名化を行うことで、無駄に試行を繰り返すことなく匿名化を行うことができる。
このように本実施形態3によれば、複数事業者からの匿名情報に基づいて、効率良く共通の属性で匿名化を行うことができる。
【0110】
〈その他〉
本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。例えば、前記実施形態2,3では、減少係数として累乗近似式を用いたが、これに代えて多項近似式や指数近似式等の近似式を用いても良い。