(57)【特許請求の範囲】
【請求項１】
個人情報を複数の属性の組み合わせで匿名化する場合に、前記属性が取り得る属性値の組み合わせ数を区分数とし、前記属性の組み合わせで前記個人情報を匿名化した場合に、前記属性値の組み合わせが出現する数のうち最小の数を最小出現数とし、前記区分数と前記最少出現数の対応関係を記憶する記憶部と、
処理対象の個人情報を匿名化した場合の最少出現数を目標値以上とする場合に、前記区分数と前記最少出現数の対応関係に基づき、前記最少出現数が前記目標値となる前記区分数を予測値とする予測部と、
処理対象の個人情報を複数の属性の組み合わせで匿名化する匿名化部と、
前記匿名化を行った場合の最少出現数が前記目標値以上か否かの検定を行う検定部と、を備え、
前記匿名化部が、複数の属性の組み合わせで匿名化を行う場合の区分数に基づいて、前記属性の組み合わせを順位付けし、前記予測値と対応する区分数となる順位の属性の組み合わせで匿名化を行い、
前記匿名化を行った際の最少出現数が前記目標値以上でないと検定された場合には、
前記検定部が、前記順位付けに従い、前記予測値と対応する区分数と近い順に前記匿名化と前記検定を行い、
前記匿名化を行った際の最少出現数が前記目標値以上であると検定された場合には、
前記検定部が当該匿名化を行った際の区分数で前記予測値を更新し、
前記匿名化部が、更新した予測値を用いて前記匿名化を行う、
匿名処理装置。
【請求項２】
前記匿名化を行った際の最少出現数が前記目標値以上でないと検定された場合に、前記順位付けに従い、次に匿名化を行う属性の組み合わせを決定して匿名性を満たす属性の組み合わせを探索する順序を選択可能に複数設定する請求項１に記載の匿名処理装置。
【請求項３】
個人情報を複数の属性の組み合わせで匿名化する場合に、前記属性が取り得る属性値の組み合わせ数を区分数とし、前記属性の組み合わせで前記個人情報を匿名化した場合に、前記属性値の組み合わせが出現する数のうち最小の数を最小出現数とし、前記区分数と前記最少出現数の対応関係を記憶する記憶部を参照するステップと、
処理対象の個人情報を匿名化した場合の最少出現数を目標値以上とする場合に、前記区分数と前記最少出現数の対応関係に基づき、前記最少出現数が前記目標値となる前記区分数を予測値とするステップと、
処理対象の個人情報を複数の属性の組み合わせで匿名化するステップと、
前記匿名化を行った場合の最少出現数が前記目標値以上か否かの検定を行うステップと、
をコンピュータが実行し、
前記匿名化するステップにて、複数の属性の組み合わせで匿名化を行う場合の区分数に基づいて、前記属性の組み合わせを順位付けし、前記予測値と対応する区分数となる順位の属性の組み合わせで匿名化を行い、
前記検定を行うステップにて、前記匿名化を行った際の最少出現数が前記目標値以上でないと検定された場合に、前記順位付けに従い、前記予測値と対応する区分数と近い順に前記匿名化と前記検定を行い
前記匿名化を行った際の最少出現数が前記目標値以上であると検定された場合には、
前記検定を行うステップにて、当該匿名化を行った際の区分数で前記予測値を更新し、
前記匿名化するステップにて、更新した予測値を用いて前記匿名化を行う、
匿名処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、個人情報を匿名化又は多様化するための匿名処理技術に関する。
【背景技術】
【０００２】
情報処理技術の発展に伴い、日常の多くの場面で情報が収集され、この収集された情報を用いた処理が行われている。例えば、消費者が店舗の会員となって商品を購入する場合、会員登録時に消費者の氏名、年齢、性別、住所、メールアドレス等を登録することが多い。そして、消費者が商品を購入すると、店舗側のシステムが、この消費者と購入した商品の情報を対応付けて記録する。このように購入した商品の情報を蓄積して分析すると、当該消費者の嗜好が推定でき、この消費者が好む新商品が発売された場合にダイレクトメールを発送するといったサービスを行うことができる。更に、多くの消費者の情報について分析することで、２０代女性の好む商品や関東エリアで好まれる商品といった情報を導くことができ、マーケティング等に利用される。
【０００３】
また、これらの情報は、当該店舗だけでなく、商品を製造するメーカや、他の企業にとっても新商品の開発や安全性の向上などに用いることができ、価値を有することがある。
【０００４】
しかし、店舗が有する消費者の個人情報を各消費者の許諾を得ずに、他者へ提供することはできないため、従来は、前記会員登録時の契約に基づいて各消費者が許諾した範囲内で主に当該店舗において利用し、第三者へ個人情報が漏洩しないように管理していた。但し、近年、前記個人情報から有用な情報を導き、個人が特定できない状態で他者へ提供できれば、産業の活性化につながる可能性があるため、上記消費者に関する情報を匿名化した上で他者へ提供することが検討されている。
【０００５】
この場合、単に各消費者の氏名や電話番号等の識別情報を削除するだけでなく、他の情報と組み合わせても元の消費者が識別できないように匿名化する必要がある。
【０００６】
例えば、年齢が記載されている会員リストに２５歳の人が一人だけであると、２５歳の知人がその会員であることを知った時点で、その人を特定できることになる。即ち、２５歳の会員という属性を持つ人が一人だけであると、他の情報と照らし合わせることで、個人を特定できる可能性が高い。
【０００７】
そこで、会員リストの年齢の記載を１０歳区切りに抽象化し、２０代が３人のように同じ属性を持つ人が複数人となるようにすれば、３人のうちの誰であるかを特定できなくなる。このように同じ属性を持つ人がｋ人以上いる状態を、「ｋ−匿名性」を満たすと称し、そのようにデータを加工することを「k-匿名化」と称する。
【０００８】
また、匿名化の基準や手法としては、種々のものが提案されており、例えば、ｌ−多様性、Ｐｋ匿名化、t-closeness（非特許文献１参照）が知られている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１２−１３３４５１号公報
【特許文献２】特開２０１１−１０８１９５号公報
【特許文献３】特開２０１１−１２８８６２号公報
【特許文献４】特開２０１２−７８９３２号公報
【非特許文献】
【００１０】
【非特許文献１】中川裕志著、″プライバシ保護データマイニング″、[平成26年5月23日検索］、インターネット〈URL：http://www.r.dl.itc.u-tokyo.ac.jp/~nakagawa/labintro/2010PPDM-summary.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【００１１】
個人情報をｋ-匿名化することで、再識別化や悪用のリスクを低減させ、第三者への情
報提供等が可能になるが、匿名状態とする処理や検定の処理に多大な計算リソースが必要になるという問題があった。匿名状態の生成処理と検定処理は、対象データの属性値同士の組み合わせで行われるため、組み合わせる属性の数を増加させたり、属性値の種類（選択肢数）が多い属性を組み合わせたりして、組み合わせ数（後述の区分数）が増加すると、指数関数的に計算量が増加するため、詳細なデータを得ようとすると、膨大な計算リソースが必要になってしまう。
【００１２】
また、詳細なデータを得ようとして、多数の属性を組み合わせると、組み合わされた属性値の出現数が劇的に減少するため匿名化できず、匿名化できるように属性値の抽象度を高くすると、匿名化できたとしても抽象度が高く、結果的に情報量の少ないデータとなってしまう。
【００１３】
このため、従来、詳細で且つ匿名可能なデータを少ない演算処理量で得るため、ＯＬＡ方式のようにボトムアップ又はトップダウンで匿名状態を確認する処理が提案されているが、トップから計算してボトム近くで最適解（ＧＯＤ：Globally Optimal Dataset）が見つかることや、ボトムから計算してトップ近くでＧＯＤが見つかることもあり、確実に計算量が抑えられるものではなかった。
【００１４】
そこで本発明は、詳細で且つ匿名化可能なデータを少ない演算処理量で求める技術を提供する。
【課題を解決するための手段】
【００１５】
本発明に係る匿名処理装置は、
個人情報を複数の属性の組み合わせで匿名化する場合に、前記属性が取り得る属性値の組み合わせ数を区分数とし、前記属性の組み合わせで前記個人情報を匿名化した場合に、前記属性値の組み合わせが出現する数のうち最小の数を最小出現数とし、前記区分数と前記最少出現数の対応関係を記憶する記憶部と、
処理対象の個人情報を匿名化した場合の最少出現数を目標値以上とする場合に、前記区分数と前記最少出現数の対応関係に基づき、前記最少出現数が前記目標値となる前記区分数を予測値とする予測部と、
処理対象の個人情報を複数の属性の組み合わせで匿名化する匿名化部と、
前記匿名化を行った場合の最少出現数が前記目標値以上か否かの検定を行う検定部と、を備え、
前記匿名化部が、複数の属性の組み合わせで匿名化を行う場合の区分数に基づいて、前記属性の組み合わせを順位付けし、前記予測値と対応する区分数となる順位の属性の組み合わせで匿名化を行い、最少出現数が前記目標値以上でないと検定された場合に、前記順位付けに従い、前記予測値と対応する区分数と近い順に前記匿名化と前記検定を行う。
【００１６】
前記匿名処理装置は、前記匿名化を行った際の最少出現数が前記目標値以上であった場合に、当該匿名化を行った際の区分数で前記予測値を更新し、更新した予測値を用いて前記匿名化を行ってもよい。
【００１７】
前記匿名処理装置は、前記匿名化を行った際の最少出現数が前記目標値以上でないと検定された場合に、前記順位付けに従い、次に匿名化を行う属性の組み合わせを決定して匿名性を満たす属性の組み合わせを探索する順序を選択可能に複数設定してもよい。
【００１８】
本発明に係る匿名処理方法は、
個人情報を複数の属性の組み合わせで匿名化する場合に、前記属性が取り得る属性値の組み合わせ数を区分数とし、前記属性の組み合わせで前記個人情報を匿名化した場合に、前記属性値の組み合わせが出現する数のうち最小の数を最小出現数とし、前記区分数と前記最少出現数の対応関係を記憶する記憶部を参照するステップと、
処理対象の個人情報を匿名化した場合の最少出現数を目標値以上とする場合に、前記区分数と前記最少出現数の対応関係に基づき、前記最少出現数が前記目標値となる前記区分数を予測値とするステップと、
処理対象の個人情報を複数の属性の組み合わせで匿名化するステップと、
前記匿名化を行った場合の最少出現数が前記目標値以上か否かの検定を行うステップと、
をコンピュータが実行し、
前記匿名化するステップにて、複数の属性の組み合わせで匿名化を行う場合の区分数に基づいて、前記属性の組み合わせを順位付けし、前記予測値と対応する区分数となる順位の属性の組み合わせで匿名化を行い、
前記検定を行うステップにて、最少出現数が前記目標値以上でないと検定された場合に、前記順位付けに従い、前記予測値と対応する区分数と近い順に前記匿名化と前記検定を行う。
【００１９】
前記匿名処理方法は、前記匿名化を行った際の最少出現数が前記目標値以上であった場合に、当該匿名化を行った際の区分数で前記予測値を更新し、更新した予測値を用いて前記匿名化を行ってもよい。
【００２０】
前記匿名処理方法は、前記匿名化を行った際の最少出現数が前記目標値以上でないと検定された場合に、前記順位付けに従い、次に匿名化を行う属性の組み合わせを決定して匿名性を満たす属性の組み合わせを探索する順序を選択可能に複数設定したものであってもよい。
【００２１】
また、本発明は、上記方法をコンピュータに実行させるためのプログラムであっても良い。更に、前記化プログラムは、コンピュータが読み取り可能な記録媒体に記録されていても良い。
【００２２】
ここで、コンピュータが読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体の内コンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、８mmテープ、メモリカード等がある。
【００２３】
また、コンピュータに固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【発明の効果】
【００２４】
本発明は、詳細で且つ匿名化可能なデータを少ない演算処理量で求める技術を提供することができる。
【図面の簡単な説明】
【００２５】
【図１】図１は、匿名化処理の説明図である。
【図２】図２は、多様化処理の説明図である。
【図３】図３は、実施形態における匿名化システムの概略構成図である。
【図４】図４は、個人情報の一例を示す図である。
【図５】図５は、図４に示す属性Ｂ（投薬量）の値一般化階層（VGH：value generalization hierarchies)を示す図である。
【図６】図６は、図４に示す属性Ｃ（完治までの期間）の値一般化階層を示す図である。
【図７】図７は、属性Ｂ及び属性Ｃの属性一般化階層（DGH：Domain Generalization Hierachies）を示す図である。
【図８】図８は、地域（属性Ｄ）の値一般化階層と属性一般化階層を示す図である。
【図９】図９は、属性を組み合わせた場合の区分数を示す図である。
【図１０】図１０は、匿名処理装置及び近似関数算出装置のハードウェア構成を示す図である。
【図１１】図１１は、近似関数算出方法の説明図である。
【図１２】図１１は、近似関数取得方法の説明図である。
【図１３】図１３は、予測ＧＯＤ値に基づく匿名化処理について説明する。
【図１４】図１４は、予測ＧＯＤ値に基づく匿名化処理について説明する。
【図１５】図１５は、値一般化階層の一例を示す図である。
【図１６】図１６は、匿名化処理を連続して行う例を示す図である。
【図１７】図１７は、匿名化処理の変形例を示す図である。
【図１８】図１８は、近似関数の例を示す図である。
【発明を実施するための形態】
【００２６】
以下、図面を参照して本発明を実施するための形態について説明する。以下の実施の形態の構成は例示であり、本発明は実施の形態の構成に限定されない。
【００２７】
〈実施形態１〉
図１は匿名化処理の説明図、図２は多様化処理の説明図である。図１（Ａ）は、姓、年齢、性別の項目を含む会員情報から姓の項目を削除した例を示す。図１（Ａ）に示すように年齢が記載されている会員情報に１６歳の女性が一人だけであると、１６歳の女性が、この会員であることが分かった時点で、その人を特定できる。即ち、１６歳・女性という属性を持つ人が一人だけであると、他の情報と照らし合わせることで、個人を特定できる可能性がある。
【００２８】
図１（Ｂ）では、会員リストの年齢の記載を抽象化し、０代（１０歳未満）、１０代、２０代のように年代別とした。しかし、この場合でも１０代女性は一人だけであり、図１（Ａ）と同様に個人が特定できてしまい匿名化としては不十分である。
【００２９】
そこで、図１（Ｃ）では、更に抽象化し、１０代以下（１９歳以下）と２０代のように年代の区切りを変更した。図１（Ｃ）の場合、１０代以下の女性が２人であり、［１０代以下］及び［女性］という属性が単一では無くなる。このため前述のように１６歳の女性が、この会員であることが分かったとしても、どちらが当該１６歳女性のデータであるかは特定できない。このように同じ属性を持つ人がｋ人以上いる状態を、「k-匿名性」を満たすと称し、そのようにデータを加工することを「k-匿名化」と称する。
【００３０】
図２は、ユーザ毎の利用駅のデータを抽象化し、ユーザ毎の利用駅が属する区のデータとした例を示す。抽象化前のデータでは、駅が特定されているために、住居が新宿駅付近で勤務地が東京駅付近といったデータと照らし合わせることでユーザを特定できる可能性がある。このため利用駅を抽象化して、利用駅が属する区とすることで、新宿区内の駅と
千代田区内の駅を利用するユーザが複数となり、利用者が特定されなくなる。このように「新宿区内の駅と千代田区内の駅を利用する」のように属性値がｌ種類の可能性を持つよう抽象化することをｌ−多様化と称する。
【００３１】
図３は、本実施形態における匿名化システム１０の概略構成図である。匿名化システム１０は、図１に示すように、匿名処理装置１と近似関数算出装置２を有している。
【００３２】
匿名処理装置１は、データ受付部１１や、区分数取得部１２、係数取得部１３、匿名化部１５、検定部１６、データ出力部１８、予測部１９、匿名結果ＤＢ（データベース）３１、匿名情報縦列ＤＢ３２を備えている。
【００３３】
データ受付部１１は、個人と対応付けられた複数の項目（属性）を含む対象データ（個人情報）や、匿名化の条件、匿名化に係る命令等を受け付ける。なお、個人情報や匿名化の条件等の受付は、インターネット等のネットワークを介して受信するものや、記憶媒体から読み出されるもの、キーボード等の入力手段から入力されるものであっても良い。図４は個人情報の一例を示す図である。図４に示す例では、各行（タプル）に各個人の性別、投薬量、完治までの期間等の属性を対応付けて記録している。
【００３４】
区分数取得部１２は、匿名化対象の個人情報を匿名化する際の区分数を取得する。区分数は、匿名情報に含まれる属性が取り得る属性値（語）の種類の数、換言すると匿名情報を構成する属性の値を同一の値毎に区分した場合の区分の数である。また、区分数取得部１２は、一般化（抽象化）した属性値の区分数を取得しても良い。図５は、図４に示す属性Ｂ（投薬量）の値一般化階層（VGH:value generalization hierarchies)を示す図であ
る。属性Ｂは、１ｍｌ〜２００ｍｌの範囲で投薬した量を示すデータであり、図５のＢ３のように１ｍｌ毎の値に区分した場合、取り得る属性値は、１ｍｌ，２ｍｌ，３ｍｌ，４ｍｌ・・・２００ｍｌのように２００種類となる。即ち、属性Ｂを１ｍｌ毎に区分した場合の区分数は、２００区分である。また、属性Ｂを一般化（抽象化）し、例えば、図５のＢ２のように１０ｍｌ毎の値に区分した場合、取り得る属性値は、１ｍｌ〜１０ｍｌ，１１ｍｌ〜２０ｍｌ，２１ｍｌ〜３０ｍｌ・・・１９１ｍｌ〜２００ｍｌのように２０種類となる。即ち、属性Ｂを１０ｍｌ毎に区分した場合の区分数は、２０区分である。また、属性Ｂを更に一般化し、例えばＢ１のように５０ｍｌ毎の値に区分した場合、取り得る属性値は、１ｍｌ〜５０ｍｌ，５１ｍｌ〜１００ｍｌ，１０１ｍｌ〜１５０ｍｌ，１５１ｍｌ〜２００ｍｌのように４種類となる。即ち、属性Ｂを５０ｍｌ毎に区分した場合の区分数は、４区分である。図５において、Ｂ３の１ｍｌ，２ｍｌ，３ｍｌ，４ｍｌ・・・１０ｍｌの属性値を一般化したものが、Ｂ２の１ｍｌ〜１０ｍｌである。また、Ｂ２の１ｍｌ〜１０ｍｌ，１１ｍｌ〜２０ｍｌ，２１ｍｌ〜３０ｍｌ，３１ｍｌ〜４０ｍｌ，４１ｍｌ〜５０ｍｌの属性値を一般化したものが、Ｂ３の１ｍｌ〜５０ｍｌである。即ち、Ｂ３の属性値を一般化したものがＢ２の属性値であり、Ｂ２の属性値を一般化したものがＢ１の属性値であり、階層状に一般化されている。例えばＢ３のように同じ基準（１ｍｌ毎）で区切られた一般化の程度が同じ属性値の集合を一つの階層とし、これを一般化したＢ２の基準（１０ｍｌ毎）で区切られた属性値の集合をＢ３の階層より一般化の程度の高いＢ２の階層としている。更に、Ｂ１の基準（５０ｍｌ毎）で区切られた属性値の集合をＢ２の階層より一般化の程度の高いＢ１の階層としている。このように属性の値一般化階層を設定することで、Ｂ３の階層の７ｍｌはＢ２の階層の１ｍｌ〜１０ｍｌ、Ｂ３の階層の６８ｍｌはＢ２の階層の６１ｍｌ〜７０ｍｌに一般化することができる。また、Ｂ２の階層の１ｍｌ〜１０ｍｌはＢ１の階層の１ｍｌ〜５０ｍｌ、Ｂ２の階層の６１ｍｌ〜７０ｍｌはＢ１の階層の５１ｍｌ〜１００ｍｌに一般化することができる。
【００３５】
図６は、図４に示す属性Ｃ（完治までの期間）の値一般化階層を示す図である。属性Ｃは、１週〜１２週の範囲で完治までの期間を示すデータであり、図６のＣ２のように１週
毎の値に区分した場合、取り得る属性値は、１週，２週，３週，４週・・・１２週のように１２種類、即ち、１２区分となる。また、属性Ｃを一般化し、例えば、図６のＣ１のように月毎の値に区分した場合、取り得る属性値は、１月未満，１月〜２月未満，２月〜３月未満のように３種類、即ち、３区分となる。図６において、Ｃ２の１週，２週，３週，４週の属性値を一般化したものが、Ｃ１の１月未満、Ｃ２の９週，１０週，１１週，１２週の属性値を一般化したものが、Ｃ１の２月〜３月未満である。即ち、Ｃ２の属性値を一般化したものがＣ１の属性値であり、階層状に一般化されている。例えばＣ２のように同じ基準（週毎）で区切られた一般化の程度が同じ属性値の集合を一つの階層とし、これを一般化したＣ１の基準（月毎）で区切られた属性値の集合をＣ２の階層より一般化の程度の高いＣ１の階層としている。このように属性の値一般化階層を設定することで、Ｃ２の階層の３週はＣ１の階層の１月未満、Ｃ２の階層の１０週はＣ１の階層の２月〜３月未満に一般化することができる。
【００３６】
図７は、属性Ｂ及び属性Ｃの属性一般化階層（DGH：Domain Generalization Hierachies）を示す図である。図７に示すように属性Ｂの階層構造は、上記Ｂ３の階層→Ｂ２の階
層→Ｂ１の階層→ルートとなっている。Ｂ３の階層は、｛１ｍｌ，２ｍｌ，３ｍｌ，４ｍｌ・・・２００ｍｌ｝の属性値を含み、Ｂ２の階層は、｛１ｍｌ〜１０ｍｌ，１１ｍｌ〜２０ｍｌ，２１ｍｌ〜３０ｍｌ・・・１９１ｍｌ〜２００ｍｌ｝の属性値を含み、Ｂ１の階層は、｛１ｍｌ〜５０ｍｌ，５１ｍｌ〜１００ｍｌ，１０１ｍｌ〜１５０ｍｌ，１５１ｍｌ〜２００ｍｌ｝の属性値を含む。また、属性Ｃの階層構造は、上記Ｃ２の階層→Ｃ１の階層→ルートとなっている。Ｃ２の階層は、｛１週，２週，３週，４週・・・１２週｝の属性値を含み、Ｃ１の階層は、｛１月未満，１月〜２月未満，２月〜３月未満｝の属性値を含む。このように、属性一般化階層として、各属性の階層構造及び各属性に含まれる属性値を設定している。
【００３７】
なお、属性は、数値に限定されるものではない。図８は、地域（属性Ｄ）の値一般化階層と属性一般化階層を示す図である。図８において、Ｄ３の階層は４７都道府県、Ｄ２の階層は１４地域区分、Ｄ１の階層は８地域区分を示している。
【００３８】
本実施形態では、最も一般化の程度が高い階層（最も抽象的な階層）を第一階層とし、第一階層の属性は、属性の記号に階層を示す数字１を付してＢ１，Ｃ１，Ｄ１のように示し、第二階層の属性は、Ｂ２，Ｃ２，Ｄ２、、第三階層の属性は、Ｂ３，Ｃ３，Ｄ３のように示す。
【００３９】
各属性の値一般化階層及び属性一般化階層は、例えば、予め定めて記憶装置に記憶させておく。なお、属性が数値の場合には、匿名処理装置１が、入力された対象のデータや属性の範囲を所定の値で区分して値一般化階層及び属性一般化階層を作成しても良い。
【００４０】
また、属性は、一般化できるものに限定されず、一般化せずに用いる属性を有しても良い。例えば、属性Ａ（性別）は、男，女の二区分としている。なお、階層状に一般化していない属性は、最も一般化の程度が高い階層（第一階層）として扱う。
【００４１】
図９は、これらの属性を組み合わせた場合の区分数を示す図である。図９に示すように、属性を組み合わせた場合の区分数は、各属性の区分数を乗じた値となり、属性Ａと属性Ｂ１を組み合わせた場合の区分数は８区分、属性Ａと属性Ｂ２を組み合わせた場合の区分数は４０区分、属性Ａと属性Ｃ１を組み合わせた場合の区分数は６区分、属性Ａと属性Ｃ２を組み合わせた場合の区分数は２４区分である。
【００４２】
同様に、属性Ｂ１と属性Ｃ１であれば８区分、属性Ｂ１と属性Ｃ２であれば２４区分、属性Ｂ２と属性Ｃ１であれば６０区分、属性Ｂ２と属性Ｃ２であれば２４０区分である。
【００４３】
更に、属性Ａと属性Ｂ１と属性Ｃ１であれば２４区分、属性Ａと属性Ｂ１と属性Ｃ２であれば９６区分、属性Ａと属性Ｂ２と属性Ｃ１であれば１２０区分、属性Ａと属性Ｂ２と属性Ｃ２であれば４８０区分である。
【００４４】
係数取得部１３は、近似関数算出装置２によって算出された近似関数を取得する。近似関数は、例えば、対象データを匿名化する際、区分数を増加させた場合の最少出現数の減少数又は前記減少数の全体数に対する割合である。
【００４５】
匿名化部１５は、対象データを匿名化或いは多様化する際に、対象データ中の属性の値（属性値）であるワード（語）を前記値一般化階層に基づいて一般化したワードに替えることで匿名化を行い、対象データを匿名候補データとする。本実施形態においてワード（語）は、単語や句など、一まとまりの言葉であり、年齢や投薬量、完治までの期間、位置情報、電話番号等の数値、メールアドレスやＩＰアドレス等の識別情報、言葉と同様の意味を持つ記号等を含んでも良い。
【００４６】
検定部１６は、匿名候補データの一個人と対応する属性値の組み合わせが、当該匿名候補データ中で基準数以上存在すること、少なくとも単一でないことを条件として検定する。換言すると、匿名候補データにおいて、一タプルの属性値の組み合わせのうち、一致する組み合わせの数（出現数）であって、最も少ないもの（最少出現数）が基準値以上であることを条件として検定する。即ち、ｋ値（最少出現数）が基準値以上であること、またはｌ値が基準値以上であることを条件とした場合、検定部１６は、匿名候補データがｋ−匿名性を満たしているかや、ｌ−多様性を満たしているかを検定する。検定部１６は、匿名候補データにおいて、一タプルの属性値の組み合わせが例えば（男，３５ｍｌ，２月）であった場合、この属性値の組み合わせ（男，３５ｍｌ，２月）と一致するものの数（出現数）をカウントし、当該匿名候補データの全ての組み合わせの中で、最も少ない出現数（最少出現数）が基準値以上であることを条件として検定する。検定部１６は、この検定の結果、匿名性を満たした匿名候補データを匿名情報として匿名結果ＤＢ３１に記憶させる。
【００４７】
データ出力部１８は、匿名結果ＤＢ３１から匿名化情報を読み出して出力する。ここで、匿名化情報の出力とは、例えば、表示装置による表示出力や、プリンタによる印刷出力、他のコンピュータへの送信、記憶媒体への書き込み等である。
【００４８】
予測部１９は、処理対象の個人情報を匿名化した場合の最少出現数を目標値以上とする場合に、前記区分数と前記最少出現数の対応関係に基づき、前記最少出現数が前記目標値となる前記区分数を予測値とする。
【００４９】
また、近似関数算出装置２は、匿名情報取得部２１や、出現数取得部２２、係数算出部２３、頻出パターンＤＢ３３、近似関数ＤＢ３４を備えている。
【００５０】
匿名情報取得部２１は、個人情報を匿名化した匿名結果ＤＢ３１から匿名情報を取得する。また、出現数取得部２２は、匿名情報を構成する属性を語（属性値）毎に区分して区分数を求め、各区分における語の最少出現数を求める。
【００５１】
係数算出部と、区分数の異なる複数の前記区分数及び前記最少出現数の組み合わせに基づいて、前記区分数を増加させた場合の最少出現数の減少数又は前記減少数の全体数に対する割合を近似関数として求め、近似関数ＤＢ３４に記憶する。
【００５２】
図１０は匿名処理装置１及び近似関数算出装置２のハードウェア構成を示す図である。
匿名処理装置１及び近似関数算出装置２は、ＣＰＵ１０１、メモリ１０２、通信制御部１０３、記憶装置１０４、入出力インタフェース１０５を有する所謂コンピュータである。
【００５３】
ＣＰＵ１０１は、メモリ１０２に実行可能に展開されたプログラムを実行する。これにより、匿名処理装置１のＣＰＵ１０１は、前述のデータ受付部１１や、区分数取得部１２、係数取得部１３、匿名化部１５、検定部１６、データ出力部１８、予測部１９の機能を提供する。また、近似関数算出装置２のＣＰＵ１０１は、前述の匿名情報取得部２１や、出現数取得部２２、係数算出部２３の機能を提供する。
【００５４】
メモリ１０２は、主記憶装置ということもできる。メモリ１０２は、例えば、ＣＰＵ１０１が実行するプログラムや、通信制御部１０３を介して受信したデータ、記憶装置１０４から読み出したデータ、その他のデータ等を記憶する。
【００５５】
通信制御部１０３は、ネットワークを介して他の装置と接続し、当該装置との通信を制御する。入出力インタフェース１０５は、表示装置やプリンタ等の出力手段や、キーボードやポインティングデバイス等の入力手段、ドライブ装置等の入出力手段が適宜接続される。ドライブ装置は、着脱可能な記憶媒体の読み書き装置であり、例えば、フラッシュメモリカードの入出力装置、ＵＳＢメモリを接続するＵＳＢのアダプタ等である。また、着脱可能な記憶媒体は、例えば、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）等のディスク媒体であってもよい。ドライブ装置は、着脱可能な記憶媒体からプログラムを読み出し、記憶装置１０４に格納する。
【００５６】
記憶装置１０４は、外部記憶装置ということもできる。記憶装置１０４としては、ＳＳＤ（Solid State Drive）やＨＤＤ等であってもよい。記憶装置１０４は、ドライブ装置
との間で、データを授受する。例えば、記憶装置１０４は、ドライブ装置からインストールされる情報処理プログラム等を記憶する。また、記憶装置１０４は、プログラムを読み出し、メモリ１０２に引き渡す。本実施形態では、匿名処理装置１の記憶装置１０４が前述の匿名結果ＤＢ３１を格納している。また、近似関数算出装置２の記憶装置１０４が、頻出パターンＤＢ３３、近似関数ＤＢ３４を格納している。
【００５７】
次に本実施形態における匿名化システム１０の近似関数算出装置２がプログラムに従って実行する近似関数算出方法について説明する。図１１は、近似関数算出方法の説明図である。近似関数算出装置２は、先ず他のコンピュータ或いは記憶装置から最も抽象的な値一般化階層と処理回数ｎを取得する（ステップＳ１０）。なお、処理回数ｎは、サンプルの取得数、即ちサンプルを取得する処理の繰り返し数を示す所定値である。
【００５８】
次に匿名化処理ＤＢから本実施形態の近似関数算出装置２は、対象データを取得し(ス
テップＳ２０)、当該対象データの区分数をカウントして（ステップＳ３０)、匿名化処理ＤＢに記憶させる(ステップＳ４０)。そして、近似関数算出装置２は、処理回数ｎが１に達したか否かを判定し(ステップＳ５０)、処理回数ｎが１に達していなければ(ステップ
Ｓ５０，Ｎｏ)、処理回数ｎをデクリメントして(ステップＳ６０)、ステップＳ１０に戻
り、ステップＳ１０〜Ｓ５０の処理を繰り返す。このステップＳ１０〜Ｓ５０の処理を所定回数う繰り返し、ステップＳ５０で処理回数ｎが１と判定された場合(ステップＳ５０
、Ｙｅｓ)、処理回数ｎを初期値に戻し(ステップＳ７０)、ステップＳ９０に移行する。
なお、ステップＳ９０〜Ｓ１５０の処理は、値一般化階層の出現数の調査を行うものである。
【００５９】
近似関数算出装置２は、まだ出現数を求めていない値一般化階層のうち、最も抽象的な値一般化階層を取得し (ステップＳ９０)、個人情報（対象情報）を取得する(ステップＳ１００)。個人情報の各属性値をステップＳ９０で取得した値一般化階層に合わせて一般
化し、各属性値の組み合わせについて出現数をカウントし(ステップＳ１１０)、このうち最小の出現数（ｋ値）を求めて(ステップＳ１２０)、匿名化処置ＤＢに格納する(ステッ
プＳ１３０)。 そして、近似関数算出装置２は、処理回数ｎが１に達したか否かを判定し(ステップＳ１４０)、処理回数ｎが１に達していなければ(ステップＳ１４０，Ｎｏ)、処理回数ｎをデクリメントして(ステップＳ１５０)、ステップＳ９０に戻り、ステップＳ９０〜Ｓ１５０の処理を繰り返す。このステップＳ９０〜Ｓ１５０の処理を所定回数繰り返し、ステップＳ１４０で処理回数ｎが１と判定された場合(ステップＳ１４０、Ｙｅｓ)、図１１の処理を終了する。
【００６０】
次に、近似関数算出装置２は、図１２に示すように、近似関数を取得する。近似関数算出装置２は、値一般化階層の区分数とｋ値のリストを取得し(ステップＳ２１０)、ｋ値を配列に格納して平均値を求め(ステップＳ２２０)、式１によりβを求め(ステップＳ２３
０)、式２によりαを求める(ステップＳ２４０)。
【数１】
0006627328.tif 000002
但し、ｙ：最少出現数（ｋ値）、ｘ：区分数
【数２】
0006627328.tif 000003
そして、式１と式２から、近似関数として式３（累乗近似式）を求め、匿名化処理ＤＢに格納する(ステップＳ２５０)。
αｘβ  ・・・式３
図１８は、横軸に区分数、縦軸に最少出現数をとり、近似関数の例を示したグラフである。
【００６１】
また、近似関数算出装置２は、ターゲットとするｋ値、即ち、匿名化に必要な最少出現数を取得し(ステップＳ２６０)、式３を式４のように変形してターゲットのｋ値を満たすｘ値（区分数）を求め(ステップＳ２７０)、求めたｘ値を予測ＧＯＤ値として匿名化処理ＤＢに記憶する(ステップＳ２８０)。
【数３】
0006627328.tif 000004
次に、図１３、図１４を用いて、予測ＧＯＤ値に基づく匿名化処理について説明する。匿名処理装置１は、図１３の処理を開始すると、先ず、処理対象とする個人データを個人データ蓄積ＤＢから取得する。また、匿名処理装置１は、予測ＧＯＤの値と値一般化階層（書き換えパターン）とを匿名化処理ＤＢから取得し（ステップＳ３４０）、取得した値一般化階層に含まれる属性の組み合わせのうち、予測ＧＯＤの値以下で最も大きい区分数を持つ組み合わせを選択する(ステップＳ３５０)。
【００６２】
図１５は、値一般化階層の一例を示す図である。図１５では、属性Ａ，Ｂ，Ｃについて、各階層の属性を組み合わせた場合の区分数を昇順に並べて示している。なお、図１５では、説明の便宜上、区分数を昇順に並べて示したが、必ずしも物理的に順番に並べる必要はなく、区分数に応じて属性の組み合わせを選択できれば良い。
【００６３】
ここで匿名処理装置１は、ステップＳ３５０で選択した属性の組み合わせが複数か否か、即ち予測ＧＯＤの値以下で最も大きい区分数を持つ組み合わせが複数存在するか否かを判定し(ステップＳ３６０)、複数存在する場合には(ステップＳ３６０，Ｙｅｓ)、優先度が設定されているか否かを判定する（ステップＳ３７０）。匿名処理装置１は、予め優先度が設定されている場合(ステップＳ３７０，Ｙｅｓ)、この優先度を記憶装置から読み出し、優先度の高い属性の組み合わせを選択する(ステップＳ３８０)。優先度は、例えば属性毎に設定しておき、各組み合わせで夫々属性の優先度を合計し、合計した優先度の高い組み合わせを選択する、或は最も優先度の高い属性を含む組み合わせを選択する。
【００６４】
なお、優先度は、任意に設定した数値であっても良いし、インターネット等のネットワークの検索エンジンにおいて、各属性又は属性値を検索した際のヒット数や、各属性値の検索数、各属性値をＳＥＭの広告キーワードとした場合の価格を取得して優先度として用いても良い。例えば、投薬量や治療期間等のように属性を示す語について検索エンジンから、ヒット数や、検索回数、ＳＥＭ価格を取得し、ヒット数や検索回数が高いもの、ＳＥＭ価格の高いものを優先するよう優先順位を決定して属性の組み合わせを選択する。
【００６５】
一方、このような優先度が設定されていない場合には(ステップＳ３７０，Ｎｏ)、各属性の内容に応じて優先順位を決定して属性の組み合わせを選択する(ステップＳ３９０)。例えば、組み合わせた属性の数が多いものを優先する。即ち、区分数が同じであれば属性を二つ組み合わせたものより、属性を三つ組み合わせたものを優先する。また、属性値の種類が多いものや、属性値の偏りが少ないものを優先しても良い。
【００６６】
なお、ステップＳ３８０，Ｓ３９０で属性の組み合わせの優先度を決める処理は、ステップＳ３５０で選択した組み合わせが複数の場合だけでなく、値一般化階層に基づいて作成した属性の組み合わせの全てについて、同一の区分数が複数存在する場合には、ステップＳ３８０，Ｓ３９０で優先度を決めてもよい。即ち、属性の組み合わせについて、区分数に従って昇順又は降順にソートして順位を付ける場合に、区分数が同一の組み合わせについては、ステップＳ３８０，Ｓ３９０で優先度に従って順位を決定しても良い。
【００６７】
このステップＳ３８０，Ｓ３９０で属性の組み合わせを選択した場合、或はステップＳ３５０で選択した属性の組み合わせが複数存在しないと判定した場合(ステップＳ３６０
，Ｎｏ)、選択した属性の組み合わせで個人情報Ａｎを匿名化し、最少出現数（ｋ値）を
求める(ステップＳ４００)。
【００６８】
そして、匿名処理装置１は、図１４のステップＳ４１０において、予測ＧＯＤに基づいて選択した属性の組み合わせで匿名化した場合の最少出現数がターゲット（目標値）以上か否かを判定する(ステップＳ４１０)、即ちｋ値をターゲットとして設定した場合には、ｋ匿名性を満たしているか否かを判定する。
【００６９】
匿名処理装置１は、この最少出現数がターゲット以上であれば(ステップＳ４１０、Ｙ
ｅｓ)、ステップＳ４９０へ移行し、ターゲット以上でなければ(ステップＳ４１０、Ｎｏ)、予測ＧＯＤに基づいて選択した属性の組み合わせ、即ちステップＳ３８０，Ｓ３９０
又はステップＳ３５０で選択した属性の組み合わせの順位を変数Ｊに設定し、変数ｍを初期値（ｍ＝１）に設定し(ステップＳ４２０)、順位がＪ＋ｍの属性の組み合わせで個人情報Ａｎを匿名化する(ステップＳ４３０)。従って、予測ＧＯＤに基づいて選択した属性の組み合わせよりも一つ順位が大きい属性の組み合わせ、即ち順位が一つ分詳細な属性の組み合わせで匿名化する。
【００７０】
また、匿名処理装置１は、ステップＳ４３０で匿名化した場合の最少出現数がターゲット以上か否かを判定し(ステップＳ４４０)、この最少出現数がターゲット以上でなければ(ステップＳ４４０，Ｎｏ)、次に順位がＪ−ｍの属性の組み合わせで個人情報Ａｎを匿名化する(ステップＳ４５０)。従って、予測ＧＯＤに基づいて選択した属性の組み合わせよりも一つ順位が小さい属性の組み合わせ、即ち順位が一つ分抽象的な属性の組み合わせで匿名化する。
【００７１】
匿名処理装置１は、ステップＳ４５０で匿名化した場合の最少出現数がターゲット以上か否かを判定し(ステップＳ４６０)、この最少出現数がターゲット以上でなければ(ステ
ップＳ４６０，Ｎｏ)、変数ｍをインクリメントして(ステップＳ４７０)、ステップ４３
０に戻り、順位がＪ＋ｍの属性の組み合わせで個人情報Ａｎを匿名化する。このため、ステップＳ４３０の処理が２回目であれば、予測ＧＯＤに基づいて選択した属性の組み合わせより二つ順位が大きい属性の組み合わせで匿名化し、更に、この最少出現数がターゲット以上でなければ(ステップＳ４４０，Ｎｏ) 、予測ＧＯＤに基づいて選択した属性の組
み合わせより二つ順位が小さい属性の組み合わせで匿名化する(ステップＳ４５０)。そして、ステップＳ４３０の処理が３回目であれば、予測ＧＯＤに基づいて選択した属性の組み合わせより三つ順位が大きい属性の組み合わせで匿名化し、更に、この最少出現数がターゲット以上でなければ(ステップＳ４４０，Ｎｏ) 、予測ＧＯＤに基づいて選択した属
性の組み合わせより三つ順位が小さい属性の組み合わせで匿名化する(ステップＳ４５０)。
【００７２】
このように匿名性を満たさない場合には、予測ＧＯＤに基づいて選択した属性の組み合わせよりも詳細な組み合わせと、抽象的な組み合わせで交互に匿名化してＧＯＤを探索する。
【００７３】
そして、匿名処理装置１は、ステップＳ４３０で匿名化した匿名情報の最少出現数がターゲット以上と判定した場合(ステップＳ４４０，Ｙｅｓ)、或はステップＳ４５０で匿名化した匿名情報の最少出現数がターゲット以上と判定した場合(ステップＳ４６０，Ｙｅ
ｓ)、この匿名情報の区分数で、予測ＧＯＤ値を更新し(ステップＳ４８０)、匿名化処理
の結果を出力する(ステップＳ４９０)。本例では、予測ＧＯＤ値、匿名化情報、及び当該匿名化情報の最少出現数（ｋ値）を匿名化処理ＤＢに記憶させる。
【００７４】
このように図１３，図１４の匿名化処理によれば、予測ＧＯＤ値からＧＯＤ値の探索を開始するので、匿名化の処置負荷を確実に低減できる。
【００７５】
なお、類似した属性情報を有する個人情報を匿名化する場合、予測ＧＯＤ値も類似する傾向にあるため、大量の個人情報を連続して匿名化処理する場合、図１３，図１４のように予測ＧＯＤ値を求めた後は、この予測ＧＯＤ値を用いて匿名化処理を行っても良い。図１６は、この連続処理の例を示す図である。図１６では、ｎ件の個人情報を１〜ｎまで順に処理する例を示し、処理対象の個人情報をＡｎと示している。
【００７６】
匿名処理装置１は、図１６の処理を開始すると、先ず処理数ｎを初期値に設定し(ステ
ップＳ５１０)、処理対象とする個人データＡｎを個人データ蓄積ＤＢから取得する(ステップＳ５２０)。なお、処理数ｎの初期値は、通常１と設定して、ステップＳ５２０で個
人データＡ１を取得するが、図１３，図１４の処理に続けて図１６の処理を行う場合、図１３，図１４で個人データＡ１を処理するので、ステップＳ５１０で設定する初期値を２とし、ステップＳ５２０でＡ２以降の個人データを取得する。ここで、匿名処理装置１は、個人データＡｎが取得できたか否か、即ち未処理の個人データＡｎが存在するか否かを判定し(ステップＳ５３０)、未処理の個人データＡｎが存在した場合(ステップＳ５３０
，Ｙｅｓ)、予測ＧＯＤの値と値一般化階層（書き換えパターン）とを匿名化処理ＤＢか
ら取得する（ステップＳ５４０）。そして、匿名処理装置１は、取得した値一般化階層に含まれる属性の組み合わせのうち、予測ＧＯＤの値以下で最も大きい区分数を持つ組み合わせを選択し、この属性の組み合わせで個人情報Ａｎを匿名化し、最少出現数（ｋ値）を求める(ステップＳ５５０)。
【００７７】
そして、匿名処理装置１は、ステップＳ５５０で求めた最少出現数がターゲット（目標値）以上か否かを判定する(ステップＳ５６０)、即ちｋ値をターゲットとして設定した場合には、ｋ匿名性を満たしているか否かを判定する。
【００７８】
匿名処理装置１は、この最少出現数がターゲット以上であれば(ステップＳ５６０、Ｙ
ｅｓ)、匿名性を満たしているので、匿名化処理の結果を匿名化処理ＤＢに記録し(ステップＳ６６０)、処理数ｎをインクリメントして(ステップＳ６７０)、ステップＳ５２０に
戻り、次の処理へ移行する。
【００７９】
一方、ステップＳ５５０で求めた最少出現数がターゲット以上でなければ(ステップＳ
５６０、Ｎｏ)、予測ＧＯＤに基づいて選択した属性の組み合わせ、即ちステップＳ５５
０で選択した属性の組み合わせの順位を変数Ｊに設定し、変数ｍを初期値（ｍ＝１）に設定し(ステップＳ５９０)、順位がＪ＋ｍの属性の組み合わせで個人情報Ａｎを匿名化する(ステップＳ６００)。従って、予測ＧＯＤに基づいて選択した属性の組み合わせよりも一つ順位が大きい属性の組み合わせ、即ち順位が一つ分詳細な属性の組み合わせで匿名化する。
【００８０】
また、匿名処理装置１は、ステップＳ６００で匿名化した場合の最少出現数がターゲット以上か否かを判定し(ステップＳ６１０)、この最少出現数がターゲット以上でなければ(ステップＳ６１０，Ｎｏ)、次に順位がＪ−ｍの属性の組み合わせで個人情報Ａｎを匿名化する(ステップＳ６２０)。従って、予測ＧＯＤに基づいて選択した属性の組み合わせよりも一つ順位が小さい属性の組み合わせ、即ち順位が一つ分抽象的な属性の組み合わせで匿名化する。
【００８１】
匿名処理装置１は、ステップＳ６２０で匿名化した場合の最少出現数がターゲット以上か否かを判定し(ステップＳ６３０)、この最少出現数がターゲット以上でなければ(ステ
ップＳ６３０，Ｎｏ)、変数ｍをインクリメントして(ステップＳ６４０)、ステップ６０
０に戻り、順位がＪ＋ｍの属性の組み合わせで個人情報Ａｎを匿名化する。このため、ステップＳ６００の処理が２回目であれば、予測ＧＯＤに基づいて選択した属性の組み合わせより二つ順位が大きい属性の組み合わせで匿名化し、更に、この最少出現数がターゲット以上でなければ(ステップＳ６１０，Ｎｏ) 、予測ＧＯＤに基づいて選択した属性の組
み合わせより二つ順位が小さい属性の組み合わせで匿名化する(ステップＳ６２０)。
【００８２】
このように匿名性を満たさない場合には、予測ＧＯＤに基づいて選択した属性の組み合わせよりも詳細な組み合わせと、抽象的な組み合わせで交互に匿名化してＧＯＤを探索す
る。
【００８３】
そして、匿名処理装置１は、ステップＳ６００で匿名化した匿名情報の最少出現数がターゲット以上と判定した場合(ステップＳ６１０，Ｙｅｓ)、或はステップＳ６２０で匿名化した匿名情報の最少出現数がターゲット以上と判定した場合(ステップＳ６３０，Ｙｅ
ｓ)、この匿名情報の区分数で、予測ＧＯＤ値を更新し(ステップＳ６５０)、匿名化処理
の結果を出力する(ステップＳ６６０)。本例では、予測ＧＯＤ値、匿名化情報、及び当該匿名化情報の最少出現数（ｋ値）を匿名化処理ＤＢに記憶させる。
【００８４】
当該匿名情報に対するステップＳ６６０が完了した場合、処理数ｎをインクリメントして(ステップＳ６７０)、ステップＳ５２０へ戻り、次の個人データＡｎの処理に移行する。そして、ステップＳ５２０で、次の個人情報Ａｎが取得できなくなった場合、即ち未処理の個人情報が存在しなくなった場合(ステップＳ５３０，Ｎｏ)、図１６の処理を終了する。図１６の匿名化処理によれば、匿名化が成功したＧＯＤ値を次の匿名化処理の予測ＧＯＤ値として用いて連続処理することで、更に効率よく大量の個人情報を処理することができる。
【００８５】
以上のように、本実施形態によれば、近似関数に基づいて予測ＧＯＤ値を求め、この予測ＧＯＤ値からＧＯＤ値の探索を開始するので、ＧＯＤ値を求める処理が確実に低減できる。
【００８６】
また、予測ＧＯＤ値を用いて類似する個人情報を連続して処理することで、大量の匿名情報を効率良く作成することができる。
【００８７】
<変形例>
図１７は、匿名化処理の変形例を示す図である。図１４，図１６の処理では、ＧＯＤの探索を区分数の順で交互に行ったが、他の順序で探索を行っても良い。例えば、図１４におけるＧＯＤの探索の処理（ステップＳ４２０〜Ｓ４９０）や図１６におけるＧＯＤの探索の処理（ステップＳ５９０〜Ｓ６６０）を図１７の処理に変えて行っても良い。
【００８８】
この場合、匿名処理装置１は、図１４のステップＳ４１０で最少出現数がターゲット以上でないと判定した場合(ステップＳ４１０、Ｎｏ)、又は図１６のステップＳ５６０で最少出現数がターゲット以上でないと判定した場合に(ステップＳ５６０、Ｎｏ)、探索パターンの指示を取得する(ステップＳ６０２)。ここで、探索パターンとは、予測ＧＯＤに基づく属性の組み合わせで匿名化した場合の最少出現数がターゲット以上でなかった場合に、次に探索する属性の組み合わせの順序を示すものである。本例では、前述の図１４、図１６と同じく、交互に探索するものをパターン１、区分数ｍが大きくなる順番に探索するものをパターン２、区分数ｍが小さくなる順番に探索するものをパターン３としている。この探索パターンは、オペレータの入力を受ける構成や予め設定された値を読み出す構成であっても良い。
【００８９】
次に匿名処理装置１は、予測ＧＯＤに基づいて選択した属性の組み合わせ、即ち図１３のステップＳ３５０又は図１６のステップＳ５５０で選択した属性の組み合わせの順位を変数Ｊに設定し、変数ｒ及び変数ｍを初期値（例えばｒ＝１，ｍ＝１）に設定し(ステッ
プＳ６０４)、探索パターンが１か否かを判定する(ステップＳ６０６)。
【００９０】
探索バターンが１であれば(ステップＳ６０６，Ｙｅｓ)、匿名処理装置１は、ステップＳ６０８へ移行し、順位がＪ＋ｍの属性の組み合わせで個人情報Ａｎを匿名化する。従って、予測ＧＯＤに基づいて選択した属性の組み合わせよりも順位がｍだけ大きい属性の組み合わせ、即ちｍが１であれば、順位が１つ分詳細な属性の組み合わせで匿名化する。
【００９１】
次に、匿名処理装置１は、ステップＳ６０８で匿名化した場合の最少出現数がターゲット以上か否かを判定し(ステップＳ６１０)、この最少出現数がターゲット以上でなければ(ステップＳ６１０，Ｎｏ)、次に順位がＪ−ｍの属性の組み合わせで個人情報Ａｎを匿名化する(ステップＳ６２０)。従って、予測ＧＯＤに基づいて選択した属性の組み合わせよりも一つ順位がｍだけ小さい属性の組み合わせ、即ちｍが１であれば、順位が一つ分抽象的な属性の組み合わせで匿名化する。
【００９２】
匿名処理装置１は、ステップＳ６２０で匿名化した場合の最少出現数がターゲット以上か否かを判定し(ステップＳ６３０)、この最少出現数がターゲット以上でなければ(ステ
ップＳ６３０，Ｎｏ)、変数ｍをインクリメントして(ステップＳ６４０)、ステップ６０
６に戻り、ステップＳ６０８で匿名化した匿名情報の最少出現数がターゲット以上と判定した場合(ステップＳ６１０，Ｙｅｓ)、或はステップＳ６２０で匿名化した匿名情報の最少出現数がターゲット以上と判定した場合(ステップＳ６３０，Ｙｅｓ)、匿名化処理の結果を出力する(ステップＳ６６０)。本例では、予測ＧＯＤ値、匿名化情報、及び当該匿名化情報の最少出現数（ｋ値）を匿名化処理ＤＢに記憶させる。
【００９３】
また、ステップＳ６０６で、探索パターンが１でないと判定した場合(ステップＳ６０
６，Ｎｏ)、匿名処理装置１は、探索パターンが２か否かを判定し(ステップＳ７１０)、
探索バターンが２であれば(ステップＳ７１０，Ｙｅｓ)、ステップＳ７１５へ移行し、順位がＪ＋ｍの属性の組み合わせで個人情報Ａｎを匿名化する(ステップＳ７１５)。なお、パターン２で探索を行う場合、ステップＳ７１５で匿名化を行う際のＪの値は、パターン１と異ならせても良く、例えば所定数Ｑを減じて、（Ｊ−Ｑ）＋ｍのように、区分数の少ない属性の組み合わせから探索を開始するようにオフセットしても良い。
【００９４】
次に、匿名処理装置１は、匿名処理装置１は、ステップＳ７１５で匿名化した場合の最少出現数がターゲット以上か否かを判定し(ステップＳ７２０)、この最少出現数がターゲット以上でなければ(ステップＳ７２０，Ｎｏ)、変数ｒが所定数Ｒに達したか否かを判定し(ステップＳ７５０)、変数ｒが所定数Ｒに達していなければ (ステップＳ７５０，Ｎｏ)、変数ｍをインクリメントして(ステップＳ６４０)、ステップ６０６に戻る。
【００９５】
一方、ステップＳ７２０において、匿名処理装置１は、ステップＳ７１５で匿名化した場合の最少出現数がターゲット以上と判定した場合(ステップＳ７２０，Ｙｅｓ)、匿名化処理の結果を出力し(ステップＳ７３０)、本例では、予測ＧＯＤ値、匿名化情報、及び当該匿名化情報の最少出現数（ｋ値）を匿名化処理ＤＢに記憶させ、変数（匿名化の成功回数）ｒをインクリメントして(ステップＳ７４０)、ステップＳ７５０へ移行する。即ち、成功回数ｒが所定値Ｒに達するまで、変数ｍをインクリメントし、区分数を増やした属性の組み合わせでパターン２の探索を行う(ステップＳ７１０〜Ｓ７５０)。
【００９６】
また、ステップＳ７１０で、探索パターンが２でないと判定した場合(ステップＳ７１
０，Ｎｏ)、匿名処理装置１は、ステップＳ７５５へ移行して、順位がＪ−ｍの属性の組
み合わせで個人情報Ａｎを匿名化する。なお、パターン３で探索を行う場合、ステップＳ７５５で匿名化を行う際のＪの値は、パターン１と異ならせても良く、例えば所定数Ｐを加えて、（Ｊ＋Ｐ）＋ｍのように、区分数の多い属性の組み合わせから探索を開始するようにオフセットしても良い。
【００９７】
次に、匿名処理装置１は、ステップＳ７５５で匿名化した場合の最少出現数がターゲット以上か否かを判定し(ステップＳ７６０)、この最少出現数がターゲット以上でなければ(ステップＳ７６０，Ｎｏ)、変数ｒが所定数Ｒに達したか否かを判定し(ステップＳ７５
０)、変数ｒが所定数Ｒに達していなければ (ステップＳ７５０，Ｎｏ)、変数ｍをインク
リメントして(ステップＳ６４０)、ステップ６０６に戻る。
【００９８】
一方、ステップＳ７６０において、匿名処理装置１は、ステップＳ７５５で匿名化した場合の最少出現数がターゲット以上と判定した場合(ステップＳ７６０，Ｙｅｓ)、匿名化処理の結果を出力し(ステップＳ７７０)、本例では、予測ＧＯＤ値、匿名化情報、及び当該匿名化情報の最少出現数（ｋ値）を匿名化処理ＤＢに記憶させ、変数（匿名化の成功回数）ｒをインクリメントして(ステップＳ７８０)、ステップＳ７５０へ移行する。即ち、成功回数ｒが所定値Ｒに達するまで、変数ｍをインクリメントし、区分数を減じた属性の組み合わせでパターン３の探索を行う(ステップＳ７５５〜Ｓ７８０)。
【００９９】
そして、ステップＳ６６０が完了した場合、又はステップＳ７５０で成功回数ｒが所定数に達した場合(ステップＳ７５０，Ｙｅｓ)、匿名処理装置１は、図１４の探索処理であれば終了し、図１６の探索処理であればステップＳ６７０へ移行する。なお、ステップＳ７５０では、成功回数ｒの判定だけでなく、成功回数ｒが１以上の場合、失敗回数が所定値に達し場合にもパターン２，３の探索が終了したものとして判定し(ステップＳ７５０
，Ｙｅｓ)、図１４の探索処理であれば終了し、図１６の探索処理であればステップＳ６
７０へ移行しても良い。
【０１００】
このように、本変形例によれば、所望の探索パターンでＧＯＤの探索を行うことができる。このため、匿名化の目的等に応じて適切な匿名化処理を行うことが可能になる。
【０１０１】
〈その他〉
本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【０１０２】
１  匿名処理装置
２  近似関数算出装置
１０  匿名化システム
１１  データ受付部
１２  区分数取得部
１３  係数取得部
１５  匿名化部
１６  検定部
１８  データ出力部
１９  予測部
２１  匿名情報取得部
２２  出現数取得部
２３  係数算出部
【図１】
0006627328.tif 000005
【図２】
0006627328.tif 000006
【図３】
0006627328.tif 000007
【図４】
0006627328.tif 000008
【図５】
0006627328.tif 000009
【図６】
0006627328.tif 000010
【図７】
0006627328.tif 000011
【図８】
0006627328.tif 000012
【図９】
0006627328.tif 000013
【図１０】
0006627328.tif 000014
【図１１】
0006627328.tif 000015
【図１２】
0006627328.tif 000016
【図１３】
0006627328.tif 000017
【図１４】
0006627328.tif 000018
【図１５】
0006627328.tif 000019
【図１６】
0006627328.tif 000020
【図１７】
0006627328.tif 000021
【図１８】
0006627328.tif 000022