(57)【要約】  本発明は、多次元データを匿名化の対象とする場合に、その匿名化における匿名性検証の計算コストの低減を可能にする情報処理装置を提供する。その情報処理装置は、データセットに含まれるレコードと、準識別子属性値の一意的な組み合わせを特定するクラスとの対応を示す情報を生成する手段と、その情報に示されるそのクラスに基づいて、そのレコード毎の匿名性を検証する手段と、その匿名性を検証した結果に基づいて、その匿名性を満たさないそのレコードを識別可能なように、その情報を更新し、出力する手段と、を備える。
2014181541.tif 000002
【特許請求の範囲】
【請求項１】
データセットに含まれるレコードと、前記レコードに含まれる準識別子の値である準識別子属性値の一意的な組み合わせを特定するクラスとの対応を示すレコード−クラス対応情報を生成する対応情報生成手段と、
前記レコード−クラス対応情報に示される前記クラスに基づいて、前記レコード毎の匿名性を検証する匿名性検証手段と、
前記匿名性を検証した結果に基づいて、前記匿名性を満たさない前記レコードを識別可能なように、前記レコード−クラス対応情報を更新し、出力する対応情報更新手段と、を含む
情報処理装置。
【請求項２】
前記レコード−クラス対応情報と前記準識別子属性値とに基づいて、前記準識別子の種類毎に、前記レコードと前記クラスと前記準識別子属性値に対応する再符号化値との対応を示すカレントステート情報を生成するカレントステート生成手段と、
前記カレントステート情報に含まれる前記再符号化値を加工する再符号化手段と、を含み、
前記匿名性検証手段は、前記再符号化値に基づいて、前記レコード毎の匿名性を検証し、
前記再符号化値と前記匿名性を検証した結果とに基づいて、前記カレントステート情報を更新し、その更新した結果に対応する情報を出力するカレントステート更新手段を更に含み、
前記対応情報更新手段は、前記更新されたカレントステート情報に基づいて、前記レコード−クラス対応情報を更新する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記再符号化手段は、最上位に前記順識別子が取り得る値を全て包含する値のルートを持ち、下位に向かって順次具体化された値のノードを持つ一般化階層に基づいて、前記再符号化値を生成する
ことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記対応情報更新手段は、前記匿名性を満たさない前記レコードに対応する情報を、前記レコード−クラス対応情報から削除することで、前記レコード−クラス対応情報を更新する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記対応情報更新手段は、前記レコード−クラス対応情報に含まれる前記匿名性を満たさない前記レコードに対応する情報に、前記匿名生成を満たさないことを示す情報を付加することで、前記レコード−クラス対応情報を更新する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項６】
前記対応情報更新手段は、前記レコード−クラス対応情報に含まれる前記匿名性を満たさない前記レコードに対応する情報を、前記匿名生成を満たさないことを示す情報に変更することで、前記レコード−クラス対応情報を更新する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項７】
情報処理装置が、
データセットに含まれるレコードと、前記レコードに含まれる準識別子の値である準識別子属性値の一意的な組み合わせを特定するクラスとの対応を示すレコード−クラス対応情報を生成し、
前記レコード−クラス対応情報に示される前記クラスに基づいて、前記レコード毎の匿名性を検証し、
前記匿名性を検証した結果に基づいて、前記匿名性を満たさない前記レコードを識別可能なように、前記レコード−クラス対応情報を更新し、出力する
匿名化検証方法。
【請求項８】
前記情報処理装置が、
前記レコード−クラス対応情報と前記準識別子属性値とに基づいて、前記準識別子の種類毎に、前記レコードと前記クラスと前記準識別子属性値に対応する再符号化値との対応を示すカレントステート情報を生成し、
前記カレントステート情報に含まれる前記再符号化値を加工し、
前記匿名性の検証は、前記再符号化値に基づいて、前記レコード毎の匿名性を検証し、
前記再符号化値と前記匿名性を検証した結果とに基づいて、前記カレントステート情報を更新し、その更新した結果に対応する情報を出力し、
前記レコード−クラス対応情報の更新は、前記更新されたカレントステート情報に基づいて、前記レコード−クラス対応情報を更新する
ことを特徴とする請求項７記載の匿名化検証方法。
【請求項９】
データセットに含まれるレコードと、前記レコードに含まれる準識別子の値である準識別子属性値の一意的な組み合わせを特定するクラスとの対応を示すレコード−クラス対応情報を生成し、
前記レコード−クラス対応情報に示される前記クラスに基づいて、前記レコード毎の匿名性を検証し、
前記匿名性を検証した結果に基づいて、前記匿名性を満たさない前記レコードを識別可能なように、前記レコード−クラス対応情報を更新し、出力する処理をコンピュータに実行させる
プログラムを記録したコンピュータ読み取り可能な非一時的記録媒体。
【請求項１０】
前記レコード−クラス対応情報と前記準識別子属性値とに基づいて、前記準識別子の種類毎に、前記レコードと前記クラスと前記準識別子属性値に対応する再符号化値との対応を示すカレントステート情報を生成し、
前記カレントステート情報に含まれる前記再符号化値を加工し、
前記匿名性の検証は、前記再符号化値に基づいて、前記レコード毎の匿名性を検証し、
前記再符号化値と前記匿名性を検証した結果とに基づいて、前記カレントステート情報を更新し、その更新した結果に対応する情報を出力し、
前記レコード−クラス対応情報の更新は、前記更新されたカレントステート情報に基づいて、前記レコード−クラス対応情報を更新する処理をコンピュータに実行させる
請求項９記載のプログラムを記録したコンピュータ読み取り可能な非一時的記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は匿名化の技術に関し、例えば個人情報などの、オリジナルな情報内容のままで公開及び利用されることが好ましくない情報について匿名性を検証する技術に関する。
【背景技術】
【０００２】
近年、購買情報や診療情報等のようなプライバシ情報が、販売サービスや診療サービスの提供者（サービス事業者）によって蓄積されている。【０００３】
そのプライバシ情報は、複数の属性からなり、準識別子と呼ばれる属性を含む。準識別子は、生年や性別などといった個人を特徴付け、それらの組み合わせから個人を特定する可能性を持つ属性である。【０００４】
このようなプライバシ情報は、プライバシ侵害の懸念から積極的な二次活用がなされていない。例えば、二次活用とは、プライバシ情報を生成、蓄積しているサービス事業者が、第三者にそのプライバシ情報を提供し、その第三者が自身の提供するサービスを強化するために、そのプライバシ情報を利用することを指す。また、二次活用とは、プライバシ情報を生成、蓄積しているサービス事業者が、第三者に対してそのプライバシ情報の分析などのアウトソーシングを依頼することなどを指す。【０００５】
プライバシ侵害の懸念なしに二次活用ができれば、プライバシ情報を利用した研究の促進、分析・研究結果を用いたサービスの強化を行うことができる。そして、プライバシ情報を保有するサービス事業者以外の第三者も、プライバシ情報の持つ高い有益性を享受することができる。【０００６】
例えば、第三者と想定し得るものとして製薬会社がある。その製薬会社にとっては診療情報を入手することは、困難である。その製薬会社は、その診療情報を入手することができれば、薬品がどのように利用されているのかを知ることができる。更には、その製薬会社は、その診療情報から、薬品の共起関係や相関関係などを分析することもできる。【０００７】
例えば、プライバシ情報のデータセットは、サービス利用者（個人）を一意に識別するユーザ識別子と、一つ以上の準識別子とを一つのレコードとして含む。そして、サービス提供者は、サービス利用者がサービスを享受する度に、係るレコードを蓄積する。【０００８】
ユーザ識別子が付与されたままのプライバシ情報が第三者に提供される場合、その第三者は、そのユーザ識別子を用いることによってサービス利用者を特定することが可能である。そのため、プライバシ侵害の問題が発生し得る。【０００９】
また、複数のレコードによって構成されるデータセット（例えば、履歴情報など）の中から、各レコードに付与されている準識別子の組み合わせに基づいて、ある個人を特定できてしまう場合がある。即ち、例えユーザ識別子を取り除いた履歴情報であっても、準識別子の組み合わせに基づいてある個人を特定可能な場合があり、プライバシ侵害が発生し得る。【００１０】
このような特性を有するプライバシ情報のデータセットを、本来の有用性を保ちながら、プライバシを保護した形態に変換する手法として、匿名化（匿名化技術：Ａｎｏｎｙｍｉｚａｔｉｏｎ）が知られている。【００１１】
非特許文献１は、最もよく知られた匿名性指標である“ｋ−匿名性”を提案する。匿名化対象のデータセットに、係るｋ−匿名性を充足させる手法は、“ｋ−匿名化”と呼ばれる。このｋ−匿名化では、同じ値の準識別子を有するレコードがその匿名化対象のデータセットの中に少なくともｋ個以上存在するように、その準識別子を変換する処理が行われる。この変換処理としては、一般化、切り落とし等の方式が知られている。係る一般化において、元の詳細な情報は、抽象化された情報に変換される。【００１２】
例えば、特許文献１は、プライバシ情報評価サーバを開示する。第１に、そのプライバシ情報評価サーバは、ユーザ端末から受信したプライバシ情報を加工する。第２に、そのプライバシ情報評価サーバは、その加工したプライバシ情報がｋ-匿名性を満たすか否かを判定する。第３に、そのプライバシ情報評価サーバは、その判定結果に基づいて、ユーザの識別情報を除いたその加工したプライバシ情報を出力する。【００１３】
また、このようなｋ−匿名化技術を利用する他の関連技術が、非特許文献２に記載されている。非特許文献２では、類似する属性値を持つレコードの集合（以降、クラスタと呼ぶ）を逐次生成し、クラスタに含まれるレコードにおいて、一般化や切り落としにより共通の属性値を生成することで多次元データをｋ−匿名化する手法が提案されている。【００１４】
そのプライバシ情報評価サーバのｋ-匿名性判定部は、ｋ-匿名性判定のフィードバックに基づいて、ボトムアップ処理或いはトップダウン処理により、そのプライバシ情報を一般化する。【００１５】
また、特許文献２は、公開情報のプライバシ保護装置を開示する。第１に、そのプライバシ保護装置は、入力されたデータの各準識別子を加工し、一般化を行う。第２に、そのプライバシ保護装置は、その一般化された準識別子の全てから構成される表が、所定のｋ-匿名性を満たすことを判定する。第３に、そのプライバシ保護装置は、その判定した結果に基づいて、最適なデータセットを出力する。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２０１１−１８０８３９
【特許文献２】特開２０１２−００３４４０
【非特許文献】
【００１７】
【非特許文献１】Ｌ．Ｓｗｅｅｎｅｙ、“ｋ−ａｎｏｎｙｍｉｔｙ：ａ  ｍｏｄｅｌ  ｆｏｒ  ｐｒｏｔｅｃｔｉｎｇ  ｐｒｉｖａｃｙ”、  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｎ  Ｕｎｃｅｒｔａｉｎｔｙ，  Ｆｕｚｚｉｎｅｓｓ  ａｎｄ  Ｋｎｏｗｌｅｄｇｅ−ｂａｓｅｄ  Ｓｙｓｔｅｍｓ，１０（５），ｐｐ．５５５−５７０，２００２．
【非特許文献２】Ｋ．  ＬｅＦｅｖｒｅ，  Ｄａｖｉｄ  Ｊ．  ＤｅＷｉｔｔ  ａｎｄ  Ｒａｇｈｕ  Ｒａｍａｋｒｉｓｈｎａｎ，  “Ｍｏｎｄｒｉａｎ  Ｍｕｌｔｉｄｉｍｅｎｓｉｏｎａｌ  ｋ−Ａｎｏｎｙｍｉｔｙ”，  ＩＣＤＥ２００６．Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２２ｎｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄａｔａ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｐａｇｅ  ２５，２００６．
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、上述した特許文献及び非特許文献に記載された技術においては、多次元データを匿名化の対象とした場合、その次元数に比例して、匿名性検証の計算コストが増加するという問題点がある。【００１９】
その理由は、上述した特許文献及び非特許文献に記載された技術のいずれにおいても、多次元データを対象とする匿名化における、匿名化検証の処理特性を考慮していないからである。以下に、この理由を詳細に説明する。【００２０】
ｋ−匿名化の際には、データセットがｋ−匿名性を満たすかどうかを判定する匿名性検証を多数実施する。特に、有効性（Ｕｔｉｌｉｔｙ）の高いｋ−匿名化データを生成するためには、各属性（準識別子）を有効性が高くなるように段階的に加工（再符号化）する必要がある。そして、各属性を加工される度にその匿名性検証を実施する必要がある。【００２１】
ここで、加工する属性が複数であることは、即ち多次元データを匿名化の対象としていることである。【００２２】
その匿名性検証では、まず検証の対象であるデータセットについて、全ての準識別子に対して同一の値の組を持つ、レコード数またはユニークなユーザ識別子の種類数が、数えられる。ここで、そのデータセットは、そのユーザ識別子を含むそのレコードを含む。【００２３】
ここで、全ての準識別子に対して同一の値の組を持つそのレコードの集合を等価クラス（Ｅｑｕｉｖａｌｅｎｔ  Ｃｌａｓｓ）またはクラスと呼ぶ。【００２４】
あるクラスのレコード数（またはユニークなユーザ識別子の種類数）がｋ以上である場合、そのクラスに含まれるレコード集合はｋ−匿名性を充足していると判断される。また、あるクラスのレコード数がｋ未満である場合、そのクラスに含まれるレコード集合はｋ−匿名性を充足しないと判断される。この匿名性検証を、あるデータセットに含まれる全てのレコードに対して実施し、全てのそのレコードがｋ−匿名性を満たせば、そのデータセットはｋ−匿名性を満たすと判断される。【００２５】
その匿名性検証では、その対象とするデータセットで出現する組Ｑについて、そこに含まれるレコード数またはユニークなユーザ識別子の種類数を数える必要がある。ここで組Ｑは、全ての準識別子の全ての属性値の、組み合わせである。このとき、その準識別子の数が増加すると、組Ｑの組み合わせ数が増大する。【００２６】
例えば、ｄ（ｄ≧１）個の準識別子ｑｉ（ｉ＝１、・・・、ｄ）があり、各準識別子ｑｉの属性値の種類数を｜ｑｉ｜とする。この場合、その匿名性検証で考慮すべき、その組み合わせ数の最大値は、｜ｑ１｜×｜ｑ２｜×…×｜ｑｄ｜である。各準識別子が再符号化されることで、その組み合わせ数は増減するが、基本的にはその準識別子の数に比例して、その組み合わせ数は増大する。【００２７】
また、その匿名性検証において、組Ｑを抽出する処理では、その準識別子の数であるｄ回のデータ参照が必要になる。そのレコード数をＮ（Ｎ≧１）とすると、ｄＮ回の参照が必要となる。更に、その各準識別子が分散して配置されている場合、１回の参照コストも大きくなり、トータルの参照コストが更に大きくなる。【００２８】
本発明の目的は、上述した問題点を解決できる情報処理装置、匿名性検証方法、及びそのためのプログラム或いはそのプログラムを記録したコンピュータ読み取り可能な非一時的記録媒体を提供することにある。
【課題を解決するための手段】
【００２９】
本発明の一様態における情報処理装置は、データセットに含まれるレコードと、前記レコードに含まれる準識別子の値である準識別子属性値の、一意的な組み合わせを特定するクラスとの対応を示すレコード−クラス対応情報（Ｒｅｃｏｒｄ−Ｃｌａｓｓ  Ｍａｐ、ＲＣＭ）を生成する対応情報生成手段と、前記レコード−クラス対応情報に示される前記クラスに基づいて、前記レコード毎の匿名性を検証する匿名性検証手段と、前記匿名性を検証した結果に基づいて、前記匿名性を満たさない前記レコードを識別可能なように、前記レコード−クラス対応情報を更新し、出力する対応情報更新手段と、を含む。【００３０】
本発明の一様態における匿名化方法は、情報処理装置が、データセットに含まれるレコードと、前記レコードに含まれる準識別子の値である準識別子属性値の、一意的な組み合わせを特定するクラスとの対応を示すレコード−クラス対応情報を生成し、前記レコード−クラス対応情報に示される前記クラスに基づいて、前記レコード毎の匿名性を検証し、前記匿名性を検証した結果に基づいて、前記匿名性を満たさない前記レコードを識別可能なように、前記レコード−クラス対応情報を更新し、出力する。【００３１】
本発明の一様態におけるコンピュータ読み取り可能な非一時的記録媒体は、データセットに含まれるレコードと、前記レコードに含まれる準識別子の値である準識別子属性値の、一意的な組み合わせを特定するクラスとの対応を示すレコード−クラス対応情報を生成し、前記レコード−クラス対応情報に示される前記クラスに基づいて、前記レコード毎の匿名性を検証し、前記匿名性を検証した結果に基づいて、前記匿名性を満たさない前記レコードを識別可能なように、前記レコード−クラス対応情報を更新し、出力する処理をコンピュータに実行させるプログラムを記憶する。
【発明の効果】
【００３２】
本発明は、多次元データを匿名化の対象とする場合に、その匿名化における匿名性検証の計算コストの低減を可能にするという効果がある。
【図面の簡単な説明】
【００３３】
【図１】図１は本発明の第１の実施形態に係る匿名性検証装置の構成を示すブロック図である。
【図２】図２は第１の実施形態における匿名化対象データセットの一例を示す図である。
【図３】図３は第１の実施形態におけるクラス定義の一例を示す図である。
【図４】図４は第１の実施形態におけるレコード−クラスマップの一例を示す図である。
【図５】図５は第１の実施形態における匿名性検証結果の一例を示す図である。
【図６】図６は第１の実施形態における更新後レコード−クラスマップの一例を示す図である。
【図７】図７は、第１の実施形態に係る匿名性検証装置を実現するコンピュータのハードウェア構成を示すブロック図である。
【図８】図８は第１の実施形態における匿名性検証装置の動作を示すフローチャートである。
【図９】図９は本発明の第２の実施形態に係る匿名性検証装置の構成を示すブロック図である。
【図１０】図１０は第２の実施形態におけるレコード−クラスマップの一例を示す図である。
【図１１】図１１は第２の実施形態におけるカレントステートテーブルの一例を示す図である。
【図１２】図１２は第２の実施形態における中間データの一例を示す図である。
【図１３】図１３は第２の実施形態における属性の一般化階層の一例を示す図である。
【図１４】図１４は第２の実施形態における匿名性検証結果の一例を示す図である。
【図１５】図１５は第２の実施形態における更新後カレントステートテーブルの一例を示す図である。
【図１６】図１６は第２の実施形態における更新後レコード−クラスマップの一例を示す図である。
【図１７】図１７は第２の実施形態における匿名性検証装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００３４】
以下、本発明の実施形態に関して、図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同様の符号を付与し、適宜説明を省略する。
また、以下の実施形態及び各図において、本発明の本質に関わらない構成については一般的な技術を採用することとし、本実施形態における詳細な説明及び図示は省略する。
【００３５】
＜＜＜第１の実施形態＞＞＞
図１は、第１の実施形態に係る匿名性検証装置（情報処理装置とも呼ばれる）１００の構成を示すブロック図である。図１に示すように、匿名性検証装置１００は、ＲＣＭ生成部（対応情報生成手段とも呼ばれる）１０２と、匿名性検証部１０６と、ＲＣＭ更新部（対応情報更新手段とも呼ばれる）１０８とを含む。尚、図１に示す構成要素は、ハードウェア単位の構成要素でも、コンピュータ装置の機能単位に分割した構成要素でもよい。ここでは、図１に示す構成要素は、コンピュータ装置の機能単位に分割した構成要素として説明する。
【００３６】
まず、本実施形態に係る匿名性検証装置１００の動作の概要を説明する。
【００３７】
匿名性検証装置１００は、匿名化対象データセット（単に、データセットとも呼ばれる）に含まれる全ての匿名化対象レコード（単に、レコードとも呼ばれる）８０９のそれぞれから、組Ｑを抽出する。ここで、組Ｑは、「準識別子の値（準識別子属性値とも呼ばれる）の、全種類の準識別子についての、一意的な組み合わせ」を示す。尚、準識別子の値は、準識別子の具体的内容を表すデータであり、数値に限定されない（例えば、文字などの）情報である。
【００３８】
次に、匿名性検証装置１００は、その抽出した各組Ｑを一意的に特定するクラスを定義し、それらの匿名化対象レコード８０９のそれぞれをそれらのクラスに対応付けるレコード−クラスマップ（ＲＣＭ、レコード−クラス対応情報とも呼ばれる）を生成する。
【００３９】
そして、匿名性検証装置１００は、そのレコード−クラスマップに基づいて、各匿名化レコードｒ’のｋ−匿名性を検証する。ここで、匿名化レコードｒ’とは、匿名化対象レコード８０９に対応する、匿名化対象レコード８０９が匿名化された或いは匿名化されるレコードである。
【００４０】
そして、匿名性検証装置１００は、それらのｋ−匿名性を検証した結果に基づいて、そのｋ−匿名性を満たさない匿名化レコードｒ’を識別可能なように、そのレコード−クラスマップを更新する。
【００４１】
次に、本実施形態における匿名性検証装置１００が備える各構成要素について説明する。
＝＝＝ＲＣＭ生成部１０２＝＝＝
ＲＣＭ生成部１０２は、匿名化対象データセット８００に含まれる全ての匿名化対象レコード８０９から、組Ｑを抽出する。
【００４２】
図２は、本実施形態における匿名化対象データセット８００の一例を示す図である。
【００４３】
図２に示すように、匿名化対象データセット８００は、複数の匿名化対象レコード８０９を含む。匿名化対象レコード８０９は、匿名化対象レコード８０９自身を識別するＲＩＤ（Ｒｅｃｏｒｄ  Ｉｄｅｎｔｉｆｉｅｒ、レコード識別子、レコードＩＤ）と、１つ以上の準識別子とを含む。その準識別子は、例えば、「性別」、「生年」、「診療月」及び「傷病名」である。尚、匿名化対象データセット８００は、図２に示す例に係わらず、任意の属性を含んでよい。また、その準識別子は、匿名化対象データセット８００に含まれる属性の内、任意の属性であってよい。
【００４４】
匿名化対象データセット８００は、オリジナルな情報内容のままで公開や利用されることが好ましくない、個人情報等の情報である。
【００４５】
例えば、ＲＣＭ生成部１０２は、図２に示す匿名化対象データセット８００から、以下の６種類の組Ｑを抽出する。
【００４６】
｛“男性”、“１９３０〜１９３９”、“４〜６”、“Ａ、Ｂ、Ｃ”｝、｛“男性”、“１９４０〜１９４９”、“４〜６”、“Ｘ、Ｙ、Ｚ”｝、｛“男性”、“１９５０〜１９５９”、“４〜６”、“Ｘ、Ｙ、Ｚ”｝、｛“女性”、“１９３０〜１９３９”、“４〜６”、“Ａ、Ｂ、Ｃ”｝、｛“女性”、“１９４０〜１９４９”、“４〜６”、“Ｘ、Ｙ、Ｚ”｝、｛“女性”、“１９５０〜１９５９”、“４〜６”、“Ｘ、Ｙ、Ｚ”｝。
【００４７】
上述したように、これらの組Ｑは、準識別子の値の、全種類の準識別子についての、一意的な組み合わせである。尚、その組Ｑは、匿名性検証部１０６がｋ−匿名性検証に用いる任意の種類の準識別子の値の、一意的な組み合わせであってもよい。
【００４８】
次に、ＲＣＭ生成部１０２は、その抽出した組Ｑのそれぞれに対してクラスを定義する。
【００４９】
図３は、本実施形態における、クラス定義表８１０の一例を示す図である。図３に示すようにクラス定義表８１０は、その抽出された組ＱとＣＩＤ（Ｃｌａｓｓ  Ｉｄｅｎｔｉｆｉｅｒ、クラス識別子、クラスＩＤ）との対応を示す。そのクラスＩＤは、その組Ｑのそれぞれに対して定義されたＩＤ情報であり、そのクラスを一意に識別する。
【００５０】
ＲＣＭ生成部１０２は、各クラスのＣＩＤに、重複がなく一意に識別できる任意の値を付与する。例えば、ＲＣＭ生成部１０２は、その組Ｑの抽出順に対して、１から始まる連番を付与する。
【００５１】
次に、ＲＣＭ生成部１０２は、匿名化対象レコード８０９のそれぞれに対応する組Ｑに基づいて、レコード−クラスマップを生成する。レコード−クラスマップは、匿名化対象レコード８０９とその定義したクラスとを対応付ける。同一のクラスに属する匿名化対象レコード８０９の集合は、同一の組Ｑ（即ち、同一の準識別子の値の一意的な組み合わせ）に対応する匿名化対象レコード８０９の集合である。
【００５２】
例えば、ＣＩＤが「１」である組Ｑの「｛“男性”、“１９３０〜１９３９”、“４〜６”、“Ａ、Ｂ、Ｃ”｝」を持つ匿名化対象レコード８０９の集合は、ＲＩＤが「１」及び「２」の匿名化対象レコード８０９である。よって、ＲＩＤが「１」及び「２」の匿名化対象レコード８０９は、ＣＩＤが「１」のクラスに属する。ＲＣＭ生成部１０２は、ＲＩＤが「３」〜「１０」の匿名化対象レコード８０９についても、同様にその組Ｑに基づいて、その各クラスのいずれかに対応付ける。
【００５３】
図４は、本実施形態におけるＲＣＭ８２０の一例を示す図である。図４に示すように、ＲＣＭ８２０は、ＲＩＤとＣＩＤとの対応、即ち匿名化対象レコード８０９とクラスとの対応を示す。
【００５４】
＝＝＝匿名性検証部１０６＝＝＝
匿名性検証部１０６は、ＲＣＭ８２０に基づいて、匿名化レコードｒ’のｋ−匿名性を評価する。
【００５５】
具体的には、匿名性検証部１０６は、ＲＣＭ８２０中のＣＩＤ毎の頻度（ＲＩＤの数）を計数し、その頻度に基づいて匿名化レコードｒ’のｋ−匿名性を評価する。即ち、その頻度がｋ以上のクラスは、そのｋ−匿名性を満たす。従って、そのｋ−匿名性を満たすそのクラスに属する匿名化レコードｒ’も、そのｋ−匿名性を満たす。
【００５６】
図５は、匿名性検証部１０６によるｋ-匿名性の評価の結果である、匿名性検証結果８３０の一例を示す図である。
【００５７】
図５に示す匿名性検証結果８３０は、図４のＲＣＭ８２０に対してｋ＝２のｋ−匿名性を検証した結果を示す。各行は、ＣＩＤと、そのＣＩＤに対応するＲＩＤの頻度（クラス毎のＲＩＤ数＝匿名化対象レコード８０９の数）と、その頻度からそのｋ−匿名性を充足するか否かを評価した検証結果とを含む。検証結果は、「ＯＫ」の場合にそのｋ-匿名性を充足することを示し、「ＮＧ」の場合にそのｋ-匿名性を充足しないことを示す。
【００５８】
図５は、ＣＩＤの「３」及び「６」に対応するクラスがそのｋ−匿名性を満たさないことを示す。従って、それらのクラスに属する、ＲＩＤの「５」及び「１０」に対応する匿名化レコードｒ’がそのｋ−匿名性を満たさないことを示す。
【００５９】
このとき、匿名性検証部１０６は、ＣＩＤだけを参照してｋ−匿名性を検証することができ、Ｎ（レコード数）回の属性値の参照で匿名性の検証を実現できる。
【００６０】
即ち、レコード数をＮ（Ｎ≧１）、準識別子数をｄ（ｄ≧１）とした場合、ＲＣＭ８２０の生成には、ｄＮ回の匿名化対象データセット８００の参照が必要になる。しかし、以降の処理において匿名性検証を実施する際には、匿名性検証部１０６は、Ｎ回の参照、または検証したい匿名化レコードｒ’の属するそのクラスのそのレコード数だけの参照回数でｋ−匿名性を検証できる。
【００６１】
＝＝＝ＲＣＭ更新部１０８＝＝＝
ＲＣＭ更新部１０８は、匿名性検証結果８３０に基づいて、更新後ＲＣＭを生成し、出力する。ＲＣＭ更新部１０８は、ｋ−匿名性を満たさない匿名化レコードｒ’が明らかになるように、ＲＣＭ８２０を更新して更新後ＲＣＭを生成する。
【００６２】
具体的には、ＲＣＭ更新部１０８は、ＲＣＭ８２０からｋ−匿名性を満たさない匿名化レコードｒ’に対応する行を削除する。また、ＲＣＭ更新部１０８は、ｋ−匿名性を満たさないその匿名化レコードｒ’に対応するクラスＩＤを、ｋ−匿名性を満たす匿名化レコードｒ’に対応するクラスＩＤと区別可能に管理するようにしてもよい。例えば、ＲＣＭ更新部１０８は、クラスＩＤにｋ−匿名性を満たさないことを示す情報（例えば、所定の値）を付加するようにしてもよい。
【００６３】
図６は、更新後ＲＣＭ８２１の一例を示す図である。図６に示すように、更新後ＲＣＭ８２１は、図４に示すＲＣＭ８２０から、ＲＩＤが「５」及び「６」の行が削除されている。即ち、更新後ＲＣＭ８２１は、ＲＣＭ８２０からｋ−匿名性を満たさない匿名化レコードｒ’に対応する行（一般的に、情報とも呼ばれる）を削除したものである。
【００６４】
以上が、匿名性検証装置１００の機能単位の各構成要素についての説明である。
【００６５】
次に、匿名性検証装置１００のハードウェア単位の構成要素について説明する。
【００６６】
本実施形態において、匿名性検証装置１００は、コンピュータ等の情報処理装置によって実現することができる。匿名性検証装置１００及び後述する第２の実施形態における匿名化装置２００における各構成要素（機能ブロック）は、情報処理装置が備えるハードウェア資源において、プログラムが実行されることによって実現される。プログラムは、コンピュータ・プログラム或いはソフトウェア・プログラムとも呼ばれる。
【００６７】
例えば、匿名性検証装置１００は、コンピュータのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、主記憶装置、補助記憶装置等のハードウェアと、記憶装置等から主記憶装置にロードされたプログラムとが協働することによって実現される。
【００６８】
但し、プログラムの実装形態は、図１に示したブロック構成（ＲＣＭ生成部１０２、匿名性検証部１０６、ＲＣＭ更新部１０８）には限定されず、当業者が採用し得る様々な実装形態を適用可能である（以下の各実施形態においても同様）。尚、匿名性検証装置１００及び後述する各実施形態に係る匿名化装置は、専用の装置によって実現してもよい。
【００６９】
図７は、本実施形態における匿名性検証装置１００を実現するコンピュータ７００のハードウェア構成を示す図である。
【００７０】
図７に示すように、コンピュータ７００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１、記憶部７０２、記憶装置７０３、入力部７０４、出力部７０５及び通信部７０６を含む。更に、コンピュータ７００は、外部から供給される記録媒体（または記憶媒体）７０７を含む。記録媒体７０７は、情報を非一時的に記憶する不揮発性記録媒体であってもよい。
【００７１】
ＣＰＵ７０１は、オペレーティングシステム（不図示）を動作させて、コンピュータ７００の、全体の動作を制御する。また、ＣＰＵ７０１は、例えば記憶装置７０３に装着された記録媒体７０７から、プログラムやデータを読み込み、読み込んだプログラムやデータを記憶部７０２に書き込む。ここで、そのプログラムは、例えば、後述の図８に示すフローチャートの動作をコンピュータ７００に実行させるプログラムである。
【００７２】
そして、ＣＰＵ７０１は、読み込んだプログラムに従って、また読み込んだデータに基づいて、図１に示すＲＣＭ生成部１０２、匿名性検証部１０６及びＲＣＭ更新部１０８として各種の処理を実行する。
【００７３】
尚、ＣＰＵ７０１は、通信網（不図示）に接続されている外部コンピュータ（不図示）から、記憶部７０２にプログラムやデータをダウンロードするようにしてもよい。
【００７４】
記憶部７０２は、プログラムやデータを記憶する。記憶部７０２は、匿名化対象データセット８００、クラス定義表８１０、ＲＣＭ８２０、匿名性検証結果８３０及び更新後ＲＣＭ８２１を記憶してよい。
【００７５】
記憶装置７０３は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク及び半導体メモリであって、記録媒体７０７を含む。記憶装置７０３（記録媒体７０７）は、プログラムをコンピュータ読み取り可能に記憶する。また、記憶装置７０３は、データを記憶してもよい。記憶装置７０３は、匿名化対象データセット８００、クラス定義表８１０、ＲＣＭ８２０、匿名性検証結果８３０及び更新後ＲＣＭ８２１を記憶してよい。
【００７６】
入力部７０４は、例えばマウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力部７０４は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネルなどでもよい。入力部７０４は、例えば１０３の一部として含まれる。この場合、ＲＣＭ生成部１０２は、処理開始の指示や、匿名化対象データセット８００の指定を、入力部７０４を介して受け取るようにしてよい。
【００７７】
出力部７０５は、例えばディスプレイで実現され、出力を確認するために用いられる。出力部７０５は、例えばＲＣＭ生成部１０２、匿名性検証部１０６及びＲＣＭ更新部１０８の一部として含まれる。この場合、各構成要素は、処理の結果や異常の発生などを、出力部７０５を介して出力するようにしてよい。
【００７８】
通信部７０６は、外部とのインタフェースを実現する。通信部７０６は、例えばＲＣＭ生成部１０２の一部として含まれる。この場合、ＲＣＭ生成部１０２は、通信部７０６を介して、外部装置から匿名化対象データセット８００を取得するようにしてよい。
【００７９】
以上説明したように、図１に示す匿名性検証装置１００の機能単位のブロックは、図７に示すハードウェア構成のコンピュータ７００によって実現される。但し、コンピュータ７００が備える各部の実現手段は、上記に限定されない。すなわち、コンピュータ７００は、物理的に結合した１つの装置により実現されてもよいし、物理的に分離した２つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
【００８０】
尚、上述のプログラムのコードを記録した記録媒体７０７が、コンピュータ７００に供給され、ＣＰＵ７０１は、記録媒体７０７に格納されたプログラムのコードを読み出して実行するようにしてもよい。或いは、ＣＰＵ７０１は、記録媒体７０７に格納されたプログラムのコードを、記憶部７０２、記憶装置７０３またはその両方に格納するようにしてもよい。すなわち、本実施形態は、コンピュータ７００（ＣＰＵ７０１）が実行するプログラム（ソフトウェア）を、一時的にまたは非一時的に、記憶する記録媒体７０７の実施形態を含む。
【００８１】
以上が、本実施形態における匿名性検証装置１００を実現するコンピュータ７００の、ハードウェア単位の各構成要素についての説明である。
【００８２】
次に本実施形態の動作について、図１〜図８を参照して詳細に説明する。
【００８３】
図８は、本実施形態の動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したＣＰＵ７０１によるプログラム制御に基づいて、実行されても良い。また、処理のステップ名については、Ｓ６０１のように、記号で記載する。
【００８４】
ＲＣＭ生成部１０２は、匿名化対象データセット８００に含まれる全ての匿名化対象レコード８０９から、組Ｑを抽出する（ステップＳ６０１）。
【００８５】
例えば、匿名化対象データセット８００は、図７に示す記憶部７０２或いは記憶装置７０３に予め記憶されていてよい。また、ＲＣＭ生成部１０２は、図７に示す入力部７０４を介して操作者が入力した、匿名化対象データセット８００を取得するようにしてもよい。また、ＲＣＭ生成部１０２は、図７に示す通信部７０６を介して図示しない機器から、匿名化対象データセット８００を受信するようにしてもよい。また、ＲＣＭ生成部１０２は、図７に示す記憶装置７０３を介して、記録媒体７０７に記録された匿名化対象データセット８００を取得するようにしてもよい。
【００８６】
次に、ＲＣＭ生成部１０２は、その抽出した組Ｑのそれぞれに対してクラスを定義する（ステップＳ６０２）。
【００８７】
次に、ＲＣＭ生成部１０２は、匿名化対象レコード８０９のそれぞれが持つ組Ｑに基づいて、匿名化対象レコード８０９とそれらのクラスとを対応付けたＲＣＭ８２０を生成する（ステップＳ６０３）。
【００８８】
次に、匿名性検証部１０６は、ＲＣＭ８２０に基づいて、各匿名化レコードｒ’のｋ−匿名性を評価する（ステップＳ６０４）。
【００８９】
次に、ＲＣＭ更新部１０８は、そのｋ-匿名性の評価の結果に基づいて、ＲＣＭ８２０を更新して更新後ＲＣＭ８２１を生成し、出力する（ステップＳ６０５）。
【００９０】
例えば、ＲＣＭ更新部１０８は、更新後ＲＣＭ８２１を図７に示す出力部７０５を介して出力する。また、ＲＣＭ更新部１０８は、図７に示す通信部７０６を介して、図示しない機器に更新後ＲＣＭ８２１を送信するようにしてもよい。また、ＲＣＭ更新部１０８は、図７に示す記憶装置７０３を介して、記録媒体７０７に更新後ＲＣＭ８２１を記録するようにしてもよい。
【００９１】
上述したように、本実施形態の匿名性検証装置１００は、匿名化対象データセット８００のような多次元データを対象とした匿名化における匿名性検証の際に、匿名化レコードｒ’の数（例えば、Ｎ（Ｎ≧１））の回数だけＲＣＭ８２０を参照する。そして、匿名性検証装置１００がＲＣＭ８２０を参照する回数は、準識別子の数（例えばｄ（ｄ≧１））に係わらない。即ち、匿名性検証装置１００は、匿名性検証の際のデータ参照をＮ回に抑えることができる。一方、関連技術では、そのデータ参照がｄＮ回実施される。
【００９２】
上述した本実施形態における効果は、多次元データを匿名化の対象とする場合に、その匿名化における匿名性検証の計算コストの低減を可能にする点である。
【００９３】
その理由は、ＲＣＭ生成部１０２がＲＣＭ８２０を生成し、匿名性検証部１０６がＲＣＭ８２０に基づいてｋ−匿名性を検証し、ＲＣＭ更新部１０８が検証結果に基づいてＲＣＭ８２０を更新して更新後ＲＣＭ８２１を生成し、出力するようにしたからである。
【００９４】
＜＜＜第２の実施形態＞＞＞
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【００９５】
本実施形態は、匿名化処理中に実施する匿名性検証を、レコード−クラスマップを用いてデータの参照コストを抑制しつつ、実現する方法を開示する。
【００９６】
本実施形態は、段階的にｋ−匿名性を満たしながら情報損失が低い状態を探索する場合を開示する。具体的には、本実施形態は、準識別子を最も一般化した状態から少しずつ詳細化（具体化）することと、その詳細化した場合の匿名性を検証することとを繰り返すことで再符号化を行う場合を開示する。
【００９７】
図９は、本発明の第２の実施形態に係る匿名化装置（情報処理装置とも呼ばれる）２００の構成を示す機能ブロック図である。
【００９８】
図９に示すように匿名化装置２００は、ＲＣＭ生成部２０２とカレントステート生成部２０３と再符号化部２０５と匿名性検証部２０６とカレントステート更新部２０７とＲＣＭ更新部２０８とを含む。
【００９９】
＝＝＝ＲＣＭ生成部２０２＝＝＝
ＲＣＭ生成部２０２は、匿名化対象データセット８００に基づいて、レコード−クラスマップ（ＲＣＭ）を生成する。
【０１００】
図１０は、ＲＣＭ生成部２０２が生成するＲＣＭ８４０の一例を示す図である。尚、ＲＣＭ８４０において、ＣＩＤは１つである。即ち、図１０に示すＲＣＭ８４０は、全ての匿名化レコードｒ’が同じクラスに属していることを示す。
【０１０１】
＝＝＝カレントステート生成部２０３＝＝＝
カレントステート生成部２０３は、ＲＣＭ８４０に基づいて、準識別子毎にカレントステートテーブルを生成する。
【０１０２】
図１１は、カレントステートテーブル８５０の一例を示す図である。図１１に示すように、カレントステートテーブル８５０は、ＲＩＤ（レコード識別子）とＣＩＤ（クラス識別子）と再符号化値との組を含む。
【０１０３】
図１１に示すカレントステートテーブル８５０は、図２に示す匿名化対象データセット８００及び図１０に示すＲＣＭ８４０に基づいて、生成されたものである。そして、カレントステートテーブル８５０は、トップダウン再符号化の場合に対応するカレントステートレコードの例である。そのトップダウン再符号化は、所定のｋ−匿名性を充足しつつ、その準識別子の属性値の範囲や性質がオリジナルの属性値に近づくように、準識別子の値を加工（具体化）する再符号化である。
【０１０４】
その再符号化値は、準識別子の属性値を加工し、生成したものである。カレントステートテーブル８５０に含まれる再符号化値は、いずれの準識別子に対応するカレントステートテーブル８５０においても、全て同じ（例えば、「ＡＮＹ」）である。「ＡＮＹ」は、ある準識別子が取り得る全ての値を包含する。即ち、カレントステートテーブル８５０は、最も一般化された準識別子の値を再符号化値として含む。
【０１０５】
尚、カレントステートレコードは、以下に示すボトムアップ再符号化の場合に対応するカレントステートレコードであってもよい。そのボトムアップ再符号化は、その準識別子のオリジナルの属性値を、所定のｋ−匿名性を充足するように、加工（一般化）する再符号化である。
【０１０６】
この場合、そのカレントステートレコードに含まれる再符号化値は、そのカレントステートレコードに対応する匿名化対象レコード８０９に含まれる、オリジナルの属性値である。
【０１０７】
＝＝＝再符号化部２０５＝＝＝
再符号化部２０５は、カレントステートテーブル８５０の再符号化値を加工し、中間データを生成する。
【０１０８】
図１２は、中間データ８６０の一例を示す図である。図１２に示すように、中間データ８６０は、図１１に示すカレントステートテーブル８５０と同様に、ＲＩＤとＣＩＤと再符号化値との組を含む。ここで、中間データ８６０に含まれる再符号化値は、カレントステートテーブル８５０の再符号化値が加工されたものである。
【０１０９】
図１３は、一般化階層（Ｇｅｎｅｒａｌｉｚａｔｉｏｎ  Ｈｉｅｒａｒｃｈｙ）８７０の一例を示す図である。図１３に示すように、一般化階層８７０は、生年属性の一般化階層であり、最上位に生年属性が取り得る値を全て包含する値のルートを持ち、下位に向かって、順次具体化された値のノードを持つ。
【０１１０】
例えば、再符号化部２０５は、図１３に示す一般化階層８７０に基づいて、図１１に示すカレントステートテーブル８５０に含まれる「生年」の属性（準識別子）を再符号化し、図１２に示す中間データ８６０を生成する。
【０１１１】
具体的には、再符号化部２０５は、カレントステートテーブル８５０に含まれる「生年」の準識別子を、匿名化対象データセット８００に含まれる生年の準識別子の値と一般化階層８７０とに基づいて、再符号化する。具体的には、再符号化部２０５は、その「生年」の準識別子を、最も一般化された状態である「ＡＮＹ」から１段階詳細化を行った「１９００〜１９４９」、「１９５０〜１９９９」、「２０００〜」へと再符号化する。
【０１１２】
尚、中間データ８６０は、トップダウン再符号化の場合に対応する中間データの例である。ボトムアップ再符号化の場合、再符号化部２０５は、その「生年」の準識別子を、そのオリジナルの属性値から１段階一般化を行った値へと再符号化する。
【０１１３】
＝＝＝匿名性検証部２０６＝＝＝
匿名性検証部２０６は、中間データ８６０に基づいて、各匿名化レコードｒ’のｋ−匿名性を検証する。
【０１１４】
例えば、匿名性検証部２０６は、中間データ８６０における、同一の（ＣＩＤ、再符号化値）の組を持つその匿名化レコードｒ’の数を計数する。または、ｋ−匿名性の検証は、同一の（ＣＩＤ、再符号化値）の組を持つその匿名化レコードｒ’に対応する、個人識別子等の属性の種類数を計数するようにしてもよい。
【０１１５】
計数したレコード数がｋ以上である、同一の（ＣＩＤ、再符号化値）の組に対応する匿名化レコードｒ’は、ｋ−匿名性を満たす。また、計数したレコード数がｋ未満の、同一の（ＣＩＤ、再符号化値）の組に対応する匿名化レコードｒ’は、ｋ−匿名性を満たさない。ここで、同一の（ＣＩＤ、再符号化値）の組を持つその匿名化レコードｒ’のグループは、同一のクラスに属すると考えることができる。
【０１１６】
図１４は、図１２の中間データ８６０に対してｋ−匿名性（ｋ＝２）を評価した結果を示す図である。図１４に示す匿名性検証結果８８０は、（ＣＩＤ、再符号化値）の組と頻度とを含む。ここで、その頻度は、その（ＣＩＤ、再符号化値）の組を持つその匿名化レコードｒ’の数である。ＣＩＤが「１」及び再符号化値が「１９００〜１９４９」の組に対応するクラスはその頻度が「８」でありそのｋ−匿名性を満たすことを示している。また、図１４は、ＣＩＤが「１」及び再符号化値が「１９５０〜１９９９」の（ＣＩＤ、再符号化値）の組に対応するクラスはその頻度が「２」でありそのｋ−匿名性を満たさないことを示している。
【０１１７】
＝＝＝カレントステート更新部２０７＝＝＝
カレントステート更新部２０７は、後述するＲＣＭ更新部２０８が中間データ８６０を採用すると判定した場合、中間データ８６０に含まれる再符号化値を、カレントステートテーブル８５０に反映する。更に、カレントステート更新部２０７は、カレントステートテーブル８５０のＣＩＤを更新し、更新後カレントステートテーブル８５２を生成する。カレントステート更新部２０７は、更新する新しいＣＩＤとして、図１４に示す匿名性検証結果８８０に含まれるＣＩＤと再符号化値との組み合わせに対して一意となる値を割り当てる。
【０１１８】
また、カレントステート更新部２０７は、後述の更新後ＲＣＭ８４２に基づいて、その再符号化した準識別子以外の、他の準識別子に対応するカレントステートテーブルのＣＩＤを更新する。
【０１１９】
また、カレントステート更新部２０７は、全ての準識別子の再符号化が終了した場合に、その更新した結果に対応する情報を出力する。その情報は、例えば、それら全ての準識別子のそれぞれに対応するＣＩＤを更新されたカレントステートテーブルである。または、その情報は、それらのＣＩＤを更新されたカレントステートテーブルに基づいて匿名化対象データセット８００が更新されて生成された匿名化データセットであってよい。
【０１２０】
図１５は、図１１に示すカレントステートテーブル８５０が、再符号化値を反映され、図１４に示す匿名性検証結果８８０に基づいてクラスＩＤを更新された、更新後カレントステートテーブル８５２の一例を示す図である。ここで、その再符号化値は、図１２に示す中間データ８６０に含まれる再符号化値である。
【０１２１】
＝＝＝ＲＣＭ更新部２０８＝＝＝
ＲＣＭ更新部２０８は、匿名性検証部２０６の匿名性検証結果８８０に応じて、中間データ８６０を採用するか否かを判定する。例えば、ＲＣＭ更新部２０８は、全匿名化対象レコード８０９のそれぞれに対応する匿名化レコードｒ’の８０％以上がｋ−匿名性を満たす匿名性検証結果８８０を得られる場合、中間データ８６０を採用すると判定する。また、ＲＣＭ更新部２０８は、その匿名性検証結果８８０を得られない場合、中間データ８６０を採用しないと判定する。
【０１２２】
中間データ８６０を採用すると判定した場合、ＲＣＭ更新部２０８は、ＣＩＤを変更された更新後カレントステートテーブル８５２に基づいて、ＲＣＭ８４０を更新する。具体的には、ＲＣＭ更新部２０８は、更新後カレントステートテーブル８５２のＲＩＤとＣＩＤとの組み合わせを抽出し、その抽出した内容に基づいて、ＲＣＭ８４０を更新する。
【０１２３】
ＲＣＭ更新部２０８は、更に、匿名性検証結果８８０に基づいて、ｋ−匿名性を満たさない匿名化レコードｒ’に対応するＲＩＤとＣＩＤとの組み合わせを削除する。また、ＲＣＭ更新部２０８は、ｋ−匿名性を満たさない匿名化レコードｒ’に対応するクラスＩＤを、ｋ−匿名性を満たすその匿名化レコードに対応するクラスＩＤと区別可能なように管理するようにしてもよい。例えば、ＲＣＭ更新部２０８は、ｋ−匿名性を満たさない匿名化レコードｒ’に対応するクラスＩＤにｋ−匿名性を満たさないことを示す情報（例えば、所定の値）を付加するようにしてもよい。
【０１２４】
図１６は、図１０に示すＲＣＭ８４０が、ＣＩＤを更新され、ＲＩＤとＣＩＤとの組み合わせを削除された、更新後ＲＣＭ８４２の一例を示す図である。ここで、そのＣＩＤの更新は、図１５に示す更新後カレントステートテーブル８５２に基づいた更新である。また、ＲＩＤとＣＩＤとの組み合わせの削除は、図１４に示す匿名性検証結果８８０に基づいた削除である。
【０１２５】
また、中間データ８６０を採用しないと判定した場合、ＲＣＭ更新部２０８は、その中間データ８６０を破棄する。即ち、その場合、ＲＣＭ更新部２０８は、その中間データ８６０について、何の処理も実行しなくてよい。
【０１２６】
次に、本実施形態の動作を、図面を参照して詳細に説明する。
【０１２７】
ＲＣＭ生成部２０２は、匿名化対象データセット８００に基づいて、ＲＣＭ８４０を生成する（ステップＳ６１１）。ここで、ＲＣＭ生成部２０２は、初期状態として全ての匿名化対象レコード８０９のクラスを同じクラス（例えば、ＣＩＤが「１」）に初期化する。
【０１２８】
次に、カレントステート生成部２０３は、ＲＣＭ８４０に基づいて、準識別子毎にカレントステートテーブル８５０を生成する（ステップＳ６１３）。
【０１２９】
次に、再符号化部２０５は、再符号化の可否を判定する（ステップＳ６１５）。ここで、再符号化の可否とは、匿名化の対象のいずれかの準識別子についての、ｋ−匿名性を満たす再符号化の可否を示す。
【０１３０】
再符号化が可と判定された場合（ステップＳ６１５でＹＥＳ）、処理はステップＳ６１７へ進む。再符号化が不可と判定された場合（ステップＳ６１５でＮＯ）、処理はステップＳ６３１へ進む。
【０１３１】
例えば、再符号化部２０５は、先行して実行されたステップＳ６２３（後述）の処理において、中間データ８６０を採用しないと判定された再符号化に対応する準識別子について、再符号化が不可であると判断する。
【０１３２】
また、再符号化部２０５は、ステップＳ６１７以降の処理を実行しても、ＲＣＭ更新部２０８における中間データ８６０の採用基準を満足できる可能性がある場合に再符号化が可であると判定するようにしてもよい。ここでその採用基準は、例えば、匿名化対象レコード８０９のそれぞれに対応する匿名化レコードｒ’の８０％以上がｋ−匿名性を満たす匿名性検証結果８８０を得られるか否かである。そして、再符号化部２０５は、その採用基準を満足できる可能性がない場合に再符号化が不可であると判定するようにしてもよい。
【０１３３】
尚、その採用基準を満足できる可能性がない場合は、例えば、前回のステップＳ６１７以降の処理実行による匿名性検証結果８８０が、全匿名化レコードｒ’のちょうど８０％がｋ−匿名性を満たすことを示している場合である。換言すると、その場合は、匿名化結果に含めない匿名化レコードｒ’を更に増やすと、匿名性検証結果８８０が、そのｋ−匿名性を満たす匿名化レコードｒ’が８０％未満であることを示す場合である。
【０１３４】
更に、再符号化部２０５は、その再符号化値が一般化階層８７０の最下層のノード（リーフ）のいずれかの値である場合に再符号化が不可であると判定するようにしてよい。ここで、その再符号化値は、ステップＳ６１５の一回目の処理においては、カレントステートテーブル８５０に含まれる再符号化値である。また、その再符号化値は、ステップＳ６１５の二回目以降の処理においては、中間データ８６０に含まれる再符号化値である。
【０１３５】
再符号化部２０５は、上述に係わらず、任意の条件或いは条件の組み合わせに基づいて、再符号化の可否を判定してよい。
【０１３６】
この「ＲＣＭ更新部２０８における中間データ８６０の採用基準」に基づく判定は、ｋ−匿名性を満たさない匿名化レコードｒ’を匿名化結果には含めないことで、データセット全体としてはｋ−匿名性を満たすようにするという想定に基づくものである。
【０１３７】
再符号化が可と判定された場合、再符号化部２０５は、再符号化の対象とする準識別子を選択する（ステップＳ６１７）。再符号化の対象とする準識別子は、再符号化可能な準識別子群から選択する。このとき、再符号化部２０５は、準識別子毎の情報損失等の情報量や、準識別子毎に定義された再符号化方法を用いて、再符号化を実施した場合の情報量の変化度合いや、その見積もり値を算出し、それらを用いて、再符号化の対象とする準識別子を１つ選択する。尚、再符号化部２０５は、選択の評価指標として任意の情報量を用いてよい。
【０１３８】
ここでは、生年属性が再符号化の対象として選択されたものとして、ステップＳ６１９以降のステップの動作を説明する。
【０１３９】
再符号化部２０５は、対象準識別子のカレントステートテーブル８５０に含まれる再符号化値を、その対象準識別子に対応する属性毎の再符号化手法に基づいて加工し、中間データ８６０を生成する（ステップＳ６１９）。
【０１４０】
次に、匿名性検証部２０６は、ステップＳ６１９で生成した中間データ８６０に基づいて、各匿名化レコードｒ’のｋ−匿名性を検証する（ステップＳ６２１）。
【０１４１】
次に、匿名性検証部２０６は、その検証した結果に基づいて、中間データ８６０を採用するか否かを判定する（ステップＳ６２３）。例えば、図１２に示す中間データ８６０は、図１４の匿名性検証結果８８０が示すように、１０レコード中８レコード（８０％）がｋ−匿名性を満たす。このため、匿名性検証部２０６は中間データ８６０を採用すると判定する。
【０１４２】
中間データ８６０を採用する場合（ステップＳ６２３でＹＥＳ）、処理はステップＳ６２５へ進む。
【０１４３】
中間データ８６０を採用しない場合（ステップＳ６２３でＮＯ）、処理はステップＳ６１５へ戻る。この場合、その中間データ８６０は、破棄される。
【０１４４】
次に、カレントステート更新部２０７は、更新後カレントステートテーブル８５２を生成する（ステップＳ６２５）。
【０１４５】
次に、ＲＣＭ更新部２０８は、更新後ＲＣＭ８４２を生成する（ステップＳ６２７）。
【０１４６】
次に、カレントステート更新部２０７は、その更新後ＲＣＭ８４２に基づいて、その再符号化した準識別子以外の、他の準識別子に対応するカレントステートテーブルのＣＩＤを更新する（ステップＳ６２９）。尚、カレントステート更新部２０７は、この更新の処理を、ステップＳ６１９（再符号化）の前に、実施するようにしてもよい。その場合、カレントステート更新部２０７は、この更新の処理を再符号化の処理対象である準識別子に対応するカレントステートテーブルに対してのみ実施するようにしてもよい。
【０１４７】
次に、カレントステート更新部２０７は、準識別子のそれぞれに対応する、それらの全ての更新後カレントステートテーブルを出力する（ステップＳ６３１）。尚、カレントステート更新部２０７は、それらの更新後カレントステートテーブルに基づいて、匿名化対象データセット８００を更新して匿名化データセットを生成し、出力するようにしてもよい。
【０１４８】
上述したように、本実施形態の匿名化装置２００は、匿名化対象データセット８００のような多次元データを対象とした匿名化における匿名性検証の際に、匿名化レコードｒ’の数「Ｎ（Ｎ≧１）」の２倍の回数だけカレントステートテーブルを参照する。ここで、そのカレントステートテーブルは、カレントステートテーブル８５０或いは更新後カレントステートテーブル８５２である。そして、匿名化装置２００がそのカレントステートテーブルを参照する回数は準識別子の数「ｄ（ｄ≧１）」に係わらない。即ち、匿名性検証装置１００は、匿名性検証の際のデータ参照を２Ｎ回に抑えることができる。一方、関連技術では、そのデータ参照がｄＮ回実施される。
【０１４９】
上述した本実施形態における効果は、多次元データを匿名化の対象とする場合に、その匿名化における匿名性検証の計算コストの低減を可能にする点である。
【０１５０】
その理由は、以下のような構成を含むからである。即ち、第１に、ＲＣＭ生成部２０２がＲＣＭ８４０を生成する。第２に、カレントステート生成部２０３がカレントステートテーブル８５０を生成する。第３に、再符号化部２０５が中間データ８６０を生成する。第４に、匿名性検証部２０６が中間データ８６０に基づいてｋ−匿名性を検証する。第５に、カレントステート更新部２０７がその検証結果に基づいてカレントステートテーブル８５０を更新する。第６に、ＲＣＭ更新部２０８がその検証結果及びその更新されたカレントステートテーブル８５０に基づいて、ＲＣＭ８４０を更新して更新後ＲＣＭ８４２を生成し、出力する。
【０１５１】
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が１個のモジュールとして実現されてよい。また、各構成要素は、１つの構成要素が複数のモジュールで実現されてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であるような構成であってよい。また、各構成要素は、ある構成要素の一部と他の構成要素の一部とが重複するような構成であってもよい。
【０１５２】
以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、可能であれば、ハードウェア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
【０１５３】
そのプログラムは、例えば、磁気ディスクや半導体メモリなど、不揮発性のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。
【０１５４】
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障がない範囲で変更することができる。
【０１５５】
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複してもよい。
【０１５６】
更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作との全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。
【０１５７】
以上、各実施形態を参照して本発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１５８】
この出願は、２０１３年５月９日に出願された日本出願特願２０１３−０９９４３２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１５９】
１００    匿名性検証装置
１０２    ＲＣＭ生成部
１０６    匿名性検証部
１０８    ＲＣＭ更新部
２００    匿名化装置
２０２    ＲＣＭ生成部
２０３    カレントステート生成部
２０５    再符号化部
２０６    匿名性検証部
２０７    カレントステート更新部
２０８    ＲＣＭ更新部
７００    コンピュータ
７０１    ＣＰＵ
７０２    記憶部
７０３    記憶装置
７０４    入力部
７０５    出力部
７０６    通信部
７０７    記録媒体
８００    匿名化対象データセット
８０９    匿名化対象レコード
８１０    クラス定義表
８２０    ＲＣＭ
８２１    更新後ＲＣＭ
８３０    匿名性検証結果
８４０    ＲＣＭ
８４２    更新後ＲＣＭ
８５０    カレントステートテーブル
８５２    更新後カレントステートテーブル
８６０    中間データ
８７０    一般化階層
８８０    匿名性検証結果
【図１】
2014181541.tif 000003
【図２】
2014181541.tif 000004
【図３】
2014181541.tif 000005
【図４】
2014181541.tif 000006
【図５】
2014181541.tif 000007
【図６】
2014181541.tif 000008
【図７】
2014181541.tif 000009
【図８】
2014181541.tif 000010
【図９】
2014181541.tif 000011
【図１０】
2014181541.tif 000012
【図１１】
2014181541.tif 000013
【図１２】
2014181541.tif 000014
【図１３】
2014181541.tif 000015
【図１４】
2014181541.tif 000016
【図１５】
2014181541.tif 000017
【図１６】
2014181541.tif 000018
【図１７】
2014181541.tif 000019
【手続補正書】
【提出日】平成27年11月9日(2015.11.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データセットに含まれるレコードと、前記レコードに含まれる準識別子の値である準識別子属性値の一意的な組み合わせを特定するクラスとの対応を示すレコード−クラス対応情報を生成する対応情報生成手段と、
前記レコード−クラス対応情報に示される前記クラスに基づいて、前記レコード毎の匿名性を検証する匿名性検証手段と、
前記匿名性を検証した結果に基づいて、前記匿名性を満たさない前記レコードを識別可能なように、前記レコード−クラス対応情報を更新し、出力する対応情報更新手段と、を含む
情報処理装置。
【請求項２】
前記レコード−クラス対応情報と前記準識別子属性値とに基づいて、前記準識別子の種類毎に、前記レコードと前記クラスと前記準識別子属性値に対応する再符号化値との対応を示すカレントステート情報を生成するカレントステート生成手段と、
前記カレントステート情報に含まれる前記再符号化値を加工する再符号化手段と、を含み、
前記匿名性検証手段は、前記再符号化値に基づいて、前記レコード毎の匿名性を検証し、
前記再符号化値と前記匿名性を検証した結果とに基づいて、前記カレントステート情報を更新し、その更新した結果に対応する情報を出力するカレントステート更新手段を更に含み、
前記対応情報更新手段は、前記更新されたカレントステート情報に基づいて、前記レコード−クラス対応情報を更新する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記再符号化手段は、最上位に前記準識別子が取り得る値を全て包含する値のルートを持ち、下位に向かって順次具体化された値のノードを持つ一般化階層に基づいて、前記再符号化値を生成する
ことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記対応情報更新手段は、前記匿名性を満たさない前記レコードに対応する情報を、前記レコード−クラス対応情報から削除することで、前記レコード−クラス対応情報を更新する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記対応情報更新手段は、前記レコード−クラス対応情報に含まれる前記匿名性を満たさない前記レコードに対応する情報に、前記匿名性を満たさないことを示す情報を付加することで、前記レコード−クラス対応情報を更新する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項６】
前記対応情報更新手段は、前記レコード−クラス対応情報に含まれる前記匿名性を満たさない前記レコードに対応する情報を、前記匿名性を満たさないことを示す情報に変更することで、前記レコード−クラス対応情報を更新する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項７】
情報処理装置が、
データセットに含まれるレコードと、前記レコードに含まれる準識別子の値である準識別子属性値の一意的な組み合わせを特定するクラスとの対応を示すレコード−クラス対応情報を生成し、
前記レコード−クラス対応情報に示される前記クラスに基づいて、前記レコード毎の匿名性を検証し、
前記匿名性を検証した結果に基づいて、前記匿名性を満たさない前記レコードを識別可能なように、前記レコード−クラス対応情報を更新し、出力する
匿名化検証方法。
【請求項８】
前記情報処理装置が、
前記レコード−クラス対応情報と前記準識別子属性値とに基づいて、前記準識別子の種類毎に、前記レコードと前記クラスと前記準識別子属性値に対応する再符号化値との対応を示すカレントステート情報を生成し、
前記カレントステート情報に含まれる前記再符号化値を加工し、
前記匿名性の検証は、前記再符号化値に基づいて、前記レコード毎の匿名性を検証し、
前記再符号化値と前記匿名性を検証した結果とに基づいて、前記カレントステート情報を更新し、その更新した結果に対応する情報を出力し、
前記レコード−クラス対応情報の更新は、前記更新されたカレントステート情報に基づいて、前記レコード−クラス対応情報を更新する
ことを特徴とする請求項８記載の匿名化検証方法。
【請求項９】
データセットに含まれるレコードと、前記レコードに含まれる準識別子の値である準識別子属性値の一意的な組み合わせを特定するクラスとの対応を示すレコード−クラス対応情報を生成し、
前記レコード−クラス対応情報に示される前記クラスに基づいて、前記レコード毎の匿名性を検証し、
前記匿名性を検証した結果に基づいて、前記匿名性を満たさない前記レコードを識別可能なように、前記レコード−クラス対応情報を更新し、出力する処理をコンピュータに実行させる
プログラム。
【請求項１０】
前記レコード−クラス対応情報と前記準識別子属性値とに基づいて、前記準識別子の種類毎に、前記レコードと前記クラスと前記準識別子属性値に対応する再符号化値との対応を示すカレントステート情報を生成し、
前記カレントステート情報に含まれる前記再符号化値を加工し、
前記匿名性の検証は、前記再符号化値に基づいて、前記レコード毎の匿名性を検証し、
前記再符号化値と前記匿名性を検証した結果とに基づいて、前記カレントステート情報を更新し、その更新した結果に対応する情報を出力し、
前記レコード−クラス対応情報の更新は、前記更新されたカレントステート情報に基づいて、前記レコード−クラス対応情報を更新する処理をコンピュータに実行させる
請求項９記載のプログラム。
【国際調査報告】
2014181541.tif 000020
2014181541.tif 000021
2014181541.tif 000022
2014181541.tif 000023