データを加工して、公開する情報に対するプライバシーを保護するための公開情報のプライバシー保護装置であって、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する表生成手段と、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位重み付けを設定する設定手段と、該設定された優先順位重み付けに基づいて、各データの評価ポイントを算出する算出手段と、それぞれの属性において、属性単体でk-匿名性を満たすようにデータの一般化を行う処理手段と、該一般化されたデータについて、前記算出した評価ポイントの増加分が最大となるような第1のデータ加工方法により、データの加工を行う第1のデータ加工手段と、該第1のデータ加工手段において加工されたデータについて、前記算出した評価ポイントの減少分が最小となるような第2のデータ加工方法により、データの加工を行う第2のデータ加工手段と、最も評価ポイントが高かった表に対して、部分匿名化処理を実行する部分匿名化処理手段と、を備え、前記第1のデータ加工手段による処理から前記第部分匿名化処理手段による処理とを繰り返し、すべての前記準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定した上で、最適なデータセットを出力することを特徴とする公開情報のプライバシー保護装置。前記第1のデータ加工手段が、各属性に対して、一般化を行った場合に取り得る属性の種類数と前記利用者が入力した優先順位情報とに基づいて、一般化による評価ポイントの増加分を概算することを特徴とする請求項1に記載の公開情報のプライバシー保護装置。前記第1のデータ加工手段が、前記評価ポイントの増加分の概算結果が大きい順番に一般化を行うことを特徴とする請求項2に記載の公開情報のプライバシー保護装置。前記第1のデータ加工手段が、属性およびすべての属性が一致するデータからなるグループに対して一般化を行い、k-匿名性およびl-多様性を満たすデータについて、各属性の属性値の数を算出して、評価ポイントを導出し、最も評価ポイントの高いものについて、処理を繰り返し、k-匿名性およびl-多様性を満たさなくなった場合に、k-匿名性およびl-多様性を満たさなくなったデータの中から最も評価ポイントが高いものを前記第2の加工手段に出力することを特徴とする請求項2または3に記載の公開情報のプライバシー保護装置。前記第2のデータ加工手段が、属性およびすべての属性が一致するデータからなるグループに対して一般化を行い、k-匿名性およびl-多様性を満たすデータについて、各属性の属性値の数を算出して、評価ポイントを導出し、最も評価ポイントの高いものについて、処理を繰り返し、k-匿名性およびl-多様性を満たさなくなった場合に、k-匿名性およびl-多様性を満たさなくなったデータの評価ポイントを比較し、前記第1のデータ加工手段において、最も評価ポイントが高いものを含めて、最大の評価ポイントであるデータを前記第1の加工手段に出力することを特徴とする請求項4に記載の公開情報のプライバシー保護装置。前記属性の値が数値データでない場合に、木構造のデータとして扱うことを特徴とする請求項1に記載の公開情報のプライバシー保護装置。前記第1のデータ加工方法が、ボトムアップ処理を用いたデータの加工方法であることを特徴とする請求項1に記載の公開情報のプライバシー保護装置。前記第2のデータ加工方法が、トップダウン処理を用いたデータの加工方法であることを特徴とする請求項1に記載の公開情報のプライバシー保護装置。データを加工して、公開する情報に対するプライバシーを保護するための公開情報のプライバシー保護方法であって、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し、入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する第1のステップと、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位重み付けを設定する第2のステップと、該設定された優先順位重み付けに基づいて、各データの評価ポイントを算出する第3のステップと、それぞれの属性において、属性単体でk-匿名性を満たすようにデータの一般化を行う第4のステップと、該一般化されたデータについて、前記算出した評価ポイントの増加分が最大となるような第1のデータ加工方法により、データの加工を行う第5のステップと、すべての前記準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する第6のステップと、該第1のデータ加工手段において加工されたデータについて、前記算出した評価ポイントの減少分が最小となるような第2のデータ加工方法により、データの加工を行う第7のステップと、すべての前記準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する第7のステップと、前記第5のステップによる処理からと前記第7のステップによる処理とを繰り返す第8のステップと、最も評価ポイントが高かった表に対して、部分匿名化処理を実行する第9のステップと、すべての前記準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する第10のステップと、最適なデータセットを出力する第11のステップと、を備えることを特徴とする公開情報のプライバシー保護方法。データを加工して、公開する情報に対するプライバシーを保護するための公開情報のプライバシー保護装置における公開情報のプライバシー保護方法をコンピュータに実行させるためのプログラムであって、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し、入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する第1のステップと、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位重み付けを設定する第2のステップと、該設定された優先順位重み付けに基づいて、各データの評価ポイントを算出する第3のステップと、それぞれの属性において、属性単体でk-匿名性を満たすようにデータの一般化を行う第4のステップと、該一般化されたデータについて、前記算出した評価ポイントの増加分が最大となるような第1のデータ加工方法により、データの加工を行う第5のステップと、すべての前記準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する第6のステップと、該第1のデータ加工手段において加工されたデータについて、前記算出した評価ポイントの減少分が最小となるような第2のデータ加工方法により、データの加工を行う第7のステップと、すべての前記準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する第7のステップと、前記第5のステップによる処理からと前記第7のステップによる処理とを繰り返す第8のステップと、最も評価ポイントが高かった表に対して、部分匿名化処理を実行する第9のステップと、すべての前記準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する第10のステップと、最適なデータセットを出力する第11のステップと、をコンピュータに実行させるためのプログラム。しかしながら、これまでの手法においては、最適k-匿名性を満たすためにすべてのデータを平等に扱っていたが、データ利用者が求める情報が欠落してしまうという問題点があった。また、データの加工時に各データに対して優先順位を設定し、特殊な関数を用いて変形したデータを評価することにより、データ利用者が求める情報を可能な限り保持する方法も考えられるが、早期に枝刈りを実施するため、必ずしも最適な表が導出されるとは限らないという問題があった。また、l-多様性という新しい指標も提案され高いレベルのプライバシー保護を求められるようになった。そこで、本発明は、上述の課題に鑑みてなされたものであり、処理負荷の軽減や不要な処理の削減を行い、可能な限り最適な表を確実かつ高速に導き出す公開情報のプライバシー保護装置、公開情報のプライバシー保護方法およびプログラムを提供することを目的とする。発明者は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。1本発明は、データを加工して、公開する情報に対するプライバシーを保護するための公開情報のプライバシー保護装置であって、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する表生成手段例えば、図1のユーザ設定パラメータ管理部500に相当と、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位重み付けを設定する設定手段例えば、図1のユーザ設定パラメータ管理部500に相当と、該設定された優先順位重み付けに基づいて、各データの評価ポイントを算出する算出手段例えば、図1の評価ポイント算出処理部410に相当と、それぞれの属性において、属性単体でk-匿名性を満たすようにデータの一般化を行う処理手段例えば、図1の一般化アルゴリズム処理部420に相当と、該一般化されたデータについて、前記算出した評価ポイントの増加分が最大となるような第1のデータ加工方法により、データの加工を行う第1のデータ加工手段例えば、図1の一般化アルゴリズム処理部420に相当と、該第1のデータ加工手段において加工されたデータについて、前記算出した評価ポイントの減少分が最小となるような第2のデータ加工方法により、データの加工を行う第2のデータ加工手段例えば、図1の一般化アルゴリズム処理部420に相当と、最も評価ポイントが高かった表に対して、部分匿名化処理を実行する部分匿名化処理手段と、を備え、前記第1のデータ加工手段による処理から前記第部分匿名化処理手段による処理とを繰り返し、すべての前記準識別子から構成される表に対しては、k-匿名性を満たすことを判定し例えば、図1のk-匿名性判定処理部430に相当、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定例えば、図1のl-多様性判定処理部430に相当した上で、最適なデータセットを出力することを特徴とする公開情報のプライバシー保護装置を提案している。この発明によれば、したがって、表生成手段は、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する。設定手段は、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位重み付けを設定する。算出手段は、設定された優先順位重み付けに基づいて、各データの評価ポイントを算出する。処理手段は、それぞれの属性において、属性単体でk-匿名性を満たすようにデータの一般化を行う。第1のデータ加工手段は、一般化されたデータについて、算出した評価ポイントの増加分が最大となるような第1のデータ加工方法により、データの加工を行う。第2のデータ加工手段は、第1のデータ加工手段において加工されたデータについて、算出した評価ポイントの減少分が最小となるような第2のデータ加工方法により、データの加工を行う。部分匿名化処理手段は、最も評価ポイントが高かった表に対して、部分匿名化処理を実行する。そして、第1のデータ加工手段による処理から部分匿名化処理手段による処理とを繰り返し、すべての準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定した上で、最適なデータセットを出力する。したがって、データ利用者が求めるデータが欠落することなく、データの加工によるプライバシー保護を実現できる。また、処理手段により前処理を実行するため可能な限り最適な表を確実かつ高速に導出できる。さらに、k-匿名性とl-多様性の両方をみたした最適な表を高速に導出することができる。2本発明は、1の公開情報のプライバシー保護装置について、前記第1のデータ加工手段が、各属性に対して、一般化を行った場合に取り得る属性の種類数と前記利用者が入力した優先順位情報とに基づいて、一般化による評価ポイントの増加分を概算することを特徴とする公開情報のプライバシー保護装置を提案している。この発明によれば、第1のデータ加工手段が、各属性に対して、一般化を行った場合に取り得る属性の種類数と前記利用者が入力した優先順位情報とに基づいて、一般化による評価ポイントの増加分を概算する。したがって、以降、無駄な計算処理を省略できるため、全体の処理の高速化を図ることができる。3本発明は、2の公開情報のプライバシー保護装置について、前記第1のデータ加工手段が、前記評価ポイントの増加分の概算結果が大きい順番に一般化を行うことを特徴とする公開情報のプライバシー保護装置を提案している。この発明によれば、第1のデータ加工手段が、前記評価ポイントの増加分の概算結果が大きい順番に一般化を行う。したがって、より高速に最適な表を導出することができる。4本発明は、2または3の公開情報のプライバシー保護装置について、前記第1のデータ加工手段が、属性およびすべての属性が一致するデータからなるグループに対して一般化を行い、k-匿名性およびl-多様性を満たすデータについて、各属性の属性値の数を算出して、評価ポイントを導出し、最も評価ポイントの高いものについて、処理を繰り返し、k-匿名性およびl-多様性を満たさなくなった場合に、k-匿名性およびl-多様性を満たさなくなったデータの中から最も評価ポイントが高いものを前記第2の加工手段に出力することを特徴とする公開情報のプライバシー保護装置を提案している。この発明によれば、第1のデータ加工手段が、属性およびすべての属性が一致するデータからなるグループに対して一般化を行い、k-匿名性およびl-多様性を満たすデータについて、各属性の属性値の数を算出して、評価ポイントを導出し、最も評価ポイントの高いものについて、処理を繰り返し、k-匿名性およびl-多様性を満たさなくなった場合に、k-匿名性およびl-多様性を満たさなくなったデータの中から最も評価ポイントが高いものを前記第2の加工手段に出力する。したがって、k-匿名性およびl-多様性を満たし、より高速に最適な表を導出することができる。5本発明は、4の公開情報のプライバシー保護装置について、前記第2のデータ加工手段が、属性およびすべての属性が一致するデータからなるグループに対して一般化を行い、k-匿名性およびl-多様性を満たすデータについて、各属性の属性値の数を算出して、評価ポイントを導出し、最も評価ポイントの高いものについて、処理を繰り返し、k-匿名性およびl-多様性を満たさなくなった場合に、k-匿名性およびl-多様性を満たさなくなったデータの評価ポイントを比較し、前記第1のデータ加工手段において、最も評価ポイントが高いものを含めて、最大の評価ポイントであるデータを前記第1の加工手段に出力することを特徴とする公開情報のプライバシー保護装置を提案している。この発明によれば、第2のデータ加工手段が、属性およびすべての属性が一致するデータからなるグループに対して一般化を行い、k-匿名性およびl-多様性を満たすデータについて、各属性の属性値の数を算出して、評価ポイントを導出し、最も評価ポイントの高いものについて、処理を繰り返し、k-匿名性およびl-多様性を満たさなくなった場合に、k-匿名性およびl-多様性を満たさなくなったデータの評価ポイントを比較し、第1のデータ加工手段において、最も評価ポイントが高いものを含めて、最大の評価ポイントであるデータを第1の加工手段に出力する。したがって、k-匿名性およびl-多様性を満たし、より高速に最適な表を導出することができる。6本発明は、1の公開情報のプライバシー保護装置について、前記属性の値が数値データでない場合に、木構造のデータとして扱うことを特徴とする公開情報のプライバシー保護装置を提案している。この発明によれば、属性の値が数値データでない場合に、木構造のデータとして扱うことにより、属性値の上下関係を明確にできる。7本発明は、1の公開情報のプライバシー保護装置について、前記第1のデータ加工方法が、ボトムアップ処理を用いたデータの加工方法であることを特徴とする公開情報のプライバシー保護装置を提案している。この発明によれば、第1のデータ加工方法が、ボトムアップ処理を用いたデータの加工方法である。つまり、ボトムアップ処理においては、各属性について同一データを集めてソート処理およびグループ化処理を行い、各属性の属性値の数を算出し、評価ポイントを算出する。そして、設定された優先順位情報重み付けとk-匿名性判定およびl-多様性判定に基づいて、加工処理を行う属性およびグループを選択し、加工処理による評価ポイントの減少分を算出して、選択したグループにおいて加工処理を行い、データセット全体の処理結果に基づいて、k-匿名性の判定を行うため、データ利用者が求める情報を可能な限り保持するとともに、データの欠落を防止する。8本発明は、1の公開情報のプライバシー保護装置について、前記第2のデータ加工方法が、トップダウン処理を用いたデータの加工方法であることを特徴とする公開情報のプライバシー保護装置を提案している。この発明によれば、第2のデータ加工方法が、トップダウン処理を用いたデータの加工方法である。つまり、トップダウン処理においては、各属性について同一データを集めてソート処理およびグループ化処理を行い、各属性の属性値の数を算出し、評価ポイントを算出する。そして、設定された優先順位情報重み付けとk-匿名性判定およびl-多様性判定に基づいて、加工処理を行う属性およびグループを選択し、加工処理による評価ポイントの増加分を算出して、選択したグループにおいて加工処理を行い、データセット全体の処理結果に基づいて、k-匿名性の判定を行うため、データ利用者が求める情報を可能な限り保持するとともに、データの欠落を防止する。9本発明は、データを加工して、公開する情報に対するプライバシーを保護するための公開情報のプライバシー保護方法であって、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し、入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する第1のステップ例えば、図5のステップS101に相当と、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位重み付けを設定する第2のステップ例えば、図5のステップS102に相当と、該設定された優先順位重み付けに基づいて、各データの評価ポイントを算出する第3のステップ例えば、図5のステップS102に相当と、それぞれの属性において、属性単体でk-匿名性を満たすようにデータの一般化を行う第4のステップ例えば、図5のステップS102に相当と、該一般化されたデータについて、前記算出した評価ポイントの増加分が最大となるような第1のデータ加工方法により、データの加工を行う第5のステップ例えば、図5のステップS103に相当と、すべての前記準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する第6のステップ例えば、図5のステップS104に相当と、該第1のデータ加工手段において加工されたデータについて、前記算出した評価ポイントの減少分が最小となるような第2のデータ加工方法により、データの加工を行う第7のステップ例えば、図5のステップS105に相当と、すべての前記準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する第7のステップ例えば、図5のステップS106に相当と、前記第5のステップによる処理からと前記第7のステップによる処理とを繰り返す第8のステップと、最も評価ポイントが高かった表に対して、部分匿名化処理を実行する第9のステップ例えば、図5のステップS107に相当と、すべての前記準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する第10のステップ例えば、図5のステップS108に相当と、最適なデータセットを出力する第11のステップ例えば、図5のステップS109に相当と、を備えることを特徴とする公開情報のプライバシー保護方法を提案している。この発明によれば、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し、入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する。次に、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位重み付けを設定し、設定された優先順位重み付けに基づいて、各データの評価ポイントを算出して、それぞれの属性において、属性単体でk-匿名性を満たすようにデータの一般化を行う。一般化されたデータについて、算出した評価ポイントの増加分が最大となるような第1のデータ加工方法により、データの加工を行い、すべての準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する。さらに、第1のデータ加工手段において加工されたデータについて、算出した評価ポイントの減少分が最小となるような第2のデータ加工方法により、データの加工を行い、すべての準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する。上記の第5のステップによる処理からと第7のステップによる処理とを繰り返す。そして、最も評価ポイントが高かった表に対して、部分匿名化処理を実行し、すべての準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定し、最適なデータセットを出力する。したがって、データ利用者が求めるデータが欠落することなく、データの加工によるプライバシー保護を実現できる。また、処理手段により前処理を実行するため可能な限り最適な表を確実かつ高速に導出できる。さらに、k-匿名性とl-多様性の両方をみたした最適な表を高速に導出することができる。10本発明は、データを加工して、公開する情報に対するプライバシーを保護するための公開情報のプライバシー保護装置における公開情報のプライバシー保護方法をコンピュータに実行させるためのプログラムであって、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し、入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する第1のステップ例えば、図5のステップS101に相当と、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位重み付けを設定する第2のステップ例えば、図5のステップS102に相当と、該設定された優先順位重み付けに基づいて、各データの評価ポイントを算出する第3のステップ例えば、図5のステップS102に相当と、それぞれの属性において、属性単体でk-匿名性を満たすようにデータの一般化を行う第4のステップ例えば、図5のステップS102に相当と、該一般化されたデータについて、前記算出した評価ポイントの増加分が最大となるような第1のデータ加工方法により、データの加工を行う第5のステップ例えば、図5のステップS103に相当と、すべての前記準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する第6のステップ例えば、図5のステップS104に相当と、該第1のデータ加工手段において加工されたデータについて、前記算出した評価ポイントの減少分が最小となるような第2のデータ加工方法により、データの加工を行う第7のステップ例えば、図5のステップS105に相当と、すべての前記準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する第7のステップ例えば、図5のステップS106に相当と、前記第5のステップによる処理からと前記第7のステップによる処理とを繰り返す第8のステップと、最も評価ポイントが高かった表に対して、部分匿名化処理を実行する第9のステップ例えば、図5のステップS107に相当と、すべての前記準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する第10のステップ例えば、図5のステップS108に相当と、最適なデータセットを出力する第11のステップ例えば、図5のステップS109に相当と、をコンピュータに実行させるためのプログラムを提案している。この発明によれば、入力されたデータを属性ごとに準識別子あるいは重要情報に分類し、入力データからすべてが準識別子からなる表とすべてが重要情報からなる表とを生成する。次に、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位重み付けを設定し、設定された優先順位重み付けに基づいて、各データの評価ポイントを算出して、それぞれの属性において、属性単体でk-匿名性を満たすようにデータの一般化を行う。一般化されたデータについて、算出した評価ポイントの増加分が最大となるような第1のデータ加工方法により、データの加工を行い、すべての準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する。さらに、第1のデータ加工手段において加工されたデータについて、算出した評価ポイントの減少分が最小となるような第2のデータ加工方法により、データの加工を行い、すべての準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定する。上記の第5のステップによる処理からと第7のステップによる処理とを繰り返す。そして、最も評価ポイントが高かった表に対して、部分匿名化処理を実行し、すべての準識別子から構成される表に対しては、k-匿名性を満たすことを判定し、すべての重要情報から構成される表に対しては、l-多様性を満たすことを判定し、最適なデータセットを出力する。したがって、データ利用者が求めるデータが欠落することなく、データの加工によるプライバシー保護を実現できる。また、処理手段により前処理を実行するため可能な限り最適な表を確実かつ高速に導出できる。さらに、k-匿名性とl-多様性の両方をみたした最適な表を高速に導出することができる。本発明によれば、データ利用者が求めるデータが欠落することなく、データの加工によるプライバシー保護を実現できるという効果がある。また、処理手段により前処理を実行するため可能な限り最適な表を確実かつ高速に導出できるという効果がある。さらに、k-匿名性とl-多様性の両方をみたした最適な表を高速に導出することができるという効果がある。以下、本発明の実施形態について、図面を用いて、詳細に説明する。なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。<公開情報のプライバシー保護装置の構成>図1を用いて、本実施形態に係る公開情報のプライバシー保護装置の構成について説明する。本実施形態に係る公開情報のプライバシー保護装置は、図1に示すように、制御部100と、データ読込処理部200と、データ出力処理部300と、匿名化アルゴリズム処理部400と、ユーザ設定パラメータ管理部500と、木構造データ管理部600と、k-匿名性判定モジュール700と、l-多様性判定モジュール800とから構成されている。また、匿名化アルゴリズム処理部400は、評価ポイント算出処理部410と、一般化アルゴリズム処理部420と、k-匿名性およびl-多様性判定処理部430と、部分匿名化処理部440とから構成されている。制御部100は、予め格納された制御プログラムによって、公開情報のプライバシー保護装置の全体を制御する。特に、利用者がデータを入力するデータ読込処理部200のデータを例えば、GUIGraphicalUserInterface等を用いて、コンピュータ上のグラフィックス表示をマウス等でポインティングすることにより、利用者が分類を行う。データ読込処理部200は、利用者が入力するデータを読込このデータをそのデータの各属性に応じて、重要情報SensitiveInformation、準識別子Quasi-Identifier、削除すべき情報に分類する。なお、実際には、また、重要情報SensitiveInformationに指定された属性の変更は行われない。さらに、削除すべき情報に指定された情報は加工処理の際に自動的に削除される。これにより、ユーザを直接的に特定できる情報を排除してプライバシーを保護するとともに、重要な情報を公開することができる。また、データ読込処理部200において処理されたデータ例については、図2を用いて、後述する。データ出力処理部300は、各部で処理された匿名データセットの出力処理を行う。匿名化アルゴリズム処理部400は、データ読込処理部200により処理されたデータに匿名化処理を行い、匿名データセットを生成する。具体的には、ユーザ設定パラメータ管理部500に格納されたパラメータにしたがって、公開情報を利用する利用者の要求条件を考慮して、データの各属性ごとに優先順位重み付けを設定する。具体的には、各属性の重み付けは、利用者の入力により行われる。重み付けは、属性の優先順位を表わし、利用者が最も重視する属性を最上位とする。また、加工処理においては、優先順位が最下位の属性から順に加工処理を行い、k-匿名性を満たした段階で終了する。したがって、最上位の属性ほど元の情報が保持される確率が高くなる。また、これにより、直接的には、ユーザとの関連性の低い複数の情報を組合せることによりユーザを特定することも防止することにより、データ利用者が求める情報を可能な限り保持することができる。利用者は、GUIGraphicalUserInterface等を利用して各属性に対して優先順位を入力する。利用者は、各優先順位に対して、重み付けポイント数値を設定する。この値は、加工処理を行う属性を選択する際に使用する。評価ポイント算出処理部410は、設定された優先順位重み付けに基づいて、各データの評価ポイントを算出する。具体的には、評価ポイントは、以下の数式を用いて、算出される。評価ポイント=属性値の数重み付けポイントここで、属性値の数とは、その属性が持つ属性値の種類の数を表す。ボトムアップ処理においては、一般化によって、この評価ポイントの減少が最小になる属性を一般化を行う属性として選択する。また、トップダウン処理においては、この値の増加が最大になる属性を一般化を行う属性として選択する。一般化アルゴリズム処理部420は、k-匿名性およびl-多様性判定処理部430とともに、それぞれの属性単体を単体でk-匿名性を満たすように一般化する。また、属性によってユーザが一般化の限界レベルを設定しているものについては、それを超えて一般化はしない。さらに、生成したデータがk-匿名性を満たさなければ、各属性を1レベルだけ一般化して再度チェックを行う。この場合も、ユーザが設定した限界レベルを超えて一般化はせず、他の属性を一般化することで、k―匿名性を達成する。一般化に用いられるトップダウン処理は、算出した評価ポイントの増加分が最大となるようなデータ加工方法により、データの加工を行う。また、ボトムアップ処理は、算出した評価ポイントの減少分が最小となるようなデータ加工方法により、データの加工を行う。部分匿名化処理部440は、各属性の詳細化トップダウン処理を一律に行うのではなく、細かいクラスに分割し、各クラスタがk-匿名性およびl-多様性を満たすように詳細化処理を行う。具体的には、準識別子Quasi-Identifierから構成される属性値の組をグループ化し、クラスタとする。このクラスタの単位で、k-匿名性、l-多様性を満たすように、詳細化処理を実行する。各属性が単純木で構成されている場合、お互いのクラスタは独立集合であることが保証されるため、各クラスタがk-匿名性、l-多様性を満たす限り、この処理によって、全体のk-匿名性、l-多様性が失われることはない。したがって、この処理では、詳細化処理のみを行うため、処理の実行によって、評価ポイントが必ず増加することを保証できる。そのため、評価ポイントの算出処理を省略することにより、処理を高速化することができる。ユーザ設定パラメータ管理部500は、利用者が設定した重み付けポイント等のパラメータを管理する。また、属性が数値データではない場合、属性値の持つ意味の包含関係によって構築された木構造が上位ノード探索のために必要である。例えば、図3にように、Country、State、City、といった属性値の上下関係によって構成された階層構造を事前に作成しておく必要がある。したがって、各属性に対してこのような木構造データをユーザが設定可能とする。数値データに関しては、一定の値ごとに階層化するため、木構造データは必ずしも必要ではない。なお、木構造データの構成に関して既存のソフトウェアが使用できる場合は、使用しても良い。また、木構造データは各レベルのノード数を情報として含む。木構造データ管理部600は、図3に示すような木構造データを管理する。k-匿名性判定モジュール700は、入力されたデータセットのすべての準識別子から構成される表がk-匿名性を満たすことを判定する。l-多様性判定モジュール800は、入力されたデータセットのすべての重要情報から構成される表がl-多様性を満たすことを判定する。つまり、本実施形態においては、例えば、図4に示すように、ボトムアップ処理を行って、一般化を実施した後に、トップダウン処理により逆方向の変形を行い、この処理を繰り返して最適な表を導出する。<加工処理前のデータ>図2を用いて、加工処理前のデータについて、説明する。図2は、加工処理前のデータとして医療情報を例示したものであり、本例では、データの属性として、名前、年齢、性別、出身地、人種、病名等が例示されている。本例では、女性である25歳のAが東京出身の日本人であって、肥満という病気を持っており、男性である37歳のBが北海道出身の日本人であって、糖尿病という病気を持っており、男性である55歳のCが沖縄出身の日本人であって、高血圧症という病気を持っていることが示されている。このうち、名前という属性は、個人を直接的に特定できるものであるため、削除すべき情報に分類される。また、病名という属性は、プライバシー情報であるため、重要情報SensitiveInformationに分類される。さらに、年齢、性別、出身地、人種という属性は、直接的に個人を特定できる情報ではないため、準識別子Quasi-Identifierに分類され、利用者の利用目的に応じて、重み付けが行われる。なお、属性が数値データではない場合、例えば、Country、State、Cityのような場合、属性値の持つ意味の包含関係によって構築された木構造を用いて、上位ノードを探索する。したがって、各属性に対してこのような木構造データを利用者が設定可能とする。<公開情報のプライバシー保護装置の処理>図5を用いて、本実施形態に係る公開情報のプライバシー保護装置の処理について説明する。まず、利用者が属性ごとに、データが、準識別子か重要情報かを決定し、入力されたデータをすべての準識別子からなる表と、すべての重要情報からなる表に分割するステップS101。前処理では、それぞれの属性単体を単体でkl-匿名性を満たすように一般化する。ここで、lは、システムのパラメータとする。また、属性によって利用者が一般化の限界レベルを設定しているものについては、それを超えて一般化を行わない。また、生成したデータがk-匿名性を満たさなければ、各属性を1レベルだけ一般化して再度チェックを行う。この場合も、利用者が設定した限界レベルを超えて一般化は行わず、他の属性を一般化することでk-匿名性を達成するステップS102。なお、この前処理工程を導入することにより、検索を高速化することができる。次に、トップダウン処理では、トップダウンにより匿名データを生成する処理を行う。まず、当該データに対してすべての属性が一致するデータを集めてソートおよびグループ化を行う。次に、ユーザの入力した優先順位情報とk-匿名性判定およびl-多様性判定からのフィードバック結果を基に、一般化を行う属性およびグループを選択する。その際には、各属性に対して、一般化を行った場合に取り得る属性の種類の数と利用者の入力した優先順位情報から、一般化による評価ポイントの増加分を概算する。このように、評価ポイントの概算を導入することにより、無駄な計算を省略することができる。そして、この概算結果が大きい順から一般化の対象とする。また、可能性のある一般化を順番に行って候補データを作成していくわけであるが、直前の一般化を行ったデータの評価ポイントに対して、概算した評価ポイントの増加を考慮しても次に行う一般化が評価ポイントの上で上回れない場合には、残りの一般化手順による候補データの作成は行わないステップS103。次に、選択したグループの一般化を行い、実施結果データセット全体をk-匿名性判定およびl-多様性判定に入力する。k-匿名性判定およびl-多様性判定に合格したデータについては、各属性の属性値の数を算出し、評価ポイントを導出するステップS104。なお、候補データのうち、最も評価ポイントの高いものを次の処理対象データとする。そして、k―匿名性およびl-多様性を満たさなくなるまで、トップダウン処理を繰り返す。k-匿名性およびl-多様性を満たさなくなった場合、k―匿名性およびl-多様性を満たしたデータおよびその評価ポイントを保存しておくとともに、k―匿名性およびl-多様性を満たさなくなったデータの中からもっとも評価ポイントが高いものをボトムアップ処理に受け渡す。次に、ボトムアップ処理では、ボトムアップにより匿名データを生成する処理を行う。まず、当該データに対してすべての属性が一致するデータを集めてソートおよびグループ化を行う。次に、利用者の入力した優先順位情報とk-匿名性判定およびl-多様性判定からのフィードバック結果を基に、一般化を行う属性およびグループを選択する。具体的には、利用者が入力した優先順位が高い属性から順に一般化して候補データを作成する。そして、選択したグループの一般化を行い、実施結果データセット全体をk-匿名性判定およびl-多様性判定に入力する。k―匿名性判定およびl-多様性判定に合格したデータについては、各属性の属性値の数を算出し、評価ポイントを導出する。さらに、評価ポイントを比較し、トップダウン処理において保存されたデータの評価ポイントも含めて最大の評価ポイントを得たデータを匿名データセットとして保存行って、そのデータを再トップダウン処理に受け渡すステップS105からS106。また、すべてのk―匿名性判定およびl-多様性判定に合格しなかった場合には、候補データの中から左記の匿名データセットよりも評価ポイントが高くかつ評価ポイントが高いものを選択し、再度ボトムアップ処理を行い同様の判定を行う。すべての候補データがk-匿名性およびl-多様性を満たさず、かつ、現在保存されている匿名データセットの評価ポイントを上回ることができない場合には、保存されている匿名データセットを匿名データセット出力に渡して終了する。なお、利用者が属性に対して一般化レベル限界を設定していた場合には、それを超えて一般化は行わない。再トップダウン処理は、トップダウン処理とほぼ同様の手順で行う。k-匿名性判定およびl-多様性判定に合格したデータについては、各属性の属性値の数を算出し、評価ポイントを導出する。候補データのうち、最も評価ポイントの高いものを次の処理対象データとする。そして、k―匿名性およびl-多様性を満たさなくなるまで、トップダウン処理を繰り返す。k―匿名性およびl-多様性を満たさなくなった場合、k―匿名性およびl-多様性を満たしたデータおよびその評価ポイントを保存しておくとともに、k―匿名性およびl-多様性を満たさなくなったデータの中からもっとも評価ポイントが高いものをボトムアップ処理に受け渡す。k-匿名性判定およびl-多様性判定では、入力されたデータセットのすべての準識別子から構成される表がk-匿名性を満たし、かつ、すべての重要情報から構成される情報がl―多様性を満たすかどうか判定し、満たす場合は、データを匿名データセット出力に受け渡す。満たさない場合、満たさなかったグループをフィードバック情報としてトップダウン処理、ボトムアップ処理、再トップダウン処理に返す。部分匿名化処理では、各属性の詳細化トップダウン処理を一律に行うのではなく、細かいクラスに分割し、各クラスタがk-匿名性およびl-多様性を満たすように詳細化処理を行うステップS107。具体的には、準識別子Quasi-Identifierから構成される属性値の組をグループ化し、クラスタとする。このクラスタの単位で、k-匿名性、l-多様性を満たすように、詳細化処理を実行する。各属性が単純木で構成されている場合、お互いのクラスタは独立集合であることが保証されるため、各クラスタがk-匿名性、l-多様性を満たす限り、この処理によって、全体のk-匿名性、l-多様性が失われることはない。このように、クラスタの単位で、k-匿名性、l-多様性を満たすように、部分匿名化処理における詳細化処理、k-匿名性、l-多様性判定処理を繰り返すステップS107、S108。匿名データセット出力は、受け取ったデータを成形して出力する。受け取ったデータはデータそのものではなく、各属性の一般化レベルで与えられている場合がある。このときには、元データも読込、一般化を行った後出力するステップS109。また、評価ポイントが一致した場合は、利用者の優先順位が高い順から属性を見ていき、優先順位が高い属性の一般化レベルが低いデータを採用する。したがって、本実施形態によれば、データ利用者が求めるデータが欠落することなく、データの加工によるプライバシー保護を実現できる。また、処理手段により前処理を実行するため可能な限り最適な表を確実かつ高速に導出できる。さらに、k-匿名性とl-多様性の両方をみたした最適な表を高速に導出することができる。なお、公開情報のプライバシー保護装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを公開情報のプライバシー保護装置に読み込ませ、実行することによって本発明の公開情報のプライバシー保護装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。また、コンピュータシステムは、WWWWorldWideWebシステムを利用している場合であれば、ホームページ提供環境あるいは表示環境も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する伝送媒体は、インターネット等のネットワーク通信網や電話回線等の通信回線通信線のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル差分プログラムであっても良い。以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。