(57)【特許請求の範囲】
【請求項１】
複数の属性それぞれの属性値を有するレコードを複数含むデータベースに対して匿名化処理を行う際の属性を選択する属性選択装置であって、
前記データベースに含まれるレコードのうち匿名性を満たしていないレコードを検出する非匿名レコード検出部と、
前記非匿名レコード検出部により検出されたレコードごとに、レコードにおいて最も標準偏差が大きい属性を検出し、検出された回数が最大の属性が複数ある場合、検出された回数が最大の属性ごとに残存率を算出し、算出した残存率が最大の属性を一般化の対象に選択し、検出された回数が最大の属性が複数ない場合、検出された回数が最大の属性を一般化の対象に選択する一般化属性選択部と、
を備え、
前記残存率は、属性に対する一般化後の属性値の数を、一般化前の属性値の数で除算した値である、
ことを特徴とする属性選択装置。
【請求項２】
請求項１に記載の属性選択装置であって、
前記データベースに含まれるレコードが有する各属性値の出現率を算出する出現率算出部を更に備え、
前記一般化属性選択部は、
前記非匿名レコード検出部により検出されたレコードにおいて、前記出現率が最も低い属性値を検出し、検出された属性値を最も多く含む属性を一般化の対象にする属性に選択する
ことを特徴とする属性選択装置。
【請求項３】
請求項１又は請求項２のいずれかに記載の属性選択装置であって、
前記一般化属性選択部は、
前記非匿名レコード検出部により検出されたレコードのうち、属性値の組み合わせが一致するレコード数が基準の値未満のレコードにおける属性値の標準偏差に基づいて、前記複数の属性から一般化の対象にする属性を選択する
ことを特徴とする属性選択装置。
【請求項４】
複数の属性それぞれの属性値を有するレコードを複数含むデータベースに対して匿名化処理を行う情報匿名化装置であって、
前記データベースに含まれるレコードのうち匿名性を満たしていないレコードを検出する非匿名レコード検出部と、
前記非匿名レコード検出部により検出されたレコードごとに、レコードにおいて最も標準偏差が大きい属性を検出し、検出された回数が最大の属性が複数ある場合、検出された回数が最大の属性ごとに残存率を算出し、算出した残存率が最大の属性を一般化の対象に選択し、検出された回数が最大の属性が複数ない場合、検出された回数が最大の属性を一般化の対象に選択する一般化属性選択部と、
前記データベースに含まれる各レコードにおいて、前記一般化属性選択部が選択した属性を一般化する一般化処理部と、
を備え、
前記残存率は、属性に対する一般化後の属性値の数を、一般化前の属性値の数で除算した値である、
ことを特徴とする情報匿名化装置。
【請求項５】
複数の属性それぞれの属性値を有するレコードを複数含むデータベースに対して匿名化
処理を行う際の属性を選択する属性選択装置が行う属性選択方法であって、
前記データベースに含まれるレコードのうち匿名性を満たしていないレコードを検出する非匿名レコード検出ステップと、
前記非匿名レコード検出ステップにより検出されたレコードごとに、レコードにおいて最も標準偏差が大きい属性を検出し、検出された回数が最大の属性が複数ある場合、検出された回数が最大の属性ごとに残存率を算出し、算出した残存率が最大の属性を一般化の対象に選択し、検出された回数が最大の属性が複数ない場合、検出された回数が最大の属性を一般化の対象に選択する一般化属性選択ステップと、
を有し、
前記残存率は、属性に対する一般化後の属性値の数を、一般化前の属性値の数で除算した値である、
を有することを特徴とする属性選択方法。
【請求項６】
複数の属性それぞれの属性値を有するレコードを複数含むデータベースに対して匿名化
処理を行う情報匿名化装置が行う情報匿名化方法であって、
前記データベースに含まれるレコードのうち匿名性を満たしていないレコードを検出する非匿名レコード検出ステップと、
前記非匿名レコード検出ステップにより検出されたレコードごとに、レコードにおいて最も標準偏差が大きい属性を検出し、検出された回数が最大の属性が複数ある場合、検出された回数が最大の属性ごとに残存率を算出し、算出した残存率が最大の属性を一般化の対象に選択し、検出された回数が最大の属性が複数ない場合、検出された回数が最大の属性を一般化の対象に選択する一般化属性選択ステップと、
前記データベースに含まれる各レコードに対して、前記一般化属性選択ステップにおい
て選択した属性を一般化する一般化処理ステップと、
を有し、
前記残存率は、属性に対する一般化後の属性値の数を、一般化前の属性値の数で除算した値である、
ことを特徴とする情報匿名化方法。
【請求項７】
複数の属性それぞれの属性値を有するレコードを複数含むデータベースに対して匿名化
処理を行う際の属性を選択する属性選択装置に設けられたコンピュータに
前記データベースに含まれるレコードのうち匿名性を満たしていないレコードを検出する非匿名レコード検出ステップと、
前記非匿名レコード検出ステップにより検出されたレコードごとに、レコードにおいて最も標準偏差が大きい属性を検出し、検出された回数が最大の属性が複数ある場合、検出された回数が最大の属性ごとに残存率を算出し、算出した残存率が最大の属性を一般化の対象に選択し、検出された回数が最大の属性が複数ない場合、検出された回数が最大の属性を一般化の対象に選択する一般化属性選択ステップと、
を実行させ、
前記残存率は、属性に対する一般化後の属性値の数を、一般化前の属性値の数で除算した値である、
ことを特徴とする属性選択プログラム。
【請求項８】
複数の属性それぞれの属性値を有するレコードを複数含むデータベースに対して匿名化
処理を行う情報匿名化装置に設けられたコンピュータに、
前記データベースに含まれるレコードのうち匿名性を満たしていないレコードを検出する非匿名レコード検出ステップと、
前記非匿名レコード検出ステップにより検出されたレコードごとに、レコードにおいて最も標準偏差が大きい属性を検出し、検出された回数が最大の属性が複数ある場合、検出された回数が最大の属性ごとに残存率を算出し、算出した残存率が最大の属性を一般化の対象に選択し、検出された回数が最大の属性が複数ない場合、検出された回数が最大の属性を一般化の対象に選択する一般化属性選択ステップと、
前記データベースに含まれる各レコードに対して、前記一般化属性選択ステップにおい
て選択した属性を一般化する一般化処理ステップと、
を実行させ、
前記残存率は、属性に対する一般化後の属性値の数を、一般化前の属性値の数で除算した値である、
ための情報匿名化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、属性選択装置、情報匿名化装置、属性選択方法、情報匿名化方法、属性選択プログラム、及び情報匿名化プログラムに関する。
【背景技術】
【０００２】
企業の顧客データや、病院のカルテ等の大規模なデータベースに含まれるデータに対して統計的な処理を施して得られた情報に基づいて、ビジネス傾向を特定したり、病気の予防等に活用したりすることが行われている。このような情報を活用する際には、プライバシの保護やセキュリティの保護などの観点から、匿名化処理をして顧客や個人が特定されないようにする必要がある。そのため、データから有用性が損なわれることを抑えつつ、匿名化処理をすることが検討されている（非特許文献１）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】「個人情報匿名化基盤」、[online]、経済産業省商務情報政策局情報処理振興課情報大航海プロジェクト担当、［平成２４年３月１９日検索］、インターネット<URL: http://www.meti.go.jp/policy/it_policy/daikoukai/igvp/cp2_jp/common/024/010/post-9.html>
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１に記載されている技術では、データに対して匿名化処理をする際に、データに含まれる複数の属性に対して設定された優先順位（重み付け）に応じて、属性の一般化が行われている。優先順位は匿名化処理をする前にデータを利用するユーザが予め定める必要がある。そのため、データに含まれる属性の数が多い場合、情報の有用性の損失を抑えつつ匿名性を確保できるように、一般化する属性の優先順位を決定することが難しくなるという問題があった。
【０００５】
本発明は、上記問題を解決すべくなされたもので、その目的は、データに匿名化処理を施す際に、情報の有用性の損失を抑えつつ匿名性を確保できる属性を選択する属性選択装置、情報匿名化装置、属性選択方法、情報匿名化方法、属性選択プログラム、及び情報匿名化プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記問題を解決するために、本発明は、複数の属性それぞれの属性値を有するレコードを複数含むデータベースに対して匿名化処理を行う際の属性を選択する属性選択装置であって、前記データベースに含まれる各レコードの属性値の出現頻度に基づいて、前記複数の属性から一般化の対象にする属性を選択する一般化属性選択部を備えることを特徴とする属性選択装置である。
【０００７】
また、本発明は、上記に記載の発明において、前記データベースに含まれるレコードが有する各属性値の出現率を算出する出現率算出部を更に備え、前記一般化属性選択部は、前記データベースに含まれる各レコードにおいて、前記出現率が最も低い属性値を検出し、検出された属性値を最も多く含む属性を一般化の対象にする属性に選択することを特徴とする。
【０００８】
また、本発明は、上記に記載の発明において、前記一般化属性選択部は、前記データベースに含まれるレコードのうち、属性値の組み合わせが一致するレコード数が基準の値未満のレコードにおける属性値の出現頻度に基づいて、前記複数の属性から一般化の対象にする属性を選択することを特徴とする。
【０００９】
また、上記問題を解決するために、本発明は、複数の属性それぞれの属性値を有するレコードを複数含むデータベースに対して匿名化処理を行う情報匿名化装置であって、前記データベースに含まれる各レコードの属性値の出現頻度に基づいて、前記複数の属性から一般化の対象にする属性を選択する一般化属性選択部と、前記データベースに含まれる各レコードにおいて、前記一般化属性選択部が選択した属性を一般化する一般化処理部とを備えることを特徴とする情報匿名化装置である。
【００１０】
また、上記問題を解決するために、本発明は、複数の属性それぞれの属性値を有するレコードを複数含むデータベースに対して匿名化処理を行う際の属性を選択する属性選択装置が行う属性選択方法であって、前記データベースに含まれる各レコードの属性値の出現頻度に基づいて、前記複数の属性から一般化の対象にする属性を選択する一般化属性選択ステップを有することを特徴とする属性選択方法である。
【００１１】
また、上記問題を解決するために、本発明は、複数の属性それぞれの属性値を有するレコードを複数含むデータベースに対して匿名化処理を行う情報匿名化装置が行う情報匿名化方法であって、前記データベースに含まれる各レコードの属性値の出現頻度に基づいて、前記複数の属性から一般化の対象にする属性を選択する一般化属性選択ステップと、前記データベースに含まれる各レコードに対して、前記一般化属性選択ステップにおいて選択した属性を一般化する一般化処理ステップとを有することを特徴とする情報匿名化方法である。
【００１２】
また、上記問題を解決するために、本発明は、複数の属性それぞれの属性値を有するレコードを複数含むデータベースに対して匿名化処理を行う際の属性を選択する属性選択装置に設けられたコンピュータに前記データベースに含まれる各レコードの属性値の出現頻度に基づいて、前記複数の属性から一般化の対象にする属性を選択する一般化属性選択ステップを実行させることを特徴とする属性選択プログラムである。
【００１３】
また、上記問題を解決するために、本発明は、複数の属性それぞれの属性値を有するレコードを複数含むデータベースに対して匿名化処理を行う情報匿名化装置に設けられたコンピュータに、前記データベースに含まれる各レコードの属性値の出現頻度に基づいて、前記複数の属性から一般化の対象にする属性を選択する一般化属性選択ステップと、前記データベースに含まれる各レコードに対して、前記一般化属性選択ステップにおいて選択した属性を一般化する一般化処理ステップとを実行させるための情報匿名化プログラムである。
【発明の効果】
【００１４】
この発明によれば、各属性における属性値の出現頻度に応じて、一般化する属性を選択するので、情報の有用性の損失を抑えて匿名化を行うことができる。また、データに含まれる属性の数に拘わらず一般化する属性を選択することができるので、ユーザが一般化する属性を選択する手間を削減することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明に係る一実施形態における情報匿名化装置１の構成を示す概略ブロック図である。
【図２】同実施形態における顧客データベース２に記憶されている情報の一例を示す図である。
【図３】同実施形態における階層構造記憶部１３に記憶されている属性値の階層構造の一例を示す図である。
【図４】同実施形態における情報匿名化装置１が行う情報匿名化処理を示すフローチャートである。
【図５】匿名化処理の説明における各属性値の出現数及び出現率の一例を示す図である。
【図６】図２に示した顧客データベース２において属性「職業」を一般化して得られる情報を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の実施形態における属性選択装置、情報匿名化装置、属性選択方法、情報匿名化方法、属性選択プログラム、及び情報匿名化プログラムを説明する。
図１は、本発明に係る一実施形態における情報匿名化装置１の構成を示す概略ブロック図である。情報匿名化装置１は、ユーザが指定する顧客データベース２に記憶されているデータに対してＫ−匿名性を満たすようにデータに含まれる属性値を一般化する匿名化処理を行い、匿名化処理により得られた匿名化情報を出力する。
図２は、本実施形態における顧客データベース２に記憶されている情報の一例を示す図である。顧客データベース２には、同図に示すように、行と列とからなる２次元の表形式のデータで表される情報であって、レコードを識別する番号と、年齢と、職業と、未婚／既婚との各属性の列を有し、各属性に対応する属性値を含む顧客情報（レコード）の行を有している。例えば、番号＃２で識別される顧客情報には、番号「２」、年齢「３０代」、職業「会社員（一般）」、性別「男性」、未婚／既婚「既婚」が含まれている。
【００１７】
図１に戻って情報匿名化装置１の構成の説明を続ける。
情報匿名化装置１は、同図に示すように、情報入力部１１と匿名化処理部１２とを具備している。匿名化処理部１２は、階層構造記憶部１３、出現率算出部１４、非匿名レコード検出部１５、一般化属性選択部１６、一般化処理部１７、匿名化情報記憶部１８、及び匿名性判定部１９を備えている。
【００１８】
情報入力部１１には、ユーザの操作により匿名化処理の対象となる顧客データベース２を示す情報と、匿名性を判定する際に用いるＫ値とを含む選択情報が入力される。
階層構造記憶部１３には、属性値の階層構造が属性ごとに予め記憶されている。この属性値の階層構造は、匿名化処理において属性値を一般化（抽象化又は上位概念化）する差異に用いられる。
図３は、本実施形態における階層構造記憶部１３に記憶されている属性値の階層構造の一例を示す図である。ここでは、図２に示した顧客情報における属性「年齢」「職業」、「性別」、「未婚／既婚」における属性値の階層構造が示されている。
【００１９】
属性「年齢」における属性値「２０代」「３０代」の上位概念は「２０−３０代」であり、属性値「４０代」「５０代」の上位概念は「４０−５０代」であり、属性値「６０代」「７０代」の上位概念は「６０−７０代」である。また、属性「職業」における属性値「会社員（一般）」、「会社役員」の上位概念は「会社員」であり、属性値「自営業」、「医者」の上位概念は「会社員以外」である。
また、属性値「警察官」の上位概念は「公務員」である。属性「性別」における属性値「男性」、「女性」を上位概念化すると、当該属性における属性値が一つになり区別するための属性値を必要としないため、ここでは「＊（アスタリスク）」となっている。また、属性「未婚／既婚」においても同様に、属性値「未婚」、「既婚」を上位概念化すると「＊」となる。
【００２０】
図１に戻って情報匿名化装置１の構成の説明を続ける。
出現率算出部１４は、ユーザに指定された顧客データベース２に記憶されている顧客情報において、属性ごとに属性値が現れる頻度（出現頻度）を算出する。具体的には、出現率算出部１４は、ユーザに指定された顧客データベース２において各属性値が現れる回数を計測し、計測した回数を当該顧客データベース２に含まれる顧客情報の数で除算して、属性値が現れる頻度を示す出現率を算出する。
【００２１】
非匿名レコード検出部１５は、匿名化処理の対象となる情報において、ユーザの操作により情報入力部１１に入力されたＫ値を満たすＫ−匿名性を満たしていない顧客情報（レコード）を検出する。換言すると、非匿名レコード検出部１５は、予め定められた属性それぞれに対応する属性値の組み合わせが一致するレコードの数がＫ値（基準の値）未満のレコードを検出する。
一般化属性選択部１６は、非匿名レコード検出部１５が検出した顧客情報と、各属性における属性値それぞれに対応する出現率算出部１４が算出した出現率とに基づいて、顧客データベース２に含まれている属性のうち、一般化の対象とする属性を選択する。
一般化処理部１７は、階層構造記憶部１３に記憶されている属性の階層構造に基づいて、顧客データベース２に記憶されている顧客情報の属性値の一般化を行う。このとき、一般化処理部１７は、一般化属性選択部１６が選択した属性に対して一般化を行う。また、一般化処理部１７は、属性値の一般化により匿名化された情報を匿名化情報記憶部１８に記憶させる。
【００２２】
匿名性判定部１９は、匿名化情報記憶部１８に記憶されている情報が、情報入力部１１に入力されたＫ値を満たすＫ−匿名性を満たしているか否かを判定する。換言すると、匿名性判定部１９は、一般化処理部１７が行った一般化により得られた情報（匿名化された顧客情報）がＫ−匿名性を満たしているか否かを判定する。判定結果がＫ−匿名性を満たしている場合、匿名性判定部１９は、匿名化情報記憶部１８に記憶されている情報を匿名化情報として出力する。一方、判定結果がＫ−匿名性を満たしていない場合、匿名性判定部１９は、出現率算出部１４〜一般化処理部１７の各部に対して、匿名化情報記憶部１８に記憶されている情報に対して処理を行う指示を出力する。
【００２３】
図４は、本実施形態における情報匿名化装置１が行う情報匿名化処理を示すフローチャートである。
情報匿名化装置１において、情報匿名化処理が開始されると、情報入力部１１は、ユーザの操作などに基づいて選択情報が入力される（ステップＳ１０１）。
出現率算出部１４は、入力された選択情報により指定される顧客データベース２に記憶されている顧客情報を読み出して、各属性における属性値それぞれの出現率を算出し、算出した出現率を一般化属性選択部１６に出力する（ステップＳ１０２）。
非匿名レコード検出部１５は、入力された選択情報により指定される顧客データベース２に記憶されている顧客情報（レコード）のうち、選択情報に含まれるＫ値におけるＫ−匿名性を満たしていない顧客情報を検出し、検出した顧客情報を一般化属性選択部１６に出力する（ステップＳ１０３）。
【００２４】
一般化属性選択部１６は、非匿名レコード検出部１５から入力された顧客情報（レコード）ごとに、顧客情報に含まれる各属性値のうち最も出現率の低い属性値に対応する属性を検出し（ステップＳ１０４）、属性が検出された回数をカウントする（ステップＳ１０５）。すなわち、一般化属性選択部１６は、ステップＳ１０４及びステップＳ１０５の処理を、非匿名レコード検出部１５から入力された各顧客情報に対して順に行う。
一般化属性選択部１６は、非匿名レコード検出部１５から入力された顧客情報すべてに対してステップＳ１０４及びステップＳ１０５の処理を終えると、属性のうち検出された回数の最も多い属性が複数存在するか否かを判定する（ステップＳ１０６）。
【００２５】
検出された回数が最も多い属性が複数存在しない場合（ステップＳ１０６：ＮＯ）、一般化属性選択部１６は、検出された回数の最も多い属性を一般化の対象に選択し、選択した属性を示す情報を一般化処理部１７に出力する（ステップＳ１０７）。
一方、検出された回数が最も多い属性が複数存在する場合（ステップＳ１０６：ＹＥＳ）、一般化属性選択部１６は、検出された回数が最も多い属性それぞれに対して残存率を算出する（ステップＳ１０８）。
一般化属性選択部１６は、算出した残存率が最も高い属性を一般化の対象に選択し、選択した属性を示す情報を一般化処理部１７に出力する（ステップＳ１０９）。
【００２６】
このように、一般化属性選択部１６は、非匿名レコード検出部１５から入力された顧客情報と、出現率算出部１４が算出した各属性値の出現率とに基づいて、顧客情報に含まれる属性のうちいずれの属性に対して一般化を行うかを選択する。
ここで、ステップＳ１０８において一般化属性選択部１６が算出する残存率は、「一般化後の属性値の数」を「一般化前の属性値の数」で除算した値である。
【００２７】
一般化処理部１７は、入力された選択情報により指定される顧客データベース２に記憶されている顧客情報において、一般化属性選択部１６から入力された情報が示す属性の属性値を一般化する。また、一般化処理部１７は、属性値の一般化により顧客情報から得られた情報（一般化した顧客情報）を匿名化情報記憶部１８に記憶させる（ステップＳ１１０）。このとき、一般化処理部１７は、階層構造記憶部１３に記憶されている階層構造に基づいて、属性値の一般化をする。
匿名性判定部１９は、匿名化情報記憶部１８に記憶されている情報が、選択情報に含まれるＫ値におけるＫ−匿名性を満たしているか否かを判定し（ステップＳ１１１）、Ｋ−匿名性を満たしている場合、匿名化情報記憶部１８に記憶されている情報を出力して（ステップＳ１１２）、匿名化処理を終了する。
一方、Ｋ−匿名性を満たしていない場合、匿名性判定部１９は処理をステップＳ１０２に戻し、ステップＳ１０２〜ステップＳ１１１の処理を再度実行させる。なお、繰り返してステップＳ１０２〜ステップＳ１１１の処理が行われる際には、顧客データベース２に替えて匿名化情報記憶部１８に記憶されている情報が処理の対象になる。また、ステップＳ１０７において、一般化処理部１７が一般化した顧客情報を匿名化情報記憶部１８に記憶させる度に、一般化した顧客情報を更新することになる。
【００２８】
ここで、具体例を用いて本実施形態における匿名化処理を説明する。以下に説明する例においては、図２に示した顧客データベース２を匿名化処理の対象とし、顧客データベース２に含まれる顧客情報（レコード）数は６０００とする。また、属性「年齢」、「職業」、「性別」、及び「未婚／既婚」における各属性値の出現数及び出現率が図５に示した値であるとする。図５は、匿名化処理の説明における各属性値の出現数及び出現率の一例を示す図である。例えば、属性「年齢」における属性値「３０代」の出現数は１０００回である。また、属性「職業」における属性値「医者」の出現数は３００回である。
【００２９】
情報匿名化装置１において、図２に示された顧客データベース２が指定され、Ｋ値に「２」が指定されると、出現率算出部１４が各属性における属性値それぞれが現れる回数を計測し、計測した回数と顧客情報の総数とから出現率を算出する。例えば、属性「年齢」における属性値「３０代」の出現率は「１０００／６０００」となり、属性「職業」における属性値「医者」の出現率は「３００／６０００」となる。
また、非匿名レコード検出部１５がＫ−匿名性（Ｋ値＝２）を満たしていない顧客情報を検出する。図２に示す顧客データベース２においては、＃８、＃１１、＃１５の顧客情報｛＃８、４０代、自営業、女性、未婚｝、｛＃１１、７０代、会社役員、女性、未婚｝、｛＃１５、２０代、警察官、女性、既婚｝が検出される。
【００３０】
一般化属性選択部１６は、検出された顧客情報｛＃８、４０代、自営業、女性、未婚｝、｛＃１１、７０代、会社役員、女性、未婚｝、｛＃１５、２０代、警察官、女性、既婚｝ごとに、出現率が最小の属性値を検出し、検出された属性をカウントする。この場合、｛＃８、４０代、自営業、女性、未婚｝からは「自営業」が最小の出現率として検出される。また、｛＃１１、７０代、会社役員、女性、未婚｝と、｛＃１５、２０代、警察官、女性、既婚｝とからは、「７０代」及び「会社役員」と、「２０代」とが検出される。このように、１つの顧客情報から複数の属性値「７０代」及び「会社役員」が検出された場合、一般化した後に残る属性値の残存率が多い方を選択する。この場合、属性値「７０代」を含む属性「年齢」における残存率は、０．５０＝（一般化後の属性値の数「３」／一般化前の属性値の数「６」）であり、属性値「会社役員」を含む属性「職業」における残存率は、０．６７（＝一般化後の属性値の数「４」／一般化前の属性値の数「６」）である。この結果に基づいて、一般化属性選択部１６は属性「職業」を検出し、属性「職業」をカウントする。
各顧客情報に対する検出を終えると、各属性のカウントは、「年齢」が「１」カウント、「職業」が「２」カウント、「性別」が「０」カウント、「未婚／既婚」が「０」カウントとなり、一般化属性選択部１６はカウント数が最大の属性「職業」を一般化の対象となる属性に選択する。
【００３１】
一般化処理部１７は、顧客データベース２（図２）に対して、一般化属性選択部１６が選択した属性「職業」を一般化する処理を行う。このとき、一般化処理部１７は、階層構造記憶部１３に記憶されている階層構造に基づいて一般化を行う。具体的には、図３に示されているように、属性値「会社員（一般）」と「会社役員」とを属性値「会社員」に一般化し、属性値「自営業」と「医者」とを属性値「会社員以外」に一般化し、属性値「警察官」を属性値「公務員」に一般化し、属性値「フリーター」を属性値「フリーター」に一般化する。顧客データベース２（図２）に対して一般化処理部１７が一般化をして得られる情報を図６に示す。
図６は、図２に示した顧客データベース２において属性「職業」を一般化して得られる情報を示す図である。属性「職業」の属性値を一般化したことにより、例えば、図２において｛＃６、５０代、医者、男性、未婚｝だった顧客情報は、｛＃６、５０代、会社員以外、男性、未婚｝に一般化されている。
【００３２】
このように、情報匿名化装置１は、Ｋ−匿名性を満たしていない顧客情報（レコード）において、当該顧客情報を特異な情報としている属性値を含む属性を、各属性値の出現率及び残存率に基づいて選択している。そして、情報匿名化装置１は、選択した属性に対して一般化することにより、顧客データベース２に記憶されている顧客情報の匿名性を満たした匿名化情報を提供する。
このように、情報匿名化装置１は、出現率及び残存率に基づいて一般化する属性を選択しているので、一般化を行う属性をユーザに選択させずに、Ｋ−匿名性を満たしていない顧客情報の特異性を低下させるとともに、情報の損失を抑えた一般化を行うことができる。その結果、情報匿名化装置１は、顧客情報の有用性の損失を抑えた匿名化を行うことができる、また、ユーザが一般化する属性を選択する手間を削減することができる。
【００３３】
なお、上述の実施形態において、最小の出現率に対応する属性が複数ある場合、一般化属性選択部１６が残存率に基づいて一般化する属性を選択する構成について説明したが、更に残存率が同じ場合には、ランダムに属性を選択するようにしてもよい。
また、上述の実施形態において、階層構造記憶部１３に記憶されている各属性値の階層構造が２階層の場合を例示して説明したが、これに限ることなく３階層以上であってもよい。この場合、階層構造が３階層以上の属性は、一般化の対象に複数回選択される可能性がある。
また、上述の実施形態において、Ｋ−匿名性を満たしていない顧客情報（レコード）における属性値に基づいて、一般化する属性を選択する構成について説明した。しかし、これに限ることなく、顧客データベース２に含まれるすべての又は一部の顧客情報における属性値に基づいて、一般化する属性を選択するようにしてもよい。
【００３４】
また、上述の実施形態において、一般化属性選択部１６が出現率及び残存率に基づいて一般化する属性を選択する構成について説明したが、これに限ることなく、各属性値に対する出現数の標準偏差に基づいて一般化する属性を選択するようにしてもよい。これにより、属性値において出現の頻度にばらつきがある属性を一般化の対象にすることができ、Ｋ−匿名性を満たしていない顧客情報の特異性を低下させるとともに、情報の損失を抑えた一般化を行うことができる。
また、上述の実施形態における、情報入力部１１、階層構造記憶部１３、出現率算出部１４、非匿名レコード検出部１５、及び一般化属性選択部１６を備える属性選択装置を構成し、ユーザの操作に応じて、匿名化処理を行う際に一般化する属性を出力するようにしてもよい。これにより、ユーザは、顧客データベース２に含まれる顧客情報の傾向を把握せずとも、匿名化処理において一般化する属性を決定することができる。
【００３５】
なお、本発明における情報匿名化装置の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより匿名化処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００３６】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。更に、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００３７】
１…情報匿名化装置
２…顧客データベース
１１…情報入力部
１２…匿名化処理部
１３…階層構造記憶部
１４…出現率算出部
１５…非匿名レコード検出部
１６…一般化属性選択部
１７…一般化処理部
１８…匿名化情報記憶部
１９…匿名性判定部
【図１】
0005782637.tif 000002
【図２】
0005782637.tif 000003
【図３】
0005782637.tif 000004
【図４】
0005782637.tif 000005
【図５】
0005782637.tif 000006
【図６】
0005782637.tif 000007