(57)【要約】  本発明は、データセットを、利用目的に合致するようにして匿名化する情報処理装置を提供する。その情報処理装置は、匿名化対象の第１の個人データに含まれる属性のそれぞれに対応する情報損失量を算出し、その属性のそれぞれに対応する優先度とその情報損失量とに基づいて加工の対象とするその属性を決定し、その第１の個人データのその決定した属性の属性値を加工した第２の個人データを生成し、出力する
2014030302.tif 000002
【特許請求の範囲】
【請求項１】
匿名化対象の第１の個人データに含まれる属性のそれぞれに対応する情報損失量を算出し、出力する情報損失量計算手段と、
前記属性のそれぞれに対応する優先度と前記情報損失量とに基づいて加工の対象とする前記属性を決定し、前記第１の個人データの前記決定した属性の属性値を加工した第２の個人データを生成し、出力する匿名化処理手段と、
を含む情報処理装置。
【請求項２】
前記優先度は、前記加工した第２の個人データにおける情報の損失を、前記属性のいずれについてより少なくするかを示す
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記優先度を決定する情報を記憶する優先度決定情報記憶手段を更に含み、
前記匿名化処理手段は、前記優先度を決定する情報に基づいて前記優先度を決定する
ことを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
前記匿名化処理手段は、前記情報損失量が一定ならば前記優先度が高いほど、及び前記優先度が一定ならば前記情報損失量が大きいほど演算結果が大きくなるような評価式を利用して評価値を算出し、前記算出した評価値が最大の前記属性を前記加工の対象とする属性として決定する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記評価式は、情報損失量と優先度とを乗じる演算を含む
ことを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記評価式は、情報損失量と優先度とを加算する演算を含む
ことを特徴とする請求項４記載の情報処理装置。
【請求項７】
前記匿名化処理手段は、
前記第１の個人データが匿名化の対象である前記属性のそれぞれの属性値を同一の値に汎化される場合の、前記情報損失量を算出し、算出した前記情報損失量に基づいて汎化対象である分割属性を決定する分割属性決定手段と、
前記決定した分割属性を軸として前記第１の個人データを分割して前記分割属性の属性値を汎化する場合の前記情報損失量が最小であるように、前記分割属性の分割値を決定する分割値決定手段と、
前記決定した分割値で前記第１の個人データを分割して生成した第３の個人データ及び第４の個人データのそれぞれについて、更なる分割が可能か否かを判定する匿名性評価手段と、
前記匿名化評価手段が更なる分割が可能でないと判定した前記第３の個人データ及び前記第４の個人データの前記分割属性の属性値を汎化し、出力する汎化実行手段と、を含み、
前記分割属性決定手段と前記分割値決定手段とは、前記匿名性評価手段が更なる分割が可能であると判定した前記第３の個人データ及び前記第４の個人データを新たな第１の個人データとして処理する
ことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記匿名化処理手段は、
前記第１の個人データの匿名化の対象である前記属性のそれぞれに対応する前記情報損失量を算出し、算出した前記情報損失量と前記優先度とに基づいて汎化対象である汎化属性を決定する汎化属性決定手段と、
前記第１の個人データに含まれる前記決定した汎化属性の属性値を汎化して、第５の個人データを生成する汎化実行手段と、
前記第５の個人データについて、所定の匿名性を有しているか否かを判定し、前記第５の個人データが所定の匿名性を有していると判定した場合、前記第５の個人データを前記第２の個人データとして、出力する匿名性評価手段と、を含み、
前記汎化属性決定手段及び汎化実行手段は、前記匿名性評価手段が前記第５の個人データが所定の匿名性を有していないと判定した場合、前記第５の個人データを新たな第１の個人データとして処理する
ことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項９】
コンピュータが、
匿名化対象の第１の個人データに含まれる属性のそれぞれに対応する情報損失量を算出し、出力し、
前記属性のそれぞれに対応する優先度と前記情報損失量とに基づいて加工の対象とする前記属性を決定し、
前記第１の個人データの前記決定した属性の属性値を加工した第２の個人データを生成し、出力する、
匿名化処理方法。
【請求項１０】
前記コンピュータが、
前記情報損失量が一定ならば前記優先度が高いほど、及び前記優先度が一定ならば前記情報損失量が大きいほど演算結果が大きくなるような評価式を利用して評価値を算出し、
前記算出した評価値が最大の前記属性を前記加工の対象とする属性として決定する
ことを特徴とする請求項９記載の匿名化処理方法。
【請求項１１】
匿名化対象の第１の個人データに含まれる属性のそれぞれに対応する情報損失量を算出し、出力する処理と、
前記属性のそれぞれに対応する優先度と前記情報損失量とに基づいて加工の対象とする前記属性を決定する処理と、
前記第１の個人データの前記決定した属性の属性値を加工した第２の個人データを生成し、出力する処理と、をコンピュータに実行させる
プログラムを記録した不揮発性記録媒体。
【請求項１２】
前記属性を決定する処理は、
前記情報損失量が一定ならば前記優先度が高いほど、及び前記優先度が一定ならば前記情報損失量が大きいほど演算結果が大きくなるような評価式を利用して評価値を算出する処理と、
前記算出した評価値が最大の前記属性を前記加工の対象とする属性として決定する処理と、を含む
ことを特徴とする請求項１１記載のプログラムを記録した不揮発性記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、個人データを匿名化する情報処理装置、匿名化処理方法及びプログラムに関する。
【背景技術】
【０００２】
診療情報の電子化が進み、各医療機関や健康保険組合等においては診療情報が蓄積されつつある。これらの診療情報を広く活用することは、疫学研究の発展、医療技術及び新薬開発に繋がると考えられている。そこで、その蓄積された診療情報のプライバシーを確保した上で、その診療情報を研究機関等において利用できることが期待されている。【０００３】
情報の利用においてプライバシーを確保するための手法の一つに匿名化がある。この匿名化とは、例えば上述の診療情報のように、他人には知られたくない情報を含むデータに対して、個人の特定を防ぐための加工を施す技術である。以後、上述のような処理対象のデータの一塊をデータセットと呼ぶ。また、データセットを構成する、個人毎に対応するデータの塊を個人データレコードと呼ぶ。また、個人データレコードを構成する、個人の年齢、その個人が罹患した疾病名などの最小単位の情報を、属性と呼ぶ。【０００４】
非特許文献１は、匿名化の代表的な技術の一つであるｋ−匿名化を開示する。このｋ−匿名化は、データセットに含まれる個人データレコードのそれぞれを、個人の特定確率が１／ｋ（ｋ−匿名化のｋ）以下となるように加工し、ある一定の匿名性を保証する技術である。ｋ−匿名化における加工は、例えば、データセットを構成する複数の個人データレコード間で、特定の属性の値が同じになるように、その値を曖昧に（汎化とも呼ばれる）するなどの加工である。【０００５】
汎化によるｋ−匿名化には、トップダウンアプローチとボトムアップアプローチとがある。トップダウンアプローチは、最も汎化された状態の個人データレコードに含まれる属性の値を、ｋ−匿名性が破綻しない範囲で具体化していく手法である。また、ボトムアップアプローチは、加工されていない個人データレコードの元の値を、ｋ−匿名性が確保されるように汎化していく手法である。【０００６】
非特許文献２は、トップダウンアプローチの代表的な手法の１つを示す。非特許文献２に示される手法は、あるデータセットにおけるｋ−匿名性を満たすために、そのデータセットの個人データレコードを、次に示すように加工することにより匿名化する手法である。【０００７】
トップダウンアプローチでは、匿名化対象のデータセットにおいて、全ての個人データレコード間で、匿名化対象の全ての属性の値が属性毎に同じ値に汎化されている状態を初期状態とする。【０００８】
第１のステップは、その匿名化対象の属性の中から、ある属性を1つ選択する。【０００９】
第２のステップは、その全ての個人データレコードのそれぞれに含まれる、第１のステップで選択した属性の値の中央値を求める。【００１０】
第３のステップは、その求めた中央値を境界として、それらの個人データレコードのその属性の値に基づいて、その個人データレコードを２つのグループに分ける。【００１１】
第１のステップから第３のステップまでの処理をくりかえし、各グループの個人データレコードの数がｋ（ｋ-匿名化或いはｋ-匿名性の「ｋ」、以後同様）個を満たさなくなった時点で処理を終了とする。このように、最も汎化された初期状態から、ある値を境界として属性の値をグループ化することを分割という。尚、結果として出力されるグループは、それらのグループのそれぞれの個人データレコードの数がｋ個を満たさなくなる直前の、グループである。【００１２】
また、非特許文献３は、ボトムアップアプローチの代表的な手法の1つを示す。非特許文献３に示される手法は、あるデータセットにおいて、個人データがｋ−匿名性を満たすように、ある属性の値を元の値から汎化していくことにより匿名化する手法である。【００１３】
特許文献１は、ｋ−匿名化を取り入れたデータ匿名化装置を開示する。特許文献１のデータ匿名化装置は、データセットを構成する全ての個人データレコードを辺で結んだ完全グラフを生成し、この完全グラフをクラスタに分割し、分割したクラスタ単位で属性を汎化する。こうして、そのデータ匿名化装置は、トップダウンアプローチによるｋ−匿名化を実現する。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２０１２−０２２３１５号公報
【非特許文献】
【００１５】
【非特許文献１】L. Sweeney, "Achieving k-anonymity privacy protection using generalization and suppression", International Journal on Uncertainty, Fuzziness and Knowledge based Systems, 10(5), pp.571-588, 2002.
【非特許文献２】K, LeFevre, "Mondrian Multidimensional k-anonymity", ICDE '06 Proceedings of the 22nd International Conference on Data Engineering
【非特許文献３】J, Xu, "Utility-Based Anonymization Using Local Recoding", KDD’06 Proceeding of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら上述した特許文献及び非特許文献に記載された技術においては、データセットを、利用目的に合致するようにして匿名化することができないという問題点がある。【００１７】
その理由は、上述した特許文献及び非特許文献が開示する匿名化技術では、加工対象の属性が、利用目的を考慮されることなく、利用目的とは関係のない順番で選択され、加工されるからである。
［発明の目的］
本発明の目的は、上述した問題点を解決する情報処理装置、匿名化処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１８】
本発明の情報処理装置は、匿名化対象の第１の個人データに含まれる属性のそれぞれに対応する情報損失量を算出し、出力する情報損失量計算手段と、前記属性のそれぞれに対応する優先度と前記情報損失量とに基づいて加工の対象とする前記属性を決定し、前記第１の個人データの前記決定した属性の属性値を加工した第２の個人データを生成し、出力する匿名化処理手段と、を含む。【００１９】
本発明の匿名化処理方法は、コンピュータが、匿名化対象の第１の個人データに含まれる属性のそれぞれに対応する情報損失量を算出し、出力し、前記属性のそれぞれに対応する優先度と前記情報損失量とに基づいて加工の対象とする前記属性を決定し、前記第１の個人データの前記決定した属性の属性値を加工した第２の個人データを生成し、出力する。【００２０】
本発明の不揮発性記録媒体は、匿名化対象の第１の個人データに含まれる属性のそれぞれに対応する情報損失量を算出し、出力する処理と、前記属性のそれぞれに対応する優先度と前記情報損失量とに基づいて加工の対象とする前記属性を決定する処理と、前記第１の個人データの前記決定した属性の属性値を加工した第２の個人データを生成し、出力する処理と、をコンピュータに実行させるプログラムを記録する。
【発明の効果】
【００２１】
本発明は、データセットを、利用目的に合致するようにして匿名化することが可能になるという効果がある。
【図面の簡単な説明】
【００２２】
【図１】図１は、第１の実施形態に係る匿名化装置の構成を示すブロック図である。
【図２】図２は、第１乃至３の実施形態に係る匿名化装置を含むシステムの構成を示すブロック図である。
【図３】図３は、第１及び２の実施形態における個人データの一例を示す図である。
【図４】図４は、第１及び２の実施形態における匿名化済個人データの一例を示す図である。
【図５】図５は、第１乃至３の実施形態に係る匿名化装置を実現するコンピュータのハードウェア構成を示すブロック図である。
【図６】図６は、第１の実施形態における匿名化装置の動作を示すフローチャートである。
【図７】図７は、第２の実施形態に係る匿名化装置の構成を示すブロック図である。
【図８】図８は、第２の実施形態における優先度決定情報の一例を示す図である。
【図９Ａ】図９Ａは、第２の実施形態における匿名化装置の動作を示すシーケンス図である。
【図９Ｂ】図９Ｂは、第２の実施形態における匿名化装置の動作を示すシーケンス図である。
【図１０Ａ】図１０Ａは、第２の実施形態における匿名化装置の動作を示すシーケンス図である。
【図１０Ｂ】図１０Ｂは、第２の実施形態における匿名化装置の動作を示すシーケンス図である。
【図１１】図１１は、第２の実施形態における最大に汎化された状態のデータセットの一例を示す図である。
【図１２】図１２は、第２の実施形態における分割値候補の例を示す図である。
【図１３】図１３は、第２の実施形態における分割値候補の例を示す図である。分割値候補の例を示す図である。
【図１４】図１４は、データセットが分割されるイメージを示す図である。
【図１５】図１５は、第３の実施形態に係る匿名化装置の構成を示すブロック図である。
【図１６】図１６は、第３の実施形態における優先度決定情報の一例を示す図である。
【図１７】図１７は、第３の実施形態における個人データの一例を示す図である。
【図１８Ａ】図１８Ａは、第３の実施形態における匿名化装置の動作を示すシーケンス図である。
【図１８Ｂ】図１８Ｂは、第３の実施形態における匿名化装置の動作を示すシーケンス図である。
【図１８Ｃ】図１８Ｃは、第３の実施形態における匿名化装置の動作を示すシーケンス図である。
【図１９】図１９は、第３の実施形態における匿名化装置による匿名化処理の途中段階の個人データの例を示す図である。
【図２０】図２０は、第３の実施形態における匿名化装置による匿名化処理の途中段階の個人データの例を示す図である。
【図２１】図２１は、第３の実施形態における匿名化装置による匿名化処理の途中段階の個人データの例を示す図である。
【発明を実施するための形態】
【００２３】
本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の機能を備える構成要素には同様の符号が与えられている。
【００２４】
＜＜＜第１の実施形態＞＞＞
図１は、本発明の第１の実施形態に係る匿名化装置（情報処理装置とも呼ばれる）３１０の構成を示すブロック図である。
【００２５】
図１に示すように、本実施形態の匿名化装置３１０は、情報損失量計算部３１２及び匿名化処理部３１３を含む。図１に示す構成要素は、ハードウェア単位の構成要素でも、コンピュータ装置の機能単位に分割した構成要素でもよい。ここでは、図１に示す構成要素は、コンピュータ装置の機能単位に分割した構成要素として説明する。
【００２６】
図２は、本発明の第１の実施形態に係る匿名化装置３１０を含むシステムの構成を示すブロック図である。
【００２７】
図２に示すように、そのシステムは、個人データ記憶装置１００と、匿名化済個人データ記憶装置２００と、匿名化装置３１０とから構成されている。
【００２８】
個人データ記憶装置１００は、匿名化対象の個人データ（第１の個人データ）である、データセット（以後、データセットｓｐと呼ぶ）を記憶する。尚、データセットｓｐは、データレコード（以後、データレコードｒｐと呼ぶ）の集合である。そして、データレコードｒｐは、特定の個人に対応する、複数の属性の属性値を含む。
【００２９】
個人データは、例えば、医療機関などが保有する診療情報である。この場合、データレコードｒｐに含まれる属性値は、氏名、生年、診療年月、病名などの属性の属性値である。
【００３０】
図３は、個人データ記憶装置１００に記憶される個人データであるデータセットｓｐ１１０の一例を示す図である。データセットｓｐ１１０は、複数のデータレコードｒｐ１１１を含む。
【００３１】
データレコードｒｐ１１１は、「氏名」、「生年」、「診療年月」及び「病名」の属性のそれぞれの属性値を含む。ここで、「氏名」の属性は、識別子である。「生年」及び「診療年月」の属性は、組み合わせると個人を特定する恐れがある準識別子である。また、「病名」の属性は、他人には知られたくないセンシティブ情報である。尚、これらの準識別子或いはセンシティブ情報とした属性は、一例である。即ち、匿名化装置３１０において、データセットｓｐ１１０に含まれる属性の内、いずれの属性を準識別子或いはセンシティブ情報として扱うかは、任意である。
【００３２】
図３に示すように、例えば、氏名の属性が「ｐａｔｉｅｎｔＡ」のデータレコードｒｐ１１１は、生年の属性として「１９４９」、診療年月の属性として「２０１００６」、傷病名の属性として「ＤｉｓｅａｓｅＡ」の属性値を含む。図３に示す個人データのデータセットｓｐ１１０は、一例であって、データレコードｒｐ１１１に、準識別子及びセンシティブ情報のそれぞれとして任意の属性の属性値を含んでよい。
【００３３】
匿名化済個人データ記憶装置２００は、匿名化済み個人データ（第２の個人データ）である匿名化済データセット（以後、匿名化済データセットｓａと呼ぶ）を記憶する。尚、匿名化済データセットｓａは、データレコードｒｐ１１１が匿名化された匿名化済データレコード（以後、匿名化済データレコードｒａと呼ぶ）の集合である。
【００３４】
図４は、匿名化済個人データ記憶装置２００に記憶される匿名化済個人データである匿名化済データセットｓａ２１０の一例を示す図である。匿名化済データセットｓａ２１０は、匿名化装置３１０によりデータセットｓｐ１１０の属性値が加工（例えば、汎化）されて匿名化された後の、データセットである。即ち、匿名化済データセットｓａ２１０は、データレコードｒｐ１１１に替えて、データレコードｒｐ１１１が加工された匿名化済データレコードｒａ２１１を含む。
【００３５】
図４に示す匿名化済データセットｓａ２１０は、「生年」「診療年月」が加工（汎化）され、データセットｓｐ１１０に比べて準識別子の属性値が曖昧化されている。
【００３６】
情報損失量計算部３１２は、データセットｓｐ１１０における、属性のそれぞれに対応する情報損失量（以後、情報損失量ＩＬＡと呼ぶ）を算出し、出力する。
【００３７】
ここで、情報損失量ＩＬＡは、データセットｓｐ１１０に含まれるいずれかの属性を加工した場合に増加する、属性の情報の抽象性（以後、情報抽象性ｉａと呼ぶ）の量である。尚、情報抽象性ｉａは、属性の情報、即ちその属性の属性値、の抽象性である。
【００３８】
情報損失量計算部３１２は、必要に応じて、以下に示す様々な方法を用いて情報損失量ＩＬＡを算出してよい。
【００３９】
例えば、第１の方法として、情報損失量計算部３１２は、ある属性について、その属性の汎化後の属性値の範囲を、同じ属性の汎化前の属性値の範囲で除して１つのデータレコードの情報の損失量（以後、情報損失量ＩＬＲと呼ぶ）を算出する。次に、情報損失量計算部３１２は、データレコードの個数分だけ情報損失量ＩＬＲを加算し、情報損失量ＩＬＡを算出する。
【００４０】
具体的には、情報損失量計算部３１２は、図３に示すデータセットｓｐ１１０が最大に汎化されるとした場合の、匿名化対象の各属性の情報損失量ＩＬＡを以下のように算出する。
【００４１】
この場合、汎化前と汎化後とのそれぞれの匿名化対象の属性の属性値の範囲は、同一である。従って、情報損失量計算部３１２は、１つの属性値に対する情報損失量ＩＬＲを、常に「１」と算出する。
【００４２】
次に、情報損失量計算部３１２は、データレコードｒｐ１１１の個数（２０個）分の情報損失量ＩＬＲを加算し、情報損失量ＩＬＡとして「２０」を算出する。こうして、情報損失量計算部３１２は、データセットｓｐ１１０のいずれの属性についても、情報損失量ＩＬＡとして「２０」を算出する。
【００４３】
また、情報損失量計算部３１２は、図３に示すデータセットｓｐ１１０の「生年」の属性の属性値が「１９５６」以下と「１９６１」以上とのデータレコードｒｐ１１１のそれぞれに分割されて、汎化されるとした場合の、匿名化対象の各属性の情報損失量ＩＬＡを以下のように算出する。
【００４４】
この場合、汎化前の「生年」の属性の属性値の範囲は、最小値が「１９４３」であり、最大値が「１９７７」である。また、汎化後（汎化される「生年」の属性の属性値が「１９５６」以下のデータレコードｒｐ１１１）の「生年」の属性の属性値の範囲は、最小値が「１９４３」であり、最大値が「１９５６」である。
【００４５】
従って、情報損失量計算部３１２は、「生年」の属性の属性値が「１９５６」以下の「生年」の属性の情報損失量ＩＬＲ−ｂｉｒｔｈ−ｕｌ１９５６を、以下のように算出する。
【００４６】
「（１９５６−１９４３）÷（１９７７−１９４３）＝０．３８２」
次に、情報損失量計算部３１２は、「生年」の属性の属性値が「１９５６」以下のデータレコードｒｐ１１１の個数（９個）分の情報損失量ＩＬＲ−ｂｉｒｔｈ−ｕｌ１９５６を加算し、「生年」の属性の属性値が「１９５６」以下のデータレコードｒｐ１１１の情報損失量ＩＬＡ−ｂｉｒｔｈ−ｕｌ１９５６として「３．４３８」を算出する。
【００４７】
また、汎化後（汎化される「生年」の属性の属性値が「１９６１」以上のデータレコードｒｐ１１１）の「生年」の属性の属性値の範囲は、最小値が「１９６１」であり、最大値が「１９７７」である。従って、情報損失量計算部３１２は、「生年」の属性の属性値が「１９６１」以上の「生年」の属性の情報損失量ＩＬＲ−ｂｉｒｔｈ−ｏｖ１９６１を、「（１９７７−１９６１）÷（１９７７−１９４３）＝０．４７１」と算出する。
【００４８】
次に、情報損失量計算部３１２は、「生年」の属性の属性値が「１９６１」以上のデータレコードｒｐ１１１の個数（１１個）分の情報損失量ＩＬＲ−ｂｉｒｔｈ−ｏｖ１９６１を加算し、「生年」の属性の属性値が「１９６１」以上のデータレコードｒｐ１１１の情報損失量ＩＬＡ−ｂｉｒｔｈ−ｏｖ１９６１として「５．１８１」を算出する。
【００４９】
次に、情報損失量計算部３１２は、情報損失量ＩＬＡ−ｂｉｒｔｈ−ｕｌ１９５６と情報損失量ＩＬＡ−ｂｉｒｔｈ−ｏｖ１９６１とを加算して、属性が「生年」の情報損失量ＩＬＡ−ｂｉｒｔｈとして「８．６１９」を算出する。
【００５０】
同様に、汎化前の「診療年月」の属性の属性値の範囲は、最小値が「２００５１２」であり、最大値が「２０１１０７」である。また、汎化後（汎化される「生年」の属性の属性値が「１９５６」以下のデータレコードｒｐ１１１）の「診療年月」の属性の属性値の範囲は、最小値が「２００５１２」であり、最大値が「２０１１０７」である。従って、情報損失量計算部３１２は、「生年」の属性の属性値が「１９５６」以下のデータレコードｒｐ１１１の、「診療年月」の属性の情報損失量ＩＬＲ−ｍｃ−ｕｌ１９５６を、「１」と算出する。
【００５１】
次に、情報損失量計算部３１２は、「生年」の属性の属性値が「１９５６」以下のデータレコードｒｐ１１１の個数（９個）分だけ情報損失量ＩＬＲ−ｍｃ−ｕｌ１９５６を加算し、「生年」の属性の属性値が「１９５６」以下のデータレコードｒｐ１１１の「診療年月」の属性の情報損失量ＩＬＡ−ｍｃ−ｕｌ１９５６として「９」を算出する。
【００５２】
また、汎化後（汎化される「生年」の属性の属性値が「１９６１」以上のデータレコードｒｐ１１１）の「診療年月」の属性の属性値の範囲は、最小値が「２００６１２」であり、最大値が「２０１１０７」である。従って、情報損失量計算部３１２は、「生年」の属性の属性値が「１９６１」以上のデータレコードｒｐ１１１の、「診療年月」の属性の情報損失量ＩＬＲ−ｍｃ−ｏｖ１９６１を、「０．８３２」と算出する。
【００５３】
次に、情報損失量計算部３１２は、「生年」の属性の属性値が「１９６１」以上のデータレコードｒｐ１１１の個数（１１個）分だけ情報損失量ＩＬＲ−ｍｃ−ｏｖ１９６１を加算し、「生年」の属性の属性値が「１９６１」以上のデータレコードｒｐ１１１の「診療年月」の属性の情報損失量ＩＬＡ−ｍｃ−ｏｖ１９６１として「９．１５２」を算出する。
【００５４】
次に、情報損失量計算部３１２は、情報損失量ＩＬＡ−ｍｃ−ｕｌ１９５６と情報損失量ＩＬＡ−ｍｃ−ｏｖ１９６１とを加算し、属性が「診療年月」の情報損失量ＩＬＡ−ｍｃとして「１８．１５２」を算出する。
【００５５】
以上が、第１の方法の説明である。
【００５６】
また、第２の方法として、情報損失量計算部３１２は、以下のようにして情報損失量ＩＬＡを算出してもよい。まず、情報損失量計算部３１２は、汎化後と汎化前とのそれぞれの、その属性の属性値の種類の数の比を、１つのデータレコードの情報損失量ＩＬＲとして算出する。次に、情報損失量計算部３１２は、データレコードの個数分だけ情報損失量ＩＬＲを加算し、情報損失量ＩＬＡを算出する。
【００５７】
匿名化処理部３１３は、図示しない手段（例えば、匿名化処理部３１３内の図示しない記憶手段）に記憶されている優先度決定情報に基づいて、属性のそれぞれの優先度（以後、優先度ｐと呼ぶ）を決定する。また、匿名化処理部３１３は、その優先度ｐと情報損失量計算部３１２が算出した情報損失量ＩＬＡとに基づいて、加工する属性を決定する。即ち、匿名化処理部３１３は、優先度ｐを用いることで利用目的を考慮し、かつ情報損失量ＩＬＡを用いることで匿名化済データセットｓａ２１０全体の情報の損失を低減するように、加工する属性を決定する。
【００５８】
ここで、優先度決定情報は、優先度ｐを決定する情報である。優先度ｐは、データセットｓｐ１１０（データレコードｒｐ１１１）に含まれる属性のそれぞれが持っている情報抽象性ｉａを増加させないようにする（情報の損失を優先的に防ぐ）度合いを示す情報である。即ち、優先度ｐは、匿名化済データセットｓａ２１０におけるデータセットｓｐ１１０に対する情報抽象性ｉａの増加を、複数の属性のいずれについて、より少なくするように匿名化するかの優先度を示す。
【００５９】
例えば、匿名化処理部３１３は、属性毎に優先度ｐと情報損失量ＩＬＡとを演算（例えば、乗算）した評価値を算出する。尚、匿名化処理部３１３は、図示しない手段から、特定の優先度ｐと特定の情報損失量ＩＬＡとの組み合わせに対応する評価値を取得するようにしてもよい。尚、評価値を算出する演算は、情報損失量ＩＬＡが一定ならば優先度ｐが高いほど、評価値を大きく算出する演算である。また、評価値を算出する演算は、優先度ｐが一定ならば情報損失量ＩＬＡが大きいほど評価値を大きく算出する演算である。これは、特定の優先度ｐと特定の情報損失量ＩＬＡとの組み合わせに対応する評価値を取得する場合も同様である。
【００６０】
続けて、匿名化処理部３１３は、例えば、評価値が大きい属性ほど汎化されないように、評価値が小さい属性ほど汎化されるように、汎化する属性を決定する。
【００６１】
尚、匿名化処理部３１３は、評価値が小さい属性ほど汎化されないように、評価値が大きい属性ほど汎化されるように、汎化する属性を決定するようにしてもよい。この場合、評価値を算出する演算は、情報損失量ＩＬＡが一定ならば優先度ｐが高いほど、及び優先度ｐが一定ならば情報損失量ＩＬＡが大きいほど評価値を小さく算出する演算である。このような演算であることは、特定の優先度ｐと特定の情報損失量ＩＬＡとの組み合わせに対応する評価値を取得する場合の演算についても同様である。
【００６２】
次に、匿名化処理部３１３は、データセットｓｐ１１０のその決定した属性を加工した匿名化済データセットｓａ２１０を生成し、出力する。尚、匿名化処理部３１３は、データセットｓｐ１１０に対する匿名化済データセットｓａ２１０の差分の情報を生成し、出力するようにしてもよい。
【００６３】
尚、匿名化処理部３１３は、加工済みデータセットの匿名性を評価するようにしてもよい。ここで、加工済みデータセットは、それらの属性を加工した場合の、データセットの一部分及び全体のいずれかの任意のものである。続けて、匿名化処理部３１３は、その匿名性を評価した結果が所定の内容である場合に、その加工済みデータセットを、匿名化済みのデータセット一部分及び全体のいずれかの任意のものとして、匿名化済個人データ記憶装置２００に記録するようにしてもよい。
【００６４】
以上が、匿名化装置３１０のコンピュータ装置の機能単位に分割した各構成要素についての説明である。
【００６５】
次に、匿名化装置３１０のハードウェア単位の構成要素について説明する。
【００６６】
図５は、本実施形態における匿名化装置３１０を実現するコンピュータ７００のハードウェア構成を示す図である。
【００６７】
図５に示すように、コンピュータ７００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１、記憶部７０２、記憶装置７０３、入力部７０４、出力部７０５及び通信部７０６を含む。更に、コンピュータ７００は、外部から供給される記録媒体（または記憶媒体）７０７を含む。記録媒体７０７は、情報を非一時的に記憶する不揮発性記録媒体であってもよい。
【００６８】
ＣＰＵ７０１は、オペレーティングシステム（不図示）を動作させて、コンピュータ７００の、全体の動作を制御する。また、ＣＰＵ７０１は、例えば記憶装置７０３に装着された記録媒体７０７から、プログラムやデータを読み込み、読み込んだプログラムやデータを記憶部７０２に書き込む。ここで、そのプログラムは、例えば、後述の図６に示すフローチャートの動作をコンピュータ７００に実行させるプログラムである。
【００６９】
そして、ＣＰＵ７０１は、読み込んだプログラムに従って、また読み込んだデータに基づいて、図１に示す情報損失量計算部３１２及び匿名化処理部３１３として各種の処理を実行する。
【００７０】
尚、ＣＰＵ７０１は、通信網（不図示）に接続されている外部コンピュータ（不図示）から、記憶部７０２にプログラムやデータをダウンロードするようにしてもよい。
【００７１】
記憶部７０２は、プログラムやデータを記憶する。記憶部７０２は、個人データ記憶装置１００及び匿名化済個人データ記憶装置２００を含んでもよい。
【００７２】
記憶装置７０３は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク及び半導体メモリであって、記録媒体７０７を含む。記憶装置７０３は、プログラムをコンピュータ読み取り可能に記録する。また、記憶装置７０３は、データをコンピュータ読み取り可能に記録してもよい。記憶装置７０３は、個人データ記憶装置１００及び匿名化済個人データ記憶装置２００を含んでもよい。
【００７３】
入力部７０４は、例えばマウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力部７０４は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネル、加速度計、ジャイロセンサ、カメラなどでもよい。
【００７４】
出力部７０５は、例えばディスプレイで実現され、出力を確認するために用いられる。
【００７５】
通信部７０６は、個人データ記憶装置１００や匿名化済個人データ記憶装置２００及び他の図示しない外部装置とのインタフェースを実現する。通信部７０６は、匿名化処理部３１３の一部として含まれる。
【００７６】
以上説明したように、図１に示す匿名化装置３１０の機能単位のブロックは、図５に示すハードウェア構成のコンピュータ７００によって実現される。但し、コンピュータ７００が備える各部の実現手段は、上記に限定されない。すなわち、コンピュータ７００は、物理的に結合した１つの装置により実現されてもよいし、物理的に分離した２つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
【００７７】
尚、上述のプログラムのコードを記録した記録媒体７０７が、コンピュータ７００に供給され、ＣＰＵ７０１は、記録媒体７０７に格納されたプログラムのコードを読み出して実行するようにしてもよい。或いは、ＣＰＵ７０１は、記録媒体７０７に格納されたプログラムのコードを、記憶部７０２、記憶装置７０３またはその両方に格納するようにしてもよい。すなわち、本実施形態は、コンピュータ７００（ＣＰＵ７０１）が実行するプログラム（ソフトウェア）を、一時的にまたは非一時的に、記憶する記録媒体７０７の実施形態を含む。
【００７８】
以上が、本実施形態における匿名化装置３１０を実現するコンピュータ７００の、ハードウェア単位の各構成要素についての説明である。
【００７９】
次に、図１〜図６を参照して本実施形態の動作について詳細に説明する。
【００８０】
図６は、本実施形態における匿名化装置３１０の動作を示すフローチャートである。
【００８１】
情報損失量計算部３１２は、データセットｓｐ１１０の匿名化対象の属性のそれぞれについて、情報損失量ＩＬＡを算出する（ステップＳ６０１）。
【００８２】
次に、匿名化処理部３１３は、優先度ｐを決定する情報に基づいて、属性のそれぞれの優先度ｐを決定する（ステップＳ６０２）。
【００８３】
次に、匿名化処理部３１３は、情報損失量ＩＬＡと優先度ｐとに基づいて、加工する属性を決定する（ステップＳ６０３）。
【００８４】
次に、匿名化処理部３１３は、データレコードｒｐ１１１の、決定した属性を加工する（ステップＳ６０４）。
【００８５】
次に、匿名化処理部３１３は、属性を加工したデータレコードｒｐ１１１を出力する（ステップＳ６０５）。
【００８６】
上述した本実施形態における第１の効果は、利用目的に合致するように制御して、データセットを匿名化することが可能になる点である。
【００８７】
その理由は、以下のような構成を含むからである。即ち、第１に、情報損失量計算部３１２が属性のそれぞれに対応する情報損失量ＩＬＡを算出し、出力する。第２に、匿名化処理部３１３が優先度ｐと情報損失量ＩＬＡとに基づいて加工する属性を決定し、決定した属性を加工する。
【００８８】
上述した本実施形態における第２の効果は、第１の効果に加えて匿名化されたデータセットにおける情報の損失を低減することが可能になる点である。即ち、この第２の効果は、利用目的に合致するように制御してデータセットを匿名化することと、匿名化されたデータセットにおける情報の損失を低減することとが両立して可能になる点である。これは、利用目的に合致することだけを考慮して匿名化がなされることにより、加工を抑制した属性以外の属性が過度に汎化され、データ全体として大きく情報が損失することを防ぐことが可能になるということである。
【００８９】
その理由は、第１の効果と同様である。即ち、匿名化処理部３１３が優先度ｐと情報損失量ＩＬＡとの両方に基づいて加工する属性を決定するようにしたからである。
＜＜＜第２の実施形態＞＞＞
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【００９０】
図７は、本実施形態に係る匿名化装置３２０の構成を示すブロック図である。本実施形態の匿名化装置３２０は、トップダウンアプローチにより匿名化を行う。
【００９１】
図７に示すように、匿名化装置３２０は、優先度決定情報記憶部３２１と情報損失量計算部３２２と匿名化処理部３２３とを含む。
【００９２】
尚、匿名化装置３２０は、匿名化装置３１０に替えて、図２に示すシステムに含まれてもよい。
【００９３】
優先度決定情報記憶部３２１は、優先度ｐを決定する情報を記憶する。尚、優先度ｐを決定する情報は、システムの利用者により予め設定されている。また、優先度ｐを決定する情報は、分割属性決定部３２３３が図５に示す通信部７０６により、予め外部のシステムから受信するようにしてもよい。
【００９４】
図８は、優先度決定情報記憶部３２１に記憶される優先度決定情報３２１０の一例を示す図である。図８に示すように、優先度決定情報３２１０は、インデックスと重み（優先度とも呼ばれる）との組を含む。ここで、そのインデックスは、重みを一意に決定する値である。その重みは、そのインデックスのそれぞれに対応し、属性の重要さを示す数字である。図８において、例えば、そのインデックスの「５」に対応する重みは「１６」である。
【００９５】
尚、図８の例に係わらず、そのインデックスは５種類に限らず、２種類以上の任意の数であってよい。また、インデックスは数字に限らず、アルファベット等の表記であってよいし、属性の名前（以後、属性名とも呼ぶ）であってもよい。
【００９６】
また、その重みは、後述する評価値の算出に使用可能な、任意の数値であってよい。
【００９７】
また、優先度決定情報記憶部３２１は、そのインデックスの入力に対して重みを計算する計算式（例えば、「重み＝２×（インデックス−１）」）を、優先度決定情報として記憶してもよい。
【００９８】
情報損失量計算部３２２は、データセットｓｐ１１０における各属性の情報損失量ＩＬＡを計算し、出力する。
【００９９】
匿名化処理部３２３は、分割属性決定部３２３３と分割値決定部３２３４と匿名性評価部３２３５と汎化実行部３２３６とを含む。
【０１００】
分割属性決定部３２３３は、優先度決定情報記憶部３２１に記憶された優先度決定情報３２１０を利用し、例えば、図５に示す入力部７０４から入力された各属性のインデックスに基づいて、各属性の重みを生成する。
【０１０１】
次に、分割属性決定部３２３３は、その生成した重みと情報損失量ＩＬＡとに基づいて、分割軸の属性（加工の対象とする属性とも呼ばれる、以後、属性と呼ぶ）を決定する。
【０１０２】
分割属性は、データセット（例えば、データセットｓｐ１１０）を分割する場合に、その分割属性の属性値を基準として分割する属性のことである。ここで、データセットを分割することは、そのデータセットに含まれるデータレコードをグループ分けすることである。即ち、分割属性決定部３２３３は、データセット（例えば、データセットｓｐ１１０）を分割する場合に、その分割属性の属性値の範囲を基準としてその分割を行う。その範囲は、例えば、ある値より大きい値と小さい値とである。或いは、その範囲は、地理的な領域や、物事の種類や、事象との関連性やであってよい。
【０１０３】
分割値決定部３２３４は、必要な匿名性を満たすように、その分割属性の分割値を決定する。その分割値は、例えば、属性値が数値で示される場合、属性値が取り得る範囲内の数値である。或いは、その範囲は、属性値が地理的な領域である場合、その領域を示す識別情報（例えば、県名）の集合であってよい。また、その範囲は、属性値が物事（例えば、趣味）の種類である場合、その種類を分類する識別情報（例えば、屋外で行うもの）であってよい。また、その範囲は、属性値が事象との関連性である場合、関連性の有無であってよい。
【０１０４】
匿名性評価部３２３５は、あるデータセットが分割された場合にその分割されたデータセットのそれぞれが、必要な匿名性を満たすか否かを判定する。具体的には、匿名性評価部３２３５は、例えば、あるデータセットが、２つのグループに分割された場合、その２つのグループのそれぞれが、少なくともｋ個のデータレコードｒｐ１１１を含むように、そのデータセットを分割できるか否かを判定する。ここで、そのｋ個の「ｋ」は、ｋ-匿名性或いはｋ-匿名化の「ｋ」である。以後のｋ個についても、同様である。
【０１０５】
汎化実行部３２３６は、決定された分割値に基づいて、決定された属性の属性値を汎化（加工）し、出力する。
【０１０６】
以上説明した匿名化装置３２０は、図１に示す匿名化装置３１０と同様に、図５に示すコンピュータ７００によって実現してもよい。
【０１０７】
次に本実施形態の動作について、図面を参照して詳細に説明する。
【０１０８】
図９Ａ、図９Ｂ、図１０Ａ及び図１０Ｂは、本実施形態の動作を示すシーケンス図である。
【０１０９】
図９Ａにおいて、分割属性決定部３２３３は、例えば図５に示す入力部７０４からのシステムの利用者による分割属性決定要求の入力を、受け付ける（ステップＳ８０１）。
【０１１０】
ここで、分割属性決定要求は、例えば、ｋ−匿名性のｋの値「５」と、属性名及び対応するインデックス「生年：４、診療年月：１」とを含む。
【０１１１】
尚、匿名化済データセットを利用するその利用者は、汎化(加工)の度合を抑制したい属性ほど大きいインデックスの値を指定する。
【０１１２】
次に、分割属性決定部３２３３は、例えば図５に示す記憶部７０２に、その受け付けた分割属性決定要求に含まれるｋの値「５」と属性名及び対応するインデックス「生年：４、診療年月：１」とを記憶する（ステップＳ８０２）。
【０１１３】
次に、分割属性決定部３２３３は、優先度決定情報３２１０を利用し、属性名及び対応するインデックス「生年：４、診療年月：１」に基づいて重みを生成する（ステップＳ８０３）。
【０１１４】
ここでは、分割属性決定部３２３３は、「生年」の属性に対応するその重みを「８」、「診療年月」の属性に対応するその重みを「１」と算出する。
【０１１５】
次に、分割属性決定部３２３３は情報損失量計算部３２２へ情報損失量ＩＬＡの計算要求を送信する（ステップＳ８０４）
次に、その情報損失量ＩＬＡの計算要求を受信した情報損失量計算部３２２は、個人データ記憶装置１００へデータセットｓｐ１１０の取得要求（以後、個人データ取得要求とも呼ぶ）を送信する（ステップＳ８０５）。
【０１１６】
次に、データセットｓｐ１１０を受信した情報損失量計算部３２２は、情報損失量ＩＬＡを計算し、計算した情報損失量ＩＬＡを分割属性決定部３２３３へ送信する（ステップＳ８０６）。
【０１１７】
ここで、情報損失量計算部３２２の情報損失量ＩＬＡの計算の動作について、詳細に説明する。
【０１１８】
情報損失量計算部３２２は、例えば以下に示す式１を用いて、１つのデータレコードｒｐ１１１の情報損失量ＩＬＲを算出する。
【０１１９】
［数１］
2014030302.tif 000003
【０１２０】
ここで、ｐｔａ−ｍａｘは、汎化後の属性値の最大値である。また、ｐｔａ−ｍｉｎは、汎化後の属性値の最小値である。また、ｐｔｂ−ｍａｘは、汎化前の属性値の最大値である。また、ｐｔｂ−ｍｉｎは、汎化前の属性値の最小値である。
【０１２１】
本実施形態はトップダウンアプローチを用いた匿名化の実施形態であるため、データセットｓｐ１１０の匿名化対象の属性の属性値は、全て同一の値になるように汎化されるものとする。
【０１２２】
図１１は、図３に示すデータセットｓｐ１１０の匿名化の対象である属性のそれぞれの属性値が同一の値に汎化された場合のデータセットｓｔ１２０を示す図である。即ち、図１１に示すデータセットｓｔ１２０は、データセットｓｐ１１０が最大に汎化された状態のデータセットである。
【０１２３】
この場合、ｐｔａ−ｍａｘは、例えば、図１１に示すデータセットｓｔ１２０において、属性名が「生年」の属性の属性値の最大値である「１９７７」（「１９４３〜１９７７」の「１９７７」）である。また、ｐｔａ−ｍｉｎは、例えば、データセットｓｔ１２０において、属性名が「生年」の属性の、属性値の最小値である「１９４３」（「１９４３〜１９７７」の「１９４３」）である。また、ｐｔｂ−ｍａｘは、例えば、図３に示すデータセットｓｐ１１０において、属性名が「生年」の属性の、属性値の最大値である「１９７７」である。また、ｐｔｂ−ｍｉｎは、例えば、データセットｓｐ１１０において、属性名が「生年」の属性の、属性値の最小値である「１９４３」である。
【０１２４】
従って、属性名が「生年」の属性の、１つのデータレコードｒｐ１１１の情報損失量ＩＬＲ−ｂｉｒｔｈは、以下のように「１」が算出される。
【０１２５】
「情報損失量ＩＬＲ−ｂｉｒｔｈ」＝（１９７７−１９７３）÷（１９７７−１９４３）＝１
また、データセットｓｐ１１０に含まれるデータレコードｒｐ１１１の数は、２０である。従って、属性名が「生年」の属性の情報損失量ＩＬＡ−ｂｉｒｔｈは、以下のように「１」が算出される。
【０１２６】
（「情報損失量ＩＬＲ−ｂｉｒｔｈ」）×（データレコードｒｐ１１１の数）＝１×２０＝２０
同様に、診療年月の全体の情報損失量ＩＬＡ−ｍｃは、「２０」が算出される。
【０１２７】
尚、情報損失量計算部３２２は、汎化後と汎化前とのそれぞれのその属性の属性値の種類の数の比を、１つのデータレコードｒｐ１１１の情報損失量ＩＬＲとして、算出するようにしてもよい。
【０１２８】
以上が、情報損失量計算部３２２の情報損失量ＩＬＡの計算の動作についての詳細な説明である。
【０１２９】
図９Ａの説明に戻る。尚、上述の説明において、ステップＳ８０３と、ステップＳ８０４、ステップＳ８０５及びステップＳ８０６との処理順序は、任意の順序であってよい。即ち、その順序は、逆であってもよいし、同時であってもよい。
【０１３０】
次に、分割属性決定部３２３３は、分割属性を決定する（ステップＳ８０７）。
【０１３１】
ここで、分割属性決定部３２３３による、分割属性の決定の動作について、詳細に説明する。
【０１３２】
分割属性決定部３２３３は、重みと情報損失量ＩＬＡとを含んだ評価式を用いて評価値を算出し、分割属性を決定する。以下に示す式２は、評価式の一例である。
【０１３３】
［数２］
評価値＝重み×情報損失量ＩＬＡ  ・・・  （式２）
例えば、データセットｓｐ１１０の属性名が「生年」の属性の評価値は、重みが「８」、情報損失量ＩＬＡ−ｂｉｒｔｈが「２０」なので、「１６０」である。同様に、属性名が「診療年月」の属性の評価値は、重みが「１」、情報損失量ＩＬＡ−ｍｃが「２０」なので、「２０」である。
【０１３４】
次に、分割属性決定部３２３３は、算出した評価値が最大の属性を分割属性として決定する。例えばデータセットｓｐ１１０の場合、分割属性決定部３２３３は、属性名が「生年」の属性の評価値が、属性名が「診療年月」の属性の評価値よりも大きいので、属性名が「生年」の属性をその分割属性として決定する。
【０１３５】
尚、評価値を算出する式は、式２に限らず、優先度ｐ（例えば、式２の「重み」のように、大きいほど優先度が高いことを示す値）が高いほど及び情報損失量ＩＬＡが大きいほど演算結果が大きくなるような、任意の評価式でよい。
【０１３６】
以上が、分割属性決定部３２３３による分割属性の決定の動作についての説明である。
【０１３７】
次に、図９Ｂにおいて、分割属性決定部３２３３は、分割値決定部３２３４へ分割値決定要求を送信する（ステップＳ８０８）。その分割値決定要求は、分割属性決定部３２３３により決定された分割属性の属性名の「生年」を含む。
【０１３８】
その分割値決定要求を受信した分割値決定部３２３４は、個人データ記憶装置１００へ個人データ取得要求を送信する。（ステップＳ８０９）
データセットｓｐ１１０を受信した分割値決定部３２３４は、分割値を決定する（ステップＳ８１０）。
【０１３９】
ここで、分割値決定部３２３４による分割値の決定の動作について、詳細に説明する。
【０１４０】
その分割値は、指定された属性を分割軸としてデータセットを分割する時の、閾値である。例えば、分割値「生年：１９５６」は、「生年」の属性が「１９５６」以下のデータレコードｒｐ１１１と「１９５６」を超えるデータレコードｒｐ１１１とに、データセットｓｐ１１０を分割することを示す。
【０１４１】
図１２は、データセットｓｐ１１０の分割値候補１１０１〜１１１１の例を示す図である。
【０１４２】
まず、分割値決定部３２３４は、図１２に示すように、データセットｓｐ１１０のデータレコードｒｐ１１１を、分割属性決定部３２３３が決定した属性を、属性値が小さい順番に並べる。
【０１４３】
次に、分割値決定部３２３４は、分割値候補１１０１〜１１１１を抽出する。分割値決定部３２３４が抽出する分割値候補１１０１〜１１１１は、分割されたデータセットｓｐ１１０の前半部分（第３の個人データとも呼ばれる）と後半部分（第４の個人データとも呼ばれる）とのそれぞれのデータレコードｒｐ１１１の数がｋ個以上になる分割値の候補である。例えば、「生年」の属性において属性値の「１９５１」を分割値とすると、その前半部分は、その属性値が１９５１以下の５個のデータレコードｒｐ１１１を含む。また、その後半部分は、１９５２以上の１５個のデータレコードｒｐ１１１を含む。この場合、その前半部分とその後半部分とのそれぞれは、いずれも５個以上である。
【０１４４】
図１２に示すデータセットｓｐ１１０において、分割値決定部３２３４は、分割値候補１１０１〜１１１１を抽出する。
【０１４５】
次に、分割値決定部３２３４は、各分割値候補１１０１〜１１１１に対応する情報損失量ＩＬＡを計算する。例えば、分割値決定部３２３４は、式１を用いて情報損失量ＩＬＡを算出する。尚、分割値決定部３２３４は、式１に限らず、他の算出式を用いて情報損失量ＩＬＡを算出してもよい。
【０１４６】
具体的には、例えば分割値候補１１０５でデータセットｓｐ１１０を分割する場合、分割値決定部３２３４は、以下の様に情報損失量ＩＬＡを計算する。
【０１４７】
分割値決定部３２３４は、図１２に示すように、分割属性の「生年」の属性値により、昇順でデータセットｓｐ１１０をソートする。分割値候補１１０５の分割値でデータセットｓｐ１１０を分割した場合、その分割された前半部分のデータレコードｒｐ１１１の一つの情報損失量ＩＬＲは、（１９５６−１９４３）÷（１９７７−１９４３）＝０．３８２である。
【０１４８】
従って、その前半部分の情報損失量ＩＬＲの合計は、データレコードｒｐ１１１の数が９個であるので、０．３８２×９＝３．４３８である。
【０１４９】
また、その分割された後半部分のデータレコードｒｐ１１１の１つの情報損失量ＩＬＲは、（１９７７−１９６１）÷（１９７７−１９４３）＝０．４７１である。
【０１５０】
従って、その後半部分の情報損失量ＩＬＲの合計は、データレコードｒｐ１１１の数が１１個であるので、０．４７１×１１＝５．１８１である。
【０１５１】
従って、分割値候補１１０５で分割された場合の合計の情報損失量ＩＬＡは、３．４３８＋５．１８１＝８．６１９である。
【０１５２】
同様にして算出される、分割値候補１１０１〜１１０４で分割された場合の、「生年」の属性のそれぞれの情報損失量ＩＬＡは、「１１．７６」、「１２．４７」、「１０．６７」及び「１０．２３」である。また、同様にして算出される、分割値候補１１０６〜１１１１で分割された場合の、「生年」の属性のそれぞれの情報損失量ＩＬＡは、「１０．００」、「１０．０５」、「９．８８」、「１０．１４」、「１０．７０」及び「１０．７３」である。
【０１５３】
分割値候補１１０１〜１１１１のそれぞれに対する情報損失量ＩＬＡを計算した分割値決定部３２３４は、その情報損失量ＩＬＡが最小である分割値候補１１０５の「生年：１９５６」を分割値として決定する。
【０１５４】
以上が、分割値決定部３２３４による分割値の決定の動作についての説明である。
【０１５５】
図９Ｂの説明に戻る。次に、その分割値を決定した分割値決定部３２３４は、その決定した分割値「生年：１９５６」を匿名性評価部３２３５へ送信する（ステップＳ８１１）。換言すると、分割値決定部３２３４は、匿名性評価部３２３５に、匿名性の評価を要求する。
【０１５６】
その分割値「生年：１９５６」を受信した匿名性評価部３２３５は、匿名性評価を行う（ステップＳ８１２）。
【０１５７】
ここで、匿名性評価部３２３５による匿名性評価の動作について、詳細に説明する。
【０１５８】
匿名性評価とは、匿名性の指標を満たすか否かを評価することである。匿名性評価部３２３５は、データセットｓｐ１１０の分割されたその前半部分（第３の個人データ）とその後半部分（第４の個人データ）とについて更に分割を行った場合に、その更に分割された部分が匿名性の指標を満たすか否かを評価する。即ち、その前半部分及びその後半部分のそれぞれについて、データレコードｒｐ１１１の数が２ｋ個以上か否かを評価する。
【０１５９】
匿名性評価部３２３５は、受信した分割値で分割されたその前半部分及びその後半部分のそれぞれのデータレコードｒｐ１１１の数を計数する。例えば、その分割値「生年：１９５６」で分割した場合、匿名性評価部３２３５は、その前半部分のデータレコードｒｐ１１１の数を９個、その後半部分のデータレコードｒｐ１１１の数を１１個と計数する。
【０１６０】
以上が、匿名性評価部３２３５による匿名性評価の動作についての説明である。
【０１６１】
図９Ｂの説明に戻る。次に、匿名化処理部３２３は、匿名性の指標を満たさないと匿名性評価部３２３５が評価した部分（例えば、その分割値「生年：１９５６」で分割された前半部分）について、ステップＳ８１３からステップＳ８１５の処理を実行する。また、匿名化処理部３２３は、匿名性の指標を満たすと匿名性評価部３２３５が評価した部分（例えば、その分割値「生年：１９５６」で分割された後半部分）について、ステップＳ８２１以降の処理を実行する。
【０１６２】
その分割値「生年：１９５６」で分割された前半部分のデータレコードｒｐ１１１の数は２ｋ個未満であった。そこで、匿名性評価部３２３５は、「生年：１９４３〜１９５６」を含む汎化実行要求を汎化実行部３２３６へ送信する（ステップＳ８１３）
その汎化実行要求を受信した汎化実行部３２３６は、「生年」の属性の属性値が「１９４３」〜「１９５６」のデータレコードｒｐ１１１を汎化する（ステップＳ８１４）。
【０１６３】
具体的には、汎化実行部３２３６は、「生年」の属性の属性値が「１９４３」〜「１９５６」に該当するデータレコードｒｐ１１１の、「生年」の属性の属性値を「１９４３〜１９５６」に、「診療年月」の属性の属性値を「２００５１２〜２０１１０７」に書き換える。
【０１６４】
次に、汎化実行部３２３６は、書き換えたデータレコードｒｐ１１１を匿名化済個人データ記憶装置２００へ記録する（ステップＳ８１５）。換言すると、汎化実行部３２３６は、匿名化済個人データ記憶装置２００へ匿名化済み個人データを登録する。
【０１６５】
その分割値の「生年：１９５６」で分割された後半部分のデータレコードｒｐ１１１の数は２ｋ個以上であった。そこで、匿名化装置３２０は、そのデータセットｓｐ１１０の分割された後半部分（第４の個人データ）を新たなデータセットｓｐ（新たな第１の個人データ）として、ステップＳ８２１以降の処理（２回目の匿名化）を実行する。
【０１６６】
図１０Ａにおいて、匿名性評価部３２３５は、「生年：１９６１〜１９７７」を含む再分割要求を分割属性決定部３２３３へ送信する（ステップＳ８２１）。
【０１６７】
次に、その再分割要求を受信した分割属性決定部３２３３は、優先度決定情報３２１０を利用し、属性名及び対応するインデックス「生年：４、診療年月：１」に基づいて重みを生成する（ステップＳ８２２）
ここでは、分割属性決定部３２３３は、「生年」の属性に対応する重みを「８」、「診療年月」の属性に対応する重みを「１」と算出する。
【０１６８】
次に、分割属性決定部３２３３は、情報損失量計算部３２２へ情報損失量ＩＬＡの計算要求を行う（ステップＳ８２３）
次に、その情報損失量ＩＬＡの計算要求を受信した情報損失量計算部３２２は、個人データ記憶装置１００へ「生年」の属性の属性値が「１９６１」〜「１９７７」であるデータレコードｒｐ１１１（そのデータセットｓｐ１１０の後半部分）の取得要求を送信する（ステップＳ８２４）。換言すると、情報損失量計算部３２２は、個人データ記憶装置１００に個人データの取得を要求する。
【０１６９】
次に、そのデータセットｓｐ１１０の後半部分を受信した情報損失量計算部３２２は、情報損失量ＩＬＡを計算し、計算した情報損失量ＩＬＡを分割属性決定部３２３３へ送信する（ステップＳ８２５）。
【０１７０】
ここでは、情報損失量計算部３２２は、そのデータセットｓｐ１１０の後半部分について、「生年」の属性の情報損失量ＩＬＡ−ｂｉｒｔｈ−ｏｖ１９６１を以下のように算出する。
【０１７１】
（１９７７−１９６１）÷（１９７７−１９４３）×１１＝５．１８１
また、情報損失量計算部３２２は、「診療年月」の属性の情報損失量ＩＬＡ−ｍｃ−ｏｖ１９６１を以下のように算出する。
【０１７２】
（２０１１０７−２００５１２÷（２０１１０７−２００６１２）＝９．１５２
次に、分割属性決定部３２３３は、分割属性を決定する（ステップＳ８２６）
例えば、分割属性決定部３２３３は、式２を用いて、「生年」の属性について、重みが「８」、情報損失量ＩＬＡ−ｂｉｒｔｈ−ｏｖ１９６１が「５．１８１」なので、「生年」属性の評価値として「４１．４４８」を算出する。同様に、分割属性決定部３２３３は、「診療年月」の属性について、重みが「１」、情報損失量ＩＬＡ−ｍｃ−ｏｖ１９６１が「９．１５２」なので、「診療年月」属性の評価値として「９．１５２」を算出する。
【０１７３】
次に、分割属性決定部３２３３は、「生年」の属性の評価値が「診療年月」の属性の評価値よりも大きいので、属性名が「生年」の属性を分割属性として決定する。
【０１７４】
次に、図１０Ｂにおいて、分割属性決定部３２３３は、属性名の「生年」を含む分割値決定要求を分割値決定部３２３４へ送信する（ステップＳ８２７）。
【０１７５】
分割値決定要求を受信した分割値決定部３２３４は、個人データ記憶装置１００へ個人データ取得要求を送信する（ステップＳ８２８）。
【０１７６】
ここでは、分割属性決定部３２３３は、２回目の匿名化の対象となるデータレコードｒｐ１１１（例えば、そのデータセットｓｐ１１０の後半部分）を、取得することを要求する。
【０１７７】
対象となるデータレコードｒｐ１１１を受信した分割値決定部３２３４は、分割値を決定する（ステップＳ８２９）。
【０１７８】
図１３は、そのデータセットｓｐ１１０の分割された後半部分であるデータセットｓｐ１３０（新たな第１の個人データ）の分割値候補１１２１及び分割値候補１１２２の例を示す図である。
【０１７９】
まず、分割値決定部３２３４は、図１３に示すように、データセットｓｐ１３０のデータレコードｒｐ１１１を、分割属性決定部３２３３が決定した属性の属性値の小さい順番に並べる。
【０１８０】
次に、分割値決定部３２３４は、分割値候補を抽出する。図１３に示すデータセットｓｐ１３０において、分割値決定部３２３４は、分割値候補１１２１及び分割値候補１１２２を分割値候補として抽出する。
【０１８１】
次に、分割値決定部３２３４は、分割値候補１１２１及び分割値候補１１２２のそれぞれに対する情報損失量ＩＬＡ−ｂｉｒｔｈを計算する。図１３に示すデータセットｓｐ１３０の場合、分割値決定部３２３４は、分割値候補１１２１及び分割値候補１１２２で分割した場合のそれぞれの情報損失量ＩＬＡ−ｂｉｒｔｈは、「５．５６５」及び「４．８２０」である。続けて、分割値決定部３２３４は、その情報損失量ＩＬＡ−ｂｉｒｔｈが最小である分割値候補１１２２の「生年：１９６３」を分割値として決定する。
【０１８２】
次に、分割値を決定した分割値決定部３２３４は、決定した分割値「生年：１９６３」を匿名性評価部３２３５へ送信する（ステップＳ８３０）。換言すると、分割値決定部３２３４は、匿名性評価部３２３５に、匿名性の評価を要求する。
【０１８３】
分割値「生年：１９６３」を受信した匿名性評価部３２３５は、匿名性評価を行う（ステップＳ８３１）。
【０１８４】
匿名性評価部３２３５は、分割値の「生年：１９６３」で分割された、それぞれのデータレコードｒｐ１１１の数を計数する。図１４は、分割値決定部３２３４が分割値を分割値候補１２２２「生年：１９６３」に決定した場合の、図１３に示すデータセットｓｐ１３０が分割されるイメージを示す図である。図１４に示す例では、匿名性評価部３２３５は、分割した後のその前半部分のデータセットｓｐ１４０のデータレコードｒｐ１１１の数を６個、分割した後のその後半部分のデータセットｓｐ１５０のデータレコードｒｐ１１１の数を５個と計数する。
【０１８５】
データセットｓｐ１４０及びデータセットｓｐ１５０のそれぞれのデータレコードｒｐ１１１の数が２ｋ個未満である。そこで、匿名性評価部３２３５は、「生年：１９６１〜１９６３」を含む汎化実行要求及び「生年：１９６４〜１９７７」を含む汎化実行要求を汎化実行部３２３６へ送信する（ステップＳ８１３）。
【０１８６】
汎化の実行要求を受信した汎化実行部３２３６は、「生年」の属性の属性値が「１９６１」〜「１９６３」のデータレコードｒｐ１１１の汎化及び「生年」の属性の属性値が「１９６４」〜「１９７７」のデータレコードｒｐ１１１の汎化を実行する（ステップＳ８１４）
図１４に示すように、データセットｓｐ１４０は、「生年」の属性の属性値が「１９６１〜１９６３」、「診療年月」の属性の属性値が「２００６１２〜２０１１０５」に汎化される。また、データセットｓｐ１５０は、「生年」の属性の属性値が「１９６４〜１９７７」、「診療年月」の属性の属性値が「２００７０６〜２０１１０４」に汎化される。
【０１８７】
次に、汎化実行部３２３６は、汎化したデータレコードｒｐ１１１を匿名化済個人データ記憶装置２００へ記録する（ステップＳ８１５）
上述した本実施形態における効果は、第１の実施形態の効果と同様に、利用目的に合致するように制御してデータセットを匿名化することと、匿名化されたデータセットにおける情報の損失を低減することとを両立させることができる点である。
【０１８８】
その理由は、分割属性決定部３２３３が優先度ｐと情報損失量ＩＬＡとに基づいて評価値を生成し、生成した評価値に基づいて汎化する属性を決定するようにしたからである。
＜＜＜第３の実施形態＞＞＞
次に、本発明の第３の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【０１８９】
図１５は、本実施形態に係る匿名化装置３３０の構成を示すブロック図である。本実施形態の匿名化装置３３０は、ボトムアップアプローチにより匿名化を行う。
【０１９０】
図１５に示すように、匿名化装置３３０は、優先度決定情報記憶部３２１と情報損失量計算部３３２と匿名化処理部３３３とを含む。
【０１９１】
尚、匿名化装置３３０は、匿名化装置３１０に替えて、図２に示すシステムに含まれてよい。
【０１９２】
優先度決定情報記憶部３２１は、優先度ｐを決定する情報を記憶する。尚、優先度ｐを決定する情報は、システムの利用者により予め設定されている。また、優先度ｐを決定する情報は、分割属性決定部３２３３が図５に示す通信部７０６により、予め外部のシステムから受信するようにしてもよい。
【０１９３】
図１６は、優先度決定情報記憶部３２１に記憶される優先度決定情報３３１０の一例を示す図である。図１６に示すように、本実施形態の優先度決定情報３３１０は、優先順位と属性名と閾値との組を１以上含む。優先順位は、例えば、対応する属性名で特定される属性を、汎化する順番を示す。閾値は、例えば、下位の優先順位の属性の情報損失量ＩＬＡから上位の優先順位の属性の情報損失量ＩＬＡを引いた値が、この閾値を超える場合に、下位の優先順位の属性を汎化する順番を先にする場合の値を示す。
【０１９４】
図１６において、優先順位は、数字が小さいほど上位の優先順位であることを示すものとする。即ち、図１６において、上位の優先順位の属性は、属性の名称が「年齢」の属性であり、下位の優先順位の属性は、属性の名称が「２０１１年度の診療月」の属性である。
【０１９５】
尚、優先度決定情報は、優先順位と属性名との組を含むようにしてよい。この場合、匿名化処理部３３３は、例えば、図示しない内部記憶手段に閾値を保持するようにしてもよい。
【０１９６】
情報損失量計算部３３２は、汎化による情報損失量ＩＬＡを算出し、出力する。情報損失量計算部３３２は、例えば、個人データの属性に含まれる異なる属性値の数を計数し、これを情報損失量ＩＬＡとする。
【０１９７】
匿名化処理部３３３は、汎化属性決定部３３３３と汎化実行部３３３６と匿名性評価部３３３５とを含む。
【０１９８】
汎化属性決定部３３３３は、汎化する属性を決定する。汎化属性決定部３３３３は、例えば、次のようにして、汎化する属性を決定する。第一に、汎化属性決定部３３３３は、優先順位が下位の属性の情報損失量ＩＬＡから優先順位が上位の属性の情報損失量ＩＬＡを減算して、情報損失量差分を算出する。次に、汎化属性決定部３３３３は、情報損失量差分とその優先順位が上位の属性の閾値とを比較する。そして、汎化属性決定部３３３３は、情報損失量差分が閾値以上の場合、下位の優先順位の属性を汎化することを決定する。また、汎化属性決定部３３３３は、情報損失量差分が閾値未満の場合、上位の優先順位の属性を汎化することを決定する。
【０１９９】
尚、汎化属性決定部３３３３による、汎化する属性の決定は、以下のようしてもよい。まず、汎化属性決定部３３３３において、優先順位が上位の属性の優先度ｐはその属性の閾値であり、優先順位が下位の属性の優先度ｐは「０」である。汎化属性決定部３３３３は、それらの属性のそれぞれについて、評価値＝情報損失量ＩＬＡ＋優先度ｐという評価式を利用して評価値を算出する。次に、汎化属性決定部３３３３は、評価値の大きい属性を、汎化する属性として決定する。尚、優先順位が上位の属性と優先順位が下位の属性とで評価値が同じである場合、汎化属性決定部３３３３は、例えばその優先順位が上位の属性を、汎化する属性として決定するようにしてよい。
【０２００】
汎化実行部３３３６は、汎化属性決定部３３３３が決定したその属性を汎化する。
【０２０１】
匿名性評価部３３３５は、汎化実行部３３３６が汎化したデータセットが匿名性指標を満たしているか否かを判定する。
【０２０２】
図１７は、本実施形態の個人データ記憶装置１００に記憶されるデータセットｓｐ１６０の一例を示す図である。図１７に示すデータセットｓｐ１６０の各データレコードｒｐ１６１のそれぞれは、「氏名」、「年齢」、「２０１１年度診療月」及び「病名」の属性の属性値を含む。尚、本実施形態では、「年齢」と「２０１１年度診療年月」を匿名化対象の属性（準識別子である）とする。
【０２０３】
以上説明した匿名化装置３３０は、図１に示す匿名化装置３１０と同様に、図５に示すコンピュータ７００によって実現してもよい。
【０２０４】
図１８Ａ、図１８Ｂび図１８Ｃは、本実施形態における匿名化装置３３０の動作を示すシーケンス図である。
【０２０５】
図１８Ａにおいて、汎化属性決定部３３３３は、例えば図５に示す入力部７０４からのシステムの利用者による匿名化実行要求の入力を、受け付ける（ステップＳ８４１）。
【０２０６】
ここで、匿名化実行要求は、例えば、ｋ−匿名化のｋの値（例えば、「３」）を含む。
【０２０７】
次に、その匿名化実行要求を受信した汎化属性決定部３３３３は、優先度決定情報記憶部３２１に優先度決定情報取得要求を送信する（ステップＳ８４２）。
【０２０８】
次に、その優先度決定情報取得要求の応答として優先度決定情報３３１０を受信した汎化属性決定部３３３３は、情報損失量計算部３３２へ情報損失量計算要求を送信する。（ステップＳ８４３）。
【０２０９】
次に、その情報損失量計算要求を受信した情報損失量計算部３３２は、個人データ記憶装置１００に個人データ取得要求を送信する。（ステップＳ８４４）。
【０２１０】
次に、その個人データ取得要求への応答としてデータセットｓｐ１６０を受信した情報損失量計算部３３２は、情報損失量ＩＬＡを計算し、その計算した情報損失量ＩＬＡを汎化属性決定部３３３３へ送信する（ステップＳ８４５）。
【０２１１】
ここで、情報損失量計算部３３２は、情報損失量ＩＬＡを属性の値の種類の数で計算する。即ち、情報損失量計算部３３２は、「年齢」の属性の属性値の種類が１２種類なので、「年齢」の属性の情報損失量ＩＬＡｂｉｒｔｈを「１２」と計算する。また、情報損失量計算部３３２は、「２０１１年度診療月」の属性の属性値の種類が１０種類なので、「２０１１年度診療月」の属性の情報損失量ＩＬＡｍｃ２０１１を「１０」と計算する。
【０２１２】
次に、情報損失量ＩＬＡを受信した汎化属性決定部３３３３は、汎化する属性を決定する（ステップＳ８４６）。
【０２１３】
例えば、汎化属性決定部３３３３は、受信した優先度決定情報３３１０を利用して、受信した情報損失量ＩＬＡに基づいて、その汎化する属性を決定する。
【０２１４】
例えば、汎化属性決定部３３３３は、優先順位が「２」の属性である「２０１１年度の診療月」の情報損失量ＩＬＡから、優先順位が「１」の属性である「年齢」の情報損失量ＩＬＡを減算して、情報損失量差分を算出する。即ち、１０−１２＝−２を算出する。次に、汎化属性決定部３３３３は、その情報損失量差分と優先順位が「１」の属性である「年齢」の閾値（「３」）とを比較する。この場合、−２＜３なので、汎化属性決定部３３３３は、優先順位が「１」の属性である「年齢」を汎化することを決定する。
【０２１５】
尚、汎化属性決定部３３３３は、実施形態１で説明した方法を用いて、汎化する属性を決定してもよい。
【０２１６】
次に、汎化属性決定部３３３３は、その汎化すると決定した属性の属性名（この場合、「年齢」）を含む汎化実行要求を汎化属性実行部に送信する（ステップＳ８４７）。
【０２１７】
次に、その汎化実行要求を受信した汎化実行部３３３６は、図１７に示すデータセットｓｐ１６０を図１９に示すデータセットｓｐ１６２のように汎化する（ステップＳ８４８）。
【０２１８】
図１９は、本実施形態の匿名化装置３３０による匿名化処理の途中段階の（一部が汎化された）データセットの例を示す図である。
【０２１９】
次に、汎化実行部３３３６は、データセットｓｐ１６２を含む匿名性評価要求を匿名性評価部３３３５へ送信する（ステップＳ８４９）。
【０２２０】
尚、汎化実行部３３３６は、データセットｓｐ１６２を図５に示す記憶部７０２に格納し、その格納したアドレスを含む匿名性評価要求を匿名性評価部３３３５へ送信するようにしてもよい。以下における匿名性評価要求についても同様である。
【０２２１】
次に、その匿名性評価要求を受信した匿名性評価部３３３５は、データセットｓｐ１６２の匿名性を評価する。図１９のデータセットｓｐ１６２の場合、匿名性評価部３３３５は、「診療月」の属性についてｋ−匿名性のｋの値（「３」）を満たしていないと判定する（ステップＳ８５０）。
【０２２２】
次に、図１８Ｂにおいて、匿名性評価部３３３５は、汎化属性決定部３３３３へ汎化属性決定要求を送信する（ステップＳ８５１）。        
次に、その汎化属性決定要求を受信した汎化属性決定部３３３３は、情報損失量計算部３３２へ情報損失量計算要求を送信する（ステップＳ８５２）。
【０２２３】
次に、その情報損失量計算要求を受信した情報損失量計算部３３２は、情報損失量ＩＬＡを計算し、計算した情報損失量ＩＬＡを汎化属性決定部３３３３へ送信する（ステップＳ８５３）。
【０２２４】
ここで、図１９に示すデータセットｓｐ１６２の場合、「年齢」の属性の属性値の種類は「２１〜２４」、「３１〜４０」、「４１〜５１」及び「５２〜５８」の４種類である。また、「２０１１年度診療月」の属性の属性値の種類は、１０種類である。従って、情報損失量計算部３３２は、「年齢」及び「２０１１年度診療月」のそれぞれの属性に対応する情報損失量ＩＬＡ−ｂｉｒｔｈ及び情報損失量ＩＬＡ−ｍｃ２０１１を、「４」及び「１０」と計算する。
【０２２５】
次に、その情報損失量ＩＬＡを受信した汎化属性決定部３３３３は、汎化する属性の決定をする（ステップＳ８５４）。
【０２２６】
優先順位が「１」の「年齢」の属性の情報損失量ＩＬＡ−ｂｉｒｔｈは「４」、優先順位が「２」の「２０１１年度診療月」の属性の情報損失量ＩＬＡ−ｍｃ２０１１は「１０」なので、情報損失量差分は、以下のとおりである。
【０２２７】
１０−４＝６
汎化属性決定部３３３３は、この情報損失量差分（「６」）と優先順位が「１」の属性である「年齢」の閾値（「３」）とを比較する。この場合、６＞３なので、汎化属性決定部３３３３は、優先順位が「２」の属性である「２０１１年度診療月」を汎化することを決定する。
【０２２８】
次に、汎化属性決定部３３３３は、その汎化すると決定した属性名（この場合、「２０１１年度診療月」）を含む汎化実行要求を汎化属性実行部に送信する（ステップＳ８５５）。
【０２２９】
次に、その汎化実行要求を受信した汎化実行部３３３６は、図１９に示すデータセットｓｐ１６２を図２０に示すデータセットｓｐ１６３のように汎化する（ステップＳ８５６）。
【０２３０】
図２０は、本実施形態の匿名化装置３３０による匿名化処理の途中段階の（一部が汎化された）データセットの例を示す図である。
【０２３１】
次に、汎化実行部３３３６は、データセットｓｐ１６３を含む匿名性評価要求を匿名性評価部３３３５へ送信する（ステップＳ８５７）
次に、その匿名性評価要求を受信した匿名性評価部３３３５は、データセットｓｐ１６３の匿名性を評価する。図２０に示すデータセットｓｐ１６３の場合、匿名性評価部３３３５は、「診療月」の属性と「２０１１年度診療月」の属性とを組み合わせた場合について、ｋ−匿名性のｋの値（「３」）を満たしていないと判定する（ステップＳ８５８）。
【０２３２】
次に、匿名性評価部３３３５は、汎化属性決定部３３３３へ汎化属性決定要求を送信する（ステップＳ８５９）。  
次に、図１８Ｃにおいて、その汎化属性決定要求を受信した汎化属性決定部３３３３は、情報損失量計算部３３２へ情報損失量計算要求を送信する（ステップＳ８６０）。
【０２３３】
次に、その情報損失量計算要求を受信した情報損失量計算部３３２は、情報損失量ＩＬＡを計算し、その計算した情報損失量ＩＬＡを汎化属性決定部３３３３へ送信する（ステップＳ８６１）
ここで、図２０に示すデータセットｓｐ１６３の場合、「年齢」の属性の属性値の種類は４種類、「２０１１年度診療月」の属性の属性値の種類は４種類である。従って、情報損失量計算部３３２は、「年齢」及び「２０１１年度診療月」のそれぞれの属性に対応する情報損失量ＩＬＡ−ｂｉｒｔｈ及び情報損失量ＩＬＡ−ｍｃ２０１１を、何れも「４」と計算する。
【０２３４】
次に、情報損失量ＩＬＡを受信した汎化属性決定部３３３３は、汎化する属性を決定する（ステップＳ８６２）。
【０２３５】
優先順位が「１」の「年齢」の属性の情報損失量ＩＬＡ−ｂｉｒｔｈは「４」、優先順位が「２」の「２０１１年度診療月」の属性の情報損失量ＩＬＡ−ｍｃ２０１１は「４」なので、情報損失量差分は、以下のとおりである。
【０２３６】
４−４＝０
汎化属性決定部３３３３は、この情報損失量差分（「０」）と優先順位が「１」の属性である「年齢」の閾値（「３」）とを比較する。この場合、０＜３なので、汎化属性決定部３３３３は、優先順位が「１」の属性である「年齢」を汎化することを決定する。
【０２３７】
次に、汎化属性決定部３３３３は、汎化すると決定した属性の属性名（この場合、「年齢」）を含む汎化実行要求を、汎化実行部３３３６に送信する（ステップＳ８６３）。
【０２３８】
次に、その汎化実行要求を受信した汎化実行部３３３６は、図２０に示すデータセットｓｐ１６３を図２１に示すデータセットｓｐ１６４のように汎化する（ステップＳ８６４）。
【０２３９】
図２１は、本実施形態の匿名化装置３３０により匿名化処理されたデータセットの例を示す図である。
【０２４０】
次に、汎化実行部３３３６は、データセットｓｐ１６４を含む匿名性評価要求を匿名性評価部３３３５へ送信する（ステップＳ８６５）
次に、その匿名性評価要求を受信した匿名性評価部３３３５は、データセットｓｐ１６４の匿名性を評価する。図２１に示すデータセットｓｐ１６４の場合、匿名性評価部３３３５は、データセットｓｐ１６４がｋ−匿名性を満たしていると判定する（ステップＳ８６６）。
【０２４１】
次に、匿名性評価部３３３５は、その匿名性を満たしたデータセットｓｐ１６４を、匿名化済個人データ記憶装置２００へ送信する（ステップＳ８６７）。
【０２４２】
データセットｓｐ１６４を受信した匿名化済個人データ記憶部２ａは、そのデータセットｓｐ１６４を匿名化済データセットｓｔ１２０（匿名化済個人データ）として記憶する。（ステップＳ８６８）
上述した本実施形態における効果は、第１の実施形態の効果と同様に、利用目的に合致するように制御してデータセットを匿名化することと、匿名化されたデータセットにおける情報の損失を低減することとを両立して可能にできる点である。
【０２４３】
その理由は、汎化属性決定部３３３３が優先順位と閾値と情報損失量ＩＬＡとに基づいて評価値を生成し、生成した評価値に基づいて汎化する属性を決定するようにしたからである。
【０２４４】
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が１個のモジュールとして実現されてよい。また、各構成要素は、１つの構成要素が複数のモジュールで実現されてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であるような構成であってよい。また、各構成要素は、ある構成要素の一部と他の構成要素の一部とが重複するような構成であってもよい。
【０２４５】
以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、可能であれば、ハードウェア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
【０２４６】
そのプログラムは、例えば、磁気ディスクや半導体メモリなど、不揮発性のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。
【０２４７】
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。
【０２４８】
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複していたりしていてもよい。
【０２４９】
更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作との全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。
【０２５０】
以上、各実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえる様々な変更をすることができる。
【０２５１】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０２５２】
この出願は、２０１２年８月２０日に出願された日本出願特願２０１２−１８１６８４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０２５３】
１００    個人データ記憶装置
１１０    データセットｓｐ
１１１    データレコードｒｐ
１３０    データセットｓｐ
１４０    データセットｓｐ
１５０    データセットｓｐ
１６０    データセットｓｐ
１６１    データレコードｒｐ
１６２    データセットｓｐ
１６３    データセットｓｐ
１６４    データセットｓｐ
２００    匿名化済個人データ記憶装置
２１０    匿名化済データセットｓａ
２１１    匿名化済データレコード
３１０    匿名化装置
３１２    情報損失量計算部
３１３    匿名化処理部
３２０    匿名化装置
３２１    優先度決定情報記憶部
３２２    情報損失量計算部
３２３    匿名化処理部
７００    コンピュータ
７０１    ＣＰＵ
７０２    記憶部
７０３    記憶装置
７０４    入力部
７０５    出力部
７０６    通信部
７０７    記録媒体
１１０５    分割値候補
１１２１    分割値候補
１１２２    分割値候補
３２１０    優先度決定情報
３２３３    分割属性決定部
３２３４    分割値決定部
３２３５    匿名性評価部
３２３６    汎化実行部
１１０１〜１１０４    分割値候補
１１０１〜１１１１    分割値候補
１１０６〜１１１１    分割値候補
【図１】
2014030302.tif 000004
【図２】
2014030302.tif 000005
【図３】
2014030302.tif 000006
【図４】
2014030302.tif 000007
【図５】
2014030302.tif 000008
【図６】
2014030302.tif 000009
【図７】
2014030302.tif 000010
【図８】
2014030302.tif 000011
【図９Ａ】
2014030302.tif 000012
【図９Ｂ】
2014030302.tif 000013
【図１０Ａ】
2014030302.tif 000014
【図１０Ｂ】
2014030302.tif 000015
【図１１】
2014030302.tif 000016
【図１２】
2014030302.tif 000017
【図１３】
2014030302.tif 000018
【図１４】
2014030302.tif 000019
【図１５】
2014030302.tif 000020
【図１６】
2014030302.tif 000021
【図１７】
2014030302.tif 000022
【図１８Ａ】
2014030302.tif 000023
【図１８Ｂ】
2014030302.tif 000024
【図１８Ｃ】
2014030302.tif 000025
【図１９】
2014030302.tif 000026
【図２０】
2014030302.tif 000027
【図２１】
2014030302.tif 000028
【手続補正書】
【提出日】平成27年2月13日(2015.2.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１１
【補正方法】変更
【補正の内容】
【請求項１１】
匿名化対象の第１の個人データに含まれる属性のそれぞれに対応する情報損失量を算出し、出力する処理と、
前記属性のそれぞれに対応する優先度と前記情報損失量とに基づいて加工の対象とする前記属性を決定する処理と、
前記第１の個人データの前記決定した属性の属性値を加工した第２の個人データを生成し、出力する処理と、をコンピュータに実行させる
プログラム。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１２
【補正方法】変更
【補正の内容】
【請求項１２】
前記属性を決定する処理は、
前記情報損失量が一定ならば前記優先度が高いほど、及び前記優先度が一定ならば前記情報損失量が大きいほど演算結果が大きくなるような評価式を利用して評価値を算出する処理と、
前記算出した評価値が最大の前記属性を前記加工の対象とする属性として決定する処理と、を含む
ことを特徴とする請求項１１記載のプログラム。
【国際調査報告】
2014030302.tif 000029
2014030302.tif 000030
2014030302.tif 000031