(57)【要約】【課題】本発明は、匿名化処理を高速に実行することを可能とする匿名化処理方法、匿名化処理プログラム、及び匿名化処理装置を提供することを目的とする。【解決手段】本発明に係る匿名化処理方法は、複数のデータの内の特定データに関して、所定数の他のデータを複数の選択データとして選択する選択工程と、複数の選択データのそれぞれについて、複数のデータの中から、近傍にある複数の中間データを抽出する抽出工程と、複数の中間データの内、特定データの近傍に存在する複数の近傍データを決定する決定工程と、複数の近傍データを、選択工程の選択データとして置き換え、選択工程、抽出工程及び決定工程を繰り返し複数回実行する実行工程と、実行工程後の複数の選択データ及び特定データに基づいてグループ化を行うグループ化工程と、グループ化された複数のデータの匿名化パラメータを作成するパラメータ作成工程とを有する。【選択図】図２
2016149099.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが複数のパラメータを有する複数のデータを記憶する記憶部を備える匿名化処理装置の匿名化処理方法であって、前記匿名化処理装置が、
前記複数のデータの内の特定データに関して、所定数の他のデータを複数の選択データとして選択する選択工程と、
前記複数の選択データのそれぞれについて、前記複数のデータの中から、パラメータ空間内で近傍にある複数の中間データを抽出する抽出工程と、
前記パラメータ空間内で、前記複数の中間データのそれぞれと前記特定データとの距離を計算し、計算結果に基づいて、前記複数の中間データの内、前記特定データの近傍に存在する複数の近傍データを決定する決定工程と、
前記決定工程で決定された複数の近傍データを、前記選択工程の前記選択データとして置き換えるようにして、前記選択工程、前記抽出工程及び前記決定工程を繰り返し複数回実行する実行工程と、
前記実行工程後の前記複数の選択データ及び前記特定データに基づいてグループ化を行うグループ化工程と、
前記グループ化された複数のデータが有するそれぞれのパラメータに基づいて、前記グループ化された複数のデータの匿名化パラメータを作成するパラメータ作成工程と、
前記作成された匿名化パラメータを出力する出力工程と、
を有することを特徴とする匿名化処理方法。
【請求項２】
前記所定数は、前記複数のデータの全数よりも少ない数であり、
前記選択工程において、前記特定データと、選択した前記複数の選択データを含む第１リストとを関連付け、
前記抽出工程において、前記特定データと、前記特定データを含む前記第１リストに関連付けられた他の特定データを含む第２リストとを関連付け、前記特定データと、前記特定データに関連付けられた前記第１リスト及び前記第２リストが含むデータを含む第３リストとを関連付け、前記特定データに関連付けられた第３リストが含むデータに関連付けられた第２リストが含むデータを前記複数の中間データとして抽出して、前記特定データと、前記複数の中間データを含む第４リストとを関連付け、
前記決定工程において、前記特定データと、前記特定データに関連付けられた前記第１リストが含む前記複数の選択データ及び前記第４リストが含む前記複数の中間データを含む第５リストとを関連付け、前記パラメータ空間内で、特定データに関連付けられた第５リストが含む前記複数の選択データ及び前記複数の中間データのそれぞれと前記特定データとの距離を計算し、計算結果に基づいて、前記複数のデータ及び前記複数の中間データの内、前記特定データの近傍に存在する前記複数の近傍データを決定し、
前記実行工程において、前記複数の近傍データを、次の第１リストに含まれる前記選択データとして置き換える、請求項１に記載の匿名化処理方法。
【請求項３】
前記グループ化工程において、
前記複数のデータの内から選択された初期データをグループリストに含め、
前記初期データを含むグループリストに、前記パラメータ空間内で、前記初期データに関連付けられた前記第１リストに含まれる選択データの内、前記初期データに最も近傍に存在する選択データを含め、
前記初期データを含むグループリストに、前記パラメータ空間内で、当該グループリストに含まれる初期データに関連付けられた前記第１リストに含まれるデータの内、当該グループリストに含まれるデータに最も近傍に存在するデータを含ませる処理を所定回数実行することによりグループリストを更新し、
前記グループ化工程において、前記更新したグループリストに基づいてグループ化を行う、請求項２に記載の匿名化処理方法。
【請求項４】
前記初期データは、前記パラメータ空間内で、前記記憶部に記憶された複数のデータの内、ランダムに選択されたデータから最も遠い位置に存在するデータである、請求項３に記載の匿名化処理方法。
【請求項５】
それぞれが複数のパラメータを有する複数のデータを記憶する記憶部を備える匿名化処理装置に、
前記複数のデータの内の特定データに関して、所定数の他のデータを複数の選択データとして選択する選択工程と、
前記複数の選択データのそれぞれについて、前記複数のデータの中から、パラメータ空間内で近傍にある複数の中間データを抽出する抽出工程と、
前記パラメータ空間内で、前記複数の中間データのそれぞれと前記特定データとの距離を計算し、計算結果に基づいて、前記複数の中間データの内、前記特定データの近傍に存在する複数の近傍データを決定する決定工程と、
前記決定工程で決定された複数の近傍データを、前記選択工程の前記選択データとして置き換えるようにして、前記選択工程、前記抽出工程及び前記決定工程を繰り返し複数回実行する実行工程と、
前記実行工程後の前記複数の選択データ及び前記特定データに基づいてグループ化を行うグループ化工程と、
前記グループ化された複数のデータが有するそれぞれのパラメータに基づいて、前記グループ化された複数のデータの匿名化パラメータを作成するパラメータ作成工程と、
前記作成された匿名化パラメータを出力する出力工程と、
を実行させることを特徴とする匿名化処理プログラム。
【請求項６】
それぞれが複数のパラメータを有する複数のデータを記憶する記憶部を備える匿名化処理装置であって、
前記複数のデータの内の特定データに関して、所定数の他のデータを複数の選択データとして選択する選択部と、
前記複数の選択データのそれぞれについて、前記複数のデータの中から、パラメータ空間内で近傍にある複数の中間データを抽出する抽出部と、
前記パラメータ空間内で、前記複数の中間データのそれぞれと前記特定データとの距離を計算し、計算結果に基づいて、前記複数の中間データの内、前記特定データの近傍に存在する複数の近傍データを決定する決定部と、
前記決定部が決定した複数の近傍データを、前記選択部における前記選択データとして置き換えるようにして、前記選択部、前記抽出部及び前記決定部に処理を繰り返し複数回実行させる実行部と、
前記実行部の実行後の前記複数の選択データ及び前記特定データに基づいてグループ化を行うグループ化部と、
前記グループ化された複数のデータが有するそれぞれのパラメータに基づいて、前記グループ化された複数のデータの匿名化パラメータを作成するパラメータ作成部と、
前記作成された匿名化パラメータを出力する出力部と、
を有することを特徴とする匿名化処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、匿名化処理方法、匿名化処理プログラム、及び匿名化処理装置に関する。
【背景技術】
【０００２】
近年、日々蓄積されているビッグデータと呼ばれるデータ群を活用した新しい産業又は新しいサービスの創出が期待されている。例えば、ビックデータ（Big Data）として、携帯端末や携帯電話の基地局から取得された通信履歴又は位置情報等を含む個人に関する情報（パーソナルデータ）が知られている。このようなパーソナルデータに対し、個人が特定されないように、通信履歴又は位置情報等を、特定性を低減したデータに置換する匿名化技術の構築が必要とされている。
【０００３】
例えば、特許文献１には、携帯端末に係るパーソナルデータを取得し、取得したパーソナルデータの一部に対しｋ匿名化法による匿名化処理を行い、一部の情報が匿名化されたパーソナルデータを第三者サービス事業者に提供するユーザ情報管理装置が記載されている。例えば、ｋ匿名化法として、パーソナルデータの各レコードがクラスタリング手法等によりｋレコード以上からなる複数のグループに分割され、各グループに含まれるレコードに基づいてパーソナルデータが匿名化される手法が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−４４５２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のｋ匿名化法による匿名化処理において、レコード全数ｎから生成される全てのパターンを匿名化処理の対象にした場合、匿名化処理時間として膨大な処理時間が必要となる。したがって、携帯端末や携帯電話の基地局から逐次蓄積される大量のパーソナルデータが匿名化処理される場合、パーソナルデータが蓄積されていく速度の方が、蓄積されていくパーソナルデータが匿名化処理される速度よりも速くなり、匿名化処理が間に合わないという問題が生じていた。
【０００６】
本発明は、このような従来の課題を解決すべくなされたものであり、匿名化処理を高速に実行することを可能とする匿名化処理方法、匿名化処理プログラム、及び匿名化処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る匿名化処理方法は、それぞれが複数のパラメータを有する複数のデータを記憶する記憶部を備える匿名化処理装置の匿名化処理方法であって、匿名化処理装置が、複数のデータの内の特定データに関して、所定数の他のデータを複数の選択データとして選択する選択工程と、複数の選択データのそれぞれについて、複数のデータの中から、パラメータ空間内で近傍にある複数の中間データを抽出する抽出工程と、パラメータ空間内で、複数の中間データのそれぞれと特定データとの距離を計算し、計算結果に基づいて、複数の中間データの内、特定データの近傍に存在する複数の近傍データを決定する決定工程と、決定工程で決定された複数の近傍データを、選択工程の選択データとして置き換えるようにして、選択工程、抽出工程及び決定工程を繰り返し複数回実行する実行工程と、実行工程後の複数の選択データ及び特定データに基づいてグループ化を行うグループ化工程と、グループ化された複数のデータが有するそれぞれのパラメータに基づいて、グループ化された複数のデータの匿名化パラメータを作成するパラメータ作成工程と、作成された匿名化パラメータを出力する出力工程と、を有する。
【０００８】
また、本発明に係る匿名化処理方法において、所定数は、複数のデータの全数よりも少ない数であり、選択工程において、特定データと、選択した複数の選択データを含む第１リストとを関連付け、抽出工程において、特定データと、特定データを含む第１リストに関連付けられた他の特定データを含む第２リストとを関連付け、特定データと、特定データに関連付けられた第１リスト及び第２リストが含むデータを含む第３リストとを関連付け、特定データに関連付けられた第３リストが含むデータに関連付けられた第２リストが含むデータを複数の中間データとして抽出して、特定データと、複数の中間データを含む第４リストとを関連付け、決定工程において、特定データと、特定データに関連付けられた第１リストが含む複数の選択データ及び第４リストが含む複数の中間データを含む第５リストとを関連付け、パラメータ空間内で、特定データに関連付けられた第５リストが含む複数の選択データ及び複数の中間データのそれぞれと特定データとの距離を計算し、計算結果に基づいて、複数のデータ及び複数の中間データの内、特定データの近傍に存在する複数の近傍データを決定し、実行工程において、複数の近傍データを、次の第１リストに含まれる選択データとして置き換えることが好ましい。
【０００９】
また、本発明に係る匿名化処理方法において、グループ化工程において、複数のデータの内から選択された初期データをグループリストに含め、初期データを含むグループリストに、パラメータ空間内で、初期データに関連付けられた第１リストに含まれる選択データの内、初期データに最も近傍に存在する選択データを含め、初期データを含むグループリストに、パラメータ空間内で、当該グループリストに含まれる初期データに関連付けられた第１リストに含まれるデータの内、当該グループリストに含まれるデータに最も近傍に存在するデータを含ませる処理を所定回数実行することによりグループリストを更新し、グループ化工程において、更新したグループリストに基づいてグループ化を行うことが好ましい。
【００１０】
また、本発明に係る匿名化処理方法において、初期データは、パラメータ空間内で、記憶部に記憶された複数のデータの内、ランダムに選択されたデータから最も遠い位置に存在するデータであることが好ましい。
【００１１】
匿名化処理プログラムは、それぞれが複数のパラメータを有する複数のデータを記憶する記憶部を備える匿名化処理装置に、複数のデータの内の特定データに関して、所定数の他のデータを複数の選択データとして選択する選択工程と、複数の選択データのそれぞれについて、複数のデータの中から、パラメータ空間内で近傍にある複数の中間データを抽出する抽出工程と、パラメータ空間内で、複数の中間データのそれぞれと特定データとの距離を計算し、計算結果に基づいて、複数の中間データの内、特定データの近傍に存在する複数の近傍データを決定する決定工程と、決定工程で決定された複数の近傍データを、選択工程の選択データとして置き換えるようにして、選択工程、抽出工程及び決定工程を繰り返し複数回実行する実行工程と、実行工程後の複数の選択データ及び特定データに基づいてグループ化を行うグループ化工程と、グループ化された複数のデータが有するそれぞれのパラメータに基づいて、グループ化された複数のデータの匿名化パラメータを作成するパラメータ作成工程と、作成された匿名化パラメータを出力する出力工程と、を実行させる。
【００１２】
本発明に係る匿名化処理装置は、それぞれが複数のパラメータを有する複数のデータを記憶する記憶部を備える匿名化処理装置であって、複数のデータの内の特定データに関して、所定数の他のデータを複数の選択データとして選択する選択部と、複数の選択データのそれぞれについて、複数のデータの中から、パラメータ空間内で近傍にある複数の中間データを抽出する抽出部と、パラメータ空間内で、複数の中間データのそれぞれと特定データとの距離を計算し、計算結果に基づいて、複数の中間データの内、特定データの近傍に存在する複数の近傍データを決定する決定部と、決定部が決定した複数の近傍データを、選択部における選択データとして置き換えるようにして、選択部、抽出部及び決定部に処理を繰り返し複数回実行させる実行部と、実行部の実行後の複数の選択データ及び特定データに基づいてグループ化を行うグループ化部と、グループ化された複数のデータが有するそれぞれのパラメータに基づいて、グループ化された複数のデータの匿名化パラメータを作成するパラメータ作成部と、作成された匿名化パラメータを出力する出力部と、を有する。
【発明の効果】
【００１３】
本発明に係る匿名化処理方法、匿名化処理プログラム、及び匿名化処理装置は、匿名化処理を高速に実行することを可能とする。
【図面の簡単な説明】
【００１４】
【図１】個人データ管理システム１の概略構成の一例を示す図である。
【図２】匿名化処理装置３の概略構成の一例を示す図である。
【図３】（ａ）は個人データ管理テーブルのデータ構造の一例を示す図であり、（ｂ）は対象データ管理テーブルのデータ構造の一例を示す図である。
【図４】（ａ）は近傍テーブルのデータ構造の一例を示す図であり、（ｂ）は逆近傍テーブルのデータ構造の一例を示す図であり、（ｃ）は全近傍テーブルのデータ構造の一例を示す図である。
【図５】（ａ）は逆全近傍テーブルのデータ構造の一例を示す図であり、（ｂ）は近傍候補テーブルのデータ構造の一例を示す図である。
【図６】（ａ）はグラフテーブルのデータ構造の一例を示す図であり、（ｂ）はグループテーブルのデータ構造の一例を示す図である。
【図７】匿名化データテーブルのデータ構造の一例を示す図である。
【図８】匿名化処理装置３による匿名化処理の動作シーケンスの一例を示す図である。
【図９】近傍リスト作成処理の一例を示すフローチャートである。
【図１０】分類処理の一例を示すフローチャートである。
【図１１】パラメータ１１０１及び標準化パラメータ１１０２並びに標準化パラメータを座標軸としたユークリッド空間１１０３の一例を示す模式図である。
【図１２】２つの標準化パラメータを座標軸としたユークリッド空間１２０１及び近傍リスト１２０２，１２０３の一例を示す模式図である。
【図１３】ユークリッド空間１３０１及び逆近傍リスト１３０５の作成処理の一例を示す模式図である。
【図１４】全近傍リスト１４０１の作成処理及び全近傍リスト１４０１に含まれる対象データＩＤの逆近傍リスト１４０２，１４０３の作成処理の一例を示す模式図である。
【図１５】近傍候補リスト１５０２の作成処理及び近傍リスト１５０３の更新処理の一例を示す模式図である。
【図１６】（ａ）及び（ｂ）は分類処理の一例を示す模式図である。
【図１７】（ａ）及び（ｂ）は分類処理の一例を示す模式図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しつつ、本発明の様々な実施形態について説明する。ただし、本発明の技術的範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【００１６】
本実施形態の匿名化処理装置は、携帯端末を所有する複数のユーザに関するパラメータを匿名化する。匿名化されるパラメータは、位置情報及び個人の属性情報等である。匿名化とは、位置情報及び個人の属性情報等に加工を施すことにより、その情報が誰に関するものであるか分からないよう（特定の個人を識別できないよう）にすることである。例えば、匿名化処理として、年齢が近いことや居住地が近いこと等の、近い値を有する複数のパラメータが一つのグループにまとめられ、そのグループ内の複数のパラメータの代表値が匿名化データとして算出される。位置情報は、携帯端末の位置を特定する情報であり、例えば緯度及び経度、複数のアクセスポイントからの相対位置、又は建物内の位置等である。
【００１７】
匿名化処理装置は、それぞれが複数のパラメータを有する複数のデータについて、特定のパラメータに基づいて匿名化パラメータを作成する匿名化処理を行う。複数のデータは、例えば、携帯電話に係るユーザに関する個人データを含むデータである。携帯電話に係るユーザに関する個人データには、携帯電話に係るユーザの電話番号、氏名、住所、郵便番号等のユーザに関するパラメータと、携帯電話が位置する緯度経度及びその緯度経度を取得した日及び時刻等の携帯電話に関するパラメータとがある。携帯電話に関するパラメータは、一定時間毎に逐次取得される情報であり、ユーザに関するパラメータと逐次取得された携帯電話に関するパラメータとが、互いに関連付けられて、移動通信事業者が有するサーバ等に記憶される。また、匿名化処理を行う際には、各パラメータを標準化処理する。標準化することにより、後述するパラメータ空間における距離が、各パラメータに応じた表現形式に影響されないようになる。
【００１８】
まず、匿名化処理装置は、複数のデータの内の一つのデータ（以下、特定データと称する場合がある。）に関して、特定データ以外の他のデータの内、所定数のデータを複数の選択データとしてランダムに選択する選択工程を実行する。
【００１９】
次に、匿名化処理装置は、ランダムに選択した複数の選択データのそれぞれについて、複数のデータの中から、パラメータ空間内で近傍にある複数の中間データを抽出する抽出工程を実行する。パラメータ空間は、匿名化する各パラメータを座標軸としたユークリッド空間等であり、匿名化するパラメータが２つである場合は、２次元の平面となる。パラメータ空間内における近傍とは、ユークリッド空間内において、複数のデータのそれぞれが有するパラメータを座標とした複数の点が配置された場合に、当該複数の点の内、任意の２点間のユークリッド距離が一定距離以内であることをいう。
【００２０】
パラメータ空間内において近傍関係にある２点に対応するデータのパラメータは、同一のグループに含まれる蓋然性が高いと想定される。例えば、２４歳と２６歳という年齢は、同年代のグループに含まれると想定されるが、２４歳と６５歳という年齢は、同年代のグループには含まれないと想定される。
【００２１】
次に、匿名化処理装置は、パラメータ空間内で、複数の中間データのそれぞれと特定データとの距離を計算し、計算結果に基づいて、複数の中間データの内、特定データの近傍に存在する複数の近傍データを決定する決定工程を実行する。
【００２２】
次に、匿名化処理装置は、決定工程で決定された複数の近傍データを、上述した選択工程の選択データとして置き換えるようにして、上述した、選択工程、抽出工程及び決定工程を繰り返し複数回実行する実行工程を実行する。選択工程、抽出工程及び決定工程が、繰り返し複数回実行されることにより、最初にランダムに選択された選択データが、特定データに対して、より近傍に存在するデータに置き換えられることになる。
【００２３】
次に、匿名化処理装置は、実行工程後の複数の選択データ及び特定データに基づいてグループ化を行うグループ化工程を実行する。グループ化は、特定データに関する選択データの内、ユークリッド空間内で近傍に存在するデータを、同一のグループに含める処理である。
【００２４】
そして、匿名化処理装置は、データが有するパラメータごとに、グループ化された複数のデータが有するそれぞれのパラメータに基づいて、グループ化された複数のデータの匿名化パラメータを作成するパラメータ作成工程を実行し、作成された匿名化パラメータを出力する出力工程を実行する。匿名化パラメータは、グループ化された複数のデータのパラメータを代表する値であり、例えば、グループ化された複数のデータのパラメータの平均値（重心値）である。
【００２５】
このように、匿名化処理装置は、所定数のデータを複数の選択データとして用いて匿名化処理を実行する。そして、匿名化処理装置は、実行工程において、選択工程、抽出工程及び決定工程を実行することで、特定データから、より近傍に存在する選択データを決定する。これにより匿名化処理装置は、全てのデータに対して近傍関係を判定する必要がなくなる。
【００２６】
従来の匿名化処理では、データ全数の二乗に比例する匿名化処理時間が必要であったが、本実施形態における匿名化処理装置の匿名化処理に要する匿名化処理時間は、（選択データ数×Ｎ）に比例する時間である。そのため、所定数をデータ全数よりも小さく設定することで、匿名化処理装置の計算負荷が軽減し、匿名化処理装置において、匿名化処理を高速に実行することが可能となる。
【００２７】
図１は、個人データ管理システム１の概略構成の一例を示す図である。
【００２８】
個人データ管理システム１は、少なくとも複数の携帯端末２と、匿名化処理装置３とを有する。携帯端末２と匿名化処理装置３とは、通信ネットワークを介して相互に接続され、例えば、アクセスポイント４、バックボーンネットワーク５、ゲートウェイ６、及びインターネット７を介して相互に接続される。
【００２９】
携帯端末２は、例えば携帯電話（所謂「フィーチャーフォン」）、多機能携帯電話（所謂「スマートフォン」）、携帯情報端末（Personal Digital Assistant, PDA）、携帯ゲーム機、携帯音楽プレーヤ、タブレットＰＣ等である。
【００３０】
アクセスポイント４は、携帯端末２同士の接続、又は、携帯端末２とバックボーンネットワーク５との接続を行う無線機器である。例えば、携帯端末２は、Ｗｉ−Ｆｉ（Wireless Fidelity）（登録商標）のアクセスポイント４に接続することで、バックボーンネットワーク５を経由して匿名化処理装置３と通信できる。
【００３１】
図２は、匿名化処理装置３の概略構成の一例を示す図である。
【００３２】
匿名化処理装置３は、例えばパーソナルコンピュータ、サーバ等であり、取得したデータの匿名化処理を実行する。匿名化処理装置３は、通信部３１と、記憶部３２と、処理部３３とを備える。
【００３３】
通信部３１は、匿名化処理装置３をインターネット７に接続するための通信インターフェース回路を有する。通信部３１は、携帯端末２から受信したデータを処理部３３に供給する。
【００３４】
記憶部３２は、例えば、半導体メモリ、磁気ディスク装置、及び光ディスク装置の内の少なくとも一つを有する。記憶部３２は、処理部３３による処理に用いられるドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム、データ等を記憶する。例えば、記憶部３２は、ドライバプログラムとして、通信部３１を制御する通信デバイスドライバプログラム等を記憶する。コンピュータプログラムは、例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて記憶部３２にインストールされてもよい。
【００３５】
また、記憶部３２は、データとして、携帯端末２に係るユーザに関する個人データを管理する個人データ管理テーブルを記憶する。また、記憶部３２は、データとして、個人データの一部又は全部に対し、後述する標準化処理によって生成されるデータを管理する対象データ管理テーブルを記憶する。また、記憶部３２は、データとして、後述する近傍リスト作成処理によって作成される近傍テーブル、逆近傍テーブル、全近傍テーブル、逆全近傍テーブル、及び近傍候補テーブルを記憶する。また、記憶部３２は、データとして、後述するグラフテーブル作成処理によって作成されるグラフテーブルを記憶する。また、記憶部３２は、後述する分類処理によって作成されるグループテーブルを記憶する。また、記憶部３２は、匿名化パラメータを含む匿名化データテーブルを記憶する。
【００３６】
図３（ａ）は、個人データ管理テーブルのデータ構造の一例を示す図である。
【００３７】
図３（ａ）に示すように、個人データ管理テーブルには、対象データＩＤに対して、携帯端末２に係る個人データが関連付けられて登録される。図３（ａ）に示す例では、個人データとして、携帯端末ＩＤ、その携帯端末２を所有するユーザの年齢、性別及び住所の郵便番号、その携帯端末２の位置を示す緯度及び経度、並びに、その緯度及び経度を取得した日及び時刻の各パラメータが、互いに関連付けられて登録される。
【００３８】
対象データＩＤは、携帯端末２に係る個人データを一意に識別するための識別情報である。携帯端末ＩＤは、携帯端末を一意に識別するための識別情報であれば、どのような情報であってもよい。ユーザの年齢、性別及び郵便番号は、ユーザが携帯端末２を所有する際に移動通信事業者に登録される情報である。なお、年齢、性別及び郵便番号の一部又は全部が登録されていない携帯端末２に係る個人データは、匿名化処理装置３の処理対象とならない。
【００３９】
緯度及び経度は、携帯端末２の実際の緯度及び経度ではなく、仮想の緯度及び経度が用いられる。なお、将来の法改正に応じて、Ｗｉ−Ｆｉ位置情報及び／又はＣＤＲ（Call Detail Record）を利用して取得される緯度及び経度が用いられてもよい。ここで、Ｗｉ−Ｆｉ位置情報は、携帯端末２がＷｉ−Ｆｉのアクセスポイント４に接続した際に、携帯端末２が送信するプローブリクエストに応じて取得されるアクセスポイント４の緯度及び経度である。また、ＣＤＲは、携帯端末２が通話及びメール送受信等の携帯電話通信網の通信を行った際に記録される通信詳細記録であり、携帯端末２と通信を行った携帯電話の基地局（不図示）にて測定された携帯端末２の緯度及び経度を含んでいる。
【００４０】
図３（ｂ）は、対象データ管理テーブルのデータ構造の一例を示す図である。
【００４１】
図３（ｂ）に示すように、対象データ管理テーブルには、対象データＩＤに対して、個人ＩＤ、並びに、標準化された年齢、性別、緯度、経度、日及び時刻が互いに関連付けられて登録される。個人ＩＤは、携帯端末ＩＤに基づいて作成された、携帯端末を一意に識別するための識別データである。標準化された年齢、性別、緯度、経度、日及び時刻は、対象データＩＤ毎に、個人データ管理テーブルに登録された年齢、性別、緯度、経度、日及び時刻を標準化したデータである。なお、以下では、標準化された年齢、性別、緯度、経度、日及び時刻を、それぞれ標準化パラメータと称する場合がある。
【００４２】
図４（ａ）は、近傍テーブルのデータ構造の一例を示す図である。
【００４３】
図４（ａ）に示すように、近傍テーブルは、各対象データについて、各対象データの対象データＩＤに関連付けられた近傍リストを有する。近傍リストには、所定数の他の対象データの対象データＩＤが含まれる。図４（ａ）に示される例では、所定数は「４」である。近傍リストには、各対象データＩＤに対応する対象データの近傍にある他の対象データの対象データＩＤが含まれる。近傍リストには、各対象データＩＤに対応する対象データに対して近傍に位置する順に所定数の対象データの対象データＩＤが記憶される。以下、最も近傍に位置する対象データの対象データＩＤを第１近傍の対象データＩＤと称し、２番目に近傍に位置する対象データの対象データＩＤを第２近傍の対象データＩＤと称し、３番目に近傍に位置する対象データの対象データＩＤを第３近傍の対象データＩＤと称し、４番目に近傍に位置する対象データの対象データＩＤを第４近傍の対象データＩＤと称する。
【００４４】
図４（ｂ）は、逆近傍テーブルのデータ構造の一例を示す図である。
【００４５】
図４（ｂ）に示すように、逆近傍テーブルは、各対象データについて、各対象データの対象データＩＤに関連付けられた逆近傍リストを有する。各対象データＩＤに関連付けられた逆近傍リストには、各対象データＩＤが含まれている近傍テーブルに関連付けられた対象データＩＤが含まれる。
【００４６】
図４（ｃ）は、全近傍テーブルのデータ構造の一例を示す図である。
【００４７】
図４（ｃ）に示すように、全近傍テーブルは、各対象データについて、各対象データの対象データＩＤに関連付けられた全近傍リストを有する。各対象データＩＤに関連付けられた全近傍リストには、各対象データに関連付けられた近傍リスト及び逆近傍リストに含まれる対象データＩＤが含まれる。
【００４８】
図５（ａ）は、逆全近傍テーブルのデータ構造の一例を示す図である。
【００４９】
図５（ａ）に示すように、逆全近傍テーブルは、各対象データについて、各対象データの対象データＩＤに関連付けられた逆全近傍リストを有する。各対象データＩＤに関連付けられた逆全近傍リストには、各対象データに関連付けられた全近傍リストに含まれる対象データＩＤに関連付けられた逆近傍リストに含まれる対象データＩＤが含まれる。逆全近傍リストに含まれる対象データＩＤは、重複が排除されている。
【００５０】
図５（ｂ）は、近傍候補テーブルのデータ構造の一例を示す図である。
【００５１】
図５（ｂ）に示すように、近傍候補テーブルは、各対象データについて、各対象データの対象データＩＤに関連付けられた近傍候補リストを有する。各対象データＩＤに関連付けられた近傍候補リストには、各対象データＩＤに関連付けられた近傍リスト及び逆全近傍テーブルに含まれる対象データＩＤが含まれる。近傍候補リストに含まれる対象データＩＤは、重複が排除されている。
【００５２】
図６（ａ）は、グラフテーブルのデータ構造の一例を示す図である。
【００５３】
図６（ａ）に示すように、グラフテーブルは、各エッジＩＤに関連付けられたノードリストを有する。ノードリストには、両端の対象データＩＤが含まれる。ノードリストに含まれる両端の対象データＩＤの組は、近傍テーブルが有する各近傍リストに含まれる対象データＩＤと、各近傍リストに関連付けられた対象データＩＤとの組である。ノードテーブルが有するノードリストは、重複が排除されている。エッジＩＤは、複数のノードリストのそれぞれを一意に識別するための識別情報である。
【００５４】
図６（ｂ）は、グループテーブルのデータ構造の一例を示す図である。
【００５５】
図６（ｂ）に示すように、グループテーブルは、各グループＩＤに関連付けられたグループリストを有する。グループリストには、各グループに属する対象データＩＤが含まれる。グループリストに含まれる対象データＩＤは、一以上の標準化パラメータを座標軸としたユークリッド空間内において、各対象データＩＤに対応する標準化パラメータを座標とした各点間のユークリッド距離が短い複数の点のそれぞれに対応する。
【００５６】
図７は、匿名化データテーブルのデータ構造の一例を示す図である。
【００５７】
図７に示すように、匿名化データテーブルは、各グループに関して、匿名化された年齢、緯度、経度、日及び時刻が，各グループのグループＩＤに関連付けられて登録される。なお、以下では、匿名化された年齢、緯度、経度、日及び時刻を、それぞれ匿名化パラメータと称する場合がある。
【００５８】
図２に戻って、処理部３３は、一又は複数個のプロセッサ及びその周辺回路を有する。処理部３３は、匿名化処理装置３の全体的な動作を統括的に制御するものであり、例えば、ＣＰＵ（Central Processing Unit）である。処理部３３は、匿名化処理装置３の各種処理が記憶部３２に記憶されているプログラム等に応じて適切な手順で実行されるように、通信部３１等の動作を制御する。処理部３３は、記憶部３２に記憶されているプログラム（ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等）に基づいて処理を実行する。また、処理部３３は、複数のプログラム（アプリケーションプログラム等）を並列に実行できる。
【００５９】
処理部３３は、データ取得部３３１と、標準化処理部３３２と、選択部３３３と、抽出部３３４と、決定部３３５と、実行部３３６と、グラフテーブル作成部３３７と、グループ化部３３８と、パラメータ作成部３３９と、出力部３４０とを有する。処理部３３が有するこれらの各部は、処理部３３が有するプロセッサ上で実行されるプログラムによって実装される機能モジュールである。あるいは、処理部３３が有するこれらの各部は、独立した集積回路、マイクロプロセッサ、又はファームウェアとして匿名化処理装置３に実装されてもよい。
【００６０】
図８は、匿名化処理装置３による匿名化処理の動作シーケンスの一例を示す。
【００６１】
以下に説明する動作シーケンスは、匿名化処理装置３において予め記憶部３２に記憶されているプログラムに基づき主に匿名化処理装置３の処理部３３により匿名化処理装置３の各要素と協働して実行される。図８の動作シーケンスは、匿名化処理装置３の操作部（不図示）を用いたユーザの指示に従って、又は、定期的に実行される。
【００６２】
最初に、匿名化処理装置３のデータ取得部３３１は、記憶部３２から個人データ管理テーブルを取得する（ステップＳ１０１）。なお、データ取得部３３１は、個人データ管理テーブルに代えて、ユーザが作成したデータテーブル（ｃｓｖ形式のデータレコード等）を取得してもよい。
【００６３】
次に、データ取得部３３１は、取得した個人データ管理テーブルに含まれる対象データＩＤと関連付けられたパラメータの内、匿名化処理の対象とするパラメータを匿名化処理装置３の標準化処理部３３２に渡す。標準化処理部３３２は、パラメータ毎に、標準化処理を実行し、標準化処理によって変換された標準化パラメータを対象データＩＤに関連付けて、対象データ管理テーブルに記憶する（ステップＳ１０２）。以下、標準化処理部３３２が実行する標準化処理について説明する。
【００６４】
まず、標準化処理部３３２は、取得した個人データ管理テーブルに含まれる匿名化処理の対象となる特定のパラメータにおいて、全ての対象データＩＤと関連付けられたパラメータを抽出する。例えば、年齢のパラメータを標準化する場合は、個人データ管理テーブルに含まれる全ての対象データＩＤに対応付けられた年齢を抽出する。
【００６５】
次に、標準化処理部３３２は、抽出した特定のパラメータの平均値及び標準偏差を算出する。そして、標準化処理部３３２は、標準化パラメータ＝（パラメータ値−平均値）／標準偏差の変換式により、パラメータ値を標準化パラメータに変換する。
【００６６】
なお、標準化処理部３３２は、標準化処理によって変換された標準化パラメータを対象データＩＤに関連付けて、対象データ管理テーブルに記憶するとともに、各パラメータの平均値ｍを、対象データ管理テーブルに記憶する。
【００６７】
図１１は、パラメータ１１０１と、標準化パラメータ１１０２と、標準化パラメータを座標軸としたユークリッド空間１１０３との一例を示す模式図である。
【００６８】
図１１に示すように、例えば、年齢、緯度及び経度が匿名化処理の対象である場合、個人データ管理テーブルに含まれる、年齢、緯度及び経度のパラメータ１１０１が標準化される。パラメータ１１０１は、上述の変換式に基づいて標準化パラメータ１１０２に変換される。
【００６９】
図１１に示すように、年齢、緯度及び経度の各標準化パラメータ１１０２を座標軸としたユークリッド空間１１０３を想定した場合、各対象データＩＤに対応する各標準化パラメータを座標とした点Ｖがマッピングされる。後述する近傍リスト作成処理及び分類処理において用いられる距離として、各点間のユークリッド距離が用いられる。なお、ユークリッド空間１１０３は、パラメータ空間の一例である。
【００７０】
図８に戻って、標準化処理部３３２は、標準化パラメータを匿名化処理装置３の選択部３３３に渡す。選択部３３３が標準化パラメータを受け取ると、選択部３３３、抽出部３３４、決定部３３５及び実行部３３６は、近傍リスト作成処理を実行する（ステップＳ１０３）。
【００７１】
図９は、図８のステップＳ１０３において実行される近傍リスト作成処理の一例を示すフローチャートである。
【００７２】
最初に、選択部３３３は、各対象データＩＤについて、各対象データＩＤ以外の所定数の対象データＩＤを対象データ管理テーブルからランダムに選択する。選択された対象データＩＤのデータは、選択データとなる。ここで、選択される対象データＩＤの数は「４」である。次に、選択部３３３は、各対象データＩＤについて、選択した４つの対象データＩＤを含む近傍リストを各対象データＩＤに関連付けて近傍テーブルに記憶する（ステップＳ２０１）。近傍リストは、第１リストの一例であり、選択される対象データＩＤの数が少ないほど、匿名化処理装置３の匿名化処理の処理負荷は低減する。
【００７３】
図１２は、２つの標準化パラメータを座標軸としたユークリッド空間１２０１及び近傍リスト１２０２，１２０３の一例を示す模式図である。
【００７４】
図１２に示す例では、２つの標準化パラメータａ，ｂを座標軸としたユークリッド空間１２０１に、各対象データＩＤに対応する標準化パラメータを座標とした点Ｖ１〜１５がマッピングされている。
【００７５】
まず、選択部３３３は、点Ｖ１以外の点Ｖ２〜Ｖ１５からランダムに４点を抽出して、抽出した４点に対応する対象データＩＤを、点Ｖ１に対応する対象データＩＤに関連付けられた近傍リスト１２０２に含ませる。
【００７６】
同様に、選択部３３３は、点Ｖ２以外の点Ｖ１及びＶ３〜Ｖ１５からランダムに４点を抽出し、抽出した４点に対応する対象データＩＤを、点Ｖ２に対応する対象データＩＤに関連付けられた近傍リスト１２０３に含ませる。さらに、選択部３３３は、点Ｖ３〜Ｖ１５に対応する対象データＩＤに関連付けられた近傍リストについても、近傍リストを作成する。なお、この時点で、各近傍リストに含まれる４つの対象データＩＤはランダムに抽出されているため、各近傍リストに含まれる対象データＩＤに対応する点Ｖは、各近傍リストに関連付けられた対象データＩＤに対応する点Ｖの近傍とは限らない。また、各近傍リストに含まれる対象データＩＤに対応する点Ｖは、各近傍リストに関連付けられた対象データＩＤに対応する点Ｖに対する近傍順に格納されてもいない。
【００７７】
図９に戻って、Ｓ２０１の処理の実行後、抽出部３３４は、逆近傍リストを作成する（ステップＳ２０２）。まず、抽出部３３４は、各対象データＩＤについて、近傍テーブルに含まれる各近傍リストを参照し、各対象データＩＤが含まれている近傍リストに関連付けられた対象データＩＤを抽出する。次に、抽出部３３４は、各対象データＩＤについて、各対象データＩＤに関連付けられた逆近傍リストに、抽出した対象データＩＤを含ませ、逆近傍リストを作成する。そして、抽出部３３４は、作成した逆近傍リストを各対象データＩＤと関連付けて逆近傍テーブルに記憶する。逆近傍リストは、第２リストの一例であり、逆近傍リストに関連付けられた対象データＩＤと逆近傍リストに含まれる各対象データＩＤとは、近傍関係にあると想定される。
【００７８】
図１３は、ユークリッド空間１３０１及び逆近傍リスト１３０５の作成処理の一例を示す模式図である。
【００７９】
図１３に示す例では、ユークリッド空間１３０１に、図１２で示したユークリッド空間１２０１と同様に点Ｖ１〜１５がマッピングされている。
【００８０】
まず、抽出部３３４は、点Ｖ２〜１５に対応する対象データＩＤに関連付けられた近傍リストの内、点Ｖ１に対応する対象データＩＤを含む近傍リストを参照する。図１３に示す例では、点Ｖ１に対応する対象データＩＤが含まれている近傍リスト１３０２，１３０３及び１３０４が参照される。次に、抽出部３３４は、近傍リスト１３０２，１３０３及び１３０４に関連付けられた点Ｖ４，点Ｖ６及び点Ｖ１０に対応する対象データＩＤを、点Ｖ１に対応する対象データＩＤに関連付けられた逆近傍リスト１３０５に含ませる。点Ｖ２〜１５についても、同様にして逆近傍リストが作成される。
【００８１】
図９に戻って、次に、抽出部３３４は、各対象データＩＤについて、近傍テーブル及び逆近傍テーブルから近傍リスト及び逆近傍リストを抽出し、抽出した近傍リスト及び逆近傍リストに含まれる対象データＩＤを含む全近傍リストを作成する（ステップＳ２０３）。なお、近傍リストに含まれる対象データＩＤと同じ対象データＩＤが逆近傍リストに含まれる場合は、重複を排除して全近傍リストが作成される。全近傍リストは、第３リストの一例であり、全近傍リストに関連付けられた対象データＩＤの近傍関係にあると想定される対象データＩＤを含めるためのものである。
【００８２】
次に、抽出部３３４は、作成した全近傍リストに含まれる対象データＩＤと近傍リストに含まれる対象データＩＤに基づいて近傍候補リストを作成する（ステップＳ２０４）。まず、抽出部３３４は、作成した全近傍リストに含まれる対象データＩＤに関連付けられた逆近傍リストを逆近傍テーブルから抽出する。次に、抽出部３３４は、各対象データＩＤについて、抽出した逆近傍リストに含まれる対象データＩＤを中間データとして抽出する。次に、抽出部３３４は、各対象データＩＤについて、中間データとして抽出された対象データＩＤを含む逆全近傍リストを作成する。なお、逆全近傍リストに含まれる対象データＩＤが重複する場合は、重複を排除して逆全近傍リストが作成される。逆全近傍リストは、第４リストの一例である。
【００８３】
次に、抽出部３３４は、各対象データＩＤについて、近傍リストに含まれる対象データＩＤと逆全近傍リストに含まれる対象データＩＤとを抽出し、抽出した対象データＩＤを含む近傍候補リストを作成する。なお、近傍候補リストに含まれる対象データＩＤが重複する場合は、重複を排除して近傍候補リストが作成される。近傍候補リストは、第５リストの一例であり、近傍リストに含める候補となる対象データＩＤを含むリストである。
【００８４】
次に、決定部３３５は、各対象データＩＤについて、各対象データＩＤに関連付けられた近傍リストを更新する（ステップＳ２０５）。まず、決定部３３５は、各対象データＩＤについて、各対象データＩＤと近傍候補リストに含まれる対象データＩＤとに対応する標準化パラメータを対象データ管理テーブルから抽出する。次に、決定部３３５は、各対象データＩＤについて、各対象データＩＤに対応する標準化パラメータと近傍候補リストに含まれる対象データＩＤに対応する標準化パラメータとの距離を算出する。例えば、決定部３３５は、標準化パラメータの種類毎に標準化パラメータの差の二乗の値を算出し、算出した複数の二乗の値の総和の平方根を標準化パラメータ間の距離として算出する。この場合の距離は、各種類の標準化パラメータを座標軸としたユークリッド空間における、各種類の標準化パラメータを座標とした２点間のユークリッド距離に相当する。
【００８５】
次に、決定部３３５は、各対象データＩＤについて、近傍候補リストに含まれる対象データＩＤの内、各対象データＩＤに対応する標準化パラメータとの距離が小さい上位４位までの標準化パラメータに対応する対象データＩＤを決定する。
【００８６】
次に、決定部３３５は、各対象データＩＤに関連付けられた近傍リストにおいて、決定した対象データＩＤを、算出した距離の小さい順に、第１近傍の対象データＩＤ、第２近傍の対象データＩＤ、第３近傍の対象データＩＤ及び第４近傍の対象データＩＤとして、置き換える。そして、選択部３３３は、置き換えた近傍リストを有する近傍テーブルを各対象データＩＤに関連付けて記憶部３２に記憶する。
【００８７】
図１４は、全近傍リスト１４０１の作成処理及び全近傍リスト１４０１に含まれる対象データＩＤに関連付けられた逆近傍リスト１４０２，１４０３の抽出処理の一例を示す模式図である。
【００８８】
抽出部３３４は、まず、点Ｖ１に対応する対象データＩＤに関連付けられた近傍リスト１２０２及び逆近傍リスト１３０５を抽出する。次に、抽出部３３４は、抽出した近傍リスト１２０２に含まれる点Ｖ１４，Ｖ５，Ｖ８及びＶ１０に対応する対象データＩＤと逆近傍リスト１３０５に含まれる点Ｖ４，Ｖ６及びＶ１０に対応する対象データＩＤとを含む全近傍リスト１４０１を作成する。なお、点Ｖ１０に対応する対象データＩＤが、近傍リスト１２０２と逆近傍リスト１３０５に重複して含まれているため、全近傍リスト１４０１には、１つの点Ｖ１０に対応する対象データＩＤのみが含まれる。
【００８９】
そして、抽出部３３４は、全近傍リスト１４０１に含まれる点Ｖ１４，Ｖ５，Ｖ８，Ｖ１０，Ｖ４及びＶ６のそれぞれに対応する対象データＩＤに関連付けられた逆近傍リストを、逆近傍テーブルから抽出する。図１４に示す例では、点Ｖ１４に対応する対象データＩＤに関連付けられた逆近傍リスト１４０２と点Ｖ５に対応する対象データＩＤに関連付けられた逆近傍リスト１４０３が、それぞれ抽出されていることが示されている。
【００９０】
図１５は、近傍候補リスト１５０２の作成処理及び近傍リスト１５０３の更新処理の一例を示す模式図である。
【００９１】
抽出部３３４は、最初に、点Ｖ１に対応する対象データＩＤに関連付けられた近傍リスト１２０２に含まれる点Ｖ１４，Ｖ５，Ｖ８及びＶ１０に対応する対象データＩＤを抽出する。
【００９２】
次に、抽出部３３４は、全近傍リスト１４０１に含まれる点Ｖ１４，Ｖ５，Ｖ８，Ｖ１０，Ｖ４及びＶ６のそれぞれに関連付けられた逆近傍リストに含まれる点Ｖ１２，Ｖ１０，Ｖ３，Ｖ６，Ｖ２，Ｖ１１，・・・に対応する対象データＩＤを中間データとして抽出し、中間データとして抽出した各対象データＩＤを含む逆全近傍リスト１５０１が作成される。なお、逆全近傍リスト１５０１において、対象データＩＤが重複する場合は、重複が排除され、１つの対象データＩＤが逆全近傍リスト１５０１に含ませられる。
【００９３】
次に、抽出部３３４は、近傍リスト１２０２に含まれる対象データＩＤ、及び、逆全近傍リスト１５０１に含まれる対象データＩＤを抽出し、抽出した対象データＩＤを含む近傍候補リスト１５０２を作成する。
【００９４】
次に、決定部３３５は、近傍候補リスト１５０２に含まれる対象データＩＤの内、点Ｖ１に対応する対象データＩＤに対応する標準化パラメータとの距離の小さい標準化パラメータに対応する対象データＩＤを順に４つ決定する。この例では、決定部３３５は、点Ｖ２，Ｖ３，Ｖ４及びＶ８に対応する対象データＩＤを決定する。そして、決定部３３５は、近傍リスト１２０２を、点Ｖ２，Ｖ３，Ｖ４及びＶ８に対応する対象データＩＤを含む近傍リスト１５０３に置き換え更新処理を終了する。そして、選択部３３３は、置き換えた近傍リスト１５０３を、点Ｖ１に対応する対象データＩＤに関連付けて記憶部３２に記憶する。
【００９５】
図９に戻って、実行部３３６は、Ｓ２０５の処理の実行後、近傍リストの更新処理を終了するか否か判定をする（ステップＳ２０６）。実行部３３６は、更新処理を終了すると判定した場合（ステップＳ２０６−Ｙｅｓ）、近傍リスト作成処理の一連のステップを終了する。また、実行部３３６は、更新処理を終了しないと判定した場合（ステップＳ２０６−ＮＯ）、ステップＳ２０２に処理を戻し、次のステップの処理を実行する。
【００９６】
ステップＳ２０６における更新処理の終了条件は、予め定められた更新処理回数（パラメータの全数Ｎ×所定数×Ｐ）に到達することである。ここで、Ｐは、０＜Ｐ＜１を満たす値である。また、更新処理の終了条件を、予め定められた更新処理時間に到達することとしても、又は、更新された近傍リストの全てが、それぞれ更新前の近傍リストと同一になることとしてもよい。
【００９７】
図８に戻って、次に、グラフテーブル作成部３３７は、グラフテーブルを作成するグラフテーブル作成処理を実行する（ステップＳ１０４）。まず、グラフテーブル作成部３３７は、記憶部３２から近傍テーブルを取得する。次に、グラフテーブル作成部３３７は、取得した近傍テーブルが有する、各対象データＩＤに関連付けられた近傍リストを抽出する。グラフテーブル作成部３３７は、各対象データＩＤについて、各対象データＩＤと、各対象データＩＤに関連付けられた近傍リストに含まれる対象データＩＤとの全ての組み合わせを、重複を除いて抽出する。グラフテーブル作成部３３７は、抽出した各対象データＩＤの組み合わせをノードリストとして、各ノードリストの識別情報であるエッジＩＤと関連付けて、グラフテーブルに記憶する。
【００９８】
次に、グループ化部３３８は、分類処理を実行する（ステップＳ１０５）。
【００９９】
図１０は、図８のステップＳ１０５において実行される分類処理の一例を示すフローチャートである。
【０１００】
最初に、グループ化部３３８は、記憶部３２からグラフテーブルを取得する（ステップＳ３０１）。次に、グループ化部３３８は、取得したグラフテーブルが有するノードリストに含まれる対象データＩＤの内、ランダムに１つの対象データＩＤを特定する（ステップＳ３０２）。
【０１０１】
次に、グループ化部３３８は、グラフテーブルが有するノードリストに含まれる対象データＩＤの内、ステップＳ３０２で特定した対象データＩＤに対応する標準化パラメータとの距離が最も大きい標準化パラメータに対応する対象データＩＤを決定する（ステップＳ３０３）。決定した対象データＩＤは、初期データの一例であり、グラフテーブルに含まれる対象データＩＤの内、ユークリッド空間内で最も外縁に位置するパラメータに対応する対象データＩＤである。
【０１０２】
次に、グループ化部３３８は、決定した対象データＩＤを含むグループリストを新たに作成し（ステップＳ３０４）、各ループリストの識別情報であるグループＩＤを関連付けて、グループテーブルに記憶する。
【０１０３】
図１６（ａ）は、分類処理の一例を示す模式図である。
【０１０４】
図１６（ａ）に示す例では、ユークリッド空間１６０１に、図１２で示したユークリッド空間１２０１と同様に点Ｖ１〜１５がマッピングされている。
【０１０５】
図１６（ａ）に示す点Ｖ１〜１５の内、直線で結ばれた２点は、グラフテーブルが有する各ノードリストに係る２つの対象データＩＤに対応する標準化パラメータを座標とした点である。まず、グループ化部３３８は、ユークリッド空間１６０１にマッピングされた点Ｖ１〜１５の内の１点を、ランダムに選択する。図１６（ａ）に示す例では、点Ｖ１２がランダムに選択される。そして、グループ化部３３８は、点Ｖ１２から最も遠い距離の点Ｖ１を決定し、点Ｖ１に対応する対象データＩＤを含むグループリストを作成する。
【０１０６】
図１０に戻って、グループ化部３３８は、Ｓ３０１で取得したグラフテーブルが有するノードリストに含まれる対象データＩＤの組み合わせの内、Ｓ３０３で決定した対象データＩＤに対応する標準化パラメータとの距離が最も小さい標準化パラメータに対応する対象データＩＤがあるか否かを判定する（ステップＳ３０５）。まず、グループ化部３３８は、Ｓ３０１で取得したグラフテーブルの中に、Ｓ３０３で決定した対象データＩＤを含むノードリストがあるか否か判定する。グループ化部３３８は、取得したグラフテーブルの中に、Ｓ３０３で決定した対象データＩＤを含むノードリストがない場合、Ｓ３０３で決定した対象データＩＤに対応する標準化パラメータとの距離が最も小さい標準化パラメータに対応する対象データＩＤがないと判定する。グループ化部３３８は、取得したグラフテーブルの中に、Ｓ３０３で決定した対象データＩＤを含むノードリストがある場合、Ｓ３０３で決定した対象データＩＤを含むノードリストから、Ｓ３０３で決定した対象データＩＤと組み合わされた対象データＩＤを抽出する。そして、グループ化部３３８は、Ｓ３０３で決定した対象データＩＤと抽出した対象データＩＤに対応する標準化パラメータとの距離が最も小さい標準化パラメータに対応する対象データＩＤを決定する。
【０１０７】
グループ化部３３８は、Ｓ３０３で決定した対象データＩＤに対応する標準化パラメータとの距離が最も小さい標準化パラメータに対応する対象データＩＤがないと判定した場合（ステップＳ３０５−Ｎｏ）、ステップＳ３０４で作成したグループリストに対して対象データＩＤを含ませる処理を終了してステップＳ３１０に処理を進める。
【０１０８】
グループ化部３３８は、Ｓ３０３で決定した対象データＩＤに対応する標準化パラメータとの距離が最も小さい標準化パラメータに対応する対象データＩＤがあると判定した場合（ステップＳ３０５−Ｙｅｓ）、グループテーブル及びグラフテーブルを更新する（ステップＳ３０６）。グループ化部３３８は、グループテーブルにおいてステップＳ３０３で決定した対象データＩＤを含むグループリストに、ステップＳ３０５で判定した対象データＩＤをさらに含ませ、このグループリストを含むグループテーブルを記憶部３２に記憶する。また、グループ化部３３８は、グラフテーブルから、ステップＳ３０３で決定した対象データＩＤ及びステップＳ３０５で判定した対象データＩＤとの組のノードリストを削除し、ノードリストを削除したグラフテーブルを記憶部３２に記憶する。
【０１０９】
図１６（ｂ）は、分類処理の一例を示す模式図である。
【０１１０】
図１６（ｂ）に示すユークリッド空間１６１１は、図１６（ａ）で示したユークリッド空間１６０１と同様である。グループ化部３３８は、点Ｖ１に対応する対象データＩＤをグループ１のグループリストに含ませ、さらに、点Ｖ１から最も近い距離に存在する点Ｖ２に対応する対象データＩＤをグループ１のグループリストに含ませる。
【０１１１】
図１０に戻って、グループ化部３３８は、グラフテーブルに残っているノードリストに含まれる対象データＩＤの内、グループリストに含まれる対象データＩＤに対応する標準化パラメータとの距離が最も小さい標準化パラメータに対応する対象データＩＤがあるか否かを判定する（ステップＳ３０７）。まず、グループ化部３３８は、グラフテーブルを取得し、グラフテーブルの中に、グループリストに含まれる複数の対象データＩＤを含むノードリストがあるか否か判定する。グループ化部３３８は、取得したグラフテーブルの中に、グループリストに含まれる複数の対象データＩＤを含むノードリストがない場合、グループリストに含まれる対象データＩＤに対応する標準化パラメータとの距離が最も小さい標準化パラメータに対応する対象データＩＤがないと判定する。グループ化部３３８は、取得したグラフテーブルの中に、グループリストに含まれる複数の対象データＩＤを含むノードリストがある場合、グループリストに含まれる複数の対象データＩＤを含むノードリストから、グループリストに含まれる複数の対象データＩＤと組み合わされた対象データＩＤを抽出する。
【０１１２】
そして、グループ化部３３８は、グループリストに含まれている複数の対象データＩＤのそれぞれに対応する標準化パラメータの平均値を算出する。そして、グループ化部３３８は、抽出された対象データＩＤから、算出した平均値との距離が最も小さい標準化パラメータに対応する対象データＩＤを判定する。
【０１１３】
グループ化部３３８は、グラフテーブルが有するノードリストに含まれる対象データＩＤの内、グループリストに含まれる対象データＩＤに対応する標準化パラメータとの距離が最も小さい標準化パラメータに対応する対象データＩＤがないと判定した場合（ステップＳ３０７−Ｎｏ）、このグループリストに対して対象データＩＤを含ませる処理を終了してステップＳ３１０に処理を進める。
【０１１４】
グループ化部３３８は、グラフテーブルが有するノードリストに含まれる対象データＩＤの内、グループリストに含まれる対象データＩＤに対応する標準化パラメータとの距離が最も小さい標準化パラメータに対応する対象データＩＤがあると判定した場合（ステップＳ３０７−Ｙｅｓ）、判定した対象データＩＤに基づいて、グループテーブル及びグラフテーブルを更新する（ステップＳ３０８）。グループ化部３３８が実行するステップＳ３０８の更新処理は、ステップＳ３０６の更新処理と同じである。
【０１１５】
次に、グループ化部３３８は、グループテーブルが含むグループリスト内の対象データＩＤ数が所定数以上であるか否かを判定する（ステップＳ３０９）。グループ化部３３８は、グループリスト内の対象データＩＤ数が所定数以上であると判定した場合（ステップＳ３０９−Ｙｅｓ）、ステップＳ３１０に処理を進める。一方、グループ化部３３８は、グループリスト内の対象データＩＤ数が所定数以上でないと判定した場合（ステップＳ３０９−Ｎｏ）、ステップＳ３０７に処理を戻る。なお、ステップＳ３０９における所定数の値は、ステップＳ２０１において選択される対象データＩＤの所定数の値と同じ値であっても、異なる値であってもよい。
【０１１６】
次に、グループ化部３３８は、グラフテーブルを更新する（ステップＳ３１０）。グループ化部３３８は、所定数以上の対象データＩＤを含ませたグループリストに含まれる対象データＩＤを含む全てのノードリストをグラフテーブルから削除し、ノードリストを削除したグラフテーブルを記憶部３２に記憶する。
【０１１７】
次に、グループ化部３３８は、記憶部３２からグラフテーブルを取得し、グラフテーブル内に対象データＩＤが含まれるか否かを判定する（ステップＳ３１１）。グループ化部３３８は、グラフテーブル内に対象データＩＤが含まれる場合（ステップＳ３１１−Ｙｅｓ）、ステップＳ３０１に処理を戻る。なお、ステップＳ３０１に処理が戻ることにより、今まで更新されていたグループリストの作成は終了し、新たなグループリストの作成が開始されることになる。一方、グループ化部３３８は、グラフテーブル内に対象データＩＤが含まれない場合（ステップＳ３１１−Ｎｏ）、一連のステップを終了する。
【０１１８】
図１７（ａ）及び（ｂ）は、分類処理の一例を示す模式図である。
【０１１９】
図１７（ａ）及び（ｂ）に示すユークリッド空間１７０１及び１７１１は、図１６（ｂ）で示したユークリッド空間１６１１と同様である。図１７（ａ）に示すように、グループ化部３３８は、対象データＶ２をグループ１のグループリストに含ませた後、点Ｖ１及びＶ２から最も近い点Ｖ３に対応する対象データＩＤをグループ１のグループリストに含ませる。なお、点Ｖ１及びＶ２の重心座標から最も距離が近い点を点Ｖ１及びＶ２から最も近い点として決定する。次に、グループ化部３３８は、点Ｖ１〜Ｖ３から最も近い点Ｖ４に対応する対象データＩＤをグループ１のグループリストに含ませる。グループ１のグループリストに含まれる対象データＩＤの数が、所定数（例えば、「４」）以上となった場合、グループ１のグループリストが完成する。
【０１２０】
その後、図１７（ｂ）に示すように、グループ化部３３８は、点Ｖ５〜Ｖ１５に対して、分類処理を繰り返し実行し、全ての点Ｖを何れかのグループのグループリストに分類する。
【０１２１】
図８に戻って、次に、パラメータ作成部３３９は、各グループの匿名化パラメータを作成する（ステップＳ１０６）。まず、パラメータ作成部３３９は、グループテーブルが有する各グループのグループリストに含まれる対象データＩＤに対応する標準化パラメータを対象データ管理テーブルから抽出する。次に、パラメータ作成部３３９は、抽出した各対象データＩＤに対応する標準化パラメータの平均値（重心値）を算出する。次に、パラメータ作成部３３９は、各パラメータの標準化処理で行った演算の逆演算を行うことにより、算出した各標準化パラメータの平均値（重心値）から各匿名化パラメータを算出する。そして、パラメータ作成部３３９は、各グループＩＤと関連付けて匿名化パラメータを含む匿名化データテーブルを作成する。
【０１２２】
次に、出力部３４０は、グループＩＤに対応するグループ毎に匿名化パラメータを、匿名化処理装置３のディスプレイ装置（不図示）に表示し（ステップＳ１０７）、匿名化処理の一連のステップを終了する。なお、出力部３４０は、匿名化パラメータをディスプレイ装置に表示する処理に限らず、外部装置への送信等の出力処理を実行してもよい。
【０１２３】
以上説明してきたように、匿名化処理装置３は、所定数のデータを複数の選択データとして用いて匿名化処理を実行することで、全てのパラメータに対して近傍関係を判定する必要がなくなる。そのため、匿名化処理装置３の計算負荷が軽減し、匿名化処理装置３において、匿名化処理を高速に実行することが可能となる。また、本実施形態の匿名化処理装置３により、ｋ匿名化法におけるクラスタリング（グループ化）の精度を保ったまま、匿名化処理を高速に実行することが可能となる。
【０１２４】
例えば、匿名化処理装置３が全てのパラメータに対して近傍関係を判定する場合、パラメータの全数Ｎの二乗に比例した組合せパターンにより、匿名化処理時間が発生する。一方、匿名化処理装置３による匿名化処理時間は、匿名化処理時間に対しておよそ（選択データ数×Ｎ）に比例する時間にまで減少する。したがって、選択データの数をＮに対して極めて小さく設定した場合、匿名化処理装置３が実行工程による処理を繰り返したとしても、匿名化処理を高速に実行することが可能となる。
【０１２５】
なお、本発明は、本実施形態に限定されるものではない。例えば、本実施形態では、標準化処理部３３２は、標準化パラメータ＝（パラメータ値−平均値）／標準偏差の変換式を用いるものとしたが、変換式は、上述した例に限られず、様々な変換式を用いることができる。例えば、日及び時刻を標準化する場合、ユーザが活発に活動しない夜間の範囲の時刻は、変換後の標準化された時刻の範囲を小さくなるように変換する。これにより、ユーザが活発に活動する昼間の時間帯の時刻間の距離ほど、夜間の時間体の時刻間の距離よりも大きな値となるため、詳細なグループを作成することができる。同様に、緯度及び経度を標準化する場合、人口密度の低い範囲は、数値範囲を小さくなるように変換することで、ユーザが多く活動する地域ほど、詳細なグループを作成することができる。
【０１２６】
また、本実施形態では、グループ化部３３８は、グループテーブルが含むグループリスト内の対象データＩＤ数が所定数以上であると判定した場合（ステップＳ３０９−Ｙｅｓ）、ステップＳ３１０及びＳ３１１を経て、新たなグループリストを作成し（ステップＳ３０１に処理を戻る）、グラフテーブル内に対象データＩＤが含まれない場合（ステップＳ３１１−Ｎｏ）、一連のステップを終了するが、この一連のステップを、複数設定された所定数の値毎に複数回実行するようにしてもよい。例えば、最初に、グループ化部３３８は、所定数を２に設定してからステップＳ３０１を実行する。この際に、グループ化部３３８は、取得したグラフテーブルを初期グラフテーブルとして記憶部３２に記憶する。そして、グループ化部３３８は、ステップＳ３１１においてＮＯの場合に、一連のステップを終了する。この際に、グループ化部３３８は、作成したグラフテーブルに対して、所定数が２の場合のグラフテーブルであることを識別するための情報、匿名化処理の開始時間及び終了時間、使用したパラメータ等の各種情報、並びに、グループ化の精度情報を関連付けて記憶部３２に記憶する。その後、グループ化部３３８は、所定数を３に設定してからステップＳ３０１を実行する。この際に、グループ化部３３８が取得するグラフテーブルは、記憶部３２に記憶された初期グラフテーブルである。そして、グループ化部３３８は、ステップＳ３１１においてＮＯの場合に、一連のステップを終了する。このように、グループ化部３３８は、所定数の値を任意に複数設定して、この一連のステップを複数回実行することができる。このように構成することで、どの所定数の値の場合に、最も好適なグループが作成されるかを判断することが可能となる。
【０１２７】
また、本実施形態において、匿名化処理装置３の処理部３３が、データ削除部３４１を有するように構成してもよい。データ削除部３４１は、携帯端末２を所有するユーザより削除依頼があった場合、削除依頼とともに取得した携帯端末ＩＤに対応する個人ＩＤに関連するデータレコードを対象データ管理テーブルから削除する。また、データ削除部３４１は、グループテーブルに含まれるグループリスト中から個人ＩＤに対応する対象データＩＤを削除する。このように構成することで、携帯端末２を所有するユーザからの削除依頼に応じて、このユーザの個人データを匿名化処理の対象外とすることが可能となる。
【０１２８】
当業者は、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【０１２９】
１    個人データ管理システム
２    携帯端末
３    匿名化処理装置
３１    通信部
３２    記憶部
３３    処理部
３３１    データ取得部
３３２    標準化処理部
３３３    選択部
３３４    抽出部
３３５    決定部
３３６    実行部
３３７    グラフテーブル作成部
３３８    グループ化部
３３９    パラメータ作成部
３４０    出力部
４    アクセスポイント
５    バックボーンネットワーク
６    ゲートウェイ
７    インターネット
【図１】
2016149099.tif 000003
【図２】
2016149099.tif 000004
【図３】
2016149099.tif 000005
【図４】
2016149099.tif 000006
【図５】
2016149099.tif 000007
【図６】
2016149099.tif 000008
【図７】
2016149099.tif 000009
【図８】
2016149099.tif 000010
【図９】
2016149099.tif 000011
【図１０】
2016149099.tif 000012
【図１１】
2016149099.tif 000013
【図１２】
2016149099.tif 000014
【図１３】
2016149099.tif 000015
【図１４】
2016149099.tif 000016
【図１５】
2016149099.tif 000017
【図１６】
2016149099.tif 000018
【図１７】
2016149099.tif 000019