(57)【特許請求の範囲】
【請求項１】
複数の提供元から取得したレコードを結合したデータに関し、当該データの一部であるレコードを提供したいずれの提供元に対しても、データの匿名性が保たれているか否かを判定する判定手段と、
前記判定手段の匿名性の判定結果に基づいて、データを匿名化する匿名化手段と、
を含む匿名化装置。
【請求項２】
ユーザに関する属性情報であるユーザ属性情報と、当該ユーザ属性情報の提供元を示す情報である提供元情報とが関連付けられたレコードの結合である前記データを記憶する記憶手段をさらに含み、
前記判定手段は、
前記記憶手段が記憶するデータに関し、前記ユーザ属性情報のうちの準識別子の値が同一であるグループから、一の種類の提供元情報を含むレコードを除いた場合における、当該グループに含まれるレコード数が、予め定められた匿名性の指標である閾値以上であるか否かを、提供元情報の種類毎に全ての前記グループにおける判定し、前記判定を基に、前記匿名性が保たれているか否かを判定する、
請求項１に記載の匿名化装置。
【請求項３】
前記匿名化手段は、
前記判定手段が、全ての前記グループにおける全ての提供元情報の種類において、前記レコード数が前記匿名性の指標である閾値以上であると判定するまで、ボトムアップ処理を用いた前記匿名化を処理する、
請求項２に記載の匿名化装置。
【請求項４】
前記匿名化手段は、
前記判定手段が、全ての前記グループにおける全ての提供元情報の種類において、前記レコード数が前記匿名性の指標である閾値以上であると判定する限りにおいて、トップダウン処理を用いた前記匿名化を処理する、
請求項２に記載の匿名化装置。
【請求項５】
前記判定手段は、
前記記憶手段が記憶するデータに含まれる提供元情報の種類が三種以上である場合に、提供元情報が三種以上含まれるグループにおいて、二種以上の提供元情報を一種の提供元として提供元情報の種類毎に、前記判定する、
請求項２〜４のいずれか１項に記載の匿名化装置。
【請求項６】
前記判定手段は、
提供元情報の種類毎の閾値を用いて、前記レコード数が、前記匿名性の指標である閾値以上であるか否かを判定する、
請求項２〜５のいずれか１項に記載の匿名化装置。
【請求項７】
前記判定手段は、
準識別子の値が同一である前記グループから、一の種類の提供元情報を含むレコードを除いた場合における、当該グループに含まれるセンシティブ情報の種類の数が、予め定められた多様性の指標である閾値以上であるか否かについて、提供元情報の種類毎に全ての前記グループにおいて判定し、
前記匿名化手段は、
前記判定手段の多様性の判定結果に基づいて、データを匿名化する、
請求項２〜６のいずれか１項に記載の匿名化装置。
【請求項８】
前記判定手段の判定結果に基づいて、匿名化処理済みのデータを出力する出力手段
を含む請求項１〜７のいずれか１項に記載の匿名化装置。
【請求項９】
複数の提供元から取得したレコードを結合したデータに関し、当該データの一部であるレコードを提供したいずれの提供元に対しても、データの匿名性が保たれているか否かを判定し、
前記判定結果に基づいて、データを匿名化する、
匿名化方法。
【請求項１０】
複数の提供元から取得したレコードを結合したデータに関し、当該データの一部であるレコードを提供したいずれの提供元に対しても、データの匿名性が保たれているか否かを判定する処理と、
前記判定結果に基づいて、データを匿名化する処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、匿名化技術に関する。
【背景技術】
【０００２】
年齢、性別又は住所等の個人情報を含むデータに関する統計データが、利用されている。データの公開の際、公開されたデータから個人が特定されないように、データの抽象化を用いて匿名化する技術が知られている。匿名化とは、個人情報の集合において、各レコードが、どの個人のデータかが分からないようにデータを加工する技術である。匿名化の指標として、「ｋ匿名性」がある。ｋ匿名性は、各個人のデータと同じデータがk個未満に絞られないことを保証する匿名化である。個人情報に含まれる属性のうち、その組合せに基づき個人を特定できる属性の群は、「準識別子」と呼ばれる。基本的に、ｋ匿名性は、この準識別子に含まれる属性値を汎化し、準識別子を共有するレコードをk個以上とすることを基に、匿名性を保証する。【０００３】
例えば、特許文献１には、収集したデータの個々の項目においてグループ化した場合の最小値と閾値との比較を基に、項目全体としての匿名化を判定できる情報処理装置が、開示されている。【０００４】
特許文献１の情報処理装置において、匿名化項目記憶部は、匿名化区分を項目毎に記憶する。【０００５】
匿名化処理部は、第１のデータベースに記録されているデータに対し、項目毎に匿名化区分を指定する。そして、匿名化処理部は、データを匿名化区分に基づきグループ化する。そして、匿名化処理部は、項目毎にグループ化後の最小のデータ数を算出し、その算出結果を基に匿名化する。そして、匿名化処理部は、匿名化処理の結果を第２のデータベースに記録する。【０００６】
匿名化判定部は、第２のデータベースに記録された匿名化処理の結果に対し、所定の閾値を下回る項目が存在しているか否かを判定する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−０８６１７９
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の技術は、情報の提供元に存在するデータと、匿名化処理済みのデータとの比較を基に、他の提供元が提供した個人情報を特定できる可能性がある。つまり、特許文献１に記載の技術は、必ずしも、匿名性が保たれるとは言えない問題点があった。【０００９】
その理由は、次のとおりである。データの提供元は、匿名化処理済みのデータにおいて、自己が提供したデータを特定できる。そのため、データの提供元は、特定した自己が提供したデータを除き、他の提供元のデータの匿名性を、定められた指標よりも低くできるからである。【００１０】
本発明の目的の一つは、データを提供したいずれの提供元に対しても、データの匿名性を保てる匿名化装置及び匿名化方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明における匿名化装置は、複数の提供元から取得したレコードを結合したデータに関し、当該データの一部であるレコードを提供したいずれの提供元に対してもデータの匿名性が保たれているか否かを判定する判定手段と、判定手段の匿名性の判定結果に基づいて、データを匿名化する匿名化手段と、を含む。【００１２】
上記目的を達成するため、本発明における匿名化方法は、複数の提供元から取得したレコードを結合したデータに関し、当該データの一部であるレコードを提供したいずれの提供元に対しても、データの匿名性が保たれているか否かを判定し、判定結果に基づいて、データを匿名化する。【００１３】
上記目的を達成するため、本発明におけるプログラムは、複数の提供元から取得したレコードを結合したデータに関し、当該データの一部であるレコードを提供したいずれの提供元に対しても、データの匿名性が保たれているか否かを判定する処理と、判定結果に基づいて、データを匿名化する処理とをコンピュータに実行させる。
【発明の効果】
【００１４】
本発明の効果の一例は、データを提供したいずれの提供元に対しても、データの匿名性を保つことできる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の背景を説明するための図である。
【図２】図２は、病院Ｘが保持するデータを示す図である。
【図３】図３は、病院Ｙが保持するデータを示す図である。
【図４】図４は、事業者Ｚが保持するデータを示す図である。
【図５】図５は、図４に示すデータが、本発明に関連する匿名化技術を基に、複数のグループに分割された状態を示す図である。
【図６】図６は、図５に示すデータの一部が統合されたデータを示す図である。
【図７】図７は、本発明に関連する匿名化技術を基に、最終的に生成される匿名化処理済みの結合データを示す図である。
【図８】図８は、第１実施形態に係る匿名化装置１０の構成を示すブロック図である。
【図９】図９は、本発明の第１実施形態に係る匿名化装置１０の動作を示すフローチャートである。
【図１０】図１０は、記憶部１３が記憶する結合データの一例を示す図である。
【図１１】図１１は、準識別子の値に基づいて複数のグループに分割された結合データの一例を示す図である。
【図１２】図１２は、匿名化部１２が匿名化した後のデータの一例を示す図である。
【図１３】図１３は、匿名化装置１０が最終的に出力する匿名化処理済み結合データの一例を示す図である。
【図１４】図１４は、第２実施形態に係る匿名化装置２０の構成を示すブロック図である。
【図１５】図１５は、本発明の第２実施形態に係る匿名化装置２０の動作を示すフローチャートである。
【図１６】図１６は、「病院Ｘ」、「病院Ｙ」及び「病院Ｗ」の３種の提供元情報が付与された結合データの一例を示す図である。
【図１７】図１７は、図１６に示すデータ準識別子の値に基づいて複数のグループに分割した状態の一例を示す図である。
【図１８】図１８は、図１７に示すデータを統合した状態の一例を示す図である。
【図１９】図１９は、匿名化装置２０が最終的に出力する匿名化処理済み結合データの一例を示す図である。
【図２０】図２０は、他のバリエーションでの提供元の結託を考慮した場合の、匿名化処理済みデータを示す図である。
【図２１】図２１は、第３実施形態に係る匿名化装置２０の構成を示すブロック図である。
【図２２】図２２は、本発明の第３実施形態に係る匿名化装置３０の動作を示すフローチャートである。
【図２３】図２３は、提供元情報の種類毎に異なる匿名性レベルの閾値が設定された結合データの一例を示す図である。
【図２４】図２４は、図２３に示すデータを準識別子の値に基づいて複数のグループに分割した状態の一例を示す図である。
【図２５】図２５は、図２４に示すデータを統合した状態の一例を示す図である。
【図２６】図２６は、図２５に示すデータを統合した状態の一例を示す図である。
【図２７】図２７は、匿名化装置３０が最終的に出力する匿名化処理済み結合データの一例を示す図である。
【図２８】図２８は、第４実施形態に係る匿名化装置４０の構成を示すブロック図である。
【図２９】図２９は、本発明の第４実施形態に係る匿名化装置４０の動作を示すフローチャートである。
【図３０】図３０は、第１実施形態に係る匿名化装置１０のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１６】
＜第１実施形態＞
まず、本発明の実施形態の理解を容易にするために、本発明の背景を説明する。
【００１７】
図１は、本発明の背景を説明するための図である。
【００１８】
図１に示すように、本発明の背景として、仲介機関である事業者Ｚが、データの提供機関である病院Ｘ及び病院Ｙからデータの提供を受け、そのデータを結合して、データの利用機関である事業者Ｖに提供する場面を考える。この場面において、２つのデータの提供を受けた事業者Ｚは、両データを結合して匿名化処理を施して、結合データの個人の匿名性を確保する。
【００１９】
匿名化処理の対象となるデータは、一般的に、ユーザを識別するＩＤ（Identification）と、センシティブ情報と、準識別子とを含む。
【００２０】
センシティブ情報とは、個人と紐付いた状態で他人に知られたくない情報である。
【００２１】
準識別子とは、単一の情報では個人を特定できないが、他の情報と組み合わせを基に個人を特定できる可能性のある情報である。
【００２２】
準識別子の値は、個人の特定を防ぐという意味では、全てのレコードにおいて、統一した抽象化が望ましい。一方が、結合データの利用という観点からは、準識別子の値は、個別具体的であることが望ましい。
【００２３】
匿名化の処理は、「個人の特定を防ぐ」という目的と「結合データの利用」という目的を調和させる処理である。匿名化処理には、トップダウン処理とボトムアップ処理がある。ここで、トップダウンの匿名化処理は、「データの分割処理」であり、ボトムアップの匿名化処理は、「データの統合処理」である。
【００２４】
以下、背景について、より具体的に説明する。
【００２５】
事業者Ｚは、病院Ｘ及び病院Ｙという異なる２つの病院がそれぞれ保持する個人情報を収集し、匿名性を確保しながら、両データを結合する。
【００２６】
ここで、説明のための一例として、病院Ｘ及び病院Ｙが保持する個人情報は、「Ｎｏ．」、「年齢」及び「疾病コード」を含む情報であるとする。
【００２７】
「Ｎｏ．」は、ユーザ毎のＩＤに相当する。
【００２８】
そして、個人の病気の特定が可能となる「疾病コード」が、センシティブ情報とする。また、センシティブ情報は、公開されたデータの分析に用いるため、抽象化の処理で変更をしたくない情報とする。
【００２９】
そして、抽象化処理とは、データの属性又は属性値を、より範囲の広い属性又は属性値のデータに変換する処理である。ここで、属性とは、例えば、年齢、性別、住所などの種別である。また、属性値とは、属性の具体的な内容又は値である。抽象化対象データが具体的な値の場合、その値を、その値を含む数値範囲データ（曖昧なデータ）に変換する処理が、抽象化処理の一例である。
【００３０】
センシティブ情報以外の個人情報は、準識別子とする。ここでは、「年齢」が、準識別子である。
【００３１】
本発明に関連する匿名化技術は、匿名性が保たれているか否かを、予め定めたｋ匿名性の指標を満たすか否かを基に、判定する。ｋ匿名性とは、ｋ個以上の準識別子の値が同じデータを要求する指標である。以降の説明では、２匿名性が要求されるとする。また、匿名化処理は、ボトムアップ処理を用いるとする。
【００３２】
図２は、病院Ｘが保持するデータを示す図である。図２に示すように、病院Ｘは、ユーザＩＤが、user1〜user7である計７人の個人情報を保持する。
【００３３】
図３は、病院Ｙが保持するデータを示す図である。図３に示すように、病院Ｙは、ユーザＩＤが、user8〜user13である計６人の個人情報を保持する。
【００３４】
図４は、事業者Ｚが保持するデータを示す図である。図４に示すように、事業者Ｚは、病院Ｘから図２に示すデータを、病院Ｙから図３に示すデータを取得して、両データを結合して保持する。図４に示すデータは、年齢順に並べられている。
【００３５】
次に、本発明に関連する匿名化技術に基づく匿名化について説明する。
【００３６】
本発明に関連する匿名化技術は、図４に示す結合データを、準識別子である「年齢」に基づいて、複数のグループに分割する。
【００３７】
図５は、図４に示すデータが、本発明に関連する匿名化技術に基づき、複数のグループに分割された状態を示す図である。図５において、「年齢」が「２０」のグループは、｛user1、user2、user3、user8｝の４人のユーザを含むため、２匿名性を満たす。同様に、「年齢」が「２３」及び「２４」のグループは、２匿名性を満たす。しかし、「年齢」が「２１」及び「２２」のグループは、それぞれ｛user9｝及び｛user4｝と、含むユーザが一名のため、２匿名性を満たさない。そこで、本発明に関連するボトムアップの匿名化技術は、例えば、「年齢」が「２１」及び「２２」のグループを統合する。
【００３８】
図６は、図５に示すデータの一部が統合されたデータを示す図である。図６に示すように、「年齢」が「２１」及び「２２」のグループは、「年齢」が「２１〜２２」のグループに統合される。この統合されたグループは、２匿名性を満たす。
【００３９】
図７は、本発明に関連する匿名化技術に基づく、最終的に生成される匿名化処理済みの結合データを示す図である。図７に示すように、本発明に関連する匿名化技術は、事業者Ｚが保持するデータを、全てのグループが２匿名性を満たすように匿名化する。
【００４０】
しかし、情報の提供元に存在するデータと、匿名化処理済みのデータとの比較を基に、データの提供元は、他の提供元に存在する個人情報を特定できる場合がある。つまり、図７に示すデータは、必ずしも匿名性が保たれているとは言えない場合がある。
【００４１】
その理由は、次のとおりである。
【００４２】
データを提供したデータ提供元の事業者（病院Ｘ及び病院Ｙ）は、匿名化処理済みのデータにおいて、自己が提供したデータを特定できる。そのため、データの提供元は、定められた指標よりもデータの匿名性を低下できるからである。
【００４３】
より、具体的に説明すると、次のようになる。
【００４４】
例えば、病院Ｘは、自己が提供した図２に示すデータと、匿名化処理済みの図７に示す結合データとを比較する。そして、病院Ｘは、比較を基に、「年齢」が「２１〜２２」のグループに属するデータにおいて、「疾病コード」が「Ｆ」のユーザに関するデータが、自己が提供したデータだと特定できる。同様に、病院Ｙも、データを特定できる。そのため、図７の「年齢」が「２１〜２２」のグループは、病院Ｘ及び病院Ｙに対し、２匿名性を満たせない。そのため、例えば、病院Ｘが、病院Yのデータに含まれる「年齢」が「２１」のユーザの「Ｎｏ．」（ここでは「user9」）が分かると、病院Ｘは、匿名化処理済みの結合データを基に、「user9」の「疾病コード」を「Ｅ」と特定できる。
【００４５】
このように、本発明に関連する匿名化技術は、匿名化指標を満たせない問題点があった。
【００４６】
以下で説明する本発明の第１実施形態は、上述の問題を解決する。
【００４７】
本発明における第１実施形態について、図面を参照して説明する。
【００４８】
まず、図８を参照して、本発明の第１実施形態に係る匿名化装置１０の機能構成を説明する。
【００４９】
図８は、第１実施形態に係る匿名化装置１０の構成の一例を示すブロック図である。匿名化装置１０は、例えば、図１における事業者Ｚが保持する装置である。
【００５０】
図８に示すように匿名化装置１０は、判定部１１と、匿名化部１２と、記憶部１３とを含む。
【００５１】
なお、本実施形態の説明において、図１に示したように、匿名化装置１０が取得する情報の提供元は、例えば、病院Ｘ及び病院Ｙの２つとする。ただし、これは一例であり、提供元の数は、２つに限定されず、３以上でも良い。
【００５２】
また、匿名化装置１０が含む匿名化部１２が実行する匿名化処理は、既存の手法で良く、トップダウン処理でも、ボトムアップ処理でも良い。そこで、以下の本実施形態の説明では、一例として、匿名化部１２は、ボトムアップの匿名化を処理するとして、説明する。
【００５３】
匿名化装置１０は、予め、記憶部１３に、結合データを記憶する。結合データとは、匿名化装置１０が複数の提供元から取得したデータを結合したデータである。結合データは、ユーザに関する属性情報であるユーザ属性情報と、ユーザ属性情報の提供元を示す情報である提供元情報とが関連付けられたレコードの集合である。例えば、匿名化装置１０は、図８に示すように、病院Ｘ及び病院Ｙから取得したデータの結合である結合データを記憶部１３に記憶する。
【００５４】
匿名化装置１０は、例えば、匿名化装置１０のユーザから指示を受け、結合データの匿名化を開始する。なお、匿名化装置１０は、ユーザが匿名化装置１０の判定部１１に匿名化処理の開始を指示する態様でも良い。
【００５５】
判定部１１は、ユーザから開始指示を受けると、記憶部１３から、結合データを取得する。
【００５６】
判定部１１は、記憶部１３から取得した結合データに関し、データのいずれの提供元に対しても、データの匿名性が保たれるか否かを判定する。この説明では、「いずれの提供元」とは、病院Ｘ及び病院Ｙを指す。そのため、具体的には、判定部１１は、病院Ｘ及び病院Ｙが、自己が保持するデータと結合データとを比較しても、匿名性が保たれか否かを判定する。なお、後ほど説明するように、判定部１１は、匿名化部１２から出力されたデータに関しても、データのいずれの提供元から見てもデータの匿名性が保たれているか否かを判定する。
【００５７】
判定部１１は、匿名性が保たれていない（例えば、ｋ匿名を満たしていない）グループがあると判定した場合、結合データを匿名化部１２に出力する。
【００５８】
匿名化部１２は、判定部１１から結合データを受けると、受け取った結合データに含まれる匿名性が保たれていないグループを匿名化する。本実施形態の匿名化処理はボトムアップ処理のため、匿名化部１２は、結合データに含まれる匿名性が保たれていないグループを統合する。
【００５９】
判定部１１は、匿名化部１２が匿名化後の結合データに匿名性が保たれていないグループが存在する場合、匿名化部１２に、結合データを出力する。匿名化部１２は、結合データを受け取り匿名化する。すなわち、判定部１１及び匿名化部１２は、判定部１１が、匿名化が保たれているグループが無いと判定するまで、匿名化部１２のデータの匿名化処理を繰り返す。
【００６０】
判定部１１は、結合データの全てのグループの匿名性が保たれたと判定すると、匿名化処理済み結合データを外部に出力する。外部とは、例えば、図１に示す事業者Ｖである。つまり、判定部１１は、匿名化処理済み結合データを、例えば、図１に示す事業者Ｖに出力する。
【００６１】
次に、図９を参照して、第１実施形態に係る匿名化装置１０の動作について説明する。
【００６２】
図９は、第１実施形態に係る匿名化装置１０の動作を示すフローチャートである。
【００６３】
図９に示すように、匿名化装置１０の判定部１１は、記憶部１３から提供元情報が付与された結合データを取得する（ステップＳ１）。なお、記憶部１３は、異なる複数の事業者（例えば病院Ｘ及び病院Ｙ）から取得したデータを、その提供元を示す情報（病院Ｘから取得したのか、病院Ｙから取得したのか等を示す情報）と共に予め記憶している。
【００６４】
判定部１１は、取得した結合データを、準識別子の値が同一である複数のレコードを１つのグループとして、複数のグループに分割する（ステップＳ２）。
【００６５】
判定部１１は、記憶部１３から取得した結合データに関し、データのいずれの提供元（例えば「病院Ｘ」及び「病院Ｙ」）に対しても、データの匿名性が保たれているか否かを判定する（ステップＳ３）。
【００６６】
より具体的には、判定部１１は、次のように判定する。
【００６７】
判定部１１は、準識別子（例えば「年齢」）の値が同一であるグループから一のグループを選び、一の種類の提供元情報（例えば「病院Ｘ」）を含むレコードを除いたグループを仮定する。そして、判定部１１は、そのグループに含まれるレコード数が、匿名性の指標（例えば「２匿名性」）である閾値以上であるか否か（例えば「２つ以上であるか否か」）を判定する。
【００６８】
判定部１１は、全てのグループにおいて、同様の判定を実施する。
【００６９】
さらに、判定部１１は、提供元情報の全ての種類（例えば、「病院Ｘ」及び「病院Ｙ」）に対して、同様の判定を実施する。
【００７０】
そして、判定部１１は、全ての判定を基に、結合データの匿名性が保たれているか否かを判定する。
【００７１】
判定部１１の判定処理の詳細な説明は、後述する。
【００７２】
判定部１１は、ステップＳ３の判定を基に、次の処理を選択する（ステップＳ４）。
【００７３】
全てのグループで匿名性の指標である閾値以上である（全グループが匿名性を保っている）場合（ステップＳ４、Ｙｅｓ）、判定部１１は、判定処理の対象となった結合データを、匿名化処理済みの結合データとして出力する。
【００７４】
一方、閾値以上でないグループが存在する（匿名性を保っていないグループが存在する）場合（ステップＳ４、Ｎｏ）、判定部１１は、匿名化部１２に対しグループの統合を指示する。匿名化部１２は、匿名性が保たれていないグループを統合する（ステップＳ５）。
【００７５】
匿名化部１２のグループの統合処理は、特に制限はない。例えば、匿名化部１２は、匿名性を保っていないグループにおける任意の準識別子に着目し、データ空間上の重心距離が最も近いグループ同士を統合して抽象化しても良い。
【００７６】
ステップＳ５を実行すると、判定部１１は、匿名化部１２が統合したグループについて、ステップＳ４と同様に、いずれの提供元に対しも匿名性が保たれているか否かを判定する（ステップＳ６）。より具体的には、判定部１１は、統合したグループの各提供元情報に対して、提供元のレコードを引いたレコード数が匿名性の指標である閾値以上であるか否かを判定する。
【００７７】
判定部１１は、判定結果を基に、次の処理を選択する（ステップＳ７）。
【００７８】
統合した全てのグループが閾値以上の場合（ステップＳ７、Ｙｅｓ）、判定部１１は、判定処理の対象となった結合データを、匿名化処理済みの結合データとして出力する。
【００７９】
一方、レコード数が閾値以上でないグループが存在する場合（ステップＳ７、Ｎｏ）、判定部１１は、再び、匿名化部１２にグループの統合を指示する。匿名化部１２は、再度、匿名性が保たれていないグループを統合する（ステップＳ５）。
【００８０】
判定部１１及び匿名化部１２は、全てのグループが閾値以上となるまで、ステップＳ５〜ステップＳ７を繰り返す。
【００８１】
次に、図１０〜図１３を参照して、図９の各ステップを、具体的に例を用いて説明する。前提として、匿名化装置１０は、事業者Ｚが有するものとする。また、データの提供元は、病院Ｘ及び病院Ｙとする（図１参照）。さらに、事業部Ｚは、病院Ｘから図２に示すデータを、病院Ｙから図３に示すデータを取得するとする。すなわち、準識別子は、「年齢」の情報であり、センシティブ情報は、「疾病コード」の情報であるとする。さらに、匿名性は、個人情報のテーブルが２匿名性を要求するものとする。
【００８２】
図９のステップＳ１において、判定部１１は、記憶部１３から結合データを取得する。
【００８３】
図１０は、記憶部１３が記憶する結合データの一例を示す図である。
【００８４】
図１０に示すように、記憶部１３は、個人情報を、そのデータの提供元を示す情報（提供元情報）とともに記憶している。判定部１１は、提供元情報が付与された結合データを取得する。
【００８５】
図９のステップＳ２において、判定部１１は、取得した結合データを、準識別子の値が同一である複数のレコードを１つのグループとして、複数のグループに分割する。
【００８６】
図１１は、準識別子の値に基づいて複数のグループに分割された結合データの一例を示す図である。
【００８７】
図１１に示すように、結合データは、「年齢」がそれぞれ「２０」、「２１」、「２２」、「２３」及び「２４」の５つのグループに分割される。図１１において、グループ毎に匿名性を満たしている（ＯＫ）か、満たしていないか（ＮＧ）かが、表示されている。
【００８８】
ここで、判定部１１が、いずれのデータの提供元から見ても、各グループが匿名性を満たしているか否かを判定する処理について詳細に説明する。
【００８９】
まず、判定部１１は、準識別子の値が同一であるグループに含まれるレコードから、ある一つの提供元情報を含むレコードを除く。例えば、判定部１１は、「年齢」が「２０」のグループから、提供元情報が「病院Ｘ」であるuser1、user2、user3のレコードを除く。判定部１１は、３つのレコードを除いた後の「年齢」が「２０」のグループの匿名性を判定する。３つのレコードを除いた後の「年齢」が「２０」のグループのレコード数は、１つ（user8のレコード）である。そのため、判定部１１は、このグループが２匿名性を満たさない（レコード数が２つ以上でない）と判定する。つまり、判定部１１は、「年齢」が「２０」のグループが匿名性を保っていないと判定する。
【００９０】
判定部１１は、全てのグループにおいて、全ての提供元情報の種類に対して判定する。
【００９１】
図１１のデータでは、判定部１１は、「年齢」が「２１」、「２２」及び「２３」のグループが、匿名性を保っていないと判定する。
【００９２】
これに対し、「年齢」が「２４」のグループは、提供元情報として「病院Ｘ」のレコードを除いた場合も、「病院Ｙ」を除いた場合も、レコード数が２である。そのため、判定部１１は、「年齢」が「２４」のグループをいずれの提供元に対しても匿名性が保たれていると判定する。
【００９３】
このように、この説明の場合、匿名性の指標である「２」が、閾値となる。
【００９４】
判定部１１は、レコード数が２以上でないグループが存在する（匿名性を保っていないグループが存在する）と判定すると（ステップＳ４、Ｎｏ）、匿名化部１２にグループの統合を指示する。
【００９５】
図９のステップＳ５において、匿名化部１２は、判定部１１からの指示に応じて、匿名性を満たさないグループを統合する。例えば、匿名化部１２は、データ空間上の距離の近さを基に、「年齢」が「２０」のグループ及び「２１」のグループを統合し、「２２」のグループ及び「２３」のグループを統合する。なお、匿名化部１２は、記憶部１３のデータを統合していも良い。あるいは、匿名化部１２は、判定部１１から「年齢」が「２０」及び「２１」のグループと、「２２」及び「２３」のグループとのデータを受信し、それらグループを統合しても良い。
【００９６】
図１２は、匿名化部１２の匿名化処理後のデータの一例を示す図である。
【００９７】
図１２に示すように、匿名化部１２は、「年齢」の値を抽象化し、各グループを統合する。図１２に示すデータは、判定部１１における図９のステップＳ６での再度の判定の対象となる情報である。
【００９８】
図１２のデータの場合、図９のステップＳ６において、判定部１１は、「年齢」が「２０〜２１」のグループ及び「２２〜２３」のグループが、どちらも「病院Ｘ」のレコードを除いても、「病院Ｙ」のレコードを除いても、２匿名性を満たすと判定する。そのため、判定部１１は、現在の判定対象となった結合データを匿名化処理済み結合データとして出力する（ステップＳ７、Ｙｅｓ）。
【００９９】
図１３は、匿名化装置１０が最終的に出力する匿名化処理済み結合データの一例を示す図である。
【０１００】
図１３に示すように、匿名化装置１０（判定部１１）は、提供元が外部に漏れず、個人が特定されないように、結合データから提供元情報とユーザＩＤ（Ｎｏ．）とを削除して、匿名化処理済み結合データを出力する。
【０１０１】
以上説明したように、第１実施形態に係る匿名化装置１０は、いずれのデータ提供元に対しても、データの匿名性を保てる。
【０１０２】
その理由は、次のとおりである。
【０１０３】
判定部１１が、提供元毎にその提供元が保持するデータを除き、他の提供元が保持しているデータで匿名性を満たしているか否かを判定する。そして、匿名性を満たしていない場合、匿名化部１２が、匿名性を満たすまで、データを匿名化するからである。
【０１０４】
なお、本実施形態においては、匿名化部１２の匿名化処理をボトムアップの手法として説明したが、匿名化部１２は、トップダウン処理を用いて匿名化しても良い。
【０１０５】
トップダウン処理で匿名化する場合、匿名化部１２は、データを統合するのではなく、データを分割する。
【０１０６】
具体的には、匿名化部１２は、最初に、データを１つのグループにまとめ、その後、グループの分割点を決定し、データを複数のグループに分割する。
【０１０７】
分割の一例の動作を説明すると次のようになる。
【０１０８】
まず、判定部１１が、全ての分割後のグループにおいて、全ての提供元情報の種類に対して、各提供元のデータを除いた場合のレコード数が、匿名性の指標である閾値以上であるか否かを判定する。そして、全てのグループにおいて閾値以上の場合、判定部１１は、匿名化部１２に分割を依頼する。匿名化部１２は、トップダウン処理（データの分割）の匿名化を実施する。判定部１１は、全グループが匿名性を満たす限り、この動作を繰り返す。そして、匿名化部１２の匿名化の後、１つでも匿名性を満たさないグループが存在した場合、判定部１１は、最後のデータの分割をキャンセル、つまり前回の匿名化部１２の匿名化前のグループに戻し、そのデータを匿名化処理済み結合データとして出力する。
【０１０９】
なお、トップダウン処理の匿名化の場合、匿名化部１２は、結合データの各グループの中央値を分割点としても良いし、その他の方法で分割点を決定しても良い。例えば、匿名化部１２は、エントロピー量を考慮して分割点を決定しても良い。より具体的には、匿名化部１２は、エントロピーを基に、分割後のグループに属するデータに関し、提供元（例えば、病院Ｘ及び病院Ｙ）の偏りが少ない点を、分割点としても良い。
【０１１０】
例えば、匿名化部１２は、分割後のグループにおけるエントロピーを、次の式で計算しても良い。
【０１１１】
エントロピー＝Σ｛−１×Ｐ（Class）×ｌｏｇ（Ｐ（Class））｝
ここで、「Class」を「病院Ｘ」又は「病院Ｙ」とする場合、Ｐ（Class）は、それぞれ次のようになる。
【０１１２】
Ｐ（病院Ｘ）＝（分割後のグループ内での「病院Ｘ」の数）／（分割後のグループ内での「病院Ｘ」及び「病院Ｙ」の数の合計）
Ｐ（病院Ｙ）＝（分割後のグループ内での「病院Ｙ」の数）／（分割後のグループ内での「病院Ｘ」及び「病院Ｙ」の数の合計）
つまり、匿名化部１２は、分割後のグループにおけるエントロピーを次のように計算する。
【０１１３】
エントロピー＝｛−１×Ｐ（病院Ｘ）×ｌｏｇ（Ｐ（病院Ｘ））｝＋｛−１×Ｐ（病院Ｙ）×ｌｏｇ（Ｐ（病院Ｙ））｝
例えば、匿名化部１２は、上記のエントロピーを、適当な分割候補点における分割後の２つのグループについて計算する。なお、匿名化部１２は、分割候補点を、所定のルール（アルゴリズム）で決めても良く、周知の手法で決めても良い。そして、匿名化部１２は、２つのグループのエントロピーを足した値（Ｓ）が最も大きくなる分割候補点を、分割点として決定すれば良い。
【０１１４】
Ｓの値が大きいと２つのグループは、２つのグループ内におけるデータの混ざり具合（「病院Ｘ」のデータと「病院Ｙ」のデータとの混ざり具合）が大きく、２つのグループ間でのデータの偏りが少ないことを意味する。
【０１１５】
また、匿名化部１２は、全分割候補点のなかで、最大のエントロピーの値を取るグループを含む分割候補点を、分割点としても良い。エントロピーを用いた分割点の決定方法は、上述の方法には限定されず、他の方法でも良い。
【０１１６】
また、ここまでの説明において、判定部１１は、ｋ匿名性を指標として匿名性を判断した。しかし、判定部１１は、ｋ匿名性に限らず、他の指標、例えば、ｌ多様性を指標として判断しても良い。ｌ多様性とは、グループ内にｌ通り以上のセンシティブ情報を要求する指標である。
【０１１７】
例えば、判定部１１は、準識別子の値が同一であるグループから、一の種類の提供元情報を含むレコードを除いた場合における、そのグループに含まれるセンシティブ情報の種類の数が、予め定められたｌ多様性の指標である閾値以上であるか否かについて、提供元情報の種類毎に全ての前記グループにおいて判定しても良い。
【０１１８】
具体的な例として、結合データにおいて、３多様性を要求する場合を考える。
【０１１９】
例えば、図１３に示すデータにおいて、「年齢」が「２０〜２１」及び「２２〜２３」のグループは、センシティブ情報である「疾病コード」の種類が、それぞれ５種類（Ａ、Ｂ、Ｃ、Ｄ、Ｅ）及び４種類（Ｆ、Ａ、Ｂ、Ｃ）である。そのため、「年齢」が「２０〜２１」及び「２２〜２３」のグループは、３多様性を満たす。一方、「年齢」が「２４」のグループは、「疾病コード」の種類が２種類（Ｃ、Ｄ）である。そのため、「年齢」が「２４」のグループは、３多様性を満たさない。判定部１１は、３多様性を満たさないと判定し、匿名化部１２に匿名化を指示する。
【０１２０】
匿名化部１２は、上述した判定部１１の匿名性及び多様性の判定結果に基づいて、データの匿名化する。なお、匿名化部１２は、匿名化処理を繰り返しても良い。また、判定部１１は、その他の指標（例えば、t近似性）を満たしているか否かを判定しても良い。ｔ近似性とは、２つのグループがセンシティブデータの分布の距離と全属性の分布の距離がｔ以下であることを要求する指標である。
【０１２１】
また、本実施形態において、各グループが提供元情報について「病院Ｘ」及び「病院Ｙ」の両方を含む例を説明したが、匿名化装置１０は、「病院Ｘ」のデータのグループ又は「病院Ｙ」のデータのグループを生成しても良い。
【０１２２】
例えば、図１２において、匿名化装置１０は、「年齢」が「２２〜２３」のグループを、提供元が全て「病院Ｙ」のグループとしても良い。「２２〜２３」のグループのデータが、全て病院Ｙのレコードの場合、他の提供元（病院Ｘ）は、自己のデータを用いても、グループ内のデータの数を少なくできない。そのため、他の提供元は、グループ内の個人を特定できない。このように、病院Ｘに対する匿名性は、低下しない。
【０１２３】
＜第２実施形態＞
次に、本発明の第２実施形態に係る匿名化装置２０について説明する。
【０１２４】
匿名化装置２０は、複数の提供元が結託した場合においても、匿名性を保つように動作する点で、匿名化装置１０と異なる。
【０１２５】
図１４は、第２実施形態に係る匿名化装置２０の構成の一例を示すブロック図である。
【０１２６】
図１４に示すように、匿名化装置２０は、第１実施形態における匿名化装置１０と比較して、判定部１１に代えて判定部２１を含み、記憶部１３に代えて記憶部２３を含む点で異なる。なお、匿名化部１２は、第１実施形態と同様に動作するため、詳細な説明を省略する。また、本実施形態の説明においても、２匿名性を要求するものとする。
【０１２７】
記憶部２３は、三種以上の提供元情報と関連付けられたデータを記憶する。例えば、匿名化装置２０は、病院Ｘ及び病院Ｙに加え、病院Ｗからデータの提供を受ける。そして、記憶部２３は、３種類の提供元情報と関連付けられた結合データを記憶する。
【０１２８】
判定部２１は、提供元情報が三種以上含まれるグループにおいて、所定の二種以上の提供元情報を一種の提供元としてまとめ、提供元情報の種類毎に、匿名性を判定する。
【０１２９】
次に、図１５を参照して、本発明の第２実施形態に係る匿名化装置２０の動作について説明する。
【０１３０】
図１５は、本発明の第２実施形態に係る匿名化装置２０の動作を示すフローチャートである。図１５に示すように、匿名化装置２０は、匿名化装置１０と比較して、ステップＳ３に代えてステップＳ８を、ステップＳ６に代えてステップＳ９を実行する点で異なる。他のステップは同様のため、詳細な説明を省略する。
【０１３１】
ステップＳ８において、判定部２１は、基本的に判定部１１と同様に動作する。判定部２１は、提供元情報が三種以上（例えば「病院Ｘ、病院Ｙ及び病院Ｗ」）含まれるグループにおいて、所定の二種以上の提供元情報（例えば「病院Ｙ」と「病院Ｗ」）を結合した情報を一種の提供元情報とする。そして、判定部２１は、提供元情報の種類毎（「病院Ｘ」を一種、「病院Ｙ」及び「病院Ｗ」の組合せを一種）に、匿名性を判定する。
【０１３２】
例えば、病院Ｙと病院Ｗの信頼性が低いと考えられる場合、病院Ｙと病院Ｗの結託とが、想定される。ここで結託とは、病院Ｙと病院Ｗとが、データを共有して匿名性を下げることである。そこで、判定部２１は、病院Ｙと病院Ｗとが結託してそれぞれが保持するデータを共有した場合でも、匿名性が保たれているか否かを判定する。
【０１３３】
ステップＳ９において、判定部２１は、匿名化部１２がステップＳ５で統合したグループについて、ステップＳ８と同様に、所定の二種以上の提供元情報を一種の提供元として匿名性を判定する。
【０１３４】
次に、図１６〜図１９を参照して、図１５の各ステップを、具体的に例を用いて説明する。
【０１３５】
図１５のステップＳ１において、判定部２１は、記憶部２３からデータを取得する。
【０１３６】
図１６は、「病院Ｘ」と「病院Ｙ」と「病院Ｗ」との３種の提供元情報が付与された結合データの一例を示す図である。
【０１３７】
図１６に示すように、記憶部２３は、記憶部１３が記憶する図１０に示すデータに加え、病院Ｗから取得したuser14（「年齢」が「２１」、「疾病コード」が「Ａ」）及びuser15（「年齢」が「２２」、「疾病コード」が「Ｂ」）のデータを記憶する。
【０１３８】
図１５のステップＳ２において、判定部２１は、記憶部２３から取得したデータを準識別子の値に基づいて複数のグループに分割する。
【０１３９】
図１７は、図１６に示すデータが準識別子の値に基づいて複数のグループに分割された状態の一例を示す図である。
【０１４０】
図１７に示すように、結合データは、「年齢」がそれぞれ「２０」、「２１」、「２２」、「２３」及び「２４」の５つのグループに分割される。図１７において、２つ以上の病院が結託した場合において、グループ毎に匿名性を満たしている（ＯＫ）か、満たしていないか（ＮＧ）かが、表示されている。
【０１４１】
ここで、判定部２１が、２つ以上の病院が結託した場合においていずれのデータの提供元から見ても、各グループが匿名性を満たしているか否かを判定する処理について詳細に説明する。
【０１４２】
本実施形態において判定部２１は、提供元情報が三種以上含まれるグループを、結託した場合の判定対象とする。また、病院Ｙと病院Ｗの信頼性が低いものとし、判定部２１は、「病院Ｙ」及び「病院Ｗ」を一種の提供元として、匿名性を満たしているか否かを判定するものとする。
【０１４３】
図１５のステップＳ８において、判定部２１は、二種類の提供元情報（病院Ｙと病院Ｗ）を一種の提供元とした場合における匿名性を判定する。ただし、本実施形態において、提供元情報が三種以上含まれるグループを、結託した場合の判定対象とする。
【０１４４】
ここで、図１７に示すグループを確認すると、全グループが、二種類の提供元である。つまり、各グループの提供元情報は、「病院Ｘ」と「病院Ｙ」（「年齢」が「２０」のグループ）、「病院Ｙ」と「病院Ｗ」（「年齢」が「２１」のグループ）、「病院Ｘ」と「病院Ｗ」（「年齢」が「２２」のグループ）、「病院Ｘ」と「病院Ｙ」（「年齢」が「２３」のグループ）、及び「病院Ｘ」と「病院Ｙ」（「年齢」が「２４」のグループ）である。そのため、判定部２１は、結託を考慮した判定を処理しない。つまり、判定部２１は、１種類の提供元情報を基に判定する。判定部２１の判定結果は、図１７に示すとおり、閾値を満たさないグループがある（ステップＳ４、Ｎｏ）。そのため、匿名化装置１０は、ステップＳ５に進む。
【０１４５】
図１５のステップＳ５において、匿名化部１２は、図１７に示すデータのうちＮＧのグループを統合する。
【０１４６】
図１８は、図１７に示すデータを統合した状態の一例を示す図である。
【０１４７】
図１８に示す場合において、「年齢」が「２０〜２１」のグループと、「２２〜２３」のグループは、「病院Ｘ」と、「病院Ｙ」と、「病院Ｗ」との三種類の提供元情報を含むため、結託を考慮した判定処理の対象となる。
【０１４８】
図１５のステップＳ９において、判定部２１は、「年齢」が「２０〜２１」のグループと、「２２〜２３」のグループから、「病院Ｙ」及び「病院Ｗ」を一種の提供元としてレコードを除外してから、匿名性を判定する。この場合、「年齢」が「２０〜２１」のグループは、「病院Ｘ」のレコードが３つ残り、「２２〜２３」のグループは、「病院Ｘ」のグループが２つ残る。つまり、どちらのグループも、２匿名性を満たす。従って、判定部２１は、全てのグループが匿名性を満たしていると判定する。そのため、判定部２１は、判定対象となった結合データを、匿名化処理済み結合データとして出力する（ステップＳ７、Ｙｅｓ）。
【０１４９】
図１９は、匿名化装置２０が最終的に出力する匿名化処理済み結合データの一例を示す図である。
【０１５０】
なお、これまでは「病院Ｙ」及び「病院Ｗ」が結託した場合を考慮したが、考慮する結託のパターンは、これに限定されない。例えば、判定部２１は、提供元情報の全ての組合せが匿名性を満たしている場合に、匿名性が保たれていると判定しても良い。具体的には、例えば、図１８の場合において、判定部２１は、「年齢」が「２０〜２１」及び「２２〜２３」の各グループで、「病院Ｘ」及び「病院Ｙ」の組合せと、「病院Ｘ」及び「病院Ｗ」の組合せと、「病院Ｙ」及び「病院Ｗ」の組合せとにおいて、レコードを除外した匿名性を判定しても良い。この場合、いずれのグループも、「病院Ｘ」及び「病院Ｙ」又は「病院Ｘ」及び「病院Ｗ」を一種として場合、「病院Ｗ」のレコードが１つとなるので、２匿名性を満たさない。従って、上述の場合、結合データは、さらに、図２０に示されるようにグループが統合される。
【０１５１】
また、本実施形態の説明において、匿名化処理の対象のデータにおける提供元情報が三種であり、二種の提供元情報を一種の提供元情報とするケースについて説明した。しかし、本発明は、これに限定されない。本実施形態は、匿名化処理の対象のデータにおける提供元情報を、三種以上としても良く、二種以上の複数の提供元情報を一種の提供元情報としても良い。
【０１５２】
以上説明したように、第２実施形態に係る匿名化装置２０は、データを提供した複数の提供元が結託した場合でも、データの匿名性を保てる。
【０１５３】
その理由は、次のとおりである。
【０１５４】
判定部２１が、複数の提供元情報を一種の提供元情報として、匿名性を満たしているか否かを判定するからである。そして、匿名性が満たされない場合、判定部２１が、匿名化部１２に匿名化を指示するためである。
【０１５５】
＜第３実施形態＞
次に、本発明の第３実施形態に係る匿名化装置３０について説明する。匿名化装置３０は、提供元に応じて異なる匿名化レベルが設定される点で、匿名化装置１０及び匿名化装置２０と異なる。
【０１５６】
図２１は、第３実施形態に係る匿名化装置３０の構成の一例を示すブロック図である。
【０１５７】
図２１に示すように、匿名化装置３０は、匿名化装置１０及び匿名化装置２０と比較して、設定部３４を含む点で異なる。また、匿名化装置３０は、判定部１１及び判定部２１に代わって判定部３１を含む点で異なる。記憶部２３及び匿名化部１２は、同様のため、詳細な説明を省略する。なお、本実施形態の説明においても、２匿名性を要求するものとする。
【０１５８】
設定部３４は、記憶部２３が記憶する結合データに対し、提供元情報の種類毎に異なる匿名性レベルの閾値を設定する。設定部３４は、例えば、提供元の信頼度に応じた匿名性レベルを設定しても良い。設定部３４は、提供元情報の種類に応じて異なる匿名性レベルを設定した結合データを判定部３１に出力する。
【０１５９】
本実施形態において、図２１に示すように、設定部３４は、ユーザから提供元情報の種類に応じた匿名性レベルの設定指示を受け付けても良い。また、匿名化装置３０は、設定部３４が設定指示を受けたときに、匿名化処理を開始しても良い。
【０１６０】
判定部３１は、提供元情報が同一のレコードを除いた場合のレコード数が、提供元情報の種類に応じて異なる閾値（匿名化の指標）以上であるか否かを判定する。
【０１６１】
次に、図２２を参照して、本発明の第３実施形態に係る匿名化装置３０の動作について説明する。
【０１６２】
図２２は、本発明の第３実施形態に係る匿名化装置３０の動作を示すフローチャートである。
【０１６３】
図２２に示すように、匿名化装置３０は、匿名化装置１０の動作と比較して、ステップＳ１０を含む点で異なる。また、匿名化装置３０の動作は、匿名化装置１０の動作と比較して、ステップＳ３に代えてステップＳ１１を、ステップＳ６に代えてステップＳ１２を実行する点で異なる。
【０１６４】
他のステップは同様のため、適宜、詳細な説明を省略する。
【０１６５】
ステップＳ１０において、設定部３４は、記憶部２３が記憶する結合データに対し、提供元情報の種類毎に、匿名性レベルの閾値を設定する。設定部３４は、各提供元情報の種類に異なる匿名性レベルを設定しても良く、複数の提供元情報の種類に同じ匿名性レベルの閾値を設定しても良い。
【０１６６】
また、ステップＳ１１及びステップＳ１２において、判定部１１は、各グループにおいて提供元情報の種類毎に、その提供元情報を除いたレコード数が、提供元情報の種類毎の匿名性レベルの閾値以上であるか否かを判定する。
【０１６７】
次に、図２３〜図２７を参照して、図２２の各ステップを、具体的に例を用いて説明する。
【０１６８】
本実施形態において、記憶部２３は、第２実施形態と同様に、図１６に示す結合データを記憶しているものとする。
【０１６９】
図２２のステップＳ１０において、設定部３４は、記憶部２３から結合データを取得する。そして、設定部３４は、記憶部２３が記憶する結合データに対し、提供元情報の種類毎に匿名性レベルの閾値を設定する。
【０１７０】
図２３は、提供元情報の種類毎に、匿名性レベルの閾値が設定された結合データの一例を示す図である。
【０１７１】
図２３に示すように、設定部３４は、例えば、病院Ｘは信頼度が高いので匿名化レベルを「１」に、病院Ｙは普通の信頼度なので匿名化レベルを「２」に、又、病院Ｗは信頼度が低いので匿名化レベルを「３」に設定する。
【０１７２】
図２２のステップＳ２において、判定部３１は、記憶部２３から取得したデータを、準識別子の値に基づいて、複数のグループに分割する。
【０１７３】
図２４は、図２３に示すデータを、準識別子の値に基づいて複数のグループに分割した状態の一例を示す図である。図２４に示すように、結合データは、「年齢」がそれぞれ「２０」、「２１」、「２２」、「２３」及び「２４」の５つのグループに分割される。
【０１７４】
ここで、判定部３１が、いずれのデータの提供元から見ても、各グループが提供元情報の種類毎に匿名性レベルを満たしているか否かを判定する処理について詳細に説明する。
【０１７５】
図２２のステップＳ１１において、判定部３１は、提供元情報が同一のレコードを除いた場合のレコード数が、提供元情報の種類に応じて閾値以上であるか否かを判定する。図２４において、提供元情報の種類毎の匿名性レベルを、グループ毎に満たしている（ＯＫ）か、満たしていないか（ＮＧ）かが、表示されている。
【０１７６】
例えば、「年齢」が「２０」のグループは、「病院Ｘ」のレコードを除いた場合、残るのは「病院Ｙ」のレコードが一つである。病院Ｘは、信頼度が高く、「病院Ｘ」の「匿名化レベル」は、「１」である。そのため、判定部３１は、「年齢」が「２０」のグループが、匿名性を満たしていると判定する。また、「病院Ｙ」を除いた場合、「病院Ｘ」のレコードが３つ残る。「病院Ｙ」の「匿名性レベル」は、「２」である。そのため、判定部３１は、「年齢」が「２０」のグループが、匿名性が保たれていると判定する。
【０１７７】
一方、「年齢」が「２１」及び「２２」のグループは、それぞれ、信頼度が低く「匿名性レベル」が「３」の「病院Ｗ」を含む。そして、いずれのグループも、「病院Ｗ」のレコードを除いた場合、残るレコードが一つである。そのため、判定部３１は、「年齢」が「２１」及び「２２」のグループを、いずれも、匿名性を満たさないと判定する。
【０１７８】
判定部３１は、全てのグループについて同様に判定する。
【０１７９】
図２２のステップＳ５において、匿名化部１２は、図２４に示すＮＧのグループを統合する。
【０１８０】
図２５は、図２４に示すデータを統合した状態の一例を示す図である。
【０１８１】
本実施形態の匿名化部１２は、ＮＧのグループのうち、まず、「年齢」が「２１」と「２２」のグループを統合する。図２５に示す「年齢」が「２１」と「２２」のグループを統合した「２１〜２２」のグループは、「病院Ｗ」のレコードを除くと２つのレコードが残る。「病院Ｗ」の「匿名化レベル」は、「３」である。そのため、図２２のステップＳ１２において、判定部３１は、「２１〜２２」のグループがまだ匿名性を満たさないと判定する（ステップＳ７、Ｎｏ）。
【０１８２】
そのため、再び図２２のステップＳ５において、匿名化部１２は、匿名性を満たさないと判断された「年齢」が「２１〜２２」のグループを統合する。匿名化部１２は、ＮＧのグループである、「年齢」が「２１〜２２」のグループと、「２３」のグループとを統合する。
【０１８３】
図２６は、図２５に示すデータを統合した状態の一例を示す図である。
【０１８４】
図２６に示す「年齢」が「２１〜２２」と「２３」のグループを統合した「２１〜２３」のグループは、「病院Ｗ」のレコードを除くと５つのレコードが残る。「病院Ｗ」の「匿名化レベル」は、「３」である。そのため、図２２のステップＳ１２において、判定部３１は、「２１〜２３」のグループが匿名性を満たしていると判定する（ステップＳ７、Ｙｅｓ）。
【０１８５】
図２７は、匿名化装置３０が最終的に出力する匿名化処理済み結合データの一例を示す図である。
【０１８６】
以上説明したように、第３実施形態に係る匿名化装置３０は、データを提供した複数の提供元の信頼度に対応してデータの匿名性を保てる。
【０１８７】
その理由は、次のとおりである。
【０１８８】
設定部３４が、記憶部２３が記憶する結合データに対し、提供元情報の種類毎に匿名性レベルの閾値を設定する。そして、判定部３１が、提供元の信頼度を基に、匿名化部１２の匿名化を指示するからである。
【０１８９】
なお、本実施形態においては、設定部３４が記憶部２３の記憶するデータに匿名性レベルを設定するものとして説明した。しかし、本発明は、これに限定されない。例えば、記憶部２３は、予め提供元に応じた匿名性レベルが設定された結合データを記憶していても良い。この場合、設定部３４は、不要である。また、判定部３１が、複数のグループに分割する前に提供元に応じて匿名性レベルを設定しても良い。
【０１９０】
また、トップダウン処理の匿名化においてエントロピーを考慮して分割点を決定する場合、匿名化部１２は、信頼度に応じた重み付きエントロピーを用いても良い。
【０１９１】
例えば、匿名化部１２は、分割後のグループにおけるエントロピーを次の式で計算しても良い。
【０１９２】
エントロピー＝Σ｛−ＷClass×Ｐ（Class）×ｌｏｇ（Ｐ（Class））｝
ここで、ＷClassを乗算する以外は、第１実施形態に示した関数と同様の関数でも良い。また、上記のエントロピーの値に基づいた分割点の決定方法も、第１実施形態で示した方法と同様でも良い。ＷClassは、Class毎の（例えば、病院Ｘ、病院Ｙ及び病院Ｗそれぞれの）信頼度に応じた重み係数である。上述した例では、例えば、「Class」が「病院Ｘ」の場合、「ＷClass」が「１」、「Class」が「病院Ｙ」の場合、「ＷClass」が「２」、「Class」が「病院Ｗ」の場合、「ＷClass」が「３」である。
【０１９３】
＜第４実施形態＞
次に、本発明の第４実施形態に係る匿名化装置４０について説明する。
【０１９４】
匿名化装置４０は、判定部４１に直接外部からデータが入力される点で、匿名化装置１０、匿名化装置２０及び匿名化装置３０と異なる。
【０１９５】
図２８は、第４実施形態に係る匿名化装置４０の構成の一例を示すブロック図である。
【０１９６】
図２８に示すように、匿名化装置４０は、匿名化装置１０、匿名化装置２０及び匿名化装置３０と比較して記憶部を有さない点で異なる。
【０１９７】
判定部４１は、複数の提供元から取得した複数のレコードを結合したデータに関し、結合データの一部であるレコードを有するいずれの提供元から見てもデータの匿名性が保たれているか否かを判定する。
【０１９８】
匿名化部４２は、判定部４１の匿名性の判定結果に基づいて、データの匿名化処理を繰り返す。
【０１９９】
判定部４１は、結合データに関して、いずれの提供元に対しても、匿名性が保たれると判定すると、結合データを匿名化処理済みの結合データとして外部に出力する。
【０２００】
次に、図２９を参照して、第４実施形態に係る匿名化装置４０の動作について説明する。
【０２０１】
図２９は、本発明の第４実施形態に係る匿名化装置４０の動作を示すフローチャートである。
【０２０２】
図２９に示すように、匿名化装置４０の判定部４１は、外部からデータを受け付け、結合データを生成する（ステップＳ１１）。判定部４１は、例えば、病院Ｘから図２に示されるデータを、病院Ｙから図３に示されるデータを受け付ける。
【０２０３】
以後、匿名化装置４０は、第１実施形態に係る匿名化装置１０と同様に処理する。
【０２０４】
以上説明したように、第４実施形態に係る匿名化装置４０は、データを提供したいずれの提供元に対しても、データの匿名性を保てる。
【０２０５】
その理由は、次のとおりである。
【０２０６】
匿名化装置４０の判定部４１は、第１実施形態の匿名化装置１０と同様に匿名化を判定する。そして、判定部４１は、閾値を満たさないグループの匿名化を、匿名化部１２に指示するからである。
【０２０７】
以上、各実施形態を参照して本発明を説明したが、本願発明は、上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０２０８】
図３０は、第１実施形態に係る匿名化装置１０のハードウェア構成の一例を示すブロック図である。
【０２０９】
図３０に示すように、匿名化装置１０を構成する各部は、ＣＰＵ（Central Processing Unit）１と、ネットワーク接続用の通信ＩＦ２（通信インターフェース２）と、メモリ３と、記憶装置４と、入力装置５と、出力装置６とを含む、コンピュータ装置を実現する。ただし、匿名化装置１０の構成は、図３０に示すコンピュータ装置に限定されない。
【０２１０】
ＣＰＵ１は、例えば、オペレーティングシステムを動作させ、記憶装置４に装着された図示しない記録媒体から、メモリ３にプログラムやデータを読み出す。そして、ＣＰＵ１は、読み出したプログラムに従って、匿名化装置１０の全体を制御し、判定部１１及び匿名化部１２の各種の処理を実行する。
【０２１１】
通信ＩＦ２は、ネットワークを介して、匿名化装置１０と図示しない他の装置とを接続する。例えば、匿名化装置１０は、病院Ｘ及び病院Ｙのデータを、通信ＩＦ２を介して図示しない外部装置から受け取り、記憶部１３に格納しても良い。また、ＣＰＵ１は、通信ＩＦ２を介して、コンピュータプログラム、通信網に接続されている図示しない外部コンピュータからダウンロードして、実行しても良い。
【０２１２】
メモリ３は、例えば、Ｄ−ＲＡＭ（Dynamic Random Read Memory）であり、プログラムやデータを一時的に記憶する。
【０２１３】
記憶装置４は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、半導体メモリであり、コンピュータプログラムをコンピュータ読み取り可能に記録する。
【０２１４】
例えば、記憶部１３は、記憶装置４を用いて実現されても良い。
【０２１５】
入力装置５は、例えば、マウスやキーボード等であり、ユーザからの入力を受け付ける。
【０２１６】
出力装置６は、例えば、ディスプレイ等の表示機器である。
【０２１７】
第２から第４の実施形態に係る匿名化装置２０、３０、４０も、ＣＰＵ１とプログラムを記憶した記憶装置４とを含むコンピュータ装置を用いて構成されてもよい。
【０２１８】
なお、これまでに説明した各実施形態において利用するブロック図（図８、図１４、図２１及び図２８）は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。これらの機能ブロックは、ハードウェア及びソフトウェアの任意の組み合わせを用いて実現される。また、匿名化装置１０の構成部の実現手段は、特に、限定されない。すなわち、匿名化装置１０は、物理的に結合した一つの装置を基に実現されても良いし、物理的に分離した二つ以上の装置を有線又は無線で接続し、これら複数の装置を基に実現されても良い。
【０２１９】
本発明のプログラムは、上記の各実施形態で説明した各動作を、コンピュータに実行させるプログラムであれば良い。
【０２２０】
この出願は、２０１２年２月１７日に出願された日本出願特願２０１２−０３２９９２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０２２１】
１  ＣＰＵ
２  通信ＩＦ
３  メモリ
４  記憶装置
５  入力装置
６  出力装置
１０、２０、３０、４０  匿名化装置
１１、２１、３１、４１  判定部
１２、４２  匿名化部
１３、２３  記憶部
３４  設定部
【図１】
0006007969.tif 000002
【図２】
0006007969.tif 000003
【図３】
0006007969.tif 000004
【図４】
0006007969.tif 000005
【図５】
0006007969.tif 000006
【図６】
0006007969.tif 000007
【図７】
0006007969.tif 000008
【図８】
0006007969.tif 000009
【図９】
0006007969.tif 000010
【図１０】
0006007969.tif 000011
【図１１】
0006007969.tif 000012
【図１２】
0006007969.tif 000013
【図１３】
0006007969.tif 000014
【図１４】
0006007969.tif 000015
【図１５】
0006007969.tif 000016
【図１６】
0006007969.tif 000017
【図１７】
0006007969.tif 000018
【図１８】
0006007969.tif 000019
【図１９】
0006007969.tif 000020
【図２０】
0006007969.tif 000021
【図２１】
0006007969.tif 000022
【図２２】
0006007969.tif 000023
【図２３】
0006007969.tif 000024
【図２４】
0006007969.tif 000025
【図２５】
0006007969.tif 000026
【図２６】
0006007969.tif 000027
【図２７】
0006007969.tif 000028
【図２８】
0006007969.tif 000029
【図２９】
0006007969.tif 000030
【図３０】
0006007969.tif 000031