以下、各実施形態について図面を用いて説明する。なお、以下の各装置は、それぞれハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
<第1の実施形態>
図1は第1の実施形態に係る匿名化データ変更システム及び匿名化データ分析システムの構成例を示す模式図である。第1の実施形態は、互いに通信可能な2つのシステムから構成される。第1のシステムは、データ所有者側の匿名化データ変更システム100であり、第2のシステムは、データ分析者側の匿名化データ分析システム200である。
ここで、匿名化データ変更システム100は、元データ格納データベース装置110、匿名化装置120、分析精度判定装置130及び通信部140を備えている。なお、匿名化データ変更システム100は、装置の集合体として実施する場合に限らず、「…システム100」の語を「…装置100」と読み替え、「…装置110」、「…装置120」及び「…装置130」の語をそれぞれ「…部110」、「…部120」及び「…部130」と読み替えることにより、単一の装置として実施することも可能である。このことは以下の各実施形態でも同様である。
元データ格納データベース装置(データベース手段)110は、図2に示すように、データ所有者が所有する匿名化前のデータ(元データ)Dを記憶する機能と、記憶しているデータDを匿名化装置120に渡す機能と、を有する。
データDは、各個人に関し、各項目毎に値を含んでいる。ここで、各項目としては、例えば、身長、性別、年齢を用いている。なお、この種のデータとしては、例えば、年齢、性別、住所及び病名を個人毎に含むレセプト情報などを使用してもよい。この場合、病名を匿名化せず、年齢、性別、住所などを適宜、匿名化して使用することが、特定の病名に関する分析結果を得る点と、個人の特定を防ぐ点から好ましい。また、データとしては、各列(属性)の情報と、各行(レコード)の情報とからなる表形式のデータを用いてもよい。ここで、各列は各属性に対応し、各行は各個人に対応する。
匿名化装置120は、データDの一部を匿名化して匿名化データを生成する装置である。匿名化装置(匿名化処理手段)120は、例えば、入力部(項目入力手段)121、データ項目抽出部(抽出手段)122、匿名化ポリシ格納部(匿名化ポリシ格納手段)123、匿名化方法決定部(匿名化方法決定手段、記録手段)124、及び匿名化部(匿名化手段、制御手段)125を備えている。
なお、各部は、受けた情報をそのまま送出する場合などには、適宜、一体化して構成してもよい。例えば、入力部121及びデータ項目抽出部122は、受けた情報をそのまま送出する場合などには一体化してもよい。また、受けた情報をそのまま送出する場合などに各部を適宜一体化してもよいことは、他の各部及び以下の各実施形態でも同様である。
ここで、入力部121、データ項目抽出部122、匿名化方法決定部124及び匿名化部125は、例えば、図示しないCPUが、後述する匿名化装置120内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。
匿名化ポリシ格納部123は、図3に示すように、匿名化ポリシPAを保持する機能と、匿名化ポリシPAを匿名化方法決定部124に渡す機能と、を有する。ここで、匿名化ポリシPAは、適用順位、匿名化する項目、匿名化方法、の3つの項目を持つテーブルである。適用順位は、匿名化方法における個人の特定しにくさの順序に相当する。例えば、最も個人を特定しにくい匿名化方法が適用順位1位に関連付けられる。匿名化ポリシPA内の匿名化する項目は、データDの各項目のうち、匿名化する項目を示している。例えば、匿名化ポリシPA内の適用順位“1位”の匿名化する項目“グルーピング(10歳刻み)”に基づいて、データDの項目の値が匿名化されることにより、図4に示す如き、匿名化データDA1が生成される。また、匿名化ポリシPA内の適用順位“2位”の匿名化する項目“グルーピング(5歳刻み)”の匿名化する項目に基づいて、データDの項目の値が匿名化されることにより、図5に示す如き、匿名化データDA2が生成される。
分析精度判定装置130は、匿名化データ分析システム200による匿名化データDA1,DA2の分析が完了すると、当該分析の精度を判定する装置である。分析精度判定装置(分析精度判定手段)130は、例えば、入力部(分析結果入力手段)131、分析精度ポリシ格納部(分析精度ポリシ格納手段)132、及び分析精度判定部(分析精度判定手段、再試行要求手段)133を備えている。
ここで、入力部131及び分析精度判定部133は、例えば、図示しないCPUが、後述する分析精度判定装置130内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。
分析精度ポリシ格納部132は、図6に示すように、分析の精度が満たす条件を示す分析精度ポリシPBを保持する機能と、分析精度判定部133の要求に応じて分析精度ポリシPBを分析精度判定部133に渡す機能と、を有する。ここで、分析精度ポリシPBは、一意の番号を示すNo、分析精度の条件、の2つの項目を持つテーブルである。
通信部140は、匿名化データ変更システム100と匿名化データ分析システムとの間で情報を通信する機能を有する。
一方、匿名化データ分析システム200は、匿名化データを分析する装置である。匿名化データ分析システム200は、例えば、匿名化データ格納データベース装置210、分析部220、データ要求部230、分析結果送信部240及び通信部250を備えている。
匿名化データ格納データベース装置210は、通信部250を介して匿名化データ変更システム100から匿名化データDA1又はDA2を受ける機能と、受けた匿名化データDA1又はDA2を保持する機能と、保持している匿名化データDA1又はDA2を分析部220に渡す機能と、を有する。
分析部220、データ要求部230及び分析結果送信部240は、例えば、図示しないCPUが、後述する匿名化データ分析システム200内の各ステップを含むプログラムを実行することにより実現される機能ブロックとなっている。
通信部250は、匿名化データ変更システム100と匿名化データ分析システム200との間で情報を通信する機能を有する。
次に、以上のように構成された匿名化データ変更システム及び匿名化データ分析システムの動作について図7のフローチャートを用いて説明する。
匿名化データ分析システムにおいては、データ要求部230が、分析に用いられる項目を、通信部250及び通信部140を介して、匿名化装置120の入力部121に入力する(ST1)。
入力部121は、この項目の入力を受け付けると、当該項目をデータ項目抽出部122に送出する(ST2)。
データ項目抽出部122は、送出された項目に基づいて、当該項目に一致する項目及び値を含むデータを元データ格納データベース装置110から抽出すると共に、当該データを匿名化部125に送出する(ST3)。
匿名化部125は、ステップST3で抽出されたデータを受けると、当該データを匿名化方法決定部124に送出し、匿名化方法を匿名化方法決定部124に問い合わせる(ST4)。
匿名化方法決定部124は、匿名化ポリシ格納部123内の匿名化ポリシPAを参照し、ステップST4で送出されたデータ内の項目に一致する匿名化ポリシPA内の匿名化する項目に関連付けられた匿名化方法であって未適用の匿名化方法のうち、最高の適用順位に関連付けられた匿名化方法を決定し、当該決定した匿名化方法を匿名化部125に通知する(ST5)。また、匿名化方法決定部124は、当該決定した匿名化方法の適用済みを匿名化ポリシ格納部123に記録する。
匿名化部125は、ステップST3で抽出されたデータのうち、ステップST5で決定された匿名化方法に関連付けられた匿名化ポリシPA内の匿名化する項目に一致する項目の値を匿名化することにより、当該抽出されたデータから匿名化データを生成する。しかる後、匿名化部125は、生成した匿名化データを通信部140及び通信部250を介してデータ要求部230に送信する(ST6)。匿名化部125は、必要に応じて、追加の匿名化データを既存の匿名データに匿名データ格納データベース装置210が反映できるよう、ステップST6で送信するデータに行を一意に指定できるIDを付加する処理を実行してもよい。また、匿名化部125は、生成した匿名化データを保持する。
データ要求部230は、ステップST6で受けた匿名化データを匿名化データ格納データベース装置210に保存する(ST7)。
分析部220は、匿名化データ格納データベース装置210に保存された匿名化データを、明示しない分析方法を用いて分析し、得られた分析結果を分析結果送信部240に送出する(ST8)。
分析結果送信部240は、ステップST8で送出された分析結果を受けると、この分析結果を、通信部250及び通信部140を介して分析精度判定装置130内の入力部131に入力する(ST9)。
入力部131は、匿名化データ分析システム200から匿名化データを分析した分析結果の入力を受け付けると、当該受け付けた分析結果を分析精度判定部133に送出する(ST10)。
分析精度判定部133は、ステップST10で受け付けた分析結果が分析精度ポリシ格納部132内の分析精度ポリシPBを満たすか否かを判定する(ST11)。判定の結果、満たす場合(合格)には処理を終了する。否の場合(不合格)には、ステップST12に進む。
分析精度判定部133は、ステップST11の判定結果が否の場合に、匿名化方法決定部124、匿名化部125、入力部131及び分析精度判定部133を再試行(リトライ)するように、匿名化方法決定部124を制御する。具体的には、分析精度判定部133は、再度匿名化方法を問い合わせるための再試行要求を匿名化部125に出力する(ST12)。以下、ステップST4〜ST11の処理が再試行される。
次に、上述した各ステップの具体例について、図2乃至図6に示した各データの模式図及び図8に示す動作の模式図を用いて述べる。なお、本実施形態での分析は、番号iで識別可能なn人の未成年者における年齢xと身長yの相関係数を求める処理とする。(x,y)={(x
i,y
i)}(i=1,2,…,n)において、相関係数は以下の式で求められる。
ステップST1において、データ要求部230は、通信部250及び通信部140を介して、入力部121に分析に必要なデータを要求する。ここでの要求は「項目(身長、性別、年齢)」である。
ステップST2において、入力部121は、データ項目抽出部122にステップST1で受けた要求を渡す。この要求は「項目(身長、性別、年齢)」である。
ステップST3において、データ項目抽出部122は、元データ格納データベース装置110から、ステップST2で受けた要求のデータを抽出し、当該抽出したデータを匿名化部125に渡す。渡されたデータは「項目(身長、性別、年齢)」の全行である。
ステップST4において、匿名化部125は、匿名化方法決定部124に匿名化方法を問い合わせる。ここで問い合わせる内容は「項目(身長、性別、年齢)に関する匿名化方法」である。
ステップST5において、匿名化方法決定部124は、匿名化ポリシ格納部123から匿名化ポリシPAを受けると、匿名化方法を決定して匿名化部125に通知する。ここで匿名化方法決定部124は、受けた匿名化ポリシPAのうち一番適用順位が高い「グルーピング(10歳刻み)」を匿名化部125に通知する。同時に匿名化ポリシ格納部123は適用順位1位を適用したことを記録する。
ステップST6において、匿名化部125は、ステップST5で通知された匿名化方法に則り匿名化処理を実施する。しかる後、匿名化部125は、匿名化データDA1(年齢の列が匿名化した箇所)を、通信部140及び通信部250を介し、データ要求部230に渡す。また匿名化部125は、渡した匿名化データDA1を保持する。なお、データ要求部230に渡されるデータ項目は「身長、性別、年齢」である。
ステップST7において、データ要求部230は、ステップST6で受けた匿名化データDA1を匿名化データ格納データベース装置210に保存する。
ステップST8において、分析部220は、匿名化データ格納データベース装置210に保存された匿名化データDA1に対する分析として、身長と年齢の相関係数を求める。この場合、年齢が10代のみになり、[数1]に示した数式で分母が0となり、相関係数を求めることができない。
ステップST9において、分析結果送信部240は、分析部220からステップST8で分析した結果(計算できない旨)を受けると、当該分析結果を、通信部250及び通信部140を介し、入力部131に送信する。
ステップST10において、入力部131は、ステップST9で受けた分析結果を分析精度判定部133に渡す。
ステップST11において、分析精度判定部133は、分析精度ポリシ格納部132から分析精度ポリシPBを受けると、分析精度ポリシPBに基づいて、分析結果の精度が十分か否かを判定する。この分析結果(計算できない旨)は、分析精度ポリシPBのうちNo.1(10代の身長は、相関係数が0以上)を満たさないため、判定結果が不合格となる。よって、ステップST4から処理が繰り返される。
ステップST4において、匿名化部125は、分析精度判定部133から再試行要求を受けると、匿名化方法決定部124に匿名化方法を問い合わせる。問い合わせの内容は「項目(年齢)の適用順位を下げた匿名化方法」である。
ステップST5において、匿名化方法決定部124は、匿名化ポリシ格納部123から匿名化ポリシPAを受けると、匿名化方法を決定して匿名化部125に通知する。ここで匿名化方法決定部124は、受けた匿名化ポリシPAのうち、記録していた匿名化方法(適用順位1位)の次に適用順位の高い「グルーピング(5歳刻み)」を匿名化部125に通知する。同時に匿名化ポリシ格納部123は適用順位2位を適用したことを記録する。
ステップST6において、匿名化部125は、ステップST5で通知された匿名化方法に則り匿名化処理を実施する。しかる後、匿名化部125は、匿名化データDA2(太字部分が匿名化した箇所)を、通信部140及び通信部250を介し、データ要求部230に渡す。また匿名化部125は、渡した匿名化データDA2を保持する。なお、データ要求部230に渡されるデータ項目は、匿名化を行った「年齢」のみである。
ステップST7において、データ要求部230は、ステップST6で受けた匿名化データDA2を匿名化データ格納データベース装置210に保存する。
ステップST8において、分析部220は、匿名化データ格納データベース装置210に保存された匿名化データDA2を分析する。この分析の結果、相関係数は0と求められる。
ステップST9において、分析結果送信部240は、分析部220からステップST8の分析結果(相関係数=0)を受けると、当該分析結果を、通信部250及び通信部140を介し、入力部131に送信する。
ステップST10において、入力部131は、ステップST9で受けた分析結果(相関係数=0)を分析精度判定部133に渡す。
ステップST11において、分析精度判定部133は、分析精度ポリシ格納部132から分析精度ポリシPBを受けると、分析精度ポリシPBに基づいて、分析結果の精度が十分か否かを判定する。この分析結果(相関係数=0)は、分析精度ポリシPBのうちNo.1(10代の身長は、相関係数が0以上)を満たし、No.2(20代の身長は、相関係数が−0.1以上)が無関係のため、判定結果が合格となる。このため、分析精度判定部133は、処理を終了する。
上述したように本実施形態によれば、未適用の匿名化方法のうち、最高の適用順位の匿名化方法を決定し、当該決定した匿名化方法の適用済みを記録し、抽出されたデータのうち、当該決定された匿名化方法に関する匿名化する項目の値を匿名化して匿名化データを生成し、分析精度が分析精度ポリシを満たさないことにより再試行要求を受けると、匿名化方法の決定を再試行する構成により、匿名化の手間と提供する情報量とを必要最小限にしつつ、分析結果の精度を維持することができる。
補足すると、データ全体を匿名化するのではなく、データのうちの匿名化する項目の値を匿名化する構成により、匿名化の手間を必要最小限にすることができる。
また、匿名化データの分析結果が分析精度ポリシを満たさない場合には、匿名化方法の適用順位を下げる構成により、提供する情報量を必要最小限にしつつ、分析結果の精度を維持することができる。
<第2の実施形態>
次に、第2の実施形態に係る匿名化データ変更システムについて説明する。第1の実施形態は、図8に示したように、匿名化データの列の情報に再度匿名化を行う例であった。これに対し、第2の実施形態は、図9に示すように、匿名化データの行の情報に再度匿名化を行う例である。
これに伴い、第2の実施形態は、図10及び図11に示す匿名化ポリシPA1,PA2を匿名化ポリシ格納部123が格納し、図12に示す分析精度ポリシPB’を分析精度ポリシ格納部132が格納し、図13に示す匿名化前のデータD’を元データ格納データベース装置110が格納している構成とする。匿名化ポリシPA1は、前述した匿名化ポリシPAと同一である。匿名化ポリシPA2は、匿名化ポリシPA1と同様に、適用順位、匿名化する項目、匿名化方法、の3つの項目を持つテーブルである。但し、匿名化ポリシPA2は、匿名化ポリシPA1とは異なり、匿名化する項目には「行」が設定されており、匿名化方法には「リサンプリング(*%)」が設定されている(*=40,60,80)。また、2つの匿名化ポリシPA1,PA2があるのは、匿名化を行う項目ごとに1つの匿名化ポリシPAi(但し、i=1,2)を用意しているためである。
なお、匿名化ポリシPA1,PA2、分析精度ポリシPB’及びデータD’以外の構成及び処理の流れは、第1の実施形態と同様である。
次に、以上のように構成された匿名化データ変更システム及び匿名化データ分析システムの動作について、前述した図7のフローチャートを用いて説明する。以下の説明では、既にデータD’を匿名化ポリシPA1の提供順位3位のグルーピング(3歳刻み)と匿名化ポリシPA2の適用順位1位のリサンプリング(40%)で匿名化した匿名化データDA1’(図14)が、匿名化データ格納データベース装置210に格納されているものとする。
ステップST1において、データ要求部230は、通信部250及び通信部140を介して、入力部121に分析に必要なデータを要求する。ここでは、「行」データを要求する。
ステップST2において、入力部121は、データ項目抽出部122にステップST1で受けた要求を渡す。この要求は「行」のデータである。
ステップST3において、データ項目抽出部122は、元データ格納データベース装置110から、ステップST2で受けた要求のデータを抽出し、当該抽出したデータを匿名化部125に渡す。渡されたデータは「すべて」である。
ステップST4において、匿名化部125は、匿名化方法決定部124に匿名化方法を問い合わせる。問い合わせの内容は「行」である。
ステップST5において、匿名化方法決定部124は、匿名化ポリシ格納部123から匿名化ポリシPA1,PA2を受けると、匿名化方法を決定して匿名化部125に通知する。また、ステップST4で問い合わせの内容が「行」の場合、匿名化方法決定部124は、保持している過去に行った匿名化処理の情報から、「リサンプリング(40%)」と「グルーピング(3歳刻み)」を取得する。匿名化方法決定部124は、受けた匿名化ポリシPA1,PA2のうち、適用順位2位の「リサンプリング(60%)」と、適用順位3位の「グルーピング(3歳刻み)」を、匿名化部125に通知する。
ステップST6において、匿名化部125は、ステップST5で通知された匿名化方法に則り匿名化処理を実施する。ここでのデータは、リサンプリングが前回の40%から60%に増えたことにより、当該データの行数が増える。また、匿名化部125が保持している前回送付した匿名化データDA1’との差分をとる。この差分データにグルーピング(3歳刻み)の匿名化処理を行う。この匿名化処理により、図15に示すように、匿名化データDA2’が生成される。しかる後、匿名化部125は、匿名化データDA2’(年齢の列が匿名化した箇所)を、通信部140及び通信部250を介し、データ要求部230に渡す。また匿名化部125は、渡した匿名化データDA2’を保持する。
ステップST7において、データ要求部230は、ステップST6で受けた匿名化データDA2’を匿名化データ格納データベース装置210に保存する。
ステップST8において、分析部220は、匿名化データ格納データベース装置210に保存された匿名化データDA1’,DA2’に対する分析として、身長と年齢の相関係数を求める。ここで、相関係数は約0.8として求められる。
ステップST9において、分析結果送信部240は、分析部220からステップST8で分析された結果(相関係数=約0.8)を受けると、当該分析結果を、通信部250及び通信部140を介し、入力部131に渡す。
ステップST10において、入力部131は、ステップST9で受けた分析結果(相関係数=約0.8)を分析精度判定部133に渡す。
ステップST11において、分析精度判定部133は、分析精度ポリシ格納部132から分析精度ポリシPB’を受けると、分析精度ポリシPB’に基づいて、分析結果の精度が十分か否かを判定する。この分析結果(相関係数=約0.8)は、分析精度ポリシPB’のNo.1(10代の身長は、相関係数が0以上)とNo.3(データ数が3以上)を満たし、No.2(20代の身長は、相関係数が−0.1以上)が無関係のため、判定結果が合格となる。このため、分析精度判定部133は、処理を終了する。
上述したように本実施形態によれば、再度行う匿名化処理の対象を一度目の匿名化処理の差分データとした構成により、第1の実施形態の効果に加え、匿名化処理の処理時間を削減することができる。
<第3の実施形態>
次に、第3の実施形態に係る匿名化データ変更システムについて説明する。第1及び第2の実施形態は、図16に示すように、匿名化データ変更システム100内で分析精度を判定する例であった。これに対し、第3の実施形態は、図17に示すように、匿名化データ分析システム200内で分析精度を判定する例である。
図18は第3の実施形態に係る匿名化データ変更システム及び匿名化データ分析システムの構成例を示す模式図であり、図1と略同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。
すなわち、第3の実施形態の構成は、第1及び第2の実施形態の構成を示す図1に比べ、匿名化データ変更システム100内の分析精度判定装置130を省略する点と、匿名化データ分析システム200内に分析精度判定装置260が配置される点と、匿名化データ分析システム200内の分析結果送信部240を省略する点で異なっている。
また、各部の機能は概ね同じであるが、匿名化データ変更システム100内の匿名化部125が再試行要求を匿名化データ分析システム200から受ける点と、分析精度判定装置260が匿名化データを匿名化データ格納データベース装置210から受ける点と、分析精度判定装置260が再試行要求を匿名化データ変更システム100に送信する点とで異なっている。
なお、分析精度判定装置260は、前述した分析精度判定装置130と同様の装置であり、前述同様の入力部261、分析精度ポリシ格納部262及び分析精度判定部263を備えている。
次に、以上のように構成された匿名化データ変更システム及び匿名化データ分析システムの動作について図19のフローチャートを用いて説明する。
匿名化データ分析システムにおいては、データ要求部230が、分析に用いられる項目を、通信部250及び通信部140を介して、匿名化装置120の入力部121に入力する(ST1)。
入力部121は、この項目の入力を受け付けると、当該項目をデータ項目抽出部122に送出する(ST2)。
データ項目抽出部122は、送出された項目に基づいて、当該項目に一致する項目及び値を含むデータを元データ格納データベース装置110から抽出すると共に、当該データを匿名化部125に送出する(ST3)。
匿名化部125は、ステップST3で抽出されたデータを受けると、当該データを匿名化方法決定部124に送出し、匿名化方法を匿名化方法決定部124に問い合わせる(ST4)。
匿名化方法決定部124は、匿名化ポリシ格納部123内の匿名化ポリシPAを参照し、ステップST4で送出されたデータ内の項目に一致する匿名化ポリシPA内の匿名化する項目に関連付けられた匿名化方法であって未適用の匿名化方法のうち、最高の適用順位に関連付けられた匿名化方法を決定し、当該決定した匿名化方法を匿名化部125に通知する(ST5)。また、匿名化方法決定部124は、当該決定した匿名化方法の適用済みを匿名化ポリシ格納部123に記録する。
匿名化部125は、ステップST3で抽出されたデータのうち、ステップST5で決定された匿名化方法に関連付けられた匿名化ポリシPA内の匿名化する項目に一致する項目の値を匿名化することにより、当該抽出されたデータから匿名化データを生成する。しかる後、匿名化部125は、生成した匿名化データを通信部140及び通信部250を介してデータ要求部230に送信する(ST6)。匿名化部125は、必要に応じて、追加の匿名化データを既存の匿名データに匿名データ格納データベース装置210が反映できるよう、ステップST6で送信するデータに行を一意に指定できるIDを付加する処理を実行してもよい。また、匿名化部125は、生成した匿名化データを保持する。
データ要求部230は、ステップST6で受けた匿名化データを匿名化データ格納データベース装置210に保存する(ST7)。なお、以上のステップST1〜ST7の処理は、第1の実施形態(図7)と同様である。
分析部220は、匿名化データ格納データベース装置210に保存された匿名化データを、明示しない分析方法を用いて分析する(ST8c)。
分析部220は、ステップST8cにより得られた分析結果を分析精度判定装置260内の入力部261に入力する(ST9c)。
入力部261は、分析結果の入力を受け付けると、当該受け付けた分析結果を分析精度判定部263に送出する(ST10c)。
分析精度判定部263は、ステップST10cで受け付けた分析結果が分析精度ポリシ格納部262内の分析精度ポリシPBを満たすか否かを判定する(ST11c)。判定の結果、満たす場合(合格)には処理を終了する。否の場合(不合格)には、ステップST12cに進む。
分析精度判定部263は、ステップST11cの判定結果が否の場合に、匿名化方法決定部124、匿名化部125、入力部261及び分析精度判定部263を再試行するように、匿名化方法決定部124を制御する。具体的には、分析精度判定部263は、通信部250及び通信部140を介し、再度匿名化方法を問い合わせるための再試行要求を匿名化部125に出力する(ST12c)。以下、ステップST4〜ST11cの処理が再試行される。
再試行中、例えば、ステップST5においては、匿名化方法決定部124は、匿名化ポリシPA及び適用済みの記録に基づいて、前回の最高の適用順位よりも1位だけ低い適用順位に関連付けられた匿名化方法を決定する。また、匿名化方法決定部124は、当該低い順位に関連付けられた匿名化方法の適用済みを匿名化ポリシ格納部123に記録する。
また、再試行中、例えば、ステップST6においては、匿名化部125は、当該低い順位に関連付けられた匿名化方法に基づいて、新たな匿名化データを生成する。以下、この新たな匿名化データに基づき、分析が再試行され、分析結果が判定されることになる。
次に、上述した各ステップの具体例について、図2乃至図6に示した各データの模式図を用いて述べる。
ステップST1において、データ要求部230は、通信部250及び通信部140を介して、入力部121に分析に必要なデータを要求する。ここでの要求は「項目(身長、性別、年齢)」である。
ステップST2において、入力部121は、データ項目抽出部122にステップST1で受けた要求を渡す。この要求は「項目(身長、性別、年齢)」である。
ステップST3において、データ項目抽出部122は、元データ格納データベース装置110から、ステップST2で受けた要求のデータを抽出し、当該抽出したデータを匿名化部125に渡す。渡されたデータは「項目(身長、性別、年齢)」の全行である。
ステップST4において、匿名化部125は、匿名化方法決定部124に匿名化方法を問い合わせる。ここで問い合わせる内容は「項目(身長、性別、年齢)に関する匿名化方法」である。
ステップST5において、匿名化方法決定部124は、匿名化ポリシ格納部123から匿名化ポリシを受けると、匿名化方法を決定して匿名化部125に通知する。ここで匿名化方法決定部124は、受け取った匿名化ポリシPAのうち一番適用順位が高い「グルーピング(10歳刻み)」を匿名化部125に通知する。同時に匿名化ポリシ格納部123は適用順位1位を適用したことを記録する。
ステップST6において、匿名化部125は、ステップST5で通知された匿名化方法に則り匿名化処理を実施する。しかる後、匿名化データDA1(年齢の列が匿名化した箇所)を、通信部140及び通信部250を介し、データ要求部230に渡す。また匿名化部125は、渡した匿名化データDA1を保持する。なお、データ要求部230に渡されるデータ項目は「身長、性別、年齢」である。
ステップST7において、データ要求部230は、ステップST6で受けた匿名化データDA1を、匿名化データ格納データベース装置210に保存する。
ステップST8cにおいて、分析部220は、匿名化データ格納データベース装置210に保存された匿名化データDA1に対する分析として、身長と年齢の相関係数を求める。この場合、年齢が10代のみになり、前述同様に、相関係数を求めることができない。
ステップST9cにおいて、分析部220は、ステップST8cで分析した結果(計算できない旨)を分析精度判定装置260内の入力部261に入力する。
ステップST10cにおいて、入力部261は、この分析結果を分析精度判定部263に送出する。
ステップST11cにおいて、分析精度判定部263は、分析精度ポリシ格納部262から分析精度ポリシPBを受けると、分析精度ポリシPBに基づいて、分析結果の精度が十分か否かを判定する。この分析結果(計算できない旨)は、分析精度ポリシPBのうちNo.1(10代の身長は、相関係数が0以上)を満たさないため、判定結果が不合格となる。よって、ステップST4から処理が繰り返される。
ステップST4において、匿名化部125は、分析精度判定部263から再試行要求を受けると、匿名化方法決定部124に匿名化方法を問い合わせる。問い合わせの内容は「項目(年齢)の適用順位を下げた匿名化方法」である。
ステップST5において、匿名化方法決定部124は、匿名化ポリシ格納部123から匿名化ポリシPAを受けると、匿名化方法を決定して匿名化部125に通知する。ここで匿名化方法決定部124は、受けた匿名化ポリシPAのうち、記録していた匿名化方法(適用順位1位)の次に適用順位の高い「グルーピング(5歳刻み)」を匿名化部125に通知する。同時に、匿名化方法決定部124は、適用順位2位の適用済みを匿名化ポリシ格納部123に記録する。
ステップST6において、匿名化部125は、ステップST5で通知された匿名化方法に則り匿名化処理を実施する。しかる後、匿名化部125は、匿名化データDA2を、通信部140及び通信部250を介し、データ要求部230に渡す。また匿名化部125は、渡した匿名化データDA2を保持する。なお、データ要求部230に渡されるデータ項目は、匿名化を行った「年齢」のみである。
ステップST7において、データ要求部230は、ステップST6で受けた匿名化データDA2を匿名化データ格納データベース装置210に保存する。
ステップST8cにおいて、分析部220は、匿名化データ格納データベース装置210に保存された匿名化データDA2を分析する。この分析の結果、相関係数は0と求められる。
ステップST9cにおいて、分析部220は、ステップST8の分析結果(相関係数=0)を分析精度判定装置260内の入力部261に入力する。
ステップST10cにおいて、入力部261は、この分析結果(相関係数=0)を分析精度判定部263に送出する。
ステップST11cにおいて、分析精度判定部263は、分析精度ポリシ格納部262から分析精度ポリシPBを受けると、分析精度ポリシPBに基づいて、分析結果の精度が十分か否かを判定する。この分析結果(相関係数=0)は、分析精度ポリシPBのうちNo.1(10代の身長は、相関係数が0以上)を満たし、No.2(20代の身長は、相関係数が−0.1以上)が無関係のため、判定結果が合格となる。このため、分析精度判定部263は、処理を終了する。
上述したように本実施形態によれば、匿名化データ変更システム100内の分析精度判定装置130に代えて、匿名化データ分析システム200内に分析精度判定装置260を配置した構成としても、第1の実施形態と同様の効果を得ることができる。
<第4の実施形態>
次に、第4の実施形態に係る匿名化データ変更システムについて説明する。第3の実施形態は、第1の実施形態と同様に、匿名化データの列の情報に再度匿名化を行う例であった。これに対し、第4の実施形態は、第2の実施形態と同様に、匿名化データの行の情報に再度匿名化を行う例である。
これに伴い、第4の実施形態は、図10及び図11に示す匿名化ポリシPA1,PA2を匿名化ポリシ格納部123が格納し、図12に示す分析精度ポリシPB’を分析精度ポリシ格納部132が格納し、図13に示す匿名化前のデータD’を元データ格納データベース装置110が格納している構成とする。なお、2つの匿名化ポリシPA1,PA2があるのは、匿名化を行う項目ごとに1つの匿名化ポリシPAi(但し、i=1,2)を用意しているためである。
なお、匿名化ポリシPA1,PA2、分析精度ポリシPB’及びデータD’以外の構成及び処理の流れは、第3の実施形態と同様である。
次に、以上のように構成された匿名化データ変更システム及び匿名化データ分析システムの動作について、前述した図19のフローチャートを用いて説明する。以下の説明では、既にデータD’を匿名化ポリシPA1の提供順位3位のグルーピング(3歳刻み)と匿名化ポリシPA2の適用順位1位のリサンプリング(40%)で匿名化した匿名化データDA1’(図14)が、匿名化データ格納データベース装置210に格納されているものとする。
ステップST1において、データ要求部230は、通信部250及び通信部140を介して、入力部121に分析に必要なデータを要求する。ここでは、「行」データを要求する。
ステップST2において、入力部121は、データ項目抽出部122にステップST1で受けた要求を渡す。この要求は「行」のデータである。
ステップST3において、データ項目抽出部122は、元データ格納データベース装置110から、ステップST2で受けた要求のデータを抽出し、当該抽出したデータを匿名化部125に渡す。渡されたデータは「すべて」である。
ステップST4において、匿名化部125は、匿名化方法決定部124に匿名化方法を問い合わせる。問い合わせの内容は「行」である。
ステップST5において、匿名化方法決定部124は、匿名化ポリシ格納部123から匿名化ポリシPA1,PA2を受けると、匿名化方法を決定して匿名化部125に通知する。また、ステップST4で問い合わせの内容が「行」の場合、匿名化方法決定部124は、保持している過去に行った匿名化処理の情報から、「リサンプリング(40%)」と「グルーピング(3歳刻み)」を取得する。匿名化方法決定部124は、受けた匿名化ポリシPA1,PA2のうち、適用順位2位の「リサンプリング(60%)」と、適用順位3位の「グルーピング(3歳刻み)」を、匿名化部125に通知する。
ステップST6において、匿名化部125は、ステップST5で通知された匿名化方法に則り匿名化処理を実施する。ここでのデータは、リサンプリングが前回の40%から60%になったことにより、当該データの行数が増える。また、匿名化部125が保持している前回送付した匿名化データDA1’との差分をとる。この差分データにグルーピング(3歳刻み)の匿名化処理を行う。この匿名化処理により、図15に示したように、匿名化データDA2’が生成される。しかる後、匿名化部125は、匿名化データDA2’を、通信部140及び通信部250を介し、データ要求部230に渡す。また匿名化部125は、渡した匿名化データDA2’を保持する。
ステップST7において、データ要求部230は、ステップST6で受けた匿名化データDA2’を匿名化データ格納データベース装置210に保存する。
ステップST8cにおいて、分析部220は、匿名化データ格納データベース装置210に保存された匿名化データDA1’,DA2’に対する分析として、身長と年齢の相関係数を求める。ここで、相関係数は約0.8として求められる。
ステップST9cにおいて、分析部220は、ステップST8cで分析した結果(相関係数=約0.8)を分析精度判定装置260内の入力部261に入力する。
ステップST10cにおいて、入力部261は、この分析結果(相関係数=約0.8)を分析精度判定部263に送出する。
ステップST11cにおいて、分析精度判定部263は、分析精度ポリシ格納部262から分析精度ポリシPB’を受けると、分析精度ポリシPB’に基づいて、分析結果の精度が十分か否かを判定する。この分析結果(相関係数=約0.8)は、分析精度ポリシPB’のNo.1(10代の身長は、相関係数が0以上)とNo.3(データ数が3以上)を満たし、No.2(20代の身長は、相関係数が−0.1以上)が無関係のため、判定結果が合格となる。このため、分析精度判定部263は、処理を終了する。
上述したように本実施形態によれば、匿名化データ分析システム200内に分析精度判定装置260を配置し、且つ再度行う匿名化処理の対象を一度目の匿名化処理の差分データとした構成により、第2及び第3の実施形態の効果を同時に得ることができる。
以上説明した少なくとも一つの実施形態によれば、未適用の匿名化方法のうち、最高の適用順位の匿名化方法を決定し、当該決定した匿名化方法の適用済みを記録し、抽出されたデータのうち、当該決定された匿名化方法に関する匿名化する項目の値を匿名化して匿名化データを生成し、分析精度が分析精度ポリシを満たさないことにより再試行要求を受けると、匿名化方法の決定を再試行する構成により、匿名化の手間と提供する情報量とを必要最小限にしつつ、分析結果の精度を維持することができる。
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。