(57)【特許請求の範囲】
【請求項１】
コンピュータが実行する位置情報匿名化方法であって、
複数の位置情報を取得する位置情報取得ステップと、
前記複数の位置情報を、ｋ（ｋは正の整数）個以上の位置情報を含む匿名化領域で置き換える匿名化ステップと、
を含み、
前記匿名化ステップでは、前記匿名化領域を、木構造により階層化された複数の領域のうちの匿名化対象の位置情報を含むいずれかの階層の領域Ｒ１から１つまたは複数の下位階層の領域Ｒ２を除いた領域Ｒ３として決定する、
位置情報匿名化方法。
【請求項２】
前記領域Ｒ２および領域Ｒ３はいずれも、位置情報をｋ個以上含む領域である、
請求項１に記載の位置情報匿名化方法。
【請求項３】
前記領域Ｒ１は、下記条件１および条件２を満たす最も下位の階層の領域である、
請求項２に記載の位置情報匿名化方法。
（条件１）領域Ｒ１は、匿名化対象の位置情報を含む最下位階層の領域または当該最下位階層の領域の１または複数階層上位の領域のいずれかである。
（条件２）領域Ｒ１の１または複数階層下位の領域であってｋ個以上の位置情報を含む領域Ｒ２を領域Ｒ１から除いた領域Ｒ３に含まれる位置情報の数がｋ個以上である。
【請求項４】
前記匿名化ステップにおいて、上記の条件を満たす領域Ｒ１が最下位階層から所定階層以内に存在しない場合には、前記匿名化対象の位置情報を破棄する、
請求項３に記載の位置情報匿名化方法。
【請求項５】
前記木構造により構造化された複数の領域のうち、最下位階層の領域は、互いに重複しない、
請求項１から４のいずれか１項に記載の位置情報匿名化方法。
【請求項６】
前記匿名化ステップにおいて、前記匿名化領域は、領域Ｒ１を示す情報と領域Ｒ２を示す情報とによって表される、
請求項１から５のいずれか１項に記載の位置情報匿名化方法。
【請求項７】
前記匿名化ステップにおいて、前記匿名化領域は、領域Ｒ３に含まれる領域Ｒ１の下位階層の領域を示す情報によって表される、
請求項１から５のいずれか１項に記載の位置情報匿名化方法。
【請求項８】
前記匿名化ステップは、
前記匿名化対象の位置情報を含む最下位階層の領域を判定対象領域に設定する第１工程と、
前記判定対象領域に含まれる位置情報の数がｋ個以上であるか判定する第２工程と、
前記第２工程における判定が肯定判定であれば、前記匿名化対象の位置情報を、前記第２工程における前記判定対象領域を示す情報に置換する第３工程と、
前記第２工程における判定が否定判定であれば、前記第２工程における前記判定対象領域の親階層の領域のうち、ｋ個以上の位置情報を含む当該親階層の子階層の領域を除いた領域を、判定対象領域として再設定する第４工程と、
を含み、
第４工程の後、前記第２工程以降の処理を再度実行する、
請求項１から７のいずれか１項に記載の位置情報匿名化方法。
【請求項９】
繰り返し処理における前記第２工程の判定が所定回数続けて否定判定であれば、繰り返し処理を終了し、前記匿名化対象の位置情報を破棄する、
請求項８に記載の位置情報匿名化方法。
【請求項１０】
前記匿名化ステップは、
階層化された複数の領域のそれぞれについて、当該領域に含まれる位置情報の数を求める前処理工程と、
前記前処理工程の結果に基づいて、匿名化対象の位置情報を含む最下位階層の領域から上位階層の領域に順に処理を行って、ｋ個以上の位置情報を含む下位階層の領域Ｒ２を除いた領域Ｒ３に含まれる位置情報の数がｋ個以上となる領域Ｒ１を探索し、最初に条件を満たした領域Ｒ３で匿名化対象の位置情報を置き換える匿名化工程と、
を含む、請求項１から７のいずれか１項に記載の位置情報匿名化方法。
【請求項１１】
前記前処理工程では、複数の領域のそれぞれについて、当該領域の下位階層の領域のうちｋ個以上の領域を除いた領域に含まれる位置情報の数を求める、
請求項１０に記載の位置情報匿名化方法。
【請求項１２】
コンピュータが実行する移動情報匿名化方法であって、
出発地と目的地の位置情報を含む移動情報を複数取得する移動情報取得ステップと、
前記複数の移動情報を、出発地と目的地を表す情報を置き換えて同一の出発地と目的地を表す移動情報がｋ（ｋは正の整数）個以上となるように匿名化する匿名化ステップと、
を含み、
前記匿名化ステップでは、木構造により構造化された複数の領域の中から、下記条件１から条件４を満たす領域Ｓ１と領域Ｄ１の組み合わせ、および領域Ｓ２と領域Ｄ２の組み合わせを求め、匿名化対象の移動情報を、領域Ｓ１を出発地とし領域Ｄ１を目的地とする移動から、領域Ｓ２を出発地とし領域Ｄ２を目的地とする移動を除いた移動を示す情報に置き換える、
移動情報匿名化方法。
（条件１）領域Ｓ１は、匿名化対象の移動情報の出発地を含む最下位階層の領域または当該最下位階層の領域の１または複数階層上位の領域のいずれかである。
（条件２）領域Ｄ１は、匿名化対象の移動情報の目的地を含む最下位階層の領域または当
該最下位階層の領域の１または複数階層上位の領域のいずれかである。
（条件３）領域Ｓ２は、領域Ｓ１または領域Ｓ１の１または複数階層下位の領域であり、領域Ｄ２は、領域Ｄ１または領域のＤ１の１または複数階層下位の領域であり、領域Ｓ２を出発地とし領域Ｄ２を目的地とする移動情報の数がｋ個以上である。ただし、領域Ｓ２が領域Ｓ１でありかつ領域Ｄ２が領域Ｄ１である場合を除く。
（条件４）領域Ｓ１を出発地とし領域Ｄ１を目的地とする移動情報から、領域Ｓ２を出発地とし領域Ｄ２を目的地とする移動情報を除いた移動情報の数がｋ個以上である。
【請求項１３】
請求項１から１２のいずれか１項に記載の方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１４】
複数の位置情報を取得する位置情報取得手段と、
前記複数の位置情報を、ｋ（ｋは正の整数）個以上の位置情報を含む匿名化領域で置き換える匿名化手段と、
を備える位置情報匿名化装置であって、
前記匿名化手段は、前記匿名化領域を、木構造により階層化された複数の領域にうちの匿名化対象の位置情報を含むいずれかの階層の領域Ｒ１から１つまたは複数の下位階層の領域Ｒ２を除いた領域Ｒ３として決定する、
位置情報匿名化装置。
【請求項１５】
出発地と目的地の位置情報を含む移動情報を複数取得する移動情報取得手段と、
前記複数の移動情報を、出発地と目的地を表す情報を置き換えて同一の出発地と目的地を表す移動情報がｋ（ｋは正の整数）個以上となるように匿名化する匿名化手段と、
を備える移動情報匿名化装置であって、
前記匿名化手段は、木構造により構造化された複数の領域の中から、下記条件１から条件４を満たす領域Ｓ１と領域Ｄ１の組み合わせ、および領域Ｓ２と領域Ｄ２の組み合わせを求め、匿名化対象の移動情報を、領域Ｓ１を出発地とし領域Ｄ１を目的地とする移動から、領域Ｓ２を出発地とし領域Ｄ２を目的地とする移動を除いた移動を示す情報に置き換える、
移動情報匿名化装置。
（条件１）領域Ｓ１は、匿名化対象の移動情報の出発地を含む最下位階層の領域または当該最下位階層の領域の１または複数階層上位の領域のいずれかである。
（条件２）領域Ｄ１は、匿名化対象の移動情報の目的地を含む最下位階層の領域または当該最下位階層の領域の１または複数階層上位の領域のいずれかである。
（条件３）領域Ｓ２は、領域Ｓ１または領域Ｓ１の１または複数階層下位の領域であり、領域Ｄ２は、領域Ｄ１または領域のＤ１の１または複数階層下位の領域であり、領域Ｓ２を出発地とし領域Ｄ２を目的地とする移動情報の数がｋ個以上である。ただし、領域Ｓ２が領域Ｓ１でありかつ領域Ｄ２が領域Ｄ１である場合を除く。
（条件４）領域Ｓ１を出発地とし領域Ｄ１を目的地とする移動情報から、領域Ｓ２を出発地とし領域Ｄ２を目的地とする移動情報を除いた移動情報の数がｋ個以上である。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置情報および移動情報を匿名化する技術に関する。
【背景技術】
【０００２】
近年の情報通信技術の発展に伴い、ユーザから位置情報を収集することが容易になり、収集した位置情報を用いて各種のサービスを提供することが行われている。例えば、車両あるいはスマートフォンから位置情報の履歴を収集し、ユーザの移動経路を解析して有用な情報を提供することが行われている。ここで、ユーザの位置情報や移動経路情報はプライバシーにかかわる個人情報であるため、個人を特定できないように匿名化することが望まれている。
【０００３】
個人情報を保護する技術としてｋ匿名化がある。ｋ匿名化とは、同じ属性を有する人がｋ人以上いるように情報を加工することである。例えば、特許文献１では、所定のランドマークを中心とする領域内にｋ個以上の位置情報が存在するように領域の半径を拡張し、位置情報をこのような領域で置き換えることで、ｋ匿名化を行っている。
【０００４】
特許文献２では、地域の人口密度によって、どの住所階層（町名、何丁目、何番地など）を代表する位置座標として利用すれば匿名化が十分であるかが変わるという着想を開示する。より具体的には、位置情報（緯度経度情報）の一部を乱数で置き換える際に、当該位置の人口密度に基づいて、緯度経度情報の小数点何桁目以降を乱数で置換するかを決定している。
【０００５】
特許文献３は、行動履歴を匿名化する技術を開示し、ユーザの行動履歴を有向グラフで表し、複数の有向グラフを重ね合わせるマージ処理を行った後に、ｋ個以上の分岐がないノードであり、かつ、下流ノードがｋ個以上の分岐を持たない場合に、当該ノードの下流ノードを削除している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−１４７１９９号公報
【特許文献２】特開２０１１−１２３７１２号公報
【特許文献３】特開２０１３−１１４４４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の手法は、ランドマークを中心として領域を拡張しているので、領域を拡張した際に拡張後の領域が重複することがあり得る。特許文献１では、このような重複が生じたときにどのように対処するかは記載されていない。また、ランドマークから離れた局所的な領域に位置情報が多く存在する場合も、ランドマークを中心とする領域を用いて匿名化するので、より小さい領域でも十分な匿名化ができるにもかかわらず大きな領域に変換されてしまうという問題もある。
【０００８】
特許文献２の手法は、人口密度に基づいて匿名化を行っており、匿名化を行う位置情報そのものに基づいていない。したがって、人口密度の多い地域であっても匿名化対象の位置情報の数が少ない場合もあり、そのような場合には十分な匿名化が行われない。
【０００９】
特許文献３の手法は、行動履歴を匿名化するものであり、位置情報そのものを匿名化す
る用途には適しない。
【００１０】
上記のような問題を考慮して、本発明は、簡易な処理により位置情報を適切に匿名化可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明に係る位置情報匿名化方法は、位置情報を領域情報に変換する際に、地理的な階層構造を有する領域を用いて、領域に含まれる位置情報の数がｋ個以上となるように、位置情報を置き換える領域を決定する。
【００１２】
具体的には、本発明の一態様は、コンピュータが実行する位置情報匿名化方法であって、複数の位置情報を取得する位置情報取得ステップと、前記複数の位置情報を、ｋ（ｋは正の整数）個以上の位置情報を含む匿名化領域で置き換える匿名化ステップと、を含み、前記匿名化ステップでは、前記匿名化領域を、木構造により構造化された複数の領域のうち匿名化対象の位置情報を含むいずれかの階層の領域Ｒ１から１つまたは複数の下位階層の領域Ｒ２を除いた領域Ｒ３として決定する、ことを特徴とする。
【００１３】
本発明における木構造により構造化（階層化）された領域とは、最下位階層（葉ノードに相当）の複数の領域と、最下位階層の領域をいくつか含んで構成される１階層上位の階層（親ノードに相当）の領域とを含み、このような階層化が２階層以上にわたって行われている領域である。ここで、最下位階層の領域は、互いに重複がないことが好ましい。また、最下位階層の領域は、所定の広さの地理範囲を漏れなく網羅していることが好ましい。
【００１４】
このように構造化された領域を用いることで、各領域は１つの上位階層の領域のみに含まれることになり、複数の上位階層の領域に含まれることはない。ある領域においてｋ匿名性を満たさない場合は、領域を拡張する必要が生じるが、この際に拡張領域の決定が容易である。
【００１５】
また、本発明の匿名化ステップにおいて、領域Ｒ２は位置情報をｋ個以上含む領域として決定され、領域Ｒ３は位置情報をｋ個以上含む領域として決定されることが好ましい。すなわち、領域Ｒ３は、領域Ｒ１の部分木に相当する領域のうちｋ個以上の位置情報を含まない領域の集合であり、かつ、領域Ｒ３全体としてｋ個以上の位置情報を含むように決定されることが好ましい。領域Ｒ２は、領域Ｒ１の子階層の領域のうち位置情報をｋ個以上含むという条件を満たす全ての領域である。領域Ｒ２は、１つのみ存在することも、２つ以上存在することも、１つも存在しない場合もある。領域Ｒ２が存在しない場合には、領域Ｒ３は領域Ｒ１と等しくなる。また、領域Ｒ１は、最下位階層の領域であってもよい。
【００１６】
以上をまとめると、前記匿名化ステップは、木構造により構造化された複数の領域の中から、下記条件を満たす領域Ｒ１〜Ｒ３を求め、前記匿名化対象の位置情報を領域Ｒ３を示す情報に置換するステップであると特定することもできる。
（条件１）領域Ｒ１は、匿名化対象の位置情報を含む最下位階層の領域または当該最下位階層の領域の１または複数階層上位の領域のいずれかである。
（条件２）領域Ｒ１の１または複数階層下位の領域であってｋ個以上の位置情報を含む領域Ｒ２を領域Ｒ１から除いた領域Ｒ３に含まれる位置情報の数がｋ個以上である。
なお、上記の条件２は領域Ｒ２が存在することを要請するものではない。また、これらの条件を満たす領域Ｒ１が複数存在する場合には、条件を満たすものの中で最も下位の階層の領域を領域Ｒ１とすることが好ましい。
【００１７】
このように本発明においては、必ずしもある階層の領域全体を匿名化領域とするのではなく、ｋ匿名性を満たすような部分木に相当するは除外して、ｋ匿名性を満たさない部分木から構成される領域であるが全体ではｋ匿名性を満たすような領域を匿名化領域としている。したがって、複数ある下位階層の領域のうち特定の領域に位置情報が多量（ｋ個以上）に存在し、その他の各領域に含まれる位置情報が少ない場合に、多くの位置情報が存在する領域は狭い（下位階層の）領域を用いて匿名化を実施できるとともに、位置情報が少ない領域については複数の下位階層からなるより上位階層の領域（上位階層の領域から一部の下位階層の領域を除いた領域）を用いて匿名化が実施できる。したがって、ｋ匿名性を満たす範囲でデータの曖昧化を最小限とすることができる。また、このような処理は、領域が構造化されているので容易に行うことができる。
【００１８】
本発明における匿名化ステップにおいて、領域Ｒ１から領域Ｒ２を除外した匿名化領域Ｒ３、すなわち位置情報を置き換える領域情報をどのように表現するかは特に限定されない。例えば、匿名化領域Ｒ３を、領域Ｒ１を示す情報と領域Ｒ２を示す情報とによって表すことができる。すなわち、匿名化領域Ｒ３を示す情報を、領域Ｒ１を示す情報と、そこから除外すべき領域Ｒ２を示す情報として表現することができる。あるいは、匿名化領域Ｒ３を、領域Ｒ３に含まれるＲ１の下位階層の領域を列挙した情報を採用することができる。なお、領域を示す情報とは、当該領域を特定可能な情報であれば任意であってよく、領域の識別子などが該当する。
【００１９】
また、本発明における匿名化ステップでは、上記の条件を満たす領域Ｒ１が最下位階層から所定階層以内に存在しない場合には、匿名化対象の位置情報の匿名化はできないものとして破棄することも好ましい。ここでの所定階層は、それよりも上位の階層の領域を用いて匿名化を行うと、曖昧化の程度が強すぎて匿名化後の位置情報を有効利用できないような階層数である。
【００２０】
本発明における匿名化ステップは、具体的には次のような手順により実施することができる。すなわち、本発明における匿名化ステップは、前記匿名化対象の位置情報を含む最下位階層の領域を判定対象領域に設定する第１工程と、前記判定対象領域に含まれる位置情報の数がｋ個以上であるか判定する第２工程と、前記第２工程における判定が肯定判定であれば、前記匿名化対象の位置情報を、前記第２工程における前記判定対象領域を示す情報に置換する第３工程と、前記第２工程における判定が否定判定であれば、前記第２工程における前記判定対象領域の親階層（１階層上位の階層）の領域のうち、ｋ個以上の位置情報を含む当該親階層の子階層（１または複数階層下位の階層）の領域を除いた領域を、判定対象領域として再設定する第４工程と、を含み、第４工程の後、前記第２工程以降の処理を再度実行する、ことにより実現できる。なお、繰り返し処理における第２工程の判定が所定回続けて否定判定であれば、繰り返し処理を終了して、匿名化対象の位置情報を破棄することで、所定階層以上の拡張を行わないようにできる。
【００２１】
本発明における匿名化ステップは、次のような手順により実施することもできる。すなわち、本発明における匿名化ステップは、階層化された複数の領域のそれぞれについて、当該領域に含まれる位置情報の数を求める前処理工程と、前記前処理工程の結果に基づいて、匿名化対象の位置情報を含む最下位階層の領域から上位階層の領域に順に処理を行って、ｋ個以上の位置情報を含む下位階層の領域Ｒ２を除いた領域Ｒ３に含まれる位置情報の数がｋ個以上となる領域Ｒ１を探索し、最初に条件を満たした領域Ｒ３で匿名化対象の位置情報を置き換える匿名化工程と、を含むように構成できる。
【００２２】
このように前処理行程において各領域に含まれる位置情報の数をあらかじめ求めておくことで匿名化領域Ｒ３を容易に求めることができる。前処理工程において、複数の領域のそれぞれについて、当該領域の下位階層の領域のうちｋ個以上の領域を除いた領域に含ま
れる位置情報の数を求めるとよい。これにより、匿名化工程において匿名化領域Ｒ３をさらに容易に求めることができる。
【００２３】
本発明の別の態様は、出発地と目的地の位置情報を含む移動情報の匿名化方法である。具体的には、コンピュータが実行する移動情報匿名化方法であって、出発地と目的地の位置情報を含む移動情報を複数取得する移動情報取得ステップと、前記複数の移動情報を、出発地と目的地を表す情報を置き換えて同一の出発地と目的地を表す移動情報がｋ（ｋは正の整数）個以上となるように匿名化する匿名化ステップと、を含み、前記匿名化ステップでは、木構造により構造化された複数の領域の中から、下記条件を満たす領域Ｓ１と領域Ｄ１の組み合わせ、および領域Ｓ２と領域Ｄ２の組み合わせを求め、前記匿名化対象の移動情報を、領域Ｓ１を出発地とし領域Ｄ１を目的地とする移動から、領域Ｓ２を出発地とし領域Ｄ２を目的地とする移動を除いた移動を示す情報に置き換える、ことを特徴とする。
（条件１）領域Ｓ１は、匿名化対象の移動情報の出発地を含む最下位階層の領域または当該最下位階層の領域の１または複数階層上位の領域のいずれかである。
（条件２）領域Ｄ１は、匿名化対象の移動情報の目的地を含む最下位階層の領域または当該最下位階層の領域の１または複数階層上位の領域のいずれかである。
（条件３）領域Ｓ２は、領域Ｓ１または領域Ｓ１の１または複数階層下位の領域であり、領域Ｄ２は、領域Ｄ１または領域のＤ１の１または複数階層下位の領域であり、領域Ｓ２を出発地とし領域Ｄ２を目的地とする移動情報の数がｋ個以上である。ただし、領域Ｓ２が領域Ｓ１でありかつ領域Ｄ２が領域Ｄ１である場合を除く。
（条件４）領域Ｓ１を出発地とし領域Ｄ１を目的地とする移動情報から、領域Ｓ２を出発地とし領域Ｄ２を目的地とする移動情報を除いた移動情報の数がｋ個以上である。
【００２４】
なお、上記の条件３は領域Ｓ２と領域Ｄ２が存在することを要請するものではない。条件３を満たす領域Ｓ２と領域Ｄ２が存在しない場合には、条件４は、「領域Ｓ１を出発地とし領域Ｄ１を目的地とする移動情報の数がｋ個以上である」という条件と等しくなる。また、条件３を満たす領域Ｓ２と領域Ｄ２の組み合わせが複数存在することもある。その場合は、条件４においては、領域Ｓ２と領域Ｄ２の組み合わせの全てについて、これらの領域を出発地および目的地とする移動情報を、領域Ｓ１を出発地とし領域Ｄ１を目的地とする移動情報を除いた数を求める必要がある。
【００２５】
また、領域Ｓ１と領域Ｄ１の階層について、さらに条件を課すことも好ましい。例えば、領域Ｓ１の階層は領域Ｄ１の階層と同じかそれよりも低いようにしてもよい。この場合、領域Ｓ２と領域Ｄ２についても同様に、領域Ｓ２の階層は領域Ｄ２の階層と同じかそれよりも低いという条件を課すとよい。また、領域Ｓ１の階層は領域Ｄ１の階層と同じかそれよりも高いようにしてもよい。この場合、領域Ｓ２と領域Ｄ２についても同様に、領域Ｓ２の階層は領域Ｄ２の階層と同じかそれよりも高いという条件を課すとよい。また、領域Ｓ１の階層と領域Ｄ１の階層は同じとしてもよい。この場合、領域Ｓ２と領域Ｄ２の階層も同じという条件を課すとよい。
【００２６】
このように、出発地と目的地の２つの位置情報からなる移動情報に対しても、上記と同様に構造化（階層化）された領域を用いて、ｋ匿名性を満たすような匿名化が可能である。この際、下位階層の領域を出発地および目的地とする移動情報がｋ個以上であるような組み合わせを除いているので、移動情報が多い出発領域と目的領域の組み合わせについては下位階層の出発地領域および目的地領域を用いて匿名化ができる。したがって、ｋ匿名性を満たす範囲でデータの曖昧化を最小限とすることができる。また、領域が構造化されているので、上記の処理を容易に行うことができる。
【００２７】
なお、本発明は、上記処理の少なくとも一部を実行する位置情報匿名化方法および移動
情報匿名化方法として捉えることもできる。また、本発明は、この方法をコンピュータに実行させるためのコンピュータプログラム、あるいはこのコンピュータプログラムを非一時的に記憶したコンピュータ可読記憶媒体として捉えることもできる。また、本発明は、上記処理の少なくとも一部を実行する手段を備える位置情報匿名化装置および移動情報匿名化装置として捉えることができる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【００２８】
本発明によれば、簡易な処理により位置情報を適切に匿名化できる。
【図面の簡単な説明】
【００２９】
【図１】第１の実施形態における位置情報匿名化装置の機能ブロックを示す図。
【図２】階層化領域を説明する図。
【図３】第１の実施形態における位置情報匿名化処理の流れを示すフローチャート。
【図４】第１の実施形態における位置情報匿名化処理を説明する図。
【図５】第１の実施形態における匿名化位置情報の表現方法を説明する図。
【図６】第１の実施形態の変形例における位置情報匿名化処理の流れを示すフローチャート。
【図７】第１の実施形態の変形例における位置情報匿名化処理を説明する図。
【図８】第２の実施形態にかかる移動情報匿名化装置の機能ブロックを示す図。
【図９】第２の実施形態における移動情報収集処理の流れを示すフローチャート。
【図１０】第２の実施形態における移動情報匿名化処理の流れを示すフローチャート。
【図１１】第２の実施形態における移動情報収集処理を説明する図。
【発明を実施するための形態】
【００３０】
（第１の実施形態）
本発明の第１の実施形態に係る位置情報匿名化装置１００について説明する。位置情報匿名化装置１００は、一般的なコンピュータ（情報処理装置）であり、ＣＰＵやＭＰＵなどの演算装置、主記憶装置や補助記憶装置などの記憶装置、入出力装置、通信インタフェースなどを含む。位置情報匿名化装置１００は、記憶装置に格納されたプログラムを演算装置が実行することによって、図１に示す各機能を実現する。すなわち、位置情報匿名化装置１００は、位置情報取得部１０１、階層領域定義部１０２、匿名化部１０３として機能する。なお、これらの機能部の一部または全部について専用のハードウェア回路によって実現しても構わない。また、これらの機能を複数のコンピュータが連携することによって実現しても構わない。
【００３１】
位置情報取得部１０１が取得する位置情報は、位置を特定可能な情報であれば任意の形式の情報であってよい。位置情報は、典型的には緯度・経度情報であるが、マップコードなどであっても構わない。また、位置情報取得部１０１による位置情報の取得方法は特に限定されず、通信（有線通信および無線通信）によって位置情報を取得してもよいし、記憶媒体から位置情報を取得してもよい。位置情報取得部１０１によって取得された位置情報は、匿名化部１０３によって匿名化（曖昧化や抽象化とも呼ばれる）される。
【００３２】
＜階層化領域＞
階層領域定義部１０２は、階層化された領域の定義を記憶する。本実施形態では、所定範囲（例えば、日本全国、関東エリア、東京エリアなど）を複数の分割領域に分割し、これらの分割領域の間の木構造で表現される階層構造を導入する。図２を参照して階層化領域について説明する。ここでは、階層構造が３階層であるものとして説明するが、階層数はより多くても構わない。
【００３３】
図２（Ａ）は、最下位階層の分割領域を説明する図である。ここでは、最下位階層（第１階層）の分割領域として４×４の１６個の分割領域が示されている。それぞれの分割領域は、重複なくかつ全体を漏れなく設定される。図２（Ｂ）は２階層目の領域を説明する図である。２階層目の領域は、２×２の４個の領域からなり、それぞれの領域が４つの第１階層の領域から構成される。図２（Ｃ）は最上位階層（第３階層）の領域を説明する図である。最上位階層の領域は、４つの第２階層の領域から構成される１つの領域からなる。図２（Ａ）−図２（Ｃ）に示す階層化領域は、図２（Ｄ）のような木構造のデータとして、階層領域定義部１０２に格納できる。
【００３４】
図２に示す各領域の表現方法（識別子の決定方法）について説明する。ここでは、各領域の識別子を０と１からなるビット列として表現する。まず、最上位階層の領域は「００」とする。領域「００」の下位階層の領域は、「００」の後に２ビットのビット列を付加した識別子により特定される。２ビットのうち１ビット目は経度方向（西側なら０、東側なら１）、２ビット目は緯度方向（北側なら０、南側なら１）を表す。したがって、領域「００００」は領域「００」の北西側の分割領域、領域「００１０」は領域「００」の北東側の分割領域を表す。同様に、最下位階層の領域は、第２階層（親階層）の領域の識別子にさらに同様の２ビットのビット列を付加した識別子により特定される。例えば、領域「０００１１１」は領域「０００１」の南東側の分割領域である。なお、このビット列をＢａｓｅ３２などによりエンコーディングした文字列を各領域の識別子として用いてもよい。この場合、ＧｅｏＨａｓｈを用いた位置情報の表現と同じとなる。
【００３５】
ここでは、各領域（最下位階層の領域を除く）が子階層の領域として２×２の領域を有する例を説明したが、各領域が有する子階層の領域の数はより多くても構わない。子階層の領域の数は、全ての領域について同じであってもよいが、異なっていてもよい。すなわち、本実施形態で用いられる領域の階層構造は木構造として表せれば特に限定されない。
【００３６】
＜匿名化処理＞
匿名化部１０３は、位置情報取得部１０１が取得した複数の位置情報を、階層領域定義部１０２において定義された階層領域を用いて匿名化する。匿名化部１０３は、位置情報を、階層化されたいずれかの領域に置き換えることによって匿名化を行う。この際、置き換える対象の領域（以下、匿名化領域と称する）にはｋ（ｋは正の整数）個以上の位置情報を含むようにするが、匿名化領域は位置情報をｋ個以上含む下位階層の領域（木構造における部分木に相当）を含まないように構成する。以下、図面を参照しつつ、匿名化部１０３による匿名化処理をより詳細に説明する。
【００３７】
図３は、匿名化部１０３による匿名化処理の流れを示すフローチャートである。匿名化部１０３は、まず階層を表す変数ｊを１にセットし（Ｓ３０１）、匿名化対象の位置情報を含む第ｊ階層の領域ｒｊを決定する（Ｓ３０２）。次に、匿名化部１０３は、領域ｒｊに含まれる子階層（１つまたは複数階層下位の領域）のうち、位置情報をｋ個以上含む領域ｒ’ｊを求める（Ｓ３０３）。このような領域ｒ’ｊは存在しない場合もあるし、１つまたは複数存在する場合もある。ｊ＝１の場合は、領域ｒｊの子階層の領域は存在せず領域ｒ’ｊは存在しないので、この処理は行わなくてよい。匿名化部１０３は、領域ｒｊから領域ｒ’ｊ（存在すれば）を除いた領域ｒを判定対象領域とし、判定対象領域ｒに含まれる位置情報の数ｎを求める（Ｓ３０４）。ここで求めた数ｎがｋ以上であれば（Ｓ３０５−ＹＥＳ）、匿名化対象の位置情報を判定対象領域ｒ（領域ｒｊから領域ｒ’ｊを除いた領域）を示す情報に置き換える（Ｓ３０６）。一方、ステップＳ３０４で求めた数ｎがｋ未満であれば（Ｓ３０５−ＮＯ）、変数ｊが上限値に達していなければ（Ｓ３０７−ＮＯ）、変数ｊを１増分させて（Ｓ３０８）、ステップＳ３０２からの処理を繰り返す。一方、変数ｊが上限値に達していれば（Ｓ３０７−ＹＥＳ）、位置情報を過度に抽象化せず
にｋ匿名性を満たすことができないと判断して、匿名化対象の位置情報を破棄する（Ｓ３０９）。
【００３８】
上記の処理について、図４（Ａ）〜４（Ｃ）を参照して具体例を元に説明する。図４（Ａ）では、位置情報取得部１０１が取得した複数の位置情報が白丸で示されている。階層化領域のうち最下位階層の領域は全体領域を漏れなく、かつ、互いに重複しないように設定されているので、それぞれの位置情報は、いずれか１つの最下位層領域に含まれる。
【００３９】
ｊ＝１の場合、ステップＳ３０２において決定される領域ｒｊは最下位階層領域のいずれかとなる。また最下位階層領域は子階層の領域を持たないので、ステップＳ３０３の条件を満たす領域ｒ’ｊは存在しない。したがって、判定対象領域ｒは最下位階層領域となり、ステップＳ３０４で求められる数ｎはそれぞれの最下位階層領域に含まれる位置情報の数と等しくなる。ここでｋ＝３とすると、含まれる位置情報の数ｎがｋ個以上となる最下位階層領域は、図４（Ａ）に示す領域４１と領域４２（識別子で表すと領域「００００００」と領域「００１０００」）となる。したがって、領域４１に含まれる位置情報は領域４１を示す情報に置き換えられ、領域４２に含まれる位置情報は領域４２を示す情報に置き換えられる。
【００４０】
領域４１および領域４２以外の最下位階層領域については位置情報の数ｎがｋ個以上であるという条件を満たさないので、判定対象領域を拡張する。すなわち、ｊ＝２として判定対象領域ｒを拡張して同様の処理が実施される。この場合ステップＳ３０２において決定される領域ｒｊは第２階層の領域のいずれか（すなわち領域「００００」「０００１」「００１０」「００１１」のいずれか）である。
【００４１】
ここで領域「００００」の子階層の領域のうち、領域「００００００」（領域４１）がｋ個以上の位置情報を含む。したがって、領域「００００」に関しては、領域「００００」（領域ｒｊ）から領域「００００００」（領域４１、領域ｒ’ｊ）を除いた領域４３（判定対象領域ｒ）を対象として、そこに含まれる位置情報の数がステップＳ３０４において求められる。
【００４２】
同様に、領域「００１０」の子階層の領域のうち、領域「００１０００」（領域４２）がｋ個以上の位置情報を含むので、領域「００１０」（領域ｒｊ）から領域「００１０００」（領域４２、領域ｒ’ｊ）を除いた領域４５（判定対象領域ｒ）を対象として、そこに含まれる位置情報の数がステップＳ３０４において求められる。
【００４３】
また、領域「０００１」および領域「００１１」（領域４４および領域４６）は、ｋ個以上の位置情報を含む子階層領域を有しない（領域ｒ’ｊが存在しない）ので、これらの領域の全体を判定対象領域ｒとして、そこに含まれる位置情報の数がステップＳ３０４において求められる。
【００４４】
領域４３〜４６のうち、ｋ（３）個以上の位置情報を含む領域は領域４３と領域４４である。したがって、領域４３に含まれる位置情報は領域４３を示す情報に置き換えられ、領域４４に含まれる位置情報は領域４４を示す情報に置き換えられる。
【００４５】
領域４５および領域４６については位置情報の数ｎがｋ個以上であるという条件を満たさないので、判定対象領域を拡張する。すなわち、ｊ＝３として判定対象領域を拡張して上記と同様の処理が実施される。なお、ここではｊの上限値が「３」であると仮定している。この場合、ステップＳ３０２において決定される領域ｒｊは第３階層の領域、すなわち全体領域「００」である。領域「００」の子階層の領域のうち、ｋ個以上の位置情報を含む領域ｒ’ｊは、領域「００００」，「０００１」，「００１０００」である。なお、
領域「００００００」もｋ以上の位置情報を含むが、その親階層領域の領域「００００」が既にｋ個以上の位置情報を含んでいるので、考慮しなくてよい。したがって、領域「００」から領域「００００」、「０００１」「００１０００」を除いた、図４（Ｃ）に示す領域４７を判定対象領域ｒとして、そこに含まれる位置情報の数がステップＳ３０４において求められる。この数は「４」でありｋ（３）以上であるため、領域４７に含まれる位置情報は、領域４７を示す情報に置き換えられる。
【００４６】
なお、この例では領域４７に含まれる位置情報の数が「４」であったが、当該数が「３」未満であれば、領域４７に含まれる位置情報は匿名化されずに破棄される。また、この例ではｊの上限値を「３」として説明したがｊの上限値が「２」であれば、領域４７に含まれる位置情報の数が「３」以上であっても、領域４７に含まれる位置情報は匿名化されずに破棄される。
【００４７】
ステップＳ３０６において、位置情報を領域ｒを示す情報で置き換える際に、この領域ｒをどのように表現するかはいくつかの方法が考えられる。例えば、図５（Ａ）に示すように、領域ｒを、領域ｒｊとそこから除く領域ｒ’ｊとによって表現することができる。例えば、領域４３は、領域「００００」から領域「００００００」を除いた領域として表すことができる。同様に、領域４７は、領域「００」から領域「００００」、「００１０００」、「０００１」を除いた領域として表現できる。領域４１、４２、４３は除外する領域ｒ’ｊが存在しないので、それぞれ領域「０００００」「００１０００」「０００１」として表すことができる。
【００４８】
また、図５（Ｂ）に示すように、領域ｒを構成する領域を列挙して表現することができる。例えば、領域４３は、領域「００００１０」「０００００１」「００００１１」の３つの領域から構成されるので、これらの領域によって領域４３を表すことができる。同様に、領域４７は、領域「００１０１０」「００１００１」「００１０１１」「００１１」によって表すことができる。なお、データ量を減らせるように、できるだけ上位の階層の領域を用いて領域ｒを表すようにする例を説明したが、最下位階層のみの領域を用いて領域ｒを表しても構わない。
【００４９】
＜匿名化処理の変形例＞
ここまで、図３のフローチャートにしたがって、匿名化部１０３による匿名化処理を説明したが、匿名化処理はこの手順以外の方法によっても行うことができる。最終的に、下記の条件を満たすような領域Ｒ３で匿名化対象の位置情報を匿名化できれば、種々の手順で匿名化してもよい。
（条件１）領域Ｒ１は、匿名化対象の位置情報を含む最下位階層の領域または当該最下位階層の領域の１または複数階層上位の上位階層の領域のいずれかである。
（条件２）領域Ｒ１の１または複数階層下位の階層の領域であってｋ個以上の位置情報を含む領域Ｒ２を領域Ｒ１から除いた領域Ｒ３に含まれる位置情報の数がｋ個以上である。
なお、これらの条件を満たす領域Ｒ１が複数存在する場合には、条件を満たすものの中で最も下位の階層の領域を領域Ｒ１とすることが好ましい。
【００５０】
上記で説明した図３のフローチャートに示す処理を行えば、上記の条件を満たす領域Ｒ３で匿名化対象の位置情報を匿名化できる。なお、領域Ｒ１，Ｒ２，Ｒ３は、ステップＳ３０５が肯定判定となる領域ｒｊ，ｒ’ｊ，ｒにそれぞれ相当する。例えば、図４における領域「０００００１」に含まれる位置情報を例にとって説明すると、領域Ｒ１は領域「００００」であり、領域Ｒ２は領域「００００００」であり、領域Ｒ３は領域「００００」から領域「００００００」を除いた領域である。
【００５１】
上記条件を満たす匿名化処理は図３のフローチャートに示す手順に限られない。匿名化処理は、例えば図６（Ａ）に示す前処理工程と、図６（Ｂ）と匿名化工程の２つの処理によっても実現できる。この方法では、まず図６（Ａ）の前処理で、各階層の領域ごとにそこに含まれる位置情報の数をあらかじめ算出して図７に示すようなデータを作成し、図６（Ｂ）の匿名化処理においてこのデータを参照して位置情報を匿名化する。
【００５２】
まず、図６（Ａ）の前処理について説明する。匿名化部１０３は、最下位階層の領域に含まれる位置情報の数を求め、それぞれの領域に対応させてこの数を記憶する（Ｓ６０１）。次に、階層を表す変数ｊを「２」にセットし（Ｓ６０２）、第ｊ階層の各領域について、当該領域の下位階層の領域に含まれる位置情報の数の合計を求める（Ｓ６０３）。ただし、ここで、ｋ個以上の位置情報を有する子階層の領域については、合計の対象から除く。ステップＳ６０３において求められる位置情報の数を、当該領域の位置情報数と称する。匿名化部１０３は、ステップＳ６０３で求められた位置情報数を、その領域と関連付けて記憶する。この際、ｋ個以上の位置情報を有する子階層領域を除外しない、全ての子階層の領域に含まれる位置情報の数も、当該領域と関連付けて記憶しておくことも好ましい。
【００５３】
匿名化部１０３は、変数ｊが上限値に達しているか判定し（Ｓ６０４）、変数ｊが上限値に達していなければ（Ｓ６０４−ＮＯ）、変数ｊを１増分して（Ｓ６０５）、ステップＳ６０３の処理を繰り返し行う。変数ｊが上限値に達していれば（Ｓ６０４−ＹＥＳ）、処理を終了する。なお、変数ｊの上限値は、階層化領域の全体階層数としてもよいし、匿名化の際に用いられる最上位の階層の階層数であってもよい。
【００５４】
図６（Ａ）の前処理によって、図７に示すような位置情報数についてのデータが得られる。なお、この例は図４に示す位置情報を対象として処理を行った場合の例である。木構造の各ノードの中に示されている数値は、当該ノードに対応する領域についてステップＳ６０３で求められた位置情報数である。例えば、領域「００００」については、位置情報数が３である領域「００００００」を除いた、領域「０００００１」、「００００１０」、「００００１１」に含まれる位置情報の数の合計である「３」が位置情報数として求められる。また図７では、第２階層以上の領域について、全ての子階層領域に含まれる位置情報の合計をノード横の括弧内に示している。また、位置情報数が３以上であるノードについては、太線で示している。
【００５５】
次に、図６（Ｂ）を参照して、位置情報の匿名化処理について説明する。匿名化部１０３は、匿名化対象の位置情報に対応する最下位階層の領域Ｒｅを決定する（Ｓ６１１）。次いで、匿名化部１０３は、領域Ｒｅおよびその親階層の領域のうち、位置情報数がｋ個以上であるという条件を満たす、最も下位の階層の領域Ｒ１を求める（Ｓ６１２）。この処理は、領域Ｒｅから上位階層に向かって位置情報数がｋ個以上の領域を探索して、最初に見つかった領域を領域Ｒ１とすることにより行える。また、匿名化部１０３は、領域Ｒ１の下位階層の領域のうち、位置情報数がｋ個以上である領域Ｒ２を求める（Ｓ６１３）。この処理は、領域Ｒ１の頂点とする部分木の走査を行い上記条件を満たす領域を探索することにより行える。なお、走査の際に、位置情報数がｋ個以上の下位領域が見つかればその下位ノードについては走査を行わなくてよい。したがって、深さ優先での走査を行うとよい。位置情報数の情報があらかじめ図７に示すように木構造で保持されているのでステップＳ６１２およびＳ６１３の探索は容易に行える。最後に、匿名化部１０３は、匿名化対象の位置情報を、領域Ｒ１から領域Ｒ２を除いた領域を示す情報で置き換える（Ｓ６１４）。この処理を、全ての位置情報について行うことで、全ての位置情報の匿名化が行える。なお、ステップＳ６１２において、最下位階層から所定階層以内に条件を満たす領域Ｒ１が存在しない場合には、匿名化部１０３は匿名化対象の位置情報を破棄する。
【００５６】
例えば、領域「０００００１」に含まれる位置情報については、ステップＳ６１１における領域Ｒｅが領域「０００００１」であり、ステップＳ６１２における領域Ｒ１が領域「００００」であり、ステップＳ６１３における領域Ｒ２が領域「００００００」として決定される。したがって、当該位置情報は、領域「００００」（領域Ｒ１）から領域「００００００」（領域Ｒ２）を除いた領域を示す情報を用いて匿名化される。
【００５７】
また、領域「００１００１」に含まれる位置情報については、ステップＳ６１１における領域Ｒｅが領域「００１００１」であり、ステップＳ６１２における領域Ｒ１が領域「００」であり、ステップＳ６１３における領域Ｒ２が領域「００００」、「０００１」、「００１０００」の３つの領域として決定される。したがって、当該位置情報は、領域「００」（領域Ｒ１）から、領域「００００」、「０００１」、「００１０００」（領域Ｒ２）を除いた領域を示す情報を用いて匿名化される。
【００５８】
領域「０００００１」や「００１００１」以外の領域に含まれる位置情報についても同様である。
【００５９】
このようにしても、図３のフローチャートに記載の処理と同様の匿名化処理が実現可能である。
【００６０】
また、図６の処理では、前処理工程においてある領域に含まれる位置情報の数を求める際に、ｋ個以上の位置情報を含む下位階層の領域は除外して位置情報の数を求めている。しかしながら、前処理工程においては、その領域に含まれる位置情報の数の合計のみを求めてもよい。この場合は、各位置情報に対応する匿名化領域を求める際に、ｋ個以上の位置情報を含む下位階層についての位置情報の数を除外してもｋ個以上の位置情報を含む領域を探索すればよい。
【００６１】
＜実施形態の有利な効果＞
本実施形態によれば、簡易な処理により位置情報を適切に匿名化することができる。本実施形態では、互いに重複せず、かつ、全体を漏れなく網羅した分割領域を階層化した階層化領域を用いて、位置情報の匿名化をしている。したがって、狭い領域（下位階層の領域）に含まれる位置情報の数がｋ未満である場合に、親階層の領域を匿名化領域とすればいいので領域の拡張が容易に行える。領域を拡張した際に、ある位置情報が複数の領域に含まれないことも、本実施形態における有利な効果である。特許文献１のように、ある地点（ランドマーク）を中心とする円形領域で匿名化を行い、ｋ匿名性を満たさない場合は領域の半径を大きくする手法では、１つの位置情報が複数の円形領域に含まれてしまうことが想定され、このような場合の処理が困難となる。本実施形態では、階層化された領域を用いているので、このような問題は発生しない。
【００６２】
また、本実施形態では、ｋ匿名性を満たす領域については当該領域を用いて匿名化し、上位階層の領域についてはｋ匿名性を満たさない子階層の領域のみを対象として匿名化している。したがって、ある狭い領域に多数の位置情報が存在する場合には、曖昧化の程度を最小限としつつ匿名化できる。また、含まれる位置情報の数が少ない領域についても、これらを統合した領域を用いて匿名化できるので、匿名化できずに破棄される位置情報の数を最小限とすることができる。
【００６３】
（第２の実施形態）
本発明の第２の実施形態は、図８（Ａ）に示すように、車両８０１に搭載された車載端末８１０と、移動情報を匿名化する移動情報匿名化装置８２０からなる移動情報収集システムである。移動情報匿名化装置８２０は、車両８０１の移動情報の匿名化を行う。第１の実施形態では位置情報の匿名化を行っているが、本実施形態は第１の実施形態の匿名化
手法を、出発地と目的地の２点からなる移動情報の匿名化に応用する。
【００６４】
図８（Ａ）は、本実施形態にかかる移動情報収集システムの構成を示す図である。移動情報収集システムは、車両８０１に搭載された車載端末８１０と、車載端末８１０とネットワーク８３０を介して接続された移動情報匿名化装置８２０とから構成される。図では１台の車両しか示していないが、移動経路データ収集システムは実際には複数の車両を含む。車載端末８１０は、定期的に時刻時報と位置情報を取得し、移動情報匿名化装置８２０に送信する。移動情報匿名化装置８２０は、車載端末８１０から収集した位置の履歴情報から移動情報を生成し、移動情報から個人を特定できないように匿名化処理を施す。
【００６５】
＜車両（車載端末）＞
車載端末８１０は、ＣＰＵやＭＰＵなどの演算装置、主記憶装置や補助記憶装置などの記憶装置、入出力装置、通信インタフェースなどを含む。車載端末８１０は、記憶装置に格納されたプログラムを演算装置が実行することによって、図８（ｂ）に示す各機能を実現する。すなわち、車載端末８１０は、位置情報取得部８１１、時刻情報取得部８１２、履歴情報送信部８１３として機能する。なお、これらの機能部の一部または全部について専用のハードウェア回路によって実現しても構わない。
【００６６】
位置情報取得部８１１は、車両８０１に搭載された位置情報取得装置から現在位置の情報を取得する。位置情報取得装置は、典型的には、全地球航法衛星システム（ＧＮＳＳ：Global Navigation Satellite System）の衛星信号に基づいて位置情報を算出する装置であり、例えば、ＧＰＳ（Global Positioning System）、ガリレオ、ＧＬＯＮＡＳＳ、北
斗などを挙げることができる。ただし、位置情報の取得は、無線基地局からの電波に基づく基地局測位によって行われてもよい。
【００６７】
時刻情報取得部８１２は、現在時刻の情報を取得する。位置情報取得装置は時刻情報を取得可能であるため、位置情報取得装置と時刻情報取得装置は同じ装置であっても構わない。また、時刻情報取得部８１２は、車両８０１に搭載された内部クロックから時刻情報を取得してもよい。
【００６８】
履歴情報送信部８１３は、位置情報取得部８１１が取得した位置情報と、時刻情報取得部８１２が取得した時刻情報とを、移動情報匿名化装置８２０に送信する機能部である。履歴情報送信部８１３は、位置情報や時刻情報を取得する度に移動情報匿名化装置８２０に送信してもよいし、位置情報や時刻情報を一時的に蓄積してからまとめて移動情報匿名化装置８２０に送信してもよい。履歴情報送信部８１３は、位置情報と時刻情報を含む送信データを生成して、無線通信によりネットワーク８３０を介して送信データを移動情報匿名化装置８２０に送信する。
【００６９】
以下、車載端末８１０による移動履歴データの送信処理について説明する。車両８０１のエンジンが始動すると、履歴情報送信部８１３は、位置情報取得部８１１が取得した位置情報と時刻情報取得部８１２が取得した時刻情報を車両ＩＤとともに移動情報匿名化装置８２０に送信する。この際、現在位置がトリップの出発地であることが分かるフラグ（出発地フラグ）を付けてこれらの情報を送信することが好ましい。
【００７０】
エンジンの始動後は、車載端末８１０は、定期的に移動履歴データを送信する。例えば、所定の時間が経過したタイミングや、所定の距離を走行したタイミングで、移動履歴データが車載端末８１０から移動情報匿名化装置８２０に送信される。
【００７１】
車両８０１のエンジンが停止すると、履歴情報送信部８１３は、位置情報取得部８１１が取得した位置情報と時刻情報取得部８１２が取得した時刻情報を車両ＩＤとともに移動
情報匿名化装置８２０に送信する。この際、現在位置がトリップの目的地であることが分かるフラグ（目的地フラグ）を付けてこれらの情報を送信することが好ましい。
【００７２】
また、ここでの説明では、エンジンが始動された位置をトリップの出発地、エンジンが停止された位置をトリップの目的地としているが、これは処理の一例である。エンジンが停止されてもすぐにエンジンが再始動された場合には、目的地であると判断しなくてもよい。また、エンジンが停止しなくても、長期間停車されたり、停車後に出発地に戻ったりした場合には、その地点を目的地としてもよい。
【００７３】
＜移動情報匿名化装置＞
移動情報匿名化装置８２０は、ＣＰＵやＭＰＵなどの演算装置、主記憶装置や保持記憶装置などの記憶装置、入出力装置、通信インタフェースなどを有するコンピュータである。移動情報匿名化装置８２０は、必ずしも１台のコンピュータによって構成される必要はなく、ネットワークを介して通信可能な複数のコンピュータから構成されてもよい。移動情報匿名化装置８２０は、演算装置がプログラムを実行することで、図８（Ｃ）に示す各機能を実現する。すなわち、移動情報匿名化装置８２０は、履歴情報受信部８２１、移動情報生成部８２２、階層領域定義部８２３、移動情報匿名化部８２４として機能する。なお、これらの機能のうち一部または全部について専用のハードウェア回路によって実現しても構わない。
【００７４】
履歴情報受信部８２１は、車載端末８１０から送信される履歴情報を無線通信により受信する機能部である。移動情報生成部８２２は、履歴情報受信部８２１により受信された履歴情報から移動情報を生成する機能部である。移動情報生成部８２２の詳細については後述する。階層領域定義部８２３は、階層化された領域の定義を記憶する。階層化領域は、第１の実施形態と同様であるので、詳しい説明は省略する。移動情報匿名化部８２４は、移動情報生成部８２２が生成した移動情報を匿名化する。移動情報生成部８２２の詳細については後述する。
【００７５】
次に、図９のフローチャートを参照して、移動情報匿名化装置８２０が行う移動情報収集処理について説明する。
【００７６】
移動情報生成部８２２は、履歴情報受信部８２１が車載端末８１０から受信した移動履歴データからトリップ情報を求める（Ｓ９０１）。ここで求められるトリップ情報は、出発地の位置情報、出発地の出発時刻、目的地の位置情報、目的地への到着時刻、車両ＩＤなどからなる。移動情報生成部８２２は、同一の車両ＩＤを有する移動履歴データからトリップ情報を作成することができる。また、トリップの出発地は、移動履歴データに含まれる出発地フラグや目的地フラグから判断できる。ただし、これらのフラグが付されていない場合であっても、移動履歴データの送信が開始あるいは終了した地点を出発地や目的地と判断できる。また、長時間停止している場所でトリップが終了した、すなわち当該場所が現在のトリップの目的地であり、次のトリップの出発地であると判断してもよい。
【００７７】
移動情報生成部８２２は、ステップＳ９０１において生成したトリップ情報から、車両ＩＤと時刻情報を削除して、出発地の位置情報と目的地の位置情報からなる移動情報を生成する（Ｓ９０２）。
【００７８】
移動情報匿名化部８２４は、複数の移動情報の匿名化を行う（Ｓ９０３）。具体的には、移動情報における出発地と目的地を、階層領域定義部８２３に定義されている領域を用いて曖昧化し、同じ出発地と目的地のペアを有する移動情報の数がｋ個以上となるようにする。この移動情報の匿名化処理Ｓ９０３を、図１０のフローチャートを参照して詳細に説明する。なお、移動情報の匿名化においては、出発地と目的地のどちらを優先的に曖昧
化するかについて恣意性がある。ここでは、目的地を優先的に曖昧化する場合を例に説明する。
【００７９】
匿名化部８２４は、出発地の階層を表す変数ｉと目的地の階層を表す変数ｊとを１に設定する（Ｓ１００１）。そして、匿名化対象の移動情報の出発地を含む第ｉ階層の領域ｓｉと、目的地を含む第ｊ階層の領域ｄｊとを決定する（Ｓ１００２）。次に、匿名化部８２４は、領域ｓｉの子階層の領域ｓ’ｉ（ここでは領域ｓｉ自体も含む）を出発地とし、領域ｄｊの子階層の領域ｄ’ｊ（ここでは領域ｄｊ自体も含む）を目的地とする移動情報の数がｋ個以上であるような、領域ｓ’ｉと領域ｄ’ｊのペアを求める（Ｓ１００３）。ただし、領域ｓｉと領域ｄｊのペアは除外する。また、領域ｄ’ｊの階層は、領域ｓ’ｊの階層と同じかそれよりも上位階層とする。このような条件を満たす領域ｓ’ｉと領域ｄ’ｊのペアは存在しない場合もあるし、１つあるいは複数存在する場合もある。
【００８０】
匿名化部８２４は、領域ｓｉに含まれる位置を出発地とし領域ｄｊに含まれる位置を目的地とする移動情報（以下簡単のために、このような移動情報を、領域ｓｉを出発地とし領域ｄｊを目的地とする移動情報、あるいはより簡単に、領域ｓｉから領域ｄｊへの移動情報などと称する）の数から、領域ｓ’ｉを出発地とし領域ｄ’ｊを目的地とする移動情報の数を引いた数ｎを求める（Ｓ１００４）。
【００８１】
ステップＳ１００４で求めた数ｎがｋ個以上であれば（Ｓ１００５−ＹＥＳ）、匿名化部８２４は、匿名化対象の移動情報を、出発地がｓｉかつ目的地がｄｊであるが、出発地がｓ’ｉかつ目的地がｄ’ｊではないことを示す情報に置き換える（Ｓ１００６）。具体的には、移動情報を、領域ｓｉ、領域ｄｊ、領域ｓ’ｉ、領域ｄ’ｊの識別子によって表現すればよい。
【００８２】
ステップＳ１００４で求めた数ｎがｋ未満であれば（Ｓ１００５−ＮＯ）、変数ｉが上限値に達しているか判定する（Ｓ１００７）。変数ｉが上限値に達していなければ（Ｓ１００７−ＮＯ）、匿名化部８２４は、変数ｉまたは変数ｊの小さい方を１増分して、ステップＳ１００２からの処理を繰り返し実行する。なお、変数ｉと変数ｊが等しい場合には、目的地を優先的に曖昧化するために、変数ｊを増分する。変数ｉが上限値に達した場合（Ｓ１００７−ＹＥＳ）には、匿名化対象の移動情報を過度に匿名化せずにｋ匿名性を満たすことができないと判断して、匿名化対象の移動情報を破棄する。
【００８３】
上記の処理について、図１１を参照して具体例を元に説明する。ここでは、簡単のために、図１１（Ａ）に示すように、階層化領域が２階層であるとする。図１１（Ｂ）は、匿名化対象の移動情報の例である。ここでは移動情報Ａ〜Ｊの１０個の移動情報があるものとする。なお、図１１（Ｂ）において、出発地「００００」、目的地「００００」とあるのは、移動情報の出発地が領域「００００」に含まれ、目的地が領域「００００」に含まれることを意味する。また、ここではｋを３とする。
【００８４】
ｉ＝１，ｊ＝１の場合、領域ｓｉおよび領域ｄｊの組み合わせは、最下位階層の４つの領域「００００」、「０００１」、「００１０」、「００１１」同士の組み合わせの１６通りである。このうち、移動情報の数が３個以上となるものは、出発地が領域「００００」であり目的地が領域「００００」の移動情報（Ａ〜Ｃが該当）である。したがって、移動情報Ａ〜Ｃは、出発地が領域「００００」であり、目的地が領域「００００」であることを示す情報に置き換えられる。
【００８５】
次に、ｊが１増分されて、ｉ＝１、ｊ＝２となる。したがって、領域ｓｉは最下位層の４つの領域「００００」、「０００１」、「００１０」、「００１１」のいずれかであり、領域ｄｊは最上位層の領域「００」である。ここで、領域ｓｉが領域「００００」で、
領域ｄｊが領域「００」の場合を例に説明する。ステップＳ１００３における、領域ｓｉの子階層の領域ｓ’ｉと領域ｄｊの子階層の領域ｄ’ｊの組み合わせの候補として、出発地が領域「００００」で、目的地が領域「００００」、「０００１」、「００１０」、「００１１」のいずれかという４通りがある。このうち、移動情報の数が３個以上となるのは、領域「００００」から領域「００００」への移動である（移動情報Ａ〜Ｃが該当）。したがって、ステップＳ１００３において得られる領域ｓ’ｉと領域ｄ’ｊの組み合わせは、領域「００００」と領域「００００」の組み合わせとなる。ステップＳ１００４では、領域「００００」から領域「００」への移動情報の数（移動情報Ａ〜Ｇが該当し７個）から、領域「００００」から領域「００００」への移動情報の数（移動情報Ａ〜Ｃが該当し３個）を引いた４が数ｎとして求められる。この数ｎは３以上であるので、移動情報Ｄ〜Ｇは、領域「００００」から領域「００」への移動から、領域「００００」から領域「００００」への移動を除いた移動を表す情報に置き換えられる。
【００８６】
出発地の領域が領域「００００」以外の場合は、ステップＳ１００３における領域ｄ’ｉおよび領域ｓ’ｊを満たす出発地と目的地の領域のペアは存在しないが、ステップＳ１００４において求められる移動情報の数が３個以下となるため、ｋ匿名性を満たさない。
【００８７】
次に、ｉが増分されて、ｉ＝２，ｊ＝２となる。したがって、領域ｓｉは領域「００」であり、領域ｄｊは領域「００」である。ステップＳ１００３における、領域ｓｉの子階層の領域ｓ’ｉと領域ｄｊの子階層の領域ｄ’ｊの組み合わせの候補として、出発地が領域「００００」、「０００１」、「００１０」、「００１１」のいずれかで、目的地が領域「００００」、「０００１」、「００１０」、「００１１」のいずれかの１６通りの組み合わせと、出発地が「００００」、「０００１」、「００１０」、「００１１」で、目的地が「００」の４通りの組み合わせの、合計２０通りがある（出発地が領域「００」で目的地が領域「００００」、「０００１」、「００１０」、「００１１」のいずれかという組み合わせは、領域ｓ’ｉが領域ｄ’ｊよりも上位階層となるので含まれない）。このうち、移動情報の数が３個以上となるのは、領域「００００」から領域「００００」への移動（移動情報Ａ〜Ｃが該当）と、領域「００００」から領域「００」への移動（移動情報Ａ〜Ｇが該当）である。なお、前者は後者に包含されるので無視してもよい。ステップＳ１００４では、領域「００」から領域「００」への移動情報の数（移動情報Ａ〜Ｊが該当し１０個）から、領域「００００」から領域「０００への移動情報の数（移動情報Ａ〜Ｇが該当し７個）を引いた３が数ｎとして求められる。この数ｎは３以上であるので、移動情報Ｈ〜Ｊは、領域「００」から領域「００」への移動から、領域「００００」から領域「００」への移動を除いた移動を表す情報に置き換えられる。
【００８８】
本実施形態によれば、出発地と目的地の位置情報からなる移動情報をｋ匿名性を満たすように匿名化できる。本実施形態においても階層化した階層化領域を用いているので、第１の実施形態と同様に、出発地および目的地を領域での置き換えにおいて、重複などの問題が発生せずに容易に行える。また、狭い領域を出発地および目的地としてｋ匿名性を満たす移動情報については、これらの出発地および目的地の領域を用いて匿名化でき、その他の移動情報についてはより広い領域を出発地および目的地とする移動として匿名化できる。したがって、移動情報の曖昧化を最小限としつつ、破棄される移動情報の数を最小限とした匿名化が実現できる。
【００８９】
なお、図１０のフローチャートに示す匿名化処理は一例であり、その他の手法によっても移動情報の匿名化が行える。例えば、図１０では、出発地よりも目的地を優先的に曖昧化しているが、逆に出発地を目的地よりも優先的に曖昧化してもよい。この場合、ステップＳ１００８において変数ｉを変数ｊよりも先に増分させればよい。また、ステップＳ１００４における領域ｓ’ｉと領域ｄ’ｊについては、領域ｓ’ｉの階層が、領域ｄ’ｊの階層と同じかそれよりも上位階層であることを条件とすればよい。
【００９０】
また、出発地と目的地を同じレベルで曖昧化してもよい。この場合、ステップＳ１００８において変数ｉと変数ｊを同時に増分させればよい。また、ステップＳ１００４における領域ｓ’ｉと領域ｄ’ｊは同じ階層であることを条件とすればよい。
【００９１】
また、これら以外の手順であっても、最終的に下記の条件を満たすような領域Ｓ１と領域Ｄ１の組み合わせ、および領域Ｓ２と領域Ｄ２の組み合わせを求めて、移動情報を、領域Ｓ１から領域Ｄ１への移動から、領域Ｓ２から領域Ｄ２への移動を除いた移動を表す情報で置き換えればよい。
（条件１）領域Ｓ１は、匿名化対象の移動情報の出発地を含む最下位階層の領域または当該最下位階層の領域の１または複数階層上位の領域のいずれかである。
（条件２）領域Ｄ１は、匿名化対象の移動情報の目的地を含む最下位階層の領域または当該最下位階層の領域の１または複数階層上位の領域のいずれかである。
（条件３）領域Ｓ２は、領域Ｓ１または領域Ｓ１の１または複数階層下位の領域であり、領域Ｄ２は、領域Ｄ１または領域のＤ１の１または複数階層下位の領域であり、領域Ｓ２を出発地とし領域Ｄ２を目的地とする移動情報の数がｋ個以上である。ただし、領域Ｓ２が領域Ｓ１でありかつ領域Ｄ２が領域Ｄ１である場合を除く。
（条件４）領域Ｓ１を出発地とし領域Ｄ１を目的地とする移動情報から、領域Ｓ２を出発地とし領域Ｄ２を目的地とする移動情報を除いた移動情報の数がｋ個以上である。
【００９２】
図９に示すフローチャートにしたがって匿名化された位置情報は、上記の条件を満たす。なお、領域Ｓ１，Ｓ２，Ｄ１，Ｄ２はそれぞれ上述の領域ｓｉ，ｓ’ｉ，ｄｊ，ｄ’ｊに相当する。
【００９３】
例えば、第１の実施形態において図６、図７の処理のように、各領域を出発地および目的地とする移動情報の数を表すデータを前処理により求めておき、このデータを用いてそれぞれの移動情報を匿名化することもできる。
【００９４】
また、移動情報は出発地と目的地の位置情報から構成されるので、出発地の緯度情報および経度情報と目的地の緯度情報と経度情報の４つの情報により特定される。すなわち、それぞれの移動情報は４次元空間における点と捉えることができる。このような４次元空間を、複数の分割領域に分割し、これらの分割領域の間に階層構造を導入すれば、第１の実施形態の位置情報に対する匿名化処理と同様の処理を行うことで、上記の条件を満たす移動情報の匿名化が実現できる。
【符号の説明】
【００９５】
１００：位置情報匿名化装置
１０１：位置情報取得部
１０２：階層領域定義部
１０３：匿名化部
【図１】
0006435978.tif 000002
【図２】
0006435978.tif 000003
【図３】
0006435978.tif 000004
【図４】
0006435978.tif 000005
【図５】
0006435978.tif 000006
【図６】
0006435978.tif 000007
【図７】
0006435978.tif 000008
【図８】
0006435978.tif 000009
【図９】
0006435978.tif 000010
【図１０】
0006435978.tif 000011
【図１１】
0006435978.tif 000012