(57)【要約】【課題】匿名化処理による情報の損失を抑制する。【解決手段】情報匿名化方法は、現在のタイミングにおいて複数のＴＶ１００から収集された複数のユーザの行動に関する情報の各々を、ユーザに対応付けられた仮ＩＤ４０１に対応付ける対応付けステップ（Ｓ１０１）と、現在及び過去のタイミングにおいて対応付けられたユーザの行動に関する情報の内容が同一である複数の仮ＩＤ４０１をグループごとにまとめるグループ化ステップ（Ｓ１０２）と、複数のグループの各々が匿名性を満たしているかを判定する匿名性判定ステップ（Ｓ１０３）と、複数のグループのいずれかが匿名性を満たしていないと判定された場合（Ｓ１０３でＮＧ）、複数のユーザに対応付けられている複数の仮ＩＤ４０１のうちの一部の仮ＩＤ４０１のみを変更するＩＤ変更ステップ（Ｓ１０４）とを含む。【選択図】図９
2020091916.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実行される、任意のタイミングで複数の機器から収集された複数のユーザの行動に関する情報を匿名化する情報匿名化方法であって、
現在のタイミングにおいて前記複数の機器から収集された複数のユーザの行動に関する情報の各々を、ユーザに対応付けられたＩＤに対応付ける対応付けステップと、
現在及び過去のタイミングにおいて対応付けられたユーザの行動に関する情報の内容が同一である複数のＩＤをグループごとにまとめるグループ化ステップと、
前記複数のグループの各々が匿名性を満たしているかを判定する匿名性判定ステップと、
前記複数のグループのいずれかが匿名性を満たしていないと判定された場合、前記複数のユーザに対応付けられている複数のＩＤのうちの一部のＩＤのみを変更し、当該ＩＤが変更されたユーザの現在のタイミングにおいて収集されたユーザの行動に関する情報の対応付け先を変更前のＩＤから変更後のＩＤに変更するＩＤ変更ステップと、
前記複数のユーザの行動に関する情報の要求に応じて、匿名化された情報を送信する送信ステップとを含み、
前記ＩＤ変更ステップでは、前記一部のＩＤとして、匿名性を満たしていないと判定されたグループに含まれるＩＤを変更する
情報匿名化方法。
【請求項２】
コンピュータにより実行される、任意のタイミングで複数の機器から収集された複数のユーザの行動に関する情報を匿名化する情報匿名化方法であって、
現在のタイミングにおいて前記複数の機器から収集された複数のユーザの行動に関する情報の各々を、ユーザに対応付けられたＩＤに対応付ける対応付けステップと、
現在及び過去のタイミングにおいて対応付けられたユーザの行動に関する情報の内容が同一である複数のＩＤをグループごとにまとめるグループ化ステップと、
前記複数のグループの各々が匿名性を満たしているかを判定する匿名性判定ステップと、
前記複数のグループのいずれかが匿名性を満たしていないと判定された場合、前記複数のユーザに対応付けられている複数のＩＤのうちの一部のＩＤのみを変更し、当該ＩＤが変更されたユーザの現在のタイミングにおいて収集されたユーザの行動に関する情報の対応付け先を変更前のＩＤから変更後のＩＤに変更するＩＤ変更ステップと、
前記複数のユーザの行動に関する情報の要求に応じて、匿名化された情報を送信する送信ステップとを含み、
前記ＩＤ変更ステップは、
匿名性を満たしていないと判定された第１グループと異なる第２グループに含まれるＩＤであって、当該ＩＤを変更することで前記第１グループが匿名性を満たすＩＤを選択する選択ステップを含み、
前記ＩＤ変更ステップでは、前記一部のＩＤとして、選択された前記ＩＤを変更する
情報匿名化方法。
【請求項３】
前記選択ステップでは、前記第２グループの匿名性が維持できるように、前記第２グループに含まれるＩＤを選択する
請求項２記載の情報匿名化方法。
【請求項４】
前記選択ステップでは、
前記第１グループの前記現在のタイミングのユーザの行動に関する情報が前記機器が使用されていないことを示す場合、前記現在のタイミングのユーザの行動に関する情報を除く過去のタイミングのユーザの行動に関する情報が前記第１グループと同じ前記第２グループを選択し、前記第２グループに含まれるＩＤを選択する
請求項２又は３記載の情報匿名化方法。
【請求項５】
前記選択ステップでは、前記第２グループに含まれる一部のＩＤを変更した場合に、前記第２グループの匿名性が維持できない場合、前記第２のグループに含まれる全てのＩＤを選択する
請求項４記載の情報匿名化方法。
【請求項６】
前記選択ステップでは、
前記第１グループの前記現在のタイミングのユーザの行動に関する情報を除く過去のユーザの行動に関する情報が前記機器が使用されていないことを示す場合、前記現在のタイミングのユーザの行動に関する情報が前記第１グループと同じ前記第２グループを選択し、前記第２グループに含まれるＩＤを選択する
請求項２又は３記載の情報匿名化方法。
【請求項７】
前記選択ステップでは、前記第２グループに含まれる一部のＩＤを変更した場合に、前記第２グループの匿名性が維持できない場合、前記第２のグループに含まれる全てのＩＤを選択する
請求項６記載の情報匿名化方法。
【請求項８】
前記ユーザの行動に関する情報は、テレビの視聴履歴である
請求項１又は２記載の情報匿名化方法。
【請求項９】
前記情報匿名化方法は、さらに、
前記視聴履歴の変更の間隔が閾値より短い場合、当該視聴履歴を特殊チャンネルを視聴していることを示すユーザの行動に関する情報に変更する
請求項８記載の情報匿名化方法。
【請求項１０】
前記匿名性判定ステップでは、
グループに含まれるＩＤの数が、予め定められたｋ（２以上の整数）以上の場合に、当該グループが匿名性を満たしていると判定し、
前記グループに含まれるＩＤの数が、前記ｋ未満の場合に、当該グループが匿名性を満たしていないと判定する
請求項１〜９のいずれか１項に記載の情報匿名化方法。
【請求項１１】
前記ユーザの行動に関する情報は、機器の使用開始を含む、
請求項１又は２記載の情報匿名化方法。
【請求項１２】
前記ユーザの行動に関する情報は、機器の使用終了を含む、
請求項１又は２記載の情報匿名化方法。
【請求項１３】
任意のタイミングで複数の機器から収集された複数のユーザの行動に関する情報を匿名化する情報匿名化装置であって、
現在のタイミングにおいて前記複数の機器から収集された複数のユーザの行動に関する情報の各々を、ユーザに対応付けられたＩＤに対応付ける対応付部と、
現在及び過去のタイミングにおいて対応付けられたユーザの行動に関する情報の内容が同一である複数のＩＤをグループごとにまとめるグループ化部と、
前記複数のグループの各々が匿名性を満たしているかを判定する匿名性判定部と、
前記複数のグループのいずれかが匿名性を満たしていないと判定された場合、前記複数のユーザに対応付けられている複数のＩＤのうちの一部のＩＤのみを変更し、当該ＩＤが変更されたユーザの現在のタイミングにおいて収集されたユーザの行動に関する情報の対応付け先を変更前のＩＤから変更後のＩＤに変更するＩＤ変更部と、
前記複数のユーザの行動に関する情報の要求に応じて、匿名化された情報を送信する送信部とを備え、
前記ＩＤ変更部では、前記一部のＩＤとして、匿名性を満たしていないと判定されたグループに含まれるＩＤを変更する
情報匿名化装置。
【請求項１４】
任意のタイミングで複数の機器から収集された複数のユーザの行動に関する情報を匿名化する情報匿名化装置であって、
現在のタイミングにおいて前記複数の機器から収集された複数のユーザの行動に関する情報の各々を、ユーザに対応付けられたＩＤに対応付ける対応付部と、
現在及び過去のタイミングにおいて対応付けられたユーザの行動に関する情報の内容が同一である複数のＩＤをグループごとにまとめるグループ化部と、
前記複数のグループの各々が匿名性を満たしているかを判定する匿名性判定部と、
前記複数のグループのいずれかが匿名性を満たしていないと判定された場合、前記複数のユーザに対応付けられている複数のＩＤのうちの一部のＩＤのみを変更し、当該ＩＤが変更されたユーザの現在のタイミングにおいて収集されたユーザの行動に関する情報の対応付け先を変更前のＩＤから変更後のＩＤに変更するＩＤ変更部とを備え、
前記ＩＤ変更部は、
匿名性を満たしていないと判定された第１グループと異なる第２グループに含まれるＩＤであって、当該ＩＤを変更することで前記第１グループが匿名性を満たすＩＤを選択する選択部と、
前記複数のユーザの行動に関する情報の要求に応じて、匿名化された情報を送信する送信部とを含み、
前記ＩＤ変更部では、前記一部のＩＤとして、選択された前記ＩＤを変更する
情報匿名化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、履歴情報を匿名化する履歴情報匿名化方法及び履歴情報匿名化装置に関する。
【背景技術】
【０００２】
近年、例えば家庭内の家電機器又はＡＶ機器の中でネットワークに接続可能なものが増えている。これに伴い、クラウド事業者がネットワークを介して家電機器又はＡＶ機器の動作履歴を含む各種の履歴情報を収集することが検討されている。この収集した履歴情報を分析して、個々人に適したサービスを提供すること、並びに新しい商品開発及びマーケット戦略に活用することが期待されている。
【０００３】
履歴情報を第三者に提供する場合、そのデータの持ち主を特定できないように匿名化する必要がある。一般的に、匿名化の方法としては、特徴的な属性を削除するなどにより、ｋ人以下には絞り込みができないようにデータを加工するｋ匿名化といった手法がある。ｋ匿名化については、例えば、特許文献１及び非特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第１１／１４２３２７号
【非特許文献】
【０００５】
【非特許文献１】Ｌａｔａｎｙａ  Ｓｗｅｅｎｅｙ，  “ｋ−Ａｎｏｎｙｍｉｔｙ：Ａ  Ｍｏｄｅｌ  ｆｏｒ  Ｐｒｏｔｅｃｔｉｎｇ  Ｐｒｉｖａｃｙ”，  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｕｎｃｅｒｔａｉｎｔｙ，Ｆｕｚｚｉｎｅｓｓ  ａｎｄ  Ｋｎｏｗｌｅｄｇｅ−Ｂａｓｅｄ  Ｓｙｓｔｅｍｓ，２００２．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このような履歴情報の匿名化においては、匿名化処理により情報の一部が失われてしまうことは好ましくない。
【０００７】
本開示は、匿名化処理による情報の損失を抑制できる履歴情報匿名化方法又は履歴情報匿名化装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本開示の一態様に係る情報匿名化方法は、コンピュータにより実行される、任意のタイミングで複数の機器から収集された複数のユーザの行動に関する情報を匿名化する情報匿名化方法であって、現在のタイミングにおいて前記複数の機器から収集された複数のユーザの行動に関する情報の各々を、ユーザに対応付けられたＩＤに対応付ける対応付けステップと、現在及び過去のタイミングにおいて対応付けられたユーザの行動に関する情報の内容が同一である複数のＩＤをグループごとにまとめるグループ化ステップと、前記複数のグループの各々が匿名性を満たしているかを判定する匿名性判定ステップと、前記複数のグループのいずれかが匿名性を満たしていないと判定された場合、前記複数のユーザに対応付けられている複数のＩＤのうちの一部のＩＤのみを変更し、当該ＩＤが変更されたユーザの現在のタイミングにおいて収集されたユーザの行動に関する情報の対応付け先を変更前のＩＤから変更後のＩＤに変更するＩＤ変更ステップと、前記複数のユーザの行動に関する情報の要求に応じて、匿名化された情報を送信する送信ステップとを含み、前記ＩＤ変更ステップでは、前記一部のＩＤとして、匿名性を満たしていないと判定されたグループに含まれるＩＤを変更する。
【０００９】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１０】
本開示は、匿名化処理による情報の損失を抑制できる履歴情報匿名化方法又は履歴情報匿名化装置を提供できる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態における履歴情報匿名化システムの全体構成を示す図である。
【図２】実施の形態における視聴履歴の例を示す図である。
【図３】実施の形態におけるＴＶのブロック図である。
【図４】実施の形態における収集サーバのブロック図である。
【図５】実施の形態におけるユーザ管理テーブルの例を示す図である。
【図６】実施の形態におけるユーザＩＤと仮ＩＤとの対応テーブルの例を示す図である。
【図７】実施の形態における分析サーバのブロック図である。
【図８】実施の形態における匿名化処理部のブロック図である。
【図９】実施の形態における収集サーバの処理のフローチャートである。
【図１０】実施の形態における匿名化処理のフローチャートである。
【図１１】実施の形態におけるＴＶを見続けた場合の処理のフローチャートである。
【図１２】実施の形態におけるＴＶを見終わった場合の処理のフローチャートである。
【図１３】実施の形態におけるＴＶを見始めた場合の処理のフローチャートである。
【図１４】実施の形態における時刻ｔにおける視聴履歴の例を示す図である。
【図１５】実施の形態における時刻ｔにおけるＩＤ対応テーブルの例を示す図である。
【図１６】実施の形態における時刻ｔにおけるユーザ管理テーブルの例を示す図である。
【図１７】実施の形態における時刻ｔ＋１における視聴履歴の例を示す図である。
【図１８】実施の形態における時刻ｔ＋１におけるユーザ管理テーブルの例を示す図である。
【図１９】実施の形態における時刻ｔ＋１における匿名化処理を説明するための図である。
【図２０】実施の形態における時刻ｔ＋１における匿名化処理を説明するための図である。
【図２１】実施の形態における時刻ｔ＋１における更新後のユーザ管理テーブルの例を示す図である。
【図２２】実施の形態における時刻ｔ＋１におけるＩＤ対応テーブルの例を示す図である。
【図２３】実施の形態における時刻ｔ＋２における視聴履歴の例を示す図である。
【図２４】実施の形態における時刻ｔ＋２におけるユーザ管理テーブルの例を示す図である。
【図２５】実施の形態における時刻ｔ＋３における視聴履歴の例を示す図である。
【図２６】実施の形態における時刻ｔ＋３におけるユーザ管理テーブルの例を示す図である。
【図２７】実施の形態における時刻ｔ＋３における匿名化処理を説明するための図である。
【図２８】実施の形態における時刻ｔ＋３における匿名化処理を説明するための図である。
【図２９】実施の形態における時刻ｔ＋３における匿名化処理を説明するための図である。
【図３０】実施の形態における時刻ｔ＋３における更新後のユーザ管理テーブルの例を示す図である。
【図３１】実施の形態における時刻ｔ＋３におけるＩＤ対応テーブルの例を示す図である。
【図３２】変形例におけるＴＶを見始めた場合のフローチャートである。
【図３３】変形例におけるユーザ管理テーブルの例を示す図である。
【発明を実施するための形態】
【００１２】
（本開示の基礎となった知見）
従来のｋ匿名化方法は、電話番号、生年月日、又は位置情報のように一部を伏せても意味のある情報に対して適用できる方法であり、ＴＶ（テレビ）でどのチャンネルを見ていたかというような一部を伏せることができない情報には適用できない。
【００１３】
一方で、このような履歴情報から個人を特定できないようにする方法としては、ある定められた期間ごと、例えば、１か月ごとに仮ＩＤを付け替えるなどの方法が考えられる。
【００１４】
しかし、例えば１か月ごとに仮ＩＤを付け替えると、その期間を超えてデータ分析ができず、例えば１年前の情報との比較分析ができないという課題がある。
【００１５】
そこで、本開示では、ｋ−匿名性を満たしているユーザに関しては、仮ＩＤの変更を行わず、ｋ−匿名性を満たしていないユーザのみ仮ＩＤを変更することで、個人を特定できない状態を作りつつ、かつ、仮ＩＤの付け替え期間を長くする方法を提供する。
【００１６】
本開示の一態様に係る履歴情報匿名化方法は、周期的に複数のユーザ装置から収集された複数の履歴情報を匿名化する履歴情報匿名化方法であって、現在の周期において前記複数のユーザ装置から収集された複数の履歴情報の各々を、収集先のユーザ装置に対応付けられたＩＤに対応付ける対応付けステップと、現在及び過去の周期において対応付けられた履歴情報の内容が同一である複数のＩＤをグループごとにまとめるグループ化ステップと、前記複数のグループの各々が匿名性を満たしているかを判定する匿名性判定ステップと、前記複数のグループのいずれかが匿名性を満たしていないと判定された場合、前記複数のユーザ装置に対応付けられている複数のＩＤのうちの一部のＩＤのみを変更し、当該ＩＤが変更されたユーザ装置から現在の周期において収集された履歴情報の対応付け先を当該ユーザ装置の変更前のＩＤから変更後のＩＤに変更するＩＤ変更ステップとを含む。
【００１７】
これによれば、グループの匿名性が満たされない場合に、一部のＩＤのみが変更される。これにより、個人を特定できない状態を作りつつ、かつ、ＩＤの付け替え期間を長くすることができるので、匿名化処理による情報の損失を抑制できる。
【００１８】
例えば、前記ＩＤ変更ステップでは、前記一部のＩＤとして、匿名性を満たしていないと判定されたグループに含まれるＩＤを変更してもよい。
【００１９】
例えば、前記ＩＤ変更ステップは、匿名性を満たしていないと判定された第１グループと異なる第２グループに含まれるＩＤであって、当該ＩＤを変更することで前記第１グループが匿名性を満たすＩＤを選択する選択ステップを含み、前記ＩＤ変更ステップでは、前記一部のＩＤとして、選択された前記ＩＤを変更してもよい。
【００２０】
これによれば、例えば、匿名性を満たしていないグループのＩＤを変更することで当該グループの匿名性を満たせない場合においても、他のグループのＩＤを変更することで当該グループの匿名性を満すことができる。
【００２１】
例えば、前記選択ステップでは、前記第２グループの匿名性が維持できるように、前記第２グループに含まれるＩＤを選択してもよい。
【００２２】
これによれば、ＩＤを変更することにより、別のグループの匿名性が満たされなくなることを抑制できる。これにより、匿名化処理を適切かつ高速に実現できる。
【００２３】
例えば、前記選択ステップでは、前記第１グループの前記現在の周期の履歴情報が前記ユーザ装置が使用されていないことを示す場合、前記現在の周期の履歴情報を除く過去の周期の履歴情報が前記第１グループと同じ前記第２グループを選択し、前記第２グループに含まれるＩＤを選択してもよい。
【００２４】
例えば、前記選択ステップでは、前記第２グループに含まれる一部のＩＤを変更した場合に、前記第２グループの匿名性が維持できない場合、前記第２のグループに含まれる全てのＩＤを選択してもよい。
【００２５】
これによれば、ＩＤを変更することにより、別のグループの匿名性が満たされなくなることを抑制できる。これにより、匿名化処理を適切かつ高速に実現できる。
【００２６】
例えば、前記選択ステップでは、前記第１グループの前記現在の周期の履歴情報を除く過去の履歴情報が前記ユーザ装置が使用されていないことを示す場合、前記現在の周期の履歴情報が前記第１グループと同じ前記第２グループを選択し、前記第２グループに含まれるＩＤを選択してもよい。
【００２７】
例えば、前記選択ステップでは、前記第２グループに含まれる一部のＩＤを変更した場合に、前記第２グループの匿名性が維持できない場合、前記第２のグループに含まれる全てのＩＤを選択してもよい。ＩＤを変更することにより、別のグループの匿名性が満たされなくなることを抑制できる。これにより、匿名化処理を適切かつ高速に実現できる。
【００２８】
例えば、前記履歴情報は、テレビの視聴履歴であってもよい。
【００２９】
例えば、前記履歴情報匿名化方法は、さらに、前記視聴履歴の変更の間隔が閾値より短い場合、当該視聴履歴を特殊チャンネルを視聴していることを示す履歴情報に変更してもよい。
【００３０】
これによれば、ＩＤの変更の頻度を少なくできるので、匿名化処理による情報の損失を抑制できる。
【００３１】
例えば、前記匿名性判定ステップでは、グループに含まれるＩＤの数が、予め定められたｋ（２以上の整数）以上の場合に、当該グループが匿名性を満たしていると判定し、前記グループに含まれるＩＤの数が、前記ｋ未満の場合に、当該グループが匿名性を満たしていないと判定してもよい。
【００３２】
また、本開示の一態様に係る履歴情報匿名化装置は、周期的に複数のユーザ装置から収集された複数の履歴情報を匿名化する履歴情報匿名化装置であって、現在の周期において前記複数のユーザ装置から収集された複数の履歴情報の各々を、収集先のユーザ装置に対応付けられたＩＤに対応付ける対応付部と、現在及び過去の周期において対応付けられた履歴情報の内容が同一である複数のＩＤをグループごとにまとめるグループ化部と、前記複数のグループの各々が匿名性を満たしているかを判定する匿名性判定部と、前記複数のグループのいずれかが匿名性を満たしていないと判定された場合、前記複数のユーザ装置に対応付けられている複数のＩＤのうちの一部のＩＤのみを変更し、当該ＩＤが変更されたユーザ装置から現在の周期において収集された履歴情報の対応付け先を当該ユーザ装置の変更前のＩＤから変更後のＩＤに変更するＩＤ変更部とを備える。
【００３３】
これによれば、グループの匿名性が満たされない場合に、一部のＩＤのみが変更される。これにより、個人を特定できない状態を作りつつ、かつ、ＩＤの付け替え期間を長くすることができるので、匿名化処理による情報の損失を抑制できる。
【００３４】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【００３５】
以下、図面を参照しながら、本開示の実施の形態に係る履歴情報匿名化システムについて説明する。なお、以下で説明する実施の形態は、いずれも本開示の好ましい一具体例を示す。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、本開示の一例であり、本開示を限定する主旨ではない。本開示は、請求の範囲の記載に基づいて特定される。従って、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
【００３６】
（実施の形態）
［１．システムの構成］
ここでは、本開示の実施の形態として、本開示に関わる履歴情報匿名化システム１０について図面を参照しながら説明する。
【００３７】
［１．１  履歴情報匿名化システム１０の全体構成］
図１は、本実施の形態に係る履歴情報匿名化システム１０の全体構成を示す図である。履歴情報匿名化システム１０は、複数のＴＶ１００と、収集サーバ２００と、分析サーバ３００とを含む。
【００３８】
各ＴＶ１００は、ユーザが何時に何チャンネルを視聴していたかという情報である履歴情報１０１を記録し、ユーザがチャンネルを変更した時、収集サーバ２００からの送信要求があったとき、又は定期的に収集サーバ２００へ履歴情報１０１を送信する。なお、以下では、履歴情報１０１が、ＴＶの視聴履歴である例を説明するが、履歴情報１０１は、他の種類の履歴情報であってもよく、例えば、ＴＶの操作履歴などであってもよい。
【００３９】
収集サーバ２００は、複数のＴＶ１００から履歴情報１０１を収集し、収集した履歴情報１０１を記録する。図２は、視聴履歴（履歴情報１０１）のデータフォーマットの例を示す図である。本例において視聴履歴は、それぞれのユーザがそれぞれの時刻に視聴していたチャンネルをユーザごとに示す。また、ユーザがＴＶを視聴していない場合は、「−」が示される。
【００４０】
また、収集サーバ２００は、分析サーバ３００の要求に応じて履歴情報２０１を送信する。具体的には収集サーバ２００は、履歴情報１０１を匿名化することで履歴情報２０１を生成し、生成された履歴情報２０１を分析サーバ３００に送信する。なお、この匿名化に関する詳細な方法は、後ほど説明する。
【００４１】
分析サーバ３００は、収集サーバ２００から履歴情報２０１を取得し、取得した履歴情報２０１の分析を行う。例えば、サービス事業者は、分析結果から、個々人に適したサービスの提供、新しい商品開発、又はマーケット戦略の立案などを行う。
【００４２】
なお、本実施の形態では、履歴情報１０１を送信する機器であるユーザ装置がＴＶ１００である例を説明するが、これに限定するわけではなく、ユーザ装置はメディアプレーヤー、レコーダ、又はセットトップボックスなどであってもよい。
【００４３】
［１．２  ＴＶ１００の構成］
図３は、本実施の形態に係るＴＶ１００の構成を示す図である。ＴＶ１００は、個人情報入力部１１０と、履歴情報収集部１２０と、情報提供部１３０とを備える。
【００４４】
個人情報入力部１１０は、ＴＶ１００のユーザが、自身の個人情報を入力するための入力部である。入力された個人情報は、情報提供部１３０を経由して収集サーバ２００へ送信される。
【００４５】
履歴情報収集部１２０は、ＴＶ１００の視聴履歴又は操作履歴などの履歴情報１０１を収集する。収集された履歴情報１０１は、情報提供部１３０を経由して収集サーバ２００へ送信される。また、一部又は全ての履歴情報１０１は、ＴＶ１００内部の履歴情報保持部（図示しない）に記録される。
【００４６】
情報提供部１３０は、個人情報入力部１１０又は履歴情報収集部１２０から取得した個人情報及び履歴情報１０１を収集サーバ２００へ送信する。情報提供部１３０は、個人情報又は履歴情報１０１を収集サーバ２００へ送信する時には、個人情報に関連づけられたユーザＩＤを個人情報又は履歴情報１０１に付加したうえで収集サーバ２００へ送信する。
【００４７】
［１．３  収集サーバ２００の構成］
図４は、本実施の形態に係る収集サーバ２００の構成を示す図である。収集サーバ２００は、情報入力部２１０と、個人情報管理部２２０と、履歴情報管理部２３０と、データ保持部２４０と、匿名化処理部２５０と、情報送信部２６０とを備える。
【００４８】
情報入力部２１０は、ＴＶ１００から個人情報及び履歴情報１０１を取得するための入力部である。情報入力部２１０は、取得した情報のうち、個人情報を個人情報管理部２２０へ送り、履歴情報１０１を履歴情報管理部２３０へ送る。
【００４９】
個人情報管理部２２０は、ＴＶ１００から受信した個人情報をデータ保持部２４０へ記録する。また、個人情報管理部２２０は、他の機器からの要求に応じて、個人情報を他の機器に送信するなどの個人情報の管理を行う。
【００５０】
履歴情報管理部２３０は、ＴＶ１００から受信した履歴情報１０１をデータ保持部２４０へ記録する。また、履歴情報管理部２３０は、分析サーバ３００から履歴情報の要求があった時に、匿名化処理部２５０へ匿名化処理を要求する。
【００５１】
データ保持部２４０は、個人情報及び履歴情報１０１などを保持する。図５は、ユーザの履歴情報１０１を管理するための、データ保持部２４０に保持されるユーザ管理テーブル４００の例を示す図である。ここでは、履歴情報１０１が視聴履歴である場合を示す。
【００５２】
ユーザ管理テーブル４００は、複数の仮ＩＤ４０１と、各仮ＩＤ４０１に対応付けられたグループＩＤ４０２、送信可否フラグ４０３、及び視聴履歴４０４（履歴情報）とを示す。仮ＩＤ４０１は、ユーザごとにつけられた識別子であり、一人のユーザに対して一つ又は複数の仮ＩＤ４０１が対応付けられる。仮ＩＤ４０１は、視聴履歴４０４がｋ−匿名性を満たさなくなるごとに変更される。
【００５３】
グループＩＤ４０２は、同じ視聴履歴４０４を持つ仮ＩＤ４０１をまとめたグループを識別するためのＩＤである。送信可否フラグ４０３は、履歴情報を分析サーバ３００などに送信して良いかどうかを表すフラグである。例えば、「可」と記されている場合は履歴情報を送信しても良く、「否」と記されている場合は履歴情報を送信してはいけないことを示す。視聴履歴４０４（履歴情報）は、例えばＴＶ１００の視聴履歴のように時間が経過するたびに追加されていく情報である。
【００５４】
図６は、ユーザＩＤと仮ＩＤとの対応関係を示すＩＤ対応テーブル４１０の例を示す図である。ＩＤ対応テーブル４１０は、複数のユーザＩＤ４１１と、各ユーザＩＤ４１１に対応付けられた仮ＩＤ４１２及び仮ＩＤ履歴４１３とを示す。ユーザＩＤ４１１は、ユーザ装置（ＴＶ１００）を識別するためのＩＤである。仮ＩＤ４１２は、現在においてユーザＩＤ４１１に対応付けられている仮ＩＤ４１２を示す。仮ＩＤ履歴４１３は、現在及び過去においてユーザＩＤ４１１に対応付けられた仮ＩＤの履歴を示す。
【００５５】
履歴情報管理部２３０は、ＴＶ１００から新たに履歴情報１０１を受信した場合、ＩＤ対応テーブル４１０を参照し、履歴情報１０１に付与されているユーザＩＤに対応する仮ＩＤ４１２を判別する。次に、履歴情報管理部２３０は、判別した仮ＩＤ４１２に対応付けて、受信した履歴情報１０１をユーザ管理テーブル４００の視聴履歴４０４に追加する。
【００５６】
匿名化処理部２５０は、分析サーバ３００から履歴情報の要求があった時に、匿名化処理を行う。具体的には、匿名化処理部２５０は、視聴履歴４０４を、ｋ−匿名性を満たしている状態に加工することで履歴情報２０１を生成する。詳細な構成は、後ほど説明する。
【００５７】
情報送信部２６０は、分析サーバ３００から履歴情報の要求があった時に、匿名化した履歴情報２０１を分析サーバ３００へ送信する。
【００５８】
［１．４  分析サーバ３００の構成］
図７は、本実施の形態に係る分析サーバ３００の構成を示す図である。分析サーバ３００は、情報受信部３１０と、匿名化情報管理部３２０と、匿名化情報保持部３３０と、分析部３４０と、分析結果表示部３５０とを備える。
【００５９】
情報受信部３１０は、収集サーバ２００から匿名化された履歴情報２０１を受信する。
【００６０】
匿名化情報管理部３２０は、収集サーバ２００から受信した履歴情報２０１を管理する。
【００６１】
匿名化情報保持部３３０は、収集サーバ２００から受信した履歴情報２０１を保持する。
【００６２】
分析部３４０は、履歴情報２０１を分析し、個々人に適したサービスの提供、新しい商品開発、又はマーケット戦略の立案などに必要な分析データを生成する。
【００６３】
分析結果表示部３５０は、分析部３４０が分析した結果である分析データを表示し、サービス事業者に分析結果を提示する。
【００６４】
［１．５  匿名化処理部２５０の構成］
図８は、本実施の形態に係る匿名化処理部２５０の構成を示す図である。匿名化処理部２５０は、グループ更新部２５１と、匿名化検証部２５２と、ＩＤ変更部２５３と、他グループユーザ選択部（他Ｇユーザ選択部）２５４とを備える。
【００６５】
グループ更新部２５１は、履歴情報（視聴履歴４０４）が同じであるユーザの仮ＩＤ４０１を、同じグループとなるようにユーザ管理テーブル４００のグループＩＤ４０２を更新する。例えば、グループ更新部２５１は、過去に視聴した番組（チャンネル）の履歴が同じユーザを同じグループに設定する。グループ更新部２５１は、新たな履歴情報１０１が受信され、新しい履歴が追加されることで視聴履歴４０４が更新されたときには、追加された履歴の種類に応じて新しいグループを生成し、新たに生成したグループにグループＩＤ４０２を割り当てる。
【００６６】
例えば、それまで同じグループとして設定されていた複数のユーザの一部が、ＴＶのチャンネルを変更し、２ｃｈを見るユーザ、４ｃｈを見るユーザ、ＴＶを見なくなったユーザに分かれたとする。この場合、グループ更新部２５１は、新しく２つのグループＩＤ４０２を追加し、２ｃｈを見たユーザに、新しく追加したグループＩＤ４０２のうちの一つのＩＤを設定し、４ｃｈを見たユーザに、新しく追加したグループＩＤ４０２のうちの残りのＩＤを割り当てる。また、グループ更新部２５１は、ＴＶを見なくなったユーザのグループＩＤ４０２を変更しない。これにより、グループ更新部２５１は、２ｃｈ、４ｃｈ、及びＴＶを見なくなったという３種類の履歴情報に応じて、それぞれ別のグループＩＤ４０２を設定することができる。
【００６７】
匿名化検証部２５２は、履歴情報がｋ−匿名性を満たしているかどうかを検証する。具体的には、匿名化検証部２５２は、グループ更新部２５１が設定したそれぞれのグループに対して、同じグループが設定されたユーザが何人になるかをカウントする。その後、匿名化検証部２５２は、各グループがｋ人（ｋは２以上の整数）以上であるかどうかを調べ、全てのグループがｋ人以上であれば履歴情報がｋ−匿名性を満たしていると判定し、ｋ人以上でないグループがあれば、履歴情報がｋ−匿名性を満たしていないと判定する。
【００６８】
また、匿名化検証部２５２は、各グループのｋ−匿名性を判定する。具体的には、匿名化検証部２５２は、判定対象のグループに設定されたユーザがｋ人以上いれば、そのグループがｋ−匿名性を満たしていると判定し、ｋ人以上いない場合には、そのグループがｋ−匿名性を満たしていないと判定する。
【００６９】
また、匿名化検証部２５２は、ｋ−匿名性を満たしていないグループが存在する場合であって当該グループがＴＶを視聴し続けているユーザのグループである場合、ＩＤ変更部２５３へ当該グループに含まれるユーザの仮ＩＤの変更の指示を出す。また、匿名化検証部２５２は、ｋ−匿名性を満たしていないグループが存在する場合であって当該グループがＴＶを視聴し続けているユーザのグループ以外のグループである場合、他グループユーザ選択部２５４へ他グループユーザの選択の指示を出す。ここで、ＴＶを視聴し続けているユーザのグループ以外のグループとは、ＴＶ１００を見終わったユーザのグループ、及び新しくＴＶ１００を見始めたユーザのグループである。
【００７０】
ＩＤ変更部２５３は、依頼されたユーザの仮ＩＤを変更する。具体的には、ＩＤ変更部２５３は、ユーザ管理テーブル４００に新しい仮ＩＤ４０１を追加し、ＩＤ対応テーブル４１０の仮ＩＤ４１２に記載された元の仮ＩＤを新しい仮ＩＤに更新し、仮ＩＤ履歴４１３に新しい仮ＩＤを追加する。
【００７１】
他グループユーザ選択部２５４は、ＴＶ１００を見終わったユーザのグループ、又は新しくＴＶ１００を見始めたユーザのグループがｋ−匿名性を満たさない場合に、ｋ−匿名性を満たすために必要な数のユーザを、関連する他のグループから選択する。
【００７２】
具体的には、他グループユーザ選択部２５４は、ＴＶ１００を見終わったユーザのグループがｋ−匿名性を満たさない場合は、最新の履歴情報以外の履歴情報が同じユーザの他のグループを選択し、当該他のグループから、対象となっているｋ−匿名性を満たさないグループがｋ−匿名性を満たすのに必要な数のユーザを選択する。また、他グループユーザ選択部２５４は、新しくＴＶ１００を見始めたユーザのグループがｋ−匿名性を満たさない場合は、最新の履歴情報が同じユーザの他のグループを選択し、当該他のグループから、対象となっているｋ−匿名性を満たさないグループがｋ−匿名性を満たすのに必要な数のユーザを選択する。更に、他グループユーザ選択部２５４は、上記で選択した他のグループから上記で選択したユーザを除いたときに、当該他のグループがｋ−匿名性を満たすかどうかの検証を匿名化検証部２５２に依頼する。検証した結果、当該他のグループがｋ−匿名性を満たさなかった場合には、他グループユーザ選択部２５４は、当該他のグループの全てのユーザを選択する。他グループユーザ選択部２５４は、上記で選択したユーザの仮ＩＤの変更をＩＤ変更部２５３へ依頼する。
【００７３】
［２  動作］
以下、履歴情報匿名化システム１０の動作を説明する。
【００７４】
［２．１  全体動作］
図９は、収集サーバ２００の全体動作を示すフローチャートである。収集サーバ２００は、周期的に複数のＴＶ１００（ユーザ装置）から収集された複数の履歴情報１０１を匿名化することで履歴情報２０１を生成する。ここで周期的とは一定の周期であってもよいし、可変の周期であってもよい。例えば、収集サーバ２００は、予め定められた周期で履歴情報１０１を収集してもよいし、ＴＶ１００で履歴情報１０１が生成されたタイミング、又は、任意のタイミングで履歴情報１０１を収集してもよい。また、図９に示す処理は、履歴情報１０１が収集されるごとに行われる。
【００７５】
まず、収集サーバ２００は、現在の周期において、複数のＴＶ１００から履歴情報１０１を取得する（Ｓ１００）。
【００７６】
次に、収集サーバ２００は、現在の周期において複数のＴＶ１００から収集された複数の履歴情報１０１の各々を、収集先のＴＶ１００に対応付けられた仮ＩＤに対応付ける（Ｓ１０１）。具体的には、履歴情報１０１には当該履歴情報１０１の送信元のＴＶ１００のユーザＩＤが付与されている。収集サーバ２００は、ＩＤ対応テーブル４１０を参照し、当該ユーザＩＤに対応する仮ＩＤ４１２を特定する。次に、収集サーバ２００は、現在の周期で得られた履歴情報１０１を、特定した仮ＩＤ４１２（４０１）に対応付け、ユーザ管理テーブル４００の視聴履歴４０４に追加することで、視聴履歴４０４を更新する。
【００７７】
次に、収集サーバ２００は、現在及び過去の周期において対応付けられた履歴情報１０１（視聴履歴４０４）の内容が同一である複数の仮ＩＤ４０１をグループごとにまとめる。つまり、収集サーバ２００は、同じ視聴履歴４０４を有する仮ＩＤ４０１が同じグループになるようにグループＩＤ４０２を更新する（Ｓ１０２）。
【００７８】
次に、収集サーバ２００は、履歴情報１０１がｋ−匿名性を満たしているかをチェックする。つまり、収集サーバ２００は、複数のグループの各々が匿名性を満たしているかを判定する（Ｓ１０３）。具体的には、収集サーバ２００は、各グループがｋ個以上の仮ＩＤ４０１を含んでいるかを判定する。収集サーバ２００は、グループに含まれる仮ＩＤ４０１の数が、予め定められたｋ（２以上の整数）以上の場合に、当該グループが匿名性を満たしていると判定し、グループに含まれる仮ＩＤ４０１の数が、ｋ未満の場合に、当該グループが匿名性を満たしていないと判定する。
【００７９】
複数のグループのいずれかが匿名性を満たしていないと判定された場合、つまり、更新後の視聴履歴４０４がｋ−匿名性を満たしていない場合（Ｓ１０３でＮＧ）、収集サーバ２００は、複数のＴＶ１００に対応付けられている複数の仮ＩＤ４０１のうちの一部の仮ＩＤ４０１のみを変更する（Ｓ１０４）。また、収集サーバ２００は、仮ＩＤ４０１が変更されたＴＶ１００から現在の周期において収集された履歴情報１０１（視聴履歴４０４）の対応付け先を当該ＴＶ１００の変更前の仮ＩＤ４０１から変更後の仮ＩＤ４０１に変更する。
【００８０】
次に、収集サーバ２００は、現在の周期の履歴情報１０１と変更後の仮ＩＤとを含む履歴情報２０１を分析サーバ３００に送信する（Ｓ１０５）。
【００８１】
一方、複数のグループの全てが匿名性を満たしていると判定された場合、つまり、更新後の視聴履歴４０４がｋ−匿名性を満たしている場合（Ｓ１０３でＯＫ）、収集サーバ２００は、現在の周期の履歴情報１０１と現在の仮ＩＤとを含む履歴情報２０１を分析サーバ３００に送信する（Ｓ１０５）。
【００８２】
なお、ここでは、収集サーバ２００は、ある時刻の履歴情報１０１を受信するごとに処理を行っているが、複数の時刻の履歴情報１０１を受信するごとに処理を行ってもよい。また、収集サーバ２００は、ある時刻の履歴情報１０１を受信するごと履歴情報２０１を分析サーバ３００に送信しているが、複数の時刻の履歴情報２０１を分析サーバ３００にまとめて送信してもよい。
【００８３】
［２．２  匿名化処理の概要］
以下、収集した履歴情報を匿名化する処理（図９のＳ１０２〜Ｓ１０４）について図１０を用いて説明する。
【００８４】
まず、収集サーバ２００の匿名化処理部２５０は、前回の匿名化処理の実行時から視聴履歴４０４が新たに追加された仮ＩＤ４０１に対して、仮ＩＤ４０１に対応付けられたグループＩＤ４０２を更新する（Ｓ１１０）。具体的には、匿名化処理部２５０は、同じ視聴履歴４０４を持つ仮ＩＤ４０１が同じグループになるようにグループＩＤ４０２を更新する。例えば、匿名化処理部２５０は、元々同じグループＩＤ４０２が割り当てられていた仮ＩＤ群に対して、新たに追加された視聴履歴４０４が同じ仮ＩＤが同じグループになるように、仮ＩＤ群に含まれる複数の仮ＩＤ４０１を複数のグループに分割し、分割したグループごとに異なるグループＩＤ４０２を割り当てる。
【００８５】
その後、匿名化処理部２５０は、更新後のグループＩＤ４０２ごとに、当該グループがｋ−匿名性を満たしているかどうかをチェックする（Ｓ１１１）。全てのグループがｋ−匿名性を満たしている場合（Ｓ１１１でＯＫ）、匿名化処理部２５０は処理を終了する（Ｓ１１２）。
【００８６】
一方、１つ以上のグループがｋ−匿名性を満たしていなかった場合（Ｓ１１１でＮＧ）、匿名化処理部２５０は、ｋ−匿名性を満たしていないグループを抽出し、以降の処理をグループごとに実行する。
【００８７】
まず、匿名化処理部２５０は、グループの種類を判定する（Ｓ１１３）。具体的には、匿名化処理部２５０は、履歴情報１０１を継続して受信している場合、つまり、ユーザがＴＶ１００の視聴を継続している場合には「継続」と判定する。また、匿名化処理部２５０は、履歴情報１０１を受信しなくなった場合、又はＴＶ１００をＯＦＦにしたことを示す情報を受信した場合、つまり、ユーザがＴＶ１００の視聴を終了した場合には「終了」と判定する。また、匿名化処理部２５０は、新たなＴＶ１００から履歴情報１０１を受信した場合、又はＴＶ１００をＯＮにしたことを示す情報を受信した場合、つまり、ユーザがＴＶ１００の視聴を開始した場合には「新規」と判定する。
【００８８】
匿名化処理部２５０は、「継続」と判定した場合（Ｓ１１３で「継続」）、匿名性を満たしていないグループのＴＶ１００に割り当てられた仮ＩＤを変更する（Ｓ１１４）。つまり、匿名化処理部２５０は、匿名性を満たしていないグループの直前の履歴情報及び現在の周期の履歴情報が共にＴＶが使用されていることを示す場合、匿名性を満たしていないと判定されたグループに含まれる仮ＩＤを変更する。具体的には、匿名化処理部２５０は、新しい仮ＩＤを生成し、元の仮ＩＤの最新の履歴情報を新しい仮ＩＤの履歴情報として記録し、元の仮ＩＤの最新の履歴情報を削除する。また、匿名化処理部２５０は、ＩＤ対応テーブル４１０の仮ＩＤ４１２を新しい仮ＩＤに変更し、新しい仮ＩＤを仮ＩＤ履歴４１３に追記する。
【００８９】
匿名化処理部２５０は、「終了」と判定した場合（Ｓ１１３で「終了」）、更新前のグループが匿名性を満たしていないグループと同じ他のグループに含まれる一部のユーザを選択する（Ｓ１１５）。つまり、匿名化処理部２５０は、匿名性を満たしていない第１グループの現在の周期の履歴情報がＴＶが使用されていないことを示す場合、第１グループと異なる第２グループに含まれる仮ＩＤであって、当該仮ＩＤを変更することで第１グループが匿名性を満たすＩＤを選択する。具体的には、例えば、匿名化処理部２５０は、現在の周期の履歴情報を除く過去の周期の履歴情報が第１グループと同じ第２グループを選択する。
【００９０】
次に、匿名化処理部２５０は、当該他のグループから選択したユーザを除外した場合の当該他のグループのｋ−匿名性をチェックする（Ｓ１１７）。匿名化処理部２５０は、当該他のグループがｋ−匿名性を満たさないと判定した場合（Ｓ１１７で「ＮＧ」）、当該他のグループ内の全てのユーザを選択する（Ｓ１１８）。つまり、匿名化処理部２５０は、第２グループに含まれる一部の仮ＩＤを変更した場合に、第２グループの匿名性が維持できない場合、第２のグループに含まれる全ての仮ＩＤを選択する。
【００９１】
その後、匿名化処理部２５０は、選択したユーザ（他のグループ内の全てのユーザ）の仮ＩＤを変更する（Ｓ１１９）。なお、仮ＩＤの変更方法は、ステップＳ１１４と同様である。
【００９２】
一方、匿名化処理部２５０は、当該他のグループがｋ−匿名性を満たすと判定した場合（Ｓ１１７で「ＯＫ」）、ステップＳ１１５で選択した他のグループ内の一部のユーザの仮ＩＤを変更する（Ｓ１１９）。
【００９３】
このように、匿名化処理部２５０は、匿名性を満たしていないと判定された第１グループと異なる第２グループの匿名性が維持できるように、第２グループに含まれる仮ＩＤを選択する。
【００９４】
また、匿名化処理部２５０は、ステップＳ１１３で「新規」と判定した場合には、最新の履歴情報において匿名性を満たしていないグループと同じチャンネルを視聴している他のグループに含まれる一部のユーザを選択する（Ｓ１１６）。つまり、匿名化処理部２５０は、匿名性を満たしいていない第１グループの現在の周期の履歴情報を除く過去の履歴情報がＴＶが使用されていないことを示す場合、第１グループと異なる第２グループに含まれる仮ＩＤであって、当該仮ＩＤを変更することで第１グループが匿名性を満たすＩＤを選択する。具体的には、例えば、匿名化処理部２５０は、現在の周期の履歴情報が第１グループと同じ第２グループを選択し、第２グループに含まれる仮ＩＤを選択する。
【００９５】
その後、上記のステップＳ１１３で「終了」の場合と同様に、ステップＳ１１７からステップＳ１１９の処理を行う。
【００９６】
以上の処理の終了後、ステップＳ１１０に戻る。つまり、全てのグループのｋ−匿名性が満たされるまで処理が繰り返される。
【００９７】
［２．３  匿名化処理の詳細］
図１０に示したように、収集サーバ２００がＴＶ１００から視聴履歴を収集した際の匿名化処理において、ユーザがＴＶ１００を見続けている（継続）か、見終わった（終了）か、見始めた（新規）かの３つの状態に応じて処理が異なる。
【００９８】
以下、それぞれの状態に応じてどのような処理を行うかその詳細を説明する。
【００９９】
［２．３．１  ＴＶ１００を見続けている（継続）場合の処理］
以下、ユーザがＴＶ１００を見続けている（継続）場合の匿名化処理の詳細について図１１を用いて説明する。
【０１００】
匿名化処理部２５０は、最新の視聴履歴４０４に合わせて、各仮ＩＤ４０１と紐づけられるグループＩＤ４０２を更新する（Ｓ２００）。次に、匿名化処理部２５０は、ユーザ管理テーブル４００を参照して、同じグループＩＤ４０２が付けられている仮ＩＤ４０１において、前回のグループＩＤ４０２の更新処理後に追加された視聴履歴４０４を参照し、同じ視聴履歴４０４が追加された仮ＩＤ４０１を集めることで新たなグループを形成し、各グループに個別のグループＩＤ４０２を設定する。
【０１０１】
次に、匿名化処理部２５０は、新しく付けたグループＩＤ４０２ごとに、グループがｋ−匿名性を満たしているかどうかをチェックする（Ｓ２０１）。具体的には、匿名化処理部２５０は、同じグループに属するユーザの数（同じグループＩＤ４０２が付けられた仮ＩＤ４０１の数）がｋ以上あるかどうかでチェックする。匿名化処理部２５０は、全てのグループにおいて、同じグループに属するユーザの数がｋ以上ある場合、グループがｋ−匿名性を満たしている（Ｓ２０１で「ＯＫ」）と判定し、グループに属するユーザの数がｋ未満のグループが１以上ある場合、グループがｋ−匿名性を満たしていない（Ｓ２０１で「ＮＧ」）と判定する。
【０１０２】
匿名化処理部２５０は、ステップＳ２０１で「ＮＧ」と判定した場合、ｋ−匿名性を満たしていないグループをリストアップする（Ｓ２０２）。
【０１０３】
次に、匿名化処理部２５０は、ステップＳ２０３からＳ２０７までの処理を、ステップＳ２０２でリストアップした各グループに対して行う。この時、ステップＳ２０２でリストアップするグループは、全てＴＶ１００を見続けている（継続）状態のグループである。
【０１０４】
まず、匿名化処理部２５０は、対象グループ内の全ての仮ＩＤ４０１を変更する（Ｓ２０４）。具体的には、匿名化処理部２５０は、新しい仮ＩＤ４０１を生成し、生成した仮ＩＤ４０１をユーザ管理テーブル４００に追加する。その後、匿名化処理部２５０は、変更元の仮ＩＤ４０１の視聴履歴４０４の最新の履歴を、新しく生成した仮ＩＤ４０１の視聴履歴４０４にコピーし、変更元の仮ＩＤ４０１の視聴履歴４０４の最新の履歴を、ＴＶ１００を見終わった（終了）という情報に更新する。以上の処理により匿名化処理部２５０は仮ＩＤを変更する。
【０１０５】
次に、匿名化処理部２５０は、変更元の仮ＩＤ４０１のユーザ管理テーブル４００のグループＩＤ４０２を、当該仮ＩＤ４０１の更新後の視聴履歴４０４と同じ視聴履歴４０４を持つ、ＴＶ１００を見終わった（終了）グループのグループＩＤ４０２に変更する（Ｓ２０５）。
【０１０６】
次に、匿名化処理部２５０は、新しく生成した仮ＩＤ４０１のユーザ管理テーブル４００のグループＩＤ４０２を、当該仮ＩＤの視聴履歴４０４と同じ視聴履歴４０４を持つ、新しく見始めた（新規）グループのグループＩＤ４０２に変更する（Ｓ２０６）。
【０１０７】
一方、匿名化処理部２５０は、ステップＳ２０１で「ＯＫ」と判定した場合処理を終了する。
【０１０８】
［２．３．２  ＴＶ１００を見終わった（終了）場合の処理］
以下、ユーザがＴＶ１００を見終わった（終了）場合の匿名化処理の詳細について図１２を用いて説明する。
【０１０９】
匿名化処理部２５０は、最新の視聴履歴４０４に合わせて、各仮ＩＤ４０１と紐づけられるグループＩＤ４０２を更新する（Ｓ３００）。次に、匿名化処理部２５０は、ユーザ管理テーブル４００を参照して、同じグループＩＤ４０２が付けられている仮ＩＤ４０１において、前回のグループＩＤ４０２の更新処理後に追加された視聴履歴４０４を参照し、同じ視聴履歴４０４が追加された仮ＩＤ４０１を集めることで新たなグループを形成し、各グループに個別のグループＩＤ４０２を設定する。
【０１１０】
次に匿名化処理部２５０は、新しく付けたグループＩＤ４０２ごとに、グループがｋ−匿名性を満たしているかどうかをチェックする（Ｓ３０１）。なお、この処理の詳細は上述したステップＳ２０１と同様である。
【０１１１】
匿名化処理部２５０は、ステップＳ３０１で「ＮＧ」と判定した場合、ｋ−匿名性を満たしていないグループをリストアップする（Ｓ３０２）。
【０１１２】
匿名化処理部２５０は、ステップＳ３０３からＳ３１０までの処理を、ステップＳ３０２でリストアップした各グループに対して行う。この時、ステップＳ３０２でリストアップするグループは、全てＴＶ１００を見終わった（終了）状態のグループである。
【０１１３】
まず、匿名化処理部２５０は、対象グループがｋ−匿名性を満たすために必要な数のユーザ（ｎ人とする）を確保するために、対象グループと、直前まで同じグループであり、かつ、現在別のグループであるグループ群の中から１つグループを選択し、その選択したグループの中のユーザのうち、対象グループがｋ−匿名性を満たすために必要な数のユーザを選択する（Ｓ３０４）。グループを選択する方法としては、例えば、ｋ＋ｎ人以上のユーザが属するグループのうち、一番多くのユーザが属しているグループを選択する方法がある。または、ｎ人以上のユーザが属するグループのうち、一番少ないユーザが属しているグループを選択する方法もある。
【０１１４】
次に、匿名化処理部２５０は、ステップＳ３０４で選択したグループから、選択したユーザを除外した場合に当該グループがｋ−匿名性を満たすかどうかをチェックする（Ｓ３０５）。具体的には、匿名化処理部２５０は、選択したグループから、選択したユーザを除外した場合に当該グループにｋ人以上のユーザが属している場合には「ＯＫ」と判定し、当該グループにｋ人未満のユーザしか属していない場合には「ＮＧ」と判定する。
【０１１５】
匿名化処理部２５０は、ステップＳ３０５で「ＮＧ」と判定した場合には、ステップＳ３０４で選択したグループの全てのユーザの仮ＩＤ４０１を選択する（Ｓ３０６）。
【０１１６】
匿名化処理部２５０は、ステップＳ３０５で「ＯＫ」と判定した場合には、ステップＳ３０７へ進む。
【０１１７】
匿名化処理部２５０は、ステップＳ３０４又はステップＳ３０６で選択したユーザの仮ＩＤ４０１を変更する（Ｓ３０７）。仮ＩＤ４０１の変更処理は、ステップＳ２０４と同様である。
【０１１８】
次に、匿名化処理部２５０は、変更元の仮ＩＤ４０１のユーザ管理テーブル４００のグループＩＤ４０２を、当該仮ＩＤの更新後の視聴履歴４０４と同じ視聴履歴４０４を持つ、ＴＶ１００を見終わった（終了）グループのグループＩＤ４０２に変更する（Ｓ３０８）。
【０１１９】
次に、匿名化処理部２５０は、新しく生成した仮ＩＤ４０１のユーザ管理テーブル４００のグループＩＤ４０２を、当該仮ＩＤの更新後の視聴履歴４０４と同じ視聴履歴４０４を持つ、新しく見始めた（新規）グループのグループＩＤ４０２に変更する（Ｓ３０９）。
【０１２０】
［２．３．３  ＴＶ１００を見始めた（新規）場合の処理］
以下、ユーザがＴＶ１００を見始めた（新規）場合の匿名化処理の詳細について図１３を用いて説明する。
【０１２１】
匿名化処理部２５０は、最新の視聴履歴４０４に合わせて、各仮ＩＤ４０１と紐づけられるグループＩＤ４０２を更新する（Ｓ４００）。次に、匿名化処理部２５０は、ユーザ管理テーブル４００を参照して、同じグループＩＤ４０２が付けられている仮ＩＤ４０１において、前回のグループＩＤ４０２の更新処理後に追加された視聴履歴４０４を参照し、同じ視聴履歴４０４が追加された仮ＩＤ４０１を集めることで新たなグループを形成し、各グループに個別のグループＩＤ４０２を設定する。
【０１２２】
次に、匿名化処理部２５０は、新しく付けたグループＩＤ４０２ごとに、グループがｋ−匿名性を満たしているかどうかをチェックする（Ｓ４０１）。なお、この処理の詳細は上述したステップＳ２０１と同様である。
【０１２３】
匿名化処理部２５０は、ステップＳ４０１で「ＮＧ」と判定した場合、ｋ−匿名性を満たしていないグループをリストアップする（Ｓ４０２）。
【０１２４】
匿名化処理部２５０は、ステップＳ４０３からＳ４１０までの処理を、ステップＳ４０２でリストアップした各グループに対して行う。この時、ステップＳ４０２でリストアップするグループは、全てＴＶ１００を見始めた（新規）状態のグループである。
【０１２５】
まず、匿名化処理部２５０は、対象グループがｋ−匿名性を満たすために必要な数のユーザ（ｎ人とする）を確保するために、最新の視聴履歴４０４で対象グループと同じチャンネルを視聴しているグループ群の中から１つグループを選択し、その選択したグループの中のユーザのうち、対象グループがｋ−匿名性を満たすために必要な数のユーザを選択する（Ｓ４０４）。
【０１２６】
次に、匿名化処理部２５０は、ステップＳ４０４で選択したグループから、選択したユーザを場外した場合に当該グループがｋ−匿名性を満たすかどうかをチェックする（Ｓ４０５）。匿名化処理部２５０は、選択したグループから、選択したユーザを場外した場合に当該グループにｋ人以上のユーザが属している場合には「ＯＫ」と判定し、当該グループにｋ人未満のユーザしか属していない場合には「ＮＧ」と判定する。
【０１２７】
匿名化処理部２５０は、ステップＳ４０５で「ＮＧ」と判定した場合には、ステップＳ４０４で選択したグループの全てのユーザの仮ＩＤ４０１を選択する（Ｓ４０６）。ここで、ステップＳ４０４で選択したグループの全てのユーザを選択したとしても、ｋ−匿名性を満たすために必要な人数にならなかった場合は、匿名化処理部２５０は、履歴情報２０１を送信しないと判定し、処理を終了する（図示しない）。
【０１２８】
匿名化処理部２５０は、ステップＳ４０５で「ＯＫ」と判定した場合には、ステップＳ４０７へ進む。
【０１２９】
匿名化処理部２５０は、ステップＳ４０４又はステップＳ４０６で選択したユーザの仮ＩＤ４０１を変更する（Ｓ４０７）。仮ＩＤ４０１の変更処理は、ステップＳ２０４と同様である。
【０１３０】
次に、匿名化処理部２５０は、変更元の仮ＩＤ４０１のユーザ管理テーブル４００のグループＩＤ４０２を、当該仮ＩＤの更新後の視聴履歴４０４と同じ視聴履歴４０４を持つ、ＴＶ１００を見終わった（終了）グループのグループＩＤ４０２に変更する（Ｓ４０８）。
【０１３１】
次に、匿名化処理部２５０は、新しく生成した仮ＩＤ４０１のユーザ管理テーブル４００のグループＩＤ４０２を、当該仮ＩＤの更新後の視聴履歴４０４と同じ視聴履歴４０４を持つ、新しく見始めた（新規）グループのグループＩＤ４０２に変更する（Ｓ４０９）。
【０１３２】
［２．４  匿名化処理の具体例］
図２で示した視聴履歴の例を元に、視聴履歴がどのように匿名化されるかの具体例を以下に示す。
【０１３３】
図１４は、時刻ｔにおける視聴履歴の例を示す。この時、ユーザＩＤがＵＩＤ１、ＵＩＤ２、ＵＩＤ３、ＵＩＤ４、ＵＩＤ６のユーザは２チャンネルを視聴しており、ユーザＩＤがＵＩＤ７、ＵＩＤ８、ＵＩＤ９のユーザは４チャンネルを視聴している。また、ユーザＩＤがＵＩＤ５とＵＩＤ１０のユーザはＴＶ１００を視聴していない。この時のユーザＩＤと仮ＩＤ４０１の対応関係を、図１５に示す。
【０１３４】
図１６は、時刻ｔにおけるユーザ管理テーブル４００を示している。ユーザ管理テーブル４００において、図１５のＩＤ対応テーブル４１０に対応して、それぞれの仮ＩＤ４０１の行に、当該仮ＩＤ４０１に対応するユーザＩＤの視聴履歴４０４が記録されている。
【０１３５】
時刻ｔにおける匿名化処理を、図１０の全体フローチャートに沿って説明する。
【０１３６】
まず、グループ更新部２５１はステップＳ１１０のグループ更新の処理を行う。この時、グループ更新部２５１は、図１６に示すユーザ管理テーブル４００のように、グループＩＤ４０２の欄に、視聴履歴４０４に応じてグループＩＤ４０２を記録する。本例においては、仮ＩＤ４０１がＩＤ１、ＩＤ２、ＩＤ３、ＩＤ４、ＩＤ５のユーザは２チャンネルを視聴しているため、これらの仮ＩＤ４０１に対して同じグループＩＤ４０２（ＧＩＤ１）が記録される。また、仮ＩＤ４０１がＩＤ６、ＩＤ７、ＩＤ８のユーザは４チャンネルを視聴しているため、これらの仮ＩＤ４０１に対して同じグループＩＤ４０２（ＧＩＤ２）が記録される。
【０１３７】
その後、匿名化検証部２５２は、ステップＳ１１１のｋ−匿名性のチェック処理を行う。なお、以下ではｋが「２」である場合の例を説明する。匿名化検証部２５２は、各グループ（この場合、ＧＩＤ１のグループとＧＩＤ２のグループ）がｋ−匿名性を満たしているかどうかをチェックする。今回の場合、どちらのグループもｋ−匿名性を満たしている（ユーザがｋ人以上存在している）ため、匿名化検証部２５２は、ステップＳ１１１で「ＯＫ」と判定し、処理を終了する。
【０１３８】
全てのデータがｋ−匿名性を満たしているため、収集サーバ２００は、例えば、分析サーバ３００などへ履歴情報２０１を送信する。そのため、収集サーバ２００は、ユーザ管理テーブル４００の送信可否フラグ４０３を全て「可」に設定する。
【０１３９】
図１７は、時刻ｔ＋１における視聴履歴の例を示す。この時、ユーザＩＤがＵＩＤ１、ＵＩＤ２、ＵＩＤ３、ＵＩＤ４のユーザは２チャンネルから８チャンネルにチャンネルを変更している。また、ユーザＩＤがＵＩＤ５のユーザは新たにＴＶ１００を視聴し始め、８チャンネルを視聴している。ユーザＩＤがＵＩＤ６のユーザは２チャンネルから１０チャンネルにチャンネルを変更している。ユーザＩＤがＵＩＤ７、ＵＩＤ８、ＵＩＤ９のユーザは４チャンネルから１０チャンネルにチャンネルを変更している。ユーザＩＤがＵＩＤ１０のユーザは新たにＴＶ１００を視聴し始め、１０チャンネルを視聴している。
【０１４０】
時刻ｔ＋１における匿名化の処理を、図１０の全体フローチャートに沿って説明する。
【０１４１】
まず、グループ更新部２５１はステップＳ１１０のグループ更新の処理を行う。この時、グループ更新部２５１は、図１８に示すユーザ管理テーブル４００のように、グループＩＤ４０２の欄に、視聴履歴４０４に応じてグループＩＤ４０２を記録する。本例においては、仮ＩＤ４０１がＩＤ１、ＩＤ２、ＩＤ３、ＩＤ４のユーザは、２チャンネルから８チャンネルにチャンネルを変更しているため１つのグループに含まれ、グループＩＤ４０２はそのままのＧＩＤ１である。時刻ｔで、グループＩＤ４０２がＧＩＤ１だった仮ＩＤ４０１がＩＤ５のユーザは、仮ＩＤ４０１がＩＤ１、ＩＤ２、ＩＤ３、ＩＤ４のユーザとは異なり、２チャンネルから１０チャンネルにチャンネルを変更しているため、グループＩＤ４０２がＧＩＤ１からＧＩＤ３へ変更される。更に仮ＩＤ４０１がＩＤ６、ＩＤ７、ＩＤ８のユーザは、４チャンネルから１０チャンネルにチャンネルを変更しているため１つのグループに含まれ、グループＩＤ４０２はそのままのＧＩＤ２である。また、新しくＴＶ１００を視聴し始めたユーザ（ＵＩＤ５、ＵＩＤ１０）には新しく仮ＩＤ４０１（ＩＤ９、ＩＤ１０）が発行され、視聴履歴４０４がユーザ管理テーブル４００で管理される。新しくＴＶ１００を視聴し始めた仮ＩＤ４０１がＩＤ９とＩＤ１０のユーザは、それぞれ別のチャンネル（８チャンネルと１０チャンネル）を見始めているため、別のグループＩＤ４０２（ＧＩＤ４、ＧＩＤ５）に割り振られる。
【０１４２】
また、ＩＤ対応テーブル４１０が更新される。具体的には、ユーザＩＤ４１１がＵＩＤ５の仮ＩＤ４１２がＩＤ９に設定され、ユーザＩＤ４１１がＵＩＤ１０の仮ＩＤ４０１がＩＤ１０に設定される。
【０１４３】
その後、匿名化検証部２５２はステップＳ１１１のｋ−匿名性のチェック処理を行う。匿名化検証部２５２は、各グループ（この場合、グループＩＤ４０２がＧＩＤ１、ＧＩＤ２、ＧＩＤ３、ＧＩＤ４、ＧＩＤ５のグループがある）がｋ−匿名性を満たしているかどうかをチェックする。今回の場合、図１９に示すように、ＧＩＤ３、ＧＩＤ４及びＧＩＤ５の３つのグループがｋ−匿名性を満たしていない。そのため、匿名化検証部２５２は、ステップＳ１１１で「ＮＧ」と判定し、ステップＳ１１３以降の処理を行う。
【０１４４】
匿名化処理部２５０は、まずグループＩＤ４０２がＧＩＤ３のグループに関する処理を行う。匿名化処理部２５０は、ステップＳ１１３でＧＩＤ３のグループの履歴情報の種類を判定する。ＧＩＤ３のグループのユーザは、ＴＶ１００を継続してみているため、匿名化処理部２５０は、ステップＳ１１３で「継続」と判定する。そのため、ＩＤ変更部２５３はＧＩＤ３のグループに属しているユーザの仮ＩＤ４０１を変更する（Ｓ１１４）。具体的には、図１９に示すように、ＩＤ変更部２５３は、新しく仮ＩＤ４０１を発行（ＩＤ１１）し、仮ＩＤ４０１がＩＤ５のユーザの最新の視聴履歴４０４である１０チャンネルを視聴したという情報を、仮ＩＤ４０１がＩＤ１１の視聴履歴４０４の項に記載する。また、匿名化処理部２５０は、仮ＩＤ４０１がＩＤ５の視聴履歴４０４から、最新の視聴履歴４０４である１０チャンネルを視聴したという情報を消し、その代わりに時刻ｔ＋１の視聴履歴４０４としてＴＶ１００を見終わったことを示す「−」を記録する。
【０１４５】
更に、匿名化処理部２５０は、ＩＤ対応テーブル４１０を更新する。具体的には、匿名化処理部２５０は、仮ＩＤ４０１としてＩＤ５が割り当てられているＵＩＤ６のユーザに対して、ＩＤ対応テーブル４１０の仮ＩＤ４１２の項に新しい仮ＩＤ４０１であるＩＤ１１を記録し、仮ＩＤ履歴４１３の項に、ＩＤ１１を追加する。
【０１４６】
以上の処理により、図１９に示すように、仮ＩＤ４０１がＩＤ５からＩＤ１１へ変更される。
【０１４７】
匿名化処理部２５０は、処理をステップＳ１１０に戻し、再びグループ更新部２５１はグループ更新処理を行う。この時、仮ＩＤ４０１がＩＤ５とＩＤ１１の視聴履歴４０４が変更されているためグループ更新処理もこの２つの仮ＩＤ４０１が対象となる。ＩＤ５のユーザは、時刻ｔまで２チャンネルを視聴し、時刻ｔ＋１にはＴＶ１００を視聴しなくなったという視聴履歴４０４を持つ。同じ視聴履歴４０４を持つユーザが他にいないため、グループＩＤ４０２はＧＩＤ３のままである。一方、ＩＤ１１のユーザは、時刻ｔではＴＶ１００を視聴せず、時刻ｔ＋１で１０チャンネルを見始めたという視聴履歴４０４を持つ。仮ＩＤ４０１がＩＤ１０のユーザ、ＩＤ１１のユーザと同じ視聴履歴４０４を持つため、匿名化処理部２５０は、ＩＤ１０と同じグループＩＤ４０２（ＧＩＤ５）をＩＤ１１のユーザに設定する。
【０１４８】
その後、匿名化検証部２５２はステップＳ１１１のｋ−匿名性のチェック処理を行う。匿名化検証部２５２は、各グループ（この場合、グループＩＤ４０２がＧＩＤ１、ＧＩＤ２、ＧＩＤ３、ＧＩＤ４、ＧＩＤ５のグループがある）がｋ−匿名性を満たしているかどうかをチェックする。今回の場合、図２０に示すように、ＧＩＤ３とＧＩＤ４の２つのグループがｋ−匿名性を満たしていない。そのため、匿名化検証部２５２は、ステップＳ１１１で「ＮＧ」と判定し、ステップＳ１１３以降の処理を行う。
【０１４９】
匿名化処理部２５０は、まずグループＩＤ４０２がＧＩＤ３のグループに関する処理を行う。匿名化処理部２５０は、ステップＳ１１３でＧＩＤ３のグループの履歴情報の種類を判定する。ＧＩＤ３のグループのユーザは、ＴＶ１００を見終わっているため、匿名化処理部２５０は、ステップＳ１１３で「終了」と判定する。
【０１５０】
他Ｇユーザ選択部２５４は、対象グループであるＧＩＤ３のグループと時刻ｔまで視聴履歴４０４が同じ他のグループ、つまり、時刻ｔ＋１のグループ更新処理でグループＩＤ４０２が更新されるまでＧＩＤ３のグループと同じグループだった他のグループ（この場合、ＧＩＤ１のグループ）から１つのグループを選択し、その中からＧＩＤ３のグループがｋ−匿名性を満たすために必要な数のユーザを選択する（Ｓ１１５）。今回の場合は、ＧＩＤ３のグループがｋ−匿名性を満たすためには後１人のユーザが必要である。ここでは、他Ｇユーザ選択部２５４は、仮ＩＤ４０１がＩＤ４のユーザを選択する。
【０１５１】
他Ｇユーザ選択部２５４は、仮ＩＤ４０１がＩＤ４のユーザをＧＩＤ１のグループから除外したときに、ＧＩＤ１のグループがｋ−匿名性を満たすかどうかを匿名化検証部２５２へ問い合わせる（Ｓ１１７）。今回の場合、ＧＩＤ１のグループは、仮ＩＤ４０１がＩＤ４のユーザを除外した場合でもｋ−匿名性を満たすため、匿名化検証部２５２は「ＯＫ」を返す。
【０１５２】
ＩＤ変更部２５３は、選択された仮ＩＤ４０１がＩＤ４のユーザの仮ＩＤ４０１を変更する（Ｓ１１９）。具体的には、ＩＤ変更部２５３は、図２０に示すように、新しく仮ＩＤ４０１を発行（ＩＤ１２）し、仮ＩＤ４０１がＩＤ４のユーザの最新の視聴履歴４０４である８チャンネルを視聴したという情報を、仮ＩＤ４０１がＩＤ１２の視聴履歴４０４の項に記載する。ＩＤ変更部２５３は、仮ＩＤ４０１がＩＤ４の視聴履歴４０４から、最新の視聴履歴４０４である８チャンネルを視聴したという情報を消し、その代わりに時刻ｔ＋１の視聴履歴４０４としてＴＶ１００を見終わったことを示す「−」を記録する。
【０１５３】
更に、匿名化処理部２５０は、ＩＤ対応テーブル４１０を更新する。具体的には、匿名化処理部２５０は、仮ＩＤ４０１としてＩＤ４を割り当てられているＵＩＤ４のユーザに対して、ＩＤ対応テーブル４１０の仮ＩＤ４１２の項に新しい仮ＩＤ４０１であるＩＤ１２を記録し、仮ＩＤ履歴４１３の項に、ＩＤ１２を追加する。
【０１５４】
以上の処理により、図２０に示すように、仮ＩＤ４０１がＩＤ４からＩＤ１２へ変更される。
【０１５５】
匿名化処理部２５０は、処理をステップＳ１１０に戻し、再びグループ更新部２５１によるグループ更新の処理を行う。この時、仮ＩＤ４０１がＩＤ４とＩＤ１２の視聴履歴４０４が変更されているためグループ更新処理もこの２つの仮ＩＤ４０１が対象となる。ＩＤ４のユーザは、時刻ｔまで２チャンネルを視聴し、時刻ｔ＋１にはＴＶ１００を視聴しなくなったという視聴履歴４０４を持つ。仮ＩＤがＩＤ５のユーザが、ＩＤ４のユーザと同じ視聴履歴４０４を持つため、匿名化処理部２５０は、ＩＤ５と同じグループＩＤ４０２（ＧＩＤ３）をＩＤ４のユーザに設定する。一方、ＩＤ１２のユーザは、時刻ｔではＴＶ１００を視聴せず、時刻ｔ＋１で８チャンネルを見始めたという視聴履歴４０４を持つ。仮ＩＤ４０１がＩＤ９のユーザが、ＩＤ１２のユーザと同じ視聴履歴４０４を持つため、匿名化処理部２５０は、ＩＤ９と同じグループＩＤ４０２（ＧＩＤ４）をＩＤ１２のユーザに設定する。
【０１５６】
その後、匿名化検証部２５２はステップＳ１１１のｋ−匿名性のチェック処理を行う。匿名化検証部２５２は、各グループ（この場合、グループＩＤ４０２がＧＩＤ１、ＧＩＤ２、ＧＩＤ３、ＧＩＤ４、ＧＩＤ５のグループがある）がｋ−匿名性を満たしているかどうかをチェックする。今回の場合、全てのグループがｋ−匿名性を満たしている（ユーザがｋ人以上存在している）ため、匿名化検証部２５２は、ステップＳ１１１で「ＯＫ」と判定し、処理を終了する。
【０１５７】
以上の処理を行った後のユーザ管理テーブル４００を、図２１に示す。また、この場合のＩＤ対応テーブル４１０を、図２２に示す。
【０１５８】
図２３は、時刻ｔ＋２における視聴履歴の例を示す。この時、ユーザＩＤがＵＩＤ１、ＵＩＤ２、ＵＩＤ３、ＵＩＤ４のユーザは８チャンネルから４チャンネルにチャンネルを変更している。また、ユーザＩＤがＵＩＤ５のユーザは８チャンネルから４チャンネルにチャンネルを変更している。ユーザＩＤがＵＩＤ６のユーザは１０チャンネルから６チャンネルにチャンネルを変更している。ユーザＩＤがＵＩＤ７、ＵＩＤ８、ＵＩＤ９のユーザは１０チャンネルから６チャンネルにチャンネルを変更している。ユーザＩＤがＵＩＤ１０のユーザは１０チャンネルから６チャンネルにチャンネルを変更している。
【０１５９】
時刻ｔ＋２における匿名化の処理を、図１０の全体フローチャートに沿って説明する。
【０１６０】
まず、グループ更新部２５１はステップＳ１１０のグループ更新の処理を行う。この時、グループ更新部２５１は、図２４に示すユーザ管理テーブル４００のように、グループＩＤ４０２の欄に、視聴履歴４０４に応じてグループＩＤ４０２を記録する。本例においては、全てのユーザが、同じグループの他のユーザと同じようにチャンネルを変更しているため、グループＩＤ４０２の更新は行われない。
【０１６１】
その後、匿名化検証部２５２はステップＳ１１１のｋ−匿名性のチェック処理を行う。匿名化検証部２５２は、各グループ（この場合、グループＩＤ４０２がＧＩＤ１、ＧＩＤ２、ＧＩＤ３、ＧＩＤ４、ＧＩＤ５のグループがある）がｋ−匿名性を満たしているかどうかをチェックする。今回の場合、全てのグループがｋ−匿名性を満たしている（ユーザがｋ人以上存在している）ため、匿名化検証部２５２は、ステップＳ１１１で「ＯＫ」と判定し、処理を終了する。
【０１６２】
ＩＤ対応テーブル４１０は、変更がないため、図２２のままである。
【０１６３】
図２５は、時刻ｔ＋３における視聴履歴の例を示す。この時、ユーザＩＤがＵＩＤ１、ＵＩＤ２、ＵＩＤ３のユーザは４チャンネルから８チャンネルにチャンネルを変更している。また、ユーザＩＤがＵＩＤ４のユーザはＴＶ１００を見終えている。ユーザＩＤがＵＩＤ５のユーザは４チャンネルから７チャンネルにチャンネルを変更している。ユーザＩＤがＵＩＤ６、ＵＩＤ７、ＵＩＤ８のユーザは６チャンネルから８チャンネルにチャンネルを変更している。ユーザＩＤがＵＩＤ９のユーザは６チャンネルから７チャンネルにチャンネルを変更している。ユーザＩＤがＵＩＤ１０のユーザは６チャンネルから８チャンネルにチャンネルを変更している。
【０１６４】
時刻ｔ＋３における匿名化の処理を、図１０の全体フローチャートに沿って説明する。
【０１６５】
まず、グループ更新部２５１はステップＳ１１０のグループ更新の処理を行う。この時、グループ更新部２５１は、図２６に示すユーザ管理テーブル４００のように、グループＩＤ４０２の欄に、視聴履歴４０４に応じてグループＩＤ４０２を記録する。本例においては、仮ＩＤ４０１がＩＤ１、ＩＤ２、ＩＤ３のユーザは、４チャンネルから７チャンネルにチャンネルを変更しているため１つのグループに含まれ、グループＩＤ４０２はそのままのＧＩＤ１である。時刻ｔで、グループＩＤ４０２がＧＩＤ３だった仮ＩＤ４０１がＩＤ４とＩＤ５のユーザは、その後、ＴＶ１００を見ていないので、グループＩＤ４０２（ＧＩＤ３）は変更されない。時刻ｔ＋２で、グループＩＤ４０２がＧＩＤ２だった仮ＩＤ４０１がＩＤ６とＩＤ７のユーザは、６チャンネルから８チャンネルにチャンネルを変更しているため、１つのグループに含まれ、グループＩＤ４０２はそのままのＧＩＤ２である。一方、時刻ｔ＋２で、グループＩＤ４０２がＧＩＤ２だった仮ＩＤ４０１がＩＤ８のユーザは、仮ＩＤ４０１がＩＤ６、ＩＤ７のユーザとは異なり、６チャンネルから７チャンネルにチャンネルを変更しているため、グループＩＤ４０２がＧＩＤ２からＧＩＤ６へ変更される。
【０１６６】
仮ＩＤ４０１がＩＤ９のユーザは、４チャンネルから７チャンネルにチャンネルを変更しており、グループＩＤ４０２はそのままのＧＩＤ４である。一方、同じくグループＩＤ４０２がＧＩＤ４だった仮ＩＤ４０１がＩＤ１２のユーザは、ＴＶ１００を見終わっているため、グループＩＤ４０２がＧＩＤ４からＧＩＤ７へ変更される。仮ＩＤ４０１がＩＤ１０とＩＤ１１のユーザは、どちらも６チャンネルから８チャンネルへチャンネルを変更しているため、グループＩＤ４０２はＧＩＤ５のままである。
【０１６７】
その後、匿名化検証部２５２はステップＳ１１１のｋ−匿名性のチェック処理を行う。匿名化検証部２５２は、各グループ（この場合、グループＩＤ４０２がＧＩＤ１、ＧＩＤ２、ＧＩＤ３、ＧＩＤ４、ＧＩＤ５、ＧＩＤ６、ＧＩＤ７のグループがある）がｋ−匿名性を満たしているかどうかをチェックする。今回の場合、図２７に示すように、ＧＩＤ４、ＧＩＤ６、ＧＩＤ７の３つのグループがｋ−匿名性を満たしていない。そのため、匿名化検証部２５２は、ステップＳ１１１で「ＮＧ」と判定し、ステップＳ１１３以降の処理を行う。
【０１６８】
匿名化処理部２５０は、まずグループＩＤ４０２がＧＩＤ４のグループに関する処理を行う。匿名化処理部２５０は、ステップＳ１１３でＧＩＤ４のグループの履歴情報の種類を判定する。ＧＩＤ４のグループのユーザは、ＴＶ１００を継続してみているため、匿名化処理部２５０は、ステップＳ１１３で「継続」と判定する。そのため、ＩＤ変更部２５３はＧＩＤ４のグループに属しているユーザの仮ＩＤ４０１を変更する（Ｓ１１４）。具体的には、匿名化処理部２５０は、新しく仮ＩＤ４０１を発行（ＩＤ１３）し、仮ＩＤ４０１がＩＤ９のユーザの最新の視聴履歴４０４である７チャンネルを視聴したという情報を、仮ＩＤ４０１がＩＤ１３の視聴履歴４０４の項に記載する。匿名化処理部２５０は、仮ＩＤ４０１がＩＤ９の視聴履歴４０４に対して、最新の視聴履歴４０４である７チャンネルを視聴したという情報を消し、その代わりに時刻ｔ＋３の視聴履歴４０４としてＴＶ１００を見終わったことを示す「−」を記録する。
【０１６９】
更に、匿名化処理部２５０は、ＩＤ対応テーブル４１０を更新する。具体的には、匿名化処理部２５０は、仮ＩＤ４０１としてＩＤ９を割り当てられているＵＩＤ５のユーザに対して、ＩＤ対応テーブル４１０の仮ＩＤ４１２の項に新しい仮ＩＤ４０１であるＩＤ１３を記録し、仮ＩＤ履歴４１３の項に、ＩＤ１３を追加する。
【０１７０】
以上の処理により、図２７に示すように、仮ＩＤ４０１がＩＤ９からＩＤ１３へ変更される。
【０１７１】
匿名化処理部２５０は、処理をステップＳ１１０に戻し、再びグループ更新部２５１によるグループ更新の処理を行う。この時、仮ＩＤ４０１がＩＤ９とＩＤ１３の視聴履歴４０４が変更されているためグループ更新処理もこの２つの仮ＩＤ４０１が対象となる。仮ＩＤ４０１がＩＤ９のユーザは、時刻ｔ＋２まで８チャンネル及び４チャンネルを視聴し、時刻ｔ＋３にはＴＶ１００を視聴しなくなったという視聴履歴４０４を持つ。仮ＩＤ４０１がＩＤ１２のユーザが、ＩＤ９のユーザと同じ視聴履歴４０４を持つため、匿名化処理部２５０は、ＩＤ９と同じグループＩＤ４０２（ＧＩＤ４）をＩＤ１２のユーザに設定する。仮ＩＤ４０１がＩＤ１３のユーザは、時刻ｔ＋３で７チャンネルを見始めたという視聴履歴４０４を持つ。ＩＤ１３と同じ視聴履歴４０４を持つユーザが他にいないため、匿名化処理部２５０は、グループＩＤ４０２にＧＩＤ７を設定する。
【０１７２】
その後、匿名化検証部２５２はステップＳ１１１のｋ−匿名性のチェック処理を行う。匿名化検証部２５２は、各グループ（この場合、グループＩＤ４０２がＧＩＤ１、ＧＩＤ２、ＧＩＤ３、ＧＩＤ４、ＧＩＤ５、ＧＩＤ６、ＧＩＤ７のグループがある）がｋ−匿名性を満たしているかどうかをチェックする。今回の場合、図２８に示すように、ＧＩＤ６とＧＩＤ７の２つのグループがｋ−匿名性を満たしていない。そのため、匿名化検証部２５２は、ステップＳ１１１で「ＮＧ」と判定し、ステップＳ１１３以降の処理を行う。
【０１７３】
匿名化処理部２５０は、まずグループＩＤ４０２がＧＩＤ６のグループに関する処理を行う。匿名化処理部２５０は、ステップＳ１１３でＧＩＤ６のグループの履歴情報の種類を判定する。ＧＩＤ６のグループのユーザは、ＴＶ１００を継続してみているため、匿名化処理部２５０は、ステップＳ１１３で「継続」と判定する。そのため、ＩＤ変更部２５３はＧＩＤ６のグループに属しているユーザの仮ＩＤ４０１を変更する（Ｓ１１４）。具体的には、匿名化処理部２５０は、新しく仮ＩＤ４０１を発行（ＩＤ１４）し、仮ＩＤ４０１がＩＤ８のユーザの最新の視聴履歴４０４である７チャンネルを視聴したという情報を、仮ＩＤ４０１がＩＤ１４の視聴履歴４０４の項に記載する。匿名化処理部２５０は、仮ＩＤ４０１がＩＤ８の視聴履歴４０４に対して、最新の視聴履歴４０４である７チャンネルを視聴したという情報を消し、その代わりに時刻ｔ＋３の視聴履歴４０４としてＴＶ１００を見終わったことを示す「−」を記録する。
【０１７４】
更に、匿名化処理部２５０は、ＩＤ対応テーブル４１０を更新する。具体的には、匿名化処理部２５０は、仮ＩＤ４０１としてＩＤ８を割り当てられているＵＩＤ９のユーザに対して、ＩＤ対応テーブル４１０の仮ＩＤ４１２の項に新しい仮ＩＤ４０１であるＩＤ１４を記録し、仮ＩＤ履歴４１３の項に、ＩＤ１４を追加する。
【０１７５】
以上の処理により、図２８に示すように、仮ＩＤ４０１がＩＤ８からＩＤ１４へ変更される。
【０１７６】
匿名化処理部２５０は、処理をステップＳ１１０に戻し、再びグループ更新部２５１によるグループ更新の処理を行う。この時、仮ＩＤ４０１がＩＤ８とＩＤ１４の視聴履歴４０４が変更されているためグループ更新処理もこの２つの仮ＩＤ４０１が対象となる。仮ＩＤ４０１がＩＤ８のユーザは、時刻ｔ＋２まで４チャンネル、１０チャンネル及び６チャンネルを視聴し、時刻ｔ＋３にはＴＶ１００を視聴しなくなったという視聴履歴４０４を持つ。ＩＤ８と同じ視聴履歴４０４を持つユーザが他にいないため、グループＩＤ４０２はＧＩＤ６のままである。仮ＩＤ４０１がＩＤ１４のユーザは、時刻ｔ＋３で７チャンネルを見始めたという視聴履歴４０４を持つ。仮ＩＤ４０１がＩＤ１３のユーザが、ＩＤ１４のユーザと同じ視聴履歴４０４を持つため、匿名化処理部２５０は、ＩＤ１３と同じグループＩＤ４０２（ＧＩＤ７）をＩＤ１４のユーザに設定する。設定後のユーザ管理テーブル４００は、図２９のようになる。
【０１７７】
その後、匿名化検証部２５２はステップＳ１１１のｋ−匿名性のチェック処理を行う。匿名化検証部２５２は、各グループ（この場合、グループＩＤ４０２がＧＩＤ１、ＧＩＤ２、ＧＩＤ３、ＧＩＤ４、ＧＩＤ５、ＧＩＤ６、ＧＩＤ７のグループがある）がｋ−匿名性を満たしているかどうかをチェックする。今回の場合、ＧＩＤ６のグループがｋ−匿名性を満たしていない。そのため、匿名化検証部２５２は、ステップＳ１１１で「ＮＧ」と判定し、ステップＳ１１３以降の処理を行う。
【０１７８】
匿名化処理部２５０は、グループＩＤ４０２がＧＩＤ６のグループに関する処理を行う。匿名化処理部２５０は、ステップＳ１１３でＧＩＤ６のグループの履歴情報の種類を判定する。ＧＩＤ６のグループのユーザは、ＴＶ１００を見終わっているため、匿名化処理部２５０は、ステップＳ１１３で「終了」と判定する。
【０１７９】
他Ｇユーザ選択部２５４は、対象グループであるＧＩＤ６のグループと時刻ｔ＋２まで視聴履歴４０４が同じ他のグループ、つまり、時刻ｔ＋３のグループ更新処理でグループＩＤ４０２が更新されるまでＧＩＤ６のグループと同じグループだった他のグループ（この場合、ＧＩＤ２のグループ）から１つのグループを選択し、その中からＧＩＤ６のグループがｋ−匿名性を満たすために必要な数のユーザを選択する（Ｓ１１５）。今回の場合は、ＧＩＤ２のグループがｋ−匿名性を満たすためには後１人のユーザが必要である。ここでは、他Ｇユーザ選択部２５４は、仮ＩＤ４０１がＩＤ７のユーザを選択する。
【０１８０】
他Ｇユーザ選択部２５４は、仮ＩＤ４０１がＩＤ７のユーザをＧＩＤ２のグループから除外したときに、ＧＩＤ２のグループがｋ−匿名性を満たすかどうかを匿名化検証部２５２へ問い合わせる（Ｓ１１７）。今回の場合、ＧＩＤ２のグループは、仮ＩＤ４０１がＩＤ７のユーザを除外した場合、ｋ−匿名性を満たすことができないため、匿名化検証部２５２は「ＮＧ」を返す。
【０１８１】
他Ｇユーザ選択部２５４は、ステップＳ１１７で「ＮＧ」と判定されたため、ステップＳ１１８の全ユーザの選択処理を行う。ここでは、他Ｇユーザ選択部２５４は、グループＩＤ４０２がＧＩＤ２の残りのメンバーである仮ＩＤ４０１がＩＤ６のユーザも選択する。
【０１８２】
ＩＤ変更部２５３は、選択された仮ＩＤ４０１がＩＤ６及びＩＤ７のユーザの仮ＩＤ４０１を変更する（Ｓ１１９）。具体的には、ＩＤ変更部２５３は、図２９に示すように、新しく仮ＩＤ４０１を２つ発行（ＩＤ１５及びＩＤ１６）し、仮ＩＤ４０１がＩＤ６とＩＤ７のユーザの最新の視聴履歴４０４である８チャンネルを視聴したという情報を、仮ＩＤ４０１がＩＤ１５とＩＤ１６の視聴履歴４０４の項に記載する。ＩＤ変更部２５３は、仮ＩＤ４０１がＩＤ６とＩＤ７の視聴履歴４０４に対して、最新の視聴履歴４０４である８チャンネルを視聴したという情報を消し、その代わりに時刻ｔ＋３の視聴履歴４０４としてＴＶ１００を見終わったことを示す「−」を記録する。
【０１８３】
更に、匿名化処理部２５０は、ＩＤ対応テーブル４１０を更新する。具体的には、匿名化処理部２５０は、仮ＩＤ４０１としてＩＤ６を割り当てられているＵＩＤ７のユーザに対して、ＩＤ対応テーブル４１０の仮ＩＤ４１２の項に新しい仮ＩＤ４０１であるＩＤ１５を記録し、仮ＩＤ履歴４１３の項に、ＩＤ１５を追加する。更に、仮ＩＤ４０１としてＩＤ７を割り当てられているＵＩＤ８のユーザに対して、ＩＤ対応テーブル４１０の仮ＩＤ４１２の項に新しい仮ＩＤ４０１であるＩＤ１６を記録し、仮ＩＤ履歴４１３の項に、ＩＤ１６を追加する。
【０１８４】
以上の処理により、図２９に示すように、仮ＩＤ４０１がＩＤ６からＩＤ１５へ変更され、仮ＩＤ４０１がＩＤ７からＩＤ１６へ変更される。
【０１８５】
匿名化処理部２５０は、処理をステップＳ１１０に戻し、再びグループ更新部２５１によるグループ更新の処理を行う。この時、仮ＩＤ４０１がＩＤ６、ＩＤ７、ＩＤ１５、ＩＤ１６の視聴履歴４０４が変更されているためグループ更新処理もこの４つの仮ＩＤ４０１が対象となる。仮ＩＤ４０１がＩＤ６のユーザは、時刻ｔ＋２まで４チャンネル、１０チャンネル及び６チャンネルを視聴し、時刻ｔ＋３にはＴＶ１００を視聴しなくなったという視聴履歴４０４を持つ。仮ＩＤ４０１がＩＤ７のユーザが、ＩＤ８のユーザと同じ視聴履歴４０４を持つため、匿名化処理部２５０は、ＩＤ７と同じグループＩＤ４０２（ＧＩＤ２）をＩＤ８のユーザに設定する。仮ＩＤ４０１がＩＤ１５のユーザは、時刻ｔ＋３で８チャンネルを見始めたという視聴履歴４０４を持つ。仮ＩＤ４０１がＩＤ１６のユーザが、ＩＤ１５のユーザと同じ視聴履歴４０４を持つため、匿名化処理部２５０は、同じグループＩＤ４０２（ＧＩＤ６）を仮ＩＤ４０１がＩＤ１５及びＩＤ１６のユーザに設定する。
【０１８６】
その後、匿名化検証部２５２はステップＳ１１１のｋ−匿名性のチェック処理を行う。匿名化検証部２５２は、各グループ（この場合、グループＩＤ４０２がＧＩＤ１、ＧＩＤ２、ＧＩＤ３、ＧＩＤ４、ＧＩＤ５、ＧＩＤ６、ＧＩＤ７のグループがある）がｋ−匿名性を満たしているかどうかをチェックする。今回の場合、全てのグループがｋ−匿名性を満たしている（ユーザがｋ人以上存在している）ため、匿名化検証部２５２は、ステップＳ１１１で「ＯＫ」と判定し、処理を終了する。
【０１８７】
以上の処理を行った後のユーザ管理テーブル４００を図３０に示す。また、この場合のＩＤ対応テーブル４１０を図３１に示す。
【０１８８】
［３．その他変形例］
なお、本開示を上記各実施の形態に基づいて説明してきたが、本開示は、上記各実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
【０１８９】
（１）上記実施の形態では、図１３におけるステップＳ４０１で「ＮＧ」と判定された場合、及び図１３におけるステップＳ４０５で「ＮＧ」と判定された場合、収集サーバ２００は、他のグループのユーザを選択し、選択したユーザのＩＤを変更することで、可能な限り視聴履歴４０４を分析サーバ３００へ送信できるようにしているが、これに限定するわけではない。例えば、図３２に示すように、一度選択したユーザの選択を取り消し、視聴履歴４０４を送信しないように設定してもよい。
【０１９０】
具体的には、収集サーバ２００は、ステップＳ４０５で「ＮＧ」と判定した場合には、ステップＳ４０４で選択した他のグループのユーザの選択を取り消す（Ｓ４１１）。次に、収集サーバ２００は、ｋ−匿名性を満たしていない対象グループの送信可否フラグ４０３を送信不可に設定する（Ｓ４１２）。これにより、対象グループの視聴履歴４０４が送信されないように設定される。
【０１９１】
（２）上記実施の形態では、収集サーバ２００は、ユーザが視聴しているチャンネルを履歴情報として収集するとしたが、これに限定するわけではない。例えば、収集サーバ２００は、ユーザがどのチャンネルを視聴しようか迷っている場合などのように、ユーザがチャンネルを短時間で切り替えている状態を履歴情報として収集してもよい。また、収集サーバ２００は、このような状態を特殊なチャンネルを視聴しているとみなし、実際のチャンネルとは異なるチャンネルの情報を履歴情報として収集してもよい。つまり、収集サーバ２００は、視聴履歴の変更の間隔が閾値より短い場合、当該視聴履歴を特殊チャンネルを視聴していることを示す履歴情報に変更する。これにより、実際にチャンネルが異なる場合でも同じ履歴情報とみなすことができ、仮ＩＤ４０１の変更を少なくすることができる。
【０１９２】
例えば、図３３に示すＩＤ６及びＩＤ７のように、チャンネルが短時間で切り替えられた場合には、特殊状態を示す視聴履歴４０４が設定される。また、この特殊状態を含め同じ視聴履歴４０４を有する仮ＩＤ４０１が同じグループに割り当てられる。
【０１９３】
（３）上記実施の形態の匿名化処理の具体例では、収集サーバ２００は、匿名性を満たさなかったグループのうちグループＩＤ４０２の小さいグループからステップＳ１１３以降の処理を行ったが、これに限定するわけではない。例えば、収集サーバ２００は、グループＩＤ４０２の大きいグループから処理を行ってもよいし、任意の順番で処理を行ってもよい。また、収集サーバ２００は、全てのグループに含まれるユーザのうち仮ＩＤ４０１が一番小さいユーザを含むグループから処理をしてもよいし、一番大きいユーザを含むグループから処理をしてもよい。さらに、収集サーバ２００は、ステップＳ１１３で履歴の種類が「継続」と判定されるグループ、「終了」と判定されるグループ、「新規」と判定されるグループの順番で処理をしてもよいし、ステップＳ１１３で履歴の種類が「継続」と判定されるグループ、「新規」と判定されるグループ、「終了」と判定されるグループの順番で処理をしてもよい。
【０１９４】
（４）上記実施の形態の匿名化処理の具体例では、収集サーバ２００は、ステップＳ１１３以降の処理において、１つのグループの処理をするごとに、ステップＳ１１０に戻っていたが、これに限定するわけではなく、ステップＳ１１１で匿名性を満たしていないと判定されたグループ全ての処理を行ってからステップＳ１１０へ戻ってもよい。
【０１９５】
また、収集サーバ２００は、ステップＳ１１３で判定される履歴の種類ごとに処理を行ってもよい。例えば、収集サーバ２００は、ステップＳ１１３で「継続」と判定される全てのグループの処理を行った後に、ステップＳ１１０へ戻り、ステップＳ１１３で「継続」と判定されるグループがない場合、「終了」と判定される全てのグループの処理を行い、その後、ステップＳ１１０へ戻る。当然、「継続」、「終了」等どの履歴の種類のグループをどの順番で処理するかは、これ以外の順番であってもよい。
【０１９６】
これにより、収集サーバ２００は、少ない繰り返し数で処理を終了することができる。
【０１９７】
（５）上記実施の形態の匿名化処理の具体例では、他グループユーザ選択部２５４がグループを選択する場合において、選択対象のグループが１つしか存在していなかったが、選択対象のグループが複数存在する場合には、収集サーバ２００は、以下の処理を行う。例えば、収集サーバ２００は、選択対象のグループのうち、グループＩＤ４０２の一番小さいグループを選択してもよいし、グループＩＤ４０２の一番大きいグループを選択してもよい。または、収集サーバ２００は、グループに含まれるユーザの数に基づき選択するグループを決定してもよい。例えば、収集サーバ２００は、ユーザ数が一番多いグループを選択してもよいし、必要なユーザ数以上で、かつ、必要なユーザ数に一番近いグループを選択してもよいし、必要なユーザ数を除いても匿名性を満たすことができるグループから任意のグループを選択してもよい。更に、収集サーバ２００は、履歴情報に基づき選択するグループを決定してもよい。例えば、収集サーバ２００は、最新の履歴情報と同じ履歴情報だけを持つグループが他にも存在しているグループを選択してもよいし、最新の履歴情報以外の履歴情報と同じ履歴情報だけを持つグループが他にも存在しているグループを選択してもよい。
【０１９８】
これにより、収集サーバ２００は、ＩＤが変更されるユーザ数が少なくなるようにグループを選択することができるので、分析に対して有用な情報を残すことができる。
【０１９９】
（６）上記実施の形態では、全ユーザが同時にチャンネルを変更している例を示したが、これに限定するわけではなく、一部のユーザがチャンネルを変更しなくてもよい。また、ユーザが任意のタイミングでチャンネルを変更し、この情報が履歴情報として送信されてもよい。この場合、ある一定間隔でチャンネルの変更を揃えるように収集サーバ２００で履歴情報を加工してもよい。
【０２００】
（７）上記実施の形態では、視聴履歴が、視聴しているチャンネルの情報である例を説明したが、これに限定するわけではなく、視聴履歴は、視聴している番組名を示す情報でもよい。
【０２０１】
（８）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、及びマウスなどから構成されるコンピュータシステムであってもよい。ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０２０２】
（９）上記の各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。ＲＡＭには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。
【０２０３】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０２０４】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０２０５】
更に、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０２０６】
（１０）上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。ＩＣカード又はモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。ＩＣカード又はモジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ＩＣカード又はモジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【０２０７】
（１１）本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０２０８】
また、本開示は、コンピュータプログラム又はデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０２０９】
また、本開示は、コンピュータプログラム又はデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０２１０】
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしてもよい。
【０２１１】
また、プログラム又はデジタル信号を記録媒体に記録して移送することにより、又はプログラム又はデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２１２】
（１２）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０２１３】
以上、一つまたは複数の態様に係る履歴情報匿名化装置について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０２１４】
本開示は、履歴情報を匿名化するシステムにおいて、ｋ−匿名性を満たした状態で、可能な限りＩＤを変更することなく履歴情報の匿名化が可能であり、第３者への履歴情報提供システム等として有用である。
【符号の説明】
【０２１５】
１０  履歴情報匿名化システム
１００  ＴＶ
１０１、２０１  履歴情報
１１０  個人情報入力部
１２０  履歴情報収集部
１３０  情報提供部
２００  収集サーバ
２１０  情報入力部
２２０  個人情報管理部
２３０  履歴情報管理部
２４０  データ保持部
２５０  匿名化処理部
２５１  グループ更新部
２５２  匿名化検証部
２５３  ＩＤ変更部
２５４  他グループユーザ選択部（他Ｇユーザ選択部）
２６０  情報送信部
３００  分析サーバ
３１０  情報受信部
３２０  匿名化情報管理部
３３０  匿名化情報保持部
３４０  分析部
３５０  分析結果表示部
４００  ユーザ管理テーブル
４０１、４１２  仮ＩＤ
４０２  グループＩＤ
４０３  送信可否フラグ
４０４  視聴履歴
４１０  ＩＤ対応テーブル
４１１  ユーザＩＤ
４１３  仮ＩＤ履歴
【図１】
2020091916.tif 000003
【図２】
2020091916.tif 000004
【図３】
2020091916.tif 000005
【図４】
2020091916.tif 000006
【図５】
2020091916.tif 000007
【図６】
2020091916.tif 000008
【図７】
2020091916.tif 000009
【図８】
2020091916.tif 000010
【図９】
2020091916.tif 000011
【図１０】
2020091916.tif 000012
【図１１】
2020091916.tif 000013
【図１２】
2020091916.tif 000014
【図１３】
2020091916.tif 000015
【図１４】
2020091916.tif 000016
【図１５】
2020091916.tif 000017
【図１６】
2020091916.tif 000018
【図１７】
2020091916.tif 000019
【図１８】
2020091916.tif 000020
【図１９】
2020091916.tif 000021
【図２０】
2020091916.tif 000022
【図２１】
2020091916.tif 000023
【図２２】
2020091916.tif 000024
【図２３】
2020091916.tif 000025
【図２４】
2020091916.tif 000026
【図２５】
2020091916.tif 000027
【図２６】
2020091916.tif 000028
【図２７】
2020091916.tif 000029
【図２８】
2020091916.tif 000030
【図２９】
2020091916.tif 000031
【図３０】
2020091916.tif 000032
【図３１】
2020091916.tif 000033
【図３２】
2020091916.tif 000034
【図３３】
2020091916.tif 000035