以下、図面に基づいて本発明の実施形態の例を説明する。
図1は、本発明の実施形態における匿名加工システムの利用の流れの一例を示す図である。
匿名加工システム1に関わる主体としては、主にデータ提供機関101、データ保管機関102、データ加工機関103、及びデータ分析機関104がある。また、匿名加工システム1は、データの匿名加工処理を行い、匿名性と分析有用性を両立するデータを出力することを目的とする。以降、医療分野の例を挙げて説明するが、これに限るものではない。
データ提供機関101は、患者に関する診察データ及び検査データなどの健康医療情報を収集する機関であり、例えば病院又は検査機関などが想定されている。データ提供機関101が健康医療情報を収集した後は、後述のデータ保管機関102に送信する。
データ保管機関102は、データ提供機関101から送信された健康医療情報を保管しておき、後述するデータ分析機関104から健康医療情報の入手依頼を受けた際に、データ分析機関104が健康医療情報を二次利用できるように匿名加工処理を施して、データ分析機関104に出力する機関である。
データ加工機関103は、データ保管機関102からの指示を受けて、前記データ保管機関102にて保管されている健康医療情報の匿名加工処理を、匿名加工システム1を用いて代行する機関である。匿名加工システム1を直接利用する主体は、このデータ加工機関103に従事する者と想定されている。
データ分析機関104は、データ保管機関102に対して分析対象のデータの入手依頼を発行し、その後に入手した匿名加工済みの健康医療情報の分析を行う機関である。データ分析機関104としては、例えば、大学や民間企業の研究機関等が想定されている。データ分析機関104に従事する者は直接匿名加工システム1を操作することはないと想定される。
図2は、本発明の実施形態における匿名加工システム1の機能ブロックの一例を示す図である。
匿名加工システム1は、制御部200、記憶部201、提示部202、入力部203、データ出力部204、データ読出部205、属性設定部206、匿名加工部207、匿名性算出部208、属性特定部209、テーブル候補生成部210、テーブル候補選択部211、及び履歴検索部212からなる、PC(パーソナルコンピュータ)又はサーバコンピュータ等の情報処理装置である。
制御部200は、後述する記憶部201に格納されているデータに対して匿名加工処理等を実行するための匿名加工システム1全体の制御を行う。
記憶部201は、例えばハードディスクドライブ又は半導体記憶装置などの記憶装置であり、データ提供機関101から受信した健康医療情報を記憶するデータベースなどを格納する。この健康医療情報とは、データ提供機関101で作成した診療データ及び検査データ等の情報である。
提示部202は、匿名加工システム1の利用者に対して、健康医療情報のデータベース、匿名加工候補、匿名加工済みのテーブル及びレコードなどの情報を提示し、利用者の意思選択を促すためのディスプレイ等である。
入力部203は、匿名加工システム1の利用者がデータ分析機関104の分析要望の具体的な条件を入力したり、変更したりするためのキーボード、マウス又はタッチパネル等である。
データ出力部204は、匿名加工システム1にて匿名加工されて匿名性指標を満たしたテーブルをデータ分析機関104に対して出力する。データ出力部204は、例えば、取り外しが可能な記憶メディア等に書き出すことが可能なリーダライタデバイス、又は、外部との通信が可能なネットワークアダプタ等でもよい。
データ読出部205は、記憶部201に格納されている健康医療情報を読み出し、利用者が健康医療情報を利用できるようにする機能を持つ。このとき、データ読出部205は、検索条件及び利用者に関する登録情報等が入力された場合には、それらの情報に基づいて所望の健康医療情報を絞り込んでから読み出してもよいし、データベース全件を記憶部201から読み出してから絞り込んでもよい。
属性設定部206は、記憶部201に格納されている健康医療情報などのデータベースの属性に関して、入手希望属性、匿名加工許容レベル、及び属性の相対的重要度を、入力部を介して設定する機能を有する。属性設定の際は、提示部202が属性のリストを提示し、匿名加工システム1の利用者(例えばデータ加工機関103)が各属性について入手希望属性を指定する情報を入力部203に入力する。以下に説明する入手希望属性、匿名加工許容レベル及び属性の相対的重要度の設定は、利用者が入力部203を介して入力した情報に基づいて属性設定部206が実行する。
なお、これらの設定の内容は匿名加工後のデータの分析有用性に影響を与える。このため、例えばデータ加工機関103がこれらの設定を行う場合には、データ分析機関104の意見を参考にしてもよいし、データ分析機関104自身がこれらの設定を行ってもよい。データ加工機関103が行う他の処理についても同様に、必要に応じてデータ分析機関104が関与する場合がある。
まず、入手希望属性の設定の際には、属性設定部206は、その属性値に関して、例えば入手必須、入手任意、又は不要等のいずれかを指定する。ただし、テーブル内の属性数が多い場合には、利用者が全ての属性に関して入力するのは時間を要するため、入手希望属性を指定する際のデフォルト値は、すべて入手必須か、又は不要にプリセットしておき、プリセットされた値を変更する必要がある場合に利用者が入力してもよい。
次に、匿名加工許容レベルを設定する際には、属性設定部206は、入手希望属性にて入手必須、又は入手任意と指定した各属性に関して匿名加工の許容度合を指定する。例えば、属性設定部206は、利用者からの入力に従って、匿名加工不可、匿名加工可能、削除可能などを指定する。
なお、ある属性に関して匿名加工可能を指定する場合は、属性設定部206は、その属性のデータ型に応じて詳細の匿名加工許容レベルを指定してもよい。例えば、属性設定部206は、文字列型の属性値をもつ属性に関しては、匿名加工前の文字列に関する情報量を基準として、匿名加工後の残存情報量の比率、又は、エントロピー等を用いた加工度合を指定してもよい。また、数値型であれば、匿名加工後に残す有効桁数などを指定してもよい。
そして、属性の相対的重要度を設定する際は、入手希望属性にて入手必須又は入手任意と指定した入手希望属性群のうちの2つの属性に関して、利用者が入力部203を用いて一対比較値をそれぞれ入力し、それを属性設定部206が相対的重要度として設定してもよい。ただし、この方法では属性数が増加すると入力の手間が増えるため、単に入手希望属性群の中で相対的な重要度を示す順位を入力してもよい。この重要度の指定方法は特に限定されるものではなく、結果的に入手希望属性群内における順位が確定していればよい。
匿名加工部207は、属性設定部206において設定された加工可能属性及び削除可能属性に関して、実際に属性値の一般化処理等の匿名加工処理を行う。それに加え、匿名加工部207は、後述するテーブル候補生成部210において、利用者に対して匿名加工されたテーブルの候補を算出する場合には、加工不可属性に関しても匿名加工処理を試行することもある。
匿名性算出部208は、匿名加工部207にて算出された匿名加工されたテーブルに対して、テーブルに残存するデータから既定数k以下に個人を特定できないかどうかを判定する。例えば、匿名性算出部208は、そのテーブルに同一の属性値をもつレコードが既定数k以上の数が存在するかどうかを確認するk-匿名性等の指標を用いて判定する。
なお、この判定において、匿名加工されたテーブルの匿名性が、既定の匿名性指標を大幅に上回っている場合には、属性設定部206で入力した設定が厳しすぎた可能性がある。このため、匿名性算出部208は、分析有用性の向上を目的として、匿名性を低下させる処理を匿名加工部207に指示してもよい。また、匿名性判定の算出値と、属性設定部206にて入力した設定値とを関連付けて、加工履歴として記憶部201に格納することもできる。
属性特定部209は、匿名性算出部208にて匿名性が指標を満たさないと判定された場合に、匿名性を満たせない阻害要因となっている属性を特定する処理を行う。例えば、後述するテーブル候補生成部210にて生成したテーブル候補に関して、既定の匿名性指標を満足できるかどうかを判定する。このとき、指標を満足できた場合には、属性特定部209は、匿名加工度合を緩和した(すなわち匿名加工度合を匿名性が低下する方向に変更した)緩和推奨属性群を特定する。
テーブル候補生成部210は、属性設定部206が属性間の相対的な重要度等を入力し、入手希望属性群内における順位を確定した後に、重要度が下位の属性から順に匿名加工度合を緩和して匿名加工処理を試行して、テーブル候補を作成する。また、テーブル候補生成部210は、属性設定部206にて加工不可属性と指定された属性に関しても、匿名加工処理を試行し、テーブル候補を作成する。
テーブル候補選択部211は、属性特定部209にて特定された緩和推奨属性群と、テーブル候補生成部210にて生成されたテーブル候補との組み合わせを、提示部202を介して利用者に提示し、利用者に対して分析有用性を考慮した選択を促す。利用者は入力部203等を介してテーブル候補を選択する。
さらに、属性設定部206にて入力した属性が緩和推奨属性群に含まれる場合は、利用者に対して提示部202を介して提示し、選択した匿名加工済みのテーブル候補に関する匿名加工条件は、当初入力した匿名加工条件と異なっていることを確認させる通知を行なって、入力部203を介して承諾を得てもよい。
履歴検索部212は、属性設定部206で入力された設定値と、匿名性算出部208が算出した匿名性判定の結果値とを関連付けて記憶している記憶部201から、入力部203を介して入力されたキーワード及び入手希望属性などの検索条件に合う加工履歴を検索して、提示部202を介して匿名性判定の結果値と、入手希望属性及び匿名加工許容レベルなどの加工履歴を提示することができる。ただし、ここで検索されることが適さないデータの場合は、登録時に検索対象除外の設定を行うことで加工履歴として提示しないこともできる。
なお、匿名加工システム1の機能(例えば上記のデータ読出部205~履歴検索部212の機能)は、制御部200が記憶部201に格納されたプログラムに従って、必要に乗じて提示部202、入力部203及びデータ出力部204等を制御することによって実行される。この場合、データ読出部205~履歴検索部212が記憶部201に格納されたプログラムであると考えてもよい。
図3は、本発明の実施形態における匿名加工システム1を利用する際の全体処理フローの一例を示す図である。
データ提供機関101は加工前の生データを保管しており、そのデータを編集及び匿名加工する機能は、匿名加工システム1として、生データにアクセスできるデータ保管機関102側にある想定で説明する。なお、データ加工機関103側は匿名加工前のデータを保持せず、匿名加工後のデータのみ保持できる想定で説明するが、データ加工機関103はデータ保管機関102の内部機関であるため、匿名加工及びその前後にある処理は、厳密には匿名加工システム1及びデータ加工機関103のどちらで実行しても構わない。
ステップS301では、データ提供機関101が発行した患者に関する診療データ及び検査データをデータ保管機関102に継続的に送信し、データ保管機関102は受診した上記のデータを記憶部201に継続的に蓄積する。
ステップS302では、データ分析機関104が、データ保管機関102が有するデータベースの出力要求を行う。
ステップS303では、データ保管機関102又はデータ加工機関103が、データ分析機関104から得た分析要求から、次以降のステップで、データの検索条件、テーブルの属性に関する入手要望及び各属性に関する匿名加工要望等を明確化(又は詳細化)する。
ステップS304では、データ加工機関103は、詳細化された分析要求に応じて、まず記憶部201に格納されているデータベースに対して検索条件を入力する。
ステップS305では、匿名加工システム1のデータ読出部205が、入力された検索条件に基づいて所望のデータセットを記憶部201から抽出する。このとき、データ保管機関102からデータ加工機関103にこの抽出データを渡してもよい。
ステップS306では、データ加工機関103が、詳細化された分析要求に基づき、そのテーブルを構成する各属性に関して入手希望属性、匿名加工許容レベル及び相対的重要度を入力し、設定する。このとき、履歴検索部212は記憶部201から設定された条件に合う加工履歴を検索し、加工例を提示部202に表示してもよい。
ステップS307では、匿名加工システム1が、データ加工機関103から入力された検索条件に基づいて抽出したテーブルに対して匿名加工処理を行う。あるいは、匿名加工システム1が抽出されたテーブルをデータ加工機関103に渡して、データ加工機関103が匿名加工処理を行ってもよい。
ステップS308では、匿名加工システム1が匿名加工処理を行なったテーブルについて既定の匿名性指標を満足しているか判定する。匿名性指標を満たさないテーブルについては、匿名加工システム1は、属性設定の緩和を試行し、匿名性を満たすように属性設定の緩和を促す。このとき、匿名加工システム1は、属性設定の値と匿名性の算出値を記憶部201に格納して、後ほど検索できるようにしてもよい。また、匿名性判定はデータ加工機関103で行ってもよい。
ステップS309では、匿名加工済みで匿名性指標を満足しているテーブル、又は、テーブルの一部のデータセットもしくはレコードを、少なくとも一つ以上のデータ加工機関103がデータ保管機関102から受信する。また、データ保管機関102からデータベースのコピーをデータ加工機関103が受信しておき、それに対して匿名加工するという順序で処理が実行されてもよい。
ステップS310では、データ加工機関103が、匿名加工システム1から受信したテーブル、データセット又はレコードを提示し、それに分析有用性があるかどうかを判断する。その結果、分析有用性が無い場合は、S306に戻って属性設定の変更を行うか、匿名加工システム1から変更すべき属性の推薦を受ける。一方、分析有用性があると判断した場合は、ステップS311に進む。これらの分析有用性判断は、その判断を人間が実施したほうが効率や精度が良い間は人間が行なえばよいが、自動化してもよい。例えばデータ加工機関103は匿名加工システム1から受信した情報の少なくとも一部をデータ分析機関104に提示して、データ分析機関104の意見に基づいて分析有用性を判断してもよい。
ステップS311では、データ加工機関103は、匿名加工システム1が匿名性と分析有用性を両立したテーブルの出力を行うようにデータ保管機関102に依頼する。
ステップS312では、データ保管機関102はデータ分析機関104に対してデータを出力する。そのデータはデータ分析機関104によって分析される。
図4は、本発明の実施形態における匿名加工システム1の匿名加工に関する主要フローの一例を示す図である。
ステップS401では、図3のステップS304で示したように、データ分析機関104の詳細要望に関する検索条件が匿名加工システム1に入力される。例えば、主疾病名属性には「肺炎」、投薬コード属性にはある薬のコードを入力するなどして、健康医療情報のデータベースから分析に要する所望のデータセットが抽出される。
ステップS402では、匿名加工システム1は、ステップS401で入力された初期入力値に基づいて、匿名加工処理を行う。この処理の詳細フローは図5にて示す。
ステップS403では、匿名加工システム1は、前記匿名加工処理後のテーブルに関して、匿名性指標の判定処理を行う。もし指標を満足している場合は、ステップS407に進む。一方、満足していない場合は、ステップS404へ進む。このとき、匿名加工システム1は、図9に示す画面を提示して、匿名性に関する判定結果を通知する。
ステップS404では、匿名加工システム1は、ステップS402で入力された属性設定において、加工可能属性と指定された属性について、重要度を考慮して匿名加工条件の変更を試行する。この処理の詳細フローは図6に示す。
次に、匿名加工システム1は、ステップS404の処理に成功したかを判定する(ステップS408)。例えば、ステップS404の処理の結果、加工可能属性のみを対象とする匿名加工条件の変更であって、匿名性が所定の条件を満たし、かつ、分析有用性がある変更の候補が生成された場合、ステップS404の処理に成功したと判定される。ステップS404の処理に成功した場合(ステップS408:Yes)、匿名加工システム1は、次のステップS405を実行せずにステップS406に進む。ステップS404の処理に失敗した場合(ステップS408:No)、匿名加工システム1はステップS405を実行する。
ステップS405では、匿名加工システム1は、ステップS402で入力された属性設定において、加工不可属性と指定された属性について、重要度も考慮して匿名加条件の緩和を試行する。この処理の詳細フローは図7に示す。
ステップS406では、匿名加工システム1は、それまでに匿名加工された加工例を提示して、それが分析有用性を満たすかどうかを判断する。この分析有用性の判断処理は、その判断を人間が実施したほうが効率や精度が良い間は人間が行なえばよいが、自動化してもよい。
例えば、匿名加工システム1は、それまでに匿名加工された加工例を、提示部202を介してデータ加工機関103に提示して、データ加工機関103が入力部203を介して分析有用性の有無を示す情報を入力した場合に、その情報に従って分析有用性を判断してもよい。このとき、データ加工機関103は、必要に応じて、分析を行う当事者であるデータ分析機関104の意見を求めてもよい。
分析有用性がある場合は、ステップS407に進む。一方、分析有用性が無い場合は、匿名加工システム1は所定の終了条件が満たされるかを判定する(ステップS409)。終了条件はいかなるものであってもよいが、例えば、処理の繰り返しの回数が所定の回数を超えた場合、処理の実行時間が所定の時間を超えた場合、又は、利用者(例えばデータ加工機関)によって処理の終了の指示が入力された場合に、終了条件が満たされたと判定してもよい。終了条件が満たされた場合は(ステップS409:Yes)、処理を終了する。終了条件が満たされない場合は(ステップS409:No)、ステップS404へ戻って、属性設定の再調整を行う。
ステップS407では、匿名加工システム1は、匿名性と分析有用性を両立したテーブルを匿名加工システム1から出力して、終了する。このとき、匿名加工システム1は、図12に示す情報を提示部202に示してもよい。
図5は、本発明の実施形態における匿名加工システム1の初期入力値に基づいた匿名加工に関する主要フローの一例を示す図である。
ステップS501では、データ分析機関104の分析目的に応じて、データ加工機関103がテーブルを構成する属性群について、入手希望属性の選択が行われる。この処理は、匿名加工システム1の属性設定部206を介して行われる。例えば、匿名加工システム1は、各属性について入手必須、入手任意又は不要などを選択する。このとき、匿名加工システム1は、図8のような画面を、提示部202を介して提示してもよい。また、履歴検索部212が入力条件に合う加工履歴を記憶部201から読み出して提示してもよい。
ステップS502では、データ分析機関104の分析目的に応じて、入手希望属性として入手必須、入手任意に指定された各属性について、匿名加工許容度合が指定される。この指定は、データ加工機関103が匿名加工システム1の属性設定部206を介して行う。なお、この匿名加工許容度合としては、属性値のデータ型に応じて、属性値をどの程度加工してよいかの限度を指定することもできる。
ステップS503では、データ分析機関104の分析目的に応じて、入手希望属性として入手必須又は入手任意に指定された各属性間における相対的な重要度が入力される。この入力は、データ加工機関103が匿名加工システム1の属性設定部206を介して行う。ここで入力される値は、各属性間の一対比較値でもよいし、単に各属性を順位付けしたものでもよい。
ステップS504では、匿名加工システム1の匿名加工部207は、ステップ501から503に記載の属性設定部206を介して入力された、入手希望属性、匿名加工許容度合及び相対的重要度の設定値に基づいて、図4のステップS401にて読み出されたテーブルに対して匿名加工処理を行う。例えば、匿名加工部207は、属性値に対して一般化処理を行なって、そのレコードに関わる個人を特定できないようにする。
ステップS505では、匿名加工システム1の匿名加工部207が、匿名加工処理を施したテーブルについて既定の匿名性指標を満足するか判定する。例えば、k-匿名性を指標として使い、k=3とする場合は、テーブルを構成する属性に関して、同一の属性値をもつレコードが3つ以上そのテーブルに存在するかどうかを判定する。ここで、もし匿名性が既に満たされている場合は(S505:Yes)、入力した条件を緩めて分析有用性を向上するために、匿名性を低下させる処理をステップS506にて行う。
一方、匿名性が満たされていない場合は(S505:No)、これらの入力条件で施した匿名加工済みのテーブルは匿名加工システム1の外部に出力できない状態であるため、このフローは終了して、匿名加工システム1は、匿名性を満足できる属性の加工条件を探索する。このとき、匿名加工システム1は、提示部202を介して図9に示す情報を提示して、匿名性判定の結果を示しても良い。
また、匿名加工システム1は、この匿名性判定の処理を、ステップS501乃至503で示す入力処理を全て完了した後に実行してもよいし、部分的に入力があった時点で都度実行してもよい。後者の場合、匿名加工システム1は、直前の入力が匿名性判定に与える影響を提示部202を介して提示して、属性設定の修正を促してもよい。
ステップS506では、匿名加工システム1は、各属性について入力された匿名加工許容度合を緩和して、直前の匿名加工処理によって作成された匿名化済みデータと比較して、残存情報を多く、かつ匿名性を満たす条件があるかどうかを探索する。もし解がある場合は、より多くの情報が残っていて分析有用性が高いと思われる匿名加工済みテーブルが、後続の前記分析有用性判断処理(S406)において選択候補として推薦される。
図6は、本発明の実施形態における匿名加工システム1の匿名加工可能な属性に関して匿名加工度合を調整して匿名加工処理を行うフローの一例を示す図である。
ステップS601では、匿名加工システム1は、属性設定部206を介して匿名加工許容度合が加工可能と指定された属性群を抽出する。
ステップS602では、匿名加工システム1の匿名加工部207は、属性設定部206を介して指定された各属性の重要度が下位の属性から順に匿名加工処理を施す。このとき、加工対象の属性は一つに限らず、重要度が下位の二つ以上の属性を組み合わせて、その属性値の組に対して匿名加工してもよい。ただし、計算の順序は、重要度によらなくてもよい。すなわち、必ずしも重要度が下位の属性を組み合わせたものについて優先して計算する必要はない。
ステップS603では、匿名加工システム1は、ステップ602にて匿名加工を施したテーブルに関して、匿名性を満足するか判定する。匿名性を満足する場合は(ステップS603:Yes)、ステップS604に進む。一方、匿名性を満足しない場合は(ステップS603:No)、匿名加工システム1は、所定の終了条件が満たされるかを判定する(ステップS608)。この終了条件はいかなるものであってもよいが、例えば図4のステップS409と同様のものであってもよい。
終了条件が満たされる場合(ステップS608:Yes)、処理を終了する。終了条件が満たされない場合(ステップS608:No)、匿名加工対象の属性の変更又は属性の組み合わせの変更を行うためにステップS602に戻る。
ステップS604では、匿名加工システム1は、ステップS603にて匿名性を満足したテーブルを提示部202に表示する。このとき、過去の匿名性判定処理にて匿名性を満足したテーブル候補を複数表示してそれらのいずれかを選択できるようにするために、図10のような画面を提示部202を介して提示してもよい。
ステップS605では、匿名加工システム1は、ステップS603において匿名性を満足すると判定した場合に、属性設定部206を介して入力した当初の匿名加工条件と異なっていることを確認させる提示を行う。例えば、当初は加工可能と指定された属性に対して、削除処理を行なわないと匿名性が満足できない場合にはこの提示を行う。
ステップS606では、匿名加工システム1は、ステップS604にて匿名性を満足したテーブル候補について、分析有用性があるか確認させるための表示を行う。分析有用性がある場合は(ステップS606:Yes)、ステップS607に進む。一方、分析有用性が無い場合は(ステップS606:No)、匿名加工システム1は、所定の終了条件が満たされるかを判定する(ステップS609)。この終了条件はいかなるものであってもよいが、例えば図4のステップS409と同様のものであってもよい。
終了条件が満たされる場合(ステップS609:Yes)、処理を終了する。終了条件が満たされない場合(ステップS609:No)、匿名加工システム1は、ステップS602へ戻って、匿名加工処理を再試行する。ステップS606での分析有用性の判定は、例えば図4のステップ406と同様に行うことができる。
ステップS607では、匿名加工システム1は、分析有用性があると確認された後に、最終的な匿名加工条件の変更について入力部203を介して利用者に承諾させ、このフローを終了する。このとき、匿名加工システム1は、図11のような画面を提示部202を介して提示してもよい。また、このとき、匿名加工システム1は、提示された匿名加工条件を記憶部201に記憶してもよい。これにより、後で履歴検索部212がキーワード又は属性を用いて検索することができる。
図7は、本発明の実施形態における匿名加工システム1の匿名加工不可な属性に関して匿名加工度合を調整して匿名加工処理を行うフローの一例を示す図である。
ステップS701では、匿名加工システム1は、属性設定部206を介して匿名加工許容度合が加工不可と指定された属性群を抽出する。
ステップS702では、匿名加工システム1は、属性設定部206を介して指定された各属性の重要度が下位の属性から順に加工不可を加工可能に変更し、匿名加工処理を試行する。このとき、加工対象の属性を一つに限らないのは、S602と同様である。
ステップS703では、匿名加工システム1は、ステップ702にて匿名加工を施したテーブルに関して、匿名性を満足するか判定する。匿名性を満足する場合は(ステップS703:Yes)、ステップS704に進む。一方、匿名性を満足しない場合は(ステップS703:No)、匿名加工システム1は、所定の終了条件が満たされるかを判定する(ステップS708)。この終了条件はいかなるものであってもよいが、例えば図4のステップS409と同様のものであってもよい。
終了条件が満たされる場合(ステップS708:Yes)、処理を終了する。終了条件が満たされない場合(ステップS708:No)、匿名加工対象の属性の変更又は属性の組み合わせの変更を行うためにステップS702に戻る。
ステップS704では、匿名加工システム1は、ステップS703にて匿名性を満足したテーブルを提示部202に表示する。このとき、過去の匿名性判定処理にて匿名性を満足したテーブル候補を複数表示してそれらのいずれかを選択できるようにするために、図10に示すような画面を提示してもよい。
ステップS705では、匿名加工システム1は、ステップS703において匿名性を満足すると判定した場合に、テーブル候補選択部211が属性設定部206を介して入力した当初の匿名加工条件と異なっていることを確認させる提示を提示部202を介して行う。例えば、当初は加工不可と指定された属性に対して、一般化による匿名加工処理を行なわないと匿名性が満足できない場合には、その旨の提示を行う。
ステップS706では、匿名加工システム1は、ステップS704にて匿名性を満足したテーブル候補について、分析有用性があるか確認させるための表示を提示部202を介して行う。分析有用性がある場合は(ステップS706:Yes)、ステップS607に進む。一方、分析有用性が無い場合は(ステップS706:No)、匿名加工システム1は、所定の終了条件が満たされるかを判定する(ステップS709)。この終了条件はいかなるものであってもよいが、例えば図4のステップS409と同様のものであってもよい。
終了条件が満たされる場合(ステップS709:Yes)、処理を終了する。終了条件が満たされない場合(ステップS709:No)、匿名加工システム1は、S702へ戻って、匿名加工処理を再試行する。ステップS706での分析有用性の判定は、例えば図4のステップ406と同様に行うことができる。
ステップS707では、匿名加工システム1は、分析有用性があると確認された後に、最終的な匿名加工条件の変更について承諾を推薦する画面を表示させ、入力部203を介して利用者の承諾を得た後、このフローを終了する。このとき、匿名加工システム1は、図11のような画面を提示部202に示してもよい。また、このとき、匿名加工システム1は、提示された匿名加工条件を記憶部201に記憶してもよい。これにより、後で履歴検索部212がキーワード又は属性を用いて検索することができる。
図8は、本発明の実施形態における匿名加工システム1の属性設定画面の一例を示す図である。
図中の太枠の内部の項目に関して、属性設定部206を介して値が入力される。
具体的には、データ読出部205が記憶部201から読み出したテーブルを構成する各属性に関して、属性設定部206を介して入手希望属性、匿名加工許容レベル及び重要度が設定される。
入手希望属性としては、対象の属性ごとに、例えば、その属性の値が「必須」「任意」又は「不要」のいずれであるかが設定される。「任意」は、その属性の値があってもなくてもよいことを示す。これらは、例えば、分析の目的に応じて、その分析における属性値の必要性の高さに基づいて設定されてもよい。
匿名加工許容レベルとしては、対象の属性ごとに、例えば、「加工OK」及び「加工NG」のいずれかが設定される。「加工OK」は、匿名化のための加工が許容されることを、「加工NG」は匿名化のための加工が許容されないことを示す。また、「加工OK」の場合に、許容される加工の程度が設定されてもよい。これは、例えば、分析の目的に応じて属性値に求められる精度に基づいて設定されてもよい。
重要度は、属性の項目ごとの属性値の重要度であり、例えば、分析の目的に応じて設定されてもよい。図8の例では、重要度の値「1」が最も高い重要度を、「7」が最も低い重要度を示す。図8の例では、重要度は各属性の重要度の順位という形で設定されるが、このような形式の設定は一例であり、項目間の相対的な重要度が分かるように設定されていればよい。また、複数の属性に同一の重要度が設定されてもよい。そのような設定は、それらの属性の相対的な重要度が同程度であることを示す。
例えば、図8の例では、年齢属性の入手希望属性の設定値が必須であり、匿名加工許容レベル設定値が加工不可(加工NG)を指定している。これは分析要望の詳細化の結果、年齢属性が分析に重要な属性であり、属性値の精度も必要であったことを示している。疾病名コード属性及び投薬名称属性も同様である。
次に、性別属性については、入手希望属性は不要と指定しており、分析に不要であることを示している。投薬期間属性については、入手は必須であるものの、加工可能(加工OK)となっている。これは、属性値の精度はそれほど重要ではないが、この属性値が存在することが重要であることを示している。
身長属性については、入手できるなら属性値の匿名加工は不可であり、匿名加工されてしまうならば、その属性値は不要である、という設定例を示している。
体重属性については、属性値を入手してもしなくてもよく、入手できた場合には匿名加工は可能である、という設定例を示している。
また、図8の例は、疾病名コード属性の重要度が最も高く、次いで、投薬名称属性、年齢属性、投薬期間属性、身長属性、体重属性の順に重要度が高く、性別属性の重要度が最も低いことを示す。
なお、図8に挙げた属性の他にも多数の属性がある場合が想定されるが、全ての属性のデフォルト値として入手不要と設定しておき、入手必須又は入手任意とする属性のみを選択して入力できるようにすれば、入力の手間を省くことができる。
図9は、本発明の実施形態における匿名加工システム1の属性設定値に基づいた匿名加工の結果を表示する画面の一例を示す図である。
図中の太枠の内部の項目は、初期入力値(すなわち最初に設定された入手希望属性及び匿名加工許容レベル)に従って行われた各属性の加工の内容とその結果として得られた匿名性の程度を示すものであり、匿名加工システム1の提示部202によって表示される。
具体的には、図9の例では、年齢属性、身長属性、疾病名コード属性及び投薬名称属性は、入手希望属性が必須又は任意のいずれかであり、匿名加工許容レベルが加工不可であるため、いずれも、無加工となっている。性別属性は、入手希望属性が不要であるため、削除されている。
体重属性は、入手希望属性が任意であり、匿名加工許容レベルが加工可能であるため、「30~100」に匿名加工されている。すなわち、30kg~100kgの範囲内の属性値は、いずれも、「30kg~100kg」という属性値に置き換えられる。投薬期間属性は、入手希望属性が必須であり、匿名加工許容レベルが加工可能であるため、「1~6」及び「7~12」に匿名加工されている。
この例において匿名性の値が×であるのは、属性設定部206で入力した当初の加工条件に従って上記のように加工したデータでは要求される匿名性が満足できなかったことを示す。
図10は、本発明の実施形態における匿名加工システム1の匿名性を満足する匿名加工の候補を表示し、匿名加工許容レベルを変更すべき属性を推薦する画面の一例を示す図である。
提示部202には、匿名性を満足した加工例が複数提示される。図10では、加工例1~6の合計6つが候補として挙げられている。これらの候補は、属性設定部206において指定された匿名加工許容レベル設定値が加工NGであった属性の加工を許容する、又は、入手希望が必須である属性を削除するなど、条件を緩和した匿名加工処理を施した結果、匿名性を満足できた加工例である。また、加工OKと指定された属性に関して、削除可と条件を緩和した匿名加工を施した結果、匿名性を満足できた加工例も示すことができる。
例えば、加工例1では、入手希望が必須、匿名加工許容レベルが加工NGと設定されていた年齢属性が削除されている。これは、年齢属性の入手希望が任意又は不要に変更されたことに相当する。
加工例2では、年齢属性が匿名加工されている。これは、年齢属性の匿名加工許容レベルが加工OKに変更されたことに相当する。さらに、加工例2では、投薬期間属性が匿名加工されているが、その加工は、初期入力値による加工より匿名性が高く、情報の欠落が多い加工となっている。
加工例3では、入手希望が必須、匿名加工許容レベルが加工OKと設定されていた投薬期間属性が削除されている。これは、投薬期間属性の入手希望が任意又は不要に変更されたことに相当する。さらに、加工例3では、年齢属性が匿名加工されているが、その加工は、加工例2における加工より匿名性が低く、情報の欠落が少ない加工となっている。
加工例4では、入手希望が任意、匿名加工許容レベルが加工NGと設定されていた身長属性が削除されている。匿名加工許容レベルが加工NGであっても、入手希望が任意であるため、この例では身長属性が削除の対象となっている。
加工例5では、身長属性が匿名加工されている。これは、身長属性の匿名加工許容レベルが加工OKに変更されたことに相当する。
加工例6では、入手希望が任意、匿名加工許容レベルが加工OKと設定されていた体重属性が削除されている。また、加工例6では投薬期間属性が匿名加工されているが、その加工は、初期入力値による加工より匿名性が低く、情報の欠落が少ない加工となっている。
このように複数の加工例を表示するユーザインターフェース(UI)は、どの条件をどのように変更したかを示す情報を表示してもよい。例えば加工例1については、入手希望が必須、匿名加工許容レベルが加工NG(N)と設定されていた年齢属性が削除(D)されたことを示す「必須N→D」が表示されてもよい。同様に、例えば加工例5については、入手希望が任意、匿名加工許容レベルが加工NG(N)と設定されていた年齢属性が加工OK(K)に変更され、加工されたことを示す「必須N→K」が表示されてもよい。
なお、匿名加工システム1は、重要度が所定の値より低い属性について匿名加工許容レベル等の設定を変更した場合の匿名性が匿名性指標を満たす場合に、その変更を含む加工例を生成してもよい。それによって匿名性が匿名性指標を満たす加工例を生成できない場合には、より重要度が高い属性について設定を変更して、加工例を生成してもよい。あるいは、種々の重要度の属性の設定を変更した複数の加工例を生成して、より重要性が低い属性の設定を変更した加工例を上位の加工例として表示し、より重要性が高い属性の設定を変更した加工例を介の加工例として表示してもよい。
このように、加工例として、加工する属性及び加工の程度を変更することで複数の候補が算出される。複数の加工例を提示することによって、データ加工機関103又はデータ分析機関104がそれぞれの候補を他の候補と比べながら分析有用性があるかどうかを判断する過程を支援する。
図10には、データ加工機関103が匿名加工例2に分析有用性があると判定して、入力部203を介して加工例2を選択した場合の表示例を示している。この選択は、例えば、匿名性の列にあるチェック欄を有効化することで行われる。その結果、図10では、匿名加工例2の行が太枠で表示されている。さらに、属性値の加工サンプルとその加工サンプルを実現するために匿名加工許容レベルを変更すべき属性が示される。例えば加工例2が選択された場合、年齢属性と投薬期間属性の匿名加工許容レベルが変更されているため、それらが太枠で表示されている。
例えば、年齢属性については、当初は加工不可と指定されていたが、加工例2では、年齢属性を加工可能属性に変更して、10~50才、50~100才の2分類になる加工を許容できれば、匿名性を満足できることが提示部202を介して示される。また、投薬期間属性については当初から加工可能と指定されていたが、初期値による匿名加工による属性値は1~6、7~12の2分類であった。一方、加工例2を選択した場合は属性値が1~12の1分類となり、匿名性が向上した代わりに情報量が欠落したことを示す。ただし、この情報欠落の通知は必須ではない。
図11は、本発明の実施形態における匿名加工システム1の匿名加工レベルの変更を承諾する画面の一例である。
図中の太枠は、年齢属性に関して当初の匿名加工許容レベルの設定値と、匿名性を満足するために変更すべき匿名加工許容レベルの推奨設定値の両方を提示し、前者に対する後者の変更点を明示したものである。画面下部にはさらに承諾を確認する表示を含む承諾ボタン1101が表示される。データ加工機関103が上記の変更を承諾した場合にはこの承諾ボタン1101を操作する。ただし、このような画面の表示は必須ではなく、図10に示したユーザインターフェースにて匿名加工例2を選択した時点で変更を承諾したものとして処理を進めても良い。
なお、投与期間属性に関しては、匿名加工許容レベルの設定値の変更は不要であるが、当初の匿名加工条件に基づいた加工結果と比べて、情報が欠落した属性であることが示されている。ただし、この情報欠落の通知は必須ではない。
図12は、本発明の実施形態における匿名加工システム1の匿名加工済みデータの出力画面の一例である。
図中の太枠は、匿名加工例2を選択し、推奨設定を選択して匿名加工条件の変更を承諾した場合に出力されるデータの具体例である。例えば、年齢属性に関しては、属性値として10~50及び50~100の2分類があり、このテーブルにそれぞれ3レコード以上存在し、既定の匿名性を満足している。
本実施形態により、匿名性と分析有用性とを両立した匿名加工を実現し、匿名加工済みのデータ出力の手戻りを削減することができる。
以上に説明した本発明の態様の代表的な例をまとめると次の通りとなる。すなわち、制御部(例えば制御部200)と、制御部に接続される記憶部(例えば記憶部201)と、制御部に接続される提示部(例えば提示部202)と、を有する匿名加工システム(例えば匿名加工システム1)であって、記憶部は、属性の項目ごとに、重要度を示す情報(例えば図8に示した重要度)及び属性値に許容される匿名加工の程度を示す情報(例えば図8等に示した匿名加工許容レベル)を保持し、制御部は、重要度を示す情報及び許容される匿名加工の程度を示す情報に基づく匿名加工が実行された後のデータの匿名性を計算し(例えばステップS402及びS403)、計算された匿名性と、重要度と、許容される匿名加工の程度と、に基づいて、許容される匿名加工の程度を変更する属性の項目を特定し(例えばS404又はS405)、提示部を介して、特定した属性の項目を提示する(例えばステップS605又はS705)。
これによって、あらかじめ指定された匿名性指標を満足するための匿名加工の対象となる属性の項目の候補を示すことができる。
ここで、記憶部は、要求される匿名性を示す情報(例えばステップS403、S505、S603及びS703における判定基準となる匿名性指標)をさらに保持してもよく、制御部は、計算された匿名性が、要求される匿名性を満たさない場合に、許容される匿名加工の程度を変更する属性の項目を特定してもよい。
これによって、初期に設定された条件では匿名性が満たされない場合に、加工の対象となる属性の項目の候補を示すことができる。
また、制御部は、特定された属性の項目及び変更後の許容される匿名加工の程度の少なくとも一つが互いに異なり、かつ、変更後に計算された匿名性が要求される匿名性を満たす、複数の変更例(例えば図10に示す加工例1~6)を生成し、提示部を介して、複数の変更例を提示してもよい。
これによって、匿名加工されたデータの利用者(例えばデータ分析機関)が受け入れやすい匿名加工の案を提示できる可能性が高まる。
また、制御部は、複数の変更例の一つが選択された場合、匿名加工の対象のデータに対して、選択された変更例によって特定された属性の項目に、選択された変更例の許容される加工の程度に基づく匿名加工を行い、匿名加工されたデータを出力(例えばステップS407)してもよい。
これによって、匿名性と分析有用性を両立する匿名加工を実現し、匿名加工済みのデータ出力の手戻りを削減することができる。
また、記憶部は、要求される匿名性を示す情報をさらに保持してもよく、制御部は、許容される匿名加工の程度の変更を指示する情報が入力されると、入力された情報に従って匿名加工が実行された後のデータの匿名性を計算し、計算された匿名性が、要求される匿名性を満たさない場合に、許容される匿名加工の程度を変更する属性の項目を特定してもよい。
例えば、データ加工機関103は、図9に示すユーザインターフェースを参照して、少なくとも一つの属性の匿名加工許容レベル等を変更する指示を、入力部203を介して匿名加工システム1に入力してもよい。匿名加工システム1は、入力された変更を反映させた匿名加工の結果、匿名性指標が満たされない場合に、変更例を生成して、その結果を例えば図10の加工例と同様の形式で表示してもよい。
これによって、データ加工機関103による条件の変更の試行が容易になり、データの利用者が受け入れやすい匿名加工データを取得するための利便性が向上する。
また、制御部は、特定された属性の項目及び変更後の許容される匿名加工の程度の少なくとも一つからなる変更案と、変更案に基づく匿名加工後のデータの匿名性と、を関連付けて、加工履歴として記憶部に格納してもよい。
そして、制御部は、匿名加工に関するキーワード又は属性が検索条件として入力されると、記憶部から検索条件に適合する加工履歴を検索して(例えば履歴検索部212の処理)、提示部を介して提示してもよい。
これによって、過去に設定された条件が記録され、それに基づいて新たな条件を設定して匿名加工を試行するなどが容易になり、利便性が向上する。
また、記憶部は、要求される匿名性を示す情報をさらに保持してもよく、重要度を示す情報は、属性の項目間の相対的な重要度を示す情報であってもよく、制御部は、重要度が低い属性の項目を、許容される匿名加工の程度を変更する属性の項目として特定し、特定された属性の項目の属性値について、変更後の許容される匿名加工の程度に基づく匿名加工を行った場合の匿名性が要求される匿名性を満たさない場合、重要度が高い属性の項目を、許容される匿名加工の程度を変更する属性の項目として特定してもよい。
これによって、あらかじめデータの利用者によって設定された重要度が低い属性が優先的に匿名加工の対象として特定されるため、データの利用者に受け入れられやすい匿名加工の例を優先的に生成して提示することができる。
また、許容される匿名加工の程度を示す情報は、属性値の匿名加工が許容されるかを示す情報であってもよく、制御部は、特定した属性の項目の許容される匿名加工の程度を示す情報を、属性値の匿名加工が許容されないことを示す情報(例えば加工NG)から、属性値の匿名加工が許容されることを示す情報(例えば加工OK)に変更し、変更後の許容される匿名加工の程度に基づく匿名加工を行った場合の匿名性が要求される匿名性を満たす場合、当該許容される匿名加工の程度の変更を示す情報を含む変更例を生成し、提示部を介して変更例を提示してもよい。
これによって、匿名加工の条件が緩和され、匿名性指標を満たす匿名加工の例が生成されやすくなる。
また、記憶部は、要求される匿名性を示す情報をさらに保持してもよく、許容される匿名加工の程度を示す情報は、属性値の匿名加工が許容されるかを示す情報であってもよく、制御部は、許容される匿名加工の程度を示す情報に基づいて、匿名加工が許容される属性値の匿名加工をした場合の匿名性を計算し、計算された匿名性が要求される匿名性を満たさない場合に、匿名加工が許容される属性値について、さらに匿名性を高めるための匿名加工をした場合の匿名性を計算し、さらに匿名性を高めるための匿名加工をした後に計算された匿名性が要求される匿名性を満たさない場合に、許容される匿名加工の程度を示す情報に基づいて、匿名加工が許容されない属性値の匿名加工をした場合の匿名性を計算してもよい。
これは、例えば、匿名加工システム1が図4のステップS404を実行し、それによって匿名性指標が満たされる匿名加工ができない場合に(ステップS408:No)、ステップS405を実行することに相当する。
これによって、データの利用者に受け入れられやすい匿名加工が先に試行され、それでも匿名性指標が満たされない場合に、より匿名性を高めるための匿名加工が試行される。
また、記憶部は、属性の項目ごとに、属性値の要否を示す情報(例えば図8に示す入手希望設定)を保持してもよく、制御部は、特定した属性の項目の属性値の要否を示す情報を、属性値が必要であることを示す情報(例えば「必須」)から属性値が必要でないことを示す情報(例えば「不要」)に変更し、変更後の属性値の要否に基づく匿名加工を行った場合の匿名性が要求される匿名性を満たす場合、当該属性値の要否の変更を示す情報を含む変更例を生成し、提示部を介して変更例を提示してもよい。
これによって、匿名加工の条件が緩和され、匿名性指標を満たす匿名加工の例が生成されやすくなる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されるものではない。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。