(57)【要約】  データを提供したいずれの事業者に対してもデータの匿名性を保てる分散匿名化装置及び分散匿名化方法を提供する。  本発明の分散匿名化装置は、他装置と通信しながら匿名化処理を実行する分散匿名化装置であって、自装置が記憶するデータと他装置が記憶するデータに関し、自装置を含む通信の対象となっている全ての装置のいずれに対してもデータの匿名性が保たれているか否かを、全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて判定する判定手段と、判定手段の匿名性の判定結果に基づいて、データに対し匿名化処理を実行する匿名化手段と、を含む。
2013121738.tif 000002
【特許請求の範囲】
【請求項１】
他装置と通信しながら匿名化処理を実行する分散匿名化装置であって、
自装置が記憶するデータと前記他装置が記憶するデータに関し、自装置を含む通信の対象となっている全ての装置のいずれに対してもデータの匿名性が保たれるか否かを、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて判定する判定手段と、
前記判定手段の匿名性の判定結果に基づいて、データに対し匿名化処理を実行する匿名化手段と、
を含む分散匿名化装置。
【請求項２】
前記データは、ユーザに関する属性情報であるユーザ属性情報についての１以上のレコードであって、当該データを記憶する記憶手段と、
をさらに含み、
前記判定手段は、
各装置の記憶手段が記憶するデータに関し、前記ユーザ属性情報のうちの準識別子の値が同一であるグループから、自装置の記憶手段が記憶するレコードを除いた場合における、当該グループに含まれるレコード数が、予め定められた匿名性の指標である閾値以上であるか否かの判定を基に、前記匿名性が保たれるか否かを判定する、
請求項１に記載の分散匿名化装置。
【請求項３】
前記匿名化手段は、前記判定手段が、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて、前記全ての装置において前記レコード数が前記匿名性の指標である閾値以上であると判定する限りにおいて、データの分割処理である前記匿名化処理を実行する、
請求項２に記載の分散匿名化装置。
【請求項４】
前記匿名化手段は、
前記記憶手段が記憶するデータの分割点を決定する分割点決定手段と、
前記分割点決定手段で決定した分割点で前記記憶手段が記憶するデータを分割する分割実行手段と
を含み、
前記分割決定手段及び前記分割実行手段を基に前記データの分割処理である匿名化処理を実行する、
請求項３に記載の分散匿名化装置。
【請求項５】
前記分割点決定手段は、前記分割点を、分割したときの各グループのエントロピーの値に基づいて決定する、
請求項４に記載の分散匿名化装置。
【請求項６】
前記分割点決定手段は、前記エントロピーの値を、各装置に信頼度に基づく重み付き関数を用いて算出する、
請求項５に記載の分散匿名化装置。
【請求項７】
前記匿名化手段は、前記判定手段が、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて、前記全ての装置の少なくとも１つの装置において前記レコード数が前記匿名性の指標である閾値未満であると判定する限りにおいて、データの統合処理である前記匿名化処理を実行する、
請求項２に記載の分散匿名化装置。
【請求項８】
前記全ての装置は、全部で三つ以上の装置である場合に、
前記判定手段は、前記グループのうち、当該グループに含まれるレコードを記憶する装置の数が三つ以上であるグループにおいて、二つの装置を一種として判定する、
請求項２〜７のいずれか１項に記載の分散匿名化装置。
【請求項９】
前記判定手段は、装置に応じた閾値を基に、前記レコード数が、前記匿名性の指標である閾値以上であるか否かを判定する、
請求項２〜８のいずれか１項に記載の分散匿名化装置。
【請求項１０】
前記判定手段は、各装置の記憶手段が記憶するデータに関し、前記ユーザ属性情報のうちの準識別子の値が同一であるグループから、自装置の記憶手段が記憶するレコードを除いた場合における、当該グループに含まれるセンシティブ情報の種類の数が、予め定められた多様性の指標である閾値以上であるか否かについても判定し、
前記匿名化手段は、前記判定手段の匿名性及び多様性の判定結果に基づいて、データに対し匿名化処理を実行する、
請求項２〜９のいずれか１項に記載の分散匿名化装置。
【請求項１１】
前記全ての装置の間で互いにデータを開示しない方法に基づく通信は、ＭＰＣに基づく通信である、
請求項１〜１０のいずれか１項に記載の分散匿名化装置。
【請求項１２】
前記判定手段の判定結果に基づいて、匿名化処理済みのデータを出力する出力手段、
を含む請求項１〜１１に記載の分散匿名化装置。
【請求項１３】
他装置と通信しながら匿名化処理を実行する分散匿名化方法であって、
自装置が記憶するデータと前記他装置が記憶するデータに関し、自装置を含む通信の対象となっている全ての装置のいずれに対してもデータの匿名性が保たれるか否かを、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて判定し、
前記匿名性の判定結果に基づいて、データに対し匿名化処理を実行する、
分散匿名化方法。
【請求項１４】
他装置と通信しながら匿名化処理を実行させるプログラムであって、
自装置が記憶するデータと前記他装置が記憶するデータに関し、自装置を含む通信の対象となっている全ての装置のいずれに対してもデータの匿名性が保たれるか否かを、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて判定する処理と、
前記匿名性の判定結果に基づいて、データに対し匿名化処理を実行する処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の匿名化、特に、分散して保持されている情報を結合する際の匿名化技術に関する。
【背景技術】
【０００２】
年齢、性別、又は、住所等の個人情報を含むデータに関する統計データが、利用されている。データの公開の際、公開されたデータから個人が特定されないように、データの抽象化等を用いた匿名化技術が、知られている。匿名化とは、個人情報の集合に含まれる各レコードが、どの個人のデータかを特定できないようにデータを加工する技術である。【０００３】
匿名化のよく知られた指標として、「ｋ匿名性」が、ある。ｋ匿名性は、各データが、ｋ人未満に絞られないことを保証する指標である。【０００４】
また、個人情報に含まれる属性のうち、その組合せを基に、個人を特定できる属性群は、「準識別子」と呼ばれる。【０００５】
例えば、匿名化装置は、準識別子に含まれる属性値を汎化して、準識別子を共有するレコードをｋ個以上とする。このように匿名化装置は、データのｋ匿名性を保証する。【０００６】
また、匿名化技術の中で、一つの装置に保持されたデータではなく、複数の装置に分散して保持されているデータを匿名化する技術は、特に、「分散匿名化」と言われる。【０００７】
分散匿名化技術の例が、非特許文献１に開示されている。【０００８】
非特許文献１の技術は、２つの事業者の間でデータを結合する際、まず、２つの事業者が、それぞれ保持する個人情報を抽象化する。そして、非特許文献１の技術は、抽象化後のデータを結合して、一つのグループを生成する。【０００９】
非特許文献１に記載の技術は、データの結合において、２つの事業者間で抽象化したデータを通信しながら、互いのデータを開示せずに、トップダウン処理を用いてデータを匿名化する。【００１０】
このように、非特許文献１に記載の技術は、２つの事業者が保持するデータから、ｋ匿名性を満たした結合データを生成する。そして、非特許文献１に記載の技術は、ｋ匿名性を満たした匿名化処理済みデータを、利用者に提供する。【００１１】
このような仕組みを基に、非特許文献１の技術は、提供するデータにおける個人の特定を防ぐ。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】Ｐａｗｅｌ  Ｊｕｒｃｚｙｋ，  Ｌｉ  Ｘｉｏｎｇ，  "Ｄｉｓｔｒｉｂｕｔｅｄ  Ａｎｏｎｙｍｉｚａｔｉｏｎ：  Ａｃｈｉｅｖｉｎｇ  Ｐｒｉｖａｃｙ  ｆｏｒ  Ｂｏｔｈ  Ｄａｔａ  Ｓｕｂｊｅｃｔｓ  ａｎｄ  Ｄａｔａ  Ｐｒｏｖｉｄｅｒｓ，  "Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２３ｒｄ  Ａｎｎｕａｌ  ＩＦＩＰ  ＷＧ  １１．３Ｗｏｒｋｉｎｇ  Ｃｏｎｆｅｒｅｎｃｅ，  Ｍｏｎｔｒｅａｌ，  Ｃａｎａｄａ，  Ｊｕｌｙ  １２−１５，  ２００９ｏｎ  Ｄａｔａ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ  Ｓｅｃｕｒｉｔｙ  ＸＸＩＩＩ，  ｐｐ．  １９１−２０７
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかし、非特許文献１に記載の技術において、各事業者は、自己が提供したデータと、匿名化処理済みのデータとの比較を基に、他の事業者に存在するデータを特定できる。そのため、非特許文献１に記載の技術は、データを提供した事業者に対して、必ずしも所定の匿名性が保たれているとは言えない。【００１４】
その理由は、次のとおりである。データを提供した各事業者は、匿名化処理済みのデータにおいて、自己が提供したデータを特定できる。そのため、事業者は、自己のデータを削除して、定められた指標より、データの匿名性を低下できるからである。【００１５】
このように、非特許文献１に記載の技術は、データの提供した事業者に対しての匿名性を確保できない問題点があった。【００１６】
本発明の目的の一つは、上記課題を解決し、データを提供したいずれの事業者に対しても、データの匿名性の指標を保てる分散匿名化装置及び分散匿名化方法を提供することにある。
【課題を解決するための手段】
【００１７】
上記目的を達成するため、本発明における分散匿名化装置は、他装置と通信しながら匿名化処理を実行する分散匿名化装置であって、自装置が記憶するデータと前記他装置が記憶するデータに関し、自装置を含む通信の対象となっている全ての装置のいずれに対してもデータの匿名性が保たれるか否かを、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて判定する判定手段と、前記判定手段の匿名性の判定結果に基づいて、データに対し匿名化処理を実行する匿名化手段と、を含む。【００１８】
上記目的を達成するため、本発明における分散匿名化方法は、他装置と通信しながら匿名化処理を実行する分散匿名化方法であって、自装置が記憶するデータと前記他装置が記憶するデータに関し、自装置を含む通信の対象となっている全ての装置のいずれに対してもデータの匿名性が保たれるか否かを、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて判定し、前記匿名性の判定結果に基づいて、データに対し匿名化処理を実行する。【００１９】
上記目的を達成するため、本発明におけるプログラムは、他装置と通信しながら匿名化処理を実行させるプログラムであって、自装置が記憶するデータと前記他装置が記憶するデータに関し、自装置を含む通信の対象となっている全ての装置のいずれに対してもデータの匿名性が保たれるか否かを、前記全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて判定する処理と、前記匿名性の判定結果に基づいて、データに対し匿名化処理を実行する処理とをコンピュータに実行させる。
【発明の効果】
【００２０】
本発明の効果の一例は、データを提供したいずれの事業者に対しても、データの匿名性を保てることである。
【図面の簡単な説明】
【００２１】
【図１】図１は、本発明の背景を説明するための図である。
【図２】図２は、病院Ｘ及び病院Ｙが保持するデータを示す図である。
【図３】図３は、図２に示すデータが、本発明に関連する匿名化技術を基に、１つのグループにまとめられた状態を示す図である。
【図４】図４は、中央値を説明するための結合データを示す図である。
【図５】図５は、図３に示すデータが、分割された状態を示す図である。
【図６】図６は、図５に示すデータが、さらに分割された状態を示す図である。
【図７】図７は、図６に示すデータが、「年齢」の「２４」でさらに分割された状態を示す図である。
【図８】図８は、関連する分散匿名化技術が、最終的に生成する匿名化処理済みの結合データを示す図である。
【図９】図９は、本発明における第１実施形態に係る分散匿名化装置１０の構成の一例を示すブロック図である。
【図１０】図１０は、第１実施形態の分散匿名化装置１０の動作の一例を示すフローチャートである。
【図１１】図１１は、判定部１４の動作の一例を説明するために用いる、結合データを示す図である。
【図１２】図１２は、判定部１４の動作を説明するために用いる、結合データを示す図である。
【図１３】図１３は、分散匿名化装置１０が最終的に出力する匿名化処理済み結合データの一例を示す図である。
【図１４】図１４は、第２実施形態に係る分散匿名化装置２０の構成の一例を示すブロック図である。
【図１５】図１５は、分割点を、中央値である「２３」とした場合と、エントロピーの値の和が最大である「２２」とした場合との比較を示す図である。
【図１６】図１６は、各病院のデータが、「年齢」の「２２」で分割された状態を示す図である。
【図１７】図１７は、図１６のデータが、「年齢」の「２４」で、さらに分割された状態を示す図である。
【図１８】図１８は、分散匿名化装置２０が最終的に出力する匿名化処理済み結合データの一例を示す図である。
【図１９】図１９は、第３実施形態に係る分散匿名化装置３０の構成の一例を示すブロック図である。
【図２０】図２０は、第３実施形態に係る分散匿名化装置３０の動作の一例を示すフローチャートである。
【図２１】図２１は、第３実施形態の３つの病院のデータを示す図である。
【図２２】図２２は、分散匿名化装置３０の動作を説明するために用いる、結合データを示す図である。
【図２３】図２３は、１つのグループにまとめられた結合データを示す図である。
【図２４】図２４は、図２３に示すデータを、中央値である「年齢」の「２２」で、グループに分割した状態を示す図である。
【図２５】図２５は、図２３に示すデータを、「年齢」の「２３」で、グループに分割した状態を示す図である。
【図２６】図２６は、第４実施形態に係る分散匿名化装置４０の構成の一例を示すブロック図である。
【図２７】図２７は、第４実施形態に係る分散匿名化装置４０の動作の一例を示すフローチャートである。
【図２８】図２８は、装置に応じた匿名性レベルの閾値が設定されたデータの一例を示す図である。
【図２９】図２９は、図２８に示すデータが、結合された結合データを示す図である。
【図３０】図３０は、１つのグループにまとめられた結合データを示す図である。
【図３１】図３１は、図３０に示すデータが、準識別子の値に基づいて複数のグループに分割された状態の一例を示す図である。
【図３２】図３２は、図３１に示すデータが、さらに分割された状態の一例を示す図である。
【図３３】図３３は、分散匿名化装置４０が最終的に出力する匿名化処理済み結合データの一例を示す図である。
【図３４】図３４は、第５実施形態に係る分散匿名化装置５０の構成の一例を示すブロック図である。
【図３５】図３５は、第５実施形態の記憶部１１が記憶するデータを示す図である。
【図３６】図３６は、図３５に示すデータを結合した結合データを示す図である。
【図３７】図３７は、図３６に示すデータが、初期グループ化された状態を示す図である。
【図３８】図３８は、図３７に示すデータが、「年齢」の「２２」で分割された状態を示す図である。
【図３９】図３９は、図３８のデータが、「年齢」の「２５」で、さらに分割された状態を示す図である。
【図４０】図４０は、図３７に示すデータが、第２実施形態の分割点決定部２３１が決定した分割点で分割された状態を示す図である。
【図４１】図４１は、第６実施形態に係る分散匿名化装置６０の構成の一例を示すブロック図である。
【図４２】図４２は、第６実施形態の分散匿名化装置６０の動作の一例を示すフローチャートである。
【図４３】図４３は、第１実施形態の分散匿名化装置１０のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００２２】
＜第１実施形態＞
まず、本発明の実施形態の理解を容易にするために、本発明の背景を説明する。
【００２３】
図１は、本発明の背景を説明するための図である。
【００２４】
図１に示すように、本発明の背景として、データの提供機関である２つの事業者は、病院Ｘ及び病院Ｙとする。そして、病院Ｘ及び病院Ｙが、それぞれ自己が保持するデータを、データの利用機関である事業者Ｖに提供する場面を考える。この場面において、病院Ｘ及び病院Ｙは、それぞれ自己が保持するデータに対し、互いに通信しながら匿名化処理を施し、結合データにおける個人の匿名性を確保する。
【００２５】
匿名化処理の対象となるデータは、ユーザのＩＤ（Ｉｄｅｎｔｉｆｉｅｒ：識別子）と、センシティブ情報と、準識別子とを含む。
【００２６】
センシティブ情報とは、個人を特定できる状態で、他人に知られたくない情報である。
【００２７】
準識別子とは、単一の情報では個人を特定できないが、他の情報との組み合わせを基に、個人を特定できる情報である。準識別子の値は、個人の特定を防ぐという観点からは、全てのレコードにおいて、統一した抽象化が望ましい。一方、結合データの利用という観点からは、準識別子の値は、個別的であり、具体的であることが望ましい。
【００２８】
匿名化処理は、「個人の特定を防ぐ」という目的と、「結合データの利用」という目的とを調和させる処理である。
【００２９】
匿名化処理は、トップダウン処理とボトムアップ処理がある。トップダウンの場合、「匿名化処理」は、「データの分割処理」を意味する。ボトムアップの場合、「匿名化処理」は、「データの統合処理」を意味する。
【００３０】
次に、本発明に関連する分散匿名化技術（以下、「関連する分散匿名化技術」という）について、具体的に説明する。
【００３１】
ここでは、例として、病院Ｘ及び病院Ｙが保持する個人情報は、「Ｎｏ．」、「年齢」及び「疾病コード」の情報とする。
【００３２】
「Ｎｏ．」は、ユーザのＩＤである。
【００３３】
個人の病気を特定できる「疾病コード」が、センシティブ情報とする。また、センシティブ情報は、公開されたデータの分析に用いるため、抽象化処理で変更をしたくない情報とする。
【００３４】
ここで、抽象化処理は、データの属性又は属性値を、より範囲の広い属性又は属性値のデータに変換する処理である。
【００３５】
また、属性とは、例えば、年齢、性別、住所の種別である。属性値とは、属性の具体的な内容又は値である。
【００３６】
例えば、抽象化対象データが具体的な値の場合、抽象化処理は、属性値を、その値を含む一定の数値範囲データ（曖昧なデータ）に変換する処理である。
【００３７】
また、センシティブ情報以外の個人情報は、準識別子とする。つまり、本例では、「年齢」が、準識別子である。
【００３８】
関連する分散匿名化技術は、匿名性が保たれているか否かを、予め定めたｋ匿名性の指標を満たすか否かを基に判定する。
【００３９】
繰り返しとなるが、ｋ匿名性とは、準識別子の値が同じデータを、ｋ個以上要求する指標である。
【００４０】
以降の説明において、要求される匿名化は、個人情報のテーブルの２匿名性とする。また、匿名化処理は、トップダウン処理とする。
【００４１】
図２は、本説明で用いる病院Ｘ及び病院Ｙが保持するデータを示す図である。
【００４２】
図２に示すように、病院Ｘは、ユーザＩＤが、ｕｓｅｒ１〜ｕｓｅｒ７である計７人の個人情報を保持する。また、病院Ｙは、ユーザＩＤが、ｕｓｅｒ８〜ｕｓｅｒ１３である計６人の個人情報を保持する。
【００４３】
関連する分散匿名化技術は、図２に示すデータを、準識別子である「年齢」を基に、グループ化する。
【００４４】
関連する分散匿名化技術は、まず、病院Ｘ及び病院Ｙが保持するデータを、１つのグループとして、準識別子を曖昧な状態にする。
【００４５】
図３は、図２に示すデータが、関連する分散匿名化技術に基づいて、１つのグループにまとめられた状態を示す図である。
【００４６】
関連する分散匿名化技術は、図３に示す抽象化されたテーブルの個人情報（準識別子）を、匿名性を確認しながら、徐々に、具体化する。
【００４７】
関連する分散匿名化技術は、個人情報が特定されない安全な個人情報の分割点を決定する。
【００４８】
分割点とは、データを２つのグループに分ける点である。本実施形態の説明において分割点は、データを、「その値未満」のグループと、「その値以上」のグループとの２つのグループに分ける点とする。ただし、分割点は、これに限らず、例えば、「その値以下」のグループと、「その値を超える」のグループとの２つのグループに分ける点でも良い。
【００４９】
関連する分散匿名化技術は、分割点を、データを結合したときの中心となるレコードの「年齢」の値（以下、「中央値」という。）とする。
【００５０】
図４は、中央値を説明するための結合データを示す図である。図４は、図２に示す病院Ｘ及び病院Ｙが保持するデータを結合したデータである。
【００５１】
図４に示すように、結合データの中心のレコードは、「ｕｓｅｒ５」のレコードである。
【００５２】
ここで、レコードとは、ＩＤの「Ｎｏ．」と、「年齢」と、「疾病コード」とを含むデータである。
【００５３】
関連する分散匿名化技術は、「ｕｓｅｒ５」のレコードにおける「年齢」の値である「２３」を、分割点に決定する。
【００５４】
なお、図４は、説明を解りやすくするため、データを１つに集めた結合データを示した。しかし、本実施形態を含め、実際には、このような結合データは、生成されない。２つの病院は、ＭＰＣ（Ｍｕｌｔｉ  Ｐａｒｔｙ  Ｃｏｍｐｕｔａｔｉｏｎ）又はＳＭＰＣ（Ｓｅｃｕｒｅ  Ｍｕｌｔｉ  Ｐａｒｔｙ  Ｃｏｍｐｕｔａｔｉｏｎ）に基づく通信を用いて、互いにデータを開示せずに、分割点を決定する（ＭＰＣについては、非特許文献１を参照）。
【００５５】
以下においても、本明細書及び図面における匿名化処理を説明する過程の結合データは、あくまで発明の理解を容易にするためのものである。本実施形態において、実際には、データは、各装置で分散して保持されている。
【００５６】
関連する分散匿名化技術は、決定した分割点（「年齢」の「２３」）で、病院Ｘ及び病院Ｙがそれぞれ保持するデータを分割する。つまり、関連する分散匿名化技術は、病院Ｘ及び病院Ｙがそれぞれ保持するデータを、「年齢が２３未満」のグループと、「年齢が２３以上」のグループとに分割する。
【００５７】
図５は、図３に示すデータが、分割された状態を示す図である。
【００５８】
図５に示すように、「年齢」が「２０〜２４」のデータは、「２０〜２２」及び「２３〜２４」のグループに分割される。病院Ｘ及び病院Ｙが保持する全データに関して、６つのレコードが、「２０〜２２」のグループに属し、７つのレコードが、「２３〜２４」のグループに属する。準識別子を共有する各グループは、レコードが２つ以上存在するため、２匿名性を満たす。
【００５９】
関連する分散匿名化技術は、現在のデータが匿名性を満たすと判定すると、次の分割点を決定する。
【００６０】
例えば、関連する分散匿名化技術は、「年齢」が「２０〜２２」のグループと「２３〜２４」のグループのうち、値の差の幅が広い「２０〜２２」のグループを分割対象のグループと判定する。
【００６１】
図４を参照すると、「２０〜２２」のグループにおける中央値は、「２０」である（ｕｓｅｒ３及びｕｓｅｒ８は、共に、「年齢」が「２０」）。しかし、「２０」ではグループを分割できないため、関連する分散匿名化技術は、「２１」を分割点として決定する。
【００６２】
図６は、図５に示すデータが、さらに分割された状態を示す図である。
【００６３】
同様に、関連する分散匿名化技術は、「２３〜２４」のグループを分割する。
【００６４】
図７は、図６に示すデータが、「年齢」の「２４」でさらに分割された状態を示す図である。
【００６５】
関連する分散匿名化技術は、データの分割がこれ以上できないと判定すると、匿名化処理済みの結合データを出力する。
【００６６】
図８は、関連する分散匿名化技術が、最終的に生成する匿名化処理済みの結合データを示す図である。
【００６７】
図８に示すように、関連する分散匿名化技術は、全てのグループが、２匿名性を満たすように匿名化する。
【００６８】
しかし、データを提供した各事業者は、自己が保持するデータと、匿名化処理済みデータとの比較を基に、他の事業者に存在する個人情報を特定できる場合がある。つまり、関連する分散匿名化技術が匿名した匿名化処理済みデータは、データを提供した各事業者に対して、必ずしも匿名性が保たれるとは言えない。
【００６９】
その理由は、次のとおりである。
【００７０】
データを提供した事業者（例えば、病院Ｘ及び病院Ｙ）は、匿名化処理済みのデータの中で、自己が提供したデータを特定できる。事業者は、自己が提供したデータがあるグループから、自己が提供したデータを削除し、定められた指標よりもデータの匿名性を低下できるからである。
【００７１】
より具体的には、次のようになる。
【００７２】
病院Ｘは、図２における自己が保持するデータと、匿名化処理済みの図８に示す結合データとを比較する。そして、病院Ｘは、「年齢」が「２１〜２２」のグループに属するデータにおいて、「疾病コード」が「Ｆ」のデータが、自己が提供したデータと特定できる。そのため、病院Ｘは、「年齢」が「２１〜２２」のグループに属する病院Ｙのデータを、「疾病コード」が「Ｅ」の１つのデータと特定できる。
【００７３】
病院Ｙにおいても、同様のことが、言える。
【００７４】
そのため、病院Ｘ及び病院Ｙに対し、「年齢」が「２１〜２２」のグループは、２匿名性を満たしていない。
【００７５】
例えば、病院Ｘが、「ｕｓｅｒ9」の「年齢」の「２１」を知った場合、病院Ｘは、匿名化処理済みの結合データを基に、「ｕｓｅｒ9」の「疾病コード」が「Ｅ」と特定できる。
【００７６】
以下に説明される本発明における第１実施形態は、上述の問題を解決する。
【００７７】
次に、図面を参照して本発明における第１の実施形態について説明する。
【００７８】
まず、図９を参照して、本発明の第１実施形態に係る分散匿名化装置１０の機能構成の一例を説明する。
【００７９】
図９は、本発明における第１実施形態に係る分散匿名化装置１０の構成の一例を示すブロック図である。
【００８０】
分散匿名化装置１０は、例えば、図１における病院Ｘ及び病院Ｙが保持する装置である。
【００８１】
図９に示すように、分散匿名化装置１０は、記憶部１１と、初期グループ化部１２と、匿名化部１３と、判定部１４とを含む。
【００８２】
本実施形態の説明は、図１に示すように、分散匿名化装置１０が、病院Ｘ及び病院Ｙの２つの事業部が有する場合を例として、説明する。ただし、本実施形態の匿名化処理対象のデータを保持する事業者（装置）の数は、２つに限定されず、３つ以上でも良い。
【００８３】
また、病院Ｘ及び病院Ｙが保持する分散匿名化装置１０は、特に区別はない。そのため、以下の本実施形態の説明は、病院Ｘが保持する分散匿名化装置１０について説明する。なお、以下の説明は、病院Ｘと病院Ｙとを入れ替えれば、病院Ｙの分散匿名化装置１０についての説明となる。
【００８４】
また、分散匿名化装置１０が含む匿名化部１３における匿名化処理は、特に制限はなく、既存の手法で良く、トップダウン処理でも、ボトムアップ処理でも良い。一例として、以下の本実施形態の説明は、匿名化部１３の匿名化処理を、トップダウンとする。そのため、図９に示すように、匿名化部１３は、分割点決定部１３１と分割実行部１３２とを含むとして説明する。
【００８５】
また、分散匿名化装置１０の処理の開始の指示は、特に制限はない。例えば、分散匿名化装置１０は、ユーザの指示を基に、病院Ｙが有する分散匿名化装置１０と通信しながら、データの匿名化処理を開始しても良い。また、例えば、分散匿名化装置１０は、ユーザが、初期グループ化部１２に匿名化処理の開始指示を入力する態様でも良い。
【００８６】
記憶部１１は、ユーザに関する属性情報であるユーザ属性情報を含むレコードの集合を記憶する。記憶部１１は、例えば、図２の左側に示すデータ（病院Ｘのデータ）を記憶する。
【００８７】
初期グループ化部１２は、開始指示の入力を基に、記憶部１１から、データ（病院Ｘのデータ）を取得する。
【００８８】
初期グループ化部１２は、記憶部１１から取得したデータを、曖昧な状態にする。すなわち、初期グループ化部１２は、取得したデータの準識別子の値を抽象化し、１つのグループにまとめる。この抽象化処理は、準識別子の値を、数値範囲のデータ（曖昧なデータ）に変換する処理である。抽象化処理後のグループにまとめられたデータは、全てのデータの準識別子の値が、１つの数値範囲に抽象化されたデータ（以下、「初期グループデータ」とも言う。）である。初期グループ化部１２は、１つのグループにまとめたデータ（初期グループデータ）を匿名化部１３に出力する。
【００８９】
匿名化部１３は、初期グループ化部１２からデータ（初期グループデータ）を受けると、データを匿名化する。本実施形態の匿名化処理は、トップダウン処理である。そのため、匿名化部１３は、分割点決定部１３１及び分割実行部１３２を用いて、データを複数のグループに分割する。
【００９０】
分割点決定部１３１は、データの分割点を決定する。
【００９１】
分割点決定部１３１の分割点の決定方法は、特に限定されない。
【００９２】
例えば、分割点決定部１３１は、「他の事業者との間で互いにデータを開示しない方法に基づく通信」を用いて、分割点を決定しても良い。
【００９３】
例えば、分割点決定部１３１は、上述の通信を用いて、病院Ｙの分割点決定部１３１と通信し、結合データの中央値を分割点として、データを分割しても良い。（ただし、既に説明したとおり、本実施形態において、実際の結合データは、存在しない。）
また、例えば、分割点決定部１３１は、所定の準識別子の値の平均値を分割点として、データを分割しても良い。
【００９４】
また、例えば、分割点決定部１３１は、周知のヒューリスティック関数を用いて分割点を決定しても良い。
【００９５】
なお、「他の事業者との間で互いにデータを開示しない方法に基づく通信」とは、例えば、上述したＭＰＣ又はＳＭＰＣに基づく通信である。例えば、分割点決定部１３１は、ＭＰＣを用いて、複数の分散匿名化装置１０の分割点決定部１３１との間で、互いの個人情報を一切出さずに分割点を計算できる。
【００９６】
なお、以降では、説明の便宜のため、分割点決定部１３１は、結合データの中央値を分割点とする。また、「他の事業者との間で互いにデータを開示しない方法に基づく通信」は、ＭＰＣを用いた通信とする。
【００９７】
分割点決定部１３１は、現在のデータ（初期状態では「初期グループデータ」、その後では後述の「判定部１４から出力されたデータ」）及び決定した分割点を分割実行部１３２に出力する。
【００９８】
分割実行部１３２は、分割点決定部１３１が決定した分割点を基に、分割点決定部１３１から出力されたデータを分割する。分割実行部１３２は、分割したデータを判定部１４に出力する。
【００９９】
判定部１４は、ＭＰＣを用いた通信を基に、他の事業者（例えば、病院Ｙ）と通信して、結合データの匿名性が、いずれの事業者に対しても保たれるか否かを判定する。
【０１００】
ここで、「いずれの事業者」とは、例えば、病院Ｘ及び病院Ｙである。
【０１０１】
また、より具体的には、判定部１４は、保持するデータ（記憶部１１に格納されたデータ）と結合データとを基に、結合データの匿名性が保たれるか否かを判定する。
【０１０２】
匿名性が保たれると判定した場合、判定部１４は、匿名化部１３の分割点決定部１３１に、データを出力し、そのデータの次の分割を指示する。
【０１０３】
このように、判定部１４が、結合データの匿名性が保たれると判定する限り、匿名化部１３は、データを匿名化（ここでは、分割）する。すなわち、匿名化部１３は、判定部１４の匿名性の判定結果に基づいて、データの匿名化処理を繰り返す。
【０１０４】
判定部１４は、匿名性が保たれない（具体的には、ｋ匿名を満たさない）グループがあると判定した場合、最後の分割をキャンセルした匿名化済みデータを外部に出力する。例えば、判定部１４は、匿名化処理済みデータを、図１に示す事業者Ｖに出力する。
【０１０５】
なお、判定部１４が、最初の判定で、データが匿名性を満たないと判定した場合、初期グループ化部１２が曖昧な状態にした初期グループデータが、匿名化済みデータとして、外部に出力される。
【０１０６】
次に、図１０を参照して、本発明の第１実施形態に係る分散匿名化装置１０の動作について説明する。
【０１０７】
図１０は、第１実施形態の分散匿名化装置１０の動作の一例を示すフローチャートである。
【０１０８】
図１０に示すように、分散匿名化装置１０の初期グループ化部１２は、記憶部１１からデータを取得して、準識別子の値を抽象化して１つのグループ（初期グループデータ）を作成する（ステップＳ１）。
【０１０９】
次に、分割点決定部１３１は、初期グループデータの分割点を決定する。
【０１１０】
そして、分割実行部１３２は、分割点決定部１３１が決定した分割点でグループを分割する（ステップＳ２）。
【０１１１】
次に、判定部１４は、ＭＰＣを用いて、他の分散匿名化装置１０と通信し、分割した後の結合データの匿名性が保たれるか否かを判定する。より具体的には、判定部１４は、結合データにおいて、準識別子（例えば、「年齢」）の値が同一であるグループから、記憶部１１が保持するデータ（例えば、「病院Ｘ」のデータ）に属するレコードを除く。そして、判定部１４は、除いた後のグループに含まれるレコード数が、匿名性の指標（例えば、「２匿名性」）である閾値以上であるか否か（例えば、「２つ以上であるか否か」）を判定する。判定部１４は、全てのグループの判定を基に、匿名性が保たれるか否かを判定する（ステップＳ３）。判定部１４の判定処理のより詳細な説明は、後述する。
【０１１２】
そして、判定部１４は、いずれの事業者（例えば、「病院Ｘ」及び「病院Ｙ」）の分散匿名化装置１０に対しても、全てのグループのレコード数が閾値以上であるか否かを判定する（ステップＳ４）。
【０１１３】
判定部１４は、レコード数が閾値未満である（匿名性を保てない）グループが少なくとも１つ存在すると判定した場合（ステップＳ４、Ｎｏ）、分割実行部１３２の最後の分割をキャンセルする（ステップＳ８）。そして、判定部１４は、分割をキャンセルしたデータを、匿名化処理済みのデータとして出力する。
【０１１４】
一方、判定部１４は、全装置に対して全てのグループのレコード数が閾値以上である（全てのグループが匿名性を保つ）と判定した場合（ステップＳ４、Ｙｅｓ）、匿名化部１３に対し、匿名化部１３に、データの匿名化（グループ分割）を指示する。指示を受けた匿名化部１３は、再びデータを匿名化（グループに分割）する（ステップＳ５）。
【０１１５】
ステップＳ５の続き、判定部１４は、分割したグループにおいて、匿名性が保たれるか否かを判定する。より具体的には、判定部１４は、結合データの分割したグループにおいて、記憶部１１が記憶するレコードを引いたレコード数が、匿名性の指標である閾値以上であるか否かを判定する（ステップＳ６）。
【０１１６】
そして、判定部１４は、いずれの分散匿名化装置１０に対しても、レコード数が閾値以上であるか否かを判定する（ステップＳ７）。
【０１１７】
レコード数が閾値以上でないグループが存在する場合（ステップＳ７、Ｎｏ）、判定部１４は、最後の分割をキャンセルする（ステップＳ８）。そして、判定部１４は、分割をキャンセルしたデータを、匿名化処理済みのデータとして出力する。
【０１１８】
一方、全装置において、分割したグループのレコード数が閾値以上であると判定した場合（ステップＳ７、Ｙｅｓ）、判定部１４は、再び匿名化部１３に対し、グループ分割を指示する。この指示を基に、匿名化部１３は、再度、グループを分割する（ステップＳ５）。
【０１１９】
なお、匿名化部１３が分割対象のグループを決定するアルゴリズムは、特に制限はない。例えば、決定するアルゴリズムは、既存のアルゴリズムでも良い。例えば、匿名化部１３は、準識別子の値の幅が広いグループを分割対象としても良い。あるいは、匿名化部１３は、それ以外の方法を用いても良い。
【０１２０】
また、判定部１４は、最後の分割をキャンセルした後、データを外部に出力しないで、再度分割対象となるグループを判定してもよい。この場合、匿名化部１３は、新たに分割対象となったグループを匿名化（分割）する。
【０１２１】
次に、図１１〜図１３を参照して、図１０の各ステップを、具体的に、例を用いて説明する。
【０１２２】
説明の前提は、次のとおりである。
【０１２３】
分散匿名化装置１０は、病院Ｘ及び病院Ｙに保持される（図１参照）。事業部Ｚは、病院Ｘ及び病院Ｙから匿名化済みデータを取得する。また、病院Ｘ及び病院Ｙの分散匿名化装置１０は、それぞれ、図２に示すデータを、記憶部１１に保持する。すなわち、病院Ｘの分散匿名化装置１０が保持するデータは、「ｕｓｅｒ１」から「ｕｓｅｒ７」に関するレコードである。病院Ｙの分散匿名化装置１０が保持するデータは、「ｕｓｅｒ８」から「ｕｓｅｒ１３」に関するレコードである。準識別子は、「年齢」の情報である。センシティブ情報は、「疾病コード」の情報である。また、要求される匿名性は、個人情報のテーブルが２匿名性を満たすとする。
【０１２４】
図１０のステップＳ１において、初期グループ化部１２は、記憶部１１から取得したデータに対し、図３に示す初期グループデータを作成する。
【０１２５】
図１０のステップＳ２において、匿名化部１３は、例えば、図５に示すように、データを分割する。
【０１２６】
図１０のステップＳ３において、判定部１４は、各グループが匿名性を満たすか否かを判定する。
【０１２７】
以下、判定部１４における、各グループが匿名性を満すか否かの判定について詳細に説明する。
【０１２８】
まず、判定部１４は、結合データに関し、準識別子の値が同一であるグループに含まれるレコードから、自己が保持するデータに含まれるレコードを除く。
【０１２９】
図１１は、判定部１４の動作の一例を説明するために用いる、結合データを示す図である。
【０１３０】
図１１は、図５に示すデータに、各装置を保持する病院を示す情報（「病院」のデータ）を併せて結合したデータである。
【０１３１】
なお、繰り返しになるが、例えば、図１１に示すような結合データは、本実施形態の説明のための図である。図１１に示す各装置を保持する病院を示す情報である「病院」のデータも、本実施形態の理解のためのデータであり、実際には存在しない。以降の説明でも、発明の理解を容易にするため結合データを参照して説明する。しかし、実際には、図２、図３、図５〜図７を参照して説明したように、各分散匿名化装置１０は、それぞれがデータを保持する。つまり、データは、分散されて保持される。
【０１３２】
判定部１４は、例えば、「年齢」が「２０〜２２」のグループ（準識別子の値が同一であるグループ）から、自己が保持するデータに含まれるレコード（「病院」が「病院Ｘ」のレコード）を除く。具体的には、判定部１４は、「年齢」が「２０〜２２」のグループから、「病院」が「病院Ｘ」であるｕｓｅｒ１、ｕｓｅｒ２、ｕｓｅｒ３、ｕｓｅｒ４のレコードを除く。判定部１４は、４つのレコードを除いた後の「年齢」が「２０〜２２」のグループの匿名性を判定する。４つのレコードを除いた後の「年齢」が「２０〜２２」のグループのレコード数は、２つ（ｕｓｅｒ８とｕｓｅｒ9のレコード）である。そのため、判定部１４は、２匿名性を満たす（レコード数が２つ以上である）と判定する。つまり、判定部１４は、「年齢」が「２０〜２２」のグループが匿名性を保っていると判定する。
【０１３３】
判定部１４は、全てのグループにおいて、同様に判定する。図１１の場合、判定部１４は、「年齢」が「２３〜２４」のグループも、匿名性を保っていると判定する。
【０１３４】
そして、図１０のステップＳ４において、判定部１４は、いずれの事業者に対しても、各グループが匿名性を満たすか否かを判定する。
【０１３５】
判定部１４は、全装置で全てのグループに属するレコード数が２以上である（全グループが匿名性を保っている）と判定すると（ステップＳ４、Ｙｅｓ）、匿名化部１３に対しグループの分割を指示する。
【０１３６】
図１０のステップＳ５において、匿名化部１３は、判定部１４からの指示に応じて、分割点を決定し、決定した分割点でデータをグループに分割する。具体的には、匿名化部１３は、例えば、既存のアルゴリズムを基に、「年齢」が「２４」を分割点と決定し、図６に示すようにデータをグループに分割する。
【０１３７】
図１２は、判定部１４の動作を説明するために用いる、結合データを示す図である。図１２は、図１１に示すデータの「年齢」が「２３〜２４」のグループを、さらに分割したデータである。
【０１３８】
この場合、図１０のステップＳ６において、判定部１４は、「年齢」が「２３」のグループから「病院Ｘ」のレコードを除いた残りのレコード数が２（ｕｓｅｒ１０とｕｓｅｒ１１のレコード）のため、２匿名性を満たすと判定する。一方、病院Ｙの分散匿名化装置１０の判定部１４は、「年齢」が「２３」のグループから「病院Ｙ」のレコードを除いた残りのレコード数が１（ｕｓｅｒ５のレコード）のため、２匿名性を満たさないと判定する。
【０１３９】
そのため、ステップＳ４において、判定部１４は、「年齢」が「２３」のグループが閾値未満と判定する。
【０１４０】
病院Ｘの分散匿名化装置１０の判定部１４は、最後の分割をキャンセルした状態のデータを匿名化処理済みデータとして出力する（ステップＳ７、Ｎｏ）。
【０１４１】
図１３は、分散匿名化装置１０が最終的に出力する匿名化処理済み結合データの一例を示す図である。（ただし、繰り返しになるが、実際には、分散匿名化装置１０は、図１３に示す結合データを出力するわけではない。）
図１３に示すように、分散匿名化装置１０（判定部１４）は、データの提供先が外部に漏れず、個人が特定されないように、ユーザＩＤを削除した匿名化処理済みデータを出力する。
【０１４２】
以上説明したように、第１実施形態に係る分散匿名化装置１０は、データを提供したいずれの事業者に対してもデータの匿名性を保てる。
【０１４３】
その理由は、判定部１４が、他の分散匿名化装置１０と通信し、装置毎に自己が保持するデータを除いて、他の装置が保持するデータを対象として匿名性を判定するからである。
【０１４４】
なお、本実施形態の説明は、匿名化部１３の匿名化処理を、トップダウン処理として説明した。
【０１４５】
しかし、匿名化部１３は、ボトムアップの匿名化を処理しても良い。ボトムアップの場合、判定部１４は、例えば、全てのグループにおいて、自己が保持するレコードを引いたレコード数が匿名性の指標である閾値以上と判定できるまで、ボトムアップの匿名化（データの統合）を処理する。そして、判定部１４は、全てのグループが匿名性を満たすと判定すると、匿名化処理済みデータを出力する。
【０１４６】
また、本実施形態において、判定部１４は、ｋ匿名性を指標として匿名性を判断した。
【０１４７】
しかし、判定部１４は、ｋ匿名性に加え、ｌ多様性を指標として判断しても良い。
【０１４８】
ｌ多様性とは、準識別子の値が同じデータにおいて、ｌ通り以上のセンシティブ情報を要求する指標である。
【０１４９】
ｌ多様性を用いる場合、判定部１４は、準識別子の値が同一であるグループから、一の種類の事業者（例えば、病院Ｘ）のレコードを除く。そして、判定部１４は、除いたグループに含まれるセンシティブ情報の種類の数が、予め定められた多様性の指標である閾値以上であるか否かを判定する。
【０１５０】
具体例として、図１２のデータにおいて、結合データが３多様性を要求する場合を考える。
【０１５１】
この場合、判定部１４は、「年齢」が「２０〜２２」及び「２３」のグループについて、センシティブ情報である「疾病コード」の種類がそれぞれ６（Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ）及び３（Ａ、Ｂ、Ｃ）であるため３多様性を満たすと判定する。一方、「年齢」が「２４」のグループは「疾病コード」の種類が２（Ｃ、Ｄ）であるため、判定部１４は、３多様性を満たさないと判定する。
【０１５２】
匿名化部１３は、上述した判定部１４の匿名性及び多様性の判定結果に基づいて、データの匿名化処理を繰り返えせば良い。
【０１５３】
さらに、判定部１４は、その他の指標（ｔ−ｃｌｏｓｅｎｅｓｓなど）を満たすか否かを判定しても良い。
【０１５４】
また、本実施形態の説明において、各グループが事業者である「病院Ｘ」及び「病院Ｙ」の両方を含む例を、説明した。しかし、「病院Ｘ」又は「病院Ｙ」のいずれかのみを含むグループが、生成されても良い。
【０１５５】
例えば、図１１において、「年齢」が「２０〜２２」のグループは、事業者（病院）が全部「病院Ｙ」のグループでも良い。病院Ｘの匿名性を保つべき情報の不正利用者は、全てが病院Ｙのレコードである「２０〜２２」のグループにおいて、個人を一人も特定できない。つまり、全てが病院Ｙのレコードである「２０〜２２」のグループは、病院Ｘに対して匿名性が低下しない。
【０１５６】
＜第２実施形態＞
次に、本発明の第２実施形態に係る分散匿名化装置２０について説明する。
【０１５７】
分散匿名化装置２０は、データを分割した場合のエントロピーを考慮して分割点を決める点で、分散匿名化装置１０と異なる。
【０１５８】
図１４は、第２実施形態に係る分散匿名化装置２０の構成の一例を示すブロック図である。
【０１５９】
図１４に示すように、分散匿名化装置２０は、第１実施形態における分散匿名化装置１０と比較して、匿名化部２３を含む点で異なる。
【０１６０】
匿名化部２３は、匿名化部１３と比較して、分割点決定部１３１に代えて分割点決定部２３１を含む点で異なる。
【０１６１】
なお、他の構成は、分散匿名化装置１０と同様に動作する。そのため、同じ符号を付し、詳細な説明を省略する。
【０１６２】
分割点決定部２３１は、分割したときの各グループのエントロピーの値に基づいて分割点を決定する点で、分割点決定部１３１と異なる。
【０１６３】
分割点決定部２３１は、エントロピーを基に、データの提供元の事業者（病院Ｘ及び病院Ｙ）の偏りを判定し、分割後のグループに属するデータの分割点を決定する。
【０１６４】
例えば、分割点決定部２３１は、エントロピーの計算に用いる式に特に制限はない。分割点決定部２３１は、分割後のグループにおけるエントロピーとして、以下の式を用いて計算しても良い。
【０１６５】
エントロピー＝Σ｛−１×Ｐ（Ｃｌａｓｓ）×ｌｏｇ（Ｐ（Ｃｌａｓｓ））｝
ここで、「Ｃｌａｓｓ」を「病院Ｘ」又は「病院Ｙ」で分類する場合、Ｐ（Ｃｌａｓｓ）は、それぞれ以下のようになる。
【０１６６】
Ｐ（病院Ｘ）＝「分割後のグループ内での「病院Ｘ」の数」／「分割後のグループ内での「病院Ｘ」及び「病院Ｙ」の数の合計」
Ｐ（病院Ｙ）＝「分割後のグループ内での「病院Ｙ」の数」／「分割後のグループ内での「病院Ｘ」及び「病院Ｙ」の数の合計」
この場合、分割点決定部２３１は、分割後のグループにおけるエントロピーを、以下のように計算する。
【０１６７】
エントロピー＝｛−１×Ｐ（病院Ｘ）×ｌｏｇ（Ｐ（病院Ｘ））｝＋｛−１×Ｐ（病院Ｙ）×ｌｏｇ（Ｐ（病院Ｙ））｝
例えば、分割点決定部２３１は、上記のエントロピーを、適当な分割候補点における分割後の２つのグループ（分割点以上と未満の２つのグループ）について計算する。分割点決定部２３１は、分割候補点を、所定のルール（アルゴリズム）で決めれば良く、周知の手法を用いても良い。
【０１６８】
分割点決定部２３１は、分割候補点でデータを２つのグループに分割した場合の、２つのグループのエントロピーを足した値（和の値、以下、「Ｓ」とする）が最も大きくなる点を分割点として決定しても良い。
【０１６９】
Ｓの値が大きい分割は、２つのグループ内におけるデータの混ざり（「病院Ｘ」と「病院Ｙ」の混ざり）が大きく、データの偏りが少ない分割である。
【０１７０】
また、分割点決定部２３１は、全分割候補点のうちで、分割後の２つのグループのいずれかが最大のエントロピーの値を取る分割候補点を、分割点として決定しても良い。
【０１７１】
エントロピーを用いた分割点の決定方法は、上述の方法には限定されず、他の方法でも良い。
【０１７２】
本実施形態の説明において、分割点決定部２３１は、分割候補点で分割した場合の２つのグループのエントロピーの和が最大となる点を分割点とする。
【０１７３】
次に、第１実施形態における場合と同様の前提において、図１５〜図１８を参照して、図１０のフローのステップＳ２とステップＳ５とを中心に、具体的に、例を用いて説明する。
【０１７４】
図１０のステップＳ２において、分割点決定部２３１は、エントロピーを考慮して分割点を決定し、決定した分割点でデータを分割する。
【０１７５】
第１実施形態における分割点決定部１３１は、「年齢」の中央値である「２３」を分割点に決定した。
【０１７６】
本実施形態における分割点決定部２３１は、分割候補点で分割した場合の２つのグループのエントロピーの値の和が最大となるように、分割点を決定する。具体的には、分割点決定部２３１は、「年齢」の「２２」を、分割点に決定する。
【０１７７】
図１５は、分割点を、中央値である「２３」とした場合と、エントロピーの値の和が最大である「２２」とした場合との比較を示す図である。
【０１７８】
図１５に示すように、例えば、「２３」で分割した場合の「２３未満のグループ」は、病院Ｘと病院Ｙのレコード数の比が４：２であり、やや病院Ｘに偏っている。一方、「２２」で分割した場合の「２２以上のグループ」は、病院Ｘと病院Ｙのレコード数の比が４：４であり偏りがない。図１５は、全体的に見て、「２３」で分割した場合よりも「２２」で分割した場合の方が、偏りが少ないことを示す。
【０１７９】
以下に、エントロピーの具体的な計算例を示す。
【０１８０】
「年齢」の「２３」で分割した場合のエントロピーは、以下のように計算される。
【０１８１】
（１）「年齢」が「２３」未満のグループについて
エントロピー＝｛−１×（４／６）×ｌｏｇ（４／６）｝＋｛−１×（２／６）×ｌｏｇ（２／６）｝＝０．２７６４
（２）「年齢」が「２３」以上のグループについて
エントロピー＝｛−１×（３／７）×ｌｏｇ（３／７）｝＋｛−１×（４／７）×ｌｏｇ（４／７）｝＝０．２９６６
よって、「年齢」の「２３」で分割した場合のエントロピーは、
（１）＋（２）＝０．５７３０となる。
【０１８２】
次に、「年齢」が「２２」で分割した場合のエントロピーは以下のように計算される。
【０１８３】
（３）「年齢」が「２２」未満のグループについて
エントロピー＝｛−１×（３／５）×ｌｏｇ（３／５）｝＋｛−１×（２／５）×ｌｏｇ（２／５）｝＝０．２９２３
（４）「年齢」が「２２」以上のグループについて
エントロピー＝｛−１×（４／８）×ｌｏｇ（４／８）｝＋｛−１×（４／８）×ｌｏｇ（４／８）｝＝０．３０１０
よって、「年齢」が「２２」で分割した場合のエントロピーは、
（３）＋（４）＝０．５９３３となる。
【０１８４】
つまり、「２２」で分割した場合のエントロピーの値は、「年齢」が「２３」で分割した場合のエントロピーの値より大きい。
【０１８５】
具体的な計算を省略するが、「２２」で分割した場合のエントロピーの値は、他のどの点で分割した場合のエントロピーの値よりも大きい。
【０１８６】
従って、分割点決定部２３１は、「年齢」の「２２」を分割点に決定し、初期グループ化部１２又は判定部１４から出力されたデータと、決定した分割点とを、分割実行部１３２に出力する。
【０１８７】
図１６は、各病院のデータが、「年齢」の「２２」で分割された状態を示す図である。
【０１８８】
この場合、図１０のステップＳ３において、判定部１４は、いずれの事業者に対しても、各グループが匿名性を満たすと判定する。そして、処理は、ステップＳ５に進む。
【０１８９】
図１０のステップＳ５において、分割点決定部２３１は、新たに分割点を決定する。分割点決定部２３１は、最もエントロピーの和の値が大きくなる「年齢」の「２４」を、分割点に決定する。
【０１９０】
図１７は、図１６のデータが、「年齢」の「２４」で、さらに分割された状態を示す図である。
【０１９１】
そして、判定部１４は、これ以上データを分割できないと判定し（又は、フローのとおり、分割点決定部２３１が、どこかで分割し、判定部１４が、匿名性を満たさないため最後の分割をキャンセルして）、匿名化済みのデータを出力する。
【０１９２】
図１８は、分散匿名化装置２０が最終的に出力する匿名化処理済み結合データの一例を示す図である。
【０１９３】
図１８に示すように、分散匿名化装置２０が出力する匿名化処理済み結合データは、図１３に示す分散匿名化装置１０が出力する匿名化処理済み結合データよりも、多くのグループに分割されている。
【０１９４】
以上説明したように、第２実施形態に係る分散匿名化装置２０は、結合データを多くの適切なグループに分割できる。
【０１９５】
その理由は、分割点決定部２３１が、エントロピーを考慮して、最もデータの偏りが少ない点を分割点に決定するからである。
【０１９６】
なお、本実施形態の説明では、トップダウン処理の匿名化において、エントロピーを利用した例を説明した。しかし、分散匿名化装置２０は、他の匿名化処理と組み合わせて、エントロピーを利用しても良い。
【０１９７】
例えば、分割点決定部２３１は、データを分割する前に、分割後のグループの事業者の数の計算を基に、事業者に対する匿名性が高くなる分割ができるか否かを確認しても良い。事業者に対する匿名性が高くなる分割が可能と判定した場合、分割点決定部２３１は、エントロピーを利用した分割点の決定に優先して、事業者に対する匿名性が高くなる分割点を決定しても良い。
【０１９８】
ここで、事業者に対する匿名性が高くなる分割とは、例えば、分割後のグループに含まれる事業者（病院）が単一となる分割である。また、分割点決定部２３１は、この処理に、ＭＰＣを利用してもよい。
【０１９９】
事業者に対する匿名性が高くなる分割について、図１５の例で説明する。
【０２００】
図１５において、分割候補点は、「年齢」が「２１」、「２２」、「２３」及び「２４」である。分割点決定部２３１は、これらの分割候補点において、その分割点で分割した際に分割後のグループに属する「病院」が、「病院Ｘ」のみであるか、又は、「病院Ｙ」のみであるかを判定する。
【０２０１】
図１５において、この条件を満たす分割候補点は、ない。しかし、例えば、図１５のｕｓｅｒ８が病院Ｙの患者であった場合、「年齢」の「２０」で分割すると、「２０未満のグループ」は、ｕｓｅｒ１、ｕｓｅｒ２、ｕｓｅｒ３、ｕｓｅｒ８であり、全データが病院Ｘのデータとなる。このような場合、「年齢」の「２０」での分割は、病院Ｘ及び病院Ｙに対して、匿名性が高い。
【０２０２】
具体的には、「２０未満のグループ」は、グループに属する全データが病院Ｘのデータのため、病院Ｘに対して、匿名性を考慮する必要がない。また、「２０未満のグループ」は、病院Ｙのデータがないため、病院Ｙに対して、匿名性が低下しない。
【０２０３】
このように単一の病院のグループは、その病院や他の病院に対して匿名性を満たす分割のため、エントロピーを利用して分割点を決定する必要がない。従って、分割点決定部２３１は、エントロピーを利用した分割点の決定より優先して、事業者に対する匿名性が高くなる分割点を決定しても良い。
【０２０４】
＜第３実施形態＞
次に、本発明の第３実施形態に係る分散匿名化装置３０について説明する。
【０２０５】
分散匿名化装置３０は、信頼性の低い複数の事業者が結託した場合においても匿名性を保つように動作する点で、第１及び第２実施形態の分散匿名化装置と異なる。すなわち、本実施形態において、３台以上の分散匿名化装置の通信が、前提である。
【０２０６】
以下の説明では、病院Ｘ及び病院Ｙに加え、病院Ｗが存在するとする。
【０２０７】
図１９は、第３実施形態に係る分散匿名化装置３０の構成の一例を示すブロック図である。
【０２０８】
図１９に示すように、分散匿名化装置３０は、第１実施形態における分散匿名化装置１０と比較して、匿名化部１３に代えて匿名化部３３を含み、判定部１４に代えて判定部３４を含む点で異なる。
【０２０９】
匿名化部３３は、匿名化部１３における分割点決定部１３１に代えて分割点決定部３３１を含む。
【０２１０】
記憶部１１、初期グループ化部１２、及び、分割実行部１３２は、第１及び第２実施形態と同様の構成であるため、詳細な説明を省略する。
【０２１１】
なお、本実施形態の説明においても、２匿名性を要求するものとする。
【０２１２】
分割点決定部３３１は、病院Ｙ及び病院Ｗという２つの事業者が有する分散匿名化装置３０と通信する点で、分割点決定部１３１と異なる。ただし、分割点決定部３３１は、第１実施形態における分割点決定部１３１と同様に、中央値を用いて分割点を決定するとする。
【０２１３】
判定部３４は、結合データのうち、三つ以上の装置が記憶するレコードが含まれるグループにおいて、二つ以上の装置が記憶するデータを一種として、匿名性を判定する。
【０２１４】
次に図２０を参照して、本発明の第３実施形態に係る分散匿名化装置３０の動作について説明する。
【０２１５】
図２０は、第３実施形態に係る分散匿名化装置３０の動作の一例を示すフローチャートである。
【０２１６】
図２０に示すように、分散匿名化装置３０は、分散匿名化装置１０の動作と比較して、ステップＳ３に代えてステップＳ９を、ステップＳ６に代えてステップＳ１０を実行する点で異なる。
【０２１７】
ステップＳ９において、判定部３４は、基本的に、判定部１４と同様に動作する。ただし、判定部３４は、三つ以上の事業者（例えば、「病院Ｘ、病院Ｙ及び病院Ｗ」）の装置が記憶するレコードを含むグループにおいて、二つ以上の事業者（例えば、「病院Ｘ」と「病院Ｙ」）の装置を一種とする。そして、判定部３４は、装置の種類毎（「病院Ｘ」と「病院Ｙ」の組合せを一種、「病院Ｗ」を一種）に、匿名性を判定する。
【０２１８】
すなわち、例えば、病院Ｘと病院Ｙの信頼性が低いと考えられる場合、判定部３４は、病院Ｘと病院Ｙとが結託してそれぞれが保持するデータを共有しても、匿名性が保たれるか否かを判定する。なお、事業者の信頼性の高低は、例えば、結合データの利用機関である事業者Ｖ（図１参照）が、予め、分散匿名化装置３０に設定しても良い。
【０２１９】
ステップＳ１０において、判定部３４は、匿名化部３３がステップＳ５で分割したグループについて、ステップＳ９と同様に、二つの装置を一種として匿名性を判定する。
【０２２０】
次に、図２１〜図２６を参照して、図２０の各ステップを、具体的に、例を用いて説明する。
【０２２１】
図２１は、第３実施形態の説明の用いる３つの病院のデータを示す図である。
【０２２２】
図２１に示すように、第３実施形態において、ｕｓｅｒ１４及びｕｓｅｒ１５のレコードを有する病院Ｗが、存在する。
【０２２３】
図２２は、分散匿名化装置３０の動作を説明するために用いる、結合データを示す図である。
【０２２４】
図２２において、レコードの提供元の病院を示す情報が、説明の便宜のために、左の列に仮想的に与えられている。
【０２２５】
図２０のステップＳ１において、初期グループ化部１２は、記憶部１１から取得したデータの準識別子の値を抽象化し、１つのグループにまとめる。
【０２２６】
図２３は、１つのグループにまとめられた結合データを示す図である。
【０２２７】
図２３は、仮想的に結合グループで示すが、実際には各装置が保持するデータ毎に一つにまとめられる。具体的には、図２１に示すデータは、全て、「年齢」が「２０〜２４」として一つにまとめられる。
【０２２８】
図２０のステップＳ２において、匿名化部３３は、初期グループ化部１２から入力されたデータを準識別子の値に基づいてグループに分割する。具体的には、分割点決定部３３１は、中央値を分割点として決定する。そして、分割実行部１３２が、分割する。
【０２２９】
図２４は、図２３に示すデータを、中央値である「年齢」の「２２」で、グループに分割した状態を示す図である。
【０２３０】
図２４に示すように、結合データは、「年齢が２２未満」のグループと「年齢が２２以上」のグループとに分割される。図２４は、２つ以上の病院が結託した場合において、グループ毎に匿名性を満たす（ＯＫ）か、満たさないか（ＮＧ）かを表示している。
【０２３１】
ここで、判定部３４が、２つ以上の病院が結託した場合に、いずれの事業者に対しても、各グループが匿名性を満たすか否かを判定する処理について、詳細に説明する。
【０２３２】
本実施形態の説明では、判定部３４は、三つ以上の装置のデータが含まれるグループを、結託した場合の判定対象とする。また、病院Ｘと病院Ｙの信頼性が、低いとする。そのため、判定部３４は、「病院Ｘ」及び「病院Ｙ」のレコードを一種として、匿名性を満たすか否かを判定するものとする。
【０２３３】
図２０のステップＳ９において、判定部３４は、二種類の装置を一種とした場合の匿名性を判定する。本実施形態の判定部３４は、三つ以上の装置が含まれるグループを、結託した場合の判定対象とする。そのため、判定部３４は、「年齢」が「２０〜２１」のグループ及び「２２〜２４」のグループにおいて、結託を考慮して匿名性を判定する。
【０２３４】
すなわち、図２４に示すように、各グループとも「病院Ｘ」と「病院Ｙ」と「病院Ｚ」の三種類のレコードが含まれているため、判定部３４は、いずれのグループに対しても、結託を考慮して判定する。
【０２３５】
信頼性が低い「病院Ｘ」と「病院Ｙ」との結託を考慮して、判定部３４は、いずれのグループからも「病院Ｘ」及び「病院Ｙ」を一種としたレコードを除外する。図２４の場合、いずれのグループも、「病院Ｗ」のレコードが１つとなり、２匿名性を満たさず、「ＮＧ」となる。従って、判定部３４は、匿名性を満たさないグループが存在すると判定し（ステップＳ４、Ｎｏ）、分割をキャンセルする（ステップＳ８）。
【０２３６】
なお、分割をキャンセルした後の処理は、採用したアルゴリズムに基づいて異なる。本実施形態の説明において、分散匿名化装置３０は、再度、他の分割候補でグループを分割するとする。そのため、分散匿名化装置３０は、ステップＳ２に戻る。そして、分割点決定部３３１は、中央値に最も近い値（中央値の次に中央のレコードに近いレコードの「年齢」の値）である「２３」を、分割点に決定する。
【０２３７】
図２５は、図２３に示すデータを、「年齢」の「２３」で、グループに分割した状態を示す図である。
【０２３８】
図２５に示すように、「年齢」が「２３」でグループに分割した場合、「年齢」が「２０〜２２」のグループが、三つ以上の装置（「病院Ｘ」と「病院Ｙ」と「病院Ｗ」の装置）のデータを含むため、結託した場合の判定対象となる。
【０２３９】
再び、図２０のステップＳ９において、判定部３４は、「年齢」が「２０〜２２」のグループから、「病院Ｘ」及び「病院Ｙ」を一種としたレコードを除外する。この場合、「年齢」が「２０〜２２」のグループは、「病院Ｗ」のレコードが２つ残り、２匿名性を満たす。また、「年齢」が「２３〜２４」のグループは、「病院Ｗ」のレコードを含まない。従って、判定部３４は、全てのグループが匿名性を満たすと判定する（ステップＳ４、Ｙｅｓ）。
【０２４０】
次に、図２０のステップＳ５において、分割点が決定され、ステップＳ１０でステップＳ９と同様の処理が実行される。そして、適切な分割点がなくなった時点で、最終的な匿名化処理済みのデータが、出力される。
【０２４１】
なお、これまでの説明では、「病院Ｘ」及び「病院Ｙ」が結託した場合を考慮した。しかし、本実施形態において考慮する結託のパターンは、これに限定されない。
【０２４２】
例えば、判定部３４は、装置（事業者）の全ての組合せにおいて匿名性を満たす場合に、匿名性が保たれると判定しても良い。
【０２４３】
具体的に、図２５の場合において、判定部３４は、「年齢」が「２０〜２２」及び「２３〜２４」の各グループにおいて、「病院Ｘ」及び「病院Ｙ」の組合せと、「病院Ｘ」及び「病院Ｗ」の組合せと、「病院Ｙ」及び「病院Ｗ」の組合せについて、レコードを除外して匿名性を判定しても良い。
【０２４４】
なお、図２５の場合、全ての組合せで匿名性を判定しても、判定部３４は、２匿名性を満たすと判定する。
【０２４５】
また、本実施形態において、分散匿名化装置３０が、三つあり、二つの装置を一種とするケースについて説明した。しかし、本実施形態は、これに限定されない。すなわち、分散匿名化装置３０は、三つ以上の複数であり、二つ以上の装置を一種としても良い。
【０２４６】
以上説明したように、第３実施形態に係る分散匿名化装置３０は、データを提供した複数の事業者が結託した場合でも、データの匿名性を保てる。
【０２４７】
その理由は、判定部３４が、複数の装置を一種類として匿名性を満たすか否かを判定するからである。
【０２４８】
＜第４実施形態＞
次に、本発明の第４実施形態に係る分散匿名化装置４０について説明する。
【０２４９】
分散匿名化装置４０は、データの提供元である事業者（病院）に応じて、異なる匿名化レベルが設定される点で、これまでの分散匿名化装置と異なる。
【０２５０】
図２６は、第４実施形態に係る分散匿名化装置４０の構成の一例を示すブロック図である。
【０２５１】
図２６に示すように、分散匿名化装置４０は、分散匿名化装置１０と比較して、設定部４１を含む点で異なる。また、分散匿名化装置４０は、判定部１４に代わって、判定部４４を含む点で異なる。記憶部１１及び匿名化部１３は、第１実施形態に係る分散匿名化装置１０と同様の構成のため、詳細な説明を省略する。
【０２５２】
設定部４１は、記憶部１１が記憶するデータに対し、他の分散匿名化装置４０に応じた匿名性レベルの閾値を設定する。設定部４１は、分散匿名化装置４０に応じて異なる匿名性レベルを設定したデータを、初期グループ化部１２に出力する。
【０２５３】
本実施形態の設定部４１は、図２６に示すように、例えば、「装置に応じた匿名性レベルの設定する」指示を、外部から受け付けても良い。この場合、外部とは、図１における事業者Ｗでも良い。また、「装置に応じて匿名性レベルを設定する」とは、病院の信頼度に応じて病院が有する分散匿名化装置４０毎に、匿名性レベルを設定することである。なお、分散匿名化装置４０は、設定部４１が外部からの設定指示の受信を契機に、匿名化処理を開始しても良い。
【０２５４】
判定部４４は、装置が同一のレコードを除いた場合のレコード数が、装置に応じた閾値以上であるか否かを判定する。
【０２５５】
次に、図２７を参照して、第４実施形態に係る分散匿名化装置４０の動作について説明する。
【０２５６】
図２７は、第４実施形態に係る分散匿名化装置４０の動作の一例を示すフローチャートである。
【０２５７】
図２７に示すように、分散匿名化装置４０は、分散匿名化装置１０の動作と比較して、ステップＳ１１を含む点で異なる。また、分散匿名化装置４０は、分散匿名化装置１０の動作と比較して、ステップＳ３に代えてステップＳ１２を、ステップＳ６に代えてステップＳ１３を実行する点で異なる。
【０２５８】
ステップＳ１１において、設定部４１は、記憶部１１が記憶するデータに対し、装置に応じた匿名性レベルの閾値を設定する。
【０２５９】
また、ステップＳ１２及びステップＳ１３において、判定部４４は、各グループにおいて装置毎に、同一の装置が記憶するレコードを除いたレコード数が、装置に応じた閾値以上であるか否かを判定する。
【０２６０】
次に、図２８〜図３３を参照して、図２７の各ステップを、具体的に、例を用いて説明する。
【０２６１】
図２７のステップＳ１１において、設定部４１は、記憶部１１からデータを取得する。本実施形態の説明において、記憶部１１は、第３実施形態と同様に、図２１に示すデータを記憶する。設定部４１は、記憶部１１が記憶するデータに対し、装置に応じた匿名性レベルの閾値を設定する。
【０２６２】
図２８は、装置に応じた匿名性レベルの閾値が設定されたデータの一例を示す図である。
【０２６３】
図２８に示すように、設定部４１は、例えば、病院Ｘは信用度が高いので病院Ｘの匿名化レベルを「１」に、病院Ｙは普通の信用度なので病院Ｙの匿名化レベルを「２」に、また、病院Ｗは信用度が低いので病院Ｗの匿名化レベルを「３」に、設定する。
【０２６４】
図２９は、図２８に示すデータが、結合された結合データを示す図である。なお、これまでと同様、分散匿名化装置４０は、実際には、図２９に示す結合されたデータを対象に処理をするのではなく、ＭＰＣなどの通信を用いて、各装置が保持するデータを対象に処理する。
【０２６５】
図２７のステップＳ１において、初期グループ化部１２は、記憶部１１から取得したデータの準識別子の値を抽象化し、１つのグループにまとめる。
【０２６６】
図３０は、１つのグループにまとめられた結合データを示す図である。
【０２６７】
図２７のステップＳ２において、匿名化部１３は、分割点を決定してデータを複数のグループに分割する。
【０２６８】
図３１は、図３０に示すデータが、準識別子の値に基づいて複数のグループに分割された状態の一例を示す図である。
【０２６９】
図３１に示すように、結合データは、「年齢」が「２０〜２１」及び「２２〜２４」の２つのグループに分割される。
【０２７０】
ここで、判定部４４が、各グループが装置に応じた匿名性レベルを満たすか否かを判定する処理について、詳細に説明する。
【０２７１】
図２７のステップＳ１２において、判定部４４は、装置が同一のレコードを除いた場合のレコード数が、装置に応じた閾値以上であるか否かを判定する。図３１は、装置に対応する匿名性レベルを、グループ毎に満たす（ＯＫ）か、満たさないか（ＮＧ）かを表示している。
【０２７２】
例えば、「年齢」が「２０〜２１」のグループは、「病院Ｘ」のレコードを除いた場合、「病院Ｙ」の２つのレコードと「病院Ｗ」の１つのレコードとの計３つのレコードが残る。「病院Ｘ」の「匿名化レベル」は、「１」である。そのため、病院Ｘの分散匿名化装置４０の判定部４４は、匿名性を満たすと判定する。
【０２７３】
同様に、「病院Ｙ」を除いた場合、「年齢」が「２０〜２１」のグループは、「病院Ｘ」の３つのレコードと「病院Ｗ」の１つのレコードとの計４つのレコードが残る。「病院Ｙ」の「匿名性レベル」は、「２」である。そのため、病院Ｙの分散匿名化装置４０の判定部４４は、匿名性を満たすと判定する。
【０２７４】
また、「病院Ｗ」を除いた場合、「年齢」が「２０〜２１」のグループは、「病院Ｘ」の３つのレコードと「病院Ｙ」の２つのレコードとの計５つのレコードが残る。「病院Ｗ」の「匿名性レベル」は、「３」と、高めに設定されている。しかし、残るレコードの数は、この閾値を満たす。そのため、病院Ｗの分散匿名化装置４０の判定部４４は、「年齢」が「２０〜２１」のグループの匿名性が保たれると判定する。
【０２７５】
また、同様にして、判定部４４は、「年齢」が「２２〜２４」のグループの匿名性が保たれると判定する。
【０２７６】
図２７のステップＳ５において、匿名化部１３は、図３１に示すデータをさらに分割する。
【０２７７】
図３２は、図３１に示すデータが、さらに分割された状態の一例を示す図である。
【０２７８】
図３２に示す場合において、上述の処理と同様の処理し、判定部４４は、全てのグループが、匿名性を満たすと判定する（ステップＳ７、Ｙｅｓ）。
【０２７９】
再び、図２７のステップＳ５において、匿名化部１３は、さらに、グループを分割する。しかし、全てのグループにおいて、匿名性を満たすような分割点は、存在しない。そのため、判定部４４は、処理を終了する。正確なフローの一例は、例えば、匿名化部１３が、「年齢」の「２１」でさらに分割する（ステップＳ５）。そして、判定部４４は、「年齢」が「２０」のグループは匿名性を満たすが、「２１」のグループは満たさないと判定し（ステップＳ７、Ｎｏ）、最後の分割をキャンセルする（ステップＳ８）。
【０２８０】
図３３は、分散匿名化装置４０が最終的に出力する匿名化処理済み結合データの一例を示す図である。
【０２８１】
以上説明したように、第４実施形態に係る分散匿名化装置４０は、データを提供した複数の事業者の信頼度に対応してデータの匿名性を保てる。
【０２８２】
その理由は、設定部４１が、記憶部１１が記憶する結合データに対し、装置に応じた匿名性レベルの閾値を設定するからである。
【０２８３】
なお、本実施形態の説明において、設定部４１が、記憶部１１の記憶するデータに匿名性レベルを設定するとして説明した。しかし、本実施形態は、これに限定されない。例えば、記憶部１１は、事業者に応じた匿名性レベルが設定されたデータを記憶しても良い。この場合、設定部４１は、含まれなくても良い。または、判定部４４が、他の装置と通信する過程で、複数のグループに分割する前に、装置に応じて匿名性レベルを設定しても良い。
【０２８４】
＜第５実施形態＞
次に、本発明の第５実施形態に係る分散匿名化装置５０について説明する。
【０２８５】
分散匿名化装置５０は、第２実施形態に係る分散匿名化装置２０と同様にデータを分割した場合のエントロピーを考慮して分割点を決める。分散匿名化装置５０は、分割点決定の際に、エントロピーの値に各装置の信頼度に応じた重みを付ける点で、分散匿名化装置２０と異なる。
【０２８６】
図３４は、第５実施形態に係る分散匿名化装置５０の構成の一例を示すブロック図である。
【０２８７】
図３４に示すように、分散匿名化装置５０は、これまでの分散匿名化装置と比較して、匿名化部５３を含む点で異なる。匿名化部５３は、分割点決定部５３１を含む。
【０２８８】
なお、他の構成は、分散匿名化装置２０と同様に動作する。そのため、同様の構成には、同じ符号を付し、詳細な説明を省略する。
【０２８９】
また、本実施形態の説明において、第２実施形態と同様、２つの病院（病院Ｘ及び病院Ｙ）の分散匿名化装置５０が、ＭＰＣの通信を用いて、匿名化を処理する。
【０２９０】
分割点決定部５３１は、分割したときの各グループのエントロピーの値に基づいて分割点を決定する。ただし、分割点決定部５３１は、エントロピーの値を、各装置に信頼度に基づく重み付き関数を用いて算出する。例えば、分割点決定部５３１は、各装置の信頼度を考慮し、分割後のグループに属するデータに関し、事業者（病院Ｘ及び病院Ｙ）の偏りがすくない点を分割点としても良い。
【０２９１】
例えば、分割点決定部５３１は、分割後のグループにおけるエントロピーを、以下の式を用いて、計算しても良い。
【０２９２】
エントロピー＝Σ｛−ＷＣｌａｓｓ×Ｐ（Ｃｌａｓｓ）×ｌｏｇ（Ｐ（Ｃｌａｓｓ））｝
ここで、エントロピーの式は、ＷＣｌａｓｓを乗算する以外、第２実施形態に示した関数と同様の関数でも良い。また、上記のエントロピーの値に基づいた分割点の決定方法も、第２実施形態と同様でも良い。ＷＣｌａｓｓは、Ｃｌａｓｓ毎の（例えば、病院Ｘ及び病院Ｙそれぞれの）信頼度に応じた重み係数である。
【０２９３】
本実施形態の説明において、分割点決定部５３１は、第２実施形態と同様に分割候補点で分割した場合の２つのグループのエントロピーの和の値が最大となる点を分割点とする。なお、本実施形態の説明において、信頼度は、第４実施形態と同様に、匿名性レベルとして、外部から設定部４１を介して設定されるとする。
【０２９４】
本実施形態の分散匿名化装置５０の基本的な動作のフローチャートは、図２７に示すフローチャートと同様である。そこで、図３５〜図３９を参照して、図２７のフローチャートについて、これまでと異なる点を中心として、具体的に、例を用いて説明する。
【０２９５】
まず、前提として、本実施形態の説明における記憶部１１は、説明の便宜のため、これまでのデータとは異なる内容のデータを記憶するとする。
【０２９６】
図３５は、第５実施形態の記憶部１１が記憶するデータを示す図である。
【０２９７】
図３５に示すように病院Ｘ及び病院Ｙの分散匿名化装置５０（記憶部１１）は、これまでと異なる内容のデータを記憶する。ただし、データの違いは、説明の便宜のためであり、本実施形態の本質的な部分に、影響しない。
【０２９８】
図３６は、図３５に示すデータを結合した結合データを示す図である。
【０２９９】
なお、図３６は、これまでと同様に、仮想的なデータである。実際には、匿名化処理の途中で異なる装置間のデータが、結合されることはない。また、上述の通り、「病院」の欄のデータは、発明の理解を容易にするためのものであり、実際には存在しない。
【０３００】
図２７のステップＳ１１において、設定部４１は、記憶部１１が記憶するデータに対し、装置に応じた匿名性レベルの閾値を設定する。本実施形態の説明において、病院Ｘは、信頼度が低く、匿名性レベル「３」が設定されるとする。また、病院Ｙは、信頼度が普通であり、匿名性レベル「２」が設定されるとする。
【０３０１】
図２７のステップＳ１において、初期グループ化部１２は、初期グループを作成する。
【０３０２】
図３７は、図３６に示すデータが、初期グループ化された状態を示す図である。
【０３０３】
図２７のステップＳ２において、分割点決定部５３１は、重み付きエントロピーを考慮して分割点を決定し、決定した分割点でデータを分割する。分割候補点は、「年齢」が「２１」、「２２」、「２３」、「２４」及び「２５」である。分割点決定部５３１は、分割候補点の全てについて、上述の式を用いてエントロピーを計算しても良い。例えば、分割点決定部５３１は、分割候補点で分割した場合の２つのグループのエントロピーの和の値が最大となる分割候補点を、分割点として決定しても良い。
【０３０４】
以下に、エントロピー計算に関しての具体的な計算例を示す。
【０３０５】
「年齢」が「２１」で分割した場合のエントロピーは、以下のように計算される。なお、このとき、ＷＣｌａｓｓは、各病院の匿名性レベルの値である。
【０３０６】
（１）「年齢」が「２１」未満のグループについて
エントロピー＝｛−３×（２／４）×ｌｏｇ（２／４）｝＋｛−２×（２／４）×ｌｏｇ（２／４）｝＝０．７０１３７４
（２）「年齢」が「２１」以上のグループについて
エントロピー＝｛−３×（４／１１）×ｌｏｇ（４／１１）｝＋｛−２×（７／１１）×ｌｏｇ（７／１１）｝＝０．７８０３０２
よって、「年齢」が「２１」で分割した場合のエントロピーは、
（１）＋（２）＝１．４８１６８となる。
【０３０７】
以上のように、上述の分割候補点について重み付きでエントロピーを計算すると、各分割点候補の重み付きでエントロピーは、それぞれ順番に、「１．４８１６８」、「１．４８７４９」、「１．３７１００」、「１．４６５１２」及び「１．４８７４９」となる。
【０３０８】
つまり、「年齢」の「２２」又は「２５」で分割した場合が、最もエントロピーの値が大きい。ここで一例として、分割点決定部５３１は、エントロピーの値が同じものが複数ある場合、年齢の若い値を分割点とする。そこで、分割点決定部５３１は、「年齢」の「２２」を分割点に決定し、初期グループ化部１２又は判定部１４から出力されたデータと、決定した分割点とを分割実行部１３２に出力する。
【０３０９】
図３８は、図３７に示すデータが、「年齢」の「２２」で分割された状態を示す図である。
【０３１０】
この場合、図１０のステップＳ１２において、判定部１４は、いずれの病院に対しても、各グループが病院に応じた匿名性を満たすと判定する。そのため、処理は、ステップＳ５に進む。
【０３１１】
具体的には、「年齢」が「２０〜２１」のグループは、病院Ｘのレコードを除くと病院Ｙのレコードが３つ残るため、病院Ｘの匿名性レベル「３」を満たす。また、「年齢」が「２０〜２１」のグループは、病院Ｙのレコードを除くと病院Ｘのレコードが２つ残るため、病院Ｙの匿名性レベル「２」を満たす。
【０３１２】
図２７のステップＳ５において、分割点決定部５３１は、新たに分割点を決定する。分割点決定部５３１は、現段階で最もエントロピーの和の値が大きくなる「年齢」の「２５」を、分割点に決定する。
【０３１３】
図３９は、図３８のデータが、「年齢」の「２５」で、さらに分割された状態を示す図である。
【０３１４】
ここで、本実施形態における分散匿名化装置５０の効果を示すため、第２実施形態における分散匿名化装置２０が、重み付きでないエントロピーを基に、図３７に示すデータを分割する場合を考える。
【０３１５】
図４０は、図３７に示すデータが、第２実施形態の分割点決定部２３１が決定した分割点で分割された状態を示す図である。
【０３１６】
図４０に示すように、重み付きでないエントロピーを基に分割点が決定された場合、「年齢」の「２１」が、分割点に決定される。
【０３１７】
以下に、重み無しのエントロピー計算に関しての、具体的な計算例を示す。
【０３１８】
「年齢」が「２１」で分割した場合のエントロピーは、以下のように計算される。
【０３１９】
（１）「年齢」が「２１」未満のグループについて
エントロピー＝｛−１×（２／４）×ｌｏｇ（２／４）｝＋｛−１×（２／４）×ｌｏｇ（２／４）｝＝０．３０１０３
（２）「年齢」が「２１」以上のグループについて
エントロピー＝｛−１×（４／１１）×ｌｏｇ（４／１１）｝＋｛−１×（７／１１）×ｌｏｇ（７／１１）｝＝０．２８４６７
よって、「年齢」が「２１」で分割した場合のエントロピーは、
（１）＋（２）＝０．５８５７０となる。
【０３２０】
以上のように、上述の分割候補点の重み無しでのエントロピーを計算すると、各分割候補点の重み無しでのエントロピーは、それぞれ順番に、「０．５８５７０」、「０．５８４５７」、「０．５４０８０」、「０．５７４７８」及び「０．５８４５７」となる。
【０３２１】
従って、図４０に示すように、結合データは、最もエントロピーの値が大きい「年齢」の「２１」で分割される。この分割の場合、判定部４４は、「年齢」が「２０」のグループが、病院Ｘのレコードを除いた場合、病院Ｙのレコードが２つしか残らず、病院Ｘの匿名性レベル「３」を満たさないと判定する。したがって、この例において、分散匿名化装置５０は、病院に応じた信頼度を考慮した重み付きエントロピーを用いて、より適切に、データを分割できる。
【０３２２】
以上説明したように、第５実施形態に係る分散匿名化装置５０は、匿名化対象のデータを、病院に応じた信頼度を考慮した適切なグループに分割できる。
【０３２３】
その理由は、分割点決定部５３１が、重み付きエントロピーを用いて、信頼度を考慮した最もデータの偏りが少ない点を、分割点とするからである。
【０３２４】
＜第６実施形態＞
次に、本発明の第６実施形態に係る分散匿名化装置６０について説明する。
【０３２５】
図４１は、第６実施形態に係る分散匿名化装置６０の構成の一例を示すブロック図である。
【０３２６】
図４１に示すように、分散匿名化装置６０は、匿名化部６１と判定部６２とを含む。分散匿名化装置６０は、他の分散匿名化装置６０と通信しながら、匿名化を処理する。
【０３２７】
判定部６２は、自装置が記憶するレコードと他の装置が記憶するレコードとを結合した結合データに関し、全ての装置に対してもデータの匿名性が保たれるか否かを、全ての装置の間で互いにデータを開示しない方法に基づく通信を用いて、判定する。
【０３２８】
匿名化部６１は、判定部６２の匿名性の判定結果に基づいて、データの匿名化処理を繰り返す。
【０３２９】
図４２は、第６実施形態の分散匿名化装置６０の動作の一例を示すフローチャートである。ステップＳ１からステップＳ８の各動作は、第１実施形態における分散匿名化装置１０の動作である図１０に示す各動作と同様である。
【０３３０】
以上説明したように、第６実施形態に係る分散匿名化装置６０は、データを提供したいずれの事業者に対しても、データの匿名性を保てる。
【０３３１】
＜ハードウェア構成＞
図４３は、第１実施形態の分散匿名化装置１０のハードウェア構成の一例を示すブロック図である。
【０３３２】
図４３に示すように、分散匿名化装置１０を構成する各部は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１と、ネットワーク接続用の通信ＩＦ２（通信インターフェース２）と、メモリ３と、プログラムを格納するハードディスク等の記憶装置４と、入力装置５と、出力装置６とを含む、コンピュータ装置を用いて、実現される。ただし、分散匿名化装置１０の構成は、図４３に示すコンピュータ装置に限定されない。
【０３３３】
例えば、病院Ｘ及び病院Ｙのデータは、通信ＩＦ２を介して記憶部１１に格納されても良い。
【０３３４】
ＣＰＵ１は、オペレーティングシステムを動作させて、分散匿名化装置１０の全体を制御する。また、ＣＰＵ１は、例えば、ドライブ装置に装着された記録媒体からメモリ３にプログラムやデータを読み出し、これらにしたがって、各処理を実行する。
【０３３５】
例えば、判定部１４及び匿名化部１３は、ＣＰＵ１及びプログラムに基づき実現されても良い。
【０３３６】
記憶装置４は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、半導体メモリであり、コンピュータプログラムをコンピュータで読み取り可能に記録する。また、コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされても良い。
【０３３７】
例えば、記憶部１１は、記憶装置４を用いて実現されても良い。
【０３３８】
入力装置５は、例えば、マウスやキーボードである。出力装置６は、例えば、ディスプレイである。
【０３３９】
第２から第６の実施形態に係る分散匿名化装置２０〜６０も、ＣＰＵとプログラムを記憶した記憶装置とを含むコンピュータ装置を用いて、構成されてもよい。
【０３４０】
なお、これまでに説明した各実施形態において利用するブロック図（図９、図１４、図１９、図２６、図３４及び図４１）は、ハードウェア単位の構成ではなく、機能単位のブロックを示す。これらの機能ブロックは、ハードウェア及びソフトウェアの任意の組み合わせを用いて実現される。また、分散匿名化装置１０を実現する構成は、特に限定されない。すなわち、分散匿名化装置１０は、物理的に結合した一つの装置を用いて実現されても良いし、物理的に分離した二つ以上の装置を有線又は無線で接続し、これら複数の装置を用いて実現されても良い。
【０３４１】
本発明のプログラムは、上記の各実施形態で説明した各動作を、コンピュータに実行させるプログラムであれば良い。
【０３４２】
以上、実施形態を参照して本願発明を説明したが、本願発明は、上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０３４３】
この出願は、２０１２年  ２月１７日に出願された日本出願特願２０１２−０３２９９３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０３４４】
１  ＣＰＵ
２  通信ＩＦ
３  メモリ
４  記憶装置
５  入力装置
６  出力装置
１０、２０、３０、４０、５０、６０  分散匿名化装置
１１  記憶部
１２  初期グループ化部
１３、２３、３３、５３、６１  匿名化部
１４、３４、４４、６２  判定部
４１  設定部
１３１、２３１、３３１、５３１  分割点決定部
１３２  分割実行部
【図１】
2013121738.tif 000003
【図２】
2013121738.tif 000004
【図３】
2013121738.tif 000005
【図４】
2013121738.tif 000006
【図５】
2013121738.tif 000007
【図６】
2013121738.tif 000008
【図７】
2013121738.tif 000009
【図８】
2013121738.tif 000010
【図９】
2013121738.tif 000011
【図１０】
2013121738.tif 000012
【図１１】
2013121738.tif 000013
【図１２】
2013121738.tif 000014
【図１３】
2013121738.tif 000015
【図１４】
2013121738.tif 000016
【図１５】
2013121738.tif 000017
【図１６】
2013121738.tif 000018
【図１７】
2013121738.tif 000019
【図１８】
2013121738.tif 000020
【図１９】
2013121738.tif 000021
【図２０】
2013121738.tif 000022
【図２１】
2013121738.tif 000023
【図２２】
2013121738.tif 000024
【図２３】
2013121738.tif 000025
【図２４】
2013121738.tif 000026
【図２５】
2013121738.tif 000027
【図２６】
2013121738.tif 000028
【図２７】
2013121738.tif 000029
【図２８】
2013121738.tif 000030
【図２９】
2013121738.tif 000031
【図３０】
2013121738.tif 000032
【図３１】
2013121738.tif 000033
【図３２】
2013121738.tif 000034
【図３３】
2013121738.tif 000035
【図３４】
2013121738.tif 000036
【図３５】
2013121738.tif 000037
【図３６】
2013121738.tif 000038
【図３７】
2013121738.tif 000039
【図３８】
2013121738.tif 000040
【図３９】
2013121738.tif 000041
【図４０】
2013121738.tif 000042
【図４１】
2013121738.tif 000043
【図４２】
2013121738.tif 000044
【図４３】
2013121738.tif 000045
【国際調査報告】
2013121738.tif 000046
2013121738.tif 000047