(57)【特許請求の範囲】
【請求項１】
予め定められた複数の属性それぞれの属性値を有するレコードを複数含むデータベースに対して匿名化処理を行う情報匿名化システムであって、
前記データベースに含まれる各レコードに対してｋ−匿名性を満たすように前記属性値を一般化した際に失われた情報の度合いを示す情報損失度を前記属性値ごとに算出し、算出した情報損失度が予め定められた情報損失閾値より大きい場合、前記属性値を一般化した際に前記データベースにおいて過度な情報損失が生じたと判定する情報損失要因判定部と、
前記データベースに含まれるレコードに対してｋ−匿名化を施した情報の要求を、ユーザの操作に応じて送信するユーザ端末と、
過度な情報損失を生じさせた原因であると判定されたレコードを含む場合の情報損失度と、前記レコード以外の前記データベースに記憶されているレコードに対してｋ−匿名性を満たすように前記属性値を一般化した際に失われた情報の度合いを示す情報損失度と、過度な情報損失を生じさせた原因であると判定されたレコードの数に対する前記データベースに含まれるレコードの数の比である情報欠損率とを、前記ユーザ端末の要求に応じて出力する選択処理部と、
を具備し、
前記情報損失度は、
前記データベースに含まれる各レコードに対してｋ−匿名性を満たすように前記属性値を一般化した階層数αから、対象とする前記属性値を有するレコード以外の前記データベースに含まれるレコードに対してｋ−匿名性を満たすように前記属性値を一般化した階層数βを減算した値であり、
前記選択処理部は、
過度な情報損失を生じさせた原因であると判定されたレコード以外の前記データベースに記憶されているレコードに対してｋ−匿名化を施した情報と、前記データベースに含まれる全てのレコードに対してｋ−匿名化を施した情報と両方を提供する要求を前記ユーザ端末から受信し、受信した要求に応じた情報を前記ユーザ端末に出力する
ことを特徴とする情報匿名化システム。
【請求項２】
請求項１に記載の情報匿名化システムであって、
前記情報損失要因判定部は、
前記情報損失閾値より大きい情報損失度に対応する属性値を含むレコードを過度な情報損失を生じさせた原因であると判定する
ことを特徴とする情報匿名化システム。
【請求項３】
請求項１又は請求項２に記載の情報匿名化システムであって、
前記情報損失要因判定部は、
前記情報損失閾値より大きい情報損失度に対応する属性値を含むレコードの数に対する前記データベースに含まれるレコードの数の比が予め定められた出現閾値未満である場合、前記情報損失閾値より大きい情報損失度に対応する属性値を含むレコードを過度な情報損失を生じさせた原因であると判定する
ことを特徴とする情報匿名化システム。
【請求項４】
請求項１から請求項３のいずれか一項に記載の情報匿名化システムであって、
前記情報損失閾値は、
前記属性値の階層構造における階層数、及び前記データベースに含まれるレコード数に応じて定められている
ことを特徴とする情報匿名化システム。
【請求項５】
属性値を組み合わせた複数のレコードを含むデータベースに対して匿名化処理を行う情報匿名化システムにおける情報損失判定方法であって、
前記データベースに含まれる各レコードに対してｋ−匿名性を満たすように前記属性値を一般化した際に失われた情報の度合いを示す情報損失度を前記属性値ごとに算出し、算出した情報損失度が予め定められた情報損失閾値より大きい場合、前記属性値を一般化した際に前記データベースにおいて過度な情報損失が生じたと判定する情報損失要因判定ステップと、
前記データベースに含まれるレコードに対してｋ−匿名化を施した情報の要求をユーザ端末から送信する要求送信ステップと、
過度の情報損失を生じさせた原因であると判定されたレコードを含む場合の情報損失度と、前記レコード以外の前記データベースに記憶されているレコードに対してｋ−匿名化を満たすように前記属性値を一般化した際に失われた情報の度合いを示す情報損失度と、過度の亜情報送信津を生じさせた原因であると判定されたレコードの数に対する前記データベースに含まれるレコードの数の比である情報欠損率とを、前記ユーザ端末からの要求に応じて出力する選択処理ステップと、
を有し、
前記情報損失度は、
前記データベースに含まれる各レコードに対してｋ−匿名性を満たすように前記属性値を一般化した階層数αから、対象とする前記属性値を有するレコード以外の前記データベースに含まれるレコードに対してｋ−匿名性を満たすように前記属性値を一般化した階層数βを減算した値であり、
前記選択処理ステップでは、
過度な情報損失を生じさせた原因であると判定されたレコード以外の前記データベースに記憶されているレコードに対してｋ−匿名化を施した情報と、前記データベースに含まれる全てのレコードに対してｋ−匿名化を施した情報と両方を提供する要求を前記ユーザ端末から受信し、受信した要求に応じた情報を前記ユーザ端末に出力する
ことを特徴とする情報損失判定方法。
【請求項６】
属性値を組み合わせた複数のレコードを含むデータベースに対して匿名化処理を行う情報匿名化システムに設けられたコンピュータに
前記データベースに含まれる各レコードに対してｋ−匿名性を満たすように前記属性値を一般化した際に失われた情報の度合いを示す情報損失度を前記属性値ごとに算出し、算出した情報損失度が予め定められた情報損失閾値より大きい場合、前記属性値を一般化した際に前記データベースにおいて過度な情報損失が生じたと判定する情報損失要因判定ステップと、
前記データベースに含まれるレコードに対してｋ−匿名化を施した情報の要求をユーザ端末から受信する要求受信ステップと、
過度の情報損失を生じさせた原因であると判定されたレコードを含む場合の情報損失度と、前記レコード以外の前記データベースに記憶されているレコードに対してｋ−匿名化を満たすように前記属性値を一般化した際に失われた情報の度合いを示す情報損失度と、過度の亜情報送信津を生じさせた原因であると判定されたレコードの数に対する前記データベースに含まれるレコードの数の比である情報欠損率とを、前記ユーザ端末からの要求に応じて出力する選択処理ステップと、
を実行させ、
前記情報損失度は、
前記データベースに含まれる各レコードに対してｋ−匿名性を満たすように前記属性値を一般化した階層数αから、対象とする前記属性値を有するレコード以外の前記データベースに含まれるレコードに対してｋ−匿名性を満たすように前記属性値を一般化した階層数βを減算した値であり、
前記選択処理ステップでは、
過度な情報損失を生じさせた原因であると判定されたレコード以外の前記データベースに記憶されているレコードに対してｋ−匿名化を施した情報と、前記データベースに含まれる全てのレコードに対してｋ−匿名化を施した情報と両方を提供する要求を前記ユーザ端末から受信し、受信した要求に応じた情報を前記ユーザ端末に出力する
ための情報損失判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報匿名化システム、情報損失判定方法、及び情報損失判定プログラムに関する。
【背景技術】
【０００２】
企業の顧客データや、病院のカルテ等の大規模なデータベースに含まれるデータに対して統計的な処理を施して得られた情報に基づいてビジネス傾向の特定や、病気の予防等に活用することが行われている。このような情報を活用する際には、プライバシの保護やセキュリティの確保などの観点から、匿名化処理を施して顧客や個人が特定されないようにする必要がある。そのため、データから有用性が損なわれることを抑えつつ、匿名化処理を行うことが検討されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２０９８００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、匿名化処理を行ったために情報損失が生じる場合がある。一例としては、年齢の属性値を抽象化して匿名性を確保するために、各属性値を「未成年」と「成人」とに抽象化すると、世代（１０代、２０代、…）の情報が失われる情報損失が生じてしまう。このような場合、得られた情報では、ビジネス傾向の特定（マーケティング）や統計処理に活用するには不十分であるためデータを有効に活用することができないという問題がある。
【０００５】
本発明は、上記問題を解決すべくなされたもので、その目的は、匿名化を施した際に過度な情報損失が生じているか否かを判定することができる情報匿名化システム、情報損失判定方法、及び情報損失判定プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記問題を解決するために、本発明は、予め定められた複数の属性それぞれの属性値を有するレコードを複数含むデータベースに対して匿名化処理を行う情報匿名化システムであって、前記データベースに含まれる各レコードに対してｋ−匿名性を満たすように前記属性値を一般化した際に失われた情報の度合いを示す情報損失度を前記属性値ごとに算出し、算出した情報損失度が予め定められた情報損失閾値より大きい場合、前記属性値を一般化した際に前記データベースにおいて過度な情報損失が生じたと判定する情報損失要因判定部を具備し、前記情報損失度は、前記データベースに含まれる各レコードに対してｋ−匿名性を満たすように前記属性値を一般化した階層数αから、対象とする前記属性値を有するレコード以外の前記データベースに含まれるレコードに対してｋ−匿名性を満たすように前記属性値を一般化した階層数βを減算した値であることを特徴とする情報匿名化システムである。
【０００７】
また、本発明は、上記に記載の発明において、前記情報損失要因判定部は、前記情報損失閾値より大きい情報損失度に対応する属性値を含むレコードを過度な情報損失を生じさせた原因であると判定することを特徴とする。
【０００８】
また、本発明は、上記に記載の発明において、前記情報損失要因判定部は、前記情報損失閾値より大きい情報損失度に対応する属性値を含むレコードの数に対する前記データベースに含まれるレコードの数の比が予め定められた出現閾値未満である場合、前記情報損失閾値より大きい情報損失度に対応する属性値を含むレコードを過度な情報損失を生じさせた原因であると判定することを特徴とする。
【０００９】
また、上記問題を解決するために、本発明は、前記データベースに含まれるレコードに対してｋ−匿名化を施した情報の要求を、ユーザの操作に応じて送信するユーザ端末と、過度な情報損失を生じさせた原因であると判定されたレコードを含む場合の情報損失度と、前記レコード以外の前記データベースに記憶されているレコードに対してｋ−匿名性を満たすように前記属性値を一般化した際に失われた情報の度合いを示す情報損失度と、過度な情報損失を生じさせた原因であると判定されたレコードの数に対する前記データベースに含まれるレコードの数の比である情報欠損率とを、前記ユーザ端末の要求に応じて出力する選択処理部と、を更に具備し、前記選択処理部は、過度な情報損失を生じさせた原因であると判定されたレコード以外の前記データベースに記憶されているレコードに対してｋ−匿名化を施した情報と、前記データベースに含まれる全てのレコードに対してｋ−匿名化を施した情報とのいずれかを提供する要求を前記ユーザ端末から受信し、受信した要求に応じた情報を前記ユーザ端末に出力するである。
【００１０】
また、本発明は、上記に記載の発明において、前記情報損失要因判定部が過度な情報損失が生じていると判定した場合、過度な情報損失を生じさせた原因であると判定されたレコード以外の前記データベースに記憶されているレコードに対してｋ−匿名化を施した情報を出力する情報提供部を更に備えることを特徴とする。
【００１１】
また、本発明は、上記に記載の発明において、前記情報損失閾値は、前記属性値の階層構造における階層数、及び前記データベースに含まれるレコード数に応じて定められていることを特徴とする。
【００１２】
また、上記問題を解決するために、本発明は、属性値を組み合わせた複数のレコードを含むデータベースに対して匿名化処理を行う情報匿名化システムにおける情報損失判定方法であって、前記データベースに含まれる各レコードに対してｋ−匿名性を満たすように前記属性値を一般化した際に失われた情報の度合いを示す情報損失度を前記属性値ごとに算出し、算出した情報損失度が予め定められた情報損失閾値より大きい場合、前記属性値を一般化した際に前記データベースにおいて過度な情報損失が生じたと判定する情報損失要因判定ステップを有し、前記情報損失度は、前記データベースに含まれる各レコードに対してｋ−匿名性を満たすように前記属性値を一般化した階層数αから、対象とする前記属性値を有するレコード以外の前記データベースに含まれるレコードに対してｋ−匿名性を満たすように前記属性値を一般化した階層数βを減算した値であることを特徴とする情報損失判定方法である。
【００１３】
また、上記問題を解決するために、本発明は、属性値を組み合わせた複数のレコードを含むデータベースに対して匿名化処理を行う情報匿名化システムに設けられたコンピュータに前記データベースに含まれる各レコードに対してｋ−匿名性を満たすように前記属性値を一般化した際に失われた情報の度合いを示す情報損失度を前記属性値ごとに算出し、算出した情報損失度が予め定められた情報損失閾値より大きい場合、前記属性値を一般化した際に前記データベースにおいて過度な情報損失が生じたと判定する情報損失要因判定ステップを実行させ、前記情報損失度を、前記データベースに含まれる各レコードに対してｋ−匿名性を満たすように前記属性値を一般化した階層数αから、対象とする前記属性値を有するレコード以外の前記データベースに含まれるレコードに対してｋ−匿名性を満たすように前記属性値を一般化した階層数βを減算して算出させるための情報損失判定プログラムである。
【発明の効果】
【００１４】
この発明によれば、各属性値に対する情報損失度を算出し、算出した情報損失度を情報損失閾値と比較することにより、匿名化を施した際における属性値の一般化において過度の情報損失が生じているか否かを判定することができる。また、過度な情報損失が生じている場合には、原因のレコードを特定することができる。
これにより、匿名化により得られた情報が、ビジネス傾向の特定（マーケティング）や統計処理等に適しているか否かを判定することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明に係る情報損失判定の処理例を示す概略図である。
【図２】情報損失判定の処理例を示す概略図である。
【図３】本実施形態における情報匿名化システム１００の構成を示す概略ブロック図である。
【図４】本実施形態における顧客情報データベース２に記憶されている顧客データの一例を示す図である。
【図５】本実施形態における情報匿名化装置１が行う情報損失判定処理を示すフローチャートである。
【図６】本実施形態における情報匿名化装置１が行う情報提供処理を示すフローチャートである。
【図７】図４に示した顧客データに対して匿名化を施した結果を示す図である。
【図８】本実施形態における情報損失閾値の設定例を示す図である。
【発明を実施するための形態】
【００１６】
本発明に係る具体的な実施形態を説明する前に、過度な情報損失が生じているか否かを判定する情報損失判定について説明する。情報損失判定では、データベースに含まれる属性値の抽象化により失われる情報を情報損失度という指標を用いて表す。この情報損失度に基づいて、データベースに対して匿名化処理を施した際に過度な情報損失が生じているか否かを判定する。
【００１７】
図１は、本発明に係る情報損失判定の処理例を示す概略図である。また、同図には、データベースを構成する各レコードに含まれる属性を抽象化（一般化）した際の階層関係が示されている。「Ａ」〜「Ｌ」の各ノードは、属性値に対応している。ここでは、ノード「Ｆ」、Ｇ」、及び「Ｌ」に対応する属性値を有するレコードがデータベースに含まれ、ｋ−匿名性を満たしていない場合を例にして説明する。また、ノード「Ｆ」及び「Ｇ」に対応する属性値を一般化すると、ノード「Ｅ」に対応する属性値になる。また、ノード「Ｌ」に対応する属性値を一般化すると、ノード「Ｋ」に対応する属性値となる。すなわち、同図に示す階層関係において、ノード「Ａ」に対応する属性値が、他のノードに対応する属性値を最も一般化した属性値となっている。
【００１８】
ノード「Ｆ」及び「Ｇ」に対応する属性値を有するレコードに関しては、属性値に対して１段階の一般化を施して、ノード「Ｅ」に対応する属性値として扱うことでｋ−匿名性を保持できる。しかし、ノード「Ｌ」に対応するレコードに関しては、ｋ−匿名性を保持するためには、属性値をノード「Ａ」に対応する属性値に一般化する必要がある。すなわち、ノード「Ｆ」、「Ｇ」、及び「Ｌ」に対応する属性値を、ノード「Ａ」に対応する属性値に一般化する匿名化処理を施して、属性値からレコードを特定できないようにする必要がある。
【００１９】
ここで、情報損失距離を以下のように算出する。データベースに含まれるノードに対応する属性値を含むレコードに対するｋ−匿名性を保持するために必要な一般化の階層数を距離αとし、情報損失要因の候補ノード（例えば、ノード「Ｌ」）を除いた場合の他のノードに対応する属性値を有するレコードに対するｋ−匿名性を保持するために必要な一般化の階層数を距離βとする。この距離αと距離βとを用いて、情報損失距離は「（距離α）−（距離β）」により算出される。例えば、ノード「Ｌ」に着目したとき、ノード「Ｆ」及び「Ｇ」に対応する属性値の情報損失距離は「４−１＝３」となり、ノード「Ｌ」に対応する属性値の情報損失距離は「４−４＝０」となる。
【００２０】
匿名化処理において、情報損失要因により生じた情報損失の程度を表す情報損失度を算出する。情報損失度は、ノードの属性値を有するレコードが存在するノードであって情報損失要因の候補に選択されていないノードに対する情報損失距離を総和した値である。図１に示した例において、ノード「Ｌ」を候補とした場合、ノード「Ｆ」とノード「Ｇ」との情報損失距離の和（６＝３＋３）が、ノード「Ｌ」に対する情報損失度である。
【００２１】
情報損失度が予め定められた情報損失閾値より大きいとき、匿名化処理により過度の情報損失が生じたと判定される。また、この情報損失の原因は、ノード「Ｌ」に対応する属性値を有するレコードであると判定される。また、過度な情報損失が生じないように、ノード「Ｌ」に対応する属性値を有するレコードを除いたデータベースを利用する場合における情報欠損率は、ノード「Ｆ」、「Ｇ」、及び「Ｌ」に対応する値を有するレコード数で、ノード「Ｌ」に対応する値を有するレコード数を除算した値となる。
以下に、具体的な例を示して、本発明に係る情報損失判定を更に説明する。
【００２２】
図２は、情報損失判定の処理例を示す概略図である。図２において、属性は年齢であり、各ノードには年齢又は年齢を一般化した値が対応付けられている。ここでは、「１８歳」、「１９歳」、「４１歳」、「４４歳」、及び「６２歳」の属性値と、これらの属性値を一般化した「１０代」、「２０代」、…、「７０代」の属性値と、「１０代」の属性値を一般化した「未成年」の属性値と、「２０代」、…、「７０代」の属性値を一般化した「成人」の属性値とが階層関係が示されている。
属性値「１８歳」「１９歳」「４１歳」及び「４４歳」を有するレコードは、１段階の一般化により匿名性を満たすことができる。しかし、属性値「６２歳」を有するレコードは、１段階の一般化を行っても匿名性を満たすことができない。この場合、各属性値に対して更に１段階の一般化を行う必要があり、「１８歳」及び「１９歳」の属性値は「未成年」に変換され、「４１歳」、「４４歳」、及び「６２歳」の属性値は「成人」の属性値に変換されることになる。
属性値「６２歳」の情報損失度が情報損失閾値より大きい場合、上述の匿名性処理において過度な情報損失が生じていると判定され、「６２歳」を属性値として有するレコードが情報損失要因として判定される。
【００２３】
以下、本発明に係る一実施形態における情報匿名化システム、情報損失判定方法、及び情報損失判定プログラムを説明する。
【００２４】
図３は、本実施形態における情報匿名化システム１００の構成を示す概略ブロック図である。同図に示すように、情報匿名化システム１００は、情報匿名化装置１と、顧客情報データベース２と、ネットワーク３と、ユーザ端末４とを具備している。情報匿名化装置１は、顧客情報データベース２に記憶されている複数の顧客データ（レコード）に対して、各顧客を特定できないように顧客データを変換する匿名化を施し、各ユーザが利用するユーザ端末４にネットワーク３を介して送信する。このとき、情報匿名化装置１は、過度な情報損失が生じているか否かを判定し、判定結果をユーザに提示する。また、情報匿名化装置１は、ユーザ端末４を介したユーザからの要求に応じて、過度な情報損失を抑えた匿名化処理を顧客データに対して行い、当該匿名化処理により得られた匿名化顧客情報をユーザに提供する。
【００２５】
図４は、本実施形態における顧客情報データベース２に記憶されている顧客データの一例を示す図である。同図に示すように、顧客情報データベース２には、年齢、住所、性別等の複数の項目（属性）に対する属性値が組み合わされた顧客データが複数記憶されている。顧客データの一例としては、年齢の属性値「２３歳」と、住所の属性値「神戸市北区藤原台＊＊＊＊」と、性別の属性値「女性」とが組み合わされている。
【００２６】
図３に戻って、情報匿名化装置１の構成について説明する。
情報匿名化装置１は、上述の処理を行うために、第１匿名化部１１、第１匿名化顧客情報記憶部１２、情報損失要因判定部１３、選択処理部１４、情報損失要因削除部１５、第２匿名化部１６、第２匿名化顧客情報記憶部１７、及び、情報提供部１８を備えている。
第１匿名化部１１は、顧客情報データベース２に記憶されている顧客データに対して、顧客データに含まれる項目のうち予め定められた項目（例えば、年齢と住所）の属性値を一般化する匿名化処理を施して、ｋ−匿名性を満たす情報である第１匿名化顧客情報に変換して出力する。
【００２７】
第１匿名化顧客情報記憶部１２は、第１匿名化部１１が出力する第１匿名化顧客情報を記憶する。
情報損失要因判定部１３は、顧客情報データベース２に記憶されている顧客データと、第１匿名化顧客情報記憶部１２に記憶されている第１匿名化顧客情報とに基づいて、第１匿名化顧客情報において過度な情報損失が生じているか否かを判定する。また、情報損失要因判定部１３は、過度な情報損失を生じさせている顧客データを特定する。情報損失要因判定部１３は、判定の結果と、過度な情報損失を生じさせている顧客データの全顧客データ数における比率とを含む判定結果情報を選択処理部１４に出力する。
【００２８】
選択処理部１４は、情報損失要因判定部１３から入力された判定結果情報をユーザ端末４に、ネットワーク３を介して送信する。また、選択処理部１４は、過度な情報損失が発生している場合、過度な情報損失を抑えた匿名化処理を顧客データに施して得られた情報と、過度な情報損失が生じている第１匿名化顧客情報とのいずれを利用するかを示す選択情報を受信する。選択処理部１４は、受信した選択情報が過度な情報損失を抑えた情報の選択を示す場合、情報損失要因削除部１５に過度な情報損失を生じさせている顧客データを削除することを指示する削除情報を出力する。また、選択処理部１４は、選択情報を情報提供部１８に出力する。
【００２９】
情報損失要因削除部１５は、選択処理部１４から削除情報が入力されると、過度な情報損失を生じさせている顧客データ以外の顧客データを顧客情報データベース２から読み出し、読み出した顧客データを第２匿名化部１６に出力する。
第２匿名化部１６は、情報損失要因削除部１５から入力される顧客データに対して、予め定められた項目の属性値を一般化する匿名化処理を施して、ｋ−匿名性を満たす情報である第２匿名化顧客情報に変換して出力する。
第２匿名化顧客情報記憶部１７は、第２匿名化部１６が出力する第２匿名化顧客情報を記憶する。
情報提供部１８は、選択処理部１４から入力される選択情報に基づいて、第１匿名化顧客情報と、第２匿名化顧客情報とのいずれかを、匿名化された顧客データを要求したユーザのユーザ端末４に送信する。
【００３０】
図５は、本実施形態における情報匿名化装置１が行う情報損失判定処理を示すフローチャートである。
情報匿名化装置１において、情報損失判定処理が開始されると、第１匿名化部１１は、顧客情報データベース２に記憶されている顧客データにおいて、顧客が特定されないようにする匿名化処理を予め定められた項目である対象属性の属性値に対して一般化を行い、第１匿名化顧客情報を生成して第１匿名化顧客情報記憶部１２に記憶させる（ステップＳ１０１）。すなわち、第１匿名化部１１は、顧客情報データベース２に記憶されている顧客データに対して、ｋ−匿名性を満たすように、対象属性の属性値を一般化する。
【００３１】
情報損失要因判定部１３は、第１匿名化顧客情報と顧客データとに基づいて、対象属性において用いられている全ての属性値に対して、以下のステップＳ１０２からステップＳ１０６までの処理を順に行う。
情報損失要因判定部１３は、情報損失要因の判定対象の属性値に対する情報損失度を算出する（ステップＳ１０２）。
情報損失要因判定部１３は、算出した情報損失度が予め定められた情報損失閾値より大きいか否かを判定し（ステップＳ１０３）、情報損失度が情報損失閾値より大きくない場合（ステップＳ１０３：ＮＯ）、次の属性値に対する判定（ステップＳ１０２〜ステップＳ１０６）を行う。
【００３２】
一方、情報損失度が情報損失閾値より大きい場合（ステップＳ１０３：ＹＥＳ）、情報損失要因判定部１３は、判定対象の属性値に対するレコード数を全属性値に対するレコード数で除算した出現率を算出する（ステップＳ１０４）。ここで、出現率は、顧客情報データベース２に記憶されている顧客データの数に対する判定対象の属性値を有する顧客データの数の比である。すなわち（出現率）＝（判定対象の属性値を有する顧客データの数）／（全ての顧客データの数）である。
情報損失要因判定部１３は、算出した出現率が出現閾値未満であるか否かを判定し（ステップＳ１０５）、出現率が出現閾値以上である場合（ステップＳ１０５：ＮＯ）、次の属性値に対する判定（ステップＳ１０２〜ステップＳ１０６）を行う。
【００３３】
一方、出現率が出現閾値未満である場合（ステップＳ１０５：ＹＥＳ）、情報損失要因判定部１３は、判定対象の属性値を記憶し、情報損失要因として登録する（ステップＳ１０６）。
情報損失要因判定部１３は、全ての属性値に対してステップＳ１０２からステップＳ１０６までの処理を終えると、情報損失要因として属性値を登録したか否かを判定し（ステップＳ１０７）、情報損失要因として属性値を登録していた場合（ステップＳ１０７：ＹＥＳ）、顧客データに対する匿名化処理において過度な情報損失が生じていると判定し（ステップＳ１０８）、情報損失判定処理を終了する。
一方、情報損失要因として属性値を登録していない場合（ステップＳ１０７：ＮＯ）、情報損失要因判定部１３は、顧客データに対する匿名化処理において過度な情報損失が生じていないと判定し（ステップＳ１０９）、情報損失判定処理を終了する。
【００３４】
ここで、ステップＳ１０２における情報損失度を算出する処理について、具体的な例を用いて説明する。例えば、図１に示した例において、ノード「Ｌ」に対応する属性値を判定対象とした場合、ノード「Ｌ」以外の属性値のうち顧客データ（レコード）が存在する属性値に対応するノード「Ｆ」及び「Ｇ」の情報損失距離から情報損失度を算出する。具体的には、ノード「Ｆ」の情報損失距離「３（＝４−１）」と、ノード「Ｇ」の情報損失距離「３（＝４−１）」との和「６（＝３＋３）」を情報損失度として算出する。この場合、情報損失要因判定部１３は、「６」が情報損失閾値より大きいとき、ノード「Ｌ」に対応する属性値を情報損失要因の候補として、ステップＳ１０４以降の処理を進める。
【００３５】
また、ステップＳ１０４における出現率を算出する処理について、具体的な例を用いて説明する。例えば、図１に示した例において、ノード「Ｆ」、「Ｇ」、及び「Ｌ」に対応する属性値を有する顧客データの数が６、７、及び１である場合、ノード「Ｌ」に対応する属性値の出現率は、０．０７（≒１／（６＋７＋１））になる。この場合、情報損失要因判定部１３は、「０．０７」が出現閾値より小さいとき、ノード「Ｌ」に対応する属性値を情報損失要因に登録する。
【００３６】
図６は、本実施形態における情報匿名化装置１が行う情報提供処理を示すフローチャートである。
情報匿名化装置１において、情報提供処理が開始されると、選択処理部１４は、情報損失要因判定部１３による情報損失判定の判定結果を取得する（ステップＳ２０１）。ここで、判定結果には、顧客データに対して匿名化を行い得られた第１匿名化顧客情報において過度な情報損失が生じたか否かを示す情報と、過度な情報損失が生じていた場合には情報損失要因を示す情報とが含まれる。
【００３７】
選択処理部１４は、取得した判定結果に基づいて、情報有用性を算出する（ステップＳ２０２）。ここで、情報有用性は、情報損失要因を含んだ顧客データに対して匿名化を施した際の情報損失度と、情報損失要因を有する顧客データを削除して匿名化を施した際の情報損失度とを含む情報である。
選択処理部１４は、取得した判定結果に基づいて、情報完全性を算出する（ステップＳ２０３）。ここで、情報完全性は、情報損失要因を削除した場合における情報欠損率を含む情報である。情報欠損率は、「情報損失要因を含む顧客データの数」を「全ての顧客データの数」で除算した値である。
情報損失要因に複数の属性値が登録されている場合、上述のステップＳ２０２における情報有用性と、ステップＳ２０３における情報完全性とは、属性値ごとに算出される。
【００３８】
選択処理部１４は、算出した情報有用性及び情報完全性をユーザ端末４に送信して、情報損失要因を削除するか否かを判断する情報を提供する。また、選択処理部１４は、ユーザが操作するユーザ端末４から選択情報を受信する。選択情報には、情報損失要因を削除しないで得られた匿名化情報（第１匿名化顧客情報）と情報損失要因を削除して得られた匿名化情報とのいずれを選択するかを示す情報、及び、情報損失要因を削除する場合においていずれの情報損失要因（属性値）を削除するかを示す情報が含まれる。すなわち、ユーザは、情報匿名化装置１が出力する情報有用性及び情報完全性に基づいて、上述の選択を行う。そして、情報匿名化装置１は、ユーザ端末４からネットワーク３を介して、選択情報を取得する（ステップＳ２０４）。
【００３９】
選択処理部１４は、選択情報が情報損失要因の削除を示しているか否かを判定し（ステップＳ２０５）、情報損失要因の削除を示していない場合（ステップＳ２０５：ＮＯ）、第１匿名化顧客情報をユーザ端末４に送信する指示を情報提供部１８に出力する。情報提供部１８は、第１匿名化顧客情報を第１匿名化顧客情報記憶部１２から読み出してユーザ端末４に送信し（ステップＳ２０６）、情報提供処理を終了する。
一方、選択情報が情報損失要因の削除を示している場合（ステップＳ２０５：ＹＥＳ）、選択処理部１４は、削除する情報損失要因を情報損失要因削除部１５に出力する。情報損失要因削除部１５は、顧客情報データベース２に記憶されている顧客データのうち、削除する情報損失要因（属性値）を含まない顧客データを読み出して第２匿名化部１６に出力する（ステップＳ２０７）。換言すると、情報損失要因削除部１５は、顧客情報データベース２に記憶されている顧客データのうち情報損失要因を削除した顧客データを第２匿名化部１６に出力することになる。
【００４０】
第２匿名化部１６は、情報損失要因削除部１５から入力された顧客データにおいて、顧客が特定されないようにする匿名化処理を対象属性の属性値に対して一般化を行い、第２匿名化顧客情報を生成して第２匿名化顧客情報記憶部１７に記憶させる（ステップＳ２０８）。すなわち、第２匿名化部１６は、入力された顧客データに対して、ｋ−匿名性を満たすように、対象属性の属性値を一般化する。
情報提供部１８は、第２匿名化顧客情報を第２匿名化顧客情報記憶部１７から読み出してユーザ端末４に送信し（ステップＳ２０９）、情報提供処理を終了する。
【００４１】
以下に、情報損失要因を削除しない場合と、情報損失要因を削除した場合とにおいて、ユーザに提供する匿名化された顧客データの例を示す。
図７は、図４に示した顧客データに対して匿名化を施した結果を示す図である。ここでは、項目「年齢」と「住所」とが対象属性として予め定められており、ｋ値を２（＝ｋ）としたｋ−匿名性を満たす場合について説明する。
図７（Ａ）は第１匿名化顧客情報、すなわち情報損失要因を削除しないで得られた結果が示されている。図７（Ｂ）は第２匿名化顧客情報、すなわち情報損失要因を削除して得られた結果が示されている。図７（Ａ）においては、住所において大字（市区町村内の行政区画名）以下が削除された一般化が顧客データに対して行われている。
一方、図７（Ｂ）においては、情報損失要因となっている「神戸市北区鈴蘭台４」と「神戸市北区藤原台」とを削除しているので、住所において大字名を残した情報が示されている。ただし、ｋ−匿名性を維持するために、「２５歳、神戸市北区鈴蘭台４−＊＊＊＊、男性、…」と、「２３歳、神戸市北区藤原台＊＊＊＊、女性」との顧客データが失われている。
【００４２】
情報匿名化装置１は、過度な情報損失が生じている場合に情報有用性及び情報完全性をユーザに提示し、情報損失要因を削除して得られた情報を利用するか否かの選択を容易にする。図７に示した例において、ユーザが項目「年齢」及び「住所」における情報損失度の小さい情報を希望する場合には、情報損失要因を削除して得られた情報を利用することができる。
【００４３】
ここで、情報損失判定処理（図５）において用いられる情報損失閾値を定める手順の一例を説明する。
匿名化を行う際に生じる情報損失度は、一般化する属性値の階層構造（一般化情報ツリー）の階層数とレコード数に依存する。そのため、属性値の階層構造の階層数と、匿名化の対象となるレコード数とに基づいて情報損失閾値を定めるようにしてもよい。例えば、全レコード数における全体階層数の半分以上の損失を過度な情報損失と定める場合、情報損失閾値は、「（全体階層数）×（全レコード数）×０．５」で算出される。
図８は、本実施形態における情報損失閾値の設定例を示す図である。図８（Ａ）及び（Ｂ）で表される階層構造の属性値を有する全レコード数を１００とすると、図８（Ａ）に示される一般化情報ツリーＡにより属性値の階層構造が表される場合、情報損失閾値は、３００（＝６×１００×０．５）になる。また、図８（Ｂ）に示される一般化情報ツリーＢにより属性値の階層構造が表される場合、情報損失閾値は、１５０（＝３×１００×０．５）になる。このように、属性値の階層構造とレコード数に応じて、情報損失閾値を定めることにより、過度な情報損失が生じているか否かの判定の精度を向上させることができる。なお、ここでは、一例として情報損失閾値の算出方法を説明したが、ユーザが項目（属性）ごとに情報損失閾値を定めるようにしてもよい。
【００４４】
以上説明したように、情報匿名化装置１は、上述の情報損失判定処理を行うことにより、顧客データに対して匿名化を行った際に、過度な情報損失が生じているか否かを判定することができる。また、過度な情報損失が生じている場合には、その原因となっている属性値（情報損失要因）を特定することができる。
また、情報匿名化装置１は、過度な情報損失が生じている場合、属性値の一般化により失われた情報の度合い（情報損失度）を示す情報有用性と、過度な情報損失を生じさせている属性値を削除した際に失われる情報の度合い（情報欠損率）を示す情報完全性をユーザに提示する。これにより、ユーザは、情報を利用する目的に応じて、過度な情報損失が生じている匿名化された情報（第１匿名化顧客情報）と、過度な情報損失を抑制して得られた情報（第２匿名化顧客情報）とのいずれの提供を受けるかの判断を容易にすることができる。
【００４５】
なお、情報匿名化装置１において、第１匿名化部１１及び第２匿名化部１６が属性値の一般化を行う際の属性値の階層関係（例えば図１や、図２、図８などに示した関係）は予め定められており、第１匿名化部１１及び第２匿名化部１６に記憶されている。又は、階層関係を記憶した記憶部を設け、第１匿名化部１１及び第２匿名化部１６は記憶部に記憶されている階層関係を参照して、属性値の一般化を行うようにしてもよい。また、属性は、対象とするデータベースに応じて一般に異なるので、匿名化処理の対象となるデータベースごとに属性値の階層関係を、上述の記憶部等に記憶させるようにしてもよい。
また、対象属性が複数の場合、情報損失判定処理（図５）におけるステップＳ１０２からステップＳ１０６までの処理は、対象属性における属性値の組み合わせごとに行い、各属性値の組み合わせごとに情報損失度、及び出現率を算出する。
【００４６】
なお、上述の実施形態におけて、情報匿名化システムは、複数の装置を含む場合について説明したが、これに限ることなく、情報匿名化装置１及びユーザ端末４を１つの装置として構成してもよい。また、情報匿名化装置１と顧客情報データベース２とはネットワーク３を介して接続されていてもよい。
また、上述の実施形態において、情報匿名化装置１は、匿名化されていない顧客情報データに対して、匿名化を行うとともに、過度な情報損失が生じているか否かを判定する構成について説明した。しかし、これに限ることなく、情報匿名化装置１は、既に匿名化が施された情報に対して、同様の処理を行うようにしてもよい。
【００４７】
また、上述の実施形態において、情報匿名化装置１は、ユーザの選択に応じて、情報損失要因を削除した顧客データに対して匿名化を行った第２匿名化顧客情報を提供する構成について説明した。しかし、これに限ることなく、情報匿名化装置１は、過度な情報損失が生じていると判定した場合、ユーザの選択を待たずに、第２匿名化顧客情報をユーザに提供するようにしてもよいし、第１匿名化顧客情報及び第２匿名化顧客情報をユーザに提供するようにしてもよい。
【００４８】
また、情報損失判定処理（図５）において、情報損失閾値を項目（属性）ごとに異なる値にするようにしてもよい。これにより、属性における属性値の階層構造の深さに応じて、過剰な情報損失が生じているか否かを適切に判定することができる。
また、情報損失判定処理（図５）において、匿名化対象属性が単一である場合の実施形態を説明した。しかし、これに限ることなく、複数属性を匿名化対象とした場合においても同様に情報損失判定を実施することができる。例えば、属性「性別」、「年齢」の２つが対象の場合、一般化させたくない優先順位を付与し、優先順位が低い属性「性別」の属性値（「男性」など）毎に、優先度の高い属性「年齢」の情報損失要因を判定する。
【００４９】
また、上述の実施形態における情報提供処理のステップＳ２０４において選択処理部１４からユーザ端末４に送信する情報有用性は、ステップＳ２０２において算出した情報損失要因を含む場合の情報損失度の最大値、及び情報損失要因を含まない場合の情報損失度の最大値を含むようにしてもよい。これにより、ユーザは、過度な情報損失が生じている匿名化された情報（第１匿名化顧客情報）と、過度な情報損失を抑制して得られた情報（第２匿名化顧客情報）とのいずれの提供を受けるかの判断を容易にすることができる。
【００５０】
なお、本発明における情報匿名化システムの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより情報損失判定処理及び情報提供処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５１】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００５２】
１…情報匿名化装置
２…顧客情報データベース
３…ネットワーク
４…ユーザ端末
１１…第１匿名化部
１２…第１匿名化顧客情報記憶部
１３…情報損失要因判定部
１４…選択処理部
１５…情報損失要因削除部
１６…第２匿名化部
１７…第２匿名化顧客情報記憶部
１８…情報提供部
１００…情報匿名化システム
【図１】
0005782636.tif 000002
【図２】
0005782636.tif 000003
【図３】
0005782636.tif 000004
【図４】
0005782636.tif 000005
【図５】
0005782636.tif 000006
【図６】
0005782636.tif 000007
【図７】
0005782636.tif 000008
【図８】
0005782636.tif 000009