(57)【要約】【課題】ユーザが必要とする匿名化データを柔軟な手続きで得られるようにする。【解決手段】パーソナル情報匿名化支援装置に、(1) 匿名化対象データを取り込む匿名化対象データ取込部と、(2) 前記匿名化対象データに基づいて一般化階層データを作成する一般化階層作成部と、(3) 前記匿名化対象データを、前記一般化階層データを用いてｋ匿名化し、ｋ匿名化の結果である匿名化データとその付帯情報を出力する第１のｋ匿名化実行部と、(4) 木構造表示された前記一般化階層データ上で、前記ｋ匿名化データの作成に用いられた準識別子の値を強調表示した匿名化マップを画面上に表示すると共に、当該匿名化マップに対する編集入力を受け付ける匿名化マップ編集部と、(5) 編集後の前記匿名化マップを用いて、前記匿名化対象データをｋ匿名化する第２のｋ匿名化実行部と、(6) 前記匿名化対象データ、前記一般化階層データ、前記ｋ匿名化データ、前記匿名化マップを記憶する記憶装置と、を設ける。【選択図】図４
2016151908.tif 000002
【特許請求の範囲】
【請求項１】
匿名化対象データを取り込む匿名化対象データ取込部と、
前記匿名化対象データに基づいて一般化階層データを作成する一般化階層作成部と、
前記匿名化対象データを、前記一般化階層データを用いてｋ匿名化し、ｋ匿名化の結果であるｋ匿名化データとその付帯情報を出力する第１のｋ匿名化実行部と、
木構造表示された前記一般化階層データ上で、前記ｋ匿名化データの作成に用いられた準識別子の値を強調表示した匿名化マップを画面上に表示すると共に、当該匿名化マップに対する編集入力を受け付ける匿名化マップ編集部と、
編集後の前記匿名化マップを用いて、前記匿名化対象データをｋ匿名化する第２のｋ匿名化実行部と、
前記匿名化対象データ、前記一般化階層データ、前記ｋ匿名化データ、前記匿名化マップを記憶する記憶装置と、
を有するパーソナル情報匿名化の試行錯誤支援装置。
【請求項２】
請求項１に記載のパーソナル情報匿名化の試行錯誤支援装置において、
前記匿名化マップ編集部は、前記ｋ匿名化データの作成時に損失した情報量を情報損失率として、前記匿名化マップと共に表示する
ことを特徴とするパーソナル情報匿名化の試行錯誤支援装置。
【請求項３】
請求項１に記載のパーソナル情報匿名化の試行錯誤支援装置において、
前記匿名化マップ編集部は、前記編集入力として、編集対象とする準識別子の指定と、指定された準識別子から上位階層への一般化又は指定された準識別子よりも下位階層への特殊化の指定とを受け付ける
ことを特徴とするパーソナル情報匿名化の試行錯誤支援装置。
【請求項４】
請求項１に記載のパーソナル情報匿名化の試行錯誤支援装置において、
前記匿名化マップ編集部は、編集対象とする準識別子をマウスポインタの指定を通じて受け付け、編集対象として受け付けた準識別子から上位階層への一般化又は指定された準識別子よりも下位階層への特殊化の指定をマウスの右クリックを通じて表示される選択項目候補内から受け付ける
ことを特徴とするパーソナル情報匿名化の試行錯誤支援装置。
【請求項５】
請求項１に記載のパーソナル情報匿名化の試行錯誤支援装置において、
前記匿名化マップ編集部は、画面上に表示された前記匿名化マップ上で指定された準識別子について匿名化後の値の表示が選択された場合、指定された準識別子の値に対応する匿名化前の準識別子の値を前記匿名化マップ上で強調表示する
ことを特徴とするパーソナル情報匿名化の試行錯誤支援装置。
【請求項６】
請求項１に記載のパーソナル情報匿名化の試行錯誤支援装置において、
前記匿名化マップ編集部は、画面上に表示された前記匿名化マップ上で指定された準識別子について匿名化前の値の表示が選択された場合、指定された準識別子の値に対応する匿名化後の準識別子の値を前記匿名化マップ上で強調表示する
ことを特徴とするパーソナル情報匿名化の試行錯誤支援装置。
【請求項７】
請求項１に記載のパーソナル情報匿名化の試行錯誤支援装置において、
前記匿名化データの作成に用いられた各準識別子について、匿名化に用いる準識別子を現在の準識別子よりも上位階層に一般化した場合に想定されるｋ匿名化閾値と一般化後の準識別子を用いてｋ匿名化データを作成した場合に損失する情報量を示す情報損失率とを画面上に表示し、及び／又は、匿名化に用いる準識別子を現在の準識別子よりも下位階層に特殊化した場合に想定されるｋ匿名化閾値と特殊化後の準識別子を用いてｋ匿名化データを作成した場合に損失する情報量を示す情報損失率とを画面上に表示する推奨編集内容提示部を更に有する
ことを特徴とするパーソナル情報匿名化の試行錯誤支援装置。
【請求項８】
匿名化対象データを取り込む匿名化対象データ取込部と、
前記匿名化対象データに基づいて一般化階層データを作成する一般化階層作成部と、
前記匿名化対象データを、前記一般化階層データを用いてｋ匿名化し、ｋ匿名化の結果であるｋ匿名化データとその付帯情報を出力するｋ匿名化実行部と、
前記ｋ匿名化データの作成に用いられた準識別子の値を強調表示した匿名化マップを画面上に表示する匿名化マップ表示部と、
前記匿名化対象データ、前記一般化階層データ、前記ｋ匿名化データ、前記匿名化マップを記憶する記憶装置と、
を有するパーソナル情報匿名化の試行錯誤支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナル情報の匿名化作業を支援する技術に関する。
【背景技術】
【０００２】
現在、個人に関する情報を分析して新たなサービスを創出し、これらの情報の提供主である情報主体を含む社会の発展につなげる動きが医療・通信などの分野で活発化している。その一方、これらの情報の取り扱いを誤ると、情報主体のプライバシーが侵害される。このようなリスクを低減する技術として、ｋ匿名化がある。ｋ匿名化とは、個人に関する情報のどのレコードも、自分と同じ準識別子の値の組み合わせを持つレコードが自分以外に少なくとも（ｋ−１）件以上現れるように、当該準識別子の値を曖昧化する匿名化技術である。準識別子とは、それ単独では個人を特定できないが、組み合わせることで個人を特定するために使われる属性であり、例えば年齢、性別、居住都道府県などがある。ｋ匿名化では、準識別子の値をより一般的な値に置き換えるための階層構造である一般化階層を用いる。一般化階層の例を図１に示す。
【０００３】
主なｋ匿名化の実施方式には、非特許文献１に示すように、階層探索型手法とクラスタリング型手法の２つがある。階層探索型手法とは、ｋ匿名性を満たすための一般化階層の階層レベルの組み合わせを探索する手法であり、Ｉｎｃｏｇｎｉｔｏ（非特許文献２）やＦｌａｓｈ（非特許文献３）などのアルゴリズムが知られている。中でもＦｌａｓｈは、探索性能の高速性を追究したアルゴリズムであり、ｋ匿名化のオープンソースソフトウェアのＡＲＸ（非特許文献４）に実装されている。クラスタリング型手法とは、準識別子の値の間の距離に基づき、距離の近い値同士をグループ化することでｋ匿名性を満たすようにする手法であり、非特許文献５のような技術がある。非特許文献６によると、ｋ匿名化の最適解を求める問題はＮＰ困難であるので、これらのアルゴリズムは近似解を与えるものである。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】平成２１年度経済産業省  情報大航海プロジェクト（基盤共通技術の開発・改良と検証）パーソナル情報保護・解析基盤の開発・改良と検証  個人情報匿名化基盤  外部仕様書（平成２２年３月、日立コンサルティング）
【非特許文献２】Kristen LeFevre, David J. DeWitt, Raghu Ramakrishnan, Incognito: efficient full-domain K-anonymity, Proceedings of the 2005 ACM SIGMOD international conference on Management of data, June 14-16, 2005, Baltimore, Maryland
【非特許文献３】Florian Kohlmayer, Fabian Prasser, Claudia Eckert, Alfons Kemper, Klaus. A. Kuhn, Flash: Efficient, Stable and Optimal K-Anonymity, Proceedings of the 4th IEEE International Conference on Information Privacy, Security, Risk and Trust (PASSAT), September 3 - 5, 2012, Amsterdam, Netherlands.
【非特許文献４】ARX - Powerful Data Anonymization | k-Anonymity, l-Diversity, t-Closeness, δ-Presence Implementation in Java, http://arx.deidentifier.org/ (２０１４年１１月２０日現在)
【非特許文献５】Jiuyong Li, Raymond Chi-Wing Wong, AdaWai-Chee Fu, and Jian Pei, Achieving k-Anonymity by Clustering in Attribute Hierarchical Structures, DaWaK 2006, LNCS 4081, pp.405-416, 2006.
【非特許文献６】Adam Meyerson , Ryan Williams, On the complexity of optimal K-anonymity, Proceedings of the twenty-third ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems, June 14-16, 2004, Paris, France
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のｋ匿名化アルゴリズムによって最適解の近似解が得られるが、得られた解が分析目的に対して有用でない場合がある。非特許文献４に示す技術では、このような場合に備え、一般化階層の階層レベルの集合の直積集合であるラティスから別の解を選択させることで、分析に適した解を見つけられる機能を提供している。この機能では、ある準識別子の値を一般化する階層レベルを上げる代わりに、他の準識別子の値を一般化する階層レベルを下げることなどによって別の解を選択することができる。
【０００６】
一方で、一つの準識別子の値を一般化する階層レベルを一律に変更することなく調整することができれば、ユーザにとってより使い勝手が良いｋ匿名化データを得ることができると考える。例えば図２の場合、住所・年齢とも階層レベルを１ずつ上げる一般化を行うことで２匿名性を満たせるが、図３に示すような、住所が「川崎市」または「横浜市」のものについては住所の値を変更せず、他は図２と同じ一般化を行うようにしても２匿名性を満たせる。このとき、後者の方が住所の情報がより詳細に残るため、より分析に使いやすい。
【０００７】
しかし、前述した非特許文献４に示す技術では、準識別子のある値の階層レベルを変更する場合は、当該準識別子のすべての値の階層レベルを同じものに変更しなくてはならず、図３に示すように特定の準識別子についてのみ解の調整を行うことができない。このように、非特許文献４に示す技術には、よりよい匿名化データを得るための試行錯誤を柔軟に行うことができないという課題がある。
【０００８】
加えて、非特許文献５などのクラスタリング型手法では、同一の準識別子の中でも、出現頻度の高い値ほど階層レベルを上げずに済む。このため、クラスタリング型手法は、階層探索型手法に比べ、より分析に適したデータを得やすいという特長がある。ところが、非特許文献４に示す技術は、前述したように階層探索型手法に特化されたものであるため、このクラスタリング型手法を非特許文献４の技術に適用することはできない。すなわち、非特許文献４に示す技術によっては、よりよい匿名化データを得る方式が現れたとしても、柔軟に対応できないという課題がある。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、１つの発明においては、(1) 匿名化対象データを取り込む匿名化対象データ取込部と、(2) 前記匿名化対象データに基づいて一般化階層データを作成する一般化階層作成部と、(3) 前記匿名化対象データを、前記一般化階層データを用いてｋ匿名化し、ｋ匿名化の結果である匿名化データとその付帯情報を出力するｋ匿名化実行部と、(4) 前記ｋ匿名化データの作成に用いられた準識別子の値を強調表示した匿名化マップを画面上に表示する匿名化マップ表示部と、(5) 前記匿名化対象データ、前記一般化階層データ、前記ｋ匿名化データ、前記匿名化マップを記憶する記憶装置と、を有するパーソナル情報匿名化支援装置を提供する。
【００１０】
また、１つの発明においては、(1) 匿名化対象データを取り込む匿名化対象データ取込部と、(2) 前記匿名化対象データに基づいて一般化階層データを作成する一般化階層作成部と、(3) 前記匿名化対象データを、前記一般化階層データを用いてｋ匿名化し、ｋ匿名化の結果である匿名化データとその付帯情報を出力する第１のｋ匿名化実行部と、(4) 木構造表示された前記一般化階層データ上で、前記ｋ匿名化データの作成に用いられた準識別子の値を強調表示した匿名化マップを画面上に表示すると共に、当該匿名化マップに対する編集入力を受け付ける匿名化マップ編集部と、(5) 編集後の前記匿名化マップを用いて、前記匿名化対象データをｋ匿名化する第２のｋ匿名化実行部と、(6) 前記匿名化対象データ、前記一般化階層データ、前記ｋ匿名化データ、前記匿名化マップを記憶する記憶装置と、を有するパーソナル情報匿名化支援装置を提供する。
【発明の効果】
【００１１】
１つの発明によれば、ｋ匿名化データの作成に用いられた準識別子の値と階層レベルを、木構造表示された一般化階層データ上において、ユーザが容易に確認することができる。また、１つの発明によれば、分析目的に適したｋ匿名化データを得るための調整をユーザがより柔軟に実施できるようになる。前述した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】一般化階層の例を表す図。
【図２】２匿名化の実行例を表す図。
【図３】２匿名化を保ちつつ、図２よりも詳細に準識別子の値を残す例を表す図。
【図４】パーソナル情報匿名化支援装置の全体構成例を表すブロック図。
【図５】パーソナル情報匿名化支援装置によるｋ匿名化データの作成手順を示すフローチャート。
【図６】匿名化対象データの取込画面例を示す図。
【図７】ｋ匿名化実行部の入力画面例を示す図。
【図８】準識別子の匿名化マップファイルの例を表す図。
【図９】「ｋ匿名化データが実現するｋ匿名化閾値」を説明するための図。
【図１０】ｋ匿名化結果の確認画面例を示す図。
【図１１】匿名化後の値に対する匿名化前の値の可視化イメージを示す図。
【図１２】匿名化前の値に対する匿名化後の値の可視化イメージを示す図。
【図１３】準識別子の匿名化マップを編集し、特殊化する場合のイメージ図。
【図１４】準識別子の匿名化マップを編集し、一般化する場合のイメージ図。
【図１５】準識別子の匿名化マップを編集するための参考情報を提示する画面のイメージ図。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して発明の実施形態について説明する。ただし、以下で説明する実施形態は、発明を実現するための一例に過ぎず、発明の技術的範囲を限定するものではないことに注意すべきである。以下の実施形態では、匿名化マップをGUI（Graphical User Interface）によって表す例について説明するが、CUI（Character User Interface）によって表しても良い。
【００１４】
（１）基本的な実施形態
（１−１）全体構成
図４に、実施形態として提示するパーソナル情報匿名化支援装置の全体構成を示す。この試行錯誤支援装置は、入出力装置４００と、情報処理装置４１０と、記憶装置４２０から構成される。
【００１５】
入出力装置４００は、k匿名化に必要な情報の入出力に用いられる。k匿名化に必要な情報には、匿名化対象データの他、ユーザインタフェースを通じて入力される操作入力、ユーザインタフェースを通じて出力される各種の画面(例えば匿名化マップを含む確認画面)が含まれる。
【００１６】
情報処理装置４１０は、各種の情報を処理する計算機であり、プログラムを実行するコンピュータ（CPU、RAM、ROM等で構成される）として実現される。図４では、プログラムの実行を通じて実現される各種の機能のうち、ユーザによるｋ匿名化データの試行錯誤的な調整作業を支援する機能についてのみ表している。匿名化対象データ取込部４１１は、匿名化対象データ４２１を入出力装置４００から取り込む処理を実行する。一般化階層作成部４１２は、匿名化対象データ４２１について一般化階層を作成し、一般化階層データ４２２として記憶装置４２０に格納する。ｋ匿名化実行部４１３は、一般化階層データ４２２を用いて匿名化対象データ４２１をｋ匿名化し、作成された匿名化データ４２３を記憶装置４２０に格納する。ｋ匿名化結果出力部４１４は、作成された匿名化データ４２３、その作成に用いられた準識別子の値の対応関係を示す匿名化マップデータ４２４、匿名化サマリデータ４２５等を画面上に表示する。本明細書では、ｋ匿名化結果出力部４１４の表示機能のうち匿名化マップの表示機能を「匿名化マップ表示部」という。匿名化マップ編集部４１５は、匿名化マップに対するユーザの編集入力を受け付け、匿名化マップの編集処理を実行する。調整後匿名化実行部４１６は、編集された匿名化マップを用いて匿名化対象データ４２１をｋ匿名化する。
【００１７】
記憶装置４２０には、匿名化対象データ４２１、一般化階層データ４２２、匿名化データ４２３、匿名化マップに対応する匿名化マップデータ４２４、匿名化データ４２３のデータ品質を表現する匿名化サマリデータ４２５が格納される。記憶装置４２０は、例えばハードディスクドライブ、ＳＳＤで構成される。ハードウェア上で稼動するファイルシステムには、Ｌｉｎｕｘのｅｘｔ３などのローカルファイルシステム、分散処理基盤ＨａｄｏｏｐのＨＤＦＳのような分散ファイルシステムなどが考えられる。
【００１８】
本明細書において、「匿名化マップ」とは、匿名化前の準識別子の値と、匿名化後の準識別子の値との対応関係の表現をいう。例えば図８は、都道府県という準識別子に対するCUI形式（CSVファイル形式）の匿名化マップデータの例である。図８の場合、匿名化前の準識別子の値が第１列に、匿名化後の準識別子の値が第２列に配置されている。もっとも、匿名化マップの表現形式はCUI形式に限らない。例えば図１０の匿名化マップ欄１００９に示すようなGUI形式でも良い。後述するように、一般化階層データに対応する木構造によって匿名化マップを表現する場合、匿名化後の準識別子の値のみを強調表示することで匿名化前後の対応関係を表現する。
【００１９】
（１−２）ｋ匿名化データの作成手順
図５に、パーソナル情報匿名化支援装置によるｋ匿名化データの作成手順を示す。以下の処理は、情報処理装置４１０によるプログラムの実行を通じて実現される。
【００２０】
［ステップＳ５０１］
匿名化対象データ取込部４１１は、匿名化対象データファイルを入出力装置４００から取り込む。匿名化対象データ取込部４１１は、取り込んだ匿名化対象データファイルを、当該ファイルの列の定義情報と共に記憶装置４２０の匿名化対象データ４２１に格納する。列の定義情報とは、列の名前やデータ型などの列に関するメタデータを指す。
【００２１】
［ステップＳ５０２］
一般化階層作成部４１２は、匿名化対象データ４２１に対応する一般化階層を作成する。一般化階層は、記憶装置４２０に一般化階層データ４２２として格納される。
【００２２】
［ステップＳ５０３］
ｋ匿名化実行部４１３は、一般化階層データ４２２を用いて匿名化対象データ４２１をｋ匿名化し、ｋ匿名化後のデータとその付帯情報を出力する。ｋ匿名化後のデータは、匿名化データ４２３として記憶装置４２０に格納される。ｋ匿名化後のデータの付帯情報とは、ｋ匿名化の実施に当たって準識別子の値を置き換えるルールを定義した匿名化マップの情報や、ｋ匿名化の結果実現されたｋの値などの匿名化サマリ情報のことであり、それぞれ匿名化マップデータ４２４及び匿名化サマリデータ４２５として記憶装置４２０に格納される。匿名化マップデータ４２４及び匿名化サマリデータ４２５についての詳細は後述する。
【００２３】
［ステップＳ５０４］
ｋ匿名化結果出力部４１４は、作成された匿名化データ４２３、匿名化マップデータ４２４、匿名化サマリデータ４２５等に対応する情報を確認画面（例えば図１０）上に提示する。パーソナル情報匿名化支援装置のユーザは、前記確認画面上で、これらの情報を確認する。
【００２４】
［ステップＳ５０５］
匿名化マップ編集部４１５は、操作画面上に表示された匿名化マップに対するユーザの編集操作の有無を判定する。ここで、匿名化マップに対する編集指示が無い場合（例えば“OK”ボタンが操作された場合）、匿名化マップ編集部４１５は、本処理を終了する。一方、匿名化マップに対する編集指示が有った場合（例えば指示入力があった場合）、匿名化マップ編集部４１５は、ステップＳ５０６に進む。
【００２５】
［ステップＳ５０６］
匿名化マップ編集部４１５は、操作画面を通じて受け付けた匿名化マップに対する指示入力に基づいて匿名化マップを変更すると共に、変更後の匿名化マップが満たすｋ匿名化閾値や情報損失などの情報を計算する。当該処理の実行により、記憶装置４２０に格納されている匿名化マップデータ４２４及び匿名化サマリデータ４２５が更新される。
【００２６】
［ステップＳ５０７］
匿名化マップ編集部４１５は、ユーザが望む匿名化マップが作成されたか否かを判定する。作成された匿名化マップを受け入れる指示入力があった場合、匿名化マップ編集部４１５はステップＳ５０８に進み、前記指示入力が無かった場合、匿名化マップ編集部４１５はステップＳ５０９に進む。
【００２７】
［ステップＳ５０８］
調整後匿名化実行部４１６は、ステップＳ５０６で作成された匿名化マップを用いて匿名化対象データ４２１をｋ匿名化し、匿名化データ４２３を作成する。作成された匿名化データ４２３により、記憶装置４２０の匿名化データ４２３が更新される。
【００２８】
［ステップＳ５０９］
一般化階層作成部４１２は、一般化階層の編集処理を実行する。一般化階層の編集内容は、例えば操作画面を通じてユーザより与えられる。編集が完了すると、記憶装置４２０の一般化階層データ４２２が更新される。
【００２９】
（１−３）詳細構成
続いて、パーソナル情報匿名化支援装置を構成する各部又は機能部の詳細を説明する。
【００３０】
（１−３−１）入出力装置
入出力装置４００は、情報処理装置４１０に対するデータの入出力を行う。入出力装置４００は、例えばマウスやキーボード、ディスプレイなどによって実現する。
【００３１】
（１−３−２）匿名化対象データ取込部
匿名化対象データ取込部４１１は、前記匿名化対象データとその列情報を匿名化対象データ４２１として記憶装置４２０に取り込む。例えば図６に示す匿名化対象データ取込画面６００において、ユーザが取込ボタン６０３を押すと、匿名化対象データ欄６０１で指定されたファイルの１行目に書かれているカンマ区切り文字列を列名とみなし、２行目以降を匿名化対象データの本体として、匿名化対象データ４２１に書き込む。匿名化対象データ４２１は、匿名化対象データ名称欄６０２で指定した名称で識別されるようになる。列情報の指定方法はこれに限るものではない。例えば、１行目からデータが始まるファイルを指定し、列情報は別の入力欄から指定するものであってもよい。また、匿名化対象データファイルを読み取る際の文字コードが指定できてもよい。取り込む匿名化対象データファイルの種類としては、ユーザが予め入手してあるCSVファイル形式のパーソナルデータなどが考えられる。
【００３２】
（１−３−３）一般化階層作成部
一般化階層作成部４１２は、匿名化対象データ取込部４１１で取り込んだ匿名化対象データ４２１に基づいて一般化階層を作成し、作成されたデータに名前を付けて一般化階層データ４２２に出力する。一般化階層を作成するときは、匿名化対象データ４２１の列情報に含まれる列の一部または全部を準識別子として指定し、当該準識別子に対して行う。一般化階層は、例えば非特許文献１に記載の方法によって自動生成しても良いし、非特許文献４に記載の方法のようにＧＵＩ上でインタラクティブに作成しても良い。
【００３３】
（１−３−４）ｋ匿名化実行部
ｋ匿名化実行部４１３は、匿名化対象データ４２１を、一般化階層データ４２２によってｋ匿名化し、匿名化データ４２３として出力する。また、ｋ匿名化実行部４１３は、ｋ匿名化の実行結果に関する付帯情報である匿名化マップデータ４２４と匿名化サマリデータ４２５を同時に出力する。ｋ匿名化実行部４１３は、例えば図７に示すようなｋ匿名化実行画面７００を通じて入力された情報に基づいてｋ匿名化を実現する。
【００３４】
図７に示すｋ匿名化実行画面７００の場合、匿名化対象データ名称欄７０１を通じ、匿名化対象データ４２１に格納した匿名化対象データの名称が指定される。図７は、プルダウンボタンの操作によって事前に登録された名称や階層等が一覧的に表示され、表示された項目の中から特定の名称等を選択できる場合について表している。もっとも、名称等を直接入力することも可能である。ｋ匿名化閾値欄７０２を通じ、ｋ匿名化データが満たすべきｋの値を入力できる。図７は、値を直接入力する例を表しているが、プルダウンボタンの操作によって表示される項目の中から選択入力できるようにしても良い。準識別子欄７０３を通じ、一般化階層作成部４１２で指定した準識別子の一部または全部を指定する。図７は、値を直接入力する例を表しているが、リストの中から選択入力できるようにしても良い。
【００３５】
一般化階層欄７０４には、一般化階層作成部４１２で作成した一般化階層の名前が入力される。図７は、プルダウンボタンの操作によって事前に登録された名前の中から特定の名前を選択できるようになっているが、名前を直接入力しても良い。ｋ匿名化手法欄７０５には、ｋ匿名化に使用する方式が入力される。図７では、階層探索型手法が選択されているが、もちろん、この手法に限らない。例えばクラスタリング型手法でも良い。また、図７では、プルダウンボタンの操作によって事前に登録された名前の中から特定の手法を選択できるようになっているが、手法を直接入力しても良い。出力データ名称欄７０６には、出力する匿名化データ４２３を識別するための名称が入力される。図７は、値を直接入力する例を表しているが、プルダウンボタンの操作によって表示される項目の中から選択入力できるようにしても良い。
【００３６】
これらの情報を入力した後、画面右下の実行ボタン７０７を押すと、ｋ匿名化手法欄７０５で指定された方式によってｋ匿名化が実行される。ｋ匿名化によって得られたデータは、匿名化データ４２３として、出力データ名称欄７０６で指定した名前を付して出力される。さらに、ｋ匿名化の実行結果に関する付帯情報も出力される。
【００３７】
なお、図７に表示した項目は一例であり、他の項目についても指定入力できるようにしても良い。例えばプラン数、削除レコードの許容数、一般化階層の生成に用いる手法等も指定入力できるようにしても良い。
【００３８】
続いて、出力の付帯情報である匿名化マップデータ４２４と匿名化サマリデータ４２５について説明する。匿名化マップデータ４２４とは、ｋ匿名化を実施するときに用いる準識別子の値の変換前の値と変換後の値との対応表である。匿名化マップデータ４２４は、例えば図８に示すように、変換前の値を第１列に、変換後の値を第２列に記述したＣＳＶファイルとして表現する。本実施形態では、図８のような形式のＣＳＶファイルを準識別子ごとに別々に用意しているが、すべての準識別子に関する変換情報を１つのファイルに持ってもよい。例えば１列目に準識別子名を、２列目に変換前の当該準識別子の値を、３列目に変換後の当該準識別子の値を持つようなＣＳＶファイルとすることもできる。
【００３９】
匿名化サマリデータ４２５とは、ｋ匿名化データに関する統計情報であり、ｋ匿名化を実行したときに指定したｋ匿名化閾値、ｋ匿名化データが実現するｋ匿名化閾値、情報損失率、匿名化後の準識別子の値のリストおよびその要素数などがある。
【００４０】
ｋ匿名化データが実現するｋ匿名化閾値とは、ｋ匿名化されたデータを準識別子の値の組み合わせによって分類したときの分類のレコード数の最小値である。これはｋ匿名化を実行するときに指定するｋ匿名化閾値よりも大きい値になることがある。例えば図９に示す匿名化対象データを同図に示す一般化階層によって２匿名化を行う場合、匿名化データは図９のように、レコード数が３である性別＝男、年齢＝３０代の分類と、レコード数が４である性別＝女、年齢＝２０代の分類とに分かれるので、ｋ匿名化データが実現するｋ匿名化閾値は３になる。
【００４１】
情報損失率とは、匿名化対象データに対する匿名化データの情報の欠落の度合いを表す指標であり、例えば以下に示す式１及び式２によって定義される。後述する式１及び式２において、Ｄは匿名化対象データまたは匿名化データ、ｑは準識別子、ｉは匿名化対象データまたは匿名化データのレコードの添え字、Ｑは準識別子の数、Ｒ（Ｄ）はデータＤの件数、ｆ（Ｄ，ｉ，ｑ）はデータＤにおける準識別子ｑのレコードｉでの値ｒ（Ｄ，ｉ，ｑ）の、データＤの準識別子ｑでの出現頻度を表す。また、ｌｏｇは底が２の対数関数を表す。ただし、対数関数の底は、定義式全体で同じものを使用している限り、自然対数の底ｅ＝２．７１８２８…、常用対数の底１０など、１を越える任意の実数でもよい。
【００４２】
【数１】
2016151908.tif 000003
【００４３】
【数２】
2016151908.tif 000004
【００４４】
本実施形態では、一般化階層の作成とｋ匿名化の実行を別々の画面として記述しているが、一般化階層を生成する場合は、一般化階層作成部とｋ匿名化実行部の処理を連続した一体のものとして実施してもよい。
【００４５】
ｋ匿名化実行部４１３の入力画面には図７に示したものが考えられるが、これら以外にも、ｋ匿名性を満たすために削除できる例外的なレコードの件数の最大値である削除レコード数が指定できてもよい。また、ｋ匿名化手法欄７０５で階層探索型手法を選択したときは、一般に解は複数あるので、探索する解の数の上限が指定できてもよい。
【００４６】
匿名化サマリデータ４２５については、先に挙げたものの他、削除レコード数を指定する場合は、ｋ匿名化を実行するときに実際に削除したレコード数を含んでもよい。
【００４７】
（１−３−５）ｋ匿名化結果出力部
ｋ匿名化結果出力部４１４では、ｋ匿名化の実行結果である匿名化データ４２３、その付帯情報である匿名化マップデータ４２４、匿名化サマリデータ４２５を出力する。本実施形態では、図１０に示す確認画面に従ってこれらの情報を出力する。
【００４８】
・匿名化データ４２３の出力
図１０に示す確認画面内の匿名化後データ欄１００１で匿名化データの名称を選択してデータ出力ボタン１００２を押すことで、該当する一般化階層データ４２２を、その列情報に記載されている列順にレコードを１行ずつ出力したＣＳＶファイルとして出力する。出力先のファイルパスは、ファイルダイアログなどで指定する。
【００４９】
・匿名化マップデータ４２４の出力
図１０に示す確認画面内の準識別子欄１００６で選択した準識別子と一般化階層データ４２２に格納されている当該準識別子の一般化階層とに基づいて、匿名化マップ欄１００９に、一般化階層データ４２２のツリー（木）構造を出力する。さらに、準識別子の匿名化マップデータ４２４に基づいて、変換後の準識別子の値に該当するノードを強調表示する。このように一般化階層データ４２２のツリー（木）構造のうち匿名化後の準識別子の値を強調表示したものが匿名化マップである。葉ノードであって、その祖先ノードに強調表示されているノードが存在しない葉ノードについては、変換後の準識別子の値と同じく、匿名化後のデータに出力されている属性値であるので、変換後の準識別子の値と同様に強調表示する。
【００５０】
・匿名化サマリデータ４２５の出力
匿名化サマリデータ４２５に格納されている、ｋ匿名化を実行したときに指定したｋ匿名化閾値を「ｋ匿名化閾値欄１００３」に、匿名化サマリデータ４２５に格納されているｋ匿名化データが実現するｋ匿名化閾値を「実現したｋ匿名化閾値欄１００４」に、匿名化サマリデータ４２５に格納されている情報損失率を「情報損失欄１００５」に出力する。さらに、準識別子欄１００６で選択した準識別子に基づいて、匿名化サマリデータ４２５に格納されている当該準識別子の匿名化後のすべての値を匿名化後の値の一覧表示欄１００７に、匿名化サマリデータ４２５に格納されている当該準識別子の匿名化後の値の個数を値の個数欄１００８に出力する。ユーザはこれらの情報を見ることで匿名化データの質を判断し、匿名化マップの編集が必要かどうかを判断する。
【００５１】
（１−３−６）匿名化マップ編集部
匿名化マップ編集部４１５は、匿名化マップ欄１００９の表示に基づいて、匿名化前の値と匿名化後の値との対応関係をユーザによる確認が可能な態様で提示する。対応関係を確認する方法には、匿名化後の値から匿名化前の値へのナビゲーション及び匿名化前の値から匿名化後の値へのナビゲーションがある。ユーザは、これらのナビゲーション画面によって対応関係を確認した後、匿名化後の値を特殊化または一般化して元の匿名化マップを編集する。ユーザは、匿名化マップ編集部４１５を通じて提供される「実現したｋ匿名化閾値欄１００４」や「情報損失欄１００５」の数値がどのように変わるかを確認でき、分析要件に適した匿名化マップを得ることができる。
【００５２】
・匿名化後の値から匿名化前の値へのナビゲーション
匿名化後の値から匿名化前の値へのナビゲーションでは、匿名化マップ編集部４１５は、匿名化後のある値を起点に、自身に匿名化される前の値（つまり、匿名化対象データの準識別子の値）がどれかを指し示す画面を表示する。匿名化マップ欄１００９の画面変化を、図１１を用いて説明する。図１１では、左図が匿名化後の準識別子の値を表しており、右図が匿名化前の準識別子の値を表している。まず、左図において、匿名化後の値として強調表示されているノード（薄い網掛けで示す）のうち太線で囲んで示すノードを選択した状態で、マウスボタンを右クリックしてコンテキストメニューを表示し、そこから「匿名化前の値を表示」という項目を選択した場合、右図が表示される。この操作により、選択した匿名化後の値に匿名化される匿名化前の値が、匿名化後の値とは異なる方法で強調表示され、該当する匿名化前の値に表示が移る。このとき、選択した匿名化後の値に匿名化される匿名化前の値は一般に複数あるので、最初に表示が移る先の匿名化前の値は任意であるが、本実施形態ではかかる匿名化前の値のうち、匿名化マップ欄１００９内で最も左に表示されているものとする。
【００５３】
なお、ユーザにより指定された（左図において太線で囲んで示す）ノードに匿名化される匿名化前の値の確認は以下のように行う。まず、ユーザは、あるノードを指定した状態でマウスボタンを右クリックしてコンテキストメニューを表示し、そこから「一つ前の値」又は「一つ後の値」という項目を選択する。これにより、先に選択した匿名化後の値に匿名化される匿名化前の値の間で強調表示が移動する。これにより、先に選択した匿名化後の値に匿名化される匿名化前の値を確認することができる。
【００５４】
・匿名化前の値から匿名化後の値へのナビゲーション
匿名化前の値から匿名化後の値へのナビゲーションでは、匿名化マップ編集部４１５は、匿名化前のある値が匿名化後のどの値に匿名化されるかを指し示す画面を表示する。匿名化マップ欄１００９の画面変化を、図１２を用いて説明する。図１２では、左図が匿名化前の準識別子の値を表しており、右図が匿名化後の準識別子の値を表している。まず、左図において、ユーザは、匿名化前の値として強調表示されているノード（濃い網掛けで示す）のうち太線で示すノードを選択した状態で、マウスボタンを右クリックしてコンテキストメニューを表示し、そこから「匿名化後の値を表示」という項目を選択する。これにより、選択した匿名化前の値の匿名化先である匿名化後に表示が移る。すなわち、右図に移動する。このとき、匿名化前の値に対する強調表示は解除される。
【００５５】
・特殊化
匿名化に用いる準識別子の値を特殊化するナビゲーションでは、匿名化マップ編集部４１５は、匿名化の際に使用する準識別子のうちユーザによって指定された準識別子の値を、一般化レベルのより具体的な値（下位階層の値）に変更する画面を表示する。匿名化マップ欄１００９の画面変化を、図１３を用いて説明する。図１３では、左図が特殊化前の準識別子の値を表しており、右図が特殊化後の準識別子の値を表している。まず、左図において、ユーザは、強調表示されているノードを右クリックしてコンテキストメニューを表示し、そこから「特殊化」という項目を選択する。これにより、匿名化後の準識別子の値が、左図で選択された一値から、当該値よりも１階層下にある値すべての値に変更される。さらに、当該変更後の値がすべて強調表示され、元々選択した値の強調表示は解除される。さらに、編集後の結果に基づいて、実現したｋ匿名化閾値欄１００４、情報損失欄１００５、匿名化後の値の一覧表示欄１００７及び値の個数欄１００８を更新する。なお、編集した結果がｋ匿名性を満たさないなどの理由により、編集を取り消したい場合のために、アンドゥ機能を提供してもよい。
【００５６】
・一般化
匿名化に用いる準識別子の値を一般化するナビゲーションでは、匿名化マップ編集部４１５は、匿名化の際に使用する準識別子のうちユーザによって指定された準識別子の値を、一般化レベルのより抽象的な値（上位階層の値）に変更する画面を表示する。匿名化マップ欄１００９の画面変化を、図１４を用いて説明する。図１４では、左図が一般化前の準識別子の値を表しており、右図が一般化後の準識別子の値を表している。まず、左図において、ユーザは、強調表示されているノードを右クリックしてコンテキストメニューを表示し、そこから「一般化」という項目を選択する。これにより、匿名化後の準識別子の値が、左図で選択された値から、当該値よりも１階層上にある値に変更となる。このとき、当該一般化前の準識別子の値であって、一般化後に新しく匿名化後の値になったものの子孫の関係（下位階層として包含される関係）にある準識別子の値についても、当該一般化後に新しく匿名化後の準識別子の値になったものに変更になる。さらに、当該一般化後の値が強調表示され、一般化前の値であって、当該一般化後の値の子孫の関係にある準識別子の値の強調表示は解除される。さらに、編集後の結果に基づいて、実現したｋ匿名化閾値欄１００４、情報損失欄１００５、匿名化後の値の一覧表示欄１００７及び値の個数欄１００８を更新する。
【００５７】
なお、編集した結果が一般化レベルを上げすぎてしまい、分析要件を満たさないなどの理由により、編集を取り消したい場合のために、アンドゥ機能を提供してもよい。
【００５８】
（１−３−７）推奨編集内容提示部
推奨編集内容提示部４１７は、前述した特殊化または一般化の後、次に実施すべき編集内容を一定の基準に基づいてユーザに提示する。この機能は、例えば図１０に示す確認画面において、推奨編集内容提示ボタン１０１２が押されることで有効になる。図１５に、推奨編集手段提示画面１５００の例を示す。推奨編集手段提示画面１５００は、匿名化マップに対して実施することができる編集内容を、編集後に想定される情報損失の昇順に、推奨編集手段１５０１に表示するものである。推奨編集手段１５０１に示す各行は、編集対象の準識別子と、その匿名化後値を示すノードと、当該ノードに対して実施する編集内容と、前段までの情報によって示される編集によって実現されるｋ匿名化閾値、情報損失を表している。ｋ匿名化実行部４１３で削除レコード数を指定する場合は、さらに実現される削除レコード数を表示してもよい。推奨編集手段１５０１の行を１つ選択して適用ボタン１５０２を押すことにより、該当する行に示される編集が実施される。さらに、この編集が完了したあとに、編集後の匿名化マップに基づいて、更に実施可能な編集内容を表示してもよい。
【００５９】
（１−３−８）調整後匿名化実行部
調整後匿名化実行部４１６では、編集した匿名化マップによって匿名化対象データ４２１の準識別子の値を置き換えたものを、匿名化データ４２３として出力する。例えば、図１０における再匿名化実行ボタン１０１１から実行することができる。
【００６０】
（１−４）まとめ
前述のパーソナル情報匿名化支援装置を用いれば、ｋ匿名化データの作成に用いられた準識別子の値と階層レベルとが、木構造表示された一般化階層データ上において強調表示されるため、ユーザは、ｋ匿名化データの作成に用いられた準識別子の値と階層レベルを容易に確認することができる。また、前述のパーソナル情報匿名化支援装置を用いれば、GUI上の操作を通じ、ｋ匿名化データを得るための準識別子の値を調整（例えば「特殊化」、「一般化」）できるため、より柔軟でより簡便な調整作業が実現される。
【００６１】
（２）他の実施の形態
本発明は、上述した実施の形態に限定されるものでなく、様々な変形例を含んでいる。例えば、上述した実施の形態は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備える必要はない。また、前述した実施の形態に既知の構成を追加し、前述した実施の形態の一部を削除し、又は前述した実施の形態の一部を既知の構成で置換することもできる。
【００６２】
また、上述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD（Solid State Drive）等の記憶装置、又は、ICカード、SDカード、DVD等の記憶媒体に格納することができる。また、制御線や情報線は、説明上必要と考えられるものを示すものであり、製品上必要な全ての制御線や情報線を表すものでない。実際にはほとんど全ての構成が相互に接続されていると考えて良い。
【符号の説明】
【００６３】
４００…入出力装置
４１０…情報処理装置
４１１…匿名化対象データ取込部
４１２…一般化階層作成部
４１３…k匿名化実行部
４１４…k匿名化結果出力部
４１５…匿名化マップ編集部
４１６…調整後匿名化実行部
４１７…推奨編集内容提示部 
４２０…記憶装置
４２１…匿名化対象データ
４２２…一般化階層データ
４２３…匿名化データ
４２４…匿名化マップデータ
４２５…匿名化サマリデータ
６００…匿名化対象データ取込画面
６０１…匿名化対象データ欄
６０２…匿名化対象データ名称欄
６０３…取込ボタン
７００…k匿名化実行画面
７０１…匿名化対象データ名称欄
７０２…k匿名化閾値欄
７０３…準識別子欄
７０４…一般化階層欄
７０５…k匿名化手法欄
７０６…出力データ名称欄
７０７…実行ボタン
１０００…ｋ匿名化結果ビューア画面
１００１…匿名化後データ欄
１００２…データ出力ボタン
１００３…ｋ匿名化閾値欄
１００４…実現したｋ匿名化閾値欄
１００５…情報損失欄
１００６…準識別子欄
１００７…匿名化後の値の一覧表示欄
１００８…値の個数欄
１００９…匿名化マップ欄
１０１０…匿名化マップ出力ボタン
１０１１…再匿名化実行ボタン
１０１２…推奨編集内容提示ボタン
１５００…推奨編集手段提示画面
１５０１…推奨編集手段
１５０２…適用ボタン
【図１】
2016151908.tif 000005
【図２】
2016151908.tif 000006
【図３】
2016151908.tif 000007
【図４】
2016151908.tif 000008
【図５】
2016151908.tif 000009
【図６】
2016151908.tif 000010
【図７】
2016151908.tif 000011
【図８】
2016151908.tif 000012
【図９】
2016151908.tif 000013
【図１０】
2016151908.tif 000014
【図１１】
2016151908.tif 000015
【図１２】
2016151908.tif 000016
【図１３】
2016151908.tif 000017
【図１４】
2016151908.tif 000018
【図１５】
2016151908.tif 000019