(57)【要約】      （修正有）【課題】一括してデータに匿名化処理を施すとき、より弱い匿名化で所望する匿名性を満たすことができる匿名化装置を提供する。【解決手段】匿名化装置１は、元テーブルの各レコード間の距離Ｄを計算し、距離Ｄをソートして値ｎを計算するソート部１１と、各属性の維持確率であるパラメータρａｊを求める維持確率計算部１２と、属性ａの遷移確率行列を計算する行列計算部１３と、テーブルの各属性の値を遷移確率行列を用いて遷移させるテーブル遷移部１４とを含む。【選択図】図３
2014137586.tif 000002
【特許請求の範囲】
【請求項１】
テーブルの各行を一個人のデータを表すレコードｒ、テーブルの各列を各属性の値とし、テーブルの属性の集合をＡＳ、レコードｒの集合をＲとし、ある属性ａ∈ＡＳが取り得る値の集合をＶａ、その具体的な値をｖａとし、匿名化される前の元テーブルをτ、匿名化テーブルをτ′とし、元テーブルのレコードｒ１、ｒ２間の距離Ｄを、δ^をクロネッカーのデルタとしたとき、
【数３２】
2014137586.tif 000034
と定義し、整数値を要素に持つ集合φに対するソート関数を、
【数３３】
2014137586.tif 000035
と定義し、
元テーブルτから全てのレコードｒ∈Ｒについて
【数３４】
2014137586.tif 000036
を計算し、
【数３５】
2014137586.tif 000037
を計算するソート部と、
匿名化パラメータｋ、ｎｉから
【数３６】
2014137586.tif 000038
および、
【数３７】
2014137586.tif 000039
を満たすように、各属性の維持確率であるパラメータρａｊを求める維持確率計算部と、
属性ａの遷移確率行列
【数３８】
2014137586.tif 000040
を計算する行列計算部と、
テーブルの各属性の値を遷移確率行列を用いて遷移させるテーブル遷移部とを含み、
遷移とは、テーブルのあるレコードの属性ａの値がｖａであったとき、遷移確率行列に基づいて定まる確率でｖ′ａに値を変更することを示す
匿名化装置。
【請求項２】
テーブルの各行を一個人のデータを表すレコードｒ、テーブルの各列を各属性の値とし、テーブルの属性の集合をＡＳ、レコードｒの集合をＲとし、ある属性ａ∈ＡＳが取り得る値の集合をＶａ、その具体的な値をｖａとし、Ｖを属性の組み合わせの集合、すなわちΠを直積を表すとしたとき、Ｖ＝Πａ∈ＡＳＶａとし、その要素をｖとし、匿名化テーブルのある属性ａ∈ＡＳがとりうる値の集合をＶ′ａ、その具体的な値をｖ′ａとし、Ｖ′を匿名化テーブルの属性の組み合わせの集合とし、匿名化される前の元テーブルをτ、匿名化テーブルをτ′としたとき、
元テーブルτのすべてのレコードｒ∈Ｒについて、互いのレコード間距離Ｄを計算し、その中で最も大きいものをＤ＊とする距離計算部と、
テーブルの空間Ｔのうち、最も大きいレコード間距離がＤ＊であるようなテーブルの集合をＴ＾とし、匿名化テーブルの空間をＴ′とし、
【数３９】
2014137586.tif 000041
を、あるテーブルτ＾のｓ番目のレコードの属性τ＾（ｓ）が、匿名化テーブル τ′のｓ′番目のレコードの属性τ′（ｓ′）に変化する確率をあらわすものと定義し、πは任意のレコード順の置換であるものとし、
与えられた匿名性のパラメータｋとＴ＾、Ｔ′から、
【数４０】
2014137586.tif 000042
を満たすような
【数４１】
2014137586.tif 000043
を計算する確率計算部と、
【数４２】
2014137586.tif 000044
を満たし、かつ
【数４３】
2014137586.tif 000045
であるような｜Ｖ｜×｜Ｖ′｜行列Ａを計算する行列計算部と、
テーブルの各属性の値を｜Ｖ｜×｜Ｖ′｜行列Ａを用いて遷移させるテーブル遷移部とを含み、
遷移とは、テーブルのあるレコードの属性がｖ∈Ｖであったとき、遷移確率行列に基づいて定まる確率でｖ′に値を変更することを示す
匿名化装置。
【請求項３】
請求項２に記載の匿名化装置であって、
レコード間距離Ｄをレコード同士のハミング距離とする
匿名化装置。
【請求項４】
テーブルの各行を一個人のデータを表すレコードｒ、テーブルの各列を各属性の値とし、テーブルの属性の集合をＡＳ、レコードｒの集合をＲとし、ある属性ａ∈ＡＳが取り得る値の集合をＶａ、その具体的な値をｖａとし、匿名化される前の元テーブルをτ、匿名化テーブルをτ′とし、元テーブルのレコードｒ１、ｒ２間の距離Ｄを、δ^をクロネッカーのデルタとしたとき、
【数４４】
2014137586.tif 000046
と定義し、整数値を要素に持つ集合φに対するソート関数を、
【数４５】
2014137586.tif 000047
と定義し、
元テーブルτから全てのレコードｒ∈Ｒについて
【数４６】
2014137586.tif 000048
を計算し、
【数４７】
2014137586.tif 000049
を計算するソートステップと、
匿名化パラメータｋ、ｎｉから
【数４８】
2014137586.tif 000050
および、
【数４９】
2014137586.tif 000051
を満たすように、各属性の維持確率であるパラメータρａｊを求める維持確率計算ステップと、
属性ａの遷移確率行列
【数５０】
2014137586.tif 000052
を計算する行列計算ステップと、
テーブルの各属性の値を遷移確率行列を用いて遷移させるテーブル遷移ステップとを含み、
遷移とは、テーブルのあるレコードの属性ａの値がｖａであったとき、遷移確率行列に基づいて定まる確率でｖ′ａに値を変更することを示す
匿名化方法。
【請求項５】
テーブルの各行を一個人のデータを表すレコードｒ、テーブルの各列を各属性の値とし、テーブルの属性の集合をＡＳ、レコードｒの集合をＲとし、ある属性ａ∈ＡＳが取り得る値の集合をＶａ、その具体的な値をｖａとし、Ｖを属性の組み合わせの集合、すなわちΠを直積を表すとしたとき、Ｖ＝Πａ∈ＡＳＶａとし、その要素をｖとし、匿名化テーブルのある属性ａ∈ＡＳがとりうる値の集合をＶ′ａ、その具体的な値をｖ′ａとし、Ｖ′を匿名化テーブルの属性の組み合わせの集合とし、匿名化される前の元テーブルをτ、匿名化テーブルをτ′としたとき、
元テーブルτのすべてのレコードｒ∈Ｒについて、互いのレコード間距離Ｄを計算し、その中で最も大きいものをＤ＊とする距離計算ステップと、
テーブルの空間Ｔのうち、最も大きいレコード間距離がＤ＊であるようなテーブルの集合をＴ＾とし、匿名化テーブルの空間をＴ′とし、
【数５１】
2014137586.tif 000053
を、あるテーブルτ＾のｓ番目のレコードの属性τ＾（ｓ）が、匿名化テーブル τ′のｓ′番目のレコードの属性τ′（ｓ′）に変化する確率をあらわすものと定義し、πは任意のレコード順の置換であるものとし、
与えられた匿名性のパラメータｋとＴ＾、Ｔ′から、
【数５２】
2014137586.tif 000054
を満たすような
【数５３】
2014137586.tif 000055
を計算する確率計算ステップと、
【数５４】
2014137586.tif 000056
を満たし、かつ
【数５５】
2014137586.tif 000057
であるような｜Ｖ｜×｜Ｖ′｜行列Ａを計算する行列計算ステップと、
テーブルの各属性の値を｜Ｖ｜×｜Ｖ′｜行列Ａを用いて遷移させるテーブル遷移ステップとを含み、
遷移とは、テーブルのあるレコードの属性がｖ∈Ｖであったとき、遷移確率行列に基づいて定まる確率でｖ′に値を変更することを示す
匿名化方法。
【請求項６】
請求項５に記載の匿名化方法であって、
レコード間距離Ｄを
レコード同士のハミング距離とする
匿名化方法。
【請求項７】
請求項４から６の何れかに記載された匿名化方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータベースにおける個別データのプライバシー情報を確率的手法により秘匿する匿名化装置、匿名化方法、プログラムに関する。
【背景技術】
【０００２】
近年、購買履歴や行動履歴等のデータを蓄積・分析し、商品のリコメンドやより良い都市開発等に活かしたいといった要望がある。しかし、このような個人に紐づくデータの利活用はプライバシーの問題があるため、第三者への提供や分析のアウトソーシング等が難しい。また、データを収集した者はそのデータについて繊細な取り扱いを要求されるといった問題がある。この問題に対し、データに適切なプライバシー保護措置を行うことでプライバシーの保護と統計分析を両立する匿名化技術が注目されている。匿名化技術では、データがどの程度プライバシーを保護できているかを定量的に表すため、幾つかのプライバシー指標が提案されている。その中でもｋ−匿名性、及びそれらを満たすアルゴリズムは近年最も研究が盛んな匿名化技術の一つである。しかし、ｋ−匿名性及びその派生は確率的手法に適用できないという問題があったため、ｋ−匿名性を確率空間へと拡張させたＰｋ−匿名性と呼ばれるプライバシー保護指標が提案されている。
【０００３】
Ｐｋ−匿名性は、確率的手法のための、データベースにおける個別データのプライバシー情報がどの程度秘匿されているかを測る指標である。Ｐｋ−匿名性を満たす秘匿化技術として、非特許文献１、２、３、４が開示されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Rakesh Agrawal, Ramakrishnan Srikant, and Dilys Thomas. "Privacy preserving olap.In Fatma Ozcan", editor, SIGMOD Conference, pp.251-262. ACM, 2005.
【非特許文献２】五十嵐大、千田浩司、高橋克巳、「ｋ−匿名性の確率的指標への拡張とその適用例」、InCSS, 2009.
【非特許文献３】五十嵐大、千田浩司、高橋克巳、「数値属性における、ｋ−匿名性を満たすランダム化手法」、InCSS, 2011.
【非特許文献４】五十嵐大、長谷川聡、納竜也、菊池亮、千田浩司、「数値属性に適用可能な、ランダム化によりｋ−匿名性を保証するプライバシー保護クロス集計」、InCSS, 2012.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明では、提供者、処理者、分析者の３人が存在するモデルを考える。提供者は自身の個人に関する情報（以下、パーソナル情報）、を処理者に渡すものである。パーソナル情報として、例えばスマートフォンの位置情報などがある。処理者は複数の提供者のパーソナル情報を収集し、匿名化装置（匿名化方法）を用いて一括して匿名化処理を行い、分析者に提供する者である。分析者は、処理者から匿名化データを授受する者である。
【０００６】
プライバシー情報がどの程度秘匿されているかを表す指標として、前述したＰｋ−匿名性があり、この指標を満たす手法をＰｋ−匿名化と呼び、Ｐｋ−匿名化の具体的処理を匿名化処理と呼ぶこととする。Ｐｋ−匿名化は既に幾つか提案されているが、それらは全て匿名化対象のデータの分布によらず同一の処理を行う必要があった。本発明が適用されるモデルでは匿名化処理を一括で行うため、匿名化処理を行う際は元データ全体が既知である。そのため、匿名化処理をデータに依存させることでより良い匿名化が可能となる。例えば、元データがそもそもある程度の匿名性を持っているならば、匿名性が低いデータに比べ「弱い」匿名化処理を行う、といったことが考えられる。
【０００７】
しかし既存のＰｋ−匿名化はこのような元データの匿名性に依存した匿名化処理ができない。そのため、元データがそもそもある程度の匿名性を持っていた場合でも、元データの匿名性が低い場合と同一の処理を行う必要があり、結果として、得られる匿名化データの有用性が下がってしまうという課題がある。そこで本発明では、一括してデータに匿名化処理を施すとき、より弱い匿名化で所望する匿名性を満たすことができる匿名化装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の匿名化装置は、ソート部と、維持確率計算部と、行列計算部と、テーブル遷移部とを含む。
【０００９】
テーブルの各行を一個人のデータを表すレコードｒ、テーブルの各列を各属性の値とし、テーブルの属性の集合をＡＳ、レコードｒの集合をＲとし、ある属性ａ∈ＡＳが取り得る値の集合をＶａ、その具体的な値をｖａとし、匿名化される前の元テーブルをτ、匿名化テーブルをτ′とし、元テーブルのレコードｒ１、ｒ２間の距離Ｄを、δ^をクロネッカーのデルタとしたとき、
【００１０】
【数１】
2014137586.tif 000003
【００１１】
と定義し、整数値を要素に持つ集合φに対するソート関数を、
【００１２】
【数２】
2014137586.tif 000004
【００１３】
と定義する。
【００１４】
ソート部は、元テーブルτから全てのレコードｒ∈Ｒについて
【００１５】
【数３】
2014137586.tif 000005
【００１６】
を計算し、
【００１７】
【数４】
2014137586.tif 000006
【００１８】
を計算する。
【００１９】
維持確率計算部は、匿名化パラメータｋ、ｎｉから
【００２０】
【数５】
2014137586.tif 000007
【００２１】
および、
【００２２】
【数６】
2014137586.tif 000008
【００２３】
を満たすように、各属性の維持確率であるパラメータρａｊを求める。
【００２４】
行列計算部は、属性ａの遷移確率行列
【００２５】
【数７】
2014137586.tif 000009
【００２６】
を計算する。
【００２７】
テーブル遷移部は、テーブルの各属性の値を遷移確率行列を用いて遷移させる。
【００２８】
遷移とは、テーブルのあるレコードの属性ａの値がｖａであったとき、遷移確率行列に基づいて定まる確率でｖ′ａに値を変更することを示す。
【発明の効果】
【００２９】
本発明の匿名化装置によれば、一括してデータに匿名化処理を施すとき、より弱い匿名化で所望する匿名性を満たすことができる。
【図面の簡単な説明】
【００３０】
【図１】本発明において匿名化の対象となるテーブルの例を示す図。
【図２】本発明の匿名化装置の入出力の概要を示す図。
【図３】本発明の実施例１の匿名化装置の構成を示すブロック図。
【図４】本発明の実施例１の匿名化装置の動作を示すフローチャート。
【図５】実施例１の匿名化装置のソート部が処理する元テーブルの例を示す図。
【図６】実施例１の匿名化装置のソート部の処理例を示す図。
【図７】本発明の変形例１の匿名化装置の構成を示すブロック図。
【図８】本発明の変形例１の匿名化装置の動作を示すフローチャート。
【図９】本発明の実施例２の匿名化装置の構成を示すブロック図。
【図１０】本発明の実施例２の匿名化装置の動作を示すフローチャート。
【図１１】集合ＲＬ（ｋ）、ＶＬ（ｋ）を例示する図。
【図１２】本発明の変形例２の匿名化装置の構成を示すブロック図。
【図１３】本発明の変形例２の匿名化装置の動作を示すフローチャート。
【発明を実施するための形態】
【００３１】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例１】
【００３２】
＜前提条件＞
図１を参照して本発明の匿名化の対象について説明する。図１は本発明において匿名化の対象となるテーブルの例を示す図である。図１に示すように、本発明において匿名化に用いられるテーブルは、各行が一個人のデータを表し（これをレコードｒと呼ぶ）、各列には各属性（例えば年齢、年収等）の値が入力されているものとする。本発明が満足するＰｋ−匿名性というプライバシー保護指標は、プライバシーの保護度合をｋというパラメータ（以下、匿名化パラメータと呼ぶ）で決めている。そのため、匿名化処理では最初にこの匿名化パラメータｋが与えられるものとする。
【００３３】
図２を参照して本発明の匿名化装置の入出力について説明する。図２は本発明の匿名化装置の入出力の概要を示す図である。図２に示すように、匿名化装置は、匿名化の対象となる元テーブルと、どの程度匿名性を持たせるかを決めるパラメータ（匿名化パラメータｋ）とを入力とする。匿名化装置は匿名化処理を実行し、匿名化テーブルと、匿名化処理に用いたパラメータ（遷移確率行列など）が出力される。
【００３４】
以下、本発明を詳細に記述するために、用語および関数の定義を行う。テーブルの属性の集合をＡＳ、レコードｒの集合をＲとし、ある属性ａ∈ＡＳが取り得る値の集合をＶａ、その具体的な値をｖａとする。匿名化される前の元テーブルをτ、匿名化テーブルをτ′とする。元テーブルのレコードｒ１、ｒ２間の距離Ｄを以下のように定義する。δ^をクロネッカーのデルタとしたとき、
【００３５】
【数８】
2014137586.tif 000010
【００３６】
と定義し、さらに整数値を要素に持つ集合φに対するソート関数を、
【００３７】
【数９】
2014137586.tif 000011
【００３８】
と定義する。
【００３９】
以下、図３、４を参照して、本発明の実施例１に係る匿名化装置１について説明する。図３は本実施例の匿名化装置１の構成を示すブロック図である。図４は本実施例の匿名化装置１の動作を示すフローチャートである。
【００４０】
図３に示すように本実施例の匿名化装置１は、ソート部１１と、維持確率計算部１２と、行列計算部１３と、テーブル遷移部１４とを備える。匿名化装置１は、匿名化パラメータｋと、元テーブルτを入力とする。まず、ソート部１１は、元テーブルτから全てのレコードｒ∈Ｒについて
【００４１】
【数１０】
2014137586.tif 000012
【００４２】
を計算し、
【００４３】
【数１１】
2014137586.tif 000013
【００４４】
を計算する（Ｓ１１）。
【００４５】
ソート部１１がおこなうソート、ｎの計算について図５、６を参照して補足説明する。図５は本実施例の匿名化装置１のソート部１１が処理する元データの例を示す図である。図６は本実施例の匿名化装置１のソート部１１の処理例を示す図である。図５に示すように属性を年齢、性別、年収とし、レコードｒ１、ｒ２、ｒ３、ｒ４からなる元テーブルをソートする場合について考える。この場合図６に示すように、ソート部１１は各レコード間の距離Ｄを計算し、当該距離Ｄをレコードごとに昇順に並べ替えるソートを実行し、並べ替え後の各順位の最大値からｎ＝（ｎ１，ｎ２，ｎ３）を計算する。
【００４６】
次に、維持確率計算部１２は、与えられた匿名化パラメータｋと先ほど求めたｎｉから
【００４７】
【数１２】
2014137586.tif 000014
【００４８】
および、
【００４９】
【数１３】
2014137586.tif 000015
【００５０】
を満たすように、各属性の維持確率であるパラメータρａｊを求める（Ｓ１２）。
【００５１】
次に、行列計算部１３は、属性ａの遷移確率行列
【００５２】
【数１４】
2014137586.tif 000016
【００５３】
を計算する（Ｓ１３）。次に、テーブル遷移部１４は、テーブルの各属性の値を上の遷移確率行列を用いて遷移させる（Ｓ１４）。遷移とは、テーブルのあるレコードの属性ａの値がｖａであったとき、確率
【００５４】
【数１５】
2014137586.tif 000017
【００５５】
でｖ′ａに値を変更することを意味する。この操作を全レコードの全属性値に行った結果を、匿名化テーブルτ′とする。
【００５６】
匿名化装置１は、匿名化テーブルτ′、各属性の遷移確率行列｛Ａａ｜ａ∈ＡＳ｝、
【００５７】
【数１６】
2014137586.tif 000018
【００５８】
を出力する。
【００５９】
本実施例の匿名化装置１によれば、一括してデータに匿名化処理を施すとき、より弱い匿名化で所望する匿名性を満たすことができる。
【００６０】
また、本実施例の匿名化装置１によれば、従来の手法では存在しなかった元データのテーブルの情報ｎ→が公開されるため、維持確率を大きくすることができる。維持確率は「データが遷移せずにそのままの値でいる確率」であり、高ければ高いほど元データに近いものになるため、従来の手法よりもデータの有用性が高い。
【００６１】
［変形例１］
以下、図７、図８を参照して、実施例１の一部を変形した変形例１の匿名化装置１０について説明する。図７は本変形例の匿名化装置１０の構成を示すブロック図である。図８は本変形例の匿名化装置１０の動作を示すフローチャートである。
【００６２】
＜前提条件＞
実施例１と同様に、テーブルの各行を一個人のデータを表すレコードｒ、テーブルの各列を各属性の値とし、テーブルの属性の集合をＡＳ、レコードｒの集合をＲとし、ある属性ａ∈ＡＳが取り得る値の集合をＶａ、その具体的な値をｖａとする。また、Ｖを属性の組み合わせの集合、すなわちΠは直積を表すとしたとき、Ｖ＝Πａ∈ＡＳＶａであり、その要素をｖとする。同様に、匿名化テーブルのある属性ａ∈ＡＳがとりうる値の集合をＶ′ａ、その具体的な値をｖ′ａとし、Ｖ′を匿名化テーブルの属性の組み合わせの集合とし、匿名化される前の元テーブルをτ、匿名化テーブルをτ′とする。
【００６３】
図７に示すように、本変形例の匿名化装置１０は、距離計算部１１０と、確率計算部１２０と、行列計算部１３０と、テーブル遷移部１４とを備える。実施例１と同様に、本変形例の匿名化装置１０は、匿名化パラメータｋと、元テーブルτを入力とする。まず距離計算部１１０は、元テーブルτのすべてのレコードｒ∈Ｒについて、互いのレコード間距離Ｄを計算し、その中で最も大きいものをＤ＊とする。ここで、テーブルの空間Ｔのうち、最も大きいレコード間距離がＤ＊であるようなテーブルの集合をＴ＾とする。また、匿名化テーブルの空間をＴ′とする。また、
【００６４】
【数１７】
2014137586.tif 000019
【００６５】
を「あるテーブルτ＾のｓ番目のレコードの属性（これをτ＾（ｓ）と書く）」が、「匿名化テーブル τ′のｓ′番目のレコードの属性（これを τ′（ｓ′）と書く）」に変化する確率をあらわすものと定義する。
【００６６】
次に、確率計算部１２０は、与えられた匿名性のパラメータｋとＴ＾、Ｔ′から、
【００６７】
【数１８】
2014137586.tif 000020
【００６８】
を満たすような
【００６９】
【数１９】
2014137586.tif 000021
【００７０】
を計算する（Ｓ１２０）。ここで、πは任意のレコード順の置換である。
【００７１】
次に、行列計算部１３０は、
【００７２】
【数２０】
2014137586.tif 000022
【００７３】
を満たし、かつ
【００７４】
【数２１】
2014137586.tif 000023
【００７５】
であるような｜Ｖ｜×｜Ｖ′｜行列Ａを計算する（Ｓ１３０）。テーブル遷移部１４は、ステップＳ１３０で求めた行列Ａに従い元テーブルの各属性の値を遷移させる。具体的には、ステップＳ１４は、元テーブルのレコードの属性がｖ∈Ｖであったとき、確率Ａｖ，ｖ′でｖ′に値を変更する処理である。この処理を全レコードの全属性値に行った結果を、匿名化テーブル τ′とする。匿名化装置１０は、匿名化テーブルτ′、遷移確率行列Ａτ＾，τ′，Ｄ＊を出力する。
【００７６】
本変形例の匿名化装置１０によれば、実施例１と同様、一括してデータに匿名化処理を施すとき、より弱い匿名化で所望する匿名性を満たすことができる。
【００７７】
また、本変形例においてレコード間距離Ｄをレコード同士のハミング距離として、クロネッカーのδ及びソート関数で計算したｎ→として具体化すれば、実施例１と同様に、従来の手法では存在しなかった元データのテーブルの情報ｎ→が公開されるため、維持確率を大きくすることができる。維持確率は「データが遷移せずにそのままの値でいる確率」であり、高ければ高いほど元データに近いものになるため、従来の手法よりもデータの有用性が高い。
【実施例２】
【００７８】
＜前提条件＞
実施例１と同様に、テーブルの属性の集合をＡＳ、レコードの集合をＲとし、ある属性ａ∈ＡＳが取り得る値の集合をＶａ、その具体的な値をｖａとする。匿名化される前の元テーブルをτ、匿名化テーブルをτ′と書く。テーブルはレコードと属性値を結ぶ写像であり、例えばレコード１の属性値がＡであれば、τ（１）＝Ａと表される。ここで、演算記号＃τ（＊）を
【００７９】
【数２２】
2014137586.tif 000024
【００８０】
と定義する。すなわち、＃τ（ｖ）とは、テーブルτのうち属性値がｖであるレコードの数を表す。ＲＬ（ｋ）、ＶＬ（ｋ）をテーブルτにおいて＃τ（τ（ｒ））＜ｋであるレコードｒの集合、および属性τ（ｒ）の集合とする。また、この方式は｜ＲＬ（ｋ）｜≧ｋである必要がある。ＲＬ（ｋ）、ＶＬ（ｋ）について、図１１の具体例を参照して補足説明する。図１１は集合ＲＬ（ｋ）、ＶＬ（ｋ）を例示する図である。図１１に示すような属性＝年齢のレコードｒ１〜ｒ１０を例に、ｋ＝３の場合を考えると、集合ＲＬ（ｋ）はｋ（＝３）個未満の属性値と対応するレコード番号の集合である。従ってこの場合、集合ＲＬ（ｋ）＝{４，５，６}となる。集合ＶＬ（ｋ）は、ｋ（＝３）個未満の属性値の集合である。従ってこの場合、集合ＶＬ（ｋ）＝{３０代，４０代}となる。
【００８１】
以下、図９、図１０を参照して実施例２の匿名化装置２について説明する。図９は本実施例の匿名化装置２の構成を示すブロック図である。図１０は本実施例の匿名化装置２の動作を示すフローチャートである。図９に示すように、本実施例の匿名化装置２は、集合計算部２１と、パラメータ計算部２２と、行列計算部２３と、テーブル遷移部１４とを備える。実施例１と同様に、匿名化装置２は、匿名化パラメータｋと、元テーブルτを入力とする。
【００８２】
まず集合計算部２１は、匿名化パラメータｋ、元テーブルτから集合ＲＬ（ｋ）、ＶＬ（ｋ）を計算し、｜ＲＬ（ｋ）｜≧ｋならば、⊥（ｒｅｊｅｃｔ）を出力する（Ｓ２１）。次に、パラメータ計算部２２は、与えられた匿名化パラメータｋとステップＳ２１で求めたＲＬ（ｋ）から、
【００８３】
【数２３】
2014137586.tif 000025
【００８４】
を満たすようなパラメータρ，ｃ∈［０，１］を計算する（Ｓ２２）。次に、行列計算部２３は、ステップＳ２２で求めたパラメータρ，ｃを用いて、遷移確率行列Ａを
＃τ（ｖ）≧ｋのとき、
【００８５】
【数２４】
2014137586.tif 000026
【００８６】
＃τ（ｖ）＜ｋのとき、
【００８７】
【数２５】
2014137586.tif 000027
【００８８】
として計算する（Ｓ２３）。次に、テーブル遷移部１４は、遷移確率行列Ａに従って、匿名化テーブル τ′を作成する（Ｓ１４）。本実施例のテーブル遷移部１４の動作は、実施例１のテーブル遷移部１４の動作と同じである。
【００８９】
匿名化装置２は、匿名化テーブル τ′、および遷移確率行列Ａを出力する。
【００９０】
［変形例２］
以下、図１２、図１３を参照して、実施例２の一部を変形した変形例２の匿名化装置２０について説明する。図１２は本変形例の匿名化装置２０の構成を示すブロック図である。図１３は本変形例の匿名化装置２０の動作を示すフローチャートである。なお、本変形例では、実施例２に示された＜前提条件＞を引き続き用いる。
【００９１】
図１２に示すように、本変形例の匿名化装置２０は、集合計算部２１と、関数計算部２２０と、行列計算部２３０と、テーブル遷移部１４とを備える。集合計算部２１と、テーブル遷移部１４の動作は、実施例２と共通しているので説明を割愛する。実施例２と同様に、匿名化装置２０は、匿名化パラメータｋと、元テーブルτを入力とする。
【００９２】
関数計算部２２０は、与えられた匿名化パラメータｋとステップＳ２１で求めたＲＬ（ｋ）から、
【００９３】
【数２６】
2014137586.tif 000028
【００９４】
を満たすような関数ｆ∈［０，１］，α∈［０，１］，β∈［０，１］を計算する（Ｓ２２０）。次に、行列計算部２３０は、ステップＳ２２０で求めたｆ，α，βを用いて、｜Ｖ｜×｜Ｖ′｜行列Ａを
＃τ（ｖ）≧ｋのとき、
【００９５】
【数２７】
2014137586.tif 000029
【００９６】
＃τ（ｖ）＜ｋのとき、任意の［０，１］に含まれる値、ただし
【００９７】
【数２８】
2014137586.tif 000030
【００９８】
を満たすように計算する（Ｓ２３０）。
【００９９】
以下、本変形例におけるステップＳ２２０、Ｓ２３０においてα、βをρを用いて、α＝１＋（１−ρ）／｜Ｖ｜，β＝（１−ρ）／｜Ｖ｜として具体化した場合について述べる。この場合、上述したステップＳ２２０において、関数計算部２２０は、与えられた匿名化パラメータｋとステップＳ２１で求めたＲＬ（ｋ）から、
【０１００】
【数２９】
2014137586.tif 000031
【０１０１】
を満たすような関数ｆ∈［０，１］，ρ［０，１］を計算する。次に、ステップＳ２３０において、行列計算部２３０は、ステップＳ２２０で求めたパラメータｆ，ρを用いて、｜Ｖ｜×｜Ｖ′｜行列Ａを
＃τ（ｖ）≧ｋのとき、
【０１０２】
【数３０】
2014137586.tif 000032
【０１０３】
＃τ（ｖ）＜ｋのとき、
【０１０４】
【数３１】
2014137586.tif 000033
【０１０５】
として計算する。
【０１０６】
実施例２、および変形例２の匿名化装置２、２０によれば、実施例１と同様に、一括してデータに匿名化処理を施すとき、より弱い匿名化で所望する匿名性を満たすことができる。
【０１０７】
また、実施例２、および変形例２の匿名化装置２、２０によれば、従来手法に存在しない集合ＲＬ（ｋ）、ＶＬ（ｋ）を用いることにより、集合ＲＬ（ｋ）、ＶＬ（ｋ）に依存してデータの処理を変えることができるため、従来手法と同等の匿名性を保ちながら、元データの変更を少なくすることができ、従来の手法よりもデータの有用性が高い。
【０１０８】
＜実施例１の匿名化装置１と実施例２の匿名化装置２の比較＞
匿名化装置１の方式は、データ依存型維持置換撹乱方式と呼ぶべき性質を有している。匿名化装置１の方式では、テーブル全体の分布があまり保たれないが、その中の属性間の関係は保たれる。従って匿名化装置１の方式は、分析者が一つの大きな匿名化テーブルを取得し、その中の部分的な属性を使って分析する場合に有効な方式である。
【０１０９】
一方、匿名化装置２の方式は、データ依存型クロス値撹乱方式と呼ぶべき性質を有している。匿名化装置２の方式では、テーブル全体の分布は保たれるが、個々の属性間の関係はあまり保たれない。従って匿名化装置２の方式は、分析者が分析の度にテーブルを取得するような場合、例えばオーダーメード匿名化に有効な方式である。
【０１１０】
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【０１１１】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１１２】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０１１３】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１１４】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。
【０１１５】
なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2014137586.tif 000058
【図３】
2014137586.tif 000059
【図４】
2014137586.tif 000060
【図５】
2014137586.tif 000061
【図６】
2014137586.tif 000062
【図７】
2014137586.tif 000063
【図８】
2014137586.tif 000064
【図９】
2014137586.tif 000065
【図１０】
2014137586.tif 000066
【図１１】
2014137586.tif 000067
【図１２】
2014137586.tif 000068
【図１３】
2014137586.tif 000069
【図２】
2014137586.tif 000070