(57)【要約】【課題】  分類を維持しながら、細粒度の高い匿名化済みデータを算出する。【解決手段】  本発明の情報処理装置は、匿名化の対象データの属性の区分である階級の組合せであるセルを基に階級を跨がないように対象データを匿名化する匿名化実行手段と、匿名化済みデータにおける匿名化の程度を示すスコアを算出し、スコアが所定の基準値より大きなデータに対応する対象データのセルを含む分類に含まれるセルの中から対象データのセルに隣接する隣接セルを選択し、対象データのセルと隣接セルとを匿名化実行手段に送信して匿名化を指示する結合制御手段と  を含む情報処理装置。【選択図】      図１
2015232863.tif 000002
【特許請求の範囲】
【請求項１】
匿名化の対象データの属性の区分である階級の組合せであるセルを基に前記階級を跨がないように前記対象データを匿名化する匿名化実行手段と、
前記匿名化済みデータにおける匿名化の程度を示すスコアを算出し、前記スコアが所定の基準値より大きなデータに対応する対象データのセルを含む分類に含まれるセルの中から前記対象データのセルに隣接する隣接セルを選択し、前記対象データのセルと前記隣接セルとを前記匿名化実行手段に送信して匿名化を指示する結合制御手段と
を含む情報処理装置。
【請求項２】
前記結合制御手段が、
前記匿名化実行手段が前記対象データのセルと前記隣接セルとを結合して匿名化した匿名化済みデータのスコアを算出する
請求項１に記載の情報処理装置。
【請求項３】
前記結合制御手段が、
前記スコアが最少となる対象データのセルと隣接セルとを結合を選択し、選択した前記対象データのセルと前記隣接セルとを結合した匿名化を前記匿名化実行手段に指示する
を含む請求項１又は２に記載の情報処理装置。
【請求項４】
前記匿名化の対象データのデータ間の距離を計算する距離計算手段を含み、
前記結合制御手段が、
前記距離計算手段が計算した距離を基に、前記匿名化実行手段に結合を指示する前記対象データのセルと前記隣接セルとを選択する
請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
前記匿名化の対象データを記憶する匿名化対象データ記憶手段と、
前記セルを記憶する分類記憶手段と、
前記匿名化実行手段が匿名化した匿名化済みデータを記憶する匿名化済みデータ記憶手段と
を含む請求項１ないし４のいずれか１項に記載の情報処理装置。
【請求項６】
匿名化の対象データの属性の区分である階級の組合せであるセルを基に前記階級を跨がないように前記対象データを匿名化し、
前記匿名化済みデータにおける匿名化の程度を示すスコアを算出し、前記スコアが所定の基準値より大きなデータに対応する対象データのセルを含む分類に含まれるセルの中から前記対象データのセルに隣接する隣接セルを選択し、前記対象データのセルと前記隣接セルとを基に前記対象データを匿名化する
匿名化方法。
【請求項７】
匿名化の対象データの属性の区分である階級の組合せであるセルを基に前記階級を跨がないように前記対象データを匿名化する処理と、
前記匿名化済みデータにおける匿名化の程度を示すスコアを算出し、前記スコアが所定の基準値より大きなデータに対応する対象データのセルを含む分類に含まれるセルの中か前記対象データのセルに隣接する隣接セルを選択し、前記対象データのセルと前記隣接セルとを基に前記対象データを匿名化する処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の処理に関し、特に、情報の匿名化に関する。
【背景技術】
【０００２】
近年、ユーザのプライバシーを守りながら、企業又は医療機関が所有するパーソナル情報の二次利用を可能にするプライバシー保護技術が、注目されている。パーソナル情報の二次利用の一例として、病院が保持する診療情報のデータの二次利用を基にした医学分析がある。このような医学分析は、高度医療の確立に役立っている。
【０００３】
パーソナル情報は、１つ又は複数の属性を含む。パーソナル情報に含まれる属性の中で単独で個人を特定できる属性は、「ユーザ識別子」となる。また、パーソナル情報に含まれる属性の中で他の背景知識（他の属性を含む）との組合せを基に個人を識別できる属性は、「準識別子」と呼ばれている。また、パーソナル情報に含まれる属性の中で、他人に知られたくない属性又はユーザが開示を望まない属性は、「センシティブ（sensitive）属性」と呼ばれている。
【０００４】
例えば、プライバシー保護技術の一つである匿名化技術は、明示的なユーザ識別子を削除する。さらに、匿名化技術は、個人を識別できないように、準識別子を構成する属性の値を加工（例えば、曖昧化又は汎化）する。
【０００５】
ただし、属性は、属性の値を区分するための階級が設定されている場合がある。階級が設定されている場合、属性の値は、階級内で匿名化される、つまり、階級を跨がないように匿名化されることが望ましい。そのため、階級は、属性の値を匿名化する場合の制約となる。
【０００６】
そして、データの分析（例えば、医学分析）は、複数の属性の組合せを用いてデータ（パーソナル情報）を分析する。そのため、データの分析は、複数の属性の階級の組合せを用いて、パーソナル情報（データ）を分類する。以下の説明では、属性の階級の組合せを「セル（cell）」と呼ぶ。ただし、セルが含む階級は、１つ又は複数でもよい。そして、分類は、１つ又は複数のセルを含む。そして、データの分析は、セル又は分類を基にデータを分析する。
【０００７】
例えば、最高血圧及び最低血圧は、医療関係のパーソナル情報の属性の一例である。これらの属性（最高血圧及び最低血圧）には、それぞれ、血圧値に対応した階級（例えば、血圧値の範囲）が定められている。そして、医学分析は、血圧の階級の組合せ（セル又は分類）を基に、血圧の属性の値を含むパーソナル情報を分類する。
【０００８】
例えば、医療関係のパーソナル情報は、最高血圧の階級と最低血圧の階級との組合せ（セル又は分類）を基に、「正常血圧」「１度高血圧（軽症）」及び「２度高血圧（中等症）」と分類される。
【０００９】
そして、医学分析の研究者は、一度分類されたデータ（パーソナル情報）を、さらに細粒度を高くして分析する場合がある。ここで、「細粒度」とは、データの分類の細かさのことである。
【００１０】
例えば、最高血圧が高い場合の治療方法は、最低血圧が高い場合の治療方法と異なる。そのため、例えば、医学研究者は、細粒度の高いデータとして、「２度高血圧（中等症）」に分類された患者のデータの中から最低血圧が高い患者のデータを抽出し、抽出したデータを分析する。つまり、医学研究者は、分類「２度高血圧（中等症）」に含まれるデータを、属性「最高血圧」の２つの階級（「最高血圧が高い階級」及び「最高血圧が低い階級」）に分けて分析する。この場合、パーソナル情報は、設定された分類を維持するように匿名化される必要がある。
【００１１】
そこで、センシティブ属性を含むパーソナル情報を匿名化し、かつ、匿名化後のパーソナル情報の分類を維持する技術が知られている（例えば、非特許文献１）。
【００１２】
非特許文献１に記載の技術は、データの階級を保ちながら匿名化する技術の一つである。非特許文献１に記載に技術は、属性ごとに属性の階級である制約を設定する。そして、非特許文献１に記載に技術は、設定した階級（制約）の中で、属性の値を匿名化する。この匿名化を基に、非特許文献１に記載の技術は、匿名化後（汎化後）の属性の値の抽象度を制限する。さらに、非特許文献１に記載の技術は、各階級の上限と下限とを設定し、階級間を跨ぐ匿名化データの生成を防ぐ。
【００１３】
また、匿名化に用いられる汎化手法の１つに、ローカルリコーディング（Local Re-coding）がある（例えば、非特許文献２を参照）。ローカルリコーディングとは、匿名化後のデータにおける情報損失が最小となるように、レコード（個別のデータ、例えば、ユーザごとのデータの組）ごとに、異なる値に加工する手法である。ここで、情報損失とは、匿名化における加工に基づく情報の損失である。情報損失は、情報の加工の度合いを示す指標でもある。情報損失の一例は、非特許文献２に記載されているＮＣＰ（Normalized Certainty Penalty）である。
【００１４】
なお、一般的に、細粒度が高いデータは、情報損失が少ない。つまり、細粒度が高いデータは、有用性が高いデータである。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】豊田由起、側高幸治、高橋翼、「制約と優先度を考慮したレセプト匿名化方式」、医療情報学連合大会論文集、３２巻、ページ：774-777、2012年11月14日
【非特許文献２】Jian Xu, Wei Wang, Jian Pei, Xiaoyuan Wang, Baile Shi, Ada Wai-Chee Fu, ’Utility-Based Anonymization Using Local Recoding’, KDD '06 Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining, Pages 785-790, 2006-08-20
【発明の概要】
【発明が解決しようとする課題】
【００１６】
非特許文献１に記載の技術は、匿名化に用いるセルに対応する属性に対して階級を設定し、セル内で属性の値を匿名化する。つまり、匿名化結果は、セルごとに独立となる。そのため、非特許文献１に記載の技術は、セルを設定していない場合の匿名化に比べ、匿名化後の属性の値の加工の程度が大きくなる場合がある。その結果、非特許文献１に記載の技術には、加工前の属性の値と、加工後の属性の値との差が大きくなる。差が大きいことは、情報損失が、大きいことである。つまり、非特許文献１に記載の技術は、匿名化後のデータの細粒度が低いという問題点があった。
【００１７】
一方、非特許文献２に記載の技術は、属性の階級を設定せずにデータの情報損失を最小とする匿名化手法である。つまり、非特許文献２に記載の技術は、匿名化において、階級を考慮しない。そのため、非特許文献２に記載の技術は、匿名化後のデータの値の範囲が、階級を跨ぐ場合がある。つまり、非特許文献２に記載の技術は、分類を維持しながらデータを匿名化できないという問題点があった。
【００１８】
本発明の目的は、上記問題点を解決し、分類を維持しながら、細粒度の高い匿名化済みデータを算出する情報処理装置、匿名化方法及びプログラムを提供することである。
【課題を解決するための手段】
【００１９】
本発明の一形態における情報処理装置は、匿名化の対象データの属性の区分である階級の組合せであるセルを基に前記階級を跨がないように前記対象データを匿名化する匿名化実行手段と、前記匿名化済みデータにおける匿名化の程度を示すスコアを算出し、前記スコアが所定の基準値より大きなデータに対応する対象データのセルを含む分類に含まれるセルの中から前記対象データのセルに隣接する隣接セルを選択し、前記対象データのセルと前記隣接セルとを前記匿名化実行手段に送信して匿名化を指示する結合制御手段とを含む。
【００２０】
本発明の一形態における方法は、匿名化の対象データの属性の区分である階級の組合せであるセルを基に前記階級を跨がないように前記対象データを匿名化し、前記匿名化済みデータにおける匿名化の程度を示すスコアを算出し、前記スコアが所定の基準値より大きなデータに対応する対象データのセルを含む分類に含まれるセルの中から前記対象データのセルに隣接する隣接セルを選択し、前記対象データのセルと前記隣接セルとを基に前記対象データを匿名化する。
【００２１】
本発明の一形態におけるプログラムは、匿名化の対象データの属性の区分である階級の組合せであるセルを基に前記階級を跨がないように前記対象データを匿名化する処理と、前記匿名化済みデータにおける匿名化の程度を示すスコアを算出し、前記スコアが所定の基準値より大きなデータに対応する対象データのセルを含む分類に含まれるセルの中から前記対象データのセルに隣接する隣接セルを選択し、前記対象データのセルと前記隣接セルとを基に前記対象データを匿名化する処理とをコンピュータに実行させる。
【発明の効果】
【００２２】
本発明に基づけば、分類を維持しながら、細粒度の高い匿名化済みデータを算出するとの効果を提供できる。
【図面の簡単な説明】
【００２３】
【図１】図１は、本発明における第１の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図２】図２は、第１の実施形態に係る情報処理装置の動作の一例を示すフローチャートとである。
【図３】図３は、第１の実施形態の説明に用いる対象データの一例を示す図である。
【図４】図４は、第１の実施形態の説明の用いる分類の一例を示す図である。
【図５】図５は、第１の実施形態に係る情報処理装置の匿名化動作の一例を示すフローチャートである。
【図６】図６は、第１の実施形態に説明に用いる匿名化済みデータの一例を示す図である。
【図７】図７は、第１の実施形態に係る情報処理装置の動作の説明に用いるデータの一例を示す図である。
【図８】図８は、第１の実施形態に係る匿名化済みデータの一例を示す図である。
【図９】図９は、第１の実施形態に係る情報処理装置の第１の変形例の構成一例を示す図である。
【図１０】図１０は、第１の実施形態に係る情報処理装置の第２の変形例の構成一例を示す図である。
【図１１】図１１は、第２の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図１２】図１２は、第２の実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
【図１３】図１３は、第２の実施形態に係る情報の動作の説明に用いるデータを示す図である。
【図１４】図１４は、第２の実施形態に係る情報の動作の説明に用いるデータを示す図である。
【発明を実施するための形態】
【００２４】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００２５】
なお、各図面は、本発明の実施形態を説明するためのものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。
【００２６】
また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。
【００２７】
また、以下の説明において、各実施形態の記憶部は、データを受信し、受信したデータを記憶するとして説明する。ただし、本発明の記憶部は、これに限る必要はない。例えば、各構成要素が、記憶部にデータを書き込んでも良い。
【００２８】
まず、本実施形態の説明に用いるデータに関連する用語を整理しておく。
【００２９】
「対象データ」とは、匿名化の対象となるデータである。例えば、対象データは、医療分析に用いられるパーソナル情報である。
【００３０】
「属性」は、対象データに含まれる情報である。属性の一つの種類である準識別子は、本実施形態の匿名化の対象である。
【００３１】
「階級」とは、属性の値の区分である。階級は、属性の値の匿名化の制約となる。
【００３２】
「セル」とは、１つ又は複数の階級の組合せである。そのため、セルは、匿名化の制約の組合せである。
【００３３】
「分類」とは、１つ又は複数のセルの組合せである。
【００３４】
「匿名化済みデータ」とは、匿名化されたデータである。ただし、本発明の実施形態は、匿名化処理を繰り返すため、各匿名化処理において匿名化されたデータを匿名化済みデータと呼ぶ。
【００３５】
＜第１の実施形態＞
次に、本発明における第１の実施形態に係る情報処理装置１０について図面を参照して説明する。
【００３６】
図１は、第１の実施形態に係る情報処理装置１０の構成の一例を示すブロック図である。
【００３７】
図１を参照すると、情報処理装置１０は、匿名化対象データ記憶部１００と、匿名化済みデータ記憶部２００と、分類記憶部３００と、匿名化実行部４００と、結合制御部５００とを含む。
【００３８】
匿名化対象データ記憶部１００は、情報処理装置１０のおける匿名化の対象となるデータ（対象データ）を記憶する。なお、匿名化対象データ記憶部１００は、予め、以下で説明する動作の前に対象データを記憶しておけば、対象データの記憶の方法及び記憶の時期に特に制限はない。例えば、以下の動作の先立ち、匿名化の依頼元が、匿名化対象データ記憶部１００に対象データを送信しても良い。
【００３９】
匿名化済みデータ記憶部２００は、情報処理装置１０が匿名化した匿名化済みデータを記憶する。
【００４０】
分類記憶部３００は、「分類（セルの組合せの集合）」を記憶する。さらに、分類記憶部３００は、「階級」を記憶しても良い。なお、分類記憶部３００は、予め、分類（及び階級）を記憶しておけば、記憶する方法及び記憶時期の特に制限はない。例えば、分類記憶部３００は、各処理に先立ち、所定の装置から分類（及び階級）を受信しても良い。あるいは、分類記憶部３００は、予め参照用のデータを参照して、各情報（階級及び分類）を算出し、記憶しても良い。
【００４１】
さらに、分類記憶部３００は、対象データセルと隣接セルとを記憶する。ここで、「対象データセル」とは、匿名化対象データ記憶部１００が記憶する対象データに対応するセルである。また、「隣接セル」とは、対象データセルを含む分類に含まれるセルで、対象データセルに隣接するセルである。つまり、分類記憶部３００は、対象データのセルに関する情報を記憶する。なお、分類記憶部３００が対象データセルと隣接セルとを記憶する手法は、特に制限はない。例えば、分類記憶部３００は、予め、図示しない算出部が匿名化対象データ記憶部１００に記憶されている対象データと階級と分類とを基に算出した対象データセルと隣接セルとを記憶しても良い。あるいは、分類記憶部３００は、図示しない対象データセルを提供した装置から、対象データセルと隣接セルとを受信し、記憶しても良い。
【００４２】
そして、分類記憶部３００は、これらの情報を、適宜、匿名化実行部４００と結合制御部５００とに出力する。
【００４３】
匿名化実行部４００は、匿名化対象データ記憶部１００から対象データを受信する。そして、匿名化実行部４００は、分類記憶部３００に記憶されているセルを基に対象データを匿名化する。なお、分類が１つのセルを含む場合、匿名化実行部４００は、分類を基に対象データを匿名化することになる。そして、匿名化実行部４００は、匿名化済みデータを匿名化済みデータ記憶部２００に送信する。
【００４４】
匿名化実行部４００は、より詳細には、次のような処理を実行する。
【００４５】
まず、匿名化実行部４００は、匿名化対象データ記憶部１００から対象データを受信する。そして、匿名化実行部４００は、分類記憶部３００から対象データセルを受信する。そして、匿名化実行部４００は、受信した対象データセルを基に、対象データを匿名化して、匿名化済みデータを生成する。
【００４６】
匿名化実行部４００は、匿名化済みデータを後ほど説明する結合制御部５００に送信する。そして、匿名化実行部４００は、結合制御部５００からの第１の指示を基に、さらなる匿名化を実施する。例えば、この第１の指示は、結合して匿名化するセル（以下、「結合候補セル」と言う）の指示である。なお、結合制御部５００からの指示は、後ほど詳細に説明する。
【００４７】
結合制御部５００から第１の指示を受信すると、匿名化実行部４００は、第１の指示を基に対象データをさらに匿名化し、匿名化済みデータを生成する。そして、匿名化実行部４００は、生成した匿名化済みデータを、結合制御部５００に送信する。
【００４８】
このように、匿名化実行部４００は、結合制御部５００から第１の指示を基に、対象データの匿名化を繰り返す。
【００４９】
そして、匿名化実行部４００は、結合制御部５００からの第２の指示を基に、最終的な匿名化済みデータ生成し、匿名化済みデータ記憶部２００に記憶する。例えば、この第２の指示は、最終的に結合して匿名化するセル（以下、「匿名化対象セル」と言う）の指示である。
【００５０】
結合制御部５００は、匿名化実行部４００から受信した匿名化済みデータを基に、匿名化済みデータの匿名化の程度を示すスコアを算出する。ここで、「スコア」とは、匿名化済みデータの情報損失を示す値であり、情報損失が大きい場合に大きくなる値である。例えば、スコアは、対象データと匿名化済みデータとの類似の程度の逆数である。あるいは、スコアは、匿名化済みデータの加工の度合い（程度）を示す値である。なお、スコアは、匿名化済みデータと対象データとの類似度、及び、匿名化済みデータの加工の度合いを所定の重みづけして加えた合計値でも良い。
【００５１】
そして、結合制御部５００は、スコアを所定の値（基準値）と比較する。そして、スコアが基準値より大きい場合、つまり、情報損失が大きいデータがある場合、結合制御部５００は、結合候補セルを選択する。そして、結合制御部５００は、結合候補セルを匿名化実行部４００に送信して、匿名化を依頼する。この結合候補セルと匿名化の依頼が、上記の第１の指示となる。
【００５２】
さらに、結合制御部５００は、新たな結合候補セルの選択できなくなった場合、匿名化対象セルを決定し、匿名化実行部４００に匿名化を依頼する。匿名化対象セルと依頼が、上記の第２の指示となる。
【００５３】
次に、図面を参照して本実施形態の動作について、さらに説明する。
【００５４】
図２は、第１の実施形態に係る情報処理装置１０の動作の一例を示すフローチャートである。
【００５５】
まず、匿名化実行部４００は、匿名化対象データ記憶部１００から対象データを受信する。さらに、匿名化実行部４００は、分類記憶部３００から、対象データセルを受信する。そして、匿名化実行部４００は、対象データを匿名化する（ステップＳ００１）。ただし、最初の匿名化の場合、匿名化実行部４００は、対象データセルを基に、対象データを匿名化する。ここで、対象データセルは、階級の組合せである。そのため、匿名化実行部４００は、階級を跨がないように対象データを匿名化できる。そして、匿名化実行部４００は、匿名化済みデータを、結合制御部５００に送信する。
【００５６】
結合制御部５００は、受信した匿名化済みデータの匿名化（例えば、加工又はサプレッション）に基づく情報の変化量（加工の度合い）、及び／又は、匿名化前のデータ（つまり、対象データ）と匿名化済みデータの類似度とを算出する（ステップＳ００２）。ここで、加工の度合いを示す値及び／又は類似度の値が、スコアである。すなわち、加工の度合いが大きいほど、スコアが大きい。あるいは、類似度が低いほど、スコアが大きい。
【００５７】
なお、結合制御部５００は、対象データを匿名化対象データ記憶部１００から受信すれば良い。また、結合制御部５００は、算出したスコアを保存してよい。
【００５８】
そして、結合制御部５００は、算出した値（スコア）を、所定の基準値と比較する（ステップＳ００３）。
【００５９】
全ての匿名化済みデータにおいてスコアが基準値未満の場合（ステップＳ００３でＹＥＳ）、結合制御部５００は、ステップＳ００５に進む。
【００６０】
いずれかの匿名化済みデータのスコアが基準値以上の場合（ステップＳ００３でＮＯ）、結合制御部５００は、基準値を超えたいずれかの匿名化済みデータに対応する対象データを分類記憶部３００へ送信する。
【００６１】
そして、結合制御部５００は、分類記憶部３００から、送信した対象データが所属する対象データセルと、対象データセルに隣接する隣接セルとを受信する。ここで、隣接セルは、対象データセルと階級が隣接しているセルである。また、隣接セルは、後ほど説明するとおり結合候補セルとなる。
【００６２】
そして、結合制御部５００は、隣接セルの中から結合候補セルを選択する（ステップＳ００４）。そして、結合制御部５００は、選択した結合候補セルと対応する対象データセルとを、匿名化実行部４００に送信する。結合候補セルと対象データセルの送信は、第１の指示に相当する。なお、隣接セルが複数ある場合、結合制御部５００は、所定の判断基準（例えば、対象データセルと隣接セル間の距離）を基に、いずれかの隣接セルを結合候補セルとして選択すれば良い。すなわち、結合制御部５００は、対象データセルとの距離が最も小さい隣接セルを選択する。
【００６３】
そして、情報処理装置１０の処理は、ステップＳ００１に戻る。
【００６４】
匿名化実行部４００は、対象データを匿名化する（Ｓ００１）。ただし、繰り返し処理の場合、匿名化実行部４００は、対象データにおける結合候補セルに対応するデータと対象データセルに対応するデータとを結合して対象データを匿名化する。より詳細には、匿名化実行部４００は、対象データセルと結合候補セルとを結合して１つのセルとする。結合後のセルは、対象データセルと隣接セルとの階級を結合したセルとなる。そして、匿名化実行部４００は、結合したセルに対応する対象データを匿名化した匿名化済みデータを作成する。つまり、匿名化実行部４００は、結合したセルにおける階級を跨がないようにデータを匿名化する。
【００６５】
このように、所定の基準値より大きなスコアとなる匿名化済みデータが属するセルは、結合して匿名化する対象となるセルである。
【００６６】
そして、匿名化実行部４００は、匿名化した匿名化済みデータを結合制御部５００に送信する。
【００６７】
結合制御部５００は、受信した匿名化済みデータにおいて、既に説明した動作と同様の動作を基に、スコアを算出する（ステップＳ００２）。つまり、結合制御部５００は、結合候補セルを結合した場合のスコアを算出する。
【００６８】
続いて、結合制御部５００は、既に結合したセルに含まれない匿名化済みデータにおいて、スコアが基準値以上の匿名化後データがあるか否かを判定する（ステップＳ００３）。つまり、結合制御部５００は、隣接セルと結合して匿名化したセルに属するデータを除いたデータにおいて、スコアを判定する。
【００６９】
なお、結合制御部５００は、最初のスコアの計算結果を保存し、２回目以降の処理においては、保存したスコアを用いて処理を実行しても良い。あるいは、結合制御部５００は、毎回ステップＳ００２おいて、対象外のデータを除いて匿名化済みデータのスコアを計算しても良い。
【００７０】
既に結合したセルに含まれない匿名化済みデータにおいてスコアが基準値以上のデータがない場合、つまり、結合対象となるセルのスコアが計算済みの場合（ステップＳ００３でＹＥＳ）、結合制御部５００は、ステップＳ００５に進む。
【００７１】
スコアが基準値以上、かつ、既に選択したセルに含まれないデータある場合（ステップＳ００３でＮＯ）、結合制御部５００は、基準値を超えたいずれかの匿名化済みデータに対応する対象データを分類記憶部３００へ送信する。
【００７２】
そして、結合制御部５００は、上記と同様に、分類記憶部３００から、送信したデータが所属する対象データセルと、対象データセルの隣接セルとを受信する。そして、結合制御部５００は、隣接セルの中から結合候補セルを選択する（ステップＳ００４）。そして、結合制御部５００は、選択した結合候補セルと対象データセルとを、匿名化実行部４００に送信する。
【００７３】
そして、情報処理装置１０の処理は、ステップＳ００１に戻る
つまり、情報処理装置１０は、スコアを超えたデータが属する全てのセルに対して、対象データセルと隣接セルとを結合した場合のスコアの算出を繰り返す。
【００７４】
スコアが所定の基準値未満の場合又はスコアを計算済みの場合（ステップＳ００３でＹＥＳ）、結合制御部５００は、セルを結合後に算出したスコアが最小となる結合候補セルを匿名化対象セルとして決定する（ステップＳ００５）。つまり、結合制御部５００は、最も情報損失が少ない結合候補セルを匿名化対象セルとして選択する。そして、結合制御部５００は、選択した匿名対象セルと対応する対象データセルとを匿名化実行部４００に送信し、匿名化を依頼する。この依頼は、上記の第２の指示である。
【００７５】
ただし、ステップＳ００３の最初の判定において全てのスコアが所定の基準未満の場合、結合制御部５００は、匿名対象セルを選択しない。この場合、結合制御部５００は、匿名化実行部４００に、最初の匿名化処理の結果のデータを匿名化後データとするように依頼する。この場合、この依頼が、第２の指示となる。
【００７６】
匿名化実行部４００は、受信した匿名対象セルと対象データセルに対応する対象データを結合して匿名化し、匿名化済みデータを生成する。そして、匿名化実行部４００は、匿名化済みデータを匿名化済みデータ記憶部２００に記憶する（ステップＳ００６）。なお、結合制御部５００から、最初の匿名化の結果を匿名化済みデータとするとの依頼を受けた場合、匿名化実行部４００は、最初の匿名化済みデータを匿名化済みデータ記憶部２００に記憶する。
【００７７】
このように、情報処理装置１０は、情報損失が所定の値より大きいデータがある場合、最も情報損失の少ないセルの結合を選択して、対象データを匿名化する。ここで、情報損失が少ないデータは、細粒度が高いデータである。そのため、情報処理装置１０は、細粒度の高い匿名化済みデータを生成できる。
【００７８】
なお、情報処理装置１０は、各対象データセルに対応して１回の処理を実行する。これは、各対象データセルに対応するデータは、どのデータを用いて処理しても、結果が同じためである。ただし、情報処理装置１０は、スコアが所定の基準値を超える全てのデータに対して同様に処理しても良い。
【００７９】
（効果の説明）
次に、本実施形態の効果について説明する。
【００８０】
本実施形態の情報処理装置１０は、データの属性の分類を維持しながら、細粒度の高い匿名化済みデータを算出するとの効果を提供できる。
【００８１】
その理由は、次のとおりである。
【００８２】
匿名化実行部４００は、階級の組合せであるセルを基に対象データを匿名化する。そのため、情報処理装置１０は、分類を維持できるためである。
【００８３】
さらに、結合制御部５００は、スコアが最少となる、つまり、情報損失が最少となる匿名化におけるセルの結合を選択する。そして、結合制御部５００は、匿名化実行部４００に、選択したセルの結合を用いた匿名化を指示する。つまり、匿名化実行部４００は、情報損失を抑えながら匿名化できる。ここで、情報損失が小さい匿名化は、細粒度が高い匿名化である。つまり、情報処理装置１０は、細粒度の高い匿名化を実現できるためである。
【００８４】
（データ用いた動作の説明）
次に、スコアとして具体的な式と値を用いて、本実施形態の動作について説明する。
【００８５】
まず、説明に用いるデータについて説明する。
【００８６】
図３は、本説明に用いる対象データ１１０の一例を示す図である。対象データ１１０は、ユーザを特定するユーザＩＤ１１１と、最高血圧１１２と、最低血圧１１３と、既往症１１４とを含む。ここで、最高血圧１１２と最低血圧１１３は、分類に用いる属性である。つまり、最高血圧１１２と最低血圧１１３は、階級が設定されている。また、既往症１１４は、他人に知られたくない情報（センシティブ情報）である。なお、対象データ１１０は、匿名化対象データ記憶部１００に記憶されている。
【００８７】
図４は、本説明に用いる分類３２０の一例を示す図である。分類３２０は、分類の名称である分類名３２１と、セル３２２と、最高血圧の階級３２３と、最低血圧の階級３２４とを含む。ここで、セル３２２は、最高血圧の階級３２３と最低血圧の階級３２４とを含む。つまり、図４に示す分類３２０を用いる匿名化は、最高血圧の階級３２３と最低血圧の階級３２４を含むセルを用いる匿名化となる。また、図４に示す分類３２０は、２つのセルを含む分類である。例えば、分類１は、セル１とセル２とを含む。そのため、セル１は、セル２の隣接セルである。
【００８８】
分類３２０は、分類記憶部３００に記憶されている。
【００８９】
次に図２を参照して動作を説明する。
【００９０】
なお、本実施形態の説明に用いる匿名性は、匿名性として一般的に用いられている「ｋ−匿名性」を用いるとする。より具体的には、本実施形態の説明に用いる匿名性は、「ｋ＝２」である「２−匿名性」を用いるとする。ここで、「ｋ−匿名性」とは、同じ準識別子を持つパーソナル情報が「ｋ個」以上存在することを保証する。ｋ−匿名性が保証されたパーソナル情報の集合は、同じ準識別子を持つパーソナル情報を、少なくとも「ｋ個」含む。
【００９１】
まず、匿名化実行部４００は、対象データを匿名化する（Ｓ００１）。ただし、最初の動作のため、匿名化実行部４００は、対象データセルを基に、対象データを匿名化する。
【００９２】
図５は、この場合のステップＳ００１の動作の詳細に示したフローチャートである。
【００９３】
まず、匿名化実行部４００は、匿名化対象データ記憶部１００から対象データ１１０を受信する（ステップＳ０１１）。
【００９４】
次に、匿名化実行部４００は、分類記憶部３００からセル３２２を受信する（ステップＳ０１２）。今の場合、匿名化実行部４００は、図４に示すセル１ないしセル４を受信する。
【００９５】
そして、匿名化実行部４００は、受信したセル３２２に基づき、匿名化における属性ごとの階級を設定する（ステップＳ０１３）。例えば、匿名化実行部４００は、最高血圧の階級として、「最高血圧＜１２０」と、「１２０≦最高血圧＜１３０」とを設定する。
【００９６】
そして、匿名化実行部４００は、設定した階級に基づき、階級を跨らないように対象データ１１０を匿名化する（ステップＳ０１４）。例えば、匿名化実行部４００は、最高血圧の値が１２０を跨がないように対象データを匿名化する。
【００９７】
図６は、ステップＳ０１４において匿名化された結果である匿名化済みデータ２３０を示す図である。匿名化済みデータ２３０は、ユーザの識別子であるユーザＩＤ２３１と、匿名化された最高血圧２３２と、匿名化された最低血圧２３３と、既往症２３４とを含む。
【００９８】
図６において、ユーザＡないしユーザＣが、第１の匿名化グループ（セル３）に属数するデータである。ユーザＤ及びユーザＥが、第２の匿名化グループ（セル４）に属するデータである。ユーザＦ及びユーザＧが、第３の匿名化グループ（セル２）に属するデータである。ユーザＨないしユーザＪが、第４の匿名化グループ（セル１）に属するデータである。匿名化済みデータの匿名化済み属性（最高血圧と最低血圧）は、図４に示す階級を満足している。
【００９９】
図２を用いた説明に戻る。
【０１００】
次に、結合制御部５００は、匿名化済みデータ２３０に対して次に示す数式１を用いてスコア（ここでは、情報損失（ＩＬ：Information Loss））を計算する（ステップＳ００２）。
［数式１］
2015232863.tif 000003
【０１０１】
ここで、「Ｊ」は情報損失（ＩＬ）である。「Π」は、積（直積）を表す。「ｎ」は、属性の数である。「ａｉ」は、ｉ番目の匿名化済みデータの属性の値である。「Ｖaimax」と「Ｖaimin」は、それぞれ、ｉ番目の匿名化済み属性の値の最大値と最小値である。つまり、「（Ｖaimax−Ｖaimin）」は、ｉ番目の匿名化済み属性における属性の値の範囲（幅）である。
【０１０２】
例えば、図６に示すユーザＡないしユーザＣの情報損失は、「１６８＝（１２９−１２２）×（８４−６０）」である。同様に、第２の匿名化グループに含まれるユーザＤ及びユーザＦの情報損失は、「２＝（１２５−１２３）×（８７−８６）」である。同様に、結合制御部５００は、全てのユーザの情報損失を計算する。
【０１０３】
次に、結合制御部５００は、計算した各ユーザの情報損失と所定の基準値（ここでは、「１００」とする）とを比較する（ステップＳ００３）。
【０１０４】
今の場合、情報損失が基準値を超えるユーザ（ユーザＡないしユーザＣ）が存在する（ステップＳ００３でＮＯ）。そのため、結合制御部５００は、以下の動作を実行する。
【０１０５】
結合制御部５００は、ユーザＡないしユーザＣのいずれかを分類記憶部３００に送信し、分類記憶部３００からユーザＡないしユーザＣが所属する対象データセルが含まれる分類に含まれ、対象データセルに隣接する隣接セルを受信する。今の場合、ユーザＡないしユーザＣは、図４に示す分類２のセル３に対応するデータである。つまり、対象データセルは、セル３である。そのため、隣接セルは、セル４となる。つまり、隣接セルは、「１２０≦最高血圧＜１３０」の階級と「８５≦最低血圧＜９０」の階級とを含む。結合制御部５００は、結合候補セルとしてこの隣接セルを選択する（ステップＳ００４）。なお、今の場合、隣接セルに対応するデータは、ユーザＤ及びユーザＥである。
【０１０６】
そして、結合制御部５００は、隣接セル（セル４）とユーザＡないしユーザＣが所属する対象データセル（セル３）とを匿名化実行部４００に通知する。
【０１０７】
匿名化実行部４００は、対象データ１１０を匿名化する（ステップＳ００１）。繰り返し処理のため、匿名化実行部４００は、隣接セル（セル４）と対象データセル（セル３）と結合したセルを用いて対象データ１１０を匿名化する。今の場合、セル３とセル４とを結合したセルは、分類２と同等となる。つまり、結合後のセルに含まれる階級は、最高血圧の階級の「１２０≦最高血圧＜１３０」と、最低血圧の階級の「最低血圧＜９０」である。
【０１０８】
図７は、この場合の匿名化実行部４００が、ステップＳ００１において匿名化したユーザＡないしユーザＥの匿名化済みデータを示す図である。
【０１０９】
そして、結合制御部５００は、匿名化済みデータの情報損失（ＩＬ）を計算する（ステップＳ００２）。
【０１１０】
図７において、ユーザＡ−ユーザＢの情報損失（ＩＬ）は、「１０＝（１２９−１２８）×（７０−６０）」である。同様に、ユーザＣないしユーザＥの情報損失は、「９＝（１２５−１２２）×（８７−８４）」である。
【０１１１】
情報損失の計算の結果、セルの結合後の情報損失は、すべて基準値（１００）より小さいため（ステップＳ００３でＹＥＳ）、結合制御部５００は、匿名化対象セルを選択する（ステップＳ００５）。今の場合、先ほど選択した隣接セルが、匿名化対象セルとなる。
【０１１２】
そして、匿名化実行部４００は、上記の匿名化対象セルを用いて匿名化し、匿名化済みデータを生成し、匿名化済みデータ記憶部２００に保存する（ステップＳ０１６）。
【０１１３】
この結果、情報処理装置１０は、匿名化済みデータ２６０を算出する。
【０１１４】
図８は、最終的な匿名化済みデータ２６０を示す図である。
【０１１５】
最終的な匿名化済みデータ２６０は、ユーザの識別子であるユーザＩＤ２６１と、匿名化済みの最高血圧２６２と、匿名化済みの最低血圧２６３と、既往症２６４とを含む。匿名化済みデータ２６０は、匿名化済みデータ記憶部２００に記憶される。
【０１１６】
図８に示す匿名化済みデータ２６０は、図６に示す匿名化済みデータ２３０と比べ情報損失が小さい。つまり、情報処理装置１０は、図８に示す細粒度が高い匿名化済みデータ２６０を算出できた。
【０１１７】
（第１の変形例）
以上で説明した情報処理装置１０は、次のように構成される。
【０１１８】
例えば、情報処理装置１０の各構成部は、ハードウェア回路で構成されても良い。
【０１１９】
また、情報処理装置１０は、各構成部をネットワーク又はバスを介して接続した複数の情報処理装置として構成されても良い。
【０１２０】
例えば、情報処理装置１０は、各記憶部として、ネットワークを介して接続した外部記憶装置を用いて実現しても良い。
【０１２１】
図９は、第１の変形例に係る情報処理装置１１の構成の一例を示すブロック図である。
【０１２２】
情報処理装置１１は、図１に示す匿名化対象データ記憶部１００と、分類記憶部３００と、匿名化済みデータ記憶部２００とをネットワークを介して接続する外部も記憶装置を用いる。そのため、図９に示す情報処理装置１１は、これら記憶部の構成を含まない。
【０１２３】
ただし、本変形例に情報処理装置１１は、情報処理装置１０と同様の効果を実現できる。その理由は、情報処理装置１１は、外部の記憶装置の情報を基に情報処理装置１０と同様に動作できるためである。
【０１２４】
なお、図９に示す情報処理装置１１は、本実施形態の最小構成である。
【０１２５】
（第２の変形例）
また、情報処理装置１０は、複数の構成部を１つのハードウェアで構成されても良い。
【０１２６】
また、情報処理装置１０は、ＣＰＵ（Central Processing Unit）と、ＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）とを含むコンピュータ装置として実現されても良い。情報処理装置１０は、上記構成に加え、さらに、入出力接続回路（ＩＯＣ：Input Output Circuit）と、ネットワークインターフェース回路（ＮＩＣ：Network Interface Circuit）とを含むコンピュータ装置として実現されても良い。
【０１２７】
図１０は、本変形例に係る情報処理装置６０の構成の一例を示すブロック図である。
【０１２８】
情報処理装置６０は、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを含み、コンピュータを構成している。
【０１２９】
ＣＰＵ６１０は、ＲＯＭ６２０からプログラムを読み込む。そして、ＣＰＵ６１０は、読み込んだプログラムに基づいて、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを制御する。そして、ＣＰＵ６１０を含むコンピュータは、これらの構成を制御し、図１及び図９に示す匿名化実行部４００と結合制御部５００としての各機能を実現する。ＣＰＵ６１０は、各機能を実現する際に、ＲＡＭ６３０又は内部記憶装置６４０を、プログラムの一時記憶として使用しても良い。
【０１３０】
また、ＣＰＵ６１０は、プログラムを記憶したコンピュータ読み取り可能な記憶媒体７００が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでも良い。あるいは、ＣＰＵ６１０は、ＮＩＣ６８０を介して、図示しない外部の装置からプログラムを受け取っても良い。さらに、ＣＰＵ６１０は、読み込んだプログラム又は受け取ったプログラムをＲＡＭ６３０に保存し、ＲＡＭ６３０に保存したプログラムを基に動作しても良い。
【０１３１】
ＲＯＭ６２０は、ＣＰＵ６１０が実行するプログラム及び固定的なデータを記憶する。ＲＯＭ６２０は、例えば、Ｐ−ＲＯＭ（Programmable-ROM）又はフラッシュＲＯＭである。
【０１３２】
ＲＡＭ６３０は、ＣＰＵ６１０が実行するプログラム及びデータを一時的に記憶する。ＲＡＭ６３０は、例えば、Ｄ−ＲＡＭ（Dynamic-RAM）である。
【０１３３】
内部記憶装置６４０は、情報処理装置６０が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置６４０は、ＣＰＵ６１０の一時記憶装置として動作しても良い。また、内部記憶装置６４０は、図１に示す匿名化対象データ記憶部１００、匿名化済みデータ記憶部２００、又は、分類記憶部３００として動作しても良い。内部記憶装置６４０は、例えば、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Solid State Drive）又はディスクアレイ装置である。
【０１３４】
ここで、ＲＯＭ６２０と内部記憶装置６４０は、不揮発性の記憶媒体である。一方、ＲＡＭ６３０は、揮発性の記憶媒体である。そして、ＣＰＵ６１０は、ＲＯＭ６２０、内部記憶装置６４０、又は、ＲＡＭ６３０に記憶されているプログラムを基に動作可能である。つまり、ＣＰＵ６１０は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
【０１３５】
ＩＯＣ６５０は、ＣＰＵ６１０と、入力機器６６０及び表示機器６７０とのデータを仲介する。ＩＯＣ６５０は、例えば、ＩＯインターフェースカード又はＵＳＢ（Universal Serial Bus）カードである。
【０１３６】
入力機器６６０は、情報処理装置６０の操作者からの入力指示を受け取る機器である。入力機器６６０は、例えば、キーボード、マウス又はタッチパネルである。
【０１３７】
表示機器６７０は、情報処理装置６０の操作者に情報を表示する機器である。表示機器６７０は、例えば、液晶ディスプレイである。
【０１３８】
ＮＩＣ６８０は、ネットワークを介して他の構成とのデータのやり取りを中継する。ＮＩＣ６８０は、例えば、ＬＡＮ（Local Area Network）カード又はＰＣＭ（Peripheral Component Interconnect）カードである。
【０１３９】
このように構成された情報処理装置６０は、情報処理装置１０と同様の効果を得ることができる。
【０１４０】
その理由は、情報処理装置６０のＣＰＵ６１０が、プログラムに基づいて情報処理装置１０と同様の機能を実現できるためである。
【０１４１】
＜第２の実施形態＞
次に、図面を参照して第２の実施形態について説明する。
【０１４２】
図１１は、第２の実施形態の情報処理装置１２の構成の一例を示すブロック図である。
【０１４３】
情報処理装置１２は、第１の実施形態の情報処理装置１０の構成に加え、距離計算部９００を含む点で異なる。
【０１４４】
そのため、第１の実施形態と同様の構成及び動作の説明を省略し、距離計算部９００に関連する構成及び動作について説明する。
【０１４５】
なお、情報処理装置１２は、第１の実施形態と同様に、図１０に示すコンピュータを用いて構成されても良い。その場合、ＣＰＵ６１０を含むコンピュータは、図１に示す匿名化実行部４００と結合制御部５００に加え距離計算部９００としての機能を実現する。
【０１４６】
距離計算部９００は、対象データに含まれるデータ間の距離を計算する。ここで、データ間の距離とは、データ（レコード）に含まれる属性間の距離である。
【０１４７】
例えば、距離計算部９００は、データの距離を次に示す数式２を用いて算出できる。
［数式２］
2015232863.tif 000004
【０１４８】
ここで、「Ｄ」は、ユーザＡのデータとユーザＢのデータとの距離である。「ＶＡi」と「ＶＢi」は、それぞれ、ユーザＡの属性ｉの値とユーザＢの属性ｉの値である。なお、距離計算部９００は、距離の計算にユーザＡとユーザＢの全ての属性を用いる必要はない。距離計算部９００は、１つ又は一部の属性を用いて距離を計算しても良い。そのため、「ｎ」は、距離計算部９００が計算に用いる属性の数である。
【０１４９】
また、距離計算部９００は、数式２とは異なる距離を用いても良い。例えば、距離計算部９００は、距離として、各属性の差の絶対値の合計を用いてもよい。
【０１５０】
あるセルに対応するデータと他のセルに対応するデータとの距離が近い場合、それらのセルに対応するデータを結合する匿名化は、データの距離が遠いセルに対応するデータを結合する匿名化に比べ、匿名化済みデータの情報損失を少なくできる。また、データの距離が遠いセルを結合することは、情報損失を大きくするため、避けることが望ましい。
【０１５１】
そこで、本実施形態の結合制御部５００は、距離計算部９００を用いて、セルに対応するデータの距離を計算し、データ結合するセルを選択する。
【０１５２】
次に、本実施形態の動作について、図面を参照して説明する。
【０１５３】
図１２は、本実施形態の情報処理装置１２の動作の一例を示すフローチャートである。
【０１５４】
図１２に示す動作は、図２に示す第１の実施形態の動作に加え、ステップＳ０１０が追加となっている。
【０１５５】
そのため、図２の同様の動作の説明を省略し、ステップＳ０１０について説明する。
【０１５６】
結合制御部５００は、スコアが基準値以上の場合（ステップＳ００３でＮＯ）、距離計算部９００を用いてスコアが基準値以上の対象データセルに属するデータと隣接セルに属するデータとの間の距離を計算する。そして、結合制御部５００は、算出したデータ間の距離と所定の値（基準値）とを比較する（ステップＳ０１０）。ただし、距離計算部９００は、距離を算出する対象データセルに属するデータと隣接セルに属するデータとに制限はない。例えば、距離計算部９００は、距離として、対象データセルに属するデータと隣接セルに属するデータとの最小の距離を用いても良い。あるいは、距離計算部９００は、距離として、対象データセルに属するデータの平均値と、隣接セルに属するデータと平均値との距離を用いても良い。
【０１５７】
そして、距離が基準値未満の場合（ステップＳ０１０がＮＯ）、結合制御部５００は、距離が基準値未満の隣接セルの中から結合候補セルを選択する（ステップＳ００４）。以下、情報処理装置１２は、第１に実施形態の情報処理装置１０と同様に動作する。
【０１５８】
一方、距離が基準値未満でない場合（ステップＳ０１０でＹＥＳ）、結合制御部５００は、ステップＳ００１に戻る。そして、以下、情報処理装置１２は、第１に実施形態の情報処理装置１０と同様に動作する。つまり、情報処理装置１２は、所定の基準値以上離れたセルを結合候補としない。
【０１５９】
なお、結合制御部５００は、繰り返しの動作の場合、計算済みのセルに関して、距離計算部９００の処理を省略しても良い。
【０１６０】
具体的に値を用いてさらに動作を説明する。
【０１６１】
図１３は、本説明に用いる対象データ１７０の一例を示す図である。対象データ１７０は、ユーザを識別するユーザＩＤ１７１と、最高血圧１７２と、最低血圧１７３と、既往症１７４とを含む。ここで、最高血圧１７２と最低血圧１７３は、距離の計算に用いる属性である。
【０１６２】
図１４は、本説明に用いる図１３に示した対象データ１７０を匿名化した匿名化済みデータ２８０の一例を示す図である。匿名化済みデータ２８０は、ユーザを識別するユーザＩＤ２８１と、匿名化済みの最高血圧２８２と、匿名化済みの最低血圧２８３と、既往症２８４とを含む。
【０１６３】
また、距離の基準値は、「２」とする。つまり、距離の二乗の基準値は、「４」となる。
【０１６４】
図１４を参照すると、セル間の距離の計算の対象となるデータは、ユーザＣとユーザＤ、及び、ユーザＦとユーザＧである。
【０１６５】
ここで、数式２に各ユーザの最高血圧の値及び最低血圧の値を適用すると、ユーザＣとユーザＤの距離の二乗は、「２」となる。また、ユーザＦとユーザＧの距離の二乗は、「５」になる。
【０１６６】
ユーザＣとユーザＤとの距離は、基準値「２」以下である。そのため、対象セルと隣接セルが、ユーザＡないしユーザＣに対応するセルと、ユーザＤないしユーザＦに対応するセルの場合、情報処理装置１２は、結合候補セルの選択の処理（ステップＳ００４）に進む。
【０１６７】
一方、ユーザＦとユーザＧとの距離は、基準値「２」を超えている。そのため、対象セルと隣接セルが、ユーザＤないしユーザＦに対応するセルと、ユーザＧ及びユーザＨに対応するセルの場合、情報処理装置１２は、結合候補セルの選択の処理を実行しない。
【０１６８】
このように動作する本実施形態の情報処理装置１２は、第１の実施形態の効果に加え、より適切な匿名化を実現するとの効果を得ることができる。
【０１６９】
その理由は、次のとおりである。
【０１７０】
本実施形態の結合制御部５００は、距離計算部９００を用いて、結合候補セルとして、対象データセルとの距離が所定の基準値より近いセルを選択するためである。
【０１７１】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１７２】
１０    情報処理装置
１１    情報処理装置
１２    情報処理装置
６０    情報処理装置
１００    匿名化対象データ記憶部
１１０    対象データ
１１１    ユーザＩＤ
１１２    最高血圧
１１３    最低血圧
１１４    既往症
１７０    対象データ
１７１    ユーザＩＤ
１７２    最高血圧
１７３    最低血圧
１７４    既往症
２００    匿名化済みデータ記憶部
２３０    匿名化済みデータ
２３１    ユーザＩＤ
２３２    最高血圧
２３３    最低血圧
２３４    既往症
２６０    匿名化済みデータ
２６１    ユーザＩＤ
２６２    最高血圧
２６３    最低血圧
２６４    既往症
２８０    匿名化済みデータ
２８１    ユーザＩＤ
２８２    最高血圧
２８３    最低血圧
２８４    既往症
３００    分類記憶部
３２０    分類
３２１    分類名
３２２    セル
３２３    最高血圧の階級
３２４    最低血圧の階級
４００    匿名化実行部
５００    結合制御部
６１０    ＣＰＵ
６２０    ＲＯＭ
６３０    ＲＡＭ
６４０    内部記憶装置
６５０    ＩＯＣ
６６０    入力機器
６７０    表示機器
６８０    ＮＩＣ
７００    記憶媒体
９００    距離計算部
【図１】
2015232863.tif 000005
【図２】
2015232863.tif 000006
【図３】
2015232863.tif 000007
【図４】
2015232863.tif 000008
【図５】
2015232863.tif 000009
【図６】
2015232863.tif 000010
【図７】
2015232863.tif 000011
【図８】
2015232863.tif 000012
【図９】
2015232863.tif 000013
【図１０】
2015232863.tif 000014
【図１１】
2015232863.tif 000015
【図１２】
2015232863.tif 000016
【図１３】
2015232863.tif 000017
【図１４】
2015232863.tif 000018