(57)【要約】【課題】プライバシ保護とタイミングギャップ解消とを両立させることを目的とする。【解決手段】ユーザごとにサービスの利用可能性を推定する推定手段と、利用可能性と複数のユーザのコンテキスト情報であって前記サービスに応じたコンテキスト情報の類似性とに基づき複数のユーザをグループに分類する分類手段と、グループに含まれるユーザのコンテキスト情報に基づきグループごとに前記サービスの提供元に開示する開示情報を生成する生成手段と、を有することによって課題を解決する。【選択図】図５
2017174403.tif 000002
【特許請求の範囲】
【請求項１】
ユーザごとにサービスの利用可能性を推定する推定手段と、
前記利用可能性と複数のユーザのコンテキスト情報であって前記サービスに応じたコンテキスト情報の類似性とに基づき前記複数のユーザをグループに分類する分類手段と、
グループに含まれるユーザのコンテキスト情報に基づき前記グループごとに前記サービスの提供元に開示する開示情報を生成する生成手段と、
を有する情報処理装置。
【請求項２】
ユーザのコンテキスト情報を取得する取得手段を更に有し、
前記推定手段は、前記コンテキスト情報に基づきユーザごとにサービスの利用可能性を推定する請求項１記載の情報処理装置。
【請求項３】
前記分類手段は、前記利用可能性の類似性に基づき複数のユーザをレイヤに分け、前記分けたレイヤごとに、レイヤに属する複数のユーザのコンテキスト情報であって前記サービスに応じたコンテキスト情報の類似性に基づき前記複数のユーザをグループに分類する請求項１又は２記載の情報処理装置。
【請求項４】
前記分類手段は、前記複数のユーザをグループに分類する際にグループの利用可能性が設定された要求確率以上になるように前記複数のユーザをグループに分類する請求項３記載の情報処理装置。
【請求項５】
前記分類手段は、前記グループの利用可能性を、前記グループに含まれるユーザのうち少なくとも１人のユーザがサービスを利用する確率とし、前記グループの利用可能性が設定された要求確率以上になるように前記複数のユーザをグループに分類する請求項４記載の情報処理装置。
【請求項６】
前記分類手段は、前記グループの利用可能性を、前記グループに含まれる複数のユーザのサービスの利用可能性の和で近似し、前記グループの利用可能性が設定された要求確率以上になるように前記複数のユーザをグループに分類する請求項４記載の情報処理装置。
【請求項７】
前記分類手段は、前記レイヤごとに設定されたグループのサイズに応じて、前記類似性に基づき前記複数のユーザをグループに分類する請求項３乃至６何れか１項記載の情報処理装置。
【請求項８】
前記分類手段は、前記グループの利用可能性に基づいてグループのサイズを決定し、決定したグループのサイズに応じて、前記類似性に基づき前記複数のユーザをグループに分類する請求項４乃至６何れか１項記載の情報処理装置。
【請求項９】
前記分類手段は、前記複数のユーザをグループに分類する際にグループの誤差がレイヤごとに設定されている設定誤差のうち前記グループが属するレイヤの設定誤差よりも大きい場合、前記グループに含まれるユーザを他のグループへ移動させる請求項３乃至８何れか１項記載の情報処理装置。
【請求項１０】
前記分類手段は、前記グループの誤差が前記レイヤの設定誤差よりも大きい場合、前記グループに含まれるユーザを前記レイヤより利用可能性の区間が小さいレイヤのグループへ移動させる請求項９記載の情報処理装置。
【請求項１１】
前記生成手段は、前記グループに含まれるユーザのコンテキスト情報に基づき前記グループごとに前記グループの利用可能性があるほど匿名化を弱くした前記開示情報を生成する請求項４乃至６何れか１項記載の情報処理装置。
【請求項１２】
情報処理装置が実行する情報処理方法であって、
ユーザごとにサービスの利用可能性を推定する推定ステップと、
前記利用可能性と複数のユーザのコンテキスト情報であって前記サービスに応じたコンテキスト情報の類似性とに基づき前記複数のユーザをグループに分類する分類ステップと、
グループに含まれるユーザのコンテキスト情報に基づき前記グループごとに前記サービスの提供元に開示する開示情報を生成する生成ステップと、
を含む情報処理方法。
【請求項１３】
コンピュータを、請求項１乃至１１何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ユーザのコンテキストを推定して、状況にあった情報やサービスを推薦することが行われている。こうしたシステムや技術は、Ｐｅｒｓｏｎａｌ  Ａｓｓｉｓｔａｎｔ、Ｃｏｎｔｅｘｔ  Ａｗａｒｅ  Ｃｏｍｐｕｔｉｎｇ等と様々に呼ばれているが、ここではＰｅｒｓｏｎａｌ  Ｃｏｎｔｅｘｔ  Ａｓｓｉｓｎｔａｎｔ（以下、ＰＣＡ）と呼ぶことにする。
例えばＰＣＡとしては、話題のニュースや都道府県等に関連したニュースを、通勤時間や現在地に基づいて提供することが行われている。また、位置情報を基に空港への到着等を検知するとタクシーの配車を依頼することを推薦すること等も考えられている。
しかし、サービスを推薦して、ユーザがそのサービスの利用を行っても、サービスによっては待ち時間を要することがある。例えば、タクシーの配車であれば、通知を見てから配車依頼を行うと、空港でタクシー到着まで待つ必要がある。
このように、ユーザがサービスを必要とするタイミングと、サービス提供者がサービスを提供できるタイミングと、にギャップが生じているために、待ち時間が発生する。
そのため、このタイミングギャップを解消するために、将来的には、システムが先回りしてサービスを準備・実行するようになると考える。例えば、特許文献１では、注文される前に商品を近くにまで出荷しておくことで、注文から配達までの時間短縮を実現すること等が提案されている。
システムが先回りしてサービスを準備するには、サービス提供元が準備をできるようにする必要がある。そのためのプラットフォームとして、コンテキストをサービス提供元と共有する仕組みができると予想する。
このとき、コンテキストを無条件に共有すると、正当な目的以外にコンテキストを使用する意思を有するサービス提供元がコンテキストを蓄積することが考えられる。このとき、ユーザの行動履歴がサービス提供側に残ってしまう。そのため、プライバシが保護されない。しかし、コンテキストをサービス利用の可能性が高まる直前まで共有しない場合、タイミングギャップが大きくなってしまう。
【０００３】
従来、プライバシを保護するためには匿名化技術があった（例えば、特許文献２）。特許文献２では、個々のデータがｋ匿名化の要求レベルを有するときに、全てのデータの要求レベルを満足しつつ、情報価値の低下を防ぐ匿名化方法を提案している。より具体的には、特許文献２の技術では、情報価値の低下を防ぐために、類似するデータをグループに分割して、要求レベルを満たすときグループを再度分割していくことを繰り返す。特許文献２の技術では、要求レベルを満たす最小のグループ単位で、匿名化の処理を行う。これによって、個々のデータが求める要求レベルを満たしつつ、情報価値の低下を防ぐ匿名化を行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００８−５２４７１４号公報
【特許文献２】国際公開第１３／０３１９９７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ユーザのコンテキストをより精度高く提供すれば、タイミングギャップをより小さくできる。そのため、サービスを利用する確率が高いとき、ユーザのコンテキストをより精度高く提供すべきである。
そこで、利用確率の高いユーザのコンテキストをより精度高く残すために、特許文献２における匿名化の要求レベルとして、サービスに利用確率を用いることが考えられる。つまり、サービスの利用確率が高いときほど、匿名化の要求レベルを下げることを行うことが考えられる。
しかしながら、特許文献２では、匿名化の要求レベルが低いユーザと高いユーザとを合わせて匿名化する。そのため、場合によっては、匿名化の要求レベルを低く希望するユーザが、匿名化の要求レベルが高いユーザに要求レベルを合わされてしまうことが起こりえる。このとき、匿名化の要求レベルを低くして、サービスの準備をより進めておいてほしいと希望したユーザの目的が達成されない問題が起きる。
本発明は、プライバシ保護とタイミングギャップ解消とを両立させることを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、ユーザごとにサービスの利用可能性を推定する推定手段と、前記利用可能性と複数のユーザのコンテキスト情報であって前記サービスに応じたコンテキスト情報の類似性とに基づき前記複数のユーザをグループに分類する分類手段と、グループに含まれるユーザのコンテキスト情報に基づき前記グループごとに前記サービスの提供元に開示する開示情報を生成する生成手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、プライバシ保護とタイミングギャップ解消とを両立させることができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理システムのシステム構成の一例を示す図である。
【図２】コンピュータのハードウェア構成の一例を示す図である。
【図３】ＰＣＡサーバの機能構成の一例を示す図である。
【図４】パラメータ等の一例を示す図である。
【図５】開示情報生成処理の一例を示すフローチャートである。
【図６】匿名化グループ作成処理の一例を示すフローチャートである。
【図７】限界誤差グループ解体処理の一例を示すフローチャートである。
【図８】図７の処理を説明するための図である。
【図９】コンテキスト情報の一例を示す図（その１）である。
【図１０】コンテキスト情報の一例を示す図（その２）である。
【図１１】コンテキスト情報の一例を示す図（その３）である。
【図１２】パラメータ等の一例を示す図である。
【図１３】コンテキスト情報の一例を示す図（その４）である。
【図１４】コンテキスト情報の一例を示す図（その５）である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
本実施形態の情報処理システムのシステム構成について、図１を用いて説明する。
ＰＣＡクライアント１０１は、クライアントであり、コンテキスト情報を取得してＰＣＡサーバ１０２へと送信する。ＰＣＡクライアント１０１は、例えば、ユーザが保有するスマートフォン等のモバイルデバイスである。コンテキスト情報としては、例えば、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）で得た緯度経度等の位置情報や、ジャイロセンサで得た角速度、磁気センサで得た方位、加速度センサで得た加速度等である。また、コンテキスト情報としては、例えば、ユーザの心拍等のバイタル、又は揺れ等から推定される集中度等の情報、デバイスの使用状況等の情報、近接通信等で取得される近くにあるデバイスやモノ等に関する情報等である。
ＰＣＡサーバ１０２は、複数のＰＣＡクライアント１０１から得たコンテキスト情報を匿名化して、複数のサービス１０３へコンテキスト情報を提供する。ＰＣＡサーバ１０２は、例えば、サーバ装置等である。又は、ＰＣＡサーバ１０２は、例えば、クラウド環境に構築された仮想サーバ等であってもよい。
また、ＰＣＡサーバ１０２は、ＰＣＡクライアント１０１から得たコンテキスト情報を加工して、より高次のコンテキスト情報を生成することを行ってもよい。そして、ＰＣＡサーバ１０２は、その高次のコンテキスト情報を匿名化して、サービス１０３へ提供するようにしてもよい。
高次のコンテキスト情報の生成処理については、図３のコンテキスト加工部３０２の説明において説明する。
サービス１０３は、匿名化されたコンテキスト情報に基づいて、ユーザに合わせたサービスの準備を行う。例えば、タクシーサービス等あれば、ユーザの位置情報等が匿名化して得られるため、その情報に基づいてタクシーの巡回ルートを変更する等を行う。
【００１１】
本実施形態のサーバ装置やクライアント装置を構成するコンピュータの構成について、図２を参照して説明する。サーバ装置やクライアント装置はそれぞれ単一のコンピュータで実現してもよいし、必要に応じた複数のコンピュータに各機能を分散して実現するようにしてもよい。複数のコンピュータで構成される場合は、互いに通信可能なようにＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）等で接続されている。
ＣＰＵ２０１は、コンピュータ２００全体を制御するＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）である。ＲＯＭ２０２は、変更を必要としないプログラムやパラメータを格納するＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）である。ＲＡＭ２０３は、外部装置等から供給されるプログラムやデータを一時記憶するＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）である。外部記憶装置２０４は、コンピュータ２００に固定して設置されたハードディスクやメモリカードである。又は、外部記憶装置２０４は、外部記憶装置２０４には、コンピュータ２００から着脱可能なフレキシブルディスク（ＦＤ）やＣｏｍｐａｃｔ  Ｄｉｓｋ（ＣＤ）等の光ディスク、磁気や光カード、ＩＣカード、メモリカード等を含んでもよい。入力デバイスインターフェイス２０５は、ユーザの操作を受け、データを入力するポインティングデバイスやキーボード等の入力デバイス２０９とのインターフェイスである。出力デバイスインターフェイス２０６は、コンピュータ２００の保持するデータや供給されたデータを表示するためのモニタ２１０とのインターフェイスである。通信インターフェイス２０７は、インターネット等のネットワーク回線２１１に接続するためのネットワークインターフェイスである。システムバス２０８は、２０１〜２０７の各ユニットを通信可能に接続するシステムバスである。
本実施形態のクライアント装置であるＰＣＡクライアント１０１においては、センサ等を含んでいる。例えば、センサとは、ＧＰＳセンサ、ジャイロセンサ、磁気センサ、加速度センサ等である。また、心拍等を取得するバイタルセンサは他装置の形態をとり、ＰＣＡクライアント１０１は、通信インターフェイス等からデータを取得するように構成してもよい。また、ＰＣＡクライアント１０１がスマートフォン等の形態であれば、通話部等や撮像部等を含むものになる。
サーバ装置のＣＰＵ２０１がサーバ装置のＲＯＭ２０２又は外部記憶装置２０４に記憶されたプログラムに基づき処理を実行することによって後述する図３に示すサーバ装置の機能、図５〜７のフローチャートの処理が実現される。
【００１２】
本実施形態ではＰＣＡサーバ１０２が、ＰＣＡクライアント１０１から収集したコンテキスト情報を匿名化して、サービス１０３へと情報を開示する。以下、本実施形態における、開示する情報を生成するシステムの機能構成について図３を用いて説明する。本実施形態ではＰＣＡサーバ１０２に図３に示す機能が実装されているものとするが、ＰＣＡクライアント１０１等に機能の一部を分散する構成としてもよい。
コンテキスト受信部３０１は、ＰＣＡクライアント１０１からコンテキスト情報を受信する。より具体的には、コンテキスト受信部３０１は、通信インターフェイス２０７を介して、位置情報等のコンテキスト情報を受信する。
コンテキスト加工部３０２は、コンテキスト情報を加工して、高次なコンテキスト情報を生成する。
例えば、コンテキスト加工部３０２は、ＰＣＡクライアント１０１から緯度経度が得られたとき、その緯度経度を住所等の情報に変換することを行ってもよい。
また、コンテキスト加工部３０２は、周囲のモノや人との関係性に関する情報を生成してもよい。例えば、コンテキスト加工部３０２は、複数のユーザから得られた位置情報の軌跡から、同一の軌跡を描くユーザ同士が一緒に行動していること等を推定して、同行者の情報を生成すること等を行ってもよい。又は、コンテキスト加工部３０２は、近接通信で得られたモノを特定して、モノを携帯していること等を特定してもよい。例えば、コンテキスト加工部３０２は、スマートウォッチ等の携帯等を特定してもよい。
又は、コンテキスト加工部３０２は、身体状態に関する情報を生成してもよい。例えば、コンテキスト加工部３０２は、位置情報や加速度センサ等から歩行しているのか、自動車に乗っているのか等の移動状態を推定し、身体状態に関する情報を生成してもよい。又は、コンテキスト加工部３０２は、歩行状態の継続時間等から疲労度等を推定し、身体状態に関する情報を生成してもよい。
又は、コンテキスト加工部３０２は、心理状態に関する情報を生成してもよい。例えば、コンテキスト加工部３０２は、職場等の集中すべき環境にいるが集中度が低いことから、集中したいと考えている等といったことを推定し、心理状態に関する情報を生成してもよい。又は、心理状態としては嗜好等でもよい。例えば、コンテキスト加工部３０２は、過去の購買履歴等から、ユーザが望む商品の情報等を生成する。又は、コンテキスト加工部３０２は、予め入力された「ほしいものリスト」等を基に、ユーザが望む商品等を生成してもよい。
本実施形態では、コンテキスト情報としては、いつ・どこで・何を・誰としているのか等の状況を指す情報に加えて、ユーザと人・モノとの関係性、ユーザの心身状態等を指す情報とする。
コンテキスト加工部３０２の機能は、ＰＣＡクライアント１０１とＰＣＡサーバ１０２とで分散して実現するようにしてもよい。
ユーザ管理部３０３は、ユーザ情報やユーザのコンテキスト情報を管理する。より具体的には、コンテキスト受信部３０１やコンテキスト加工部３０２で取得したコンテキスト情報を、ユーザ管理部３０３は、外部記憶装置２０４に保存して管理する。
サービス管理部３０４は、ユーザ情報を開示するサービスを管理する。より具体的には、サービス管理部３０４は、サービスの情報に関するリストを、外部記憶装置２０４に保存して管理する。
【００１３】
開示情報生成部３０５は、サービスの提供元に開示するコンテキスト情報を生成する。より具体的な処理方法は次の通りである。まず、開示情報生成部３０５は、ユーザのサービスの利用確率を推定して、利用確率ごとにユーザをレイヤに分ける。利用確率は、利用可能性の一例である。次に、開示情報生成部３０５は、レイヤごとに匿名化する情報でユーザをグループに分ける。開示情報生成部３０５は、グループごとに匿名化処理を行うことで、開示するコンテキスト情報を生成する。詳細な処理内容については、図５のフローチャートを用いて後述する。
開示情報生成部３０５は、コンテキスト取得部３０６、利用確率算出部３０７、利用確率分類部３０８、匿名化分類部３０９、匿名化情報生成部３１０より構成される。
コンテキスト取得部３０６は、匿名化を行う前のユーザのコンテキスト情報を取得する。より具体的には、コンテキスト取得部３０６は、ユーザ管理部３０３から、ユーザのコンテキスト情報を検索して取得する。
利用確率算出部３０７は、ユーザごとにサービスの利用確率を算出する。より具体的には、利用確率算出部３０７は、サービス管理部３０４で管理されているサービスごとに、サービスの利用確率を推定する。例えば、利用確率算出部３０７は、タクシーサービス等であれば、タクシーの配車依頼を行う確率を推定する。より具体的には、利用確率算出部３０７は、普段の行動からタクシーに乗る状況を学習して、現在の状況からその状況に到達する確率を算出する。例えば、ショッピングモールで買い物を行った後に、外が雨の場合において、タクシーを呼ぶことが多いとする。例えば、利用確率算出部３０７は、ショッピングモールにユーザがいることを位置情報等で特定して、外部の天気の降水確率等から、タクシーを呼ぶ確率を算出することができる。但し、利用確率の算出方法はこれらに限定されるものではない。
利用確率分類部３０８は、利用確率算出部３０７で求めたユーザの利用確率が、同程度のユーザごとに分けることを行う。本実施形態では、この分類をレイヤと呼ぶ。例えば、利用確率分類部３０８は、同程度とする利用確率の区間を、サービスごとに予め定めておいたものを利用する。利用確率分類部３０８は、この利用確率の区間等を、サービス１０３から取得したものを利用するようにしてもよい。
【００１４】
匿名化分類部３０９は、利用確率分類部３０８で得たレイヤごとに、匿名化対象のコンテキスト情報の類似性に基づいてユーザをグループに分類する。このとき、匿名化分類部３０９は、グループのサイズはレイヤごとに予め定められた値を用いる。又は、匿名化分類部３０９は、利用確率に基づいてグループのサイズを決定するようにする。詳細なグループサイズの決定方法は、フローチャート図５〜７を説明した後に述べる。
コンテキスト情報の類似性としては、コンテキスト情報が「年齢」等の数値であれば、数値の差の逆数等を類似性にできる。また、コンテキスト情報が「位置情報」等のベクトルであれば、ベクトル間の距離の逆数等を類似性とできる。又は、コサイン類似度等をとってもよい。また、コンテキスト情報が「性別」等のカテゴリカルなデータである場合は、一致しているか否かで類似度を定義できる。
また、階層を持ったカテゴリカルなデータである場合もある。このとき、何階層目までが一致するかを用いて、一致する階層数を類似度としてもよい。又は、階層木をたどって片方のデータからもう片方のデータまで移動するときに必要な移動回数等をデータ間の距離として、距離の逆数等で類似度を定義してもよい。
また、コンテキスト情報がベクトルやカテゴリカルなデータ等の複数から構成される場合は、ベクトルデータをカテゴリカルなデータに変換して、カテゴリカルなデータ同士が一致する回数等からデータの類似度を決定してもよい。又は、コンテキスト情報を構成するデータごとに類似度を求め、類似度の重みづけ和等をとってもよい。本実施形態におけるコンテキスト情報の類似性の定義はこれらに限定されるものではない。
コンテキスト情報に基づいたユーザの分類方法としては、ｋ−ｍｅａｎｓやスペクトラルクラスタリング等のクラスタリング手法でコンテキスト情報の類似性に基づいて分類してもよい。又は、ｋ匿名化手法で良く用いられる一般化階層木を用いる手法を利用してもよい。本実施形態におけるユーザの分類方法はこれらに限定されるものではない。
匿名化情報生成部３１０は、匿名化分類部３０９で得たグループごとに、開示するコンテキスト情報を生成する。例えば、匿名化情報生成部３１０は、開示するコンテキスト情報が位置情報であれば、グループを構成するユーザの位置情報の重心等を求める。加えて、匿名化情報生成部３１０は、重心からグループを構成するユーザまでの最大距離を半径等として求めて開示する情報としてもよい。また、匿名化情報生成部３１０は、開示するコンテキスト情報が住所等の属性値であれば、番地を省略する等の一般化を行う。但し、匿名化情報の生成処理については、これらに限定されるものではない。
【００１５】
コンテキスト開示部３１１は、匿名化情報生成部３１０が生成したコンテキスト情報をサービスに開示をする。例えば、コンテキスト開示部３１１は、位置情報を匿名化して開示する場合においては、匿名化情報生成部３１０で重心と半径とを求めているため、これをユーザＩＤと関連付けて開示を行う。又は、コンテキスト開示部３１１は、グループ単位に情報を開示するようにしてもよく、匿名化分類部３０９で生成したグループにＩＤを付与して、グループＩＤに重心と半径とユーザＩＤリストとを紐付けて開示するようにしてもよい。但し、コンテキスト情報の開示方法は、これらに限定されるものではない。
関連付けるユーザＩＤはサービスに閉じたものとすることが望ましく、ＰＣＡサーバ内でのユーザＩＤを用いない方が望ましい。なぜならば、本実施形態では、開示されたコンテキスト情報から一定以上の人数以下には絞り込めないように、コンテキスト情報を生成している。しかし、ＰＣＡ全体でユーザを一意に特定できるＩＤを利用すると、特定性が生まれてしまう。一方で、サービスに閉じたＩＤであれば、サービスに開示されていないコンテキスト情報との紐付けを行うには、サービスのユーザＩＤを用いることはできない。そのため、コンテキスト情報の一致をとって、データを結合することになる。しかし、コンテキスト情報は匿名化されているため、一定数以上には絞り込むことができない。そのため、ユーザが想定する以上にサービスに対して情報が開示されることがなくなる。
但し、ＰＣＡサーバ内でのユーザＩＤを用いるようにしてもよい。このとき、サービスに開示されていないコンテキスト情報であっても、ユーザＩＤを用いることで、容易に結合することができてしまう。しかし、開示されるコンテキスト情報は、匿名化の過程で、精度が落ちているため、ある程度のプライバシを保護できる。
開示される情報にユーザＩＤを含む必要はなく、コンテキスト情報だけを開示するようにしてもよい。但し、開示する情報の構成については、これらに限定されるものではない。
【００１６】
次に、本実施形態における開示情報生成処理について、フローチャート図５を用いて説明する。本処理は、開示情報生成部３０５によって実行され、サービスへ開示するコンテキスト情報を生成する。そのため、本処理では、サービスをパラメータとして指定して、処理を実行する。加えて、サービスごとに設定されたパラメータも与えて実行する。パラメータについて図４（ａ）を用いて説明する。第一のパラメータは、ユーザをレイヤに分ける際に利用する利用確率の区間である。この例では、４つのレイヤに分けるための区間が定められている。第二のパラメータは、レイヤごとのコンテキスト情報の開示可否を定義している。「否」は情報を開示しないことを示す。「可（保護）」は匿名化したうえで情報を開示することを示す。「可（素値）」は匿名化を行わずに、情報を開示してよいことを示す。第三のパラメータは、匿名化グループサイズであり、レイヤ内で生成する匿名化グループのサイズを指定している。第四のパラメータの限界誤差は、レイヤ内で生成する匿名化情報の限界とすべき誤差を指定している。詳細は、図６のフローチャートを用いて後述する。限界誤差は設定誤差の一例である。符号は本実施形態で説明に使用するシンボルであり、パラメータではない。
以下の説明では、位置情報を匿名化する場合を例に説明を行う。以下、図５のフローチャートに従って説明する。
Ｓ５０１では、利用確率算出部３０７は、ユーザごとにサービスの利用確率を推定する。より具体的には、利用確率算出部３０７は、利用確率算出部３０７を用いて、サービスを利用する確率をユーザごとに推定する。
Ｓ５０２では、利用確率分類部３０８は、ユーザを利用確率でレイヤに分ける。より具体的には、利用確率分類部３０８は、図４（ａ）に示す利用確率の区間を用いて、ユーザがどの利用確率の区間に該当するかを決定する。
Ｓ５０３では、利用確率分類部３０８は、匿名化対象のレイヤを特定する。より具体的には、利用確率分類部３０８は、図４（ａ）に示す開示可否を参照して、「可（保護）」となっているレイヤを特定する。
Ｓ５０４では、匿名化分類部３０９は、Ｓ５０３で特定されたレイヤを対象として、匿名化グループ作成処理を行う。詳細は、図６のフローチャートを用いて後述する。
Ｓ５０５では、匿名化情報生成部３１０は、匿名化グループごとに開示情報を生成する。例えば、匿名化情報生成部３１０は、開示するコンテキスト情報が位置情報であれば、グループを構成するユーザの位置情報の重心と半径とを開示情報とする。
Ｓ５０３で匿名化対象とされなかったレイヤのユーザ情報に関しては、匿名化情報生成部３１０は、開示可否のパラメータに基づいて開示方法を決定する。より具体的には、匿名化情報生成部３１０は、「否」のレイヤのユーザに関しては、情報を開示しない。一方で、「可（素値）」のユーザに関しては、そのまま情報を開示することを行う。
即ち、匿名化情報生成部３１０は、後述するグループの利用確率に基づき開示情報の匿名化の強弱を変える。より具体的に説明すると、匿名化情報生成部３１０は、グループの利用確率が高いほど開示情報の匿名化を弱くし（例えば、開示情報を素値のままとし）、グループの利用確率が低いほど開示情報の匿名化を高くする（例えば、開示情報を開示しない）。
【００１７】
次に、本実施形態における匿名化グループ作成処理について、図６のフローチャートを用いて説明する。本処理では、匿名化対象とされたレイヤごとに、ユーザ集合の分割を繰り返すことで、匿名化グループを作成することを行う。以下、ステップごとに説明する。
Ｓ６０１では、匿名化分類部３０９は、図５のＳ５０３で特定された匿名化対象のレイヤを順に処理するためのループであり、匿名化対象のレイヤには１から順に番号が割り当てられているものとする。匿名化分類部３０９は、レイヤを変数ｉを用いて参照するため、はじめにｉを１に初期化する。更に、匿名化分類部３０９は、ｉがレイヤ数以下であるときＳ６０２へ移り、これを満たさないときループを抜けてＳ６０９へ移る。
Ｓ６０２では、匿名化分類部３０９は、レイヤｉのユーザを１グループとして分割候補グループリストに登録する。
Ｓ６０３では、匿名化分類部３０９は、分割候補グループリストからグループを取り出してコンテキスト情報の類似性に基づき分割する。匿名化分類部３０９は、取り出したグループは分割候補グループリストから削除する。匿名化分類部３０９は、分割方法としては、ｋ−ｍｅａｎｓ等の分割クラスタリング手法を用いて２つにグループを分割する。又は、匿名化分類部３０９は、スペクトラルクラスタリング等の手法を用いて分割してもよい。グループの分割方法はこれらに限定されるものではない。
Ｓ６０４では、匿名化分類部３０９は、Ｓ６０３で分割された結果を評価して、分割を行ってもよいか否かを判定する。より具体的には、匿名化分類部３０９は、パラメータとして与えられた匿名化グループサイズの条件を、分割後のグループのサイズが満たしていることを確認する。例えば、図４（ａ）に示す例では、利用確率の区間が０．４以上０．７未満では、匿名化グループのサイズは「６以上」であることが条件として設定されている。匿名化分類部３０９は、各々の分割後グループで、分割後のグループのサイズが条件を満たしているとき、分割可能（ＯＫ）と判断して、Ｓ６０５へ移る。匿名化分類部３０９は、それ以外の場合は、Ｓ６０６へ移る。
Ｓ６０５では、匿名化分類部３０９は、分割候補グループリストに分割したグループを登録する。
Ｓ６０６では、匿名化分類部３０９は、Ｓ６０３の分割をキャンセルして、分割前のグループを完成グループリストに登録する。
Ｓ６０７では、匿名化分類部３０９は、分割候補グループリストにグループがあるか否かを判定する。匿名化分類部３０９は、グループがあるときＳ６０３へ移り、それ以外は、Ｓ６０８へ移る。
Ｓ６０８は、レイヤのループの終端であり、匿名化分類部３０９は、ｉに１を加算してＳ６０１へ戻る。
Ｓ６０９では、匿名化分類部３０９は、限界誤差グループ解体処理を行う。詳細は、図７のフローチャートを用いて説明する。
【００１８】
次に、本実施形態における限界誤差グループ解体処理について、図７のフローチャートを用いて説明する。本処理の開始時点では、匿名化グループ作成処理（図６）のＳ６０９の直前において、匿名化グループが完成グループリストに登録された状態にある。本処理では、このリストのグループの誤差を評価して、誤差の大きいグループを解体して、他のグループに統合することで、誤差を小さくすることを試みる。誤差の評価にはパラメータの限界誤差を用いる。図４（ａ）に示すように、限界誤差はレイヤごとに設定された値である。
Ｓ７０１は、レイヤを下位層から順に処理するためのループである。ここで、レイヤは利用確率の区間が小さい方を下位層と呼んでいる。例えば、図４（ａ）では２行目の方が３行目よりも利用確率の区間が小さいことから、２行目の方が下位層に位置付けられる。レイヤには下位層から順に１から順の番号が割り当てられているものとする。匿名化分類部３０９は、レイヤを変数ｉを用いて参照するため、はじめにｉを１に初期化する。更に、匿名化分類部３０９は、ｉがレイヤ数以下であるときＳ７０２へ移り、これを満たさないときループを抜けて、本処理を終了する。
Ｓ７０２では、匿名化分類部３０９は、レイヤｉにある限界誤差を超えるグループを解体グループとして特定する。図４（ａ）の例で説明すれば、例えばレイヤｉが利用確率の区間が０．４以上０．７未満のレイヤであったとき、限界誤差は１０００ｍと定義されている。そのため、ここでは、匿名化分類部３０９は、グループの半径を誤差として利用して、この半径が１０００ｍを超えるグループを解体候補として利用する。
【００１９】
Ｓ７０３は、Ｓ７０２で特定された解体グループを順に処理するためのループである。解体グループには１から順に番号が割り当てられているものとする。匿名化分類部３０９は、解体グループを変数ｊを用いて参照するため、はじめにｊを１に初期化する。更に、解体グループｊがグループ数以下であるとき、Ｓ７０４へ移り、これを満たさないときループを抜けて、Ｓ７１４へ移る。
Ｓ７０４では、匿名化分類部３０９は、解体グループからユーザを除外したときの誤差を、ユーザごとに求める。そして、匿名化分類部３０９は、誤差が最も小さくなるユーザをユーザｍとする。このとき、匿名化分類部３０９は、ユーザｍは処理済みとしてフラグを立てておく。加えて、匿名化分類部３０９は、ユーザｍを選ぶときは、未処理のユーザから選ぶことにする。
Ｓ７０５では、匿名化分類部３０９は、ユーザｍを除外すると解体グループの誤差が小さくなるか否かを判定する。加えて、匿名化分類部３０９は、ユーザｍを除いたときに、匿名化グループサイズの条件を満たすことを判定する。匿名化分類部３０９は、誤差が小さくなりつつ、条件も満たすとき（ＹＥＳ）、Ｓ７０６へ移り、それ以外は（ＮＯ）、Ｓ７１２へ移る。
Ｓ７０６では、匿名化分類部３０９は、限界誤差を下回る「レイヤｉのグループ」と「レイヤｉより下位レイヤのグループ」とを吸収先グループとして特定する。レイヤｉの上位レイヤを含まない理由は、レイヤｉのユーザが求める匿名化グループサイズは、上位レイヤより大きいため、上位レイヤ側に統合すると、レイヤｉのユーザの条件を満たすことができなくなるためである。一方で、下位レイヤはレイヤｉのユーザの匿名化グループのサイズよりは大きいことが確実であるため、下位レイヤ側のグループには統合することができるためである。
【００２０】
Ｓ７０７では、匿名化分類部３０９は、Ｓ７０６で特定した吸収先グループにユーザｍを含めたときの誤差を求める。そして、匿名化分類部３０９は、最も小さい誤差が限界誤差を下回るとき、それを吸収先グループｎとする。
Ｓ７０８では、匿名化分類部３０９は、Ｓ７０７で吸収先グループｎが見つかったか否かを判定する。匿名化分類部３０９は、見つかったとき（ＹＥＳ）、Ｓ７０９へ移り、それ以外は（ＮＯ）、Ｓ７１１へ移る。
Ｓ７０９では、匿名化分類部３０９は、吸収先グループｎにユーザｍを含める。
Ｓ７１０では、匿名化分類部３０９は、ユーザｍを解体グループから除外したときの誤差が、限界誤差を下回るか否かを求める。匿名化分類部３０９は、限界誤差を下回るとき（ＹＥＳ）、Ｓ７１２へ移り、それ以外は（ＮＯ）、Ｓ７１１へ移る。
Ｓ７１１では、匿名化分類部３０９は、解体グループｊに未処理のユーザが残っているか否かを判定する。匿名化分類部３０９は、処理済みのフラグはＳ７０４で付与されているものを使う。匿名化分類部３０９は、未処理ユーザがあるとき（ＹＥＳ）、Ｓ７０４へ移り、それ以外は（ＮＯ）、Ｓ７１２へ移る。
【００２１】
Ｓ７１２では、匿名化分類部３０９は、解体グループｊの全てのユーザを処理できないとき、匿名化グループサイズを満たすように、解体をキャンセルしていく。より具体的には、匿名化分類部３０９は、Ｓ７０４〜Ｓ７１１の処理によって、解体グループのユーザを、限界誤差を満たせる他のグループへと移動させていく。しかし、解体グループにユーザが残ることがあり得る。例えば、限界誤差を満たせる他のグループがないときは、解体グループにユーザが残る。このとき、解体グループに残ったユーザが、匿名化グループサイズの条件を満たさないとき、この解体グループの匿名化を達成できなくなる。そこで、このような場合、匿名化分類部３０９は、解体グループの限界誤差を小さくすることを断念して、匿名化グループサイズの条件を満たせる状態にまで処理を戻す。より具体的には、Ｓ７０９では、匿名化分類部３０９は、吸収先グループｎにユーザｍを含めることをスタックに記憶しておく。Ｓ７１２では、匿名化分類部３０９は、スタックからどのグループにユーザを含めたかを読みだして、順にユーザを解体グループに戻していく。匿名化分類部３０９は、解体グループが匿名化グループサイズの条件を満たすまで、順にグループに戻す。これによって、パラメータで指定された匿名化グループのサイズの条件を満たすことができるようになり、グループの匿名性を優先的に守ることができるようになる。
Ｓ７１３は、解体先グループループの終端であり、匿名化分類部３０９は、ｊに１を加算してＳ７０３へ戻る。
Ｓ７１４は、下位レイヤからのループ処理であり、匿名化分類部３０９は、ｉに１を加算してＳ７０１へ戻る。
【００２２】
以上の図７のフローチャートの処理について、位置情報を匿名化して開示するケースを例に、図８を用いてより具体的に説明をする。図８（ａ）はユーザの位置情報の分布を表した図である。図中の○△×はユーザのサービスの利用確率を表している。利用確率との対応は図４（ａ）の符号に示すとおりである。
図８（ａ）はユーザの位置情報の分布を表した図である。図８中の○△×はユーザのサービスの利用確率を表している。利用確率との対応は図４（ａ）の符号に示すとおりである。図８（ａ）に示す状態は開示情報生成処理（Ｓ５０１）を終えた状態にある。
図８（ｂ）は、更に処理を進めて、限界誤差グループ解体処理（Ｓ６０９）を行う直前まで処理が進んだ状態を示している。２種類の破線はそれぞれ匿名化グループを示している。細かい破線１４０２ｂの匿名化グループは利用確率が△で表されるレイヤの匿名化グループであり、粗い破線１４０４ｂの匿名化グループは利用確率が○で表されるレイヤの匿名化グループである。利用確率が×で表現されるレイヤは情報を開示しないため、図８（ｂ）中から削除されている。なお、１４０１ｂは後の説明で利用する各グループの限界誤差を示している。
以降、図８（ｂ）に示す情報が誤差限界グループ解体処理に入力されたことを前提として、図７のフローチャートの処理についてより具体的に説明する。まず、Ｓ７０１では、匿名化分類部３０９は、利用確率△のレイヤを選択する。そしてＳ７０２では、匿名化分類部３０９は、誤差限界を超えるグループを特定する。しかし、この例では利用確率△のレイヤのグループは何れも誤差限界を下回るため、匿名化分類部３０９は、Ｓ７０３からＳ７１３までの処理をスキップする。そして、Ｓ７１４では、匿名化分類部３０９は、次の利用確率○のレイヤを処理対象にし、Ｓ７０１へ戻る。
【００２３】
次の利用確率○のレイヤにはグループ１４０４ｂ〜１４０７ｂの４つのグループがある。Ｓ７０２では、匿名化分類部３０９は、誤差限界を超えるグループ１４０４ｂだけを選択する。Ｓ７０３からＳ７１３まででは、匿名化分類部３０９は、このグループからユーザを他のグループに移動させることで、グループ１４０４ｂの誤差を小さくする。１４０４ｂにはユーザが１４０８ｂ〜１４１２ｂの５人が存在する。Ｓ７０４では、匿名化分類部３０９は、グループから除外すると最も誤差を小さくするユーザを選択する。この例では、匿名化分類部３０９は、１４０８ｂに示すユーザを選択する。Ｓ７０５では、匿名化分類部３０９は、ユーザ１４０８ｂを除外するとグループ１４０４ｂの誤差が小さくなると判定する。Ｓ７０６では、匿名化分類部３０９は、グループ１４０２ｂ〜１４０３ｂ、１４０５ｂ〜１４０７ｂのグループを吸収先グループの候補として特定する。Ｓ７０７では、匿名化分類部３０９は、ユーザ１４０７ｂを含めたときに、誤差が最も小さく、誤差限界も下回るグループを選択する。この例では、匿名化分類部３０９は、ユーザ１４０８ｂをグループ１４０３ｂに含めることができると判断する。したがって、Ｓ７０８では、匿名化分類部３０９は、吸収先グループが見つかったと判定し、Ｓ７０９に進む。Ｓ７０９では、匿名化分類部３０９は、ユーザ１４０８ｂをグループ１４０４ｂからグループ１４０３ｂに移動して、双方の誤差を修正する。その結果、図８（ｃ）に示すような匿名化グループの状態となる。グループ１４０４ｂは誤差が小さくなり、グループ１４０３ｂは誤差が大きくなるように修正されていることが分かる。
ユーザ１４０８ｂを移動してもグループ１４０４ｂの誤差は限界誤差５００ｍを超えるため、Ｓ７１０では、匿名化分類部３０９は、ＮＯと判断する。まだ処理していないユーザが４人存在するため、Ｓ７１１では、匿名化分類部３０９は、ＹＥＳと判断する。
【００２４】
Ｓ７０４〜Ｓ７０８では、匿名化分類部３０９は、再び同様の処理を繰り返す。つまり、匿名化分類部３０９は、除外すると誤差が小さくなるユーザとして、ユーザ１４０９ｂを特定する。そして、匿名化分類部３０９は、ユーザ１４０９ｂを移動しても誤差が限界誤差を超えないグループとしてグループ１４０３ｂを特定する。そして、Ｓ７０９では、匿名化分類部３０９は、グループ１４０４ｂからグループ１４０３ｂへユーザ１４０９ｂを移動し、双方のグループの誤差を更新する。その結果、図８（ｄ）に示すような匿名化グループの状態となる。グループ１４０４ｂは誤差が小さくなっている。一方で、グループ１４０３ｂは誤差に影響を与えなかったため、誤差は変わっていない。
Ｓ７１０では、グループ１４０４ｂの誤差は限界誤差５００ｍを下回ったため、匿名化分類部３０９は、ＹＥＳと判断する。Ｓ７１２では、グループ１４０４ｂは全てのユーザを処理できていないが、匿名化グループのサイズを満たすため、匿名化分類部３０９は、解体をキャンセルしない。
解体候補となっているグループは１４０４ｂ以外は存在しないため、匿名化分類部３０９は、Ｓ７１３を抜ける。更に、利用確率○よりも上位のレイヤは存在しないため、匿名化分類部３０９は、Ｓ７１４も同様に抜けて、図７に示すフローチャートの処理を終える。
上記処理において、解体グループのユーザを下位レイヤの吸収先グループに移すとき、吸収先グループの誤差は、上位レイヤの誤差限界を満たすようにしてもよい。より具体的に説明すると、Ｓ７０７では、匿名化分類部３０９は、解体グループに属しているユーザｍを、下位レイヤのグループに含めたときの誤差を求め、その誤差が「上位レイヤの誤差限界」を下回るグループを吸収先グループｎとして求めることを行う。これによって、上位レイヤから下位レイヤのグループに移されたユーザの開示情報の情報品質低下を防ぐことができる。
以上のように、図７のフローチャートの処理では、誤差限界を上回るグループがある場合、誤差に余裕のあるグループにユーザを移動する。これによって、誤差限界を満たすようにグループを調整することができる。
以上の開示情報生成処理（図５）において利用されているパラメータである匿名化グループサイズ（図４（ａ））は、グループを構成するユーザのサービスの利用確率を考慮して決定されていることが望ましい。
【００２５】
例えば、グループを構成するユーザの何れか１人がサービスを実行する確率を「グループの利用確率」と定義する。このグループの利用確率が所定の要求確率以上になるように設定するようにしてもよい。グループの何れか１人のユーザがサービスを利用する確率は図４（ｃ）に示す式により求めることができる。図４（ｂ）は要求確率を９５％としたときに、ユーザのサービスを利用する確率に対して、何人のユーザが匿名化グループに属していれば９５％以上を達成できるかを示した情報である。匿名化分類部３０９は、レイヤの利用確率の区間を決定後に、図４（ｂ）に示すような情報を基に、匿名化グループのサイズを決定することができる。例えば、匿名化分類部３０９は、利用確率の区間が０．４以上０．７未満に対しては、図４（ｂ）の０．４以上０．７未満を参照して、最も大きい匿名化グループのサイズを用いる。この例では６となるため、匿名化グループのサイズは６以上として設定される。匿名化分類部３０９が、このようにして設定することで、匿名化グループの何れか１人のユーザがサービスを利用する確率を、要求確率９５％以上に設定することができる。
これによって、匿名化された情報に合わせてサービスが準備を行うようになったとしても、要求確率のもとで少なくとも１人はサービスを享受する可能性があり、サービス提供側にとって有効な情報を生成する匿名化ができる。
又は、匿名化分類部３０９は、グループの利用確率を、グループを構成するユーザの利用確率の和で近似してもよい。これによって、簡便な計算によってグループの利用確率を求めることができるようになる。
匿名化分類部３０９は、上記の要求確率をサービスから取得するようにしてもよい。また、匿名化分類部３０９は、グループの利用確率は、グループのうち１人が利用する確率ではなく、グループのうち少なくともＮ人が利用する確率等としてもよい。
本実施形態では、匿名化分類部３０９は、パラメータとして匿名化グループのサイズを決定してから処理を行っている。しかしながら、匿名化分類部３０９は、匿名化グループのサイズを決定せずに、要求確率のみを決定しておき処理するようにしてもよい。より具体的には、匿名化分類部３０９は、図６のＳ６０４における判定時に、分割後のグループの構成ユーザを用いて、図４（ｃ）に示す数式を用いて、少なくとも１人のユーザがサービスを利用する確率（グループの利用確率）を算出する。匿名化分類部３０９は、各々の分割後グループで、グループの利用確率が要求確率を上回るとき、分割可能と判断する。一方で、匿名化分類部３０９は、要求確率を下回るとき、分割不可能と判断する。
また、限界誤差グループ解体処理（図７）においても、Ｓ７１２で、匿名化分類部３０９は、匿名化グループサイズの条件を満たすまで解体をキャンセルするところを、要求確率を満たすまで解体をキャンセルするようにする。
これによって、予め匿名化グループのサイズを決定している場合に比べて、より精度高く要求確率を匿名化グループが充足しているか否かを判定できるようになる。一方で、予め匿名化グループのサイズを決定している場合は、Ｓ６０４での処理が簡便になるため、より高速に処理ができるようになるという効果が得られる。
【００２６】
次に、タクシーサービスに対して位置情報を開示する例について図９〜図１１を用いて説明する。
図９（ａ）はある時刻Ｔにおけるユーザの位置情報の分布を表した図である。図中の○△×はユーザのタクシーサービスの利用確率を表している。利用確率との対応は図４（ａ）の符号に示すとおりである。図９（ａ）に示す状態は開示情報生成処理（図５）のＳ５０１を終えた状態にある。
図９（ｂ）は、更にＳ５０２〜Ｓ５０４を終えて、匿名化グループを作成した状態を示している。２種類の破線はそれぞれ匿名化グループを示している。細かい破線８０１ｂの匿名化グループは利用確率が△で表されるレイヤの匿名化グループであり、粗い破線８０２ｂの匿名化グループは利用確率が○で表されるレイヤの匿名化グループである。利用確率が×で表現されるレイヤは情報を開示しないため、図中から削除している。
図９（ｃ）は、更にＳ５０５を終えて匿名化情報を生成した状態であり、タクシーサービスに提供される情報のイメージを示したものである。匿名化グループごとに重心と半径とが算出され、開示するコンテキスト情報として生成される。タクシーサービスには、匿名化グループごとに、重心・半径・グループの確率・構成するユーザＩＤ・ユーザのサービス利用確率等が開示されることになる。グループの確率は、構成するユーザのサービスの利用確率を用いて、何れか１人のユーザがサービスを実行する確率を求めたものである。ユーザＩＤはタクシーサービスに閉じたＩＤである。そのため、タクシーサービス以外が保有するデータと組み合わせて利用はできない。
こうした情報をタクシーサービスが受け取ると、図９（ｃ）の破線で表されるエリア内をタクシーが巡回するように巡回ルートを決定できるようになる。加えて、タクシーサービス側にユーザＩＤを開示することで、ユーザＩＤに紐付けた属性情報等をタクシーサービス側が有しているとき、それを基にタクシーの準備等ができる。例えば、タクシー内にサイネージを有するとき、サイネージに流す広告をユーザに合わせたものを予めダウンロードして準備しておくこと等ができるようになる。
但し、サービスに開示する情報の項目や形態は、これらに限定されるものではない。
【００２７】
図１０（ａ）は図９（ａ）より少し進んだ時刻である時刻Ｔ＋１におけるユーザの位置情報の分布と、ユーザの利用確率と、を表した図である。図１０中の黒塗りにされた符号（●と★）は時刻Ｔから利用確率が変化部分である。何れも時刻Ｔよりも利用確率が高まった状態になっている。また、時刻Ｔにおいて、破線で表わされるエリアを巡回するように決定していたため、破線のエリアの数だけタクシーが出現している。
図１０（ｂ）は時刻Ｔ＋１の状態での匿名化グループの状態を示している。利用確率の高まったユーザ９０１ｂと９０２ｂとは匿名化グループを時刻Ｔと比べて変えている。そのため、開示する情報の精度が高くなる。一方で、ユーザ９０３ｂは匿名化グループを変えていない。これは、同一のレイヤにあるユーザと匿名化グループを形成すると、誤差が大きくなりすぎる。そのため、限界誤差グループの解体処理によって、下位レイヤの匿名化グループにユーザを割り当てるように処理されたためである。
図１０（ｃ）は時刻Ｔ＋１でタクシーサービスに提供される情報のイメージを示したものである。タクシーサービスからは、配車依頼をしたユーザ９０１ｂの位置情報を分かるようになり、近くで準備をしていたタクシー９０１ｃが迎えに行くことで、ユーザの待ち時間を少なくすることができる。
【００２８】
図１１（ａ）は、図１０（ａ）と同様の情報を時刻を時刻Ｔ＋２に進めた状態で示したものである。タクシー９０１ｃとユーザ９０１ｂとはユーザの目的地へと向かったため、図１１中からは消えている。加えて、黒塗りにされた符号（★）が時刻Ｔ＋１から利用確率が変化した部分である。
図１１（ｂ）は、匿名化グループの状態を示しており、ユーザ１００１ｂは１人で匿名化グループを形成するようになる。
図１１（ｃ）は、タクシーサービスに提供される情報のイメージであり、近くに配車されていたタクシー１００１ｃをユーザ１００１ｂに向かわせる。加えて、エリア１００２ｃを補うタクシーがいなくなるため、別のタクシーをエリア１００２ｃに向かわせることを行う。
このように、タクシーの利用確率が高まるにつれて、情報の精度が高まっていく。より具体的には、位置情報の精度が高まっていく。これによって、利用確率の高い状態においては、より個人化された準備がされるようになる。より具体的には、ユーザに近いところをタクシーが巡回するようになる。その結果、タクシーの配車を依頼したときに、待ち時間が少なくなるという効果が得られる。
【００２９】
次に、コンテキスト情報が複数であり、属性情報等を含む場合の例について述べる。この例では、シューズショップサービスに対して、来店する可能性のある客（ＰＣＡクライアントのユーザ）が望む靴の情報を共有する例について図１２〜図１４を用いて説明する。
シューズショップは客に靴を販売する店舗である。客は店舗を訪れたときに、自身の望む靴を見たり試着したりすることを望む。そのため、希望の靴の在庫が訪れた店にないとき、店員が近隣の他店舗に取りに行くため、その間待たされるということが起こる。こうした問題を解決するために、シューズショップサービスでは、店頭に来店する客の情報に合わせて、靴を用意しておくことを行う。これによって、客が店舗を訪れたときに、希望の靴がないために、待たされることを防ぐ。
ＰＣＡサーバで匿名化する前のコンテキスト情報について、図１３（ａ）を用いて説明する。これは主にユーザがほしいと思っている靴の情報である。これら情報は、ユーザの普段の行動から推定されるものであってもよい。例えば、オンラインショッピング等では、ほしいものリストを作成しておくことが行われている。コンテキスト取得部３０６は、ほしいものリストからコンテキスト情報を作成してもよい。又は、コンテキスト取得部３０６は、ユーザがいくつかのシューズショップを巡る中でコンテキスト情報を獲得してもよい。但し、コンテキスト情報の獲得方法はこれらに限定されるものではない。
【００３０】
図１３（ａ）中の列の各項目について説明する。
ユーザＩＤは、ユーザを一意に特定するための情報であり、既にユーザに関する情報をサービスが有しているときは、その情報と紐付けて処理するためのものである。例えば、ユーザが既にショップの会員等であれば、ショップには年齢・性別・以前に購入した品等の情報が蓄積されているため、これらと紐付けて処理することで、より様々な準備ができる。例えば、以前に購入した商品と同じにならないように用意をしておくこと等ができる。
利用確率は、ユーザが来店する確率であり、ここでは符号で表現されている。この符号と利用確率の対応は図１２に示すとおりである。
カテゴリとサブカテゴリとは、靴の種類に関する情報である。カテゴリが上位の分類であり、その下位分類がサブカテゴリである。
色分類と色とは、靴の色に関する情報である。色分類が上位の分類であり、その下位分類が色である。
サイズは、靴のサイズに関する情報である。
図１３（ａ）はある時刻Ｔにおけるコンテキスト情報を表している。これに対して、開示情報生成部３０５は、開示情報生成処理を行うことで「カテゴリ、サブカテゴリ、色分類、色、サイズ」を匿名化して、図１３（ｂ）の情報を生成する。このとき開示情報生成処理では、図１２に示すパラメータを用いる。このパラメータは図４（ａ）に示すものとほぼ同じである。但し、限界誤差が匿名化したいコンテキスト情報に合わせて変えられている。より具体的には、ここでは限界誤差を匿名化した項目（列）の個数としている。つまり、利用確率の符号△で表現されるデータに対しては、匿名化される項目数は４以下が望ましいことを示している。
【００３１】
以下、図５に示す開示情報生成処理について、ステップごとに説明する。
Ｓ５０１では、利用確率算出部３０７は、利用確率を推定する。例えば、利用確率算出部３０７は、ユーザと店舗との距離と利用確率の対応を予め作成しておき、遠くの距離に対して小さな確率を割り当て、近くの距離に対して大きな確率を割り当てるように設定するようにしてもよい。例えば、利用確率算出部３０７は、店舗を中心とした正規分布等を設定することで、これは実現ができる。又は、利用確率算出部３０７は、ＰＣＡサーバに集積されるコンテキスト情報を用いて、ＰＣＡサーバが地点間の巡回モデルを作成しておくようにしてもよい。例えば、利用確率算出部３０７は、ユーザから集められる位置情報を基に、地点間の移動確率を巡回モデルとして作成しておく。そして、利用確率算出部３０７は、ユーザが現在いる地点からシューズショップまでの移動確率を巡回モデルに基づき求める。但し、利用確率の推定方法はこれらに限定されるものではない。
Ｓ５０２では、利用確率分類部３０８は、ユーザを利用確率ごとにレイヤに分ける。この例では利用確率△と○の２つに分けられることになる。
Ｓ５０３では、利用確率分類部３０８は、匿名化対象のレイヤを特定する。図１２によると利用確率の符号△と○で表されるレイヤが対象であるため、図１３（ａ）では全てのレイヤが匿名化対象となる。
【００３２】
Ｓ５０４では、匿名化分類部３０９は、匿名化グループ作成処理を行う。まず開示情報生成部３０５は、利用確率の符号△のデータだけに着目して、匿名化グループサイズの条件を満たす最小のサイズにまでユーザを分割することを繰り返す。この例では、Ｕｓｅｒ０１〜Ｕｓｅｒ０８とＵｓｅｒ０１２〜Ｕｓｅｒ１８との２つのグループが作成される。次に、開示情報生成部３０５は、利用確率の符号○のデータに着目して、処理を行う。するとＵｓｅｒ０９〜Ｕｓｅｒ１１とＵｓｅｒ１９〜Ｕｓｅｒ２１との２つのグループが作成される。
Ｓ５０５では、匿名化情報生成部３１０は、匿名化グループごとに開示情報を生成する。匿名化情報生成部３１０は、上記４つのグループごとに、各項目を処理する。より具体的には、匿名化情報生成部３１０は、「カテゴリ、サブカテゴリ、色分類、色」に対しては、グループ内のすべてのデータが同じ値であるときは、その値を残し、異なる場合は「＊」に置換する。これによって、元の値が何か分からないように匿名化をする。匿名化情報生成部３１０は、サイズに対しては、グループ内のデータの範囲に変換する。これによって、各データのサイズを分からないようにする。
以上によって図１３（ｂ）に示す開示用のコンテキスト情報が生成される。この情報がシューズショップサービスに開示される。これによって、シューズショップサービスは、ショップ内の在庫と照らし合わせて、このリストにある靴が在庫にないときは、近隣の店舗から取り寄せることを行う。
【００３３】
図１４（ａ）は図１３に示す状態から時間が進んだ時刻Ｔ＋１における開示用のコンテキスト情報を示している。時刻Ｔ＋１においてはＵｓｅｒ１２の利用確率が上昇したため、利用確率の符号が△から○へと変化している。ここでは分かりやすいように符号を黒で塗りつぶしている。
利用確率の上昇の結果、Ｓ５０４で作成される匿名化グループが変化する。より具体的には、利用確率の符号△のデータでは、匿名化グループが、Ｕｓｅｒ１２が抜けたことで、Ｕｓｅｒ０１〜Ｕｓｅｒ０８とＵｓｅｒ０１３〜Ｕｓｅｒ１８とに変わる。更に、利用確率の符号○のデータでは、匿名化グループが、Ｕｓｅｒ１２が増えたことで、Ｕｓｅｒ０９〜Ｕｓｅｒ１２とＵｓｅｒ１９〜Ｕｓｅｒ２１とに変化する。
そして、匿名化グループごとに開示情報が生成される。例えば、Ｕｓｅｒ１２を含むＵｓｅｒ０９〜Ｕｓｅｒ１２のグループは、色が＊に置きかえられ、サイズがグループのデータの区間へと置きかえられる。
これによって、Ｕｓｅｒ１２の開示されるコンテキスト情報は、時刻Ｔでは加工されて分からなかったサブカテゴリと色分類が分かるようになる。
図１４（ｂ）は更に時刻がＴ＋２へと進んだ状態を示している。時刻Ｔ＋２では、Ｕｓｅｒ１２の利用確率が更に上昇したため、利用確率の符号が○から☆へと変化している。ここでは分かりやすいように符号を黒で塗りつぶしている。
利用確率の上昇の結果、Ｓ５０４で作成される匿名化グループが変化する。より具体的には、利用確率の符号△のデータの匿名化グループは変化しない。しかし、利用確率の符号○のデータでは、匿名化グループが、Ｕｓｅｒ１２が減ったことで、Ｕｓｅｒ０９〜Ｕｓｅｒ１１とＵｓｅｒ１９〜Ｕｓｅｒ２１とに変化する。そして、利用確率の☆のデータは、匿名化グループのサイズは１であることが条件なため、Ｕｓｅｒ１だけの匿名化グループが形成される。
そして、匿名化グループごとに開示情報が生成される。しかし、Ｕｓｅｒ１２を含む匿名化グループは、Ｕｓｅｒ１２しかデータがないため、そのままの値が開示されることになる。
これによって、Ｕｓｅｒ１２の開示されるコンテキスト情報は、時刻Ｔ＋１では加工されて分からなかった色とサイズが分かるようになる。
このように、Ｕｓｅｒ１２のように、利用確率が上昇するにつれて、そのユーザの情報の精度が高まる。より具体的には、「カテゴリ、サブカテゴリ、色分類、色」はその値が分かるようになる。「サイズ」はその区間が狭まっていく。これによって、利用確率の高い状態においては、より個人化された準備がされるようになる。より具体的には、ユーザが開示した情報に適合する靴が予め店舗に用意されるようになる。その結果、店舗を訪れたときに、望む靴が在庫にないという事態が避けられ、待ち時間少なく商品を見たり試着したりすることができるようになる。
【００３４】
タクシーサービスやシューズショップサービスの例においては、コンテキスト情報は変化せずに、利用確率のみが変化する場合について述べた。しかし、コンテキスト情報も時々刻々と変化する。つまり、タクシーサービスであれば、ユーザが移動することで位置情報は変化していく。また、シューズショップサービスでは、望みの靴の情報も複数のお店を見る過程で変化していく。
また、この例では、利用確率が上昇する例について述べたが、利用確率が低下する場合もある。利用確率が低下すると、情報の精度は低くなる。タクシーサービスの例では、開示情報の重心座標がユーザの位置情報と異なりが大きくなることがある。シューズショップサービスの例では、「カテゴリ、サブカテゴリ、色分類、色」はその値が分からなくなり、「サイズ」はその区間が広がるといったことが起きる。これによって、利用確率が低下したユーザの情報が匿名化されるようになる。
一度開示された情報が匿名化で隠されたとしても、開示したときの情報をサービス側が記憶している場合もあり得る。しかし、コンテキスト情報は時々刻々と変化するため、開示以降の変化に対しては追従をすることができなくなる。
以上によって、ユーザがサービスを利用する確率に合わせて情報の精度を変えることで、匿名化とサービス準備との両立を図ることができる。
特に、開示情報生成部３０５は、匿名化グループを構成して、同グループのユーザのコンテキスト情報を同じものにする匿名化を行う。これによって、グループ内のユーザは他のユーザとの区別がつかなくなる。これによって、プライバシを保護できるようになる。
【００３５】
本実施形態では、ユーザＩＤを含めてサービス側にコンテキスト情報を開示している。しかし、このユーザＩＤはサービスに閉じたユーザＩＤである。そのため、他サービスが保有するデータと紐付けるには、共通に開示されたコンテキスト情報との一致をとって、データを結合する必要がある。しかし、コンテキスト情報は匿名化されているため、一定数以上には絞り込むことができない。
また、本実施形態では、利用確率でユーザをレイヤに分けることで、利用確率が同程度のユーザ同士で匿名化を行う。これによって、利用確率が高いユーザが、利用確率の低いユーザの匿名化の要求レベルに合わせて情報の精度が落とされてしまうことを防ぐことができる。
加えて、本実施形態では、匿名化グループのサイズを、グループの利用確率に基づいて決定する。これによって、匿名化後の情報がサービス側にとっても有益になるようにすることができる。加えて、本実施形態では、グループの利用確率を、グループを構成するユーザのうち少なくとも１人がサービスを利用する確率とする。このとき、提供された情報に対する準備が、何れかのユーザ１人に要求確率のもとで使われるため、無駄になる可能性を確率的に制御できるようになる。
加えて、本実施形態では、利用確率のレイヤごとに限界誤差を定めておき、限界誤差を超えるグループを解体して、別のグループへとユーザを割り当てる。これによって、利用確率ごとに誤差が限界誤差より大きくなることを抑制できる。特に、本実施形態では、別のグループへの割り当ての際に、ユーザの属するレイヤよりも下位のレイヤのグループへの割り当ても含めている。これによって、誤差が限界誤差よりも大きくなることをより抑制できる。
【００３６】
本実施形態では、利用確率に基づいて開示情報を生成していた。しかし、利用確率に限定されるものではなく、ユーザのサービスの要求度であればよい。より具体的には、確率のような０〜１の連続値ではなく、０〜１という制限のない連続値であったり、「高」「中」「低」などのカテゴリカル値であったりしてもよい。本実施形態における要求度はこれらに限定されるものではない。
また、本実施形態ではシステムが推定することによって求められていたが、ユーザが入力したものを利用してもよい。より具体的には、ＰＣＡサーバ１０２は、ＰＣＡクライアント１０１のモニタ等に要求度を入力するＵＩを表示させ、ユーザ入力を受け取るようにしてもよい。例えば、ＰＣＡサーバ１０２は、要求度を５段階等でＰＣＡクライアント１０１のモニタ等に提示して、スライダー等のＵＩによりユーザに入力させたものを用いてもよい。段階については、ＰＣＡサーバ１０２は、図４（ａ）に示す開示情報を生成する際のパラメータを用いて、レイヤ数に一致するように生成してもよい。又は、ＰＣＡサーバ１０２は、要求度を色味等で表示して、要求度を高めたり低めたりするためのボタンを通して入力させるようにしてもよい。又は、例えば、ＰＣＡサーバ１０２は、ＰＣＡクライアント１０１のモニタ等を介して利用確率を受け付けるようにしてもよいし、要求度を表現する連続値やカテゴリカル値を受け付けるようにしてもよい。推定は誤ることもあるため、ユーザがサービスを強く希望しているときは、ＰＣＡサーバ１０２は、ＰＣＡクライアント１０１のモニタ等を介したユーザ操作に基づき、要求度を高く入力する。又は、自身の情報が開示されることを嫌うときは、ＰＣＡサーバ１０２は、ＰＣＡクライアント１０１のモニタ等を介したユーザ操作に基づき、能動的に要求度を低く入力する。これによって、ユーザ意図を反映した情報開示を行うことができる。
【００３７】
＜実施形態２＞
実施形態１では利用確率が高いとき、サービスへと情報を開示していた。しかしながら、利用確率を高く推定されたユーザであっても、一定以上の情報開示を望まないこともある。そこで、ユーザが指定した開示条件を満たすように開示情報を生成する。本実施形態では、ユーザが入力した開示条件の一つである「匿名化要求」を満たすように開示情報を生成する方法を示す。そこで、本実施形態では、ユーザが入力した匿名化要求を満たすように開示情報を生成する方法を示す。
【００３８】
本実施形態における、開示する情報を生成するシステムの機能構成について説明する。
本実施形態では、実施形態１の構成に加えて、匿名化要求入力部が存在する。加えて、匿名化分類部３０９と匿名化情報生成部３１０とが異なる。以下、順に説明を行う。
本実施形態の匿名化要求入力部は、ユーザの情報を開示する際に満たすべき匿名化の条件を入力する。例えば、匿名化要求入力部は、ユーザの情報を開示する際には匿名化グループサイズは３人以上必要であるという条件を入力する。又は、匿名化要求入力部は、ある地域や時間帯では、匿名化グループサイズは３人以上必要であるという条件でもよい。これによって、家等にいる場合は、家の所在を明らかにしないように匿名化グループを大きくできる。例えば、匿名化要求入力部は、ＰＣＡサーバ１０２のモニタ、入力デバイス等を介して入力された匿名化要求の条件を受け取ってもよい。また、匿名化要求入力部は、ＰＣＡクライアント１０１のモニタ、入力デバイス等を介して入力された匿名化要求の条件を、ネットワークを介して受け取ってもよい。
又は、匿名化要求入力部は、開示情報のあいまいさの条件を入力してもよい。つまり、位置情報をもとに開示情報として中心座標と半径とを開示するときは、匿名化要求入力部は、その半径サイズの最低値の条件を入力してもよい。又は、属性情報を開示するときは、匿名化要求入力部は、匿名化された項目の個数の最低値を条件として入力してもよい。又は、匿名化要求入力部は、必ず匿名化されるべき項目等を入力してもよい。また、匿名化要求入力部は、地域や時間帯等の条件を含めて、開示情報のあいまいさの条件を入力するようにしてもよい。例えば、匿名化要求入力部は、ある地域においては、位置情報を開示する際は、最低の半径サイズは１００ｍ以上にする等である。又は、匿名化要求入力部は、ある地域においては、位置情報は開示しない等としてもよい。
なお、匿名化要求はこれらに限定されるものではない。
【００３９】
本実施形態の匿名化分類部３０９は、匿名化要求を満たすように、利用確率分類部３０８で得たレイヤごとに、匿名化対象のコンテキスト情報の類似性に基づいてユーザをグループに分類する。匿名化グループサイズに関する条件が指定されている場合、匿名化分類部３０９は、条件を満たすように匿名化グループを作成する。より具体的には、実施形態１の図５の、Ｓ５０１とＳ５０２との間において、匿名化分類部３０９は、匿名化要求を満たすように利用確率を修正する。例えば、匿名化要求が「匿名化グループサイズは３人以上」という条件であり、Ｓ５０１において利用確率１と推定されたユーザが存在した場合、匿名化分類部３０９は、以下のように修正を行う。即ち、匿名化分類部３０９は、図４（ａ）のパラメータを基に、利用確率を０．７以上１未満の値として０．８等と修正する。また、匿名化要求が地域や時間帯等を有していれば、匿名化分類部３０９は、それら条件を満たすときのみ利用確率を修正する。
本実施形態の匿名化情報生成部３１０は、匿名化分類部３０９で得たグループごとに、匿名化要求を満たすように開示するコンテキスト情報を生成する。開示情報のあいまいさの条件が指定されている場合に、匿名化情報生成部３１０は、条件を満たすように開示情報を加工する。より具体的には、実施形態１の図５のＳ５０５の直後において、開示情報がユーザの匿名化要求を満たさないとき、匿名化情報生成部３１０は、更なるあいまい化を行う。例えば、匿名化要求が「位置情報の半径は５００ｍ以上」という条件であれば、Ｓ５０５にてユーザごとに求められた開示情報の半径が１００ｍのとき、匿名化情報生成部３１０は、条件を有するユーザの開示情報の半径を５００ｍ等と修正して開示情報とする。
以上によって、ユーザごとに匿名化要求を指定でできるため、一定以上の情報開示を行わないようにできる。
【００４０】
＜実施形態３＞
実施形態１では、図４（ａ）に示すようなパラメータ（開示パラメータ）を予め保持して、開示情報生成部３０５は、これに従う開示情報を生成していた。そのため、システムの推定する利用確率に基づいて、ユーザ一律に開示情報が生成されていた。しかしながら、ユーザによっては、積極的に情報を開示し、サービスの恩恵を受けることを願うユーザも存在する。そのようなユーザはサービス側の準備に対する要求（準備要求）が高いといえる。また、サービス側からしても、準備要求にこたえるために必要な情報品質等がある。サービス側の準備の段階等もサービスによって異なると考えられる。そこで、本実施形態では開示条件の一つである「準備要求」を満たすように開示情報を生成する方法を示す。特に、サービス側の求める準備要求と、ユーザ側の求める準備要求と、の双方を用いて開示情報を生成する方法について述べる。
【００４１】
本実施形態における、開示する情報を生成するシステムの機能構成について説明する。  本実施形態では、実施形態１の構成に加えて、ユーザ準備要求入力部と、サービス準備要求入力部と、開示設定生成部と、が存在する。加えて、匿名化分類部３０９が異なる。以下、順に説明を行う。
サービス準備要求入力部は、匿名化レベルと情報品質とを入力する。より具体的には、匿名化レベルは、開示可否と匿名化グループサイズとの組合せである。例えば、サービス準備要求入力部は、図４（ａ）に示すような開示可否と匿名化グループサイズとの組合せを入力する。この例では４つのレベルを入力していることになる。この説明では図４（ａ）に示す情報を入力する形で説明しているが、匿名化レベルを増やす等してもよい。更に、サービス準備要求入力部は、この匿名化レベルに対応づけて情報品質を入力するようにしてもよい。例えば、情報品質は限界誤差である。又は、情報品質としてグループの利用確率等を用いてもよい。例えば、サービス準備要求入力部は、ＰＣＡサーバ１０２のモニタ、入力デバイス等を介して入力された情報品質を受け取ってもよい。また、サービス準備要求入力部は、ＰＣＡクライアント１０１のモニタ、入力デバイス等を介して入力された情報品質を、ネットワークを介して受け取ってもよい。以下の、サービス準備要求入力部においても同様である。
加えて、サービス準備要求入力部は、初期値となる利用確率の区間を匿名化レベルに対応づけて入力しておいてもよい。更に、サービス準備要求入力部は、各匿名化レベルに対して、サービス側の準備の内容をコメントとして記すようにしてもよい。より具体的には、サービス準備要求入力部は、タクシーサービス等であれば、ユーザの半径１０００ｍ以内にタクシーが配車されるようにするという準備に関する情報を記す。この情報は、後述のユーザ準備要求入力部において用いられる。
【００４２】
ユーザ準備要求入力部は、どこまで情報を開示したいかに関する要求を入力する。より具体的には、ユーザ準備要求入力部は、利用確率に対応する匿名化人数を入力する。例えば、ユーザ準備要求入力部は、「利用確率が０．７以上０．８未満では匿名化グループサイズは３人以上としたい」「利用確率が０．８以上１以下では匿名化グループサイズは１人としたい」というような要求を入力する。又は、ユーザ準備要求入力部は、利用確率に対する誤差限界を入力する。例えば、開示情報が位置情報であれば、ユーザ準備要求入力部は、「利用確率が０．７以上０．８未満では誤差限界は２００ｍとしたい」というような要求を入力する。
システム側は、匿名化レベルを提示して、それに対応させて上記情報を入力させてもよい。より具体的には、ユーザはそれぞれに対して利用確率の区間を設定することや、誤差限界を設定する。このとき、利用確率の区間を対応づけない匿名化レベルがあってもよい。例えば、情報開示に対して寛容なユーザであれば、匿名化が強すぎると感じるレベルに対しては、利用確率の区間を対応づけないこと等ができる。
また、システム側から匿名化レベルを提示するときには、サービス準備要求入力部にて入力されたサービス側の準備内容のコメントを共に表示するようにしてもよい。これによって、プライバシ保護とサービス享受との双方を考慮しながら、ユーザは利用確率の区間を対応づけていくことができる。
【００４３】
開示パラメータ生成部は、サービス準備要求入力部とユーザ準備要求入力部とで入力された情報を基に、図４（ａ）に示すような開示情報を生成するための開示パラメータを生成する。実施形態１、２では、開示パラメータはユーザによらず同じであったが、本実施形態ではユーザごとに開示パラメータを生成する。より具体的には、開示パラメータ生成部は、サービス準備要求入力部で入力された匿名化レベルに対して、ユーザ準備要求入力部で得た利用確率の区間を対応付ける。加えて、開示パラメータ生成部は、サービス準備要求入力部で入力された限界誤差を、ユーザ準備要求入力部で入力された限界誤差で上書きする。
また、匿名化レベルが細かすぎる場合、利用確率を対応づけていないユーザが多くなり、各匿名化レベルでの匿名化処理が難しくなることが考えられる。そこで、開示パラメータ生成部は、対応人数等を基にサービス提供側へ出力して、匿名化レベルの対応を丸めて作り直すことを提案してもよい。
本実施形態の匿名化分類部３０９は、ユーザごとの開示パラメータに従って匿名化グループを作成する。より具体的にはＳ５０２にて、匿名化分類部３０９は、ユーザごとの開示パラメータの利用確率の区間に従ってユーザをレイヤに分けることを行う。レイヤが同じユーザは匿名化グループサイズが同じであるため、以降の処理は限界誤差グループ解体処理（Ｓ６０９及びフローチャート図７）まで同じである。限界誤差グループ解体処理では、ユーザごとに限界誤差が異なるため処理が少し異なる。より具体的にはＳ７０４にて、匿名化分類部３０９は、現在の誤差と限界誤差の差が大きいユーザを優先的に選択する。そして、Ｓ７０７とＳ７１０とでは、匿名化分類部３０９は、ユーザ全ての限界誤差を満たすことを条件として処理を行う。
以上によって、サービス及びユーザが求める準備要求を基に開示情報を生成する。特に、サービス準備要求を設定することで、サービスごとに異なるサービス準備段階と必要な情報品質を反映した開示パラメータを生成できる。加えて、ユーザ準備要求を設定することで、ユーザごとの開示に対する許容性やサービス享受に対する積極性を反映した開示パラメータを生成できる。
本実施形態では、開示パラメータは状況によらずユーザに固定であった。しかしながら、状況に合わせて開示パラメータを変えるように構成してもよい。より具体的には、サービス準備要求入力部とユーザ準備要求入力部とでは、場所や時間帯等の条件を共に入力してもよい。そして、匿名化分類部３０９では条件に合わせて開示パラメータを切り替えて利用する。
つまり、サービス準備要求入力部では、開示レベルや情報品質は、場所や時間帯等の状況に応じて複数設定する。例えば、タクシーサービス等では、タクシーの少ないエリアでは匿名化レベルを細かく設定しても、対応できないために、匿名化レベルをエリアに合わせて変える。
また、ユーザ準備要求入力部では、時間帯や場所等の状況を条件として、準備要求を指定する。例えば「休日においては」等という条件を基に、より情報を開示するような設定する。これによって、休日のみ特別にサービスを積極的に受けられるような情報開示がなされることになる。反対に、ビジネスに関するサービスに対しては「平日の８：００〜１７：００」等を条件とすれば、ビジネス中には特別にサービスを積極的に受けられるような情報開示がなされる。
【００４４】
本実施形態では、実施形態２に示す匿名化要求を満たす開示情報の生成の方法は含めていなかったが、それを含めるように構成してもよい。より具体的には、開示パラメータ生成部は、匿名化要求入力部の匿名化グループサイズの条件も用いて、開示パラメータを生成するようにしてもよい。又は、匿名化要求入力部から匿名化グループサイズを入力しているが、ユーザ準備要求入力部から入力してもよい。また、匿名化要求入力部で、開示情報のあいまいさの条件を入力する。そして、実施形態２で示すように、匿名化情報生成部３１０にて、条件を満たす情報生成を行えばよい。
【００４５】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００４６】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
【００４７】
以上、上述した各実施形態の処理によれば、プライバシ保護とタイミングギャップ解消とを両立させることができる。つまり、ユーザがサービスを利用する確率が低いときは、情報の精度が低くなるため、プライバシが保護される。一方で、ユーザがサービスを利用する確率が高まるにつれて、情報の精度が高まるため、徐々にタイミングギャップを小さくしていくことができる。そのため、サービスを利用する直前にはタイミングギャップを解消した状態を作り出すことができる。
【符号の説明】
【００４８】
１０２  ＰＣＡサーバ
２０１  ＣＰＵ
２０４  外部記憶装置
２１０  モニタ
【図１】
2017174403.tif 000003
【図２】
2017174403.tif 000004
【図３】
2017174403.tif 000005
【図４】
2017174403.tif 000006
【図５】
2017174403.tif 000007
【図６】
2017174403.tif 000008
【図７】
2017174403.tif 000009
【図８】
2017174403.tif 000010
【図９】
2017174403.tif 000011
【図１０】
2017174403.tif 000012
【図１１】
2017174403.tif 000013
【図１２】
2017174403.tif 000014
【図１３】
2017174403.tif 000015
【図１４】
2017174403.tif 000016