(57)【要約】【課題】パーソナルデータを、有用性を維持しつつ匿名化する。【解決手段】匿名化装置１は、複数の個人それぞれの個人情報を含むパーソナルデータ２１を匿名化する。匿名化装置１は、パーソナルデータ２１について、属性ごとに、所定幅の区間で形成される階級ごとに度数を表す度数分布表を生成する度数分布表生成部１１と、属性ごとに、生成された度数分布表の複数の階級の中で予め定められた閾値であって２以上の閾値の倍以上の度数を有する階級を、それぞれ度数が閾値以上となるように複数の階級に分割する詳細化情報生成部１２と、分割された後の、属性ごとの度数分布表の各階級の区間および各階級の度数を出力する詳細化情報出力部１３と、を有する。【選択図】図１
2019175002.tif 000002
【特許請求の範囲】
【請求項１】
複数の個人それぞれの個人情報を含むパーソナルデータを匿名化する匿名化装置であって、
前記パーソナルデータについて、属性ごとに、所定幅の区間で形成される階級ごとに度数を表す度数分布表を生成する第１の生成部と、
属性ごとに、前記第１の生成部によって生成された度数分布表の複数の階級の中で予め定められた閾値であって２以上の閾値の倍以上の度数を有する階級を、それぞれ度数が前記閾値以上となるように複数の階級に分割する分割部と、
前記分割部によって分割された後の、属性ごとの度数分布表の各階級の区間および各階級の度数を出力する出力部と、
を有することを特徴とする匿名化装置。
【請求項２】
前記第１の生成部は、さらに、前記度数分布表に含まれる複数の階級のうち、度数が前記閾値未満を示す階級を削除し、削除した階級を除く前記度数分布表を生成する
ことを特徴とする請求項１に記載の匿名化装置。
【請求項３】
前記分割部は、予め定められた閾値であって２以上の閾値の倍以上の度数を有する階級を、当該階級の区間幅の半分ずつの複数の階級に分割する
ことを特徴とする請求項１に記載の匿名化装置。
【請求項４】
前記出力部は、属性ごとに、分割される前の各階級の区間および各階級の度数を有する度数分布表を用いてヒストグラムを生成し、生成したヒストグラムに、分割された後の各階級の区間および各階級の度数を重ねて表すヒストグラムを出力する
ことを特徴とする請求項１に記載の匿名化装置。
【請求項５】
提供先から提供を所望する属性および区間を対応付けて受け付ける受付部と、
前記受付部によって受け付けられた属性に対応付けられた区間が前記分割された後の階級の区間と一致するか、または前記分割された後の階級の区間を連結した区間と一致するかを判定する判定部と、
前記判定部によって前記区間が前記分割された後の階級の区間と一致する、または前記分割された後の階級の区間を連結した区間と一致すると判定された場合には、前記パーソナルデータの属性の属性値を前記区間に置き換えて、前記パーソナルデータを匿名化する匿名化部と、
をさらに有することを特徴とする請求項１から請求項４のいずれか１つに記載の匿名化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、匿名化装置に関する。
【背景技術】
【０００２】
複数の個人それぞれの個人情報を含むパーソナルデータを匿名化して提供する技術が知られている（例えば、特許文献１，３参照）。かかる技術の一例として、匿名化装置は、他の装置と連携して他の装置と共通して使用するデータの匿名化の汎化方針である共通汎化方針を決定し、共通汎化方針を基にデータを匿名化する。そして、利用者側の装置は、匿名化装置から提供される匿名化後のデータを集約する。
【０００３】
しかしながら、匿名化装置は、汎化方針に利用者側の意向を取り入れていないため、利用者にとっての有用性を維持できない場合がある。例えば、データ属性「年齢」の共通汎化方針が１０歳階級とする場合に、ある利用者は８０歳代だけは２歳階級のデータが欲しい場合でも、その意向を反映することができない。
【０００４】
そこで、匿名化装置は、利用者から意向を受け取り、利用者の意向に沿った匿名化をして、匿名性が満たされている場合には情報を提供し、満たされていない場合には情報を提供しないという方式も考えられる。
【０００５】
また、匿名化装置が、パーソナルデータについて、開示の対象を示す開示対象情報と開示の形式を示す開示形式情報とを含む開示要求に基づいて解析された解析結果の匿名性に基づいて、開示対象情報及び開示形式情報の少なくとも一方について、匿名性を高くするための変更を示唆するフィードバック情報を含む開示応答を出力するという技術が知られている（例えば、特許文献２参照）。すなわち、匿名化装置が、利用者の意向に沿った匿名化をして、匿名性が不十分である場合には、匿名性を高めるフィードバック情報を利用者に提供する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１４／１８５０４３号
【特許文献２】国際公開第２０１３／０２７７８５号
【特許文献３】特開２０１５−６９５３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、匿名化されたデータを利用者に提供した場合に、匿名化されたデータから匿名性が破られる場合があるという問題がある。例えば、匿名化装置が複数の意向を利用者から受け付けた場合に、利用者が匿名化装置から提供される、複数の意向それぞれに対する情報を分析することで、匿名性を破ることができてしまう場合がある。
【０００８】
ここで、複数の意向を受け付けた場合の問題について説明する。図１７は、複数の意向を受け付けた場合の問題を説明する図である。図１７に示すように、複数の意向が利用者から提出されたとする。第１の意向は、「年齢を１０歳単位に一般化するが、８０歳代は５歳単位とする」であるとする。第２の意向は、「年齢を１０歳単位に一般化するが、８０歳代は８３歳以下と８４歳以上とする」であるとする。また、匿名化装置がデータを提供する条件は、各年齢区間に含まれる年齢を持つ個人の人数がデータ中に２人以上いることとし、その提供条件は利用者も知っているとする。
【０００９】
第１の意向については、匿名化装置は、データを意向通りに一般化すると提供条件を満たすことが確認でき、一般化後のデータを利用者に提供したとする。また、第２の意向については、匿名化装置は、データを意向通りに一般化すると提供条件を満たさないことが確認でき、提供不可の拒絶を利用者に通知したとする。
【００１０】
すると、利用者は、この２つの対応から背理法により、「８０〜８４」には、８０歳代の８３歳以下に１人、８４歳に１人含まれていることを判別することができてしまう。このデータに含まれ得る８４歳の人が仮に唯一人でｘｘさんであるとわかっているとき、ｘｘさんがＨＩＶであるとわかってしまう。すなわち、利用者は、２つの対応から、匿名性を破ることができてしまう。
【００１１】
１つの側面では、パーソナルデータを、有用性を維持しつつ匿名化することを目的とする。
【課題を解決するための手段】
【００１２】
１つの案では、匿名化装置は、複数の個人それぞれの個人情報を含むパーソナルデータを匿名化する匿名化装置であって、前記パーソナルデータについて、属性ごとに、所定幅の区間で形成される階級ごとに度数を表す度数分布表を生成する第１の生成部と、属性ごとに、前記第１の生成部によって生成された度数分布表の複数の階級の中で予め定められた閾値であって２以上の閾値の倍以上の度数を有する階級を、それぞれ度数が前記閾値以上となるように複数の階級に分割する分割部と、前記分割部によって分割された後の、属性ごとの度数分布表の各階級の区間および各階級の度数を出力する出力部と、を有する。
【発明の効果】
【００１３】
１つの態様によれば、パーソナルデータを、有用性を維持しつつ匿名化できる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施例に係る匿名化装置の構成を示す機能ブロック図である。
【図２Ａ】図２Ａは、実施例に係る匿名化装置の処理の一例を示す図（１）である。
【図２Ｂ】図２Ｂは、実施例に係る匿名化装置の処理の一例を示す図（２）である。
【図３】図３は、実施例に係るパーソナルデータの一例を示す図である。
【図４】図４は、実施例に係る度数分布表の一例を示す図である。
【図５】図５は、体重と性別のクロス集計表の一例を示す図である。
【図６】図６は、ｋ未満を削除した度数分布表の一例を示す図である。
【図７】図７は、実施例に係る度数分布表（詳細化）の一例を示す図である。
【図８】図８は、詳細化した２次元クロス集計表の一例を示す図である。
【図９】図９は、実施例に係る詳細化情報付きヒストグラム情報の一例を示す図である。
【図１０】図１０は、実施例に係る一般化要求の一例を示す図である。
【図１１】図１１は、検査ＮＧとなる一般化要求の一例を示す図である。
【図１２】図１２は、実施例に係る一般化後データの一例を示す図である。
【図１３】図１３は、実施例に係る加工後の一般化後データの一例を示す図である。
【図１４】図１４は、実施例に係る第１の出力部の処理のフローチャートの一例を示す図である。
【図１５】図１５は、実施例に係る第２の出力部の処理のフローチャートの一例を示す図である。
【図１６】図１６は、匿名化プログラムを実行するコンピュータの一例を示す図である。
【図１７】図１７は、複数の意向を受け付けた場合の問題を示す図である。
【発明を実施するための形態】
【００１５】
以下に、本願の開示する匿名化装置の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例】
【００１６】
［匿名化装置の構成］
図１は、実施例に係る匿名化装置の構成を示すブロック図である。図１に示す匿名化装置１は、複数の個人それぞれの個人情報を含むパーソナルデータを、当該データの提供者側と利用者側とのやりとりに基づいて匿名化する。ここでいう「匿名化」とは、個人を特定できないようにすることをいい、実施例では、「一般化」と同義であるとする。なお、実施例では、パーソナルデータを匿名化して提供する主体を「提供者」といい、匿名化されたデータを利用する主体を「利用者」または「提供先」というものとする。
【００１７】
ここで、実施例に係る匿名化装置１の処理の一例を、図２Ａおよび図２Ｂを参照して説明する。図２Ａおよび図２Ｂは、実施例に係る匿名化装置の処理の一例を示す図である。
【００１８】
図２Ａに示すように、提供者側では、匿名化装置１が、パーソナルデータ２１について、属性ごとに、所定幅の区間で形成される階級ごとに度数を表すヒストグラム２２´を生成する。
【００１９】
ここでいうパーソナルデータ２１は、複数の個人それぞれの個人情報を含むデータである。パーソナルデータ２１は、例えば、１人１行の複数行のデータであって、１行には複数の属性の属性値を含む２次元の表データである。但し、パーソナルデータ２１は、２次元の表データの形式に限定されるものではない。ここでは、パーソナルデータ２１には、複数の個人それぞれの個人情報として年齢および体重を含むデータが設定される。
【００２０】
ここでいうヒストグラム２２´は、度数分布表であっても良い。ここでは、ヒストグラム２２´は、年齢について、１０歳幅の区間で形成される階級ごとに度数を表わしている。
【００２１】
匿名化装置１は、ヒストグラム２２´に含まれる複数の区間のうち、度数が閾値ｋ未満を示す区間を削除する（＜１＞）。これは、匿名性が破られないようにするため、特定の属性値が全行の中にｋ個以上存在するようにするためである。つまり、特定の属性値を持つ行数が全行の中にｋ個未満となることを防止し、特定の属性値の個人が知られる（匿名性が破られる）ことを防止するためである。閾値ｋは、例えば、「２」であったり、「３」であったりするが、「２」以上であれば良い。実施例では、閾値ｋは「２」であるとする。ここでは、年齢が８０代の度数が閾値ｋ未満であるので、８０代の区間が削除される。
【００２２】
次に、匿名化装置１は、削除した後のヒストグラム２２´の複数の区間の中で閾値ｋの倍以上の度数を有する区間を、それぞれ度数が閾値ｋ以上となるように、互いに重なりのないように、複数の区間に分割する（＜２＞）。例えば、区間を半分の区間に分割すれば良い。ここでは、例えば、年齢が６０代の区間が閾値ｋの倍以上の度数を有する区間であるとする。すると、匿名化装置１は、６０代の区間を、それぞれ度数が閾値ｋ以上となるように、互いに重なりのないように、度数が４人を示す６０〜６４の区間と度数が３人を示す６５〜６９の区間に分割する。なお、匿名化装置１は、区間の度数が閾値ｋ以上になる限り、区間を半分ずつに分割する処理を繰り返せば良い。
【００２３】
次に、匿名化装置１は、分割後の各区間の情報および各区間の度数の情報を、提供先に出力する。例えば、匿名化装置１は、詳細化された区間を用いたヒストグラムの情報を提供先に出力する。ここでは、各区間の度数の情報は、例えば、以下のようになる。「１０〜１９」の度数が２、・・・、「６０〜６４」の度数が４、「６５〜６９」の度数が３、「７０〜７９」の度数が２である。そして、「８０代」の度数は出力されない。すなわち、匿名化装置１は、匿名性を確保する観点から、詳細化が可能な区間の情報を提供先に出力する。
【００２４】
匿名化装置１は、他の属性である体重についても、年齢の場合と同様の処理を行う（＜１＞〜＜３＞）。
【００２５】
図２Ｂに示すように、提供先は、属性ごとに、提供者側から出力された分割後の区間を組み合わせて一般化の意向を作成する。ここでは、提供先は、年齢が高齢であり、体重が高体重である人に興味がある場合とする。提供先の意向は、年齢については、「６０未満」、「６０〜６４」、「６５〜６９」、「７０代」であり、体重については、「７０未満」、「７０台」、「８０台」であるとする。体重についての「７０未満」は、３０台、４０台、・・・、６０台を組み合わせたものである。
【００２６】
これにより、提供先は、パーソナルデータ２１について、匿名化されるデータを、有用性を維持したまま要求することができる。ここでいう「有用性」とは、匿名化されるデータを用いて提供先が分析する場合に有用であることをいう。
【００２７】
匿名化装置１は、提供先から一般化についての意向を含む一般化要求を受け付ける。
【００２８】
次に、匿名化装置１は、一般化についての意向の区間をチェックする（＜４＞）。すなわち、匿名化装置１は、意向のそれぞれの区間が、分割された後のいずれかの区間と一致するか、または、分割された後の区間を連結した区間と一致するかを判定する。匿名化装置１が、意向のそれぞれの区間が、分割された後のいずれかの区間と一致するか、または、分割された後の区間を連結した区間と一致する場合には、一般化を受認する。意向のそれぞれの区間が、分割された後のいずれかの区間と一致するか、または分割された後の区間を連結した区間と一致すれば、これらの区間の度数が閾値ｋ以上となるので、匿名性が破られないからである。ここでは、匿名化装置１は、一般化についての意向のそれぞれの区間は、分割された後のいずれかの区間と一致するか、または分割された後の区間を連結した区間と一致するため、一般化を受認する。なお、匿名化装置１が、意向のそれぞれの区間が、分割された後のいずれかの区間と一致しないか、および、分割された後の区間を連結した区間と一致しない場合には、一般化を拒絶する。
【００２９】
次に、匿名化装置１は、意向に含まれる属性ごとに、パーソナルデータ２１の属性値を、意向に含まれる該当する区間に置き換えて、パーソナルデータ２１を一般化する（＜５＞）。符号２４で示されるデータが、一般化後データである。なお、該当する区間がない属性値は、空白値や予め定められた欠損値に置換されれば良い。ここでは、例えば、パーソナルデータ２１の２行目について、年齢が「６２」であるので、意向に含まれる該当する区間「６０−６４」に置換され、体重が「８２」であるので、意向に含まれる該当する区間「８０台」に置換される。パーソナルデータ２１の４行目について、年齢が「８４」であるので、意向に含まれる該当する区間がなく、空白値に置換され、体重が「６４」であるので、意向に含まれる該当する区間「７０未満」に置換される。
【００３０】
そして、匿名化装置１は、一般化後データ２４について、匿名性を評価し、匿名性が破られるリスクが低いと評価すると、提供先に提供する（＜６＞）。
【００３１】
これにより、匿名化装置１は、パーソナルデータ２１を提供先の有用性を維持しつつ匿名化することが可能となる。言い換えれば、匿名化装置１は、パーソナルデータ２１について、匿名性と有用性を両立した一般化を実現することができる。このような匿名化装置１の構成について、以下で説明する。
【００３２】
匿名化装置１は、制御部１０および記憶部２０を有する。
【００３３】
制御部１０は、ＣＰＵ（Central  Processing  Unit）などの電子回路に対応する。そして、制御部１０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部１０は、度数分布表生成部１１、詳細化情報生成部１２、詳細化情報出力部１３、一般化要求入力部１４、要求検査部１５、一般化部１６、一般化後データ評価部１７および一般化後データ出力部１８を有する。第１の出力部は、詳細化が可能な区間の情報を提供先に出力する機能部である。第２の出力部は、提供先の意向に基づいて一般化を実施した結果を提供先に出力する機能部である。第１の出力部は、度数分布表生成部１１、詳細化情報生成部１２および詳細化情報出力部１３を含む。第２の出力部は、一般化要求入力部１４、要求検査部１５、一般化部１６、一般化後データ評価部１７および一般化後データ出力部１８を含む。なお、度数分布表生成部１１は、第１の生成部の一例である。詳細化情報生成部１２は、分割部の一例である。詳細化情報出力部１３は、出力部の一例である。一般化要求入力部１４は、受付部の一例である。要求検査部１５は、判定部の一例である。一般化部１６は、匿名化部の一例である。
【００３４】
記憶部２０は、例えば、ＲＡＭ、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部２０は、パーソナルデータ２１、度数分布表２２、度数分布表（詳細化）２３および一般化後データ２４を含む。
【００３５】
パーソナルデータ２１は、複数の個人それぞれの個人情報を含むデータである。パーソナルデータ２１は、例えば、１人１行の複数行のデータであって、１行には複数の属性の値を含む２次元の表データである。但し、パーソナルデータ２１は、２次元の表データの形式に限定されず、３次元の表データの形式であっても良い。なお、パーソナルデータ２１の一例は、後述する。
【００３６】
度数分布表２２は、パーソナルデータ２１について、属性ごとに、所定の幅の区間で形成される階級ごとに度数を表わしたものである。なお、度数分布表２２の一例は、後述する。
【００３７】
度数分布表（詳細化）２３は、度数分布表２２から階級を詳細化して生成される度数分布表のことをいう。階級の詳細化は、後述する詳細化情報生成部１２によって行われる。なお、度数分布表（詳細化）２３の一例は、後述する。
【００３８】
一般化後データ２４は、パーソナルデータ２１を一般化した後のデータである。一般化後データ２４は、後述する一般化部１６によって生成される。なお、一般化後データ２４の一例は、後述する。
【００３９】
度数分布表生成部１１は、パーソナルデータ２１について、属性ごとに、所定幅の区間で形成される階級ごとに度数を表す度数分布表２２を生成する。例えば、度数分布表生成部１１は、Ｒ言語のｈｉｓｔ関数を利用して度数分布表２２を生成するが、Ｒ言語のｈｉｓｔ関数に限定されず、その他の方法で度数分布表２２を生成しても良い。なお、度数分布表生成部１１は、度数分布表２２の代わりに、ｎ属性についてのｎ次元の度数分布表に相当するクロス集計表を生成しても良い。
【００４０】
ここで、実施例に係るパーソナルデータ２１の一例を、図３を参照して説明する。図３は、実施例に係るパーソナルデータの一例を示す図である。図３に示すように、パーソナルデータ２１は、年齢の属性、体重の属性および性別の属性を対応付けたデータである。パーソナルデータ２１のこれらの属性の中で年齢の属性および体重の属性は、個人情報である。パーソナルデータ２１のそれぞれの行には、個人に対応する属性ごとの属性値が設定される。一例として、１行目には、年齢が「６８」である場合に、体重として「４９」、性別として「女」と記憶している。
【００４１】
また、実施例に係る度数分布表２２の一例を、図４を参照して説明する。図４は、実施例に係る度数分布表の一例を示す図である。図４に示すように、度数分布表２２は、属性ごとに、所定の幅の区間と度数とを対応付けた情報である。一例として、属性が年齢である場合も、体重である場合も、区間の幅を「１０」としている。属性が年齢である場合には、区間として「６０〜６９」、度数として「１」と記憶している。区間として「７０〜７９」、度数として「５」と記憶している。区間として「８０〜８９」、度数として「２」と記憶している。属性が体重である場合には、区間として「４０〜４９」、度数として「６」と記憶している。区間として「５０〜５９」、度数として「２」と記憶している。
【００４２】
また、度数分布表２２の代わりのクロス集計表の一例を、図５を参照して説明する。図５は、体重と性別のクロス集計表の一例を示す図である。すなわち、図５では、図４が示す属性が体重である場合の体重と性別のクロス集計表の一例が表わされている。一例として、体重の区間が「４０〜４９」である場合であって性別が「女」である場合の度数として「４」、性別が「男」である場合の度数として「２」と記憶している。体重の区間が「５０〜５９」である場合であって性別が[女]である場合の度数として「０」、性別が「男」である場合の度数として「２」と記憶している。
【００４３】
図１に戻って、度数分布表生成部１１は、度数分布表２２に含まれる複数の区間のうち、度数が閾値ｋ未満を示す区間を削除する。これは、匿名性が破られないようにするためである。すなわち、閾値ｋ未満の区間に含まれる特定の個人が知られる（匿名性が破られる）ことを防止するためである。
【００４４】
ここで、閾値ｋ未満を削除した度数分布表の一例を、図６を参照して説明する。図６は、ｋ未満を削除した度数分布表の一例を示す図である。閾値ｋは「２」であるとする。図６に示すように、図４で示した年齢の度数分布表２２について、度数がｋ未満である「１」を示す区間「６０〜６９」の行が削除されている。
【００４５】
図１に戻って、詳細化情報生成部１２は、度数分布表生成部１１によって生成された度数分布表２２の複数の区間の中で閾値ｋの倍以上の度数を有する区間を、それぞれ度数が閾値ｋ以上となるように、複数の区間に分割する。なお、分割される複数の区間は、互いの重なりのない区間であるとする。例えば、詳細化情報生成部１２は、度数が閾値ｋの倍以上の区間を、半分ずつとなるような複数の区間に分割する。詳細化情報生成部１２は、パーソナルデータ２１を用いて、分割後の区間の度数を計算する。詳細化情報生成部１２は、分割後の区間の度数が閾値ｋ以上になる限り、区間を半分ずつに分割する処理を繰り返す。詳細化情報生成部１２は、分割後の区間の度数がそれぞれ閾値ｋ以上であれば、度数分布表２２を分割後の区間に更新する。詳細化情報生成部１２は、分割後の区間のどちらか一方の度数が閾値ｋ未満であれば、度数分布表２２を分割後の区間に更新しない。このようにして、詳細化情報生成部１２は、度数分布表２２を詳細化した度数分布表（詳細化）２３を生成する。
【００４６】
ここで、詳細化の際に区間を半分ずつに分割するのは、提供先（利用者側）での有用性が高くなり易いからである。つまり、例えば、詳細化の際に、区間「４０−４９」を区間「４０−４２」と区間「４３−４９」とのデータが得られるより、半分ずつに分割された区間「４０−４４」と区間「４５−４９」とのデータが得られる方が、多くの利用者にとって有用であると考えられるからである。
【００４７】
ここで、実施例に係る度数分布表（詳細化）２３の一例を、図７を参照して説明する。図７は、実施例に係る度数分布表（詳細化）の一例を示す図である。
【００４８】
図７に示すように、図６で示した年齢の度数分布表２２の区間「７０〜７９」が、区間「７０〜７４」と区間「７５〜７９」とに分割されている。それぞれの区間の度数は、「２」、「３」であり、閾値ｋ以上である。すなわち、詳細化情報生成部１２は、区間「７０〜７９」の度数が「５」であり、２ｋ以上であるため、当該区間を半分の区間とした区間「７０〜７４」と区間「７５〜７９」とに分割する。詳細化情報生成部１２は、パーソナルデータ２１を用いて、年齢について、分割後の区間「７０〜７４」の度数を「２」と計算する。分割後の区間「７５〜７９」の度数を「３」と計算する。詳細化情報生成部１２は、分割後の区間の度数がそれぞれ閾値ｋ以上であるので、度数分布表２２を分割後の区間に更新する。そして、詳細化情報生成部１２は、図７の左図の度数分布表（詳細化）２３を生成する。
【００４９】
また、図７に示すように、図６で示した体重の度数分布表２２の区間「４０〜４９」が、区間「４０〜４４」と区間「４５〜４９」とに分割されている。それぞれの区間の度数は、「２」、「４」であり、閾値ｋ以上である。すなわち、詳細化情報生成部１２は、区間「４０〜４９」の度数が「６」であり、２ｋ以上であるため、当該区間を半分の区間とした区間「４０〜４４」と区間「４５〜４９」とに分割する。詳細化情報生成部１２は、パーソナルデータ２１を用いて、体重について、分割後の区間「４０〜４４」の度数を「２」と計算する。分割後の区間「４５〜４９」の度数を「４」と計算する。詳細化情報生成部１２は、分割後の区間の度数がそれぞれ閾値ｋ以上であるので、度数分布表２２を分割後の区間に更新する。さらに、詳細化情報生成部１２は、区間「４５〜４９」の度数が「４」であり、２ｋ以上であるため、該当区間を半分の区間とした区間「４５〜４７」（４５以上４７．５未満を整数で表現）と区間「４８〜４９」（４７．５以上５０未満を整数で表現）に分割する。詳細化情報生成部１２は、パーソナルデータ２１を用いて、体重について、分割後の区間「４５〜４７」の度数を「１」と計算する。分割後の区間「４８〜４９」の度数を「３」と計算する。詳細化情報生成部１２は、分割後の区間の度数がどちらも閾値ｋ以上でないので、度数分布表２２を分割後の区間に更新しない。そして、詳細化情報生成部１２は、図７の右図の度数分布表（詳細化）２３を生成する。
【００５０】
なお、ｎ次元のクロス集計表に対しては、１つの属性に対して詳細化を行っても良いし、複数の属性に対して詳細化を行っても良い。１つの属性に対して詳細化する場合には、詳細化情報生成部１２は、上記と同様の処理をすれば良い。複数の属性に対して詳細化する場合には、詳細化情報生成部１２は、各区間の度数がｋ以上になる限り、各区間をｎ個の各属性について半分ずつ２ｎ分割する処理を繰り返せば良い。
【００５１】
ここで、図３のパーソナルデータ２１とは別のパーソナルデータの２次元のクロス集計表を詳細化したクロス集計表を、図８に示す。図８は、詳細化した２次元クロス集計表の一例を示す図である。図８左図は、図３のパーソナルデータ２１とは別のパーソナルデータから生成された２次元クロス集計表である。年齢「７０〜７９」および体重「４０〜４９」の区間の度数は、閾値ｋ以上であるため、詳細化情報生成部１２は、区間の分割を行う。この結果、詳細化情報生成部１２は、分割結果の各区分の度数が全て閾値ｋ以上となったので、図８右図のクロス集計表（詳細化）を生成する。
【００５２】
図１に戻って、詳細化情報出力部１３は、詳細化された度数分布表の情報を提供先に出力する。例えば、詳細化情報出力部１３は、詳細化情報生成部１２によって生成された属性ごとの度数分布表の各区間の情報および各区間の度数を詳細化情報として提供先に出力する。一例として、詳細化情報出力部１３は、詳細化された度数分布表を示す度数分布表（詳細化）２３をヒストグラムに変換した情報を出力しても良い。別の例として、詳細化情報出力部１３は、度数分布表２２から変換されたヒストグラムをベースにしたグラフの情報を出力しても良い。例えば、詳細化情報出力部１３は、分割される前の各階級の区間および各階級の度数を有するヒストグラムに、詳細化（分割）された後の各階級の区間および各階級の度数を重ねて表すために、補助線を追記する。そして、詳細化情報出力部１３は、補助線を追記したヒストグラムの情報を出力する。これにより、詳細化情報出力部１３が出力する各区間では閾値ｋ以上の度数があり、この区間の単位での一般化に制限することで、後述する提供先からの一般化要求のどの区間による意向でも匿名性が担保される。言い換えれば、詳細化情報出力部１３は、各区間には必ずｋ個以上のデータが含まれているので、この区間の単位での一般化に制限すれば、各属性単位でｋ個未満を識別することができず、一定の匿名性を確保できる。
【００５３】
ここで、詳細化情報付きのヒストグラムの情報を、図９を参照して説明する。図９は、実施例に係る詳細化情報付きヒストグラム情報の一例を示す図である。図９に示すように、属性が年齢である場合の詳細化情報付きヒストグラムが表わされている。かかるヒストグラムには、詳細化（分割）される前の１０歳階級のヒストグラムをベースにして、詳細化（分割）された後の区間と度数を表す補助線が追記されている。これにより、かかる詳細化情報付きのヒストグラムは、ベースのヒストグラムによる区間幅が揃っているため、提供先（利用者側）での有用性が高くなり易い。また、詳細化情報付きのヒストグラムの情報が出力されることにより、提供先（利用者側）が、詳細化情報を把握し易くなる。なお、詳細化情報付きヒストグラムは、さらに、度数の多少を色などで表現されても良い。
【００５４】
図１に戻って、一般化要求入力部１４は、提供先から一般化要求を入力として受け取る。一般化要求とは、各属性についてそれぞれどのように一般化するかの情報である。例えば、一般化要求入力部１４は、提供先から提供を所望する属性およびどのように一般化するかを示す区間を対応付けた情報を含む一般化要求を受け付ける。
【００５５】
ここで、一般化要求の一例を、図１０を参照して説明する。図１０は、実施例に係る一般化要求の一例を示す図である。図１０に示すように、一般化要求は、提供を所望する属性および区間を対応付けた情報を含む。区間は、一般化対象の属性をどのように一般化するかを示す情報である。一例として、属性が「年齢」である場合に、７０〜７９の各年齢を区間「７０〜７９」に一般化する。８０〜８９の各年齢を区間「８０〜８９」に一般化する。また、属性が「体重」である場合に、４０〜４４の各年齢を区間「４０〜４４」に一般化する。４５〜４９の各年齢を区間「４５〜４９」に一般化する。５０〜５９の各年齢を区間「５０〜５９」に一般化する。
【００５６】
図１に戻って、要求検査部１５は、一般化要求を検査し、一般化処理を進めるか否かを決定する。例えば、要求検査部１５は、一般化要求に含まれる属性に対する区間が、詳細化された（分割後の）いずれかの階級の区間に一致するか、または詳細化された（分割後の）階級の区間を連結した区間に一致するか否かを判定する。要求検査部１５は、一般化要求に含まれる属性に対する区間が、詳細化された（分割後の）いずれかの階級の区間に一致する場合、または詳細化された（分割後の）階級の区間を連結した区間に一致する場合には、一般化処理を進めると決定する。また、要求検査部１５は、一般化要求に含まれる属性に対する区間が詳細化された（分割後の）いずれかの階級の区間に一致しない、且つ詳細化された（分割後の）階級の区間を連結した区間に一致しない場合には、一般化処理を進めないと決定する。
【００５７】
一例として、要求検査部１５は、図１０で示す一般化要求を検査するとする。１行目について、属性「年齢」に対する区間「７０〜７９」は、詳細化された度数分布表２３（図７参照）の年齢の区間「７０〜７４」と「７５〜７９」とを連結した区間に一致する。２行目について、属性「年齢」に対する区間「８０〜８９」は、詳細化された度数分布表２３（図７参照）の年齢の区間「８０〜８９」に一致する。３行目について、属性「体重」に対する区間「４０〜４４」は、詳細化された度数分布表２３（図７参照）の体重の区間「４０〜４４」に一致する。４行目について、属性「体重」に対する区間「４５〜４９」は、詳細化された度数分布表２３（図７参照）の体重の区間「４５〜４９」に一致する。５行目について、属性「体重」に対する区間「５０〜５９」は、詳細化された度数分布表２３（図７参照）の体重の区間「５０〜５９」に一致する。したがって、要求検査部１５は、図１０で示す一般化要求に対して一般化処理を進めると決定する。
【００５８】
なお、検査がＮＧとなる一般化要求の一例を、図１１を参照して説明する。図１１は、検査ＮＧとなる一般化要求の一例を示す図である。図１１に示す一般化要求では、２行目について、属性「体重」に対する区間「４０〜５９」は、詳細化された度数分布表２３（図７参照）の体重の区間「４０〜４４」と「４５〜４９」と「５０〜５９」とを連結した区間に一致する。ところが、１行目については、属性「年齢」に対する区間「７０〜８４」は、詳細化された度数分布表２３（図７参照）のいずれかの年齢の区間に一致しない、且つ年齢の区間を連結した区間に一致しない。したがって、要求検査部１５は、図１１で示す一般化要求に対して一般化処理を進めないと決定する。
【００５９】
図１に戻って、一般化部１６は、一般化要求に対して一般化処理を進めると決定した場合には、パーソナルデータ２１を一般化要求に基づいて一般化処理を行う。例えば、一般化部１６は、一般化要求に対して一般化処理を進めると決定した場合には、一般化要求で指定される属性に対応する、パーソナルデータ２１の属性の属性値を、一般化要求で指定される区間に置き換えて、パーソナルデータ２１を一般化する。一般化部１６は、パーソナルデータ２１を一般化した結果として一般化後データ２４を生成する。なお、一般化部１６は、パーソナルデータ２１の属性値に対応する、一般化要求で指定される区間がない場合には、当該属性値を空白値や予め定められた欠損値に置き換えれば良い。
【００６０】
ここで、一般化後データ２４の一例を、図１２を参照して説明する。図１２は、実施例に係る一般化後データの一例を示す図である。図１２が示す一般化後データ２４は、図３で示したパーソナルデータ２１が図１０で示した一般化要求に基づき一般化されたものである。
【００６１】
例えば、一般化部１６は、パーソナルデータ２１と一般化要求とを受け付けると、パーソナルデータ２１の１行目から順番に、一般化要求で指定される属性に対応する、パーソナルデータ２１の属性の属性値を、一般化要求で指定される区間に置き換える。一例として、パーソナルデータ２１の１行目の年齢の属性値「６８」は一般化要求に該当する区間がないので、属性値「６８」は、空白値に置き換えられる。パーソナルデータ２１の１行目の体重の属性値「４９」は一般化要求に該当する区間「４５〜４９」に置き換えられる。パーソナルデータ２１の２行目の年齢の属性値「７１」は一般化要求に該当する区間「７０〜７９」に置き換えられる。パーソナルデータ２１の２行目の体重の属性値「４４」は一般化要求に該当する区間「４０〜４４」に置き換えられる。このようにして、一般化部１６は、一般化後データ２４を生成する。なお、図３で示したパーソナルデータ２１の性別の属性は、一般化要求に含まれていないので、図１２の一般化後データ２４では削除されているが、そのまま残しても良い。
【００６２】
図１に戻って、一般化後データ評価部１７は、一般化後データ２４について、さらに、匿名性を評価する。例えば、一般化後データ評価部１７は、一般化後データ２４について、ｋ−匿名性を満たしているか否かを評価する。一般化後データ評価部１７は、ｋ−匿名性を満たしていないと評価した場合には、一般化後データ２４を加工する。ここでいう「ｋ−匿名性」とは、同じ属性（属性の属性値）を持つ人が少なくともｋ人以上存在するように情報を匿名加工することをいう。一例として、一般化後データ評価部１７は、一般化後データ２４の同じ属性値の行がｋ個未満しかない行を削除する。そして、一般化後データ評価部１７は、削除した後、行を並び替える。これにより、一般化後データ評価部１７は、各行には必ずｋ個以上のデータが含まれているので、各行単位でｋ個未満を識別することができず、さらなる匿名性の向上を実現できる。なお、一般化後データ評価部１７は、一般化後データ２４の同じ属性値の行がｋ個未満しかない行を削除すると説明したが、これに限定されず、他の匿名性を担保できる方法に加工しても良い。
【００６３】
ここで、加工後の一般化後データ２４の一例を、図１３を参照して説明する。図１３は、加工後の一般化後データの一例を示す図である。図１３が示す加工後の一般化後データ２４は、図１２で示した一般化後データ２４を評価し、加工したものである。なお、ｋは、２であるとする。
【００６４】
例えば、一般化後データ評価部１７は、一般化後データ２４のｍ（１〜ｎ）行目から順番に、匿名性を評価するために、同じ属性値の行が閾値ｋ（ここでは「２」）個以上存在するか否かを判定する。一般化後データ評価部１７は、同じ属性値の行が２個以上存在しない場合には、ｍ行目の行を削除する。ここでは、１行目の年齢空白、体重「４５〜４９」の行が、２個未満しか存在しない。３行目の年齢「７０〜７９」、体重「４５〜４９」の行が、２個未満しか存在しない。したがって、一般化後データ評価部１７は、一般化後データ２４の１行目と３行目とを削除し、行をソートして、加工後の一般化後データ２４を生成する。
【００６５】
図１に戻って、一般化後データ出力部１８は、加工後の一般化後データ２４を提供先に出力する。
【００６６】
［第１の出力部のフローチャート］
図１４は、実施例に係る第１の出力部の処理のフローチャートの一例を示す図である。
【００６７】
図１４に示すように、度数分布表生成部１１は、パーソナルデータ２１（以下、Ｄで表わす）、閾値ｋを入力として受け付けると（ステップＳ１１）、パーソナルデータＤに未処理の属性があるか否かを判定する（ステップＳ１２）。なお、未処理の属性があれば属性ａとする。
【００６８】
パーソナルデータＤに未処理の属性ａがあると判定した場合には（ステップＳ１２；Ｙｅｓ）、度数分布表生成部１１は、パーソナルデータＤのうち属性ａの部分のデータに対し、通常のヒストグラム情報（以下、Ｈａで表わす）を生成する（ステップＳ１３）。ここでいうヒストグラム情報は、度数分布表２２に対応する。度数分布表生成部１１は、ヒストグラム情報Ｈａから度数がｋ未満の区間（ビン）を削除する（ステップＳ１４）。そして、度数分布表生成部１１は、次の属性を判定すべく、ステップＳ１２に移行する。
【００６９】
ステップＳ１２において、度数分布表生成部１１は、パーソナルデータＤに未処理の属性がないと判定した場合には（ステップＳ１２；Ｎｏ）、詳細化情報生成部１２は、全ヒストグラム情報Ｈａを未処理とみなす（ステップＳ１５）。詳細化情報生成部１２は、未処理のヒストグラム情報Ｈａがあるか否かを判定する（ステップＳ１６）。
【００７０】
未処理のヒストグラム情報Ｈａがあると判定した場合には（ステップＳ１６；Ｙｅｓ）、詳細化情報生成部１２は、未処理のヒストグラム情報Ｈａに未処理の区間があるか否かを判定する（ステップＳ１７）。なお、未処理の区間があればｒとする。未処理のヒストグラム情報Ｈａに未処理の区間がないと判定した場合には（ステップＳ１７；Ｎｏ）、詳細化情報生成部１２は、次のヒストグラム情報を判定すべく、ステップＳ１６に移行する。
【００７１】
一方、未処理のヒストグラム情報Ｈａに未処理の区間ｒがあると判定した場合には（ステップＳ１７；Ｙｅｓ）、詳細化情報生成部１２は、以下の処理を行う。詳細化情報生成部１２は、未処理の区間ｒを半分に分割すると、分割後各区間に分類されるパーソナルデータＤの度数（人数）はそれぞれｋ以上であるか否かを判定する（ステップＳ１８）。分割後各区間に分類されるパーソナルデータＤの度数（人数）はそれぞれｋ以上でないと判定した場合には（ステップＳ１８；Ｎｏ）、詳細化情報生成部１２は、次の未処理の区間を判別すべく、ステップＳ１７に移行する。
【００７２】
一方、分割後各区間に分類されるパーソナルデータＤの度数（人数）はそれぞれｋ以上であると判定した場合には（ステップＳ１８；Ｙｅｓ）、詳細化情報生成部１２は、区間ｒを半分ずつに分割した情報にヒストグラム情報Ｈａを更新する。更新されたヒストグラム情報Ｈａは、詳細化された度数分布表である度数分布表（詳細化）２３に対応する。詳細化情報生成部１２は、分割後の各区間を未処理とみなす（ステップＳ１９）。そして、詳細化情報生成部１２は、次の未処理の区間を判別すべく、ステップＳ１７に移行する。
【００７３】
ステップＳ１６において、未処理のヒストグラム情報Ｈａがないと判定した場合には（ステップＳ１６；Ｎｏ）、詳細化情報生成部１２は、ステップＳ２０に移行する。ステップＳ２０において、詳細化情報出力部１３は、未出力のヒストグラム情報Ｈａがあるか否かを判定する（ステップＳ２０）。未出力のヒストグラム情報Ｈａがあると判定した場合には（ステップＳ２０；Ｙｅｓ）。詳細化情報出力部１３は、未出力のヒストグラム情報Ｈａを提供先に出力する（ステップＳ２１）。そして、詳細化情報出力部１３は、次の未出力のヒストグラム情報を判別すべく、ステップＳ２０に移行する。
【００７４】
一方、未出力のヒストグラム情報Ｈａがないと判定した場合には（ステップＳ２０；Ｎｏ）、詳細化情報出力部１３は、第１の出力部の処理を終了する。
【００７５】
［第２の出力部のフローチャート］
図１５は、実施例に係る第２の出力部の処理のフローチャートの一例を示す図である。
【００７６】
図１５に示すように、一般化要求入力部１４は、パーソナルデータ２１（以下、Ｄで表わす）、詳細化されたヒストグラム情報群Ｈ、一般化要求Ｇを入力として受け付ける（ステップＳ３１）。ここでいう一般化要求Ｇは、提供先から受け付けられ、例えば、図１０で示される情報である。また、ここでいう詳細化されたヒストグラム情報は、度数分布表（詳細化）２３に対応する。
【００７７】
要求検査部１５は、一般化要求Ｇに未処理の属性があるか否かを判定する（ステップＳ３２）。なお、一般化要求Ｇの未処理の属性があればｂとする。一般化要求Ｇに未処理の属性があると判定した場合には（ステップＳ３２；Ｙｅｓ）、要求検査部１５は、一般化要求Ｇのうち未処理の属性ｂについての、一般化要求Ｇｂについて、それぞれの区間の間で重なりがあるか否かを判定する（ステップＳ３３）。
【００７８】
一般化要求Ｇｂについて、それぞれの区間の間で重なりがあると判定した場合には（ステップＳ３３；Ｙｅｓ）、要求検査部１５は、一般化要求をエラーとすべく、ステップＳ３６に移行する。
【００７９】
一般化要求Ｇｂについて、それぞれの区間の間で重なりがないと判定した場合には（ステップＳ３３；Ｎｏ）、要求検査部１５は、一般化要求Ｇｂに未処理の区間があるか否かを判定する（ステップＳ３４）。なお、一般化要求Ｇｂの未処理の区間があればｒとする。一般化要求Ｇｂに未処理の区間がないと判定した場合には（ステップＳ３４；Ｙｅｓ）、要求検査部１５は、以下の処理を行う。要求検査部１５は、詳細化されたヒストグラム情報群Ｈのうち未処理の属性ｂについての詳細化されたヒストグラム情報Ｈｂの１つ以上の区間を連結すると未処理の区間ｒになるか否かを判定する（ステップＳ３５）。
【００８０】
詳細化されたヒストグラム情報Ｈｂの１つ以上の区間を連結すると未処理の区間ｒになると判定した場合には（ステップＳ３５；Ｙｅｓ）、要求検査部１５は、次の未処理の区間を判定すべく、ステップＳ３４に移行する。
【００８１】
一方、詳細化されたヒストグラム情報Ｈｂの１つ以上の区間を連結すると未処理の区間ｒにならないと判定した場合には（ステップＳ３５；Ｎｏ）、要求検査部１５は、一般化要求をエラーとすべく、ステップＳ３６に移行する。
【００８２】
ステップＳ３６において、要求検査部１５は、要求に応じられない旨を提供先に出力する（ステップＳ３６）。そして、要求検査部１５は、要求検査処理を終了する。
【００８３】
ステップＳ３４において、一般化要求Ｇｂに未処理の区間がないと判定した場合には（ステップＳ３４；Ｎｏ）、要求検査部１５は、次の未処理のヒストグラム情報を判定すべく、ステップＳ３２に移行する。
【００８４】
ステップＳ３２において、一般化要求Ｇに未処理のヒストグラム情報がないと判定した場合には（ステップＳ３２；Ｎｏ）、要求検査部１５は、一般化部１６の一般化処理に移行する。
【００８５】
一般化部１６は、パーソナルデータＤに未処理の属性があるか否かを判定する（ステップＳ３８）。なお、未処理の属性があればａとする。パーソナルデータＤに未処理の属性があると判定した場合には（ステップＳ３８；Ｙｅｓ）、一般化部１６は、一般化要求Ｇに未処理の属性ａについての一般化要求Ｇａがあるか否かを判定する（ステップＳ３９）。
【００８６】
一般化要求Ｇに未処理の属性ａについての一般化要求Ｇａがないと判定した場合には（ステップＳ３９；Ｎｏ）、一般化部１６は、パーソナルデータＤのうち未処理の属性ａの部分のデータを全て削除する（ステップＳ４０）。一般化部１６は、次の未処理の属性を判定すべく、ステップＳ３８に移行する。
【００８７】
一方、一般化要求Ｇに未処理の属性ａについての一般化要求Ｇａがあると判定した場合には（ステップＳ３９；Ｙｅｓ）、一般化部１６は、パーソナルデータＤのうち未処理の属性ａの部分のデータについて、未処理のセルがあるか否かを判定する（ステップＳ４１）。なお、未処理のセルがあればｃとする。未処理のセルｃがないと判定した場合には（ステップＳ４１；Ｎｏ）、一般化部１６は、次の未処理の属性を判定すべく、ステップＳ３８に移行する。
【００８８】
一方、未処理のセルｃがあると判定した場合には（ステップＳ４１；Ｙｅｓ）、一般化部１６は、一般化要求Ｇａに、未処理のセルｃの値を含む区間があるか否かを判定する（ステップＳ４２）。なお、未処理のセルｃの値を含む区間があればｒとする。一般化要求Ｇａに未処理のセルｃの値を含む区間ｒがないと判定した場合には（ステップＳ４２；Ｎｏ）、一般化部１６は、セルｃの値を削除する（ステップＳ４３）。そして、一般化部１６は、次の未処理のセルを判定すべく、ステップＳ４１に移行する。
【００８９】
一方、一般化要求Ｇａに未処理のセルｃの値を含む区間ｒがあると判定した場合には（ステップＳ４２；Ｙｅｓ）、一般化部１６は、セルｃの値を区間ｒに置換する（ステップＳ４４）。そして、一般化部１６は、次の未処理のセルを判定すべく、ステップＳ４１に移行する。
【００９０】
ステップＳ３８において、パーソナルデータＤに未処理の属性がないと判定した場合には（ステップＳ３８；Ｎｏ）、一般化部１６は、一般化後データ評価部１７の一般化後データ評価処理に移行する。一般化後のパーソナルデータＤは、一般化後データ２４に対応する。
【００９１】
一般化後データ評価部１７は、必要に応じて、一般化後のパーソナルデータＤをさらに加工する（ステップＳ４５）。そして、一般化後データ出力部１８は、一般化後のパーソナルデータＤを提供先に出力する（ステップＳ４６）。
【００９２】
［実施例の効果］
上記実施例によれば、匿名化装置１は、複数の個人それぞれの個人情報を含むパーソナルデータ２１について、属性ごとに、所定幅の区間で形成される階級ごとに度数を表す度数分布表２２を生成する。匿名化装置１は、属性ごとに、生成された度数分布表２２の複数の階級の中で予め定められた閾値であって２以上の閾値の倍以上の度数を有する階級を、それぞれ度数が閾値以上となるように複数の階級に分割する。匿名化装置１は、分割された後の、属性ごとの度数分布表２３の各階級の区間および各階級の度数を、パーソナルデータ２１を所望する提供先に出力する。かかる構成によれば、匿名化装置１は、個人情報を含むパーソナルデータ２１を、提供先の有用性を維持しつつ匿名化することが可能となる。例えば、匿名化装置１は、各区間には必ず閾値以上の度数が含まれているので、この区間の単位での一般化（匿名化）に制限すれば、各属性単位で閾値未満を識別することができず、一定の匿名性を確保することが可能となる。
【００９３】
また、上記実施例によれば、匿名化装置１は、さらに、度数分布表２２に含まれる複数の階級のうち、度数が閾値未満を示す階級を削除し、削除した階級を除く度数分布表２２を生成する。かかる構成によれば、匿名化装置１は、個人情報を含むパーソナルデータ２１を、２以上の閾値未満を示す階級を削除することで、確実にパーソナルデータ２１の匿名化をすることが可能となる。
【００９４】
また、上記実施例によれば、匿名化装置１は、予め定められた閾値であって２以上の閾値の倍以上の度数を有する階級を、当該階級の区間幅の半分ずつの複数の階級に分割する。かかる構成によれば、匿名化装置１は、階級を詳細化する際に、階級を当該階級の区間幅を半分ずつに分割することで、多くの提供先（利用者）に有用な情報として提供できる。
【００９５】
また、上記実施例によれば、匿名化装置１は、属性ごとに、分割される前の各階級の区間および各階級の度数を有する度数分布表２２を用いてヒストグラムを生成する。そして、匿名化装置１は、生成したヒストグラムに、分割された後の各階級の区間および各階級の度数を重ねて表すヒストグラムを生成し、出力する。かかる構成によれば、匿名化装置１は、分割される前のヒストグラムに、分割された後の区間および度数を重ねて表すようにすることで、提供先が情報を視覚的に把握し易くなり、提供先の有用性を確保できる。
【００９６】
また、上記実施例によれば、匿名化装置１は、提供先から提供を所望する属性および区間を対応付けて受け付ける。匿名化装置１は、受け付けられた属性に対応付けられた区間が分割された後の階級の区間と一致するか、または分割された後の階級の区間を連結した区間と一致するかを判定する。匿名化装置１は、受け付けられた属性に対する区間が分割された後の階級の区間と一致する、または分割された後の階級の区間を連結した区間と一致すると判定された場合には、以下の処理を行う。すなわち、匿名化装置１は、パーソナルデータ２１の属性の属性値を、受け付けられた属性に対する区間に置き換えて、パーソナルデータ２１を匿名化する。かかる構成によれば、匿名化装置１は、分割された後の階級の区間は閾値以上の度数を持ち、この区間の単位での匿名化に制限することで、匿名性を確保することができる。
【００９７】
ここで、図１７で示す複数の意向を含む要求を受け付けた場合には、匿名化装置１は、第２の意向「年齢を１０歳単位に一般化するが、８０歳代は８３歳以下と８４歳以上とする」について、年齢に対する区間「８０〜８３」が１人となってしまう。すなわち、匿名化装置１は、年齢に対する区間「８０〜８３」が分割された後の階級の区間と一致しないこととなるので、匿名化の処理を行わない。したがって、匿名化装置１は、複数の意向に対する匿名化の処理結果を出力しないこととなるので、匿名化されたデータから匿名性が破られるということはない。
【００９８】
［その他］
なお、匿名化装置１は、既知のパーソナルコンピュータ、ワークステーション等の装置に、上記した詳細化情報生成部１２、詳細化情報出力部１３、一般化要求入力部１４、要求検査部１５、一般化部１６等の各機能を搭載することによって実現することができる。
【００９９】
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、詳細化情報生成部１２と詳細化情報出力部１３とをそれぞれ１個の部として統合しても良い。一方、度数分布表生成部１１を度数分布表２２を生成する処理部と、生成された度数分布表２２から度数が閾値ｋ未満の区間を削除する削除部とに分散しても良い。また、記憶部２０を匿名化装置１の外部装置としてネットワーク経由で接続するようにしても良い。
【０１００】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１に示した匿名化装置１と同様の機能を実現する匿名化プログラムを実行するコンピュータの一例を説明する。図１６は、匿名化プログラムを実行するコンピュータの一例を示す図である。
【０１０１】
図１６に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ（Hard  Disk  Drive）２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【０１０２】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、匿名化プログラム２０５ａおよび匿名化処理関連情報２０５ｂを記憶する。
【０１０３】
ＣＰＵ２０３は、匿名化プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、匿名化装置１の各機能部に対応する。匿名化処理関連情報２０５ｂは、パーソナルデータ２１、度数分布表２２、度数分布表（詳細化）２３、一般化後データ２４に対応する。そして、例えばリムーバブルディスク２１１が、匿名化プログラム２０５ａ等の各情報を記憶する。
【０１０４】
なお、匿名化プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、ＤＶＤ（Digital  Versatile  Disk）、光磁気ディスク、ＩＣ（Integrated  Circuit）カード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから匿名化プログラム２０５ａを読み出して実行するようにしても良い。
【０１０５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０６】
（付記１）複数の個人それぞれの個人情報を含むパーソナルデータを匿名化する匿名化装置であって、
前記パーソナルデータについて、属性ごとに、所定幅の区間で形成される階級ごとに度数を表す度数分布表を生成する第１の生成部と、
属性ごとに、前記第１の生成部によって生成された度数分布表の複数の階級の中で予め定められた閾値であって２以上の閾値の倍以上の度数を有する階級を、それぞれ度数が前記閾値以上となるように複数の階級に分割する分割部と、
前記分割部によって分割された後の、属性ごとの度数分布表の各階級の区間および各階級の度数を出力する出力部と、
を有することを特徴とする匿名化装置。
【０１０７】
（付記２）前記第１の生成部は、さらに、前記度数分布表に含まれる複数の階級のうち、度数が前記閾値未満を示す階級を削除し、削除した階級を除く前記度数分布表を生成する
ことを特徴とする付記１に記載の匿名化装置。
【０１０８】
（付記３）前記分割部は、予め定められた閾値であって２以上の閾値の倍以上の度数を有する階級を、当該階級の区間幅の半分ずつの複数の階級に分割する
ことを特徴とする付記１に記載の匿名化装置。
【０１０９】
（付記４）前記出力部は、属性ごとに、分割される前の各階級の区間および各階級の度数を有する度数分布表を用いてヒストグラムを生成し、生成したヒストグラムに、分割された後の各階級の区間および各階級の度数を重ねて表すヒストグラムを出力する
ことを特徴とする付記１に記載の匿名化装置。
【０１１０】
（付記５）提供先から提供を所望する属性および区間を対応付けて受け付ける受付部と、
前記受付部によって受け付けられた属性に対応付けられた区間が前記分割された後の階級の区間と一致するか、または前記分割された後の階級の区間を連結した区間と一致するかを判定する判定部と、
前記判定部によって前記区間が前記分割された後の階級の区間と一致する、または前記分割された後の階級の区間を連結した区間と一致すると判定された場合には、前記パーソナルデータの属性の属性値を前記区間に置き換えて、前記パーソナルデータを匿名化する匿名化部と、
をさらに有することを特徴とする付記１から付記４のいずれか１つに記載の匿名化装置。
【０１１１】
（付記６）複数の個人それぞれの個人情報を含むパーソナルデータについて、属性ごとに、所定幅の区間で形成される階級ごとに度数を表す度数分布表を生成し、
属性ごとに、生成された度数分布表の複数の階級の中で予め定められた閾値であって２以上の閾値の倍以上の度数を有する階級を、それぞれ度数が前記閾値以上となるように複数の階級に分割し、
分割された後の、属性ごとの度数分布表の各階級の区間および各階級の度数を出力する、
処理をコンピュータが実行することを特徴とする匿名化方法。
【０１１２】
（付記７）複数の個人それぞれの個人情報を含むパーソナルデータについて、属性ごとに、所定幅の区間で形成される階級ごとに度数を表す度数分布表を生成し、
属性ごとに、生成された度数分布表の複数の階級の中で予め定められた閾値であって２以上の閾値の倍以上の度数を有する階級を、それぞれ度数が前記閾値以上となるように複数の階級に分割し、
分割された後の、属性ごとの度数分布表の各階級の区間および各階級の度数を出力する、
処理をコンピュータに実行させることを特徴とする匿名化プログラム。
【符号の説明】
【０１１３】
１  匿名化装置
１０  制御部
１１  度数分布表生成部
１２  詳細化情報生成部
１３  詳細化情報出力部
１４  一般化要求入力部
１５  要求検査部
１６  一般化部
１７  一般化後データ評価部
１８  一般化後データ出力部
２０  記憶部
２１  パーソナルデータ
２２  度数分布表
２３  度数分布表（詳細化）
２４  一般化後データ
【図１】
2019175002.tif 000003
【図２Ａ】
2019175002.tif 000004
【図２Ｂ】
2019175002.tif 000005
【図３】
2019175002.tif 000006
【図４】
2019175002.tif 000007
【図５】
2019175002.tif 000008
【図６】
2019175002.tif 000009
【図７】
2019175002.tif 000010
【図８】
2019175002.tif 000011
【図９】
2019175002.tif 000012
【図１０】
2019175002.tif 000013
【図１１】
2019175002.tif 000014
【図１２】
2019175002.tif 000015
【図１３】
2019175002.tif 000016
【図１４】
2019175002.tif 000017
【図１５】
2019175002.tif 000018
【図１６】
2019175002.tif 000019
【図１７】
2019175002.tif 000020