(57)【特許請求の範囲】
【請求項１】
個人情報を記憶している個人情報記憶部と、
前記個人情報記憶部が記憶している前記個人情報をコンピュータに分析させる分析コマンドであって、実行結果の出力を要求しない分析コマンドを受け付ける分析コマンド受付処理を複数回実行する分析コマンド入力部と、
前記分析コマンド入力部が前記分析コマンド受付処理を複数回実行することによって受け付けた分析コマンドを分析コマンドの系列とし、かつ、前記分析コマンドの系列に基づいて、前記個人情報を匿名化する匿名化手法を導出する匿名化手法導出部と、
前記匿名化手法導出部が導出した前記匿名化手法を利用して、前記個人情報を匿名化した匿名加工情報を生成する匿名加工部と
を備える匿名化手法導出装置。
【請求項２】
前記匿名加工部は、前記匿名加工情報の安全性と、有用性とを評価する請求項１に記載の匿名化手法導出装置。
【請求項３】
前記個人情報を匿名化する匿名化方式を実現するプログラムを記憶している匿名化方式記憶部を備え、
前記匿名化手法導出部は、前記匿名化方式記憶部が記憶している前記匿名化方式に基づいて前記匿名化手法を導出する請求項１又は２に記載の匿名化手法導出装置。
【請求項４】
前記分析コマンドを解析し、解析情報を出力する分析内容解析部を備え、
前記匿名化手法導出部は、前記解析情報に基づいて前記匿名化手法を導出する請求項１から３のいずれか１項に記載の匿名化手法導出装置。
【請求項５】
前記分析内容解析部は、前記解析情報として、前記分析コマンドの実行時に利用する前記個人情報と、前記分析コマンドの実行時に前記個人情報に対して行う操作とを出力する請求項４に記載の匿名化手法導出装置。
【請求項６】
前記個人情報記憶部が記憶している前記個人情報を加工した合成データを生成する合成データ生成部と、
前記合成データ生成部が生成した前記合成データを利用して前記分析コマンドを実行する分析コマンド実行部とを備え、
前記分析内容解析部は、前記分析コマンド実行部が前記分析コマンドを実行する際の実行情報に基づいて前記分析コマンドを解析する請求項４又は５に記載の匿名化手法導出装置。
【請求項７】
前記匿名加工情報の提供先が有する個人情報を記憶している提供先記憶部と、
前記提供先記憶部が記憶している前記個人情報を加工した提供先合成データを生成する提供先合成データ生成部と、
前記提供先合成データを送信する合成データ送信部と
を備える合成データ生成装置と、
前記合成データ送信部が送信した前記提供先合成データを受信する合成データ受信部を備える請求項６に記載の匿名化手法導出装置と
を備え、
前記分析コマンド実行部は、前記合成データ受信部が受信した前記提供先合成データを利用して前記分析コマンドを実行する匿名化手法導出システム。
【請求項８】
個人情報記憶部が、個人情報を記憶しており、
分析コマンド入力部が、前記個人情報記憶部が記憶している前記個人情報をコンピュータに分析させる分析コマンドであって、実行結果の出力を要求しない分析コマンドを受け付ける分析コマンド受付処理を複数回実行し、
匿名化手法導出部が、前記分析コマンド入力部が前記分析コマンド受付処理を複数回実行することによって受け付けた分析コマンドを分析コマンドの系列とし、かつ、前記分析コマンドの系列に基づいて、前記個人情報を匿名化する匿名化手法を導出し、
匿名加工部が、前記匿名化手法導出部が導出した前記匿名化手法を利用して、前記個人情報を匿名化した匿名加工情報を生成する匿名化手法導出方法。
【請求項９】
コンピュータに、
個人情報を記憶させ、
記憶させた前記個人情報を分析させる分析コマンドであって、実行結果の出力を要求しない分析コマンドを受け付ける分析コマンド受付処理を複数回実行させ、
前記分析コマンド受付処理を複数回実行することによって受け付けた分析コマンドを分析コマンドの系列とさせ、かつ、前記分析コマンドの系列に基づいて、前記個人情報を匿名化する匿名化手法を導出させ、
導出させた前記匿名化手法を利用して、前記個人情報を匿名化した匿名加工情報を生成させる匿名化手法導出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、匿名化手法導出装置、匿名化手法導出方法、匿名化手法導出プログラム、及び、匿名化手法導出システムに関する。
【背景技術】
【０００２】
個人情報の保護と、利活用との両立を図るための技術として、個人情報を匿名加工情報に変換する匿名化技術が知られている。ある個人情報を持つ事業者（以下、提供元）からその個人情報を持たない事業者（以下、提供先）へ個人情報を提供すると、個人の権利及び利益を侵害する恐れがあるが、提供元が個人情報法を匿名加工情報に変換して提供することにより、個人の権利及び利益を保護しつつ、提供先が個人情報を利活用することができる。【０００３】
提供元は、個人情報を匿名化する際に、適用する匿名化方式と、そのパラメータとを決定する必要がある。
具体例として、社員の人事情報テーブルを匿名化する場合、適用する匿名化方式としてｋ−匿名化方式を用いること、及び、そのパラメータであるｋの値を３にすることを決定する必要がある。
別の具体例として、顧客のアンケート情報テーブルを匿名化する場合、適用する匿名化方式としてε−差分プライバシー方式を用いること、及び、そのパラメータであるεの値を０．１にすることを決定する必要がある。【０００４】
適切な匿名化方式と、パラメータとは、本来、提供元が持つ個人情報の内容と、提供先が実施しようとするデータ分析の内容とに依存して決められるべきものであり、提供元又は提供先が単独で決めることができるものではない。【０００５】
そこで、適切な匿名化方式と、パラメータとを決めるための技術が提案されている（例えば、特許文献１）。
特許文献１で開示されている情報処理システムは、提供元装置と、利用者装置と、情報処理装置とから構成され、
提供元装置が、情報処理装置に方針算出用データを提供し、
情報処理装置が、方針算出用データに基づいて方針を決定し、提供元装置へ通知する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−１７０３６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、方針算出用データは、個人情報を曖昧化したデータである匿名加工情報である。そのため、提供元が、方針算出用データを算出するための匿名化方式と、そのパラメータとを、単独で決めなければならないという課題があった。【０００８】
本発明は、提供元の個人情報と、提供先の分析コマンドとに基づいて導出した匿名化手法を利用して個人情報を匿名化することにより、安全性及び有用性の高い匿名加工情報を生成することができる装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明の匿名化手法導出装置は、
個人情報を記憶している個人情報記憶部と、
前記個人情報記憶部が記憶している前記個人情報を分析する分析コマンドを記憶している分析コマンド記憶部と、
前記分析コマンド記憶部が記憶している前記分析コマンドに基づいて、前記個人情報を匿名化する匿名化手法を導出する匿名化手法導出部と、
前記匿名化手法導出部が導出した前記匿名化手法を利用して、前記個人情報を匿名化した匿名加工情報を生成する匿名加工部と
を備える。
【発明の効果】
【００１０】
この発明の匿名化手法導出装置によれば、提供元の個人情報と、提供先の分析コマンドとに基づいて導出した匿名化手法を利用して個人情報を匿名化することにより、安全性及び有用性の高い匿名加工情報を生成することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係る匿名化手法導出装置１００の構成図。
【図２】実施の形態１に係る匿名化手法導出装置１００のハードウェア構成図。
【図３】実施の形態１に係る登録フェーズ５１の動作を示すフローチャート。
【図４】実施の形態１に係る分析フェーズ５２の動作を示すフローチャート。
【図５】Ｐｙｔｈｏｎを用いた場合における分析フェーズ５２の入出力の例。
【図６】実施の形態１に係る導出フェーズ５３の動作を示すフローチャート。
【図７】Ｐｙｔｈｏｎを用いた場合における分析コマンドの例。
【図８】実施の形態１に係る分析フェーズ５２の動作の一部を示すフローチャート。
【図９】実施の形態１に係る分析フェーズ５２の動作の一部を示すフローチャート。
【図１０】実施の形態２に係る匿名化手法導出装置１００及び実施の形態２に係る合成データ生成装置２００の構成図。
【図１１】実施の形態２に係る合成データ生成装置２００のハードウェア構成図。
【図１２】実施の形態２に係る登録フェーズ５１の動作の一部を示すフローチャート。
【図１３】実施の形態２に係る登録フェーズ５１の動作の一部を示すフローチャート。
【発明を実施するための形態】
【００１２】
実施の形態１．
以下、本実施の形態について、図面を参照しながら詳細に説明する。
本実施の形態に係る匿名化手法導出装置１００は、提供元１が持つ個人情報と、提供先２の分析コマンドに基づいて、適切な匿名化方式と、そのパラメータとを決定する。
分析コマンドは、コンピュータ等に個人情報を分析させる命令の一部又は全部のことである。分析コマンドは、具体例としては、インタプリタ型言語により記述された文字列、及び、実行ファイルである。
分析コマンドは、個人情報記憶部１１１が記憶している個人情報を分析するコマンドでもある。
なお、個人情報を分析することには、個人情報を匿名化した情報を分析することが含まれる。
【００１３】
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係る匿名化手法導出装置１００の構成例を示す図である。
図中の矢印は、匿名化手法導出装置１００、又は、匿名化手法導出システムの実行中に、データが矢先の方向へ流れ得ることを表す。
【００１４】
提供元１は、
個人情報を提供する装置等であり、
個人情報を提供する事業者等であっても良い。
提供元１が匿名化手法導出装置１００に個人情報を提供する手段は、任意のものであって良い。
【００１５】
提供先２は、
個人情報を匿名化した情報である匿名加工情報を受け取る装置等であり、
個人情報を分析する事業者等であっても良い。
提供先２が匿名化手法導出装置１００から個人情報を受け取る手段は、任意のものであって良い。
【００１６】
匿名化手法導出装置１００は、個人情報（ｐｅｒｓｏｎａｌ  ｄａｔａ）を匿名加工情報に変換する際の適切な匿名化手法を決める装置である。匿名化手法は、典型的に、匿名化方式と、そのパラメータとから成り、匿名化方式そのものであっても良い。匿名化方式は、具体例としては、ｋ−匿名化方式、又は、ε−差分プライバシー方式である。
匿名化手法導出装置１００は、図１に示す構成要素から構成される。
【００１７】
個人情報入力部１０１は、
提供元１から個人情報の入力を受け付け、
入力された個人情報を、個人情報記憶部１１１に記憶させる。
提供元１が匿名化手法導出装置１００に個人情報を入力する手段は、任意のものであって良い。
【００１８】
合成データ生成部１０２は、
入力された個人情報から合成データ６１を生成し、
合成データ６１を、合成データ記憶部１０３に記憶させる。
合成データ（ｓｙｎｔｈｅｔｉｃ  ｄａｔａ）とは、個人情報に基づいて生成されたデータであって、統計的性質が生成元の個人情報と同等になるように生成されたデータである。
合成データ生成部１０２は、個人情報記憶部１１１が記憶している個人情報を加工した合成データを生成する。
【００１９】
合成データ記憶部１０３は、合成データ６１を保持することができる。
【００２０】
分析コマンド入力部１０４は、
提供先２から個人情報を分析する分析コマンドの入力を受け付け、
入力された分析コマンドを、分析コマンド記憶部１１２に記憶させる。
提供先２が匿名化手法導出装置１００に分析コマンドを入力する手段は、任意のものであって良い。
【００２１】
分析コマンド実行部１０５は、分析コマンド記憶部１１２が記憶している分析コマンドを実行する。
分析コマンド実行部１０５は、合成データ生成部１０２が生成した合成データ６１を利用して分析コマンドを実行しても良い。
【００２２】
実行結果出力部１０６は、分析コマンド実行部１０５の実行結果と、匿名化手法導出部１０８の導出した匿名化手法の情報と、匿名加工部１０９が生成した匿名加工情報とを出力する。
【００２３】
分析内容解析部１０７は、
提供先２が実施しようとしているデータの分析内容を解析し、
解析結果である解析情報を出力する。
即ち、分析内容解析部１０７は、分析コマンドを解析し、解析情報を出力する。
また、分析内容解析部１０７は、
解析情報として、分析コマンドの実行時に利用する個人情報と、分析コマンドの実行時に個人情報に対して行う操作とを出力しても良く、
分析コマンド実行部１０５が分析コマンドを実行した際の実行情報に基づいて分析コマンドを解析しても良い。
分析内容は、分析コマンドの実行時に利用する個人情報と、分析コマンドの実行時に個人情報に対して行う操作と等のことである。
個人情報に対して行う操作は、個人情報又は個人情報を加工した情報の少なくとも一部を用いて行う演算等のことである。
実行情報は、コマンドの実行に関連する情報のことである。
【００２４】
匿名化手法導出部１０８は、分析内容解析部１０７が出力した解析情報に基づいて、適切な匿名化方式と、そのパラメータとを導出する。
匿名化手法導出部１０８は、
分析コマンド記憶部１１２が記憶している分析コマンドに基づいて、個人情報を匿名化する匿名化手法を導出しても良く、
匿名化方式記憶部１１０が記憶している匿名化方式に基づいて匿名化手法を導出しても良く、
解析情報に基づいて匿名化手法を導出しても良い。
【００２５】
匿名加工部１０９は、個人情報記憶部１１１が記憶している個人情報と、匿名化手法導出部１０８が導出した匿名化手法とに基づいて、匿名加工情報を生成する。
即ち、匿名加工部１０９は、匿名化手法導出部１０８が導出した匿名化手法を利用して、個人情報を匿名化した匿名加工情報を生成する。
また、匿名加工部１０９は、匿名加工情報の安全性と、有用性とを評価しても良い。
【００２６】
匿名化方式記憶部１１０は、様々な匿名化方式と、そのパラメータの例とがまとめられたデータベースを記憶している。匿名化方式は、典型的には、匿名化方式を実現するプログラムのことである。
そのため、匿名化方式記憶部１１０は、個人情報を匿名化する匿名化方式を実現するプログラムを記憶している。
【００２７】
個人情報記憶部１１１は、個人情報を保持することができる。
個人情報入力部１０１が個人情報記憶部１１１に個人情報を記憶させた場合、個人情報記憶部１１１は個人情報を記憶している。
【００２８】
分析コマンド記憶部１１２は、分析コマンドを保持することができる。
分析コマンド入力部１０４が分析コマンド記憶部１１２に分析コマンドを記憶させた場合、分析コマンド記憶部１１２は、個人情報記憶部１１１が記憶している個人情報を分析する分析コマンドを記憶している。
【００２９】
図２は、本実施の形態に係る匿名化手法導出装置１００の、ハードウェア構成例を示す図である。
【００３０】
匿名化手法導出装置１００は、本図に示すように、一般的なコンピュータから構成される。
【００３１】
ディスプレイ２１と、キーボード２２と、マウス２３とは、提供元１が匿名化手法導出装置１００を操作するためのものである。
【００３２】
ディスプレイ２４と、キーボード２５と、マウス２６とは、提供先２が匿名化手法導出装置１００を操作するためのものである。
【００３３】
合成データ生成部１０２と、分析コマンド実行部１０５と、分析内容解析部１０７と、匿名加工部１０９とは、プロセッサ１１と、メモリ１２とから構成される。
【００３４】
合成データ記憶部１０３と、個人情報記憶部１１１と、分析コマンド記憶部１１２とは、メモリ１２から構成される。
【００３５】
個人情報入力部１０１と、分析コマンド入力部１０４と、実行結果出力部１０６と、匿名化手法導出部１０８とは、プロセッサ１１と、メモリ１２と、ポート１４とから構成される。
【００３６】
匿名化方式記憶部１１０は、記憶装置１３から構成される。
【００３７】
プロセッサ１１は、データバス１５（信号線）を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００３８】
記憶装置１３は、匿名化手法導出プログラムを記憶している。
【００３９】
プロセッサ１１は、プログラム及びＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等を実行するプロセッシング装置である。プロセッシング装置は、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）と呼ぶこともあり、プロセッサ１１は、具体例としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。プロセッサ１１は、メモリ１２に格納されたプログラムを読み出して実行する。
【００４０】
本図のコンピュータ１０は、プロセッサ１１を１つだけ備えているが、コンピュータ１０は、プロセッサ１１を代替する複数のプロセッサを備えていても良い。これら複数のプロセッサは、プログラムの実行等を分担する。
【００４１】
メモリ１２は、データを一時的に記憶する記憶装置であり、プロセッサ１１の作業領域として使用されるメインメモリとして機能する。メモリ１２は、具体例としては、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。メモリ１２は、プロセッサ１１の演算結果を保持する。
【００４２】
記憶装置１３は、データを不揮発的に保管する記憶装置であり、ＯＳ、プロセッサ１１によって実行される各プログラム、各プログラムの実行時に使用されるデータ等を記憶する。記憶装置１３は、具体例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。また、記憶装置１３は、メモリカード、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ、登録商標）メモリカード、ＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等の可搬記録媒体であってもよい。
【００４３】
ポート１４は、外部の装置等と通信するためのインタフェースである。
ポート１４は、具体例としては、Ｅｔｈｅｒｎｅｔ（登録商標）、又は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）のポートである。
なお、ポート１４は、複数のポートであっても良い。
【００４４】
ここで、図１の機能構成図と、図２のハードウェア構成図との対応をさらに説明する。
個人情報入力部１０１は、提供元１がディスプレイ２１と、キーボード２２と、マウス２３とのいずれか１以上のものを用いて匿名化手法導出装置１００に入力した個人情報をメモリ１２に格納する。
【００４５】
合成データ生成部１０２は、メモリ１２が記憶している個人情報に基づいてプロセッサ１１を用いて合成データ６１を生成し、メモリ１２に格納する。
【００４６】
分析コマンド入力部１０４は、提供先２がディスプレイ２４と、キーボード２５と、マウス２６とのいずれか１以上のものを用いて入力した分析コマンドをメモリ１２に格納する。
【００４７】
分析コマンド実行部１０５は、メモリ１２から合成データ６１を取り出した上でプロセッサ１１を用いて分析コマンドを実行し、実行結果をメモリ１２に格納する。
【００４８】
実行結果出力部１０６は、メモリ１２が記憶している実行結果を外部に出力する。
【００４９】
分析内容解析部１０７は、メモリ１２が記憶している分析コマンドの内容から、プロセッサ１１を用いて分析内容を解析し、解析結果をメモリ１２に格納する。
【００５０】
匿名化手法導出部１０８は、メモリ１２が記憶している解析結果からプロセッサ１１を用いて匿名化手法を導出し、導出結果をメモリ１２に格納する。
また、匿名化手法導出部１０８は、必要に応じて、
匿名化手法と、パラメータとを記憶装置１３から読み出し、
導出結果を記憶装置１３に格納する。
【００５１】
なお、図２に示すハードウェア構成は最も基本的な例であり、匿名化手法導出装置１００のハードウェア構成は別の構成であってもよい。
具体例としては、一般的なコンピュータに、図２の構成を仮想的に構築してもよい。また、提供元１及び／又は提供先２が匿名化手法導出装置１００とは別のコンピュータであって、提供元１及び／又は提供先２がリモート接続により匿名化手法導出装置１００を操作できるようにしてもよい。
【００５２】
＊＊＊動作の説明＊＊＊
本実施の形態における動作は、登録フェーズ５１と、分析フェーズ５２と、導出フェーズ５３との３つのフェーズに分けられる。これらの動作を順に説明する。
【００５３】
匿名化手法導出装置１００の動作手順は、匿名化手法導出方法に相当する。また、匿名化手法導出装置１００の動作を実現するプログラムは、匿名化手法導出プログラムに相当する。
【００５４】
＊＊＊登録フェーズ５１の動作の説明＊＊＊
図３は、登録フェーズ５１の動作を示すフローチャートの例である。
本フローチャートに示す処理の順序は、適宜変更しても良い。
登録フェーズ５１は、提供元１が匿名化手法導出装置１００に個人情報を入力してから、合成データ生成部１０２が合成データ６１を合成データ記憶部１０３に記憶させるまでの処理に対応する。
【００５５】
（ステップＳ３０１：入力受付処理）
個人情報入力部１０１は、
提供元１から個人情報の入力を受け付け、
受け付けた個人情報を個人情報記憶部１１１に記憶させる。
入力の方法は、キーボード２２を用いた方法、媒体から入力する方法、又は、ネットワークを経由した方法等、個人情報入力部１０１が入力情報を認識できる任意の方法であって良い。
【００５６】
（ステップＳ３０２：合成データ生成処理）
合成データ生成部１０２は、
入力された個人情報から合成データ６１を生成し、
合成データ６１を合成データ記憶部１０３に記憶させる。
合成データ６１の生成方法は、元の個人情報の統計的性質を保ちつつ匿名性のあるデータを生成する任意の方法であって良い。合成データ６１の生成方法の具体例は、参考文献１に挙げられている。
【００５７】
［参考文献１］
Ａｇｇａｒｗａｌ，  Ｃｈａｒｕ  Ｃ．，  ａｎｄ  Ｓ．  Ｙｕ  Ｐｈｉｌｉｐ，  ｅｄｓ．  Ｐｒｉｖａｃｙ−ｐｒｅｓｅｒｖｉｎｇ  ｄａｔａ  ｍｉｎｉｎｇ：  ｍｏｄｅｌｓ  ａｎｄ  ａｌｇｏｒｉｔｈｍｓ．  Ｓｐｒｉｎｇｅｒ  Ｓｃｉｅｎｃｅ  ＆  Ｂｕｓｉｎｅｓｓ  Ｍｅｄｉａ，  ２００８．
【００５８】
＊＊＊分析フェーズ５２の動作の説明＊＊＊
図４は、分析フェーズ５２の動作を示すフローチャートの例である。
本フローチャートに示す処理の順序は、適宜変更しても良い。
分析フェーズ５２は、提供先２が匿名化手法導出装置１００に分析コマンドを入力してから、実行結果出力部１０６が実行結果を出力するまでの処理に対応する。
【００５９】
（ステップＳ４０１：合成データ読出処理）
分析コマンド実行部１０５は、合成データ記憶部１０３から合成データ６１を読み出す。
【００６０】
（ステップＳ４０２：分析コマンド受付処理）
分析コマンド入力部１０４は、
提供先２からの分析コマンドの入力を受け付け、
受け付けた分析コマンドを分析コマンド記憶部１１２に記憶させる。
入力の方法は、キーボード２５を用いた方法、媒体から入力する方法、又は、ネットワークを経由した方法等、分析コマンド入力部１０４が認識できる任意の方法であって良い。
【００６１】
（ステップＳ４０３：分析コマンド実行処理）
分析コマンド実行部１０５は、合成データ６１に対して分析コマンド記憶部１１２が記憶している分析コマンドを実行する。
【００６２】
（ステップＳ４０４：実行結果出力処理）
実行結果出力部１０６は、分析コマンド実行部１０５の実行結果を出力する。ただし、分析コマンド実行部１０５が実行結果の出力を要求しない分析コマンドを実行した場合、実行結果出力部１０６は、実行結果を出力しない。
出力の方法は、ディスプレイ２４に出力する方法、ネットワークを経由して出力する方法等、提供先２が認識できる任意の方法であって良い。
【００６３】
（ステップＳ４０５：分析コマンド確認処理）
分析コマンド入力部１０４は、提供先２が新たな分析コマンドを入力したか確認する。
匿名化手法導出装置１００は、
提供先２が新たな分析コマンドを入力した場合、ステップＳ４０２に進み、
それ以外の場合、分析フェーズ５２の処理を終了する。
【００６４】
図５は、提供先２がプログラミング言語のＰｙｔｈｏｎによる分析コマンドを入力した場合における、分析フェーズ５２の入出力の例を示したものである。
ここで、入出力は、分析コマンドの入力と、実行結果の出力とのことである。
【００６５】
行５０１から行５０３までは、提供先２が入力した分析コマンドである。
分析コマンド実行部１０５は、これらの分析コマンドを実行し、実行結果を保持する。
しかし、これらの分析コマンドは出力を要求しないものであるため、実行結果出力部１０６は、実行結果を出力しない。
【００６６】
分析コマンドが行５０４である場合、実行結果出力部１０６は、行５０５のように実行結果を出力する。
匿名化手法導出装置１００は、分析フェーズ５２において、図５に示すような処理を繰り返す。
【００６７】
なお、分析コマンドをＰｙｔｈｏｎにより記述した場合の例を示したが、分析コマンドは、任意のプログラミング言語であって良い。
【００６８】
＊＊＊導出フェーズ５３の動作の説明＊＊＊
図６は、導出フェーズ５３の動作を示すフローチャートの例である。
本フローチャートに示す処理の順序は、適宜変更しても良い。
導出フェーズ５３は、分析内容解析部１０７が分析コマンド実行部１０５における分析内容を解析してから、匿名化手法導出部１０８が匿名化手法を導出するまでの処理に対応する。
【００６９】
（ステップＳ６０１：分析コマンド読出処理）
分析内容解析部１０７は、分析コマンドの系列を分析コマンド記憶部１１２から読み出す。
分析コマンドの系列は、何らかの意味を有する一まとまりの分析コマンドのことである。
【００７０】
（ステップＳ６０２：分析内容推定処理）
分析内容解析部１０７は、分析コマンドの系列から分析内容を解析し、解析結果を出力する。
分析内容解析部１０７は、分析内容を解析することにより、分析内容を推定する。この推定方法については後述する。
なお、分析内容解析部１０７の解析結果は、分析内容を推定したものであるため、実際の分析内容と一部異なるものであって良い。
【００７１】
（ステップＳ６０３：導出処理）
匿名化手法導出部１０８は、ステップＳ６０２の解析結果と、匿名化方式記憶部１１０が記憶している匿名化方式と、そのパラメータとに基づいて、匿名化手法を導出する。この導出方法については後述する。
【００７２】
（ステップＳ６０４：出力処理）
実行結果出力部１０６は、ステップＳ６０３において導出した匿名化手法を出力する。
【００７３】
＊＊＊分析フェーズ５２の推定方法の説明＊＊＊
図７及び図８を用いて、分析内容解析部１０７が分析コマンドの系列から分析内容を推定する方法を説明する。
図７は、Ｐｙｔｈｏｎにより記述された分析コマンドの系列の例であり、分析コマンドの系列から３つのコマンドを抜粋したものである。
【００７４】
２１番目の分析コマンドは、
変数Ｂに格納されたデータフレームのＩｎｖｏｉｃｅＤａｔｅ列の要素毎に２０１０／１／１からの経過日数を計算し、
計算した値全てに対する平均値を計算し、
前記平均値を変数Ｂのｄａｔｅ＿ａｖｅ列に格納することを意味する。
【００７５】
２２番目の分析コマンドは、
変数ＢのＩｎｖｏｉｃｅＤａｔｅ列の要素毎に２０１０／１／１からの経過日数を計算し、
計算した値全てに対する標準偏差を計算し、
前記標準偏差を変数Ｂのｄａｔｅ＿ｓｔｄ列に格納することを意味する。
【００７６】
２３番目の分析コマンドは、
変数Ｂのｄａｔｅ列の全要素に基づいて１０個の区間から成るヒストグラムを作成する場合において、ヒストグラムの各ビンの境界と、各ビンの度数とを計算し、
計算結果を変数Ｂのｈｉｓｔ列に格納することを意味する。
【００７７】
分析コマンドの意味を解釈することは、分析コマンドを実行するにあたってプロセッサ１１が行っていることであり、インタプリタ型言語と呼ばれるプログラミング言語においては一般的な技術である。
【００７８】
分析内容解析部１０７は、分析コマンドの系列から分析内容を推定する際に、上述のプロセッサ１１の処理を活用する。即ち、分析内容解析部１０７は、プロセッサ１１が解釈した内容のうち、「計算対象」と、「計算内容」とを分析コマンドの系列全体にわたって解析することにより、提供先２の計算対象と、算出しようとしている結果とを推定する。
２３番目の分析コマンドの場合、
計算対象は、変数Ｂのｄａｔｅ列の全要素であり、
計算内容は、ヒストグラムの各ビンの境界と、各ビンの度数とを計算することである。
【００７９】
図７では、具体例として、提供先２がＩｎｖｏｉｃｅＤａｔｅ列の２０１０／１／１からの経過日数の頻度分布を算出しようとしていることが推定される。
【００８０】
図７では３つの分析コマンドを抜粋して示したが、一般にデータ分析を行う場合には、このような分析コマンドが長く続く。
分析内容解析部１０７は、上述の方法により分析コマンドの系列全体を解析することによって、提供先２が何を計算対象として、どのような結果を算出しようとしているか推定することができる。
【００８１】
図８は、分析内容解析部１０７が分析コマンドの系列から分析内容を推定する動作を示すフローチャートの例である。
本フローチャートに示す処理の順序は、適宜変更しても良い。
【００８２】
（ステップＳ８０１：分析コマンド解釈処理）
分析内容解析部１０７は、分析コマンドを解釈する。
分析内容解析部１０７は、分析コマンドの解釈に、インタプリタ型言語と呼ばれるプログラミング言語において一般的に用いられている技術を用いても良い。
分析内容解析部１０７は、
分析コマンドの解釈が完了するまで本ステップの処理を続け、
分析コマンドの解釈が完了した場合、ステップＳ８０２に進む。
【００８３】
（ステップＳ８０２：分析コマンド解析処理）
分析内容解析部１０７は、解釈した内容のうち、「計算対象」と、「計算内容」とを分析コマンドの系列全体にわたって解析する。解析の具体的な方法は、プログラミング言語に依存して決まる。
図７に示す例において、分析内容解析部１０７は、
分析コマンドの解釈の結果から、「計算対象」を変数Ｂに格納されたデータフレームの特定の列であると解析し、
分析コマンドの解釈の結果から、「計算内容」をｎｕｍｐｙという数値計算用ライブラリの平均値算出関数と、標準偏差算出関数と、頻度分布算出関数とを用いた計算を行うことであると解析し、
解析結果から、提供先２がＩｎｖｏｉｃｅＤａｔｅ列の２０１０／１／１からの経過日数の頻度分布を算出しようとしていることを推定する。
【００８４】
（ステップＳ８０３：解析情報送信処理）
分析内容解析部１０７は、解析した「計算対象」と、「計算内容」とを匿名化手法導出部１０８に送信する。
【００８５】
図９は、分析内容の推定結果から、匿名化手法を導出する手順を示すフローチャートの例である。
本フローチャートに示す処理の順序は、適宜変更しても良い。
本図を用いて、分析内容の推定結果から、匿名化手法を導出する方法を説明する。
【００８６】
（ステップＳ９０１：解析結果受信処理）
匿名化手法導出部１０８は、分析内容解析部１０７から「計算対象」と、「計算内容」とを受信する。
【００８７】
（ステップＳ９０２：導出処理）
匿名化手法導出部１０８は、受信した「計算対象」と、「計算内容」とに対応する匿名化方式と、そのパラメータとを、匿名化方式記憶部１１０から読み出すことにより、匿名化手法を導出する。
「計算対象」と、「計算内容」とに対応する匿名化方式と、そのパラメータとの具体例としては、「計算内容」を保存するものである。
【００８８】
（ステップＳ９０３：個人情報読出処理）
匿名加工部１０９は、個人情報記憶部１１１から個人情報を読み出す。
【００８９】
（ステップＳ９０４：匿名加工処理）
匿名加工部１０９は、
ステップＳ９０３において読み出した個人情報に対して、匿名化手法を適用することにより、匿名加工情報を生成する。
【００９０】
（ステップＳ９０５：安全性評価処理）
匿名加工部１０９は、生成した匿名加工情報の安全性と、有用性とが、共に基準を達成しているか評価する。
匿名化手法導出装置１００は、
共に基準を達成している場合、ステップＳ９０６に進み、
それ以外の場合、ステップＳ９０２に進む。
【００９１】
匿名加工部１０９は、任意の方法によって、安全性と、有用性とが基準を達成しているか評価して良い。
安全性と、有用性との評価方法は、匿名化手法に依存したものであっても良く、匿名化手法とは独立したものであっても良い。
匿名加工部１０９は、
前記評価方法を匿名化手法に依存するものとする場合、匿名化方式と、そのパラメータとを匿名化方式記憶部１１０から読み出す際に、安全性と、有用性との評価方法を読み出しても良く、
匿名化手法とは独立したものとする場合、外部のデータベースを参照しても良い。
匿名化方式記憶部１１０は、匿名化方式と、そのパラメータとの組み合わせ毎に、安全性と、有用性との評価方法を記憶していても良い。
【００９２】
（ステップＳ９０６：出力処理）
実行結果出力部１０６は、匿名化手法と、匿名加工情報とを出力する。
出力の方法は、ディスプレイ２１への出力、又は、ネットワークを経由した出力等、提供元１が認識できる任意の方法であってよい。
【００９３】
＊＊＊実施の形態１の効果の説明＊＊＊
以上のように、本実施の形態によれば、提供元１の個人情報を加工した合成データと、提供先２の分析コマンドの分析内容とに応じて適切な匿名化方式と、そのパラメータとを決定することができる。
また、本実施の形態によれば、
安全性と、有用性との基準を満たす匿名加工情報を生成することができるため、
提供先２に、個人の権利利益を保護した匿名加工情報であって、分析に適した匿名加工情報を提供することができる。
【００９４】
＜変形例１＞
匿名化手法導出装置１００には、ディスプレイ２１と、キーボード２２と、マウス２３と、ディスプレイ２４と、キーボード２５と、マウス２６との内、少なくとも１つが接続されていなくても良い。
【００９５】
＜変形例２＞
提供元１と、匿名化手法導出装置１００とは、一体化していても良い。
本変形例において、個人情報入力部１０１は、プロセッサ１１と、メモリ１２とから構成される。
【００９６】
＜変形例３＞
匿名化手法導出装置１００は、匿名化方式記憶部１１０を備えなくても良い。
本変形例において、匿名化手法導出部１０８は、外部のデータベース等を参照することにより、匿名化手法を導出する。
【００９７】
＜変形例４＞
匿名化方式記憶部１１０が記憶しているデータベースは、提供元１又は提供先２が事前に用意したものであっても良い。
本変形例において、匿名化手法導出装置１００は、匿名加工情報生成前に、提供元１又は提供先２が用意したデータベースを匿名化方式記憶部１１０に記憶させる。
【００９８】
＜変形例５＞
合成データ記憶部１０３と、個人情報記憶部１１１と、分析コマンド記憶部１１２との内、少なくとも１つは、メモリ１２と、記憶装置１３とから構成されても良い。
【００９９】
＜変形例６＞
匿名化手法導出装置１００は、分析コマンド実行部１０５を備えなくても良い。
本変形例において、分析内容解析部１０７は、分析コマンドのデータに基づいて分析コマンドを解析する。
【０１００】
＜変形例７＞
匿名化手法導出部１０８は、提供元１に、匿名加工情報と、匿名化手法とを出力しなくても良い。
【０１０１】
＜変形例８＞
匿名加工部１０９は、安全性と、有用性とに関する評価結果を提供元１に出力しても良い。
【０１０２】
＜変形例９＞
分析コマンド実行部１０５は、合成データに加えて、合成データ以外のデータを使用して分析コマンドを実行してもよい。
本変形例において、匿名化手法導出装置１００は、より実際のデータ分析のユースケースに近い環境に基づいて、適切な匿名化手法を決定することができる。
【０１０３】
＜変形例１０＞
実行結果出力部１０６は、匿名化手法の情報を出力しなくても良い。
【０１０４】
＜変形例１１＞
本実施の形態では、匿名化手法導出装置１００の各機能をソフトウェアで実現する場合を説明した。しかし、変形例として、前記各機能は、ハードウェアにより実現されても良い。
【０１０５】
前記各機能がハードウェアにより実現される場合には、匿名化手法導出装置１００は、プロセッサ１１に代えて、電子回路（処理回路）を備える。あるいは、匿名化手法導出装置１００は、プロセッサ１１、及び、メモリ１２に代えて、電子回路を備える。電子回路は、前記各機能（及びメモリ１２）を実現する専用の電子回路である。
【０１０６】
電子回路は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
【０１０７】
前記各機能を１つの電子回路で実現してもよいし、前記各機能を複数の電子回路に分散させて実現してもよい。
【０１０８】
あるいは、一部の前記各機能がハードウェアで実現され、他の前記各機能がソフトウェアで実現されてもよい。
【０１０９】
前述したプロセッサ１１とメモリ１２と電子回路とを、総称して「プロセッシングサーキットリー」という。つまり、前記各機能は、プロセッシングサーキットリーにより実現される。
【０１１０】
実施の形態２．
以下、前述した実施の形態と異なる点について、図面を参照しながら説明する。
本実施の形態に係る匿名化手法導出装置１００は、提供元１が持つ個人情報と、提供先２が持つ個人情報とに基づいて、適切な匿名化手法を決定する。
【０１１１】
＊＊＊構成の説明＊＊＊
図１０は、本実施の形態に係る匿名化手法導出装置１００と、本実施の形態に係る合成データ生成装置２００とを備える匿名化手法導出システムの例を示す図である。
【０１１２】
匿名化手法導出装置１００は、合成データ受信部１２１を備える。
【０１１３】
合成データ受信部１２１は、合成データ送信部２０３が送信した提供先合成データを受信する。
提供先合成データは、合成データ６２と同義である。
【０１１４】
合成データ生成装置２００は、
提供先２が持つ個人情報から合成データ６２を生成する装置であり、
個人情報入力部２０１と、提供先合成データ生成部２０２と、匿名化手法導出装置１００に対して合成データ６２を送信する合成データ送信部２０３と、提供先記憶部２０４とから構成される。
【０１１５】
個人情報入力部２０１は、個人情報入力部１０１と同様である。
【０１１６】
提供先合成データ生成部２０２は、
合成データ生成部１０２と同様であり、
提供先記憶部２０４が記憶している個人情報を加工した提供先合成データを生成する。
【０１１７】
合成データ送信部２０３は、提供先合成データを送信する。
【０１１８】
提供先記憶部２０４は、
個人情報記憶部１１１と同様であり、
個人情報を保持することができる。
個人情報入力部２０１が提供先記憶部２０４に個人情報を記憶させた場合、提供先記憶部２０４は、匿名加工情報の提供先が有する個人情報を記憶している。
【０１１９】
合成データ受信部１２１は、図には示さないが、プロセッサ１１と、メモリ１２と、ポート１４とから構成される。
【０１２０】
図１１は、合成データ生成装置２００のハードウェア構成例である。
本図に示すように、合成データ生成装置２００は、一般的なコンピュータ１０から構成される。
【０１２１】
個人情報入力部２０１と、合成データ送信部２０３とは、プロセッサ１１と、メモリ１２と、ポート１４とから構成される。
【０１２２】
提供先合成データ生成部２０２は、プロセッサ１１と、メモリ１２とから構成される。
【０１２３】
提供先記憶部２０４は、メモリ１２から構成される。
【０１２４】
＊＊＊動作の説明＊＊＊
本実施の形態における動作は、登録フェーズ５１と、分析フェーズ５２と、導出フェーズ５３との３つのフェーズから構成される。
以下、これらの動作を順に説明する。ただし、実施の形態１と同じ動作である場合には説明を省略する。
【０１２５】
＊＊＊登録フェーズ５１の動作の説明＊＊＊
図１２は、登録フェーズ５１の内、合成データ生成装置２００に関する手順、即ち、提供先２が合成データ生成装置２００に個人情報を入力してから、合成データ生成装置２００が匿名化手法導出装置１００へ合成データ６２を送信するまでの動作を示すフローチャートの例である。
本フローチャートに示す処理の順序は、適宜変更しても良い。
【０１２６】
（ステップＳ３１１：入力受付処理）
個人情報入力部２０１は、
提供先２からの個人情報の入力を受け付け、
受け付けた個人情報を提供先記憶部２０４に記憶させる。
【０１２７】
（ステップＳ３１２：合成データ生成処理）
提供先合成データ生成部２０２は、提供先記憶部２０４が記憶している個人情報に基づいて合成データ６２を生成する。
【０１２８】
（ステップＳ３１３：合成データ送信処理）
合成データ送信部２０３は、合成データ６２を匿名化手法導出装置１００に送信する。
【０１２９】
図１３は、登録フェーズ５１の内、匿名化手法導出装置１００に関する手順、即ち、提供元１が匿名化手法導出装置１００に個人情報を入力してから、合成データ生成部１０２が合成データ６１を合成データ記憶部１０３に記憶させ、合成データ受信部１２１が合成データ６２を合成データ記憶部１０３に記憶させるまでの手順を表すフローチャートの例である。
本フローチャートに示す処理の順序は、適宜変更しても良い。
【０１３０】
ステップＳ３０１及びステップＳ３０２は、実施の形態１のものと同様であるため、説明を省略する。
【０１３１】
（ステップＳ３２３：合成データ受信処理）
合成データ受信部１２１は、合成データ生成装置２００から合成データ６２を受信する。
【０１３２】
（ステップＳ３２４：合成データ記憶処理）
合成データ生成部１０２は、合成データ６１を合成データ記憶部１０３に記憶させ、
合成データ受信部１２１は、合成データ６２を合成データ記憶部１０３に記憶させる。
【０１３３】
分析フェーズ５２及び導出フェーズ５３の動作の説明は、実施の形態１における動作の説明中の合成データ６１を、合成データ６１及び合成データ６２に読み替えたものであるため、省略する。
なお、本実施の形態において、分析コマンド実行部１０５は、合成データ受信部１２１が受信した提供先合成データを利用して分析コマンドを実行する。
【０１３４】
＊＊＊実施の形態２の効果の説明＊＊＊
以上のように、本実施の形態によれば、
合成データ生成装置２００は、提供先２の個人情報を加工した合成データを匿名化手法導出装置１００に送信し、
匿名化手法導出装置１００は、提供元１の個人情報を加工した合成データと、提供先２の個人情報を加工した合成データとに基づいて用いて適切な匿名化手法を選択することができるため、より実際のデータ分析のユースケースに近い環境において、適切な匿名化方式と、そのパラメータとを決定することができる。
また、本実施の形態によれば、実施の形態１と同様に、安全性と、有用性との基準を満たす匿名加工情報を生成することができる。
【０１３５】
＜変形例１２＞
提供先２と、合成データ生成装置２００とは、一体化していても良い。
本変形例において、個人情報入力部２０１は、プロセッサ１１と、メモリ１２とから構成される。
【０１３６】
＜変形例１３＞
匿名化手法導出装置１００と、合成データ生成装置２００とは、一体化していても良い。
本変形例において、合成データ受信部１２１と、合成データ送信部２０３とは、プロセッサ１１と、メモリ１２とから構成される。
【０１３７】
＜変形例１４＞
提供先記憶部２０４は、メモリ１２と、記憶装置１３とから構成されていても良い。
【０１３８】
＊＊＊他の実施の形態＊＊＊
前述した各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【０１３９】
また、実施の形態は、実施の形態１から２で示したものに限定されるものではなく、必要に応じて種々の変更が可能である。
【０１４０】
また、提供先２の分析コマンドの説明において、インタプリタ型のプログラミング言語であるＰｙｔｈｏｎを用いたが、分析コマンドは、インタプリタ型のプログラミング言語により作成されていなくても良い。
分析内容解析部１０７は、具体例としては、コンパイル型のプログラミング言語により分析コマンドが作成されている場合であっても、分析コマンドの「計算対象」と、「計算内容」とを解析することが可能である。
【０１４１】
また、匿名化手法導出装置１００は、提供先２がプログラミング言語を使わず、データ分析専用ソフトウェア等の別の手段により個人情報を分析する場合であっても、分析内容を解釈することができる。この場合、匿名化手法導出装置１００は、データ分析の分野において公知の技術を組み合わせることにより、分析フェーズ５２を実現することができる。
【符号の説明】
【０１４２】
１  提供元、２  提供先、１０  コンピュータ、１１  プロセッサ、１２  メモリ、１３  記憶装置、１４  ポート、１５  データバス、２１  ディスプレイ、２２  キーボード、２３  マウス、２４  ディスプレイ、２５  キーボード、２６  マウス、５１  登録フェーズ、５２  分析フェーズ、５３  導出フェーズ、６１  合成データ、６２  合成データ、１００  匿名化手法導出装置、１０１  個人情報入力部、１０２  合成データ生成部、１０３  合成データ記憶部、１０４  分析コマンド入力部、１０５  分析コマンド実行部、１０６  実行結果出力部、１０７  分析内容解析部、１０８  匿名化手法導出部、１０９  匿名加工部、１１０  匿名化方式記憶部、１１１  個人情報記憶部、１１２  分析コマンド記憶部、１２１  合成データ受信部、２００  合成データ生成装置、２０１  個人情報入力部、２０２  提供先合成データ生成部、２０３  合成データ送信部、２０４  提供先記憶部、５０１  行、５０２  行、５０３  行、５０４  行、５０５  行。
【要約】
匿名化手法導出装置（１００）は、個人情報を記憶している個人情報記憶部（１１１）と、個人情報記憶部（１１１）が記憶している個人情報を分析する分析コマンドを記憶している分析コマンド記憶部（１１２）と、分析コマンド記憶部（１１２）が記憶している分析コマンドに基づいて、個人情報を匿名化する匿名化手法を導出する匿名化手法導出部（１０８）と、匿名化手法導出部（１０８）が導出した匿名化手法を利用して、個人情報を匿名化した匿名加工情報を生成する匿名加工部（１０９）とを備える。【図１】
0006695511.tif 000002
【図２】
0006695511.tif 000003
【図３】
0006695511.tif 000004
【図４】
0006695511.tif 000005
【図５】
0006695511.tif 000006
【図６】
0006695511.tif 000007
【図７】
0006695511.tif 000008
【図８】
0006695511.tif 000009
【図９】
0006695511.tif 000010
【図１０】
0006695511.tif 000011
【図１１】
0006695511.tif 000012
【図１２】
0006695511.tif 000013
【図１３】
0006695511.tif 000014