"ユーザ情報を含むデータが記憶されたユーザ情報記憶部を参照し、複数のユーザの前記データを前記ユーザ情報に基づいてグルーピングすると所定の匿名性指標が満たされないグループである特異点グループを検出する特異点検出部と、前記特異点グループ以外の各グループからデータを取得して、前記特異点グループのデータとともに前記ユーザ情報を同一の値に汎化すると、全グループが前記匿名性指標を満たすように、前記匿名性指標に応じた所定規則に基づいて、各グループから取得するデータである取得データを選択する取得データ選択部と、前記特異点グループのデータと前記取得データとを、前記ユーザ情報を同一の値に汎化することにより匿名化データを生成し、前記特異点グループ以外の各グループの前記取得データ以外のデータとともに匿名化ユーザ情報記憶部に格納する汎化部と、を備える匿名化装置。請求項1に記載の匿名化装置であって、前記取得データ選択部により選択された前記取得データを示す情報を記憶する取得データ記憶部をさらに備え、前記取得データ選択部は、前記取得データ記憶部を参照し、以前に選択された取得データが存在する場合は、該取得データを前記取得データとして選択する、匿名化装置。請求項1または2に記載の匿名化装置であって、前記取得データ選択部は、前記所定規則に基づいて、各グループのデータ数に応じた数の前記取得データを各グループから選択する、匿名化装置。請求項1または2に記載の匿名化装置であって、前記取得データ選択部は、前記所定規則に基づいて、前記グループの数に応じた数の前記取得データを各グループから選択する、匿名化装置。請求項3または4に記載の匿名化装置であって、前記取得データ選択部は、前記特異点グループのデータと前記取得データとから前記匿名化データを生成しても前記匿名性指標が満たされない場合は、さらに、他のグループの全てのデータを取得データとして選択する、匿名化装置。請求項3または4に記載の匿名化装置であって、前記取得データ選択部は、さらに、前記取得データが取得されると前記匿名性指標が満たされなくなるグループの全てのデータを取得データとして選択する、匿名化装置。請求項1~6の何れか一項に記載の匿名化装置であって、前記取得データ選択部は、前記匿名化データのユーザ情報の抽象度が最も低くなるように前記取得データを選択する、匿名化装置。請求項1~7の何れか一項に記載の匿名化装置であって、前記取得データ選択部は、前記特異点グループが存在しない場合であっても、前記所定規則に基づいて各グループから取得する取得データを選択し、前記汎化部は、前記取得データ選択部によって選択された取得データのユーザ情報を同一の値に汎化することにより匿名化データを生成し、前記取得データ以外のデータとともに前記匿名化ユーザ情報記憶部に格納する、匿名化装置。請求項1~8の何れか一項に記載の匿名化装置であって、前記ユーザ情報記憶部を参照し、前記特異点グループであったグループのデータ数が前記匿名性指標を満たす数以上増加している場合は、該増加したデータはユーザ情報の値を汎化せずに前記匿名化ユーザ情報記憶部に格納する分割部をさらに備える、匿名化装置。請求項1~9の何れか一項に記載の匿名化装置であって、前記ユーザ情報が複数の項目を有する場合、該複数の項目について汎化を行う順序を決定する汎化順序決定部をさらに備え、前記特異点検出部、前記取得データ選択部、及び前記汎化部は、前記汎化順序決定部によって決定された順序にしたがって、汎化対象となる項目を順に選択し、選択された項目に対して、特異点グループの検出、取得データの選択、及び汎化を行う、匿名化装置。ところで、非特許文献1に開示された手法では、k匿名性を保つために特異点集合は切り落される。なお、特異点集合とは、データ数が少ないために、匿名化を行ってもk匿名性が満たされない集合である。たしかに、切り落としを行うことでk匿名性を保つことは可能であるが、切り落とされた集合が統計情報に反映されないため、正確な統計情報を扱うことができない。また、特異点集合は切り落とされてしまうため、特異点集合に属するユーザに対して広告等の情報を配信を行うことができない。また、非特許文献2に開示された手法では、特異点集合が所属するグループの抽象度が高くされる。しかし、抽象度を高くしてもk匿名性が満たされない場合は、データセット全体が不明unknownとなり、データ歪曲度が大きくなってしまう。また、非特許文献3に開示された手法では、マージ後のグループのデータ数がk匿名性を満たし、かつ最小になるように、特異点集合と一緒にマージする1つのグループが選択される。これにより、データ歪曲度を最小にすることができるが、データセット内の各グループのデータ数の大小関係や比率を把握することができない。また、グループのデータ数の時系列での変化を追うこともできない。例えば、あるサービスの加入者のうち、時刻t0では東京に住んでいる人が100人、海外に住んでいる人が5人、時刻t1では東京に住んでいる人が200人、海外に住んでいる人が8人であるとする。ここで、k匿名性のkの値を10として、非特許文献3による匿名化の手法を説明する。まず、時刻t0では、海外に住んでいる人のグループがk匿名性を満たしていないので、東京に住んでいる人のグループから5人分のデータを海外に住んでいる人のグループにマージして汎化が行われる。また、時刻t1では、東京に住んでいる人のグループから2人分のデータを海外に住んでいる人のグループにマージして汎化が行われる。これにより、海外に住んでいる人と一緒に汎化される東京に住んでいる人のデータ数が最小となり、データ歪曲の度合いを最小にすることができる。しかし、時刻t0と時刻t1での東京に住んでいる人や海外に住んでいる人の増加量を把握することができない。具体的には、東京に住んでいる人のグループからは、海外に住んでいる人のグループの汎化のために時刻t0では5人分のデータが利用され、時刻t1では2人分のデータが利用されている。そのため、実際には、東京に住んでいる人は100人増加して海外に住んでいる人は3人増加したのにも関わらず、東京に住んでいる人は103人増加、海外に住んでいる人は増加なしとなってしまう。また、特許文献1に開示されている手法では、同じレコード値をもつデータがある一定個数以上あった場合に安全と判定しているが、一定個数以上なかった場合の対応方法については考慮されていない。本発明はこのような事情に鑑みてなされたものであり、特異点集合を含むデータを匿名化する際に、グループ間のデータ数の比較を可能とすることを目的とする。本発明の一側面に係る匿名化装置は、ユーザ情報を含むデータが記憶されたユーザ情報記憶部を参照し、複数のユーザのデータをユーザ情報に基づいてグルーピングすると所定の匿名性指標が満たされないグループである特異点グループを検出する特異点検出部と、特異点グループ以外の各グループからデータを取得して、特異点グループのデータとともにユーザ情報を同一の値に汎化すると、全グループが匿名性指標を満たすように、匿名性指標に応じた所定規則に基づいて、各グループから取得するデータである取得データを選択する取得データ選択部と、特異点グループのデータと取得データとを、ユーザ情報を同一の値に汎化することにより匿名化データを生成し、特異点グループ以外の各グループの取得データ以外のデータとともに匿名化ユーザ情報記憶部に格納する汎化部と、を備える。なお、本発明において、部とは、単に物理的手段を意味するものではなく、その部が有する機能をソフトウェアによって実現する場合も含む。また、1つの部や装置が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の部や装置の機能が1つの物理的手段や装置により実現されても良い。本発明によれば、特異点集合を含むデータを匿名化する際に、グループ間のデータ数の比較が可能となる。以下、図面を参照して本発明の一実施形態について説明する。第1の実施形態==構成==図1は、第1の実施形態における匿名化システムの構成を示す図である。匿名化システムは、匿名化装置10、ユーザ情報記憶部12、及び匿名化ユーザ情報記憶部14を含んで構成されている。匿名化装置10は、所定の匿名性指標が満たされるようにユーザ情報の匿名化を行う情報処理装置であり、例えば、CPUやメモリ、記憶装置を有するサーバを用いて構成されている。匿名化装置10は、複数台の情報処理装置を用いて構成されていてもよい。ここで、匿名化の対象となるユーザ情報とは、例えばクレジットカード会社が保有する氏名年齢住所年収延滞履歴等の情報である。なお、本実施形態では、所定の匿名性指標としてk匿名性が用いられることとする。k匿名性とは、匿名化対象の情報が同一のデータをグルーピングした際に、いずれのグループについてもデータ数がk個以上となることを保証するものである。図1に示すように、匿名化装置10は、ユーザ情報記憶部12及び匿名化ユーザ情報記憶部14と通信可能に接続されている。なお、ユーザ情報記憶部12及び匿名化ユーザ情報記憶部14を匿名化装置10が備えることとしてもよい。ユーザ情報記憶部12には、ユーザ識別子及びユーザ情報を含むユーザデータが記憶されている。図2は、ユーザ情報記憶部12に記憶されるユーザデータの一例を示している。図2の例では、ユーザ情報の項目として自宅最寄駅が設けられている。例えば、ユーザ識別子User001のユーザは、自宅最寄駅が二子玉川であることが示されている。なお、ユーザ情報の項目数は1つに限られず、2つ以上であってもよい。匿名化ユーザ情報記憶部14には、ユーザ情報記憶部12に記憶されたユーザデータを匿名化したデータである匿名化ユーザデータが記憶される。図3は、匿名化ユーザ情報記憶部14に記憶される匿名化ユーザデータの一例を示している。図3の例では、匿名化ユーザデータには、ユーザ識別子及び自宅最寄駅に加えて、保存日時の項目が設けられている。図3の例では、ユーザ識別子には、元のユーザデータのユーザ識別子がそのまま設定されている。そして、自宅最寄駅には、k匿名性を満たすように、ユーザデータの自宅最寄駅を必要に応じて汎化した情報が設定されている。例えば、所定の匿名性指標をk匿名性k=4とする。図2に示したユーザデータを自宅最寄駅でグルーピングすると、ユーザ識別子User013のグループは、データ数が1個となってしまい、k匿名性が満たされなくなってしまう。そのため、図3に示す例では、ユーザ識別子User005、User006、User011、User012、User013のユーザデータが1つのグループとされ、自宅最寄駅二子玉川及び東北沢が汎化されて世田谷区となっている。なお、匿名化ユーザデータには、ユーザ識別子や保存日時の項目が無くてもよい。また、ユーザ識別子自体が秘匿性の高い情報である場合は、ユーザ識別子の代わりに、データレコードを識別するためのデータ識別子が匿名化ユーザデータに含まれることとしてもよい。図1に戻り、匿名化装置10は、汎化ツリー記憶部20、匿名化要求受付部22、特異点集合検索部24、取得データ選択部26、取得データ記憶部28、及び汎化部30を含んで構成されている。なお、汎化ツリー記憶部20及び取得データ記憶部28は、例えば、メモリや記憶装置等の記憶領域を用いて実現することができる。また、匿名化要求受付部22、特異点集合検索部24、取得データ選択部26、及び汎化部30は、例えば、メモリに記憶されたプログラムをCPUが実行することにより実現することができる。汎化ツリー記憶部20は、ユーザ情報の汎化規則を記憶している。本実施形態では、汎化ツリー記憶部20には、データセットのデータが所属するグループの木構造が記憶されている。図4は、汎化ツリー記憶部20が記憶している汎化ツリーの一例を示している。図4の例では、二子玉川、下北沢、東北沢の上位グループが世田谷区であることが示されている。この汎化ツリーは、匿名化装置20においてユーザ情報の汎化が行われる際に用いられる。なお、汎化ツリーは複数種類記憶されていてもよい。匿名化要求受付部22は、ユーザ情報記憶部12に記憶されているユーザデータの匿名化要求を受け付ける。なお、匿名化要求は、匿名化装置10の外部から入力されることとしてもよいし、匿名化装置10が備える入力装置を介して入力されることとしてもよい。匿名化要求受付部22は、匿名化要求を受け付けると、特異点集合検索部24に対して特異点集合の検索要求を送信する。特異点集合検索部24は、ユーザ情報記憶部12に記憶されているユーザデータに含まれる特異点集合特異点グループを検索する。ここで、特異点集合とは、ユーザ情報が同一のデータをグルーピングした際に、グループのデータ数がk個未満となるデータ集合である。具体的には、特異点集合検索部24は、汎化ツリー記憶部20に記憶されている汎化ツリーを取得し、取得した汎化ツリーに基づいてユーザ情報記憶部2に記憶されているユーザデータをグループ毎に分類し、グループのデータの数が、ある一定の値以下のグループである特異点集合を検索する。そして、特異点集合の検索結果は、取得データ選択部26へ送信される。取得データ選択部26は、特異点集合検索部24で検索された特異点集合と一緒に上位グループに所属させるためのデータを選択する。具体的には、取得データ選択部26は、ユーザ情報記憶部12から、各グループのデータ数を取得し、特異点集合を上位グループに所属させるために必要なデータ数をグループ毎に計算する。ここで、特異点集合を上位グループに所属させるために必要なデータ数とは、特異点集合とともにユーザ情報を汎化ツリーに基づいて汎化することにより匿名性指標が満たされるようにするために必要なデータ数である。取得データ選択部26は、各グループから取得するデータを選択し、取得データ記憶部28へ記憶する。その後、取得データ選択部26は、汎化部30に対して汎化の実行を要求する。ここで、特異点集合を上位グループに所属させるために必要なデータ数mの計算式として、例えば、以下の式1または式2を用いることができる。m=k/全グループのデータの総数×各グループのデータ数式1m=k/グループの数式2なお、計算結果が整数ではない場合、四捨五入、切り上げ、切り捨て等の丸め処理が行われることとしてもよい。ただし、丸め処理が行われた場合、取得データ選択部26は、特異点集合がk匿名性を満たさなくならないように調整することとする。取得データ記憶部28には、取得データ選択部26によって選択されたデータを示す情報が記憶される。具体的には、図5に示すように、取得データ記憶部28に記憶されるデータには、データ利用者識別子、取得データ識別子、算出式、汎化先、及び特異点集合識別子の項目が設けられている。ここで、データ利用者識別子は、匿名化装置10を利用する利用者を識別するための識別子である。また、取得データ識別子には、ユーザ情報記憶部12に記憶されているユーザデータを識別可能な情報が設定される。例えば、取得データ識別子には、取得データのユーザ識別子を設定することができる。また、算出式には、取得データ選択部26で取得データを選択する際に用いた式を示す情報が設定される。汎化先には、特異点集合検索部24で検索された特異点集合のデータと取得データが新しく所属する上位のグループを示す情報が設定される。特異点集合識別子には、取得データとともに汎化された特異点集合を識別可能な情報が設定される。例えば、特異点集合識別子には、特異点集合に含まれるデータのユーザ識別子を設定することができる。例えば、図5の例では、データ利用者識別子TokumeiUser001のデータ利用者からの匿名化要求に対して、式1を計算することにより、ユーザ識別子User005、User006のユーザデータが取得データとして選択されたことが示されている。また、特異点集合のデータと取得データが新しく所属する上位グループが世田谷区であることが示されている。また、ユーザ識別子User005、User006のユーザデータが、ユーザ識別子User013のユーザデータを含む特異点集合とともに汎化されたことが示されている。汎化部30は、取得データ選択部26で選択されたデータと特異点集合検索部24で検索されたデータをマージし、ユーザ情報を汎化する。そして、汎化部30は、その他のグループのユーザデータも含んだ匿名化ユーザデータを匿名化ユーザ情報記憶部14に格納する。==動作==匿名化装置10における匿名化処理の一例について説明する。図6は、本実施形態における匿名化処理の一例を示すシーケンス図である。まず、匿名化要求受付部22は、匿名化データ利用者から匿名化の要求を受け付けると、特異点集合検索部24に対してデータ利用者識別子と共に汎化要求を送信するS601。汎化要求を受信した特異点集合検索部24は、汎化ツリー記憶部20から汎化ツリーを取得するS602。そして、特異点集合検索部24は、ユーザ情報記憶部12を参照し、特異点集合を検索するS603。特異点集合を検出した特異点集合検索部24は、取得データ選択部26に対して取得データ選択要求を送信するS604。取得データ選択要求を受信した取得データ選択部26は、ユーザ情報記憶部12を参照し、ユーザデータが所属する各グループのデータ数とグループ数を取得するS605。各グループ毎のデータ数とグループ数を取得すると、取得データ選択部26は、取得データ記憶部28から、過去の取得データを取得するS606。また、取得データ選択部26は、特異点集合のユーザデータとともに汎化するために各グループから取得すべきデータの数を算出するS607。なお、データ数の計算式は、取得データ記憶部28に過去に用いられた計算式が記憶されている場合はその計算式が用いられる。データ数が算出されると、取得データ選択部26は、汎化に用いるデータを選択するS608。そして、取得データ選択部26は、新たに選択された取得データに関する情報を取得データ記憶部28に格納しS609、汎化部30に対して汎化処理の実行要求を送信するS610。汎化処理の実行要求を受信すると、汎化部30は、汎化ツリー記憶部20から汎化ツリーを取得するS611。そして、汎化部30は、特異点集合のユーザデータと、取得データ選択部26によって選択されたユーザデータとをマージしてユーザ情報を汎化することにより、匿名化ユーザデータを生成するS612。汎化処理の完了後、汎化部30は、汎化されたグループ以外のグループも含んだ匿名化ユーザデータを匿名化ユーザ情報記憶部14に格納するS613。なお、特異点集合が存在しない場合であっても、取得データ選択部26が、各グループから取得する取得データを選択し、汎化部30が、取得データをマージしてユーザ情報を汎化することにより匿名化ユーザデータを生成することも可能である。つまり、特異点集合が存在しない場合であっても、特異点集合の発生にそなえ、あらかじめ匿名化ユーザデータを生成しておくことができる。その後に発生する特異点集合は、この匿名化ユーザデータとマージして汎化することができる。ここで、匿名化処理の具体例を説明する。なお、以下の説明では、ユーザ情報記憶部12には図2に示すユーザデータが格納され、汎化ツリー記憶部20には図4に示す汎化ツリーが格納されていることとする。また、k匿名性のkの値は4とする。まず、匿名化要求受付部22は、匿名化データ利用者から匿名化要求を受け付けると、特異点集合検索部24に対してデータ利用者識別子TokumeiUser001と共に汎化要求を送信するS601。特異点集合検索部24は、汎化ツリー記憶部20から汎化ツリーを取得するS602。図4に示すように、汎化ツリーは、親が世田谷区で子に二子玉川、下北沢、東北沢を持つことがわかる。なお、複数種類の汎化ツリーが汎化ツリー識別子と対応付けられて汎化ツリー記憶部20に記憶されていてもよい。この場合、特異点集合検索部24は、データ利用者識別子に応じて、利用する汎化ツリーを選択することとしてもよい。続いて、特異点集合検索部24は、ユーザ情報記憶部12を参照し、特異点集合を検索するS603。具体的には、特異点集合検索部24は、kが4未満となるデータ集合を検索する。図2より、自宅最寄駅が二子玉川のデータ数は6、自宅最寄駅が下北沢のデータ数は6、自宅最寄駅が東北沢のデータ数が1であるため、kが4未満となるデータは自宅最寄駅が東北沢のデータ、すなわち、ユーザ識別子User013のデータである。特異点集合User013を検出した特異点集合検出部24は、特異点集合を汎化するためのデータ数とデータ値を決定するために、取得データ選択部28に対して取得データ選択要求を送信するS604。取得データ選択部26は、ユーザ情報記憶部12を参照し、各データが所属するグループ毎のデータ数とグループ数を取得するS605。図2に示すように、自宅最寄駅二子玉川のグループのデータ数は6、自宅最寄駅下北沢のグループのデータ数は6、グループ数は二子玉川、下北沢、東北沢の3となっている。続いて、取得データ選択部26は、取得データ記憶部28を参照し、データ利用者識別子TokumeiUser001に対する、前回の取得データを取得するS606。ここでは、データ利用者識別子TokumeiUser001に対応する取得データがなかったこととする。続いて、取得データ選択部26は、各データから特異点集合の汎化に用いるデータ数を、式1または式2を用いて算出するS607。図2の例において、全グループのデータの総数は661=13であり、自宅最寄駅二子玉川のグループのデータ数は6、kは4である。よって、式1を用いる場合、自宅最寄駅二子玉川のグループから特異点集合の汎化のために取得するデータの数の計算は、m=4/13×6≒2となる。同様に、自宅最寄駅下北沢のグループから取得するデータ数も2と算出される。また、式2を用いる場合、グループ数は3、kは4であるため、m=4÷3≒2と算出される。なお、匿名化ユーザデータを利用したいデータ利用者が、データの増加率を知りたい場合は式1を用い、データの増加量を知りたい場合は式2を用いればよい。式1と式2の利用の決定は、データ利用者が指定する。つまり、利用する式を指定する情報が匿名化要求に設定され、取得データ選択部26は、この情報で指定される式を用いて取得データ数の算出を行うことができる。自宅最寄駅二子玉川のグループから取得するデータ数が2と算出されると、取得データ選択部26は、自宅最寄駅二子玉川のグループの6つのデータの中から、ユーザ識別子がUser005、User006である2つのデータを取得データとして選択するS608。なお、グループの中から選択される取得データの選択方法は任意である。ただし、2回目以降の実行では前回選択したデータの中から選択される。すなわち、取得データ選択部26は、以前に取得されたデータに関する情報が取得データ記憶部28に記憶されている場合は、以前に取得されたデータの中から取得データを選択する。ユーザ識別子User005、User006のデータが取得データとして選択されると、取得データ選択部26は、ユーザ識別子User005、User006のデータが所属するグループが二子玉川であると認識することができる。また、取得データ選択部26は、汎化ツリー記憶部20から取得した汎化ツリーにおいて、二子玉川の上位グループが世田谷区であると認識することができる。そこで、取得データ選択部26は、取得データ識別子User005、User006、取得データの数を算出する際に用いた算出式、汎化先世田谷区を、データ利用者識別子TokumeiUser001と共に記憶するS609。同様に、自宅最寄駅下北沢のグループからも、例えば、ユーザ識別子User011、User012のデータが取得データとして選択される。そして、取得データ選択部26は、汎化部30に対して汎化処理の実行要求を送信するS610。汎化処理の実行要求に応じて、汎化部30は汎化処理を実行するS611,S612。具体的には、取得データUser005、User006の自宅最寄駅は二子玉川であり、取得データUser011、User012の自宅最寄駅は下北沢であり、特異点集合であるUser013の自宅最寄駅は東北沢である。そして、図4の汎化ツリーによれば、二子玉川、下北沢、及び東北沢に共通の上位グループは世田谷区である。そこで、汎化部30は、これらのデータの自宅最寄駅を世田谷区と汎化することにより匿名化ユーザデータを生成する。そして、汎化部30は、自宅最寄駅二子玉川、下北沢のグループにおいて取得されなかったデータも含む匿名化ユーザデータを匿名化ユーザ情報記憶部14へ格納するS613。このように匿名化を行うことにより、匿名化の対象となるデータ集合が時間と共に増加する場合に、データの増加量や増加率を正確に把握することが可能になる。すなわち、ある時刻におけるグループ間のデータ数の比較や異なる時刻で匿名化された同一グループのデータ数の変化の把握が可能となる。第1の実施形態の変形例さらに、図1に示した匿名化装置10の構成において、上述の匿名化処理とは異なる処理によって匿名化を行うことも可能である。例えば、図7及び図8に示すフローチャートに示される処理がその一例である。まず、図7に示すフローチャートによる匿名化処理について説明する。この処理は、算出された取得データ数mのデータを取得してしまうとk匿名性が満たされなくなるグループが存在する場合を考慮したものである。なお、図7の匿名化処理の開始前に、図6に示した匿名化処理と同様に、取得データ数mの算出が行われていることとする。取得データ数mを算出した取得データ選択部26は、各グループについて、グループのデータ数から、取得データ数mにkを加算した値を引いた場合の正負を判定するS701。判定結果が0以上のグループについては、m個のデータが取得されてもk匿名性が満たされるため、取得データ選択部26は、m個のデータを取得データとして選択するS702。一方、判定結果が負のグループについては、m個のデータが取得されるとk匿名性が満たされなくなるため、汎化部30は、判定結果が負になった複数のグループをマージするS703。ここで、判定結果が負になるグループには、特異点集合のグループも含まれる。そして、汎化部30は、取得データとして選択されたデータと、判定結果が負であるためマージされたグループのデータを全てマージしたグループに対して汎化処理を実行し、匿名化ユーザデータを生成するS704。このような処理により、算出された取得データ数mのデータを取得してしまうとk匿名性が満たされなくなるグループが存在する場合に、匿名化後の全グループがk匿名性を満たすように匿名化を行うことができる。なお、図7の処理では、上述のように、データ数がmk個未満のグループにはk匿名性が満たされない特異点集合のグループも含まれている。また、図7の処理では、k匿名性を満たしてはいるが、データ数がmk個未満であるグループからは全データが取得され、k匿名性を満たし、かつ、データ数がmk個以上であるグループからはm個のデータが取得される。そして、取得されたデータは特異点集合のグループとともに汎化されることとなる。つまり、図7の処理においても、k匿名性を満たさない特異点集合が検出され、特異点集合以外の各グループからデータが取得されて特異点集合のデータとともに汎化されることにより、全グループがk匿名性を満たすように汎化が行われていると言うことができる。これは、以後に示す、mkの判定を行う処理についても同様である。次に、図8に示すフローチャートによる匿名化処理について説明する。この処理は、特異点集合に対して、算出されたデータ数mのデータを他のグループから追加してもk匿名性が満たされない場合を考慮したものである。なお、図8の匿名化処理の開始前に、図7に示した匿名化処理におけるデータ取得処理S702までが実行済みであることとする。取得データ数mを算出した取得データ選択部26は、特異点集合のデータ数と算出した取得データ数mとの差分の正負を判定するS801。判定結果が0以上の場合は、汎化部30は、図7の場合と同様に、取得データと特異点集合のデータをマージして汎化を行い、匿名化ユーザデータを生成するS802。一方、判定結果が負の場合は、汎化部30は、グループのデータ数が、特異点集合の判定基準となる値kと算出した取得データ数mの和を満たし、かつ、データ数が最小となるグループを検索するS803。そして、汎化部30は、検索されたグループと特異点集合のグループをマージするS804。さらに、汎化部30は、マージ後のデータ集合に対して各グループから取得されたデータをマージし、汎化処理を実行するS802。このような処理により、特異点集合に対して、算出されたデータ数mのデータを他のグループから追加してもk匿名性が満たされない場合に、匿名化後の全グループがk匿名性を満たすように匿名化を行うことができる。第2の実施形態==構成==図9は、第2の実施形態における匿名化システムの構成を示す図である。第2の実施形態における匿名化装置40は、第1の実施形態の匿名化装置10が備える構成に加えて、関連性検索部42を備えている。関連性検索部42は、特異点集合検索部24で検索された特異点集合と関連性の高いデータ集合を検索する。そして、関連性検索部42は、検出したデータ集合と特異点集合とをマージして汎化することにより、k匿名性が満たされるかどうかを判定する。ここで、関連性とは、汎化ツリーの階層構造に基づいて判断される指標であり、親戚度と表現することもできる。例えば、汎化ツリーにおいて親が共通のデータ集合は兄弟関係にあり、親の親が共通のデータ集合は従兄弟関係にある。そして、同一グループとして汎化した際に抽象度が低いほど関連性が高いこととなる。つまり、従兄弟関係にあるデータ集合よりも兄弟関係にあるデータ集合の方が関連性が高いと言える。例えば、図10に示す汎化ツリーの場合、自宅最寄駅が二子玉川のデータ集合と下北沢のデータ集合とは兄弟関係にある。また、自宅最寄駅が二子玉川のデータ集合と高田馬場のデータ集合とは従兄弟関係にある。この場合、自宅最寄駅が二子玉川のデータ集合にとっては、自宅最寄駅が高田馬場のデータ集合よりも自宅最寄駅が下北沢のデータ集合の方が関連性が高い。本実施形態では、取得データ選択部26は、特異点集合とマージして汎化する取得データを、関連性検索部42によって検索された、特異点集合と関連性の高いグループから選択する。==動作==匿名化装置40における匿名化処理の一例について説明する。図11は、本実施形態における匿名化処理の一例を示すシーケンス図である。まず、匿名化要求受付部22は、匿名化データ利用者から匿名化の要求を受け付けると、特異点集合検索部24に対してデータ利用者識別子と共に汎化要求を送信するS1101。汎化要求を受信した特異点集合検索部24は、汎化ツリー記憶部20から汎化ツリーを取得するS1102。そして、特異点集合検索部24は、ユーザ情報記憶部12を参照し、特異点集合を検索するS1103。特異点集合を検出した特異点集合検索部24は、関連性検索部42に対して、特異点集合との関連性の検索要求を送信するS1104。関連性の検索要求を受信した関連性検索部42は、汎化ツリー記憶部20から汎化ツリーを取得するS1105。汎化ツリーを取得した関連性検索部42は、ユーザ情報記憶部12を参照しS1106、特異点集合のユーザ情報と同じ親となるユーザ情報を有するグループのデータ数を算出するS1107。そして、関連性検索部42は、特異点集合の親の全ての子データを汎化することによりk匿名性が満たされるかどうかを判定するS1108。なお、特異点集合の親の全ての子データを汎化してもk匿名性が満たされない場合は、k匿名性が満たされるデータ数となるまで汎化ツリーを上位にさかのぼり、取得データの選択対象とするグループを特定する。以降のシーケンスS1109~S1118は、第1の実施形態の図6で示したシーケンスS604~S613と同様である。ただし、取得データ選択部26は、関連性検索部42において検索された、特異点集合とともに汎化されるとk匿名性が満たされ、かつ、特異点集合と関連性が最も高いグループを対象として取得データの選択を行う。ここで、匿名化処理の具体例を説明する。なお、以下の説明では、ユーザ情報記憶部12には図12に示すユーザデータが格納され、汎化ツリー記憶部20には図10に示す汎化ツリーが格納されていることとする。また、k匿名性のkの値は4とする。まず、匿名化要求受付部22は、匿名化データ利用者から匿名化の要求を受け付けると、特異点集合検索部24に対してデータ利用者識別子と共に汎化要求を送信するS1101。汎化要求を受信した特異点集合検索部24は、汎化ツリー記憶部20から汎化ツリーを取得するS1102。そして、特異点集合検索部24は、ユーザ情報記憶部12を参照し、特異点集合を検索するS1103。図12より、自宅最寄駅が二子玉川のデータ数は6、自宅最寄駅が下北沢のデータ数は8、自宅最寄駅が高田馬場のデータ数は5、自宅最寄駅が東北沢のデータ数が1人であるため、kが4未満となるデータは自宅最寄駅が東北沢のデータ、すなわち、ユーザ識別子User013のデータである。特異点集合を検出した特異点集合検索部24は、関連性検索部42に対して、特異点集合との関連性の検索要求を送信するS1104。関連性の検索要求を受信した関連性検索部42は、汎化ツリー記憶部20から汎化ツリーを取得するS1105。汎化ツリーを取得した関連性検索部42は、ユーザ情報記憶部12を参照しS1106、特異点集合User013の自宅最寄駅東北沢と同じ親となるデータ、すなわち、自宅最寄駅二子玉川、自宅最寄駅下北沢のデータ数を算出するS1107。図12より、自宅最寄駅二子玉川のデータ数は6、自宅最寄駅下北沢のデータ数は8となる。そして、関連性検索部42は、特異点集合の親である世田谷区の全ての子データを汎化することによりk匿名性が満たされるかどうかを判定するS1108。ここでは、同じ親世田谷区をもつデータの総数は681=15であり、k以上であるため可能と判定される。なお、世田谷区の全ての子データを汎化してもk匿名性が満たされない場合は、さらにその上の親である東京23区の配下の全てのデータを汎化することによりk匿名性が満たされるかどうか判定される。ここでは、世田谷区の全ての子データを汎化することによりk匿名性が満たされると判定されたため、取得データ選択部26は、世田谷区の配下のグループから取得データを選択する。以降は第1の実施形態の場合と同様である。このように、関連性の高いグループから取得データを選択することにより、特異点集合を汎化する際の抽象度を低くすることが可能となる。第3の実施形態==構成==図13は、第3の実施形態における匿名化システムの構成を示す図である。第3の実施形態における匿名化装置50は、第1の実施形態の匿名化装置10が備える構成に加えて、分解判断部52及び分解部54を備えている。分解判断部52は、汎化された特異点集合を含むデータ集合を分解可能か否かを判断する。例えば、特異点集合や、特異点集合とマージされたグループにデータが追加された場合、特異点集合とのマージにより形成されたグループの一部を別のグループとして分解してもk匿名性が満たされることがある。分解判断部52は、このような分解が可能であるかどうかを判定する。分解部54は、分解判断部52によって分解可能と判断された場合に、特異点集合と取得データのマージにより形成されていたグループを、特異点集合と取得データを要素とするグループと、その他のグループの2つに分解する。==動作==匿名化装置50における匿名化処理の一例について説明する。図14は、本実施形態における匿名化処理の一例を示すシーケンス図である。なお、図14に示す処理の前に、図6に示した処理S601~S613が実行されていることとする。そして、汎化処理を実行した汎化部30は、分解判断要求を分解判断部52に送信するS1401。分解判断要求を受信した分解判断部52は、取得データ記憶部28を参照し、取得データ、算出式、及び特異点集合を確認するS1402。続いて、分解判断部52は、取得データとともに汎化された特異点集合が属するグループの現在のデータ数をユーザ情報記憶部12から取得するS1403。そして、分解判断部52は、以前に取得データとともに汎化された特異点集合が属するグループのデータ数が、式1で算出した取得データ数mとkとの和mk以上であれば分解可能と判断するS1404。すなわち、特異点集合が属するグループにユーザデータが追加されたことにより、このグループからm個のデータを取得したとしてもk匿名性が満たされる状態となった場合には、分解可能であると判断される。さらに、分解判断部52は、取得データが属する各グループについても、特異点集合が属するグループと同様に、分解可能性を判断するS1403,S1404。すなわち、分解判断部52は、取得データの中の各データについて、そのデータが属するグループのデータ数をユーザ情報記憶部12から取得し、グループのデータ数がmk以上であれば分解可能と判断する。なお、グループの処理の順序は問わない。そして、特異点集合が属するグループ及び取得データが属する全てのグループについて分解可能であると判断されると、分解判断部52は、分解要求を分解部54に送信するS1405。分解部54は、分解要求に応じて分解を実行しS1406、分解後のグループで匿名化を行うことにより生成される匿名化ユーザデータを匿名化ユーザ情報記憶部14に格納するS1407。また、分解部54は、分解結果を取得データ記憶部28に反映するS1408。なお、匿名化ユーザ情報記憶部14への格納処理S1407と取得データ記憶部28への格納処理S1408の順序は任意である。また、汎化処理と分解処理の順序についても任意である。ここで、分解処理の具体例を説明する。なお、以前の時刻に図2に示すユーザデータから図3に示す匿名化ユーザデータが生成されたこととする。また、取得データ記憶部28は図5に示す状態であることとする。そして、現在のユーザデータは図15に示す状態であることとする。汎化処理を実行した汎化部30は、分解判断要求を分解判断部52に送信するS1401。分解判断要求を受信した分解判断部52は、取得データ記憶部28を参照し、取得データ、算出式、及び特異点集合を確認するS1402。具体的には、分解判断部52は、まず、取得データのユーザ識別子User005、User006、算出式式1、特異点集合のユーザ識別子User013を取得する。分解判断部52は、ユーザ識別子User013が属するグループである、自宅最寄駅東北沢のグループの現在のデータ数6をユーザ情報記憶部12から取得するS1403。そして、分解判断部52は、特異点集合が属するグループのデータ数6とmkの比較を行う。いま、kの値は4、式1により算出されるmの値は2である。したがって、特異点集合が属するグループのデータ数はmk以上であり、分解判断部52は、特異点集合が属するグループについて、分解可能と判断するS1404。さらに、分解判断部52は、取得データUser005、User006が属するグループである、自宅最寄駅二子玉川のグループのデータ数6をユーザ情報記憶部12から取得するS1403。分解判断部52は、このグループについてもデータ数がmk以上であるため、分解可能と判断するS1404。同様に、取得データUser011、User012が属するグループである、自宅最寄駅下北沢のグループに対しても分解判断が行われる。そして、分解判断部52は、ユーザ識別子User013が属するグループとともに汎化される対象となっていた全てのグループについて分解可能であると判断すると、分解要求を分解部54に送信するS1405。分解部54は、分解要求に応じて分解を実行するS1406。具体的には、ユーザ識別子User005、User006、User011、User012、User013のユーザデータを世田谷区と汎化していたものを、ユーザ識別子User005、User006、User011、User012、User013、User014のユーザデータの自宅最寄駅を世田谷区と汎化し、ユーザ識別子User015、User016、User017、User018のユーザデータについては自宅最寄駅を東北沢とする。つまり、分解によって、新たに自宅最寄駅東北沢のグループが生成される。このように、以前の時刻においては特異点集合であったグループについて、データ数の増加によって汎化の必要がなくなった場合にグループを分割することができる。すなわち、上述の具体例でいえば、自宅最寄駅東北沢のグループは、以前はデータ数が1であり特異点集合であったため、他のグループの取得データとともに自宅最寄駅世田谷区のグループとして汎化されていた。その後、自宅最寄駅東北沢のデータ数が増加したため、分割により、あらたに自宅最寄駅東北沢のグループが生成される。これにより、データの抽象度を下げてデータ量を多くすることが可能になる。なお、汎化により生成された、自宅最寄駅世田谷区のグループは残されるため、同一グループのデータ数の変化を把握することができる。第4の実施形態==構成==図16は、第4の実施形態における匿名化システムの構成を示す図である。第4の実施形態における匿名化装置60は、第1の実施形態の匿名化装置10が備える構成に加えて、汎化順序決定部62を備えている。汎化順序決定部62は、ユーザ情報記憶部12に記憶されているユーザデータのユーザ情報に複数の項目属性がある場合に、汎化する項目の順序を決定する。なお、汎化する項目の順序の決定方法は任意である。例えば、ランダムでもよいし、項目のとりうる値が大きい順でもよい。==動作==匿名化装置60における匿名化処理の一例について説明する。図17は、本実施形態における匿名化処理の一例を示すメインのフローチャートである。匿名化要求を受信した匿名化要求受付部22は、汎化部30に対して汎化要求を送信する。汎化要求を受信した汎化部30は、汎化順序決定部62に対して、汎化順序の決定要求を送信する。汎化順序の決定要求を受信した汎化順序決定部62は、ユーザ情報記憶部12を参照し、ユーザ情報の項目の汎化順序を決定するS1701。汎化順序が決定されると、処理対象として選択された、すなわち、汎化順序が1番目として選択された項目に対する匿名化処理が実行されるS1702。その後、その他の項目に対する匿名化処理が実行されるS1703。図18は、処理対象として選択された項目に対する匿名化処理の一例を示すフローチャートである。汎化要求を受信した汎化部30は、汎化ツリー記憶部20から処理対象の項目の汎化ツリーを取得する。汎化ツリーを取得した汎化部30は、汎化ツリーの中で、下位グループを持つノード全てに対してループ1の処理を行う。なお、下位グループを持つノードの処理順序は、よりルートから深い階層を優先して実行することとする。ただし、同じ深さの階層のノードがある場合の順序は任意である。取得データ選択部26は、ノードに紐づく下位グループのデータ数をそれぞれ算出しS1801、ノードに紐づく下位グループ全てについてループ2の処理を行う。取得データ選択部26は、取得データ記憶部28を参照し、前回の取得データを確認するS1802。前回の取得データの確認をした取得データ選択部26は、今回の汎化における取得データの数を算出するS1803。なお、取得データの数の算出方法は第1の実施形態と同様である。そして、取得データ選択部26は、取得データの数mとkの値の和mkを閾値として汎化判定を行うS1804。判定結果が負のグループについては、m個のデータが取得されるとk匿名性が満たされなくなるため、汎化部30は、判定結果が負になったグループの全てのデータを汎化するS1805。一方、判定結果が0以上のグループについては、m個のデータが取得されてもk匿名性が満たされるため、汎化部30は、グループ中のm個のデータだけを汎化するS1806。なお、取得データ記憶部28に前回の取得データが記憶されている場合は、その中から上位グループに所属させるデータが選択される。また、前回の汎化時よりも取得データの数が増えた場合は、新規に増加したデータの中から取得データが選択される。新規に増加したデータは以前の匿名化ユーザデータに含まれないため、統計情報への影響を少なくするためである。その後、取得データ選択部26は、取得データに関する情報を取得データ記憶部28に格納するS1807。図19は、その他の項目に対する匿名化処理の一例を示すフローチャートである。まず、汎化順序決定部62は、汎化順序に従って、次に汎化する項目を検索しS1901、検索により取得された項目が未処理であるかどうか確認するS1902。未処理の項目がない場合は処理は終了する。未処理の項目がある場合、次の汎化処理の対象として選択された項目について、1つ前の項目で汎化処理後の汎化ツリーのノードに対して、ループ3の処理が実行される。すなわち、図17と同様に、選択された項目に対する匿名化処理S1903及びその他の属性に対する匿名化処理S1904が実行される。ここで、匿名化処理の具体例を説明する。なお、図20に示すように、ユーザ情報には自宅最寄駅及び年齢の2つの項目が存在することとする。また、汎化ツリー記憶部20には、図21に示す汎化ツリーが記憶されていることとする。そして、データの遷移は差分に着眼するすなわち、式2を用いるとし、kの値は4とする。匿名化要求を受信した匿名化要求受付部22は、汎化部30に対して汎化要求を送信する。汎化要求を受信した汎化部30は、汎化順序決定部62に対して、汎化順序の決定要求を送信する。汎化順序の決定要求を受信した汎化順序決定部62は、ユーザ情報記憶部12を参照し、ユーザ情報の項目の汎化順序を決定するS1701。ここでは、汎化順序として、1番目が自宅最寄駅、2番目が年齢と決定されたとする。汎化順序決定部62は、汎化順序が1番に決定された自宅最寄駅の汎化要求を汎化部30に送信するS1702。汎化要求を受信した汎化部30は、汎化ツリー記憶部20から自宅最寄駅の汎化ツリーを取得する。汎化ツリーを取得した汎化部30は、下位グループを持つノード世田谷区、目黒区、東京23区に対して、世田谷区、目黒区、東京23区の順にループ1の処理を行う。取得データ選択部26は、ユーザ情報記憶部12を参照し、世田谷区に紐づく下位グループ二子玉川、下北沢、東北沢のデータ数をそれぞれ6、6、1と算出するS1801。そして、取得データ選択部26は、下位グループ二子玉川、下北沢、東北沢の各々についてループ2の処理を行う。取得データ選択部26は、取得データ記憶部28を参照し、前回の取得データを確認するS1802。ここでは、前回の取得データがなかったため、取得データ選択部26は、新たに取得データの数mを算出するS1803。なお、k=4であるため、m=4/3=1.333となる。そして、取得データ選択部26は、mk=5.333を閾値として汎化判定を行うS1804。具体的には、自宅最寄駅が二子玉川のグループのデータ数は6であるため、6-5.333>0と判定される。したがって、取得データ選択部26は、自宅最寄駅が二子玉川のグループからm=1.333を切り上げた2個の取得データを選択する。例えば、取得データ選択部26は、ユーザ識別子User001、User002の2個のデータを取得データとして選択する。そして、汎化部30は、選択された取得データの自宅最寄駅を世田谷区に汎化するS1805。また、取得データ選択部26は、取得データに関する情報を取得データ記憶部28に記憶するS1807。同様の処理が、下北沢及び東北沢についても実施される。なお、自宅最寄駅が東北沢のグループはデータ数が1であるため、汎化判定S1804の結果が負となり、グループ内の全てのデータの自宅最寄駅が世田谷区に汎化される。汎化順序が1番目の項目である自宅最寄駅の汎化終了後、汎化順序決定部62は、汎化順序が2番目の項目である年齢の汎化要求を汎化部30に送信するS1703。汎化順序決定部62は、汎化順序に従って、次に汎化する項目を年齢と決定するS1901。汎化順序決定部62は、項目年齢が未処理であるかどうか確認しS1902未処理の項目であるため、項目年齢に対してループ3の処理を起動する。これにより、自宅最寄駅の汎化後に、さらに年齢の汎化を行うことができる。また、さらにその他の項目が存在する場合には、その項目に対して再帰的に匿名化処理が起動されることとなるS1904。このように、匿名化対象のユーザデータのユーザ情報に複数の項目が存在する場合においても、k匿名性が満たされるように匿名化することが可能である。なお、図18に示した処理において取得データの数を算出する際にS1803、全ての親グループのデータ数がk個以上となるように取得データ数を算出することとしてもよい。例えば、図21に示すように、汎化ツリーが複数階層となっている場合では、世田谷区および目黒区に対してループ1の処理が行われた後に、東京23区に対してループ1の処理が行われる。このとき、世田谷区および目黒区に対してループ1の処理が行われた段階では、世田谷区および目黒区のグループはk匿名性を満たした状態となる。この後、東京23区に対してループ1の処理が行われる際に、世田谷区および目黒区のグループからデータが取得されると、世田谷区または目黒区のグループがk匿名性を満たさなくなる可能性がある。この場合、k匿名性を満たさなくなってしまうグループは、全てのデータが東京23区に汎化されてしまうこととなる。そのため、東京23区に対してループ1の処理が行われる際に取得されるデータ数を加味したうえで、世田谷区および目黒区のデータ数を決定することとしてもよい。また、同一階層の親グループが複数存在する場合には、各親グループにおいて、下位グループからの取得データ数の割合が等しくなるように取得データの数を調整することとしてもよい。例えば、図18に示す処理の代わりに、図22に示す処理を実行することが可能である。図22に示す処理では、まず、取得データ選択部26は、ユーザ情報記憶部12に格納されているユーザデータを汎化ツリーにマッピングするS2201。なお、マッピングとは、ユーザデータの各々が汎化ツリーで定義されたグループのいずれに該当するかを確認することである。そして、取得データ選択部26は、同じ深さの親グループを検索するS2202。ここで、親グループとは、下位に紐づくグループを有するグループのことであり、図21に示す汎化ツリーの場合であれば、世田谷区と目黒区が同じ深さの親グループとなる。そして、取得データ選択部26は、各親グループについて、下位グループから取得する取得データ数合計値を算出する。続いて、取得データ選択部26は、親グループ間における取得データ数の差を計算するS2204。そして、取得データ数の差が所定の閾値T未満であれば、親グループ間における、下位グループからの取得データ数のばらつきが小さいと判定される。この場合、当初算出された数の取得データが下位グループから取得されることとなる。そして、汎化部30は、算出された数の取得データを下位グループから取得し、上位グループへの汎化を実行するS2205。なお、同じ深さの親グループが3つ以上存在する場合、取得データ数の差は、例えば、取得データ数の最大値と最小値の差や、分散を用いることができる。一方、取得データ数の差が所定の閾値T以上であれば、親グループ間における、下位グループからの取得データ数のばらつきが大きいと判定される。この場合、取得データ選択部26は、下位グループから取得する取得データの割合が等しくなるように、取得データ数を調整するS2206。ここで、取得データ数の調整は、例えば、上位グループに汎化するデータ数が最小となり、かつ、k匿名性が満たされるように行われる。なお、下位グループによっては、全データが取得データとして選択される可能性もある。そして、汎化部30は、調整された数の取得データを下位グループから取得し、上位グループへの汎化を実行するS2207。なお、ある親グループに紐づく下位グループのデータが全て取得データとなる場合は、この親グループにおける取得データの割合は考慮しなくてもよい。また、取得データの割合を親グループ間で等しくするのではなく、グループごとに重みづけを行うこととしてもよい。例えば、グループ配下の情報の重要度や情報量を考慮して、取得データの割合を調整することができる。具体的には、例えば、図21に示す汎化ツリーのようにグループが形成されており、世田谷区配下の情報の方が目黒区配下の情報よりも重要度が高い場合を想定する。このとき、世田谷区および目黒区の下位グループから取得する取得データの割合を調整する際に、情報の重要度を考慮することができる。例えば、世田谷区および目黒区において、取得データの割合を単純に等しくするのではなく、世田谷区の取得データの割合を目黒区の取得データの割合よりも低くすることができる。例えば、取得データの割合が等しくなるように調整すると、世田谷区の取得データの割合が、例えば、50から80に変更されてしまう場合、情報の重要度を考慮し、世田谷区の取得データの割合を80よりも低くすることができる。すなわち、グループ配下の情報の重要度を考慮して、取得データの割合を調整することとしてもよい。また、例えば、世田谷区の取得データの割合が50、目黒区の取得データの割合が80である場合、この割合で世田谷区および目黒区の汎化を行うと、世田谷区の下位グループのデータ数は汎化前の50となり、目黒区の下位グループのデータ数は汎化前の20となる。そのため、世田谷区の下位グループと目黒区の下位グループとの間で、汎化後に残るデータ数の割合に大きな差が生じてしまい、グループ間のデータ数の比較精度が低下してしまう。つまり、目黒区の下位グループは情報量が小さく、価値が低くなってしまう。そこで、例えば、目黒区の下位グループの全てのデータを目黒区に汎化することとしてもよい。すなわち、グループ配下の情報の情報量を考慮して、取得データの割合を調整することとしてもよい。なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るととともに、本発明にはその等価物も含まれる。この出願は、2011年1月5日に出願された日本出願特願2011-000754を基礎とする優先権を主張し、その開示の全てをここに取り込む。以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。本実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。付記1ユーザ情報を含むデータが記憶されたユーザ情報記憶部を参照し、複数のユーザの前記データを前記ユーザ情報に基づいてグルーピングすると所定の匿名性指標が満たされないグループである特異点グループを検出する特異点検出部と、前記特異点グループ以外の各グループからデータを取得して、前記特異点グループのデータとともに前記ユーザ情報を同一の値に汎化すると、全グループが前記匿名性指標を満たすように、前記匿名性指標に応じた所定規則に基づいて、各グループから取得するデータである取得データを選択する取得データ選択部と、前記特異点グループのデータと前記取得データとを、前記ユーザ情報を同一の値に汎化することにより匿名化データを生成し、前記特異点グループ以外の各グループの前記取得データ以外のデータとともに匿名化ユーザ情報記憶部に格納する汎化部と、を備える匿名化装置。付記2付記1に記載の匿名化装置であって、前記取得データ選択部により選択された前記取得データを示す情報を記憶する取得データ記憶部をさらに備え、前記取得データ選択部は、前記取得データ記憶部を参照し、以前に選択された取得データが存在する場合は、該取得データを前記取得データとして選択する、匿名化装置。付記3付記1または2に記載の匿名化装置であって、前記取得データ選択部は、前記所定規則に基づいて、各グループのデータ数に応じた数の前記取得データを各グループから選択する、匿名化装置。付記4付記1または2に記載の匿名化装置であって、前記取得データ選択部は、前記所定規則に基づいて、前記グループの数に応じた数の前記取得データを各グループから選択する、匿名化装置。付記5付記3または4に記載の匿名化装置であって、前記取得データ選択部は、前記特異点グループのデータと前記取得データとから前記匿名化データを生成しても前記匿名性指標が満たされない場合は、さらに、他のグループの全てのデータを取得データとして選択する、匿名化装置。付記6付記3または4に記載の匿名化装置であって、前記取得データ選択部は、さらに、前記取得データが取得されると前記匿名性指標が満たされなくなるグループの全てのデータを取得データとして選択する、匿名化装置。付記7付記1~6の何れか一項に記載の匿名化装置であって、前記取得データ選択部は、前記匿名化データのユーザ情報の抽象度が最も低くなるように前記取得データを選択する、匿名化装置。付記8付記1~7の何れか一項に記載の匿名化装置であって、前記取得データ選択部は、前記特異点グループが存在しない場合であっても、前記所定規則に基づいて各グループから取得する取得データを選択し、前記汎化部は、前記取得データ選択部によって選択された取得データのユーザ情報を同一の値に汎化することにより匿名化データを生成し、前記取得データ以外のデータとともに前記匿名化ユーザ情報記憶部に格納する、匿名化装置。付記9付記1~8の何れか一項に記載の匿名化装置であって、前記ユーザ情報記憶部を参照し、前記特異点グループであったグループのデータ数が前記匿名性指標を満たす数以上増加している場合は、該増加したデータはユーザ情報の値を汎化せずに前記匿名化ユーザ情報記憶部に格納する分割部をさらに備える、匿名化装置。付記10付記1~9の何れか一項に記載の匿名化装置であって、前記ユーザ情報が複数の項目を有する場合、該複数の項目について汎化を行う順序を決定する汎化順序決定部をさらに備え、前記特異点検出部、前記取得データ選択部、及び前記汎化部は、前記汎化順序決定部によって決定された順序にしたがって、汎化対象となる項目を順に選択し、選択された項目に対して、特異点グループの検出、取得データの選択、及び汎化を行う、匿名化装置。"