(57)【特許請求の範囲】
【請求項１】
二以上のデータを含むデータ集合に対し、前記データのグループを処理単位として匿名化処理を実行する匿名化手段と、
前記匿名化処理が実行されたデータ集合の前記グループ毎に適応的匿名レベルを設定する匿名レベル設定手段と、
前記グループが前記設定された適応的匿名レベルを満たすか否かを判定する匿名性判定手段と、
を含み、
前記匿名化手段は、前記匿名性判定手段の判定結果を基に、匿名化処理が実行されているデータ集合に対し、さらに匿名化処理を実行する
匿名化装置。
【請求項２】
前記適応的匿名レベルは、前記グループ内で最も高い匿名化の要求レベルを有するデータの当該要求レベルである、
請求項１に記載の匿名化装置。
【請求項３】
前記匿名化手段は、前記匿名化処理として、前記データ集合をグループに分割し、
前記匿名性判定手段が、少なくとも一つのグループが適応的匿名レベルを満たさないと判定するまで、前記匿名化処理を再帰的に実行する、
請求項１又は２に記載の匿名化装置。
【請求項４】
前記匿名性判定手段の判定結果に基づいて、前記グループを修正するグループ修正手段
をさらに含み、
前記匿名化手段は、
前記グループ修正手段が、いずれかのグループが前記適応的匿名レベルを満たすようにグループを修正できないと判定するまで、前記匿名化処理を再帰的に実行する
請求項３に記載の匿名化装置。
【請求項５】
前記匿名化手段は、前記データ集合又は前記データ集合のグループを二つのグループに分割し、
前記グループ修正手段は、
前記二つに分割されたグループのいずれもが前記適応的匿名レベルを満たさない場合又は前記二つに分割されたグループのうち一のグループが前記適応的匿名レベルを満たさない場合であって、他のグループが含むデータの当該適応的匿名レベルを超える分のデータを移動しても、前記一のグループが当該適応的匿名レベルを満たさない場合、前記分割をキャンセルし、
前記二つに分割されたグループのうち一のグループが前記適応的匿名レベルを満たさない場合であって、他のグループが含むデータのうち当該適応的匿名レベルを超える分のデータを移動すれば、前記一のグループが当該適応的匿名レベルを満たすこととなる場合は、前記他のグループから前記一のグループにデータを移動して前記二つに分割されたグループを修正する
請求項４に記載の匿名化装置。
【請求項６】
前記グループ修正手段は、
前記二つに分割されたグループのうち一のグループが前記適応的匿名レベルを満たさない場合であって、他のグループが含むデータのうち当該適応的匿名レベルを超える分のデータを移動すれば、前記一のグループが当該適応的匿名レベルを満たすこととなる場合であっても、データ空間上において、前記一のグループの所定の情報の重心の位置と、前記他のグループに属するデータのうち前記一のグループの重心と最も近い所定の情報の位置を含むデータの所定の情報の位置との距離が、所定の閾値以上である場合は、前記分割をキャンセルする、
請求項５に記載の匿名化装置。
【請求項７】
前記匿名化手段は、単位グループのデータの数が予め定められた最小値のデータの数となるようにデータの集合を二以上に分割し、さらに、前記匿名性判定手段が少なくとも一つのグループが適応的匿名レベルを満たさない、と判定すると、前記匿名化処理として、二つのグループを統合し、
前記匿名性判定手段が、全てのグループが適応的匿名レベルを満たす、と判定するまで、前記匿名化処理を再帰的に実行する、
請求項１又は２に記載の匿名化装置。
【請求項８】
前記匿名化手段は、前記適応的匿名レベルを満たさないグループを処理対象として選択し、データ空間上において、該選択されたグループのデータの重心と、データの重心の位置の距離が最も近い他のグループを統合対象として選択し、選択された二つのグループを統合する、
請求項７に記載の匿名化装置。
【請求項９】
前記匿名化手段は、前記適応的匿名レベルを満たさないグループであって、前記適応的匿名レベルと、グループ内のデータの数との差が最も大きいグループを前記処理対象として選択する、
請求項８に記載の匿名化装置。
【請求項１０】
前記匿名化処理の再帰的な実行が終了すると、データ集合を表示装置に出力する、
請求項３、４又は７のいずれか一項に記載の匿名化装置。
【請求項１１】
ＣＰＵとメモリとを含む匿名化装置が、
二以上のデータを含むデータ集合に対し、前記データのグループを処理単位として匿名化処理を実行し、
前記グループ毎に適応的匿名レベルを設定し、
前記グループが前記設定された適応的匿名レベルを満たすか否かを判定し、
前記判定結果を基に、匿名化処理が実行されているデータ集合に対し、さらに匿名化処理を実行する
匿名化方法。
【請求項１２】
二以上のデータを含むデータ集合に対し、前記データのグループを処理単位として匿名化処理を実行し、
前記グループ毎に適応的匿名レベルを設定し、
前記グループが前記設定された適応的匿名レベルを満たすか否かを判定し、
前記判定結果を基に、匿名化処理が実行されているデータ集合に対し、さらに匿名化処理を実行する
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、匿名化技術に関する。
【背景技術】
【０００２】
年齢、性別又は住所等の個人情報を含むデータに関する統計データは、公開され、又、利用されている。データの公開の際、公開されたデータを基に個人が特定されないように、データの抽象化を用いて匿名化する技術が、知られている。匿名化とは、個人情報の集合において、各レコード（個人情報などの集合）が、どの個人のデータか判らないようにデータを加工する技術である。匿名化のよく知られた指標として、ｋ匿名性がある。ｋ匿名性とは、データがｋ個未満のデータに絞りこまれないことを保証するものである。個人情報に含まれる属性の中で、その属性の組み合わせに基づき個人を特定できる属性（及び属性の集合である属性群）は、準識別子と言われる。基本的に、ｋ匿名性を確保する匿名化とは、この準識別子に含まれる属性値を汎化し、準識別子を共有するレコードをｋ個以上とし、ｋ匿名性を保証する。
例えば、特許文献１及び特許文献２には、データを加工して、公開する情報におけるプライバシーを保護するための、公開情報のプライバシー保護装置が開示されている。
特許文献１のプライバシー保護装置において、設定手段は、公開情報を利用する利用者の要求条件を考慮して、データの各属性に優先順位（重み付け）を設定する。
算出手段は、設定された優先順位（重み付け）に基づいて、各データの評価ポイントを算出する。
加工方法選択手段は、算出した評価ポイントの減少分が最小となるデータの加工方法を選択し、次いで、算出した評価ポイントの増加分が最大となるデータの加工方法を選択する。
データ加工手段は、選択された加工方法を用いてデータを加工する。データ加工手段は、設定手段が設定した優先順位（重み付け）の最も低いものから、ｋ匿名性を満足するまで、データを加工する。
特許文献１のプライバシー保護装置は、上記構成を採用し、すべてのデータを平等に扱うことに基づき、データ利用者が求める情報の欠落という問題を解決する。
また、特許文献３には、データの個々の項目に対して匿名化を行った場合に、項目全体として匿名化が出来たか否かの判定を用いて、情報を匿名化する情報処理装置が開示されている。
また、特許文献４には、セキュアレベルの動的な設定が可能な情報処理装置が開示されている。
【特許文献１】特開２０１１−１２８８６２
【特許文献２】特開２０１１−１１３２８５
【特許文献３】特開２０１０−０８６１７９
【特許文献４】特許第４５０７５６９号
【非特許文献１】″Ｏｎ  Ｖａｒｉａｂｌｅ  Ｃｏｎｓｔｒａｉｎｔｓ  ｉｎ  Ｐｒｉｖａｃｙ  Ｐｒｅｓｅｒｖｉｎｇ  Ｄａｔａ  Ｍｉｎｉｎｇ″，Ｃｈａｒｕ  Ｃ．Ａｇｇａｒｗａｌ，Ｐｈｉｌｉｐ  Ｓ．Ｙｕ．ＩＢＭ  Ｔ．Ｊ．Ｗａｔｓｏｎ  Ｒｅｓｅａｒｃｈ  Ｃｅｎｔｅｒ（Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｆｉｆｔｈ  ＳＩＡＭ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄａｔａ  Ｍｉｎｉｎｇ，Ｎｅｗｐｏｒｔ  Ｂｅａｃｈ，ＣＡ，Ａｐｒｉｌ  ２１−２３，２００５．ＩＳＢＮ  ０−８９８７１−５９３−８に掲載）ｈｔｔｐ：／／ｗｗｗ．ｓｉａｍ．ｏｒｇ／ｐｒｏｃｅｅｄｉｎｇｓ／ｄａｔａｍｉｎｉｎｇ／２００５／ｄｍ０５＿１１ａｇｇａｒｗａｌｃ．ｐｄｆ
【発明の概要】
【０００３】
しかし、特許文献１〜４に記載の技術では、データ集合の中に匿名化の要求レベルが高い人のデータが一つでも含まれると、データ集合全体の情報価値が、落ちる。その理由は、データ集合全体が、要求レベルが最も高い人のデータに合わせて、ｋ匿名性のレベルを満たすように抽象化されるためである。
なお、各データの要求レベルを考慮した技術が、非特許文献１に記載されている。非特許文献１に記載の技術は、データ集合を、要求レベルに基づきグループに分割する。具体的に説明すると、次のようになる。非特許文献１に記載の技術は、まず、データ集合を、識別性のｋ要求レベル（匿名性のｋと同様に、データ集合内で、特定のユーザのデータとして絞られる数）が同一のデータに分割する。そして、非特許文献１に記載の技術は、分割したデータ集合ごとに、意味的な類似度に応じてデータをグループ化する。ここで、それぞれのグループの大きさは、要求レベルを満たす。ただし、要求レベルごとに処理された各グループにおいて、一グループ内のデータが大きく分散したり、一グループが隣接する他のグループに近かったりする場合、非特許文献１に記載の技術は、データを移動する。しかし、非特許文献１に記載の技術は、要求レベルに基づいてデータ集合を分割する。そのため、要求レベルが同一のデータの数が十分にない場合、グループ内のデータは、類似したデータで構成されるとは限らない。非特許文献１に記載の技術のように、統計量を保つことを目的に適用される場合、グループ内のデータが必ずしも類似しないことは、特に問題とはならない。しかし、非特許文献１に記載の技術を、データとして意味のある抽象化が必要な匿名化に適用することは、困難である。
本発明の目的の一つは、すべてデータがそれぞれの匿名化の要求レベルを満足し、かつデータ集合全体が抽象化されることに基づく情報価値の低下を防止できる匿名化装置及び匿名化方法を提供することにある。
［課題を解決するための手段］
上記目的を達成するため、本発明における匿名化装置は、二以上のデータを含むデータ集合に対し、前記データのグループを処理単位として匿名化処理を実行する匿名化手段と、前記匿名化処理が実行されたデータ集合の前記グループ毎に適応的匿名レベルを設定する匿名レベル設定手段と、前記グループが前記設定された適応的匿名レベルを満たすか否かを判定する匿名性判定手段と、を含み、前記匿名化手段は、前記匿名性判定手段の判定結果を基に、匿名化処理が実行されているデータ集合に対し、さらに匿名化処理を実行する。
上記目的を達成するため、本発明における匿名化方法は、二以上のデータを含むデータ集合に対し、前記データのグループを処理単位として匿名化処理を実行し、前記グループ毎に適応的匿名レベルを設定し、前記グループが前記設定された適応的匿名レベルを満たすか否かを判定し、前記判定結果を基に、匿名化処理が実行されているデータ集合に対し、さらに匿名化処理を実行する。
上記目的を達成するため、本発明におけるプログラムは、二以上のデータを含むデータ集合に対し、前記データのグループを処理単位として匿名化処理を実行し、前記グループ毎に適応的匿名レベルを設定し、前記グループが前記設定された適応的匿名レベルを満たすか否かを判定し、前記判定結果を基に、匿名化処理が実行されているデータ集合に対し、さらに匿名化処理を実行する処理をコンピュータに実行させる。
［発明の効果］
本発明の効果の一例は、すべてデータがそれぞれの匿名化の要求レベルを満足し、かつデータ集合全体の抽象化に基づく情報価値の低下を防止することが可能なことである。
【図面の簡単な説明】
【０００４】
【図１】図１は、匿名化処理の対象となるデータ集合の一例の初期状態を表す図である。
【図２】図２は、図１に示す匿名化処理の対象となるデータ集合が分割された状態の一例を表す図である。
【図３】図３は、本発明のおける第１実施形態に係る匿名化装置１０の構成の一例を示すブロック図である。
【図４】図４は、本発明の第１実施形態に係る匿名化装置１０の動作の一例を示すフローチャートである。
【図５】図５は、匿名化処理であるデータの分割に用いる分類木の一例のイメージ図である。
【図６】図６は、各グループに設定された適応的匿名レベルの一例を表示した図である。
【図７】図７は、図６に示すデータ集合が、さらに分割され、グループ毎に適応的匿名レベルが設定されたデータ集合の状態の一例を表す図である。
【図８】図８は、グループが修正されたデータ集合の状態の一例を表す図である。
【図９】図９は、第２実施形態に係る匿名化装置２０の構成の一例を示すブロック図である。
【図１０】図１０は、本発明の第２実施形態に係る匿名化装置２０の動作の一例を示すフローチャートである。
【図１１】図１１は、データ集合が最小値である１のデータを含むグループ毎に分割された状態の一例を示す図である。
【図１２】図１２は、グループが統合され、新たに適応的匿名レベルが設定されたデータ集合の状態の一例を表す図である。
【図１３】図１３は、図１２のデータ集合がさらに統合された状態の一例を示す図である。
【図１４】図１４は、図１３のデータ集合がさらに統合された状態の一例を示す図である。
【図１５】図１５は、図１４のデータ集合がさらに統合された状態の一例を示す図である。
【図１６】図１６は、図１５のデータ集合がさらに統合された状態の一例を示す図である。
【図１７】図１７は、図１６のデータ集合がさらに統合された状態の一例を示す図である。
【図１８】図１８は、第３実施形態に係る匿名化装置３０の構成の一例を示すブロック図である。
【図１９】図１９は、第３実施形態に係る匿名化装置３０の動作の一例のフローチャートである。
【図２０】図２０は、第１実施形態に係る匿名化装置１０のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【０００５】
＜第１実施形態＞
まず、本発明のおける第１実施形態の理解を容易にするため、本実施形態に関係する技術について説明する。
最初に、以下の説明で使用する用語について整理する。
機微情報（センシティブ情報）とは、他人に知られたくない情報である。
準識別子とは、背景知識や情報の組み合わせを基に、ユーザを特定できる、つまり識別子となる情報である。なお、準識別子は、センシティブ情報を含む場合もある。
また、説明の一例として、分析に用いるデータに匿名化処理を施して公開する事業者（以下、「公開事業者」という。）が、病院の医療事業者のカルテデータとして、図１に示すデータを保持している場合を想定する。
図１は、本説明に用いる、匿名化処理の対象となるデータ集合の一例の初期状態を表す図である。図１に示すように、公開事業者は、「ＺＩＰコード」、「年齢」、「国籍」、「病気」及び「ｋｉ」を含むデータを保持している。
本実施形態において、「病気」に関する情報が、センシティブ情報とする。ただし、本実施形態において、センシティブ情報は、データの分析に用いるとする。そのため、本実施形態においてセンシティブ情報（図１では「病気」）は、抽象化したくない情報となる。
そこで、本実施形態は、センシティブ情報（「病気」）以外の準識別子の少なくとも一部を、抽象化する。
「ｋｉ」は、ｋ匿名性に対する要求レベルを意味する。ｋ匿名性とは、同じ準識別子の組み合わせを含むデータの数が、ｋ以上となることを要求する指標である。データは、グループとして扱われる。そのため、グループがｋ匿名性の要求レベルを満たすように、準識別子の情報は、抽象化される。「ｋｉ」における「ｉ」は、データを識別する番号（ナンバー）を意味する。例えば、Ｎｏ．２のデータの「ｋｉ」の「ｉ」は、「２」である。また、Ｎｏ．２のデータの要求レベルは、「ｋ２」と表現され、その値は、「３」である（図１を参照）。
本実施形態に関連する技術は、公開事業者が有するデータ全体に対し、データ集合が保持するデータの中で最も高いｋ匿名性に対する要求レベルを、「最適ｋ匿名性レベル」として設定する。図１に示すデータ集合の場合、最も高い要求レベルである４（ｋ３＝４）が、最適ｋ匿名性レベルとなる。
本実施形態に関連する技術は、図１に示すデータを、例えば、図２に示すように、２つのグループに分割する。
図２は、図１に示す匿名化処理の対象となるデータ集合が分割された状態の一例を表す図である。
図２に示すように、図１に示すデータは、準識別子の一つである年齢に関し、２０代（Ｎｏ．１、３、５、７のデータ）と３０代（Ｎｏ．２、４、６、８、９のデータ）との二つのグループに分割される。この時、「年齢」は、例えば、「２０−２９」及び「３０−３９」に抽象化される。また、「ＺＩＰコード」は、例えば、「１３０＊＊」及び「１４８＊＊」に抽象化される。さらに、国籍は、例えば、「＊」に抽象化される。これらの抽象化に基づき、個人の特定は、防止される。
ここで、２０代のグループのデータ数は、「４」である。また、３０代のグループのデータ数は、「５」である。いずれのグループも、最適ｋ匿名性レベルの「４」を満たす。
本実施形態の関連技術は、これ以上、データを分割しない。その理由は、最適ｋ匿名性レベルが２０代のグループにも３０代のグループにも一律に設定されているため、どちらのグループも、これ以上分割すると、最適ｋ匿名性レベルを満たさなくなるからである。
しかし、３０代のグループに属するデータの要求レベルは、いずれも最適ｋ匿名性レベルである「４」を要求していない。つまり、３０代のグループに属するデータの準識別子の情報は、必要以上に抽象化されている。
すなわち、本実施形態の関連技術は、データ集合の中で最も高い要求レベルに合わせて匿名化処理するため、データ集合全体の情報価値が落ちてしまうという問題がある。
以下で説明する本発明における第１実施形態は、上記の関連技術の問題を解決する。
まず、図３を参照して、本発明における第１実施形態に係る匿名化装置１０の機能構成を説明する。
図３は、第１実施形態に係る匿名化装置１０の構成の一例を示すブロック図である。図３に示すように匿名化装置１０は、匿名化部１１と、匿名レベル設定部１２と、匿名性判定部１３と、グループ修正部１４とを含む。
匿名化部１１は、外部の装置又はシステムから二以上のデータを含む集合（以下「データ集合」という。）を受信する。匿名化部１１は、図示しない記憶装置又は図示しない構成部からデータ集合を受信しても良い。また、後ほど詳細に説明するが、匿名化部１１は、匿名性判定部１３及び／又はグループ修正部１４から、データ集合を受信する。
なお、本実施形態の匿名化装置１０は、各構成間でのデータ集合の送信及び受信の手法に特に制限はない。例えば、匿名化装置１０は、図示しない記憶部にデータ集合を記憶し、各構成が記憶部のデータ集合に含まれるデータを読み出し又はデータを書き込んでも良い。また、匿名化装置１０の各構成は、データ集合を次の構成に直接送信してもよい。さらに、匿名化装置１０の各構成は、次の構成や以降の構成で必要なデータ集合の一部のデータ（例えば、抽象化したデータ、グループ化したデータ又は抽象化やグループ化する前のデータ）を送信しても良い。以下、これらをまとめて、データ集合を出力する若しくはデータ集合を送信する、又は、データ集合を入力する若しくはデータ集合を受信するという。
匿名化部１１は、受信したデータ集合に対し、データをグループに分割し、分割したグループを処理単位として抽象化する匿名化処理を実行する。既にグループ化されているデータ集合を受信した場合、匿名化部１１は、データ集合に含まれるグループをさらに小さなグループに分割しても良い。以下、データ集合のグループをさらに小さなグループに分割することを含め、データ集合を分割するという。
ただし、本実施形態の匿名化部１１の匿名化処理は、分割において、可能な限りデータの抽象化を抑え、かつ、公開されたデータから個人を特定できないようにデータを加工（分割化／抽象化）する。
本実施形態の匿名化処理は、一例として、トップダウンの処理を用いて説明する。本実施形態のトップダウンの匿名化処理は、データの分割処理と、抽象化処理とを含む。つまり、本実施形態において匿名化部１１は、データ集合をグループに分割し、グループに属するデータを必要に応じて抽象化する。なお、匿名化部１１のトップダウンの匿名化処理は、特に制限はない。この匿名化処理は、任意の準識別子に着目し、例えば、分類木を利用した処理や、クラスタリングを利用した処理でも良い。
匿名化部１１は、グループに分割したデータ集合を、匿名レベル設定部１２に出力する。
匿名レベル設定部１２は、匿名化部１１からグループに分割されたデータ集合を受信する。匿名レベル設定部１２は、受信したデータ集合に基づいて、匿名化の要求レベルである「適応的匿名レベル」を、それぞれのグループに設定する。ここで、適応的匿名レベルは、グループ毎に異なっても良いし、一部のグループで同じでも良い。ただし、後ほど説明するように、本実施形態は、再帰的に動作する。つまり、適用的匿名レベルの設定は、複数回実行される場合もある。そのため、本実施形態は、匿名レベル設定部１２が全てのグループに同じ適用的匿名レベルを設定する場合を排除するものではない。
「適応的匿名レベル」とは、グループに属するデータに応じて適応的に設定される匿名性の要求レベルである。匿名レベル設定部１２は、グループ内で最も高い匿名化の要求レベルを有するデータの要求レベル（例えば、前述の最適ｋ匿名性レベルに相当）を、適応的匿名レベルに設定しても良い。
匿名レベル設定部１２は、グループ毎に適応的匿名レベルが設定されたデータの集合を匿名性判定部１３に出力する。
匿名性判定部１３は、匿名レベル設定部１２からグループ毎に適応的匿名レベルが設定されたデータ集合を受信する。匿名性判定部１３は、各グループが適応的匿名レベルを満たすか否かを判定する。各グループが適応的匿名レベルを満たすと判定した場合、匿名性判定部１３は、各グループのデータ集合を匿名化部１１に出力する。
以降、匿名性判定部１３が、少なくとも一つのグループが適応的匿名レベルを満たさない、と判定するまで、匿名化部１１、匿名レベル設定部１２及び匿名性判定部１３は、再帰的に処理を繰り返す。
匿名性判定部１３は、少なくとも一つのグループが適応的匿名レベルを満たさない、と判定した場合、データ集合をグループ修正部１４に出力する。
グループ修正部１４は、匿名性判定部１３の判定結果に基づいて、データ集合のグループを修正する。適応的匿名レベルを満たさないと判定したグループのデータの不足分を、他のグループの過剰分で補える場合、グループ修正部１４は、他のグループの補うのに必要な過剰分のデータを、適応的匿名レベルを満たさないグループに移動させる。
データを移動させてグループを修正した後、グループ修正部１４は、修正後のデータ集合を匿名化部１１に出力する。
以降、グループ修正部１４が、いずれかのグループにおいて適応的匿名レベルを満たすようにグループを修正できないと判定するまで、匿名化部１１、匿名レベル設定部１２、匿名性判定部１３及びグループ修正部１４は、再帰的に、説明した処理を繰り返す。
いずれかのグループにおいて適応的匿名レベルを満たすようにグループを修正できない状態と判定すると、グループ修正部１４は、匿名化部１１が最後に行った分割をキャンセルし、全てのグループが適応的匿名レベルを満たす状態に戻す。戻したデータ集合は、各グループが適応的匿名レベルを満たしている状態で可能な限り分割したデータ集合となる。そのため、このデータ集合は、最終的なデータ集合と言っても良い。
グループ修正部１４は、最終的なデータ集合を、例えば、表示装置に出力する。グループ修正部１４は、最終的なデータ集合を、図示しない記憶装置、外部の装置又はシステムに出力しても良い。
なお、少なくとも１つのグループが適応的匿名レベルを満たすようにグループを修正することができない状態とは、例えば、適応的匿名レベルを満たさないと判定された少なくとも１つグループのデータの不足分が、他のグループの過剰分のデータで補えない状態である。又は、このような状態とは、他のグループに過剰分のデータがない状態である。
次に、図４を参照して、本発明の第１実施形態に係る匿名化装置１０の動作について説明する。
図４は、本発明の第１実施形態に係る匿名化装置１０の動作の一例を示すフローチャートである。
図４に示すように、匿名化部１１は、図示しない外部や内部の他の構成部、又は、匿名性判定部１３やグループ修正部１４から出力されたデータ集合をグループに分割し、分割したグループ単位で必要に応じて抽象化する（ステップＳ１１）。分割するグループの数は、予め匿名化部１１に設定される匿名化処理のアルゴリズムに依存し、本実施形態では、特に限定されない。ただし、以下の本実施形態の説明では、一例として、匿名化部１１は、データ集合又はデータ集合のグループを二つのグループに分割するとして説明する。
次に、匿名レベル設定部１２は、それぞれのグループに適応的匿名レベルを設定する（ステップＳ１２）。本実施形態において、匿名レベル設定部１２は、グループ内で最も高い匿名化の要求レベルを有するデータの要求レベルを、グループの適応的匿名レベルとして設定する。
次に、匿名性判定部１３は、グループに分割されたデータ集合の各グループが、適応的匿名レベルを満たすか否かを判定する（ステップＳ１３）。各グループが適応的匿名レベルを満たすと判定した場合、匿名性判定部１３は、データ集合を匿名化部１１に出力する。
以降、匿名性判定部１３が、少なくとも一つのグループが適応的匿名レベルを満たさない、と判定するまで、ステップＳ１１、ステップＳ１２及びステップＳ１３の処理は、再帰的に繰り返される。
ステップＳ１３において、少なくとも一つのグループが適応的匿名レベルを満たさない、と判定されると、匿名性判定部１３は、データ集合をグループ修正部１４に出力する。
グループ修正部１４は、全てのグループが適応的匿名レベルを満たすようにグループを修正することが可能か否かを判定する（ステップＳ１４）。具体的には、グループ修正部１４は、匿名性判定部１３が適応的匿名レベルを満たさないと判定したグループのデータの不足分を、他のグループの過剰分で補えるか否かを判定する。
補えると判定した場合、グループ修正部１４は、過剰分のデータを他のグループから適応的匿名レベルを満たさないグループに移動させる。この移動を基に、グループ修正部１４は、全てのグループが適応的匿名レベルを満たすようにグループを修正する（ステップＳ１５）。
グループの修正を行った後、グループ修正部１４は、データ集合を匿名化部１１に出力する。以降、グループ修正部１４が、いずれかのグループにおいて適応的匿名レベルを満たすようにグループを修正できないと判定するまで、判定化装置１０は、ステップＳ１１、ステップＳ１２、ステップＳ１３、ステップＳ１４及びステップＳ１５の処理を、再帰的に繰り返す。
ステップＳ１４において、いずれかのグループにおいて適応的匿名レベルを満たすようにグループを修正できない状態と判定すると、グループ修正部１４は、匿名化部１１が最後に行ったデータ集合の分割をキャンセルする。そして、グループ修正部１４は、データ集合を、全てのグループが適応的匿名レベルを満たしている状態に戻す（ステップＳ１６）。グループ修正部１４は、各グループが適応的匿名レベルを満たしている状態のデータ集合（最終的なデータ集合）を、例えば、表示装置に出力する。グループ修正部１４は、最終的なデータ集合を、図示しない記憶装置、外部の装置又はシステムに出力しても良い。
次に、図１、図２及び図５〜図７を参照して、図４の各ステップを、具体的に説明する。本説明の前提として、匿名化装置１０を有する公開事業者が、図１に示すデータ集合を保持しているとする。また、「病気」に関する個人情報が、センシティブ情報とする。
また、以降の説明において、匿名化装置１０は、分類木を用いたトップダウンの処理を用いてデータを分割する。
図５は、本実施形態の説明における、匿名化処理で用いるデータの分割の分類木の一例のイメージ図である。図５に示すように、本実施形態において、匿名化装置１０の匿名化部１１は、準識別子の１例である「年齢」に関する分類木を利用し、トップダウンの手法を用いてデータの分割（及び必要に応じたデータの抽象化）を繰り返す。例えば、年齢が２０―３９のデータ集合は、まず、年齢が２０―２９の２０代のグループと、年齢が３０―３９の３０代のグループとに分割される。次に、例として３０代のグループについて説明すると、３０代のグループに属するデータ集合は、年齢が３０―３４のグループと、年齢が３５―３９のグループとに分割される。以降、データ集合は、２０代のグループも含めてより細かいグループに分割される。
なお、本実施形態の説明として分類木を用いた匿名化手法を用いて説明するが、匿名化部１１が採用する匿名化の手法は、これに限定されない。匿名化部１１は、一般的なクラスタリングの手法等を用いても良い。一般的なクラスタリング手法とは、例えば、準識別子の値の平均値を利用する手法やｋ−ｍｅａｎｓ法である。
図４のステップＳ１１において、匿名化装置１０における匿名化部１１は、分類木を用いたトップダウンの手法を基に、図１に示すデータを、図２に示すように２０代と３０代との２つのグループに分割する（第１のグループ分割）。
図４のステップＳ１２において、匿名レベル設定部１２は、それぞれのグループに適応的匿名レベルを設定する（第１の適応的匿名レベル設定）。
図６は、各グループに設定された適応的匿名レベルの一例を表示した図である。図６において適応的匿名レベルは、ｋ（ｊ）で表される。なお、図６において「ｊ」は、年齢の若い順に付与されている。つまり、２０代のグループの「ｊ」は「１」、３０代のグループの「ｊ」は、「２」である。匿名レベル設定部１２は、ｋ（１）として、２０代のグループで最も要求レベルが高いｋ３の「４」を適応的匿名レベルに設定する。また、匿名レベル設定部１２は、ｋ（２）として、３０代のグループで最も要求レベルが高いｋ２の「３」を適応的匿名レベルに設定する。
図４のステップＳ１３において、匿名性判定部１３は、ｊ＝１のグループに属するデータの数が４であり、ｋ（１）＝４であることを基に、２０代のグループが適応的匿名レベルを満たすと判定する。また、匿名性判定部１３は、ｊ＝２のグループに属するデータの数が５であり、ｋ（２）＝３であることを基に、３０代のグループも適応的匿名レベルを満たすと判定する。全てのグループが適応的匿名レベルを満たすため、匿名化装置１０の処理は、ステップＳ１１に戻る。
図４のステップＳ１１において、匿名化部１１は、分類木を用いたトップダウンの処理を基に再帰的にデータを分割する。つまり、匿名化部１１は、前回分割したデータ集合のいずれかのグループを分割する（第２のデータ分割）。
ここで、匿名化部１１は、データ集合の分割が可能か否かを判断し、分割可能であると判断した場合に分割しても良い。あるいは、匿名化部１１は、分割が可能か否かを判断しないで、分類木を利用してデータ集合をさらに分割しても良い。分割が可能か否かを判断として、匿名化部１１は、グループに属するデータの数が、「２×ａｖｅ  ｋｉ（ｊ）（以下、「×」を省略して「２ａｖｅ・ｋｉ（ｊ）」とする。）」以上であるときに、そのグループを分割可能と判断しても良い。ここで「ａｖｅ  ｋｉ（ｊ）」とは、グループｊに含まれるデータのｋｉ（ｋ匿名性に対する要求レベル）の平均である。以下の本実施形態の説明では、匿名化部１１は、上記の方法を用いて、分割可能か否かを判断するものとする。
図６に示すデータ集合のｊ＝１のグループは、ａｖｅ  ｋｉ（ｊ）＝３であり、２ａｖｅ  ｋｉ（ｊ）＝６である。ｊ＝１のグループのデータ数は、４である。そのため、匿名化部１１は、ｊ＝１のグループ（ここでは、２０代のグループ）が、分割不可能と判断する。
ｊ＝２のグループは、ａｖｅ  ｋｉ（ｊ）＝２であり、２ａｖｅ  ｋｉ（ｊ）＝４である。ｊ＝２のグループのデータ数は、５である。そのため、匿名化部１１は、ｊ＝２のグループ（ここでは、３０代のグループ）が、分割可能と判断する。そして、匿名化部１１は、分類木を用いたトップダウンの処理を基に、ｊ＝２のグループ（３０代のグループ）を二つのグループ（ここでは、年齢３０―３４のグループと年齢３５―３９のグループ）に分割する。
次に、図４のステップＳ１２において、匿名レベル設定部１２は、各グループに適応的匿名レベルを設定する。（第２の適応的匿名レベル設定）
図７は、第２のデータ分割後、第２の適応的匿名レベル設定されたデータ集合の状態の一例を表す図である。図７に示すように、図６におけるｊ＝２のグループは、新たに、ｊ＝２及びｊ＝３のグループに分割される。また、ｊ＝２のグループの適応的匿名レベル（ｋ（２））は「３」が、ｊ＝３のグループの適応的匿名レベル（ｋ（３））は「２」が設定される。
ここで、ｊ＝２のグループは、適応的匿名レベル（ｋ（２））が「３」である。しかし、このグループに属するデータの数は、２である。そのため、図４のステップＳ１３において、匿名性判定部１３は、少なくとも一つのグループが適応的匿名レベルを満たさないと判定する。そのため、匿名化装置１０の処理は、ステップＳ１４に進む。
図４のステップＳ１４において、グループ修正部１４は、グループの修正が可能か否かを判定する。具体的には、グループ修正部１４は、匿名化部１１が適応的匿名レベルを満たさないと判定されたグループ（ｊ＝２）を分割したときの、もう一方のグループ（今の場合、ｊ＝３のグループ）に過剰分のデータがあるか否かを判定する。そして、過剰分のデータある場合、グループ修正部１４は、過剰分のデータを用いて適応的匿名レベルを満たさないと判定されたグループ（ｊ＝２）の不足分を補えるか否かを判定する。
図７を参照すると、もう一方のグループ（ｊ＝３）は、適応的匿名レベル（ｋ（３））が「２」であり、グループに属するデータの数が「３」である。そのため、このグループ（ｊ＝３）には、１つの過剰分のデータが、存在する。そのため、グループ修正部１４は、グループ（ｊ＝２）の不足分を修正可能と判定する。
図４のステップＳ１５において、グループ修正部１４は、ｊ＝３のグループの中から、データ空間上において最もｊ＝２のグループの重心に最も近いデータを、ｊ＝２のグループに移動する。
例えば、グループ修正部１４は、データ空間として、「年齢」を軸とする一次元空間を考える。この「年齢」の空間において、ｊ＝２のグループのデータの重心は、Ｎｏ．４の「３１」と、Ｎｏ．９の「３４」の平均の「３２．５」である。
この重心の値を基に、グループ修正部１４は、ｊ＝３のグループに属するデータの中で、ｊ＝２のグループの重心の「年齢」である「３２．５」に最も近い「３５」の「年齢」の値を持つＮｏ．８のデータを、ｊ＝２のグループに移動して、グループを修正する。
図８は、グループが修正されたデータ集合の状態の一例を表す図である。図８に示すように、図７においてｊ＝３のグループに含まるＮｏ．８のデータは、ｊ＝２のグループに移動した。これに伴い、「年齢」に関して、ｊ＝２のグループは、「３０―３５」となり、ｊ＝３のグループは「３６―３９」となる。
次に、匿名化装置１０の処理は、図４のステップＳ１１に戻る。ここで、ｊ＝２のグループは、２ａｖｅ  ｋｉ（２）＝４．６６６・・・であり、ｊ＝３のグループは、２ａｖｅ  ｋｉ（３）＝３である。また、ｊ＝２のグループのデータ数は、「３」であり、ｊ＝３のグループのデータ数は、「２」である。このため、匿名化部１１は、ｊ＝２のグループ及びｊ＝３のグループのいずれも、これ以上の分割が不可能である。
本実施形態の匿名化装置１０は、グループ修正部１４がグループを修正したときに、修正後の全部グループが分割可能か否かを判定してもよい。そして、グループ修正部１４に基づくグループ修正後に全グループ分割不可と判断した時点で、匿名化装置１０は、最終的なデータ集合を表示装置等に出力し、処理を終了しても良い。ただし、本実施形態の匿名化装置１０の動作は、これに限らない。
例えば、仮に、グループ修正部１４がグループを修正後、全グループが分割不可となったが、ステップＳ１１に戻り、匿名化部１１が、グループを分割した場合を考える。この場合、ステップＳ１３で匿名性判定部１３は、匿名性を満たさないグループが存在すると判定する。そして、グループ修正部１４は、グループの修正が不可能であると判断する。そして、この場合、匿名化装置１０の処理は、ステップＳ１６に進む。ステップＳ１６において、グループ修正部１４は、匿名化部１１が最後に行った分割をキャンセルし、全てのグループが適応的匿名レベルを満たしている状態のデータ集合に戻す。そして、グループ修正部１４は、最終的なデータ集合を表示装置等に出力する。
なお、グループ修正部１４は、二つに分割されたグループのうち、一方のグループが含む過剰分のデータを移動すれば、もう一方のグループが適応的匿名レベルを満たす場合でも、所定の場合には、データを移動させない構成としても良い。移動させない構成とは、例えば、データ空間上における、適応的匿名レベルを満たさないグループのデータの重心の位置と、他のグループに属する過剰分のデータの中で重心に最も近いデータの位置との距離が、所定の閾値以上の場合である。この場合、グループ修正部１４は、グループの修正を行わず、匿名化部１１が最後に行った分割をキャンセルしても良い。
具体的な値を用いて説明すると、上述の例において、閾値が５であり、ｊ＝２のグループに属するデータの重心である「３２．５」に最も近いｊ＝３のグループに属するデータの値が「３８」の場合である。この場合、グループ修正部１４は、データを移動せず、最後の分割をキャンセルする。
ここで、本実施形態のおいて最終的に出力される図８に示すデータ集合と、図２に示すデータ集合とを比較すると、本実施形態が出力する図８のデータ集合は、図２に示すデータ集合に比べると、ＺＩＰコード及び年齢について抽象化の程度が低く、情報の価値の低下が小さい。
なお、本実施形態の構成は、図３に示す構成に限らない。各構成は、複数の構成に分かれても良い。また、１つ又は複数の構成は、１つの構成で実現されても良い。例えば、匿名化部１１とグループ修正部１４は、１つの匿名化部１１として構成してもよい。
以上で説明したように、第１実施形態に係る匿名化装置１０は、すべてデータが匿名化の要求レベルを満足し、かつデータ集合全体が抽象化されることに基づく情報価値の低下を防止できる。
その理由は、匿名化装置１０は、分割されたグループ毎に、適応的な匿名化の要求レベル（適応的匿名レベル）を設定するからである。さらに、匿名化装置１０は、適応的匿名レベルが適切となるように、グループを修正するからである。
＜第２実施形態＞
次に、本発明の第２実施形態に係る匿名化装置２０について説明する。第１実施形態の説明に用いた匿名化装置１０は、匿名化処理として分類木を利用したトップダウンの処理を採用した。これに対し、本実施形態の匿名化装置２０は、ボトムアップの処理を採用する点で異なる。
図９は、第２実施形態に係る匿名化装置２０の構成の一例を示すブロック図である。図９に示すように匿名化装置２０は、匿名化部２１と、匿名レベル設定部２２と、匿名性判定部２３とを含む。
匿名化部２１は、外部の装置又はシステムから二以上のデータ集合を受信する。匿名化部２１は、図示しない記憶装置やその他の構成部からデータ集合を受信しても良い。また、匿名化部２１は、匿名性判定部２３から、データ集合又は判定結果を受信する。
匿名化部２１は、受信したデータ集合に、データのグループを処理単位として、匿名化処理を実行する。本実施形態の匿名化処理は、ボトムアップの処理である。ボトムアップを用いた匿名化処理は、データの統合処理と、抽象化処理とを含む。本実施形態の匿名化部２１は、まず、単位グループのデータの数が、予め定められた最小値のデータの数になるように、データ集合を二以上のグループに分割する。最小値は、予め特定の値が設定されていても良いし、匿名化装置２０が動作する都度、ユーザなどの操作を基に設定されても良い。さらに、匿名化部２１は、匿名性判定部２３が判定処理の後において、二つのグループを統合し、必要に応じてデータを抽象化して、匿名化処理を実行する。ボトムアップで行う匿名化処理は、特に制限はない。例えば、使用する匿名化処理は、任意の準識別子に着目して、データ空間上の重心距離が最も近いグループ同士を統合し、抽象化する処理や、ＮＣＰ（Ｎｏｒｍａｌｉｚｅｄ  Ｃｅｒｔａｉｎｔｙ  Ｐｅｎａｌｔｙ）を基にする処理でも良い。
匿名化部２１は、予め定められた最小値のデータの数となる複数のグループに分割したデータ集合又はグループを統合したデータ集合を、匿名レベル設定部２２に出力する。
匿名レベル設定部２２は、匿名化部２１からデータ集合を受信する。匿名レベル設定部２２は、匿名レベル設定部１２と同様に、グループ毎に適応的匿名レベルを設定する。
匿名レベル設定部２２は、グループ毎に適応的匿名レベルが設定したデータ集合を、匿名性判定部２３に出力する。
匿名性判定部２３は、匿名レベル設定部２２から、グループ毎に適応的匿名レベルが設定されたデータ集合を受信する。匿名性判定部２３は、データ集合の各グループが適応的匿名レベルを満たすか否かを判定する。少なくとも一つのグループが適応的匿名レベルを満たさないと判定した場合、匿名性判定部２３は、データ集合を匿名化部２１に出力する。
以降、匿名性判定部２３が、全てのグループが適応的匿名レベルを満たす、と判定するまで、匿名化部２１、匿名レベル設定部２２及び匿名性判定部２３は、再帰的に処理を繰り返す。
匿名性判定部２３は、全てのグループが適応的匿名レベルを満たす（この場合のデータ集合は、「最終的なデータ集合」となる）と判定すると、最終的なデータ集合を、例えば、表示装置に出力する。匿名性判定部２３は、最終的なデータ集合を図示しない記憶装置、外部の装置又はシステムに出力しても良い。
次に、図１０を参照して、本発明の第２実施形態に係る匿名化装置２０の動作について説明する。
図１０は、本発明の第２実施形態に係る匿名化装置２０の動作の一例を示すフローチャートである。図１０に示すように、匿名化部２１は、図示しない外部又は内部の他の構成部から出力されたデータ集合を、予め定められた最小値のデータの数の複数のグループに分割する（ステップＳ２１）。最小のデータの数は、特定の値が設定されても良いし、匿名化装置２０が動作する都度、ユーザから値を受信しても良い。
次に、匿名レベル設定部２２は、それぞれのグループに、適応的匿名レベルを設定する（ステップＳ２２）。本実施形態において、匿名レベル設定部２２は、グループ内で最も高い匿名化の要求レベルを有するデータの要求レベルを、グループの適応的匿名レベルとして、設定する。
次に、匿名性判定部２３は、データ集合の全てのグループが適応的匿名レベルを満たすか否かを判定する（ステップＳ２３）。少なくとも一つのグループが適応的匿名レベルを満たさないと判定した場合、匿名性判定部２３は、データ集合を匿名化部２１に出力する。
匿名性判定部２３からデータ集合を受信した匿名化部２１は、適応的匿名レベルを満たさないグループが適応的匿名レベルを満たすように、そのグループと他の１つ以上のグループとを統合する（ステップＳ２４）。
以降、匿名性判定部２３が、全てのグループが適応的匿名レベルを満たす、と判定するまで、匿名化装置２０は、ステップＳ２２、ステップＳ２３及びステップＳ２４の処理を、再帰的に繰り返す。
ステップＳ２３において、全てのグループが適応的匿名レベルを満たすと判定すると（この場合、そのデータ集合は、最終的なデータ集合となる）、匿名性判定部２３は、最終的なデータ集合を、例えば、表示装置に出力する。匿名性判定部２３は、最終的なデータ集合を、図示しない記憶装置、外部の装置又はシステムに出力しても良い。
次に、図１、図２及び図１１〜図１７を参照して、図１０の各ステップを、具体的に説明する。ここで、前提として、匿名化装置２０を有する公開事業者が、図１に示すデータ集合を保持しているとする。そして、「病気」に関する個人情報が、センシティブ情報とする。
また、以降の説明において、匿名化装置２０は、ボトムアップの処理を基にデータを統合する。
図１０のステップＳ２１において、公開事業者の有する匿名化装置２０の匿名化部２１は、図１に示すデータを、予め定められた最小値のデータの数になる複数のグループに分割する。本実施形態の説明において、予め定められた最小値は、「１」とする。
図１１は、データ集合が最小値である「１」のデータを含むグループ毎に分割された状態の一例を示す図である。本実施形態の匿名化装置２０は、第１実施形態と同様、準識別子の一つである「年齢」に着目して統合処理を行う。そのため、図１１において、データは、便宜上、年齢の若い順に並んでいる。
なお、仮に、予め定められた最小値が「２」の場合、データ集合は、例えば、図１１に示すＮｏ．３及びＮｏ．５の二つのデータを含むグループ、Ｎｏ．１及びＮｏ．７の二つのデータを含むグループ等に分割されることになる。
図１０のステップＳ２１において、匿名レベル設定部２２は、それぞれのグループに適応的匿名レベルを設定する。図１１において、各データのｋ匿名性であるｋｉが、各データを含むグループの適応的匿名レベルｋ（ｊ）になる。
図１０のステップＳ２３において、匿名性判定部２３は、ｊ＝９のグループに属するデータの数が１であり、適応的匿名レベル（ｋ（９））が「１」であることを基に、ｊ＝９のグループが、適応的匿名レベルを満たすと判定する。匿名性判定部２３は、ｊ＝９以外のグループについては、いずれも、適応的匿名レベルを満たさないと判定する。少なくとも一つのグループが適応的匿名レベルを満たさないため、匿名化装置２０の処理は、ステップＳ２４に進む。
図１０のステップＳ２４において、匿名化部２１は、ボトムアップの処理を基に、再帰的にデータ集合のデータを統合する。
匿名化部２１は、統合処理の対象のグループ（選択グループ）を選択する。例えば、匿名化部２１は、適応的匿名レベルを満たさないグループの中から、任意のグループを処理対象として選択しても良い。または、匿名化部２１は、適応的匿名レベルを満たさないグループの中で、適応的匿名レベルの値と、グループ内のデータの数との差が最も大きいグループを処理対象として、選択しても良い。本実施形態の処理対象の選択の手法は、本明細書に記載の方法に限定されない。ただし、以下の本実施形態の説明において、匿名化部２１は、適応的匿名レベルとデータの数との差が最も大きいグループを処理対象として選択するとして説明する。
次に、匿名化部２１は、処理対象として選択したグループ（選択グループ）の統合対象となる他のグループ（統合対象グループ）を選択する。
ここで、統合対象グループの選択に特に制限はない。しかし、匿名化部２１は、統合処理に基づく情報損失が最も小さいグループを統合対象グループとして選択することが望ましい。匿名化部２１は、例えば、データ空間上の選択グループの重心の位置に最も近い重心の位置のグループを統合対象グループとして選択する。そして、匿名化部２１は、選択した二つのグループ（選択グループと統合対象グループ）を統合しても良い。また、匿名化部２１は、ＮＣＰの手法を用いて、選択グループと統合したときの抽象化の度合い（例えば、統合後のグループに含まれる準識別子の値がとる幅）が最も小さくなるグループを、統合対象グループとして選択しても良い。本実施形態の説明において、匿名化部２１は、重心距離が最も近いグループを統合対象グループとして選択するとする。
匿名化部２１は、処理対象として、適応的匿名レベルとデータの数との差が最も大きいＮｏ．３のデータが属するｊ＝１のグループを選択する（つまり、ｊ＝１のグループが、選択グループである）。なぜなら、ｊ＝１のグループに属するデータの数は、「１」であり、適応的匿名レベルｋ（１）は、「４」であり、その差は、「３」となる。ｊ＝１のグループの差「３」は、他のグループの差と比較して最も大きいからである。
匿名化部２１は、ｊ＝１のグループの統合対象となるグループとして、Ｎｏ．５のデータが属するグループであるｊ＝２のグループを選択する（つまり、ｊ＝２のグループが、統合対象グループである）。なぜなら、ｊ＝２のグループは、「年齢」を軸とする一次元空間上において、ｊ＝１のグループと最も距離が近いからである。
匿名化部２１は、ｊ＝１のグループとｊ＝２のグループとを統合する。
そして、図１０のステップＳ２２において、匿名レベル設定部２２は、適応的匿名レベルを新たに設定する。
図１２は、グループが統合され、新たに適応的匿名レベルが設定されたデータ集合の状態の一例を表す図である。図１２に示すように、適応的匿名レベル（ｋ（１））は、「４」が設定される。また、年齢及び国籍は、抽象化される。
ここで再び図１０のステップＳ２３において、匿名性判定部２３は、少なくとも一つのグループが適応的匿名レベルを満たさないと判定する。そのため、匿名化装置２０の処理は、ステップＳ２４に進む。
以降、匿名性判定部２３が全てのグループにおいて適応的匿名レベルを満たされたと判定するまで、ステップＳ２２、ステップＳ２３及びステップＳ２４の処理は、再帰的に繰り返される。
図１２において、ｊ＝１、ｊ＝２及びｊ＝５のグループの、適応的匿名レベルとデータ数との差は、それぞれ、「２」である。この場合、匿名化部２１は、いずれのグループを選択グループとして選択しても良い。本実施形態において、匿名化部２１は、処理対象の選択グループとして、年齢がより若いグループを選択するとする。そのため、匿名化部２１は、処理対象の選択グループとしてｊ＝１のグループを、統合対象グループとしてｊ＝２のグループを選択し、統合する。
図１３は、図１２のデータ集合がさらに統合された状態の一例を示す図である。
次に匿名化部２１は、選択グループとして、適応的匿名レベルとデータの数との差が最も大きなグループであるｊ＝４のグループを選択する。また、匿名化部２１は、統合対象グループとして、Ｎｏ．９のデータに最も近いデータの１つであるＮｏ．４のデータが含まれているｊ＝３のグループを選択する。
図１４は、図１３のｊ＝４のグループとｊ＝３のグループとを統合した状態の一例を示す図である。
匿名化部２１は、以上で説明した手順を繰り返し、図１５〜図１７に示すようにグループの統合を繰り返す。
図１５は、図１４で示すデータ集合がさらに統合された状態の一例を示す図である。
図１６は、図１５で示すデータ集合がさらに統合された状態の一例を示す図である。
図１７は、図１６で示すデータ集合がさらに統合された状態の一例を示す図である。
図１７に示す状態までデータ集合のデータがグループに統合されると、図１０のステップＳ２３において、匿名性判定部２３は、全てのグループが適応的匿名レベルを満たすと判定する。匿名性判定部２３は、全てのグループが適応的匿名レベルを満たしている状態のデータ集合（最終的なデータ集合）を表示装置等に出力する。
ここで、出力される図１７に示す最終的なデータ集合と、図８に示す第１実施形態の最終的なデータ集合とを比較すると、図１７に示す最終的なデータ集合は、第１実施形態と同様の結果である。つまり、第２実施形態の匿名化装置２０は、第１実施形態の匿名化装置１０と同様の効果を得ることができる。
以上、説明したように、第２実施形態に係る匿名化装置２０は、データ集合に含まれる全てのデータが匿名化の要求レベルを満足し、かつデータ集合全体の抽象化に基づく情報価値の低下を防止することが可能となる。
その理由は、匿名化装置２０は、グループ毎に適応的な匿名化の要求レベル（適応的匿名レベル）を設定するからである。さらに、匿名化装置２０は、適応的匿名レベルが適切となるように、グループを統合するからである。
＜第３実施形態＞
次に、本発明の第３実施形態に係る匿名化装置３０について、図面を参照して説明する。
図１８は、第３実施形態に係る匿名化装置３０の構成の一例を示すブロック図である。図１８に示すように、匿名化装置３０は、匿名化部３１と、匿名レベル設定部３２と、匿名性判定部３３とを含む。
匿名化部３１は、匿名化部３１の外部から入力されるデータ集合に対し、データのグループを処理単位として匿名化処理を実行する。また、匿名化部３１は、匿名性判定部３３からデータ集合を受信する。匿名化部３１は、匿名化処理を施したデータ集合を匿名レベル設定部３２に出力する。
匿名レベル設定部３２は、匿名化部３１が匿名化処理を実行したグループ毎に、グループに含まれるデータを基に適応的匿名レベルを設定する。匿名レベル設定部３２は、グループ毎に適応的匿名レベルを設定したデータ集合を、匿名性判定部３３に出力する。
匿名性判定部３３は、グループが、設定された適応的匿名レベルを満たすか否かを判定する。匿名性判定部３３は、判定結果に応じて、データ集合を匿名化部３１に出力するか、又は処理を終了してデータ集合を表示装置等に出力する。
図１９は、第３実施形態に係る匿名化装置３０の動作の一例を示すフローチャートである。図１９に示すように、匿名化装置３０の匿名化部３１は、匿名化部３１の外部から入力された又は匿名性判定部３３から受信したデータ集合に対し、グループを処理単位として匿名化処理を実行する（ステップＳ３１）。
次に、匿名レベル設定部３２は、匿名化部３１が匿名化処理を実行したグループ毎に適応的匿名レベルを設定する（ステップＳ３２）。
次に、匿名性判定部３３は、グループのそれぞれが、各グループに対応する適応的匿名レベルを満たすか否かを判定する（ステップＳ３３）。
匿名性判定部３３は、判定結果に応じて、データ集合を匿名化部３１に出力するか、又は処理を終了してデータ集合を表示装置等に出力する。
以上、説明したように、第３実施形態に係る匿名化装置３０は、全てのデータが匿名化の要求レベルを満足し、かつデータ集合全体の抽象化に基づく情報価値の低下を防止することが可能となる。
その理由は、匿名化装置３０は、グループ毎に適応的な匿名化の要求レベル（適応的匿名レベル）を設定するからである。
以上、各実施形態を参照して本発明を説明したが、本発明は、以上の実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で同業者が理解し得る様々な変更をすることができる。
図２０は、第１実施形態に係る匿名化装置１０のハードウェア構成の一例を示すブロック図である。図２０に示すように、匿名化装置１０は、ＣＰＵ１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ１）と、ネットワーク接続用の通信ＩＦ２（通信インターフェース２）と、メモリ３と、プログラムを格納するハードディスク等の記憶装置４とを含む。そして、匿名化装置１０は、図２０に示す構成を基にコンピュータ装置を実現する。ただし、匿名化装置１０の構成は、図２０に示すコンピュータ装置に限定されない。
例えば、匿名化装置１０は、通信ＩＦ２を介して、外部からデータ集合を受信しても良い。
ＣＰＵ１は、オペレーティングシステムを動作させて匿名化装置１０の全体を制御する。また、ＣＰＵ１は、例えば、ドライブ装置などに装着されたコンピュータで読み出し可能な図示しない記録媒体から、メモリ３にプログラムやデータ集合を読み出し、これを基に各種の処理を実行しても良い。
例えば、匿名化部１１、匿名レベル設定部１２、匿名性判定部１３、グループ修正部１４のいずれか一部又は全ての機能は、ＣＰＵ１及びプログラムを用いて実現されても良い。
記憶装置４は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、半導体メモリであり、コンピュータプログラムをコンピュータ（ＣＰＵ）から読み取り可能に記録する。記憶装置４は、例えば、データ集合や匿名化装置１０を実現するためのコンピュータプログラムを格納していても良い。また、匿名化装置１０を実現するためのコンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされても良い。
なお、これまでに説明した各実施形態において利用するブロック図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。これらの機能ブロックは、ハードウェア及びソフトウェアの任意の組み合わせを用いて実現されても良い。また、匿名化装置１０の構成部の実現手段は、特に物理的な装置に限定されない。すなわち、匿名化装置１０は、物理的に結合した一つの装置を用いて実現されても良いし、物理的に分離した二つ以上の装置を有線又は無線で接続し、これら複数の装置を用いて実現されても良い。
本発明のプログラムは、上記の各実施形態で説明した各動作を、コンピュータに実行させるプログラムであれば良い。
また、第２実施形態に係る匿名化装置２０及び第３実施形態に係る匿名化装置３０は、第１実施形態に係る匿名化装置１０と同様に、図２０に示すハードウェア構成を基にしたコンピュータ装置で実現されても良い。ただし、匿名化装置２０及び匿名化装置３０の構成は、図２０に示すコンピュータ装置に限定されない。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、２０１１年９月２日に出願された日本出願特願２０１１−１９１３５５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０００６】
１    ＣＰＵ
２    通信ＩＦ
３    メモリ
４    記憶装置
１０、２０、３０  匿名化装置
１１、２１、３１  匿名化部
１２、２２、３２  匿名レベル設定部
１３、２３、３３  匿名性判定部
１４  グループ修正部
【図１】
0006015658.tif 000002
【図２】
0006015658.tif 000003
【図３】
0006015658.tif 000004
【図４】
0006015658.tif 000005
【図５】
0006015658.tif 000006
【図６】
0006015658.tif 000007
【図７】
0006015658.tif 000008
【図８】
0006015658.tif 000009
【図９】
0006015658.tif 000010
【図１０】
0006015658.tif 000011
【図１１】
0006015658.tif 000012
【図１２】
0006015658.tif 000013
【図１３】
0006015658.tif 000014
【図１４】
0006015658.tif 000015
【図１５】
0006015658.tif 000016
【図１６】
0006015658.tif 000017
【図１７】
0006015658.tif 000018
【図１８】
0006015658.tif 000019
【図１９】
0006015658.tif 000020
【図２０】
0006015658.tif 000021