(57)【特許請求の範囲】
【請求項１】
データを加工して、公開する情報に対するプライバシーを保護するための公開情報のプライバシー保護装置であって、
入力されたデータを属性ごとに準識別子あるいは重要情報に分類し入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する表生成手段と、
公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位（重み付け）を設定する設定手段と、
該設定された優先順位（重み付け）に基づいて、各データの評価ポイントを算出する算出手段と、
それぞれの属性において、属性単体でｋ−匿名性を満たすようにデータの一般化を行う処理手段と、
該一般化されたデータについて、前記算出した評価ポイントの増加分が最大となるような第１のデータ加工方法により、データの加工を行う第１のデータ加工手段と、
該第１のデータ加工手段において加工されたデータについて、前記算出した評価ポイントの減少分が最小となるような第２のデータ加工方法により、データの加工を行う第２のデータ加工手段と、
を備え、
前記第１のデータ加工手段による処理と前記第２のデータ加工手段による処理とを繰り返し、すべての前記準識別子から構成される表に対しては、ｋ−匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、ｌ−多様性を満たすことを判定した上で、最適なデータセットを出力することを特徴とする公開情報のプライバシー保護装置。
【請求項２】
前記第１のデータ加工手段が、各属性に対して、一般化を行った場合に取り得る属性の種類数と前記利用者が入力した優先順位情報とに基づいて、一般化による評価ポイントの増加分を概算することを特徴とする請求項１に記載の公開情報のプライバシー保護装置。
【請求項３】
前記第１のデータ加工手段が、前記評価ポイントの増加分の概算結果が大きい順番に一般化を行うことを特徴とする請求項２に記載の公開情報のプライバシー保護装置。
【請求項４】
前記第１のデータ加工手段が、属性およびすべての属性が一致するデータからなるグループに対して一般化を行い、ｋ−匿名性およびｌ−多様性を満たすデータについて、各属性の属性値の数を算出して、評価ポイントを導出し、最も評価ポイントの高いものについて、処理を繰り返し、ｋ−匿名性およびｌ−多様性を満たさなくなった場合に、ｋ−匿名性およびｌ−多様性を満たさなくなったデータの中から最も評価ポイントが高いものを前記第２の加工手段に出力することを特徴とする請求項２または３に記載の公開情報のプライバシー保護装置。
【請求項５】
前記第２のデータ加工手段が、属性およびすべての属性が一致するデータからなるグループに対して一般化を行い、ｋ−匿名性およびｌ−多様性を満たすデータについて、各属性の属性値の数を算出して、評価ポイントを導出し、最も評価ポイントの高いものについて、処理を繰り返し、ｋ−匿名性およびｌ−多様性を満たさなくなった場合に、ｋ−匿名性およびｌ−多様性を満たさなくなったデータの評価ポイントを比較し、前記第１のデータ加工手段において、最も評価ポイントが高いものを含めて、最大の評価ポイントであるデータを前記第１の加工手段に出力することを特徴とする請求項４に記載の公開情報のプライバシー保護装置。
【請求項６】
前記属性の値が数値データでない場合に、木構造のデータとして扱うことを特徴とする請求項１に記載の公開情報のプライバシー保護装置。
【請求項７】
前記第１のデータ加工方法が、ボトムアップ処理を用いたデータの加工方法であることを特徴とする請求項１に記載の公開情報のプライバシー保護装置。
【請求項８】
前記第２のデータ加工方法が、トップダウン処理を用いたデータの加工方法であることを特徴とする請求項１に記載の公開情報のプライバシー保護装置。
【請求項９】
表作成手段と、設定手段と、算出手段と、処理手段と、第１のデータ加工手段と、第２のデータ加工手段と、制御手段とを備えた公開情報のプライバシー保護装置において、データを加工して、公開する情報に対するプライバシーを保護するための公開情報のプライバシー保護方法であって、
前記表作成手段が、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し、入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する第１のステップと、
前記設定手段が、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位（重み付け）を設定する第２のステップと、
前記算出手段が、該設定された優先順位（重み付け）に基づいて、各データの評価ポイントを算出する第３のステップと、
前記処理手段が、それぞれの属性において、属性単体でｋ−匿名性を満たすようにデータの一般化を行う第４のステップと、
前記第１のデータ加工手段が、該一般化されたデータについて、前記算出した評価ポイントの増加分が最大となるような第１のデータ加工方法により、データの加工を行う第５のステップと、
前記第２のデータ加工手段が、該第５のステップにおいて加工されたデータについて、前記算出した評価ポイントの減少分が最小となるような第２のデータ加工方法により、データの加工を行う第６のステップと、
前記制御手段が、前記第５のステップによる処理と前記第６のステップによる処理とを繰り返し、すべての前記準識別子から構成される表に対しては、ｋ−匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、ｌ−多様性を満たすことを判定した上で、最適なデータセットを出力する第７のステップと、
を備えることを特徴とする公開情報のプライバシー保護方法。
【請求項１０】
表作成手段と、設定手段と、算出手段と、処理手段と、第１のデータ加工手段と、第２のデータ加工手段と、制御手段とを備えた公開情報のプライバシー保護装置において、データを加工して、公開する情報に対するプライバシーを保護するための公開情報のプライバシー保護方法をコンピュータに実行させるためのプログラムであって、
前記表作成手段が、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し、入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する第１のステップと、
前記設定手段が、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位（重み付け）を設定する第２のステップと、
前記算出手段が、該設定された優先順位（重み付け）に基づいて、各データの評価ポイントを算出する第３のステップと、
前記処理手段が、それぞれの属性において、属性単体でｋ−匿名性を満たすようにデータの一般化を行う第４のステップと、
前記第１のデータ加工手段が、該一般化されたデータについて、前記算出した評価ポイントの増加分が最大となるような第１のデータ加工方法により、データの加工を行う第５のステップと、
前記第２のデータ加工手段が、該第５のステップにおいて加工されたデータについて、前記算出した評価ポイントの減少分が最小となるような第２のデータ加工方法により、データの加工を行う第６のステップと、
前記制御手段が、前記第５のステップによる処理と前記第６のステップによる処理とを繰り返し、すべての前記準識別子から構成される表に対しては、ｋ−匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、ｌ−多様性を満たすことを判定した上で、最適なデータセットを出力する第７のステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、医療情報等の公開情報に対するプライバシー保護装置、公開情報のプライバシー保護方法およびプログラムに関する。
【背景技術】
【０００２】
従来より、多くのデータに基づいて、統計処理を行って、例えば、特定の病気にかかりやすい年代、性別、地域、人種といった情報を広く公開して、その傾向分析を行い、その対策に用いる場合がある。
【０００３】
ところが、データを公開する場合には、そのデータの所有者が特定されないように、プライバシーを慎重に保護する必要があるため、データの変形処理を行う必要がある。そのため、今までにも、プライバシーを保護するためのデータの変形処理に関する技術が多く開示されている（例えば、非特許文献１参照。）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｂ．Ｆｕｎｇ  ａｎｄ  Ｋ．Ｗａｎｇ  ａｎｄ  Ｐ．Ｙｕ， “Ｔｏｐ−ｄｏｗｎ  ｓｐｅｃｉａｌｉｚａｔｉｏｎ ｆｏｒ  ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ ｐｒｉｖａｃｙ ｐｒｅｓｅｒｖａｔｉｏｎ”Ｐｒｏｃ  ｏｆ  ＩＣＤＥ  ２００５  ｐｐ．２０５−２１６
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、これまでの手法においては、最適ｋ−匿名性を満たすためにすべてのデータを平等に扱っていたが、データ利用者が求める情報が欠落してしまうという問題点があった。また、データの加工時に各データに対して優先順位を設定し、特殊な関数を用いて変形したデータを評価することにより、データ利用者が求める情報を可能な限り保持する方法も考えられるが、早期に枝刈りを実施するため、必ずしも最適な表が導出されるとは限らないという問題があった。
【０００６】
また、ｌ−多様性という新しい指標も提案され高いレベルのプライバシー保護を求められるようになった。
【０００７】
そこで、本発明は、上述の課題に鑑みてなされたものであり、処理負荷の軽減や不要な処理の削減を行い、可能な限り最適な表を高速に導き出す公開情報のプライバシー保護装置、公開情報のプライバシー保護方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
発明者は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
【０００９】
（１）本発明は、データを加工して、公開する情報に対するプライバシーを保護するための公開情報のプライバシー保護装置であって、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する表生成手段（例えば、図１のユーザ設定パラメータ管理部５００に相当）と、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位（重み付け）を設定する設定手段（例えば、図１のユーザ設定パラメータ管理部５００に相当）と、該設定された優先順位（重み付け）に基づいて、各データの評価ポイントを算出する算出手段（例えば、図１の評価ポイント算出処理部４１０に相当）と、それぞれの属性において、属性単体でｋ−匿名性を満たすようにデータの一般化を行う処理手段（例えば、図１の一般化アルゴリズム処理部４２０に相当）と、該一般化されたデータについて、前記算出した評価ポイントの増加分が最大となるような第１のデータ加工方法により、データの加工を行う第１のデータ加工手段（例えば、図１の一般化アルゴリズム処理部４２０に相当）と、該第１のデータ加工手段において加工されたデータについて、前記算出した評価ポイントの減少分が最小となるような第２のデータ加工方法により、データの加工を行う第２のデータ加工手段（例えば、図１の一般化アルゴリズム処理部４２０に相当）と、を備え、前記第１のデータ加工手段による処理と前記第２のデータ加工手段による処理とを繰り返し、すべての前記準識別子から構成される表に対しては、ｋ−匿名性を満たすことを判定し（例えば、図１のｋ−匿名性判定処理部４３０に相当）、すべての重要情報から構成される表に対しては、ｌ−多様性を満たすことを判定（例えば、図１のｌ−多様性判定処理部４３０に相当）した上で、最適なデータセットを出力することを特徴とする公開情報のプライバシー保護装置を提案している。
【００１０】
この発明によれば、したがって、表生成手段は、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する。設定手段は、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位（重み付け）を設定する。算出手段は、設定された優先順位（重み付け）に基づいて、各データの評価ポイントを算出する。処理手段は、それぞれの属性において、属性単体でｋ−匿名性を満たすようにデータの一般化を行う。第１のデータ加工手段は、一般化されたデータについて、算出した評価ポイントの増加分が最大となるような第１のデータ加工方法により、データの加工を行う。第２のデータ加工手段は、第１のデータ加工手段において加工されたデータについて、算出した評価ポイントの減少分が最小となるような第２のデータ加工方法により、データの加工を行う。そして、第１のデータ加工手段による処理と第２のデータ加工手段による処理とを繰り返し、すべての準識別子から構成される表に対しては、ｋ−匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、ｌ−多様性を満たすことを判定した上で、最適なデータセットを出力する。したがって、データ利用者が求めるデータが欠落することなく、データの加工によるプライバシー保護を実現できる。また、処理手段により前処理を実行するため可能な限り最適な表を高速に導出できる。さらに、ｋ−匿名性とｌ−多様性の両方をみたした最適な表を高速に導出することができる。
【００１１】
（２）本発明は、（１）の公開情報のプライバシー保護装置について、前記第１のデータ加工手段が、各属性に対して、一般化を行った場合に取り得る属性の種類数と前記利用者が入力した優先順位情報とに基づいて、一般化による評価ポイントの増加分を概算することを特徴とする公開情報のプライバシー保護装置を提案している。
【００１２】
この発明によれば、第１のデータ加工手段が、各属性に対して、一般化を行った場合に取り得る属性の種類数と前記利用者が入力した優先順位情報とに基づいて、一般化による評価ポイントの増加分を概算する。したがって、以降、無駄な計算処理を省略できるため、全体の処理の高速化を図ることができる。
【００１３】
（３）本発明は、（２）の公開情報のプライバシー保護装置について、前記第１のデータ加工手段が、前記評価ポイントの増加分の概算結果が大きい順番に一般化を行うことを特徴とする公開情報のプライバシー保護装置を提案している。
【００１４】
この発明によれば、第１のデータ加工手段が、前記評価ポイントの増加分の概算結果が大きい順番に一般化を行う。したがって、より高速に最適な表を導出することができる。
【００１５】
（４）本発明は、（２）または（３）の公開情報のプライバシー保護装置について、前記第１のデータ加工手段が、属性およびすべての属性が一致するデータからなるグループに対して一般化を行い、ｋ−匿名性およびｌ−多様性を満たすデータについて、各属性の属性値の数を算出して、評価ポイントを導出し、最も評価ポイントの高いものについて、処理を繰り返し、ｋ−匿名性およびｌ−多様性を満たさなくなった場合に、ｋ−匿名性およびｌ−多様性を満たさなくなったデータの中から最も評価ポイントが高いものを前記第２の加工手段に出力することを特徴とする公開情報のプライバシー保護装置を提案している。
【００１６】
この発明によれば、第１のデータ加工手段が、属性およびすべての属性が一致するデータからなるグループに対して一般化を行い、ｋ−匿名性およびｌ−多様性を満たすデータについて、各属性の属性値の数を算出して、評価ポイントを導出し、最も評価ポイントの高いものについて、処理を繰り返し、ｋ−匿名性およびｌ−多様性を満たさなくなった場合に、ｋ−匿名性およびｌ−多様性を満たさなくなったデータの中から最も評価ポイントが高いものを前記第２の加工手段に出力する。したがって、ｋ−匿名性およびｌ−多様性を満たし、より高速に最適な表を導出することができる。
【００１７】
（５）本発明は、（４）の公開情報のプライバシー保護装置について、前記第２のデータ加工手段が、属性およびすべての属性が一致するデータからなるグループに対して一般化を行い、ｋ−匿名性およびｌ−多様性を満たすデータについて、各属性の属性値の数を算出して、評価ポイントを導出し、最も評価ポイントの高いものについて、処理を繰り返し、ｋ−匿名性およびｌ−多様性を満たさなくなった場合に、ｋ−匿名性およびｌ−多様性を満たさなくなったデータの評価ポイントを比較し、前記第１のデータ加工手段において、最も評価ポイントが高いものを含めて、最大の評価ポイントであるデータを前記第１の加工手段に出力することを特徴とする公開情報のプライバシー保護装置を提案している。
【００１８】
この発明によれば、第２のデータ加工手段が、属性およびすべての属性が一致するデータからなるグループに対して一般化を行い、ｋ−匿名性およびｌ−多様性を満たすデータについて、各属性の属性値の数を算出して、評価ポイントを導出し、最も評価ポイントの高いものについて、処理を繰り返し、ｋ−匿名性およびｌ−多様性を満たさなくなった場合に、ｋ−匿名性およびｌ−多様性を満たさなくなったデータの評価ポイントを比較し、第１のデータ加工手段において、最も評価ポイントが高いものを含めて、最大の評価ポイントであるデータを第１の加工手段に出力する。したがって、ｋ−匿名性およびｌ−多様性を満たし、より高速に最適な表を導出することができる。
【００１９】
（６）本発明は、（１）の公開情報のプライバシー保護装置について、前記属性の値が数値データでない場合に、木構造のデータとして扱うことを特徴とする公開情報のプライバシー保護装置を提案している。
【００２０】
この発明によれば、属性の値が数値データでない場合に、木構造のデータとして扱うことにより、属性値の上下関係を明確にできる。
【００２１】
（７）本発明は、（１）の公開情報のプライバシー保護装置について、前記第１のデータ加工方法が、ボトムアップ処理を用いたデータの加工方法であることを特徴とする公開情報のプライバシー保護装置を提案している。
【００２２】
この発明によれば、第１のデータ加工方法が、ボトムアップ処理を用いたデータの加工方法である。つまり、ボトムアップ処理においては、各属性について同一データを集めてソート処理およびグループ化処理を行い、各属性の属性値の数を算出し、評価ポイントを算出する。そして、設定された優先順位情報（重み付け）とｋ−匿名性判定およびｌ−多様性判定に基づいて、加工処理を行う属性およびグループを選択し、加工処理による評価ポイントの減少分を算出して、選択したグループにおいて加工処理を行い、データセット全体の処理結果に基づいて、ｋ−匿名性の判定を行うため、データ利用者が求める情報を可能な限り保持するとともに、データの欠落を防止する。
【００２３】
（８）本発明は、（１）の公開情報のプライバシー保護装置について、前記第２のデータ加工方法が、トップダウン処理を用いたデータの加工方法であることを特徴とする公開情報のプライバシー保護装置を提案している。
【００２４】
この発明によれば、第２のデータ加工方法が、トップダウン処理を用いたデータの加工方法である。つまり、トップダウン処理においては、各属性について同一データを集めてソート処理およびグループ化処理を行い、各属性の属性値の数を算出し、評価ポイントを算出する。そして、設定された優先順位情報（重み付け）とｋ−匿名性判定およびｌ−多様性判定に基づいて、加工処理を行う属性およびグループを選択し、加工処理による評価ポイントの増加分を算出して、選択したグループにおいて加工処理を行い、データセット全体の処理結果に基づいて、ｋ−匿名性の判定を行うため、データ利用者が求める情報を可能な限り保持するとともに、データの欠落を防止する。
【００２５】
（９）本発明は、データを加工して、公開する情報に対するプライバシーを保護するための公開情報のプライバシー保護方法であって、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し、入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する第１のステップ（例えば、図５のステップＳ１０１に相当）と、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位（重み付け）を設定する第２のステップ（例えば、図５のステップＳ１０１に相当）と、該設定された優先順位（重み付け）に基づいて、各データの評価ポイントを算出する第３のステップと（例えば、図５のステップＳ１０１に相当）、それぞれの属性において、属性単体でｋ−匿名性を満たすようにデータの一般化を行う第４のステップ（例えば、図５のステップＳ１０２に相当）と、該一般化されたデータについて、前記算出した評価ポイントの増加分が最大となるような第１のデータ加工方法により、データの加工を行う第５のステップ（例えば、図５のステップＳ１０３およびＳ１０４に相当）と、該第１のデータ加工手段において加工されたデータについて、前記算出した評価ポイントの減少分が最小となるような第２のデータ加工方法により、データの加工を行う第６のステップ（例えば、図５のステップＳ１０５およびＳ１０６に相当）と、前記第５のステップによる処理と前記第６のステップによる処理とを繰り返し、すべての前記準識別子から構成される表に対しては、ｋ−匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、ｌ−多様性を満たすことを判定した上で、最適なデータセットを出力する第７のステップ（例えば、図５のステップＳ１０７に相当）と、を備えることを特徴とする公開情報のプライバシー保護方法を提案している。
【００２６】
この発明によれば、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し、入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成し、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位（重み付け）を設定する。そして、設定された優先順位（重み付け）に基づいて、各データの評価ポイントを算出し、それぞれの属性において、属性単体でｋ−匿名性を満たすようにデータの一般化を行う。また、一般化されたデータについて、算出した評価ポイントの増加分が最大となるような第１のデータ加工方法により、データの加工を行い、第１のデータ加工手段において加工されたデータについて、算出した評価ポイントの減少分が最小となるような第２のデータ加工方法により、データの加工を行う。そして、第５のステップによる処理と第６のステップによる処理とを繰り返し、すべての準識別子から構成される表に対しては、ｋ−匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、ｌ−多様性を満たすことを判定した上で、最適なデータセットを出力する。したがって、データ利用者が求めるデータが欠落することなく、データの加工によるプライバシー保護を実現できる。また、処理手段により前処理を実行するため可能な限り最適な表を高速に導出できる。さらに、ｋ−匿名性とｌ−多様性の両方をみたした最適な表を高速に導出することができる。
【００２７】
（１０）本発明は、データを加工して、公開する情報に対するプライバシーを保護するための公開情報のプライバシー保護装置における公開情報のプライバシー保護方法をコンピュータに実行させるためのプログラムであって、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し、入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する第１のステップ（例えば、図５のステップＳ１０１に相当）と、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位（重み付け）を設定する第２のステップ（例えば、図５のステップＳ１０１に相当）と、該設定された優先順位（重み付け）に基づいて、各データの評価ポイントを算出する第３のステップと（例えば、図５のステップＳ１０１に相当）、それぞれの属性において、属性単体でｋ−匿名性を満たすようにデータの一般化を行う第４のステップ（例えば、図５のステップＳ１０２に相当）と、該一般化されたデータについて、前記算出した評価ポイントの増加分が最大となるような第１のデータ加工方法により、データの加工を行う第５のステップ（例えば、図５のステップＳ１０３およびＳ１０４に相当）と、該第１のデータ加工手段において加工されたデータについて、前記算出した評価ポイントの減少分が最小となるような第２のデータ加工方法により、データの加工を行う第６のステップ（例えば、図５のステップＳ１０５およびＳ１０６に相当）と、前記第５のステップによる処理と前記第６のステップによる処理とを繰り返し、すべての前記準識別子から構成される表に対しては、ｋ−匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、ｌ−多様性を満たすことを判定した上で、最適なデータセットを出力する第７のステップ（例えば、図５のステップＳ１０７に相当）と、をコンピュータに実行させるためのプログラムを提案している。
【００２８】
この発明によれば、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し、入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成し、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位（重み付け）を設定する。そして、設定された優先順位（重み付け）に基づいて、各データの評価ポイントを算出し、それぞれの属性において、属性単体でｋ−匿名性を満たすようにデータの一般化を行う。また、一般化されたデータについて、算出した評価ポイントの増加分が最大となるような第１のデータ加工方法により、データの加工を行い、第１のデータ加工手段において加工されたデータについて、算出した評価ポイントの減少分が最小となるような第２のデータ加工方法により、データの加工を行う。そして、第５のステップによる処理と第６のステップによる処理とを繰り返し、すべての準識別子から構成される表に対しては、ｋ−匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、ｌ−多様性を満たすことを判定した上で、最適なデータセットを出力する。したがって、データ利用者が求めるデータが欠落することなく、データの加工によるプライバシー保護を実現できる。また、処理手段により前処理を実行するため可能な限り最適な表を高速に導出できる。さらに、ｋ−匿名性とｌ−多様性の両方をみたした最適な表を高速に導出することができる。
【発明の効果】
【００２９】
本発明によれば、データ利用者が求めるデータが欠落することなく、データの加工によるプライバシー保護を実現できるという効果がある。また、処理手段により前処理を実行するため可能な限り最適な表を高速に導出できるという効果がある。さらに、ｋ−匿名性とｌ−多様性の両方をみたした最適な表を高速に導出することができるという効果がある。
【図面の簡単な説明】
【００３０】
【図１】本実施形態に係る公開情報のプライバシー保護装置の構成図である。
【図２】本実施形態に係る加工処理前のデータを例示した図である。
【図３】属性値の持つ意味の包含関係を木構造で示した図である。
【図４】本実施形態に係るボトムアップ処理およびトップダウン処理を示したイメージ図である。
【図５】本実施形態に係る公開情報のプライバシー保護装置の処理フローである。
【発明を実施するための形態】
【００３１】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００３２】
＜公開情報のプライバシー保護装置の構成＞
図１を用いて、本実施形態に係る公開情報のプライバシー保護装置の構成について説明する。本実施形態に係る公開情報のプライバシー保護装置は、図１に示すように、制御部１００と、データ読込処理部２００と、データ出力処理部３００と、匿名化アルゴリズム処理部４００と、ユーザ設定パラメータ管理部５００と、木構造データ管理部６００と、ｋ−匿名性判定モジュール７００と、ｌ−多様性判定モジュール８００とから構成されている。また、匿名化アルゴリズム処理部４００は、評価ポイント算出処理部４１０と、一般化アルゴリズム処理部４２０と、ｋ−匿名性およびｌ−多様性判定処理部４３０とから構成されている。
【００３３】
制御部１００は、予め格納された制御プログラムによって、公開情報のプライバシー保護装置の全体を制御する。特に、利用者がデータを入力するデータ読込処理部２００のデータを例えば、ＧＵＩ（Ｇｒａｐｈｉｃａｌ Ｕｓｅｒ Ｉｎｔｅｒｆａｃｅ）等を用いて、コンピュータ上のグラフィックス表示をマウス等でポインティングすることにより、利用者が分類を行う。
【００３４】
データ読込処理部２００は、利用者が入力するデータを読込このデータをそのデータの各属性に応じて、重要情報（Ｓｅｎｓｉｔｉｖｅ  Ｉｎｆｏｒｍａｔｉｏｎ）、準識別子（Ｑｕａｓｉ−Ｉｄｅｎｔｉｆｉｅｒ）、削除すべき情報に分類する。なお、実際には、また、重要情報（Ｓｅｎｓｉｔｉｖｅ  Ｉｎｆｏｒｍａｔｉｏｎ）に指定された属性の変更は行われない。さらに、削除すべき情報に指定された情報は加工処理の際に自動的に削除される。これにより、ユーザを直接的に特定できる情報を排除してプライバシーを保護するとともに、重要な情報を公開することができる。また、データ読込処理部２００において処理されたデータ例については、図２を用いて、後述する。
【００３５】
データ出力処理部３００は、各部で処理された匿名データセットの出力処理を行う。
【００３６】
匿名化アルゴリズム処理部４００は、データ読込処理部２００により処理されたデータに匿名化処理を行い、匿名データセットを生成する。具体的には、ユーザ設定パラメータ管理部５００に格納されたパラメータにしたがって、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位（重み付け）を設定する。具体的には、各属性の重み付けは、利用者の入力により行われる。重み付けは、属性の優先順位を表わし、利用者が最も重視する属性を最上位とする。また、加工処理においては、優先順位が最下位の属性から順に加工処理を行い、ｋ−匿名性を満たした段階で終了する。したがって、最上位の属性ほど元の情報が保持される確率が高くなる。また、これにより、直接的には、ユーザとの関連性の低い複数の情報を組合せることによりユーザを特定することも防止することにより、データ利用者が求める情報を可能な限り保持することができる。利用者は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ Ｕｓｅｒ Ｉｎｔｅｒｆａｃｅ）等を利用して各属性に対して優先順位を入力する。利用者は、各優先順位に対して、重み付けポイント（数値）を設定する。この値は、加工処理を行う属性を選択する際に使用する。
【００３７】
評価ポイント算出処理部４１０は、設定された優先順位（重み付け）に基づいて、各データの評価ポイントを算出する。具体的には、評価ポイントは、以下の数式を用いて、算出される。
評価ポイント＝（属性値の数）＊（重み付けポイント）
ここで、（属性値の数）とは、その属性が持つ属性値の種類の数を表す。ボトムアップ処理においては、一般化によって、この評価ポイントの減少が最小になる属性を一般化を行う属性として選択する。また、トップダウン処理においては、この値の増加が最大になる属性を一般化を行う属性として選択する。
【００３８】
一般化アルゴリズム処理部４２０は、ｋ−匿名性およびｌ−多様性判定処理部４３０とともに、それぞれの属性単体を単体でｋ−匿名性を満たすように一般化する。また、属性によってユーザが一般化の限界レベルを設定しているものについては、それを超えて一般化はしない。さらに、生成したデータがｋ−匿名性を満たさなければ、各属性を１レベルだけ一般化して再度チェックを行う。この場合も、ユーザが設定した限界レベルを超えて一般化はせず、他の属性を一般化することで、ｋ―匿名性を達成する。
【００３９】
一般化に用いられるトップダウン処理は、算出した評価ポイントの増加分が最大となるようなデータ加工方法により、データの加工を行う。また、ボトムアップ処理は、算出した評価ポイントの減少分が最小となるようなデータ加工方法により、データの加工を行う。
【００４０】
ユーザ設定パラメータ管理部５００は、利用者が設定した重み付けポイント等のパラメータを管理する。また、属性が数値データではない場合、属性値の持つ意味の包含関係によって構築された木構造が上位ノード探索のために必要である。例えば、図３にように、Ｃｏｕｎｔｒｙ、Ｓｔａｔｅ、Ｃｉｔｙ、・・・といった属性値の上下関係によって構成された階層構造を事前に作成しておく必要がある。したがって、各属性に対してこのような木構造データをユーザが設定可能とする。数値データに関しては、一定の値ごとに階層化するため、木構造データは必ずしも必要ではない。なお、木構造データの構成に関して既存のソフトウェアが使用できる場合は、使用しても良い。また、木構造データは各レベルのノード数を情報として含む。木構造データ管理部６００は、図３に示すような木構造データを管理する。
【００４１】
ｋ−匿名性判定モジュール７００は、入力されたデータセットのすべての準識別子から構成される表がｋ−匿名性を満たすことを判定する。ｌ−多様性判定モジュール８００は、入力されたデータセットのすべての重要情報から構成される表がｌ−多様性を満たすことを判定する。
【００４２】
つまり、本実施形態においては、例えば、図４に示すように、ボトムアップ処理を行って、一般化を実施した後に、トップダウン処理により逆方向の変形を行い、この処理を繰り返して最適な表を導出する。
【００４３】
＜加工処理前のデータ＞
図２を用いて、加工処理前のデータについて、説明する。
図２は、加工処理前のデータとして医療情報を例示したものであり、本例では、データの属性として、「名前」、「年齢」、「性別」、「出身地」、「人種」、「病名」等が例示されている。
【００４４】
本例では、女性である２５歳のＡが東京出身の日本人であって、肥満という病気を持っており、男性である３７歳のＢが北海道出身の日本人であって、糖尿病という病気を持っており、男性である５５歳のＣが沖縄出身の日本人であって、高血圧症という病気を持っていることが示されている。
【００４５】
このうち、「名前」という属性は、個人を直接的に特定できるものであるため、「削除すべき情報」に分類される。また、「病名」という属性は、プライバシー情報であるため、「重要情報（Ｓｅｎｓｉｔｉｖｅ  Ｉｎｆｏｒｍａｔｉｏｎ）」に分類される。さらに、「年齢」、「性別」、「出身地」、「人種」という属性は、直接的に個人を特定できる情報ではないため、「準識別子（Ｑｕａｓｉ−Ｉｄｅｎｔｉｆｉｅｒ）」に分類され、利用者の利用目的に応じて、重み付けが行われる。
【００４６】
なお、属性が数値データではない場合、例えば、「Ｃｏｕｎｔｒｙ」、「Ｓｔａｔｅ」、「Ｃｉｔｙ」のような場合、属性値の持つ意味の包含関係によって構築された木構造を用いて、上位ノードを探索する。したがって、各属性に対してこのような木構造データを利用者が設定可能とする。
【００４７】
＜公開情報のプライバシー保護装置の処理＞
図５を用いて、本実施形態に係る公開情報のプライバシー保護装置の処理について説明する。
【００４８】
まず、利用者が属性ごとに、データが、準識別子か重要情報かを決定し、入力されたデータをすべての準識別子からなる表と、すべての重要情報からなる表に分割する（ステップＳ１０１）。
【００４９】
前処理では、それぞれの属性単体を単体で（ｋ＋ｌ）−匿名性を満たすように一般化する。ここで、ｌは、システムのパラメータとする。また、属性によって利用者が一般化の限界レベルを設定しているものについては、それを超えて一般化を行わない。また、生成したデータがｋ−匿名性を満たさなければ、各属性を１レベルだけ一般化して再度チェックを行う。この場合も、利用者が設定した限界レベルを超えて一般化は行わず、他の属性を一般化することでｋ−匿名性を達成する（ステップＳ１０２）。なお、この前処理工程を導入することにより、検索を高速化することができる。
【００５０】
次に、トップダウン処理では、トップダウンにより匿名データを生成する処理を行う。まず、当該データに対してすべての属性が一致するデータを集めてソートおよびグループ化を行う。次に、ユーザの入力した優先順位情報とｋ−匿名性判定およびｌ−多様性判定からのフィードバック結果を基に、一般化を行う属性およびグループを選択する。その際には、各属性に対して、一般化を行った場合に取り得る属性の種類の数と利用者の入力した優先順位情報から、一般化による評価ポイントの増加分を概算する。このように、評価ポイントの概算を導入することにより、無駄な計算を省略することができる。
【００５１】
そして、この概算結果が大きい順から一般化の対象とする。また、可能性のある一般化を順番に行って候補データを作成していくわけであるが、直前の一般化を行ったデータの評価ポイントに対して、概算した評価ポイントの増加を考慮しても次に行う一般化が評価ポイントの上で上回れない場合には、残りの一般化手順による候補データの作成は行わない（ステップＳ１０３）。
【００５２】
次に、選択したグループの一般化を行い、実施結果（データセット全体）をｋ−匿名性判定およびｌ−多様性判定に入力する。ｋ−匿名性判定およびｌ−多様性判定に合格したデータについては、各属性の属性値の数を算出し、評価ポイントを導出する（ステップＳ１０４）。
【００５３】
なお、候補データのうち、最も評価ポイントの高いものを次の処理対象データとする。そして、ｋ―匿名性およびｌ−多様性を満たさなくなるまで、トップダウン処理を繰り返す。ｋ−匿名性およびｌ−多様性を満たさなくなった場合、ｋ―匿名性およびｌ−多様性を満たしたデータおよびその評価ポイントを保存しておくとともに、ｋ―匿名性およびｌ−多様性を満たさなくなったデータの中からもっとも評価ポイントが高いものをボトムアップ処理に受け渡す。
【００５４】
次に、ボトムアップ処理では、ボトムアップにより匿名データを生成する処理を行う。まず、当該データに対してすべての属性が一致するデータを集めてソートおよびグループ化を行う。次に、利用者の入力した優先順位情報とｋ−匿名性判定およびｌ−多様性判定からのフィードバック結果を基に、一般化を行う属性およびグループを選択する。具体的には、利用者が入力した優先順位が高い属性から順に一般化して候補データを作成する。
【００５５】
そして、選択したグループの一般化を行い、実施結果（データセット全体）をｋ−匿名性判定およびｌ−多様性判定に入力する。ｋ―匿名性判定およびｌ−多様性判定に合格したデータについては、各属性の属性値の数を算出し、評価ポイントを導出する。さらに、評価ポイントを比較し、トップダウン処理において保存されたデータの評価ポイントも含めて最大の評価ポイントを得たデータを匿名データセットとして保存し、そのデータを再Top-Down処理に受け渡す（ステップＳ１０５、Ｓ１０６）。
【００５６】
また、すべてのｋ―匿名性判定およびｌ−多様性判定に合格しなかった場合には、候補データの中から左記の匿名データセットよりも評価ポイントが高くかつ評価ポイントが高いものを選択し、再度ボトムアップ処理を行い同様の判定を行う。すべての候補データがｋ−匿名性およびｌ−多様性を満たさず、かつ、現在保存されている匿名データセットの評価ポイントを上回ることができない場合には、保存されている匿名データセットを匿名データセット出力に渡して終了する。なお、利用者が属性に対して一般化レベル限界を設定していた場合には、それを超えて一般化は行わない。
【００５７】
再トップダウン処理は、トップダウン処理とほぼ同様の手順で行う。ｋ−匿名性判定およびｌ−多様性判定に合格したデータについては、各属性の属性値の数を算出し、評価ポイントを導出する。候補データのうち、最も評価ポイントの高いものを次の処理対象データとする。そして、ｋ―匿名性およびｌ−多様性を満たさなくなるまで、トップダウン処理を繰り返す。
【００５８】
ｋ―匿名性およびｌ−多様性を満たさなくなった場合、ｋ―匿名性およびｌ−多様性を満たしたデータおよびその評価ポイントを保存しておくとともに、ｋ―匿名性およびｌ−多様性を満たさなくなったデータの中からもっとも評価ポイントが高いものをボトムアップ処理に受け渡す。なお、この場合も、評価ポイントの最も高い候補データは、現在保存されている匿名データセットの評価ポイントよりも評価ポイントが高くなければならない。また、現在保存されている匿名データセットの評価ポイントを上回ることができない場合には、保存されている匿名データセットを匿名データセット出力に渡して終了する。 
【００５９】
ｋ−匿名性判定およびｌ−多様性判定では、入力されたデータセットのすべての準識別子から構成される表がｋ−匿名性を満たし、かつ、すべての重要情報から構成される情報がｌ―多様性を満たすかどうか判定し、満たす場合は、データを匿名データセット出力に受け渡す。満たさない場合、満たさなかったグループをフィードバック情報としてトップダウン処理、ボトムアップ処理、再トップダウン処理に返す（ステップＳ１０４、Ｓ１０６）。 
【００６０】
匿名データセット出力は、受け取ったデータを成形して出力する。受け取ったデータはデータそのものではなく、各属性の一般化レベルで与えられている場合がある。このときには、元データも読込、一般化を行った後出力する（ステップＳ１０７）。 
【００６１】
また、評価ポイントが一致した場合は、利用者の優先順位が高い順から属性を見ていき、優先順位が高い属性の一般化レベルが低いデータを採用する。
【００６２】
したがって、本実施形態によれば、データ利用者が求めるデータが欠落することなく、データの加工によるプライバシー保護を実現できる。また、処理手段により前処理を実行するため可能な限り最適な表を高速に導出できる。さらに、ｋ−匿名性とｌ−多様性の両方をみたした最適な表を高速に導出することができる。
【００６３】
なお、公開情報のプライバシー保護装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを公開情報のプライバシー保護装置に読み込ませ、実行することによって本発明の公開情報のプライバシー保護装置を実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺装置等のハードウェアを含む。
【００６４】
また、「コンピュータシステム」は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００６５】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００６６】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００６７】
１００；制御部
２００；データ読込処理部
３００；データ出力処理部
４００；匿名化アルゴリズム処理部
４１０；評価ポイント算出処理部
４２０；一般化アルゴリズム処理部
４３０；ｋ−匿名性およびｌ−多様性判定処理部
５００；ユーザ設定パラメータ管理部
６００；木構造データ管理部
７００；ｋ−匿名性判定モジュール
８００；ｌ−多様性判定モジュール
【図１】
0005511532.tif 000002
【図２】
0005511532.tif 000003
【図３】
0005511532.tif 000004
【図４】
0005511532.tif 000005
【図５】
0005511532.tif 000006