(57)【要約】  複数の提供元からのデータを適切に匿名化する。  本発明の情報処理装置は、データの匿名化の指標を受け取る指標受取手段と、データを匿名化のために分割したグループが含むレコード数を計測するレコード数計測手段と、指標とレコード数とを基にグループの分割点を決定するための分割点決定関数を選択する分割点決定関数選択手段と、選択された分割点決定関数を基にデータの分割点を算出し、データをグループに分ける分割決定手段と、グループを基にデータを匿名化する抽象化手段とを含む。
2014061275.tif 000002
【特許請求の範囲】
【請求項１】
データの匿名化の指標を受け取る指標受取手段と、
前記データを匿名化のために分割したグループが含むレコード数を計測するレコード数計測手段と、
前記指標と前記レコード数とを基に前記グループの分割点を決定するための分割点決定関数を選択する分割点決定関数選択手段と、
選択された前記分割点決定関数を基に前記データの分割点を算出し、前記データをグループに分ける分割決定手段と、
前記グループを基に前記データを匿名化する抽象化手段と
を含む情報処理装置。
【請求項２】
前記分割点決定関数選択手段が、
前記選択として、分割後のグループのデータの提供元が偏るような分割となる分割点決定関数と、提供元が偏らない分割となる分割点決定関数とを選択する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記分割点決定関数選択手段が、
前記指標と前記レコードとを基に、提供元が１つとなる分割ができるか否かを判定し、
提供元が１つとなる分割ができる場合、提供元が偏るような分割となる分割点決定関数を選択し、
分割できないと判定した場合、提供元が偏らない分割となる分割点決定関数を選択する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記分割点決定関数選択手段が、
前記指標として、同じ準識別子を含むデータを少なくともｋ個含むｋ−匿名性、いずれの提供元のデータを除いても同じ準識別子を含むデータを少なくともｓｋ個含むｓｋ−ｓｉｔｅ−匿名性又は提供元の数の少なくとも１つを用いる
ことを特徴とする請求項１乃至請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
前記分割点決定関数選択手段が、
前記ｓｋ−ｓｉｔｅ−匿名性として、少なくとも一部の提供元の組み合わせを対象とする
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記分割点決定関数選択手段が、
関数の選択として、
複数の関数からの選択、関数の値の大小の判定又は関数の組合せの少なくとも１つを実行する
ことを特徴とする請求項１乃至請求項５のいずれか１項に記載の情報処理装置。
【請求項７】
前記分割点決定関数選択手段が、
前記分割点決定関数としてデータのエントロピーを含む関数を用い、
前記選択として、分割点決定関数の大小の判定を選択する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
データの匿名化の指標を受け取り、
前記データを匿名化のために分割したグループが含むレコード数を計測し、
前記指標と前記レコード数とを基に前記グループの分割点を決定するための分割点決定関数を選択し、
選択された前記分割点決定関数を基に前記データの分割点を算出し、前記データをグループに分け、
前記グループを基に前記データを匿名化する
情報処理方法。
【請求項９】
データの匿名化の指標を受け取る受取処理と、
前記データを匿名化のために分割したグループが含むレコード数を計測する計測処理と、
前記指標と前記レコード数とを基に前記グループの分割点を決定するための分割点決定関数を選択する選択処理と、
選択された前記分割点決定関数を基に前記データの分割点を算出する算出処理と、
前記データをグループに分けるグループ分け処理と、
前記グループを基に前記データを匿名化する匿名化処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理に関し、特に、データの匿名化処理に関する。
【背景技術】
【０００２】
ＩＴ技術の発達に伴い、多くのデータ（情報）が、情報処理装置や情報処理システムに、蓄積されている。科学技術の発展には、蓄積されたデータの利用（例えば、データ・マイニング）が、有用である。【０００３】
例えば、厚生労働省は、健康保険の支払のために、病院の診療報酬明細書（レセプト）のデータを保有している。医学研究機関は、レセプトのデータを用いると、医学研究の質の向上や効率化を実現できる。【０００４】
しかし、レセプトは、個人データを含む。個人データは、一般的に、個人を特定（識別）するデータ（識別子（ＩＤ：Identifier））と、個人が公開したくない属性データ（センシティブ・データ）とを含んでいる。個人データの保有元は、プライバシー保護のため、第三者に、データをそのままでは提供できない。【０００５】
そこで、個人のプライバシーを保護して個人データを提供するための技術が、用いられている。【０００６】
このような技術の手法は、大きく分けて、「暗号法」と「摂動法」とがある。【０００７】
暗号法は、データの少なくとも一部を暗号化して、データを提供する手法である。ただし、暗号法は、暗号処理に大きな計算コストが必要である。【０００８】
一方、摂動法は、暗号化を用いず、データへの雑音の加算やデータの間引きのような抽象化や非同定化を用いて、個人のプライバシーを保護する手法である。このような摂動法の手法は、データの匿名化と言われる。匿名化後のデータは、匿名性を備えることになる。【０００９】
このような匿名化として、「ｋ−匿名化」が、広く用いられる。【００１０】
ｋ−匿名化とは、同じ準識別子を含むデータを、少なくとも「ｋ」個含むようにデータを匿名化することである。つまり、ｋ−匿名化されたデータは、データ集合の中に、そのデータ以外の少なくとも「ｋ−１」個の同じ準識別子を含むデータが、含まれている。このようなデータの状態は、ｋ−匿名性と言われる。つまり、ｋ−匿名化されたデータは、ｋ−匿名性を備える。【００１１】
なお、準識別子とは、単独では識別子（明確な識別子）とならないが、組み合わせると識別子となるデータである。【００１２】
情報を提供する側は、第三者に情報を提供する前に、情報処理装置を用いて、ｋ−匿名性を満たすように、データを匿名化する（例えば、特許文献１を参照）。なお、データを匿名化する情報処理装置は、一般的に、データの匿名性を確保できるグループに分割し、そのグループに含まれるデータの準識別子を匿名化する。【００１３】
ここで、グループ分割とは、匿名化する準識別子（属性）を基に、データを複数のグループに分けることである。グループを分ける境界は、「分割点」と言う。【００１４】
なお、匿名化する準識別子が１種類の場合、準識別子を座標とした空間（準識別子空間）は、１次元となる。そのため、境界は、点となる。しかし、匿名化する準識別子は、１つに限る必要がない。情報処理装置は、複数の準識別子を、匿名化しても良い。情報処理装置が複数の準識別子を匿名化する場合、準識別子空間は、複数次元となる。そのため、グループを分ける境界は、点ではなく、線、又は、広がりを持つ面若しくは空間となる。ただし、一般的に、グループを分ける境界は、特に区別されずに、「分割点」と言われている。そのため、以下、特に区別せず「分割点」として説明する。【００１５】
匿名化を実施する情報処理装置は、例えば、次のようにグループ分けを進める。【００１６】
（１）情報処理装置は、準識別子の属性値が最も曖昧な（匿名化された）値となる１つのグループを、生成する。【００１７】
（２）情報処理装置は、データをグループに分ける分割点を決定し、その分割点でグループを分割する。【００１８】
（３）情報処理装置は、分割後のグループについてｋ−匿名性を満たすか否かを確認する。【００１９】
（４）ｋ−匿名性を満たす場合、情報処理装置は、分割後のグループに対して（２）〜（４）の動作を繰り返す。【００２０】
（５）ｋ−匿名性を満たさない場合、情報処理装置は、分割を元に戻し、分割を終了する。【００２１】
（６）情報処理装置は、全てのグループが（５）となるまで、（２）〜（５）を繰り返す。【００２２】
このようなグループ分けが終了すると、情報処理装置は、グループ分けを基に、データを匿名化する。
【先行技術文献】
【特許文献】
【００２３】
【特許文献１】特開２０１１−１７０６３２
【発明の概要】
【発明が解決しようとする課題】
【００２４】
特許文献１に記載の技術は、データの提供元が１つの場合を想定している。【００２５】
しかし、データの提供元は、１つとは限らない。【００２６】
例えば、研究機関は、複数の病院のデータを用いて研究したい場合がある。【００２７】
このような場合、複数の病院のデータを結合してｋ−匿名性を確保したデータが、研究機関に提供される。【００２８】
複数の提供元（病院）のデータを結合したデータは、研究機関に対して、ｋ−匿名性を確保している。しかし、提供されたデータは、他の者に対して、例えば、提供元に対してｋ−匿名性を確保できない場合がある。【００２９】
例えば、データの提供元は、自分が提供したデータを知っている。そのため、データの提供元は、ｋ−匿名性を確保したデータと自分が提供したデータとを基に、データのｋ−匿名化を下げることができる場合がある。【００３０】
この場合について、具体的に、説明する。【００３１】
例えば、結合後のデータが、４−匿名性を備えているとする。【００３２】
一方、提供元は、提供してデータが、匿名化後のどの準識別子となるかが分かる。【００３３】
そこで、提供元は、提供したデータを匿名化後のデータから削除し、データの匿名性を、４−匿名性から３−匿名性に下げることができる。【００３４】
さらに、提供した３つのデータが匿名化後の同じ準識別子となる場合、提供元は、その３つのデータを、匿名化後のデータから削除できる。匿名化後のデータは、４−匿名性を備える。つまり、匿名化後のデータは、そのデータ以外に、３個の同じ準識別子を含むデータが含まれている。しかし、提供元は、自分が提供した３個のデータを除いて、他の提供元から提供されたデータを特定できる。【００３５】
このように、特許文献１に記載の技術は、複数の提供元からデータの提供を受ける場合、データの提供元に対して、匿名性を確保できない場合があるという問題点があった。【００３６】
本発明の目的は、上記問題点を解決し、提供元に対しても、データの適切な匿名化を実現できる情報処理装置、及び、情報処理方法を提供することにある。
【課題を解決するための手段】
【００３７】
本発明の情報処理装置は、データの匿名化の指標を受け取る指標受取手段と、前記データを匿名化のために分割したグループが含むレコード数を計測するレコード数計測手段と、前記指標と前記レコード数とを基に前記グループの分割点を決定するための分割点決定関数を選択する分割点決定関数選択手段と、選択された前記分割点決定関数を基に前記データの分割点を算出し、前記データをグループに分ける分割決定手段と、前記グループを基に前記データを匿名化する抽象化手段とを含む。【００３８】
本発明の情報処理方法は、データの匿名化の指標を受け取り、前記データを匿名化のために分割したグループが含むレコード数を計測し、前記指標と前記レコード数とを基に前記グループの分割点を決定するための分割点決定関数を選択し、選択された前記分割点決定関数を基に前記データの分割点を算出し、前記データをグループに分け、前記グループを基に前記データを匿名化する。【００３９】
本発明のプログラムは、データの匿名化の指標を受け取る受取処理と、前記データを匿名化のために分割したグループが含むレコード数を計測する計測処理と、前記指標と前記レコード数とを基に前記グループの分割点を決定するための分割点決定関数を選択する選択処理と、選択された前記分割点決定関数を基に前記データの分割点を算出する算出処理と、前記データをグループに分けるグループ分け処理と、前記グループを基に前記データを匿名化する匿名化処理とをコンピュータに実行させる。
【発明の効果】
【００４０】
本発明によれば、提供元に対しても、データの適切な匿名化を、実現できる。
【図面の簡単な説明】
【００４１】
【図１】図１は、本発明における第１の実施形態に係る情報処理装置を含む情報システムの一例を示すブロック図である。
【図２】図２は、第１の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図３】図３は、第１の実施形態に係る情報処理装置の詳細な構成の一例を示すブロック図である。
【図４】図４は、良くない分割の一例を示す図である。
【図５】図５は、良い分割の一例を示す図である。
【図６】図６は、良い分割の一例を示す図である。
【図７】図７は、分割点決定関数選択部の動作の一例を示すフローチャートである。
【図８】図８は、第１の実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
【図９】図９は、第１の実施形態に係る情報処理装置の説明に用いるデータの図である。
【図１０】図１０は、第１の実施形態に係るデータの一例を説明するための図である。
【図１１】図１１は、データの分割の一例を示すブロック図である。
【図１２】図１２は、第１の実施形態に係るデータの分割を説明するための図である。
【図１３】図１３は、第１の実施形態に係るデータの分割を説明するための図である。
【図１４】図１４は、第１の実施形態に係るデータの分割を説明するための図である。
【図１５】図１５は、匿名化後のデータの一例を示す図である。
【図１６】図１６は、偏るように分割した場合の分割の一例を示す図である。
【図１７】図１７は、偏らないように分割した場合の分割の一例を示す図である。
【図１８】図１８は、第１の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００４２】
次に、本発明の実施形態について図面を参照して説明する。
【００４３】
本発明のおける情報処理装置の一例として、データの匿名化の依頼を受けて、データを匿名化する装置を用いて説明する。ただし、本発明の情報処理装置は、これに限らない。例えば、本発明の情報処理装置は、統計データを収集する装置でも良い。又は、本発明の情報処理装置は、データを分類する装置でも良い。
【００４４】
なお、各図面は、本発明の実施形態を説明するものである。そのため、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。
【００４５】
次に、本実施形態の説明に用いる用語について整理する。
【００４６】
「ｋ−匿名化」とは、既に説明したとおり、同じ準識別子（又は準識別子の組）を含むデータを少なくとも「ｋ」個含むように、データを匿名化することである。ｋ−匿名化されたデータは、「ｋ−匿名性」を備える。つまり、ｋ−匿名性を備えたデータは、同じ準識別子（又は準識別子の組）を含むデータを、少なくとも「ｋ−１」個含まれることが保障される。
【００４７】
「ｓｋ−ｓｉｔｅ−匿名化」とは、データ集合から、データの提供元（サイト（ｓｉｔｅ）、以下、単に「提供元」と言う）のデータ（レコード数）を除いたデータにおいて、同じ準識別子を含むデータを少なくとも「ｓｋ」個含むように匿名化することである。ｓｋ−ｓｉｔｅ−匿名化されたデータは、「ｓｋ−ｓｉｔｅ−匿名性」を備える。
【００４８】
例えば、６−匿名性を備えた匿名化データを作成した場合を考える。そして、同じ識別子の含むデータのグループにおいて、各提供元からデータが、最大で２個含まれるとする。この場合、匿名化したデータから提供元のデータ（最大で２個）を除いたデータは、同じ準識別子を含むデータが少なくとも４（６−２＝４）個、つまり、４−匿名性を有する。そのため、この場合の匿名化後のデータは、６−匿名性及び４−ｓｉｔｅ−匿名性を有する。
【００４９】
なお、本実施形態の情報処理装置は、ｓｋ−ｓｉｔｅ−匿名性として、単独の提供元に対する匿名性に限る必要はない。本実施形態の情報処理装置は、複数の提供元の組み合わせに対応したｓｋ−ｓｉｔｅ−匿名性を確保しても良い。
【００５０】
例えば、上記の例を用いると、次のようになる。
【００５１】
同様に、６−匿名性を備えた匿名化データを作成した場合を考える。また、同じ識別子の含むデータのグループにおいて、各提供元からデータが最大で２個含まれるとする。そして、２つの提供元に対応したｓｋ−ｓｉｔｅ−匿名性を考える。この場合、匿名化したデータから２つの提供元のデータ（最大で４個）を除いたデータは、同じ準識別子を含むデータが少なくとも２（６−４＝２）個、つまり、２−匿名性を有する。そのため、この場合の匿名化後のデータは、６−匿名性及び２−ｓｉｔｅ−匿名性を有する。
【００５２】
さらに、本実施形態の情報処理装置は、組み合わせる提供元の数を可変としても良い。
【００５３】
例えば、情報処理装置は、提供元の信頼度を基に、次に説明するように、ｓｋ−ｓｉｔｅ−匿名性を確保しても良い。なお、提供元の信頼度は、特に制限はない。一例として、ここでは、提供元の結託の可能性の程度を用いて説明する。
【００５４】
提供元は、４者（提供元Ａ、Ｂ、Ｃ、Ｄ）とする。
【００５５】
そして、提供元Ａ、提供元Ｂ及び提供元Ｃは、結託する可能性が高いとする。一方、提供元Ｄは、他の提供元と結託する可能性が低いとする。
【００５６】
この場合、情報処理装置は、ｓｋ−ｓｉｔｅ−匿名性として、次に示す単独の提供元及び結託した提供元に対してｓｋ−ｓｉｔｅ−匿名性を確保する。
【００５７】
単独：提供元Ａ、提供元Ｂ、提供元Ｃ、提供元Ｄ
結託：提供元Ａ＋提供元Ｂ、提供元Ｂ＋提供元Ｃ、提供元Ｃ＋提供元Ａ、提供元Ａ＋提供元Ｂ＋提供元Ｃ
ただし、以下の説明では、説明の便宜のため、ｓｋ−ｓｉｔｅ−匿名化の対象の提供元の数を１つとして説明する。
【００５８】
本実施形態の情報処理装置は、匿名化において、少なくとも、所定のｓｋ−ｓｉｔｅ−匿名性を満足するように匿名化する。
【００５９】
「匿名化」とは、一般的に、匿名化のためのデータの加工処理に限らず、データを匿名化するために必要な処理（例えば、グループに分ける処理）を含めた処理を意味する。本実施形態の説明においても、匿名化の処理は、匿名化のためにグループに分ける処理及びグループに分けたデータを変更する処理を含む（広義の匿名化）。ただし、「匿名化」は、グループに分けた後のデータを変更する処理を意味する場合がある（狭義の匿名化）。そのため、本実施形態の説明において、広義の匿名化と狭義の匿名化の区別を明確にして説明する場合、狭義の匿名化を「抽象化」と言うことがある。
【００６０】
「分割」とは、以下の実施形態の説明では、データをグループの分けることである。そのため、分割を、「グループ化」又は「グループ分け」とも言う。
【００６１】
「分割点」は、既に説明したとおり、グループを分ける境界のことである。
【００６２】
「レコード数」とは、以下の本実施形態の説明では、データの数のことである。グループのレコード数とは、そのグループに含まれるデータの数である。
【００６３】
（第１の実施形態）
図１は、第１の実施形態における情報処理装置１０を含む情報処理システム４０の構成の一例を示すブロック図である。
【００６４】
情報処理システム４０は、情報処理装置１０と、処理依頼装置３０とを含む。情報処理装置１０と処理依頼装置３０とは、例えば、ネットワークを介して接続している。
【００６５】
処理依頼装置３０は、データを匿名化するため、情報処理装置１０にデータの匿名化を依頼する装置である。
【００６６】
処理依頼装置３０は、匿名化を依頼するとき、依頼する匿名化を示す指標と、匿名化するデータ（匿名化前データ）とを情報処理装置１０に送信する。そして、処理依頼装置３０は、情報処理装置１０から、匿名化後のデータを受け取る。
【００６７】
そのため、処理依頼装置３０は、匿名化前データ保持部３１０と、データ送信部３２０と、匿名化処理開始依頼部３３０と、結果受信部３４０と、匿名化後データ保持部３５０とを含む。
【００６８】
匿名化前データ保持部３１０は、情報処理装置１０に匿名化を依頼する匿名化前データを保持する。
【００６９】
なお、処理依頼装置３０は、予め、匿名化前データを保持しておけばよく、どのように匿名化前データを受け取るかについて、特に制限はない。例えば、処理依頼装置３０は、提供元からデータを受け取り、データを結合し、匿名化前データを作成し、匿名化前データとして保持しても良い。あるいは、処理依頼装置３０は、図示しない装置から結合後の匿名化前データを受けとっても良い。
【００７０】
データ送信部３２０は、匿名化前データを、情報処理装置１０に送信する。
【００７１】
匿名化処理開始依頼部３３０は、情報処理装置１０に、送信した匿名化前データの匿名化を依頼する。依頼の際、匿名化処理開始依頼部３３０は、匿名化の指標を情報処理装置１０に送信する。
【００７２】
なお、匿名化処理開始依頼部３３０は、データ送信部３２０のデータの送信の前に、指標を情報処理装置１０に送信してもよい。この場合、匿名化処理開始依頼部３３０は、データ送信部３２０が匿名化前データを送信後、情報処理装置１０に、匿名化の開始を依頼する。
【００７３】
結果受信部３４０は、情報処理装置１０から匿名化したデータ（匿名化後データ）を受け取り、匿名化後データ保持部３５０に保存する。
【００７４】
匿名化後データ保持部３５０は、匿名化後データを保持する。
【００７５】
ただし、処理依頼装置３０と情報処理装置１０との情報のやり取りは、これに限る必要はない。
【００７６】
例えば、処理依頼装置３０は、情報処理装置１０に、匿名化のためのデータの分割点の決定を依頼しても良い。
【００７７】
具体的には、処理依頼装置３０は、次のように動作する。
【００７８】
処理依頼装置３０は、匿名化の指標と匿名化前データとを情報処理装置１０に送信する。情報処理装置１０は、受け取った指標と匿名化前データとを基に、データを匿名化するための分割点を決定する。情報処理装置１０は、決定した分割点を処理依頼装置３０に送信する。処理依頼装置３０は、受け取った分割点を基にデータを匿名化して、匿名化後データを作成し、保持しても良い。
【００７９】
また、匿名化前データは、処理依頼装置３０ではなく、図示しない別の装置が保持しても良い。この場合、処理依頼装置３０は、情報処理装置１０に、指標とデータの保存場所とを通知する。そして、情報処理装置１０は、データの保存場所からデータを取り出し、指標に基づき保存場所のデータを匿名化すればよい。
【００８０】
さらに、処理依頼装置３０は、情報処理装置１０に、データを送信しなくても良い。この場合、処理依頼装置３０は、指標とデータの保存装置（例えば、処理依頼装置３０又は図示しない別の装置）を通知する。そして、情報処理装置１０は、指標を基に、データの保存場所のデータを参照して、データの分割点を決定する。そして、情報処理装置１０は、分割点を、データの保存装置に通知する。そして、データの保存装置は、受け取った分割点を基に、データを匿名化する。
【００８１】
次に、情報処理装置１０について、図面を参照して説明する。
【００８２】
図２は、情報処理装置１０の構成の一例を示すブロック図である。
【００８３】
情報処理装置１０は、分割化部１００と、抽象化部１５０と、グループ情報保持部２００とを含む。
【００８４】
グループ情報保持部２００は、処理依頼装置３０から受け取った匿名化前データ及び抽象化部１５０が匿名化した匿名化後データを保持する。なお、グループ情報保持部２００は、情報処理装置１０の処理の途中のデータ（例えば、分割化部１００の決定した分割グループの状態）を保持しても良い。
【００８５】
分割化部１００は、受け取った指標とデータとを基に、データを匿名化するためのグループ分割を決定する。つまり、分割化部１００は、匿名化のための分割点を決定する。
【００８６】
抽象化部１５０は、分割化部１００が決定したグループの分割（分割点）を基に、データを匿名化する。なお、抽象化部１５０の匿名化は、狭義の匿名化（抽象化）である。
【００８７】
図３は、第１の実施形態に係る情報処理装置１０の、より詳細な構成の一例を示すブロック図である。
【００８８】
図３に示す分割化部１００は、指標受取部１１０と、レコード数計測部１２０と、分割点決定関数選択部１３０と、分割決定部１４０とを含む。
【００８９】
なお、本実施形態の情報処理装置１０は、既に説明したとおり、必ずしもデータを保持しなくても動作できる。そのため、図３では、グループ情報保持部２００を省略した。
【００９０】
指標受取部１１０は、処理依頼装置３０から、処理の対象となるデータを匿名化するための指標を、受け取る。このような指標は、例えば、ｋ−匿名性又はｓｋ−ｓｉｔｅ−匿名性である。
【００９１】
レコード数計測部１２０は、グループのレコード数を計測する。
【００９２】
分割点決定関数選択部１３０は、所定の判定基準を基に、分割決定部１４０が用いる分割点決定関数を選択する。ここで、分割点決定関数とは、データのグループの分割点を決定するための値（スコア）を計算する関数である。分割点決定関数選択部１３０については、後ほど詳細に説明する。
【００９３】
分割決定部１４０は、選択された分割点決定関数を基に、データの分割点を決定する。つまり、分割決定部１４０は、分割点決定関数を基に、データをグループに分ける。
【００９４】
分割化部１００は、これらの構成を基に、指標を満たす範囲で、可能な限り、データを多くのグループに分割する。
【００９５】
そして、分割化部１００での分割終了後、抽象化部１５０は、分割したグループを基に、データを匿名化する。抽象化部１５０が匿名化したデータが、「匿名化後データ」である。
【００９６】
次に、分割点決定関数選択部１３０について図面を参照して、さらに説明する。
【００９７】
まず、本実施形態の情報処理装置１０の分割について説明する。
【００９８】
一般的に、分割できるグループの数が多い分割、つまり、グループに含まれるレコード数が少ない分割は、匿名化率が低く、匿名後のデータの情報の劣化が少ない。そのため、グループに含まれるレコード数が少ない分割は、良い分割である。
【００９９】
そして、各分割において、できる限り、次の条件を満足するように分割を進めると、情報処理装置１０は、良い分割を実現できる。
【０１００】
条件１の分割：グループ内の提供元が、偏らない（以下、［分割１］とする）。
【０１０１】
条件２の分割：グループ内の提供元が、１つである（以下、［分割２］とする）。
【０１０２】
上記の分割を進める理由は、どちらの分割も、分割後のグループにおいて、ｓｋ−ｓｉｔｅ−匿名性を確保が、容易なためである。
【０１０３】
図を参照して、分割の良否について説明する。
【０１０４】
なお、次の図４乃至図６を参照した説明において、指標は、４−匿名性と２−ｓｉｔｅ−匿名性とする。また、各図において、左のグループが、良い分割又はよくない分割の後のグループの状態である。右のグループが、左のグループを基にした最終的なグループ分割である。
【０１０５】
図４は、良くない分割後のグループの一例を示す図である。図４の左に示す分割後のグループは、提供元が偏っており、かつ、提供元が複数となっている。そのため、情報処理装置１０は、図４の左に示す分割後のグループを、図４の右に示すように、２つ又は３つのグループに分割する。
【０１０６】
図５は、［分割１］に対応する良い分割の一例を示す図である。図５の左に示す分割後のグループは、提供元が偏っていない。そのため、情報処理装置１０は、図５の左の分割後のグループを、図５の右に示すように、４つのグループに分割できる。
【０１０７】
図６は、［分割２］に対応する良い分割の一例を示す図である。図６の左に示す分割後のグループは、提供元が１つである。そのため、情報処理装置１０は、図６の左の分割後のグループを、図６の右に示すように、２種類の４つのグループに分割できる。
【０１０８】
ただし、［分割２］の条件を満足するように分割を進めることは、提供元を偏るように分割を進めることである。このような［分割２］は、［分割１］の条件を悪くする分割である。
【０１０９】
また、［分割１］の条件を満足するように分割を進めることは、［分割２］の条件を満足する分割を実現できない。
【０１１０】
このように、情報処理装置１０は、［分割１］の条件と［分割２］の条件とを同時に満足するように分割できない。
【０１１１】
ｓｋ−ｓｉｔｅ匿名性を確保するためには、［分割２］の条件の満足が、最も望ましい。しかし、［分割２］の条件を満たすように分割を進めたが、［分割２］の条件を満たす前に、指標（例えば、ｋ−匿名性）を満足できなくなった場合、情報処理装置１０は、それ以上分割を進めることができない。その結果の分割は、［分割１］の条件及び「分割２］の条件とも満足できない分割となる。情報処理装置１０は、このような分割を避けることが望ましい。
【０１１２】
そこで、本実施形態の情報処理装置１０は、分割点決定関数選択部１３０を含む。そして、情報処理装置１０は、以下で説明するように、分割決定部１４０が分割点を決定するために用いる分割点決定関数分割を、切り換える。
【０１１３】
図７は、分割点決定関数選択部１３０の動作の一例を示すフローチャートである。
【０１１４】
まず、分割点決定関数選択部１３０は、提供元が１つになるまで分割が進む前に、指標を満たさなくなる可能性があるか否かを確認する（ステップＳ５００）。具体的には、分割点決定関数選択部１３０は、所定の判定基準を基に、提供元を偏るように分割するか否かを判定する。
【０１１５】
偏るように分割する場合（ステップＳ５００で「ＹＥＳ」）、分割点決定関数選択部１３０は、提供元の数が偏るような分割点決定関数を選択する（ステップＳ５１０）。
【０１１６】
一方、偏るように分割しない場合（ステップＳ５００で「ＮＯ」）、分割点決定関数選択部１３０は、提供元が偏らないような分割点決定関数を選択する（ステップＳ５２０）。
【０１１７】
分割点決定関数選択部１３０は、所定の判断基準として、いろいろな判断基準を採用できる。例えば、分割点決定関数選択部１３０は、所定の閾値と、グループ分割に伴う数値とを比較してもよい。
【０１１８】
そして、分割点決定関数選択部１３０は、所定の閾値として、例えば、指標（ｋ−匿名性、ｓｋ−ｓｉｔｅ−匿名性）又は提供元の数を基に、閾値の値を設定すればよい。
【０１１９】
また、分割点決定関数選択部１３０は、グループ分割に伴う数値として、グループのサイズ（レコード数）又はグループの総数を用いれば良い。
【０１２０】
判定基準の幾つか例示すると、次のような判定基準が想定できる。なお、以下の式の変数は、次のとおりとする。
【０１２１】
Ｌ：グループ内のレコード数
ｋ：ｋ−匿名性
ｓｋ：ｓｋ−ｓｉｔｅ−匿名性
Ｍ：提供元の数
Ｍｇ：グループ内の提供元の数
Ｃ：所定の定数
（１）「グループの状態」と「指標」との比較の例
ａ）  「Ｌ」と「Ｃ×ｓｋ」との比較
ｂ）  「Ｌ」と「Ｃ×ｋ」との比較
（２）「グループの状態」と「指標」及び「提供元」の情報の組合せに基づく比較の例
ａ）  「Ｌ」と「ｓｋ×Ｍ」との比較
ｂ）  「Ｌ」と「ｓｋ×Ｍｇ」との比較
ｃ）  「Ｌ」と「ｋ×Ｍ」との比較
なお、判定基準は、予め匿名化に先立ち、情報処理装置１０に設定されていればよい。例えば、情報処理装置１０は、予め判定基準を保持しても良い。あるいは、情報処理装置１０は、処理依頼装置３０など他の装置から判定基準を受け取っても良い。
【０１２２】
また、分割点決定関数選択部１３０は、分割点決定関数を選択する場合、少なくとも、次に示すいずれかの選択を実行する。
【０１２３】
（１）複数の分割点決定関数から、適用する分割点決定関数を選択する。
【０１２４】
（２）分割点の判定に用いる分割点決定関数のスコアの大小の判定を選択する。
【０１２５】
大小の判定の選択とは、例えば、次のような選択である。
【０１２６】
値の大小：関数の値が大きいか、又は、関数の値が小さいかのどちらかの選択
正負    ：関数の値又は変化率が正となるか、負となるかのどちらかの選択
（３）分割点決定関数のパラメータを選択する。
【０１２７】
パラメータの選択とは、例えば、次のような内容である。
【０１２８】
分割点決定関数が、「ｆ（ｘ）＝αｇ（ｘ）＋βｈ（ｘ）」の場合、分割点決定関数選択部１３０は、αの値とβの値とを、所定の値（例えば、−１、０、１）から選択する。ここで、ｇ（ｘ）とｈ（ｘ）は、所定の関数である。この選択は、関数の組合せを選択することでもある。
【０１２９】
分割点決定関数選択部１３０は、上記の選択を、組み合わせてもよい。例えば、分割点決定関数選択部１３０は、複数の分割点決定関数から選択後、その関数の値の大小を選択しても良い。
【０１３０】
なお、分割点決定関数選択部１３０の分割点決定関数の選択は、提供元が偏る又は偏らないという、相異なる動作の選択である。そのため、分割点決定関数選択部１３０の選択は、不連続となる選択肢からの選択となる。例えば、上記の（３）の場合、分割点決定関数選択部１３０は、α及びβの値を、連続的な値から選択するのではなく、離散的な値から選択する。
【０１３１】
また、分割点決定関数選択部１３０は、分割点決定関数として、いろいろな関数を使用できる。例えば、分割点決定関数選択部１３０は、エントロピーを用いても良いし、データの平均値又は中央値を用いても良い。
【０１３２】
例えば、分割点決定関数選択部１３０は、分割点決定関数として、グループ分割後のエントロピーの和である次の数式を用いてもよい。
【０１３３】
［数式１］
2014061275.tif 000003
【０１３４】
なお、ここで、Ｅｎｔｒｏｐｙ（ｇｒｏｕｐ）は、次の数式となる。
【０１３５】
［数式２］
2014061275.tif 000004
【０１３６】
そして、提供元を偏らせる場合（ステップＳ５１０）、分割点決定関数選択部１３０は、分割点決定関数のスコアが小さくなるように選択する。つまり、情報処理装置１０は、エントロピーが小さな分割点で分割する。
【０１３７】
一方、提供元を偏らせない場合（ステップＳ５２０）、分割点決定関数選択部１３０は、分割点決定関数のスコアが大きくなるように選択する。つまり、情報処理装置１０は、エントロピーが大きな分割点で分割する。
【０１３８】
次に、情報処理装置１０の動作について図面を参照して説明する。
【０１３９】
図８は、情報処理装置１０の動作の一例を示すフローチャートである。
【０１４０】
情報処理装置１０の指標受取部１１０は、匿名化のための指標を受け取る（ステップＳ６００）。
【０１４１】
情報処理装置１０は、匿名化の対象となるデータ（匿名化前データ）を受け取る（ステップＳ６０１）。情報処理装置１０は、受け取ったデータをグループ情報保持部２００に保存する。
【０１４２】
匿名化前データは、一般的に、グループ分けされていない。
【０１４３】
分割化部１００の分割決定部１４０は、最初に、データ全体を１つのグループとする。この処理は、データの初期化とも言える。なお、抽象化部１５０が、初期化後の１グループの状態で匿名化すると、データは、最も匿名化率が高い匿名化となる。
【０１４４】
ただし、情報処理装置１０は、これに限らず、ある程度グループ分けされたデータを受け取っても良い。
【０１４５】
次に、分割化部１００のレコード数計測部１２０は、グループのレコード数を計測する（ステップＳ６２０）。グループが複数ある場合、レコード数計測部１２０は、計測していない全てのグループのレコード数を計測する。ただし、レコード数計測部１２０は、再計測を含め、全てのグループのレコード数を計測しても良い。
【０１４６】
次に、分割点決定関数選択部１３０は、所定の判定基準を基に、分割点決定関数を選択する（ステップＳ６３０）。
【０１４７】
分割決定部１４０は、選択された分割点決定関数を用いて、グループ分けする分割点を決定する（ステップＳ６４０）。そして、分割決定部１４０は、分割点でデータをグループに分ける。ここで、分割決定部１４０は、グループ情報保持部２００に、新しいグループに関する情報又は分割状態を保存しても良い。
【０１４８】
そして、分割決定部１４０は、新しいグループが、指標（ｋ−匿名性及びｓｋ−ｓｉｔｅ−匿名性）を満足するか否かを確認する（ステップＳ６５０）。
【０１４９】
指標を満足する場合（ステップＳ６５０で「ＹＥＳ」）、分割化部１００は、ステップＳ３２０に戻り、処理を継続する。
【０１５０】
指標を満足しない場合（ステップＳ６５０で「ＮＯ」）、そのグループは、グループ分けできない。そのため、分割決定部１４０は、今回の分割を取り止め、グループを元に戻す（ステップＳ６６０）。つまり、分割決定部１４０は、グループ分割を１つ前のグループ分けの状態とする。以下、分割できなくなったグループの状態を、「分割完了」と言う。
【０１５１】
次に、分割決定部１４０は、全てのグループにおいて分割完了か否かを判定する（ステップＳ６７０）。
【０１５２】
まだ分割ができるグループがある場合（ステップＳ６７０で「ＮＯ」）、分割化部１００は、ステップＳ３２０に戻り、処理を継続する。
【０１５３】
全てのグループが分割完了の場合（ステップＳ６７０で「ＹＥＳ」）、分割化部１００は、処理を終了する。
【０１５４】
分割化部１００の処理終了後、抽象化部１５０は、データをグループ分けに沿って匿名化（狭義の匿名化）し、匿名化後データ生成する。そして、抽象化部１５０は、匿名化後データを、グループ情報保持部２００に保存する。さらに、抽象化部１５０は、匿名化後データを処理依頼装置３０に返す（ステップＳ６８０）。
【０１５５】
次に、具体的なデータを用いて本実施形態の情報処理装置１０のグループ分けについて説明する。
【０１５６】
図９は、情報処理装置１０の動作の説明の用いるデータの準識別子（属性）の分布を示す図である。
【０１５７】
図９に示すデータの縦方向及び横方向は、属性の値又は範囲を示す。図９のデータは、２つの準識別子の分布を２次元の表として示している。また、「Ａ、Ｂ、Ｃ及びＤ」は、提供元を示す。つまり、図９は、４箇所の提供元からのデータを結合したデータを、２つの準識別子の分布で示した一例である。
【０１５８】
なお、図９のデータが２次元であるのは、既に説明したとおり、例示である。本実施形態の情報処理装置１０は、匿名化する準識別子の数に特に制限はない。本実施形態の情報処理装置１０は、１つの準識別子を用いても良く、２つより多い準識別子を用いても良い。
【０１５９】
図１０は、図９に示すデータの作成の一例を説明するための図である。
【０１６０】
例えば、処理依頼装置３０は、図１０の左に示す提供元Ａ乃至提供元Ｄのデータを結合し、図１０の中央のデータを作成する。このデータを基に、情報処理装置１０は、データの匿名化において、年齢及び体重に対応した分布として、図１０の右側に示す分布のデータ（図９のデータ）を作成する。
【０１６１】
なお、以下では、一例として、４−匿名性と２−ｓｉｔｅ−匿名性を確保するとして説明する。
【０１６２】
本実施形態の情報処理装置１０の分割の説明の前に、一般的な分割手法（例えば、Ｍｏｎｄｒｉａｎ）を用いた分割について説明する。Ｍｏｎｄｒｉａｎを用いた分割は、値域（range）が大きな準識別子の、中央値（median）を分割点とする。そのため、Ｍｏｎｄｒｉａｎを用いた手法は、図９に示すデータを、図１１に示すように、２回分割し、３グループに分割する。
【０１６３】
次に、分割点決定関数選択部１３０を用いた情報処理装置１０のデータの分割について説明する。
【０１６４】
この説明において、分割点決定関数選択部１３０は、判定基準として、「Ｌ（グループのサイズ）」と、「ｓｋ（ｓｋ−ｓｉｔｅ−匿名性）×Ｍ（提供元の数）」との比較を用いるとする。
【０１６５】
図９のデータは、提供元が４つである。また、今回の指標は、２−ｓｉｔｅ−匿名性である。そのため、分割点決定関数選択部１３０は、「Ｌ」と「８＝２×４」とを比較する。
【０１６６】
そして、「Ｌ＞８」の場合、分割点決定関数選択部１３０は、提供元が偏るように分割点決定関数を選択する。
【０１６７】
一方、「Ｌ≦８」の場合、分割点決定関数選択部１３０は、提供元が偏らないような分割点決定関数を選択する。
【０１６８】
（１）初期状態
初期状態では、全体が、１つのグループである。つまり、Ｌは、「１６」である。
【０１６９】
そのため、「Ｌ（＝１６）＞８」が、成り立つ（ステップＳ５００が「ＹＥＳ」）。
【０１７０】
そこで、分割点決定関数選択部１３０は、提供元が偏るように分割点決定関数を選択する。例えば、数式（１）を用いる場合、分割点決定関数選択部１３０は、分割点決定関数のスコアが小さくなることを選択する。
【０１７１】
図１２は、分割決定部１４０が決定した分割後のグループを示す。この場合の、スコアは、次のようになる。
【０１７２】
ｓｃｏｒｅ＝左のグループのｅｎｔｒｏｐｙ＋右のグループのｅｎｔｒｏｐｙ
＝（０．１５９０４＋０．１５９０４＋０．０００００＋０．１５９０４）
＋（０．０００００＋０．０００００＋０．０００００＋０．０００００）
＝０．４７７１２
なお、数値は、小数第６位を四捨五入している。
【０１７３】
図１２の右のグループは、提供元が１つ（分割２）となっている。
【０１７４】
（２）２回目の分割
図１２の右のグループは、Ｌ＝４のため、ステップＳ５００の判定が「ＮＯ」となる。また、これ以上分割すると、４−匿名性を満たさなくなるため、右のグループは、分割終了である。
【０１７５】
一方、左のグループは、Ｌ＝１２のため、ステップＳ５００の判定が「ＹＥＳ」となる。そこで、分割点決定関数選択部１３０は、左のグループに対して、提供元が偏るように分割点決定関数を選択する。例えば、数式（１）を用いる場合、分割点決定関数選択部１３０は、分割点決定関数のスコアが小さくなることを選択する。
【０１７６】
図１３は、分割後のグループを示す。この場合のスコアは、次のようになる。
【０１７７】
ｓｃｏｒｅ＝左のグループのｅｎｔｒｏｐｙ＋右のグループのｅｎｔｒｏｐｙ
＝（０．１５０５２＋０．１５０５２＋０．０００００＋０．０００００）
＋（０．０００００＋０．０００００＋０．０００００＋０．０００００）
＝０．３０１０４
なお、数値は、小数第６位を四捨五入している。
【０１７８】
図１３の中央のグループは、提供元が１つ（分割２）となっている。
【０１７９】
（３）３回目の分割
図１３の２回目の分割点の右のグループ（図１３の中央のグループ）は、Ｌ＝４のため、ステップＳ５００の判定が「ＮＯ」となる。また、これ以上分割すると、４−匿名性を満たさなくなるため、右のグループは、分割終了である。
【０１８０】
一方、左のグループは、Ｌ＝８のため、ステップＳ５００の判定が「ＮＯ」となる。また、左のグループは、分割しても４−匿名性を満たす。そこで、分割点決定関数選択部１３０は、左のグループに対して、分割元が偏らないような分割点決定関数を選択する。例えば、数式（１）を用いる場合、分割点決定関数選択部１３０は、分割点決定関数のスコアが大きくなるように選択する。
【０１８１】
図１４は、分割後のグループを示す。この場合のスコアは、次のようになる。
【０１８２】
ｓｃｏｒｅ＝左のグループのｅｎｔｒｏｐｙ＋右のグループのｅｎｔｒｏｐｙ
＝（０．１５０５２＋０．１５０５２＋０．０００００＋０．０００００）
＋（０．１５０５２＋０．１５０５２＋０．０００００＋０．０００００）
＝０．６０２０８
なお、数値は、小数第６位を四捨五入している。
【０１８３】
図１４の左の２つのグループは、情報の提供元が同じ数（分割１）となっている。
【０１８４】
３回目の分割後、全てのグループのレコード数は、４となる。そのため、分割化部１００は、全てのグループが分割終了と判断する。
【０１８５】
この後、抽象化部１５０は、データを匿名化する。
【０１８６】
ここで、本実施形態の情報処理装置１０の分割結果である図１４と、図１１に示した分割を比較すると、本実施形態の情報処理装置１０は、より多くのグループに分割できた。
【０１８７】
図１５は、図１０のデータに図１４の分割を適用して匿名化したデータの一例である。なお、図１５において、明確な識別子であるＩＤは、匿名化に伴い、削除されている。
【０１８８】
図１５に示す匿名化後データは、例えば、提供元Ａの攻撃者が、匿名後データを取得しても、２−匿名性を確保している。つまり、匿名化後データは、２−ｓｉｔｅ−匿名性を確保している。
【０１８９】
ここで、参考として、分割点決定関数選択部１３０を用いない場合の分割を説明する。
【０１９０】
この場合、分割を切り換えないため、実施される分割は、「偏らないような分割」と、「偏るような分割」とのどちらかとなる。
【０１９１】
図１６は、偏るように分割した場合の分割の一例である。図１６の分割は、図１３に示す分割と同じである。しかし、図１６の左のグループは、偏るように分割すると、ｓｋ−ｓｉｔｅ−匿名性を満たすことができない。そのため、偏るように分割した場合、分割は、３グループとなる。
【０１９２】
図１７は、偏らないように分割した場合の分割の一例である。この場合も、分割は、３グループとなる。
【０１９３】
本実施形態の情報処理装置１０の分割（図１４）は、図１６及び図１７の分割より、適切な分割である。
【０１９４】
このように、本実施形態の情報処理装置１０は、提供元に対しても、データの適切な匿名化の実現する効果を得ることができる。
【０１９５】
その理由は、次のとおりある。
【０１９６】
本実施形態の分割点決定関数選択部１３０は、提供元を１つする分割が可能な場合、提供元を偏るよう、分割点決定関数を選択する。そのため、情報処理装置１０は、提供元が１つとなるグループを作成できる。また、提供元を１つにする分割ができない場合、分割点決定関数選択部１３０は、提供元を偏らないよう分割点決定関数を選択する。そのため、情報処理装置１０は、提供元が１つになる前に指標を満たさなくなる分割を避け、提供元が偏らないグループを作成できる。
【０１９７】
なお、グループ分割において、データの提供元が大きく偏ったグループが発生する場合がある。例えば、わずかな数（例えば、数パーセント）のデータを除き、グループ内の提供元が、同じグループが発生する場合がある。このような場合、情報処理装置１０は、分割点決定関数を用いた分割を実行しないで、提供元が異なるデータを削除又は別グループに移動して、提供元が１つのグループを作成しても良い。
【０１９８】
また、本実施形態の情報処理装置１０の説明において「提供元を偏るように分割」及び「提供元を偏らないように分割」として説明した。しかし、情報処理装置１０は、「色」との用語を用いて、「１色になるように分割」及び「色が偏らないように分割」との処理として実施しても良い。例えば、「１色になるような分割」する処理とは、分割後の色の数を数え、１色であるか否かの判断を基に分割する処理である。
【０１９９】
＜変形例＞
なお、情報処理装置１０の構成は、図２及び図３に示す構成に限らない。
【０２００】
情報処理装置１０は、図２及び図３に示した構成を、複数の構成に分けても良い。例えば、分割決定部１４０は、分割点を求める構成と、分割点を基にグループに分ける構成とに分けても良い。また、抽象化部１５０は、データを匿名化する構成と、匿名化後データを送信する構成に分けても良い。
【０２０１】
また、情報処理装置１０は、幾つかの構成を１つの構成としても良い。例えば、分割点決定関数選択部１３０と分割決定部１４０は、１つの構成としても良い。
【０２０２】
さらに、本実施形態の情報処理装置１０は、ＣＰＵ（Central Processing Unit）と、ＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）と、ＩＯ（Input/Output unit）と、ＮＩＣ（Network Interface Circuit又はNetwork interface Card）とを含むコンピュータとして実現しても良い。
【０２０３】
図１８は、本実施形態の別の構成である情報処理装置７０の構成の一例を示すブロック図である。
【０２０４】
情報処理装置７０は、ＣＰＵ７１０と、ＲＯＭ７２０と、ＲＡＭ７３０と、内部記憶装置７４０と、ＩＯ７５０と、入力機器７６０と、表示機器７７０と、ＮＩＣ７８０とを含み、コンピュータを構成している。
【０２０５】
ＣＰＵ７１０は、ＲＯＭ７２０又は内部記憶装置７４０からプログラムを読み込む。そして、ＣＰＵ７１０は、読み込んだプログラムに基づいて、図３の情報処理装置１０の指標受取部１１０と、レコード数計測部１２０と、分割点決定関数選択部１３０と、分割決定部１４０と、抽象化部１５０としての各機能を実現する。ＣＰＵ７１０は、各機能を実現する際に、ＲＡＭ７３０及び内部記憶装置７４０を一時記憶として使用する。また、ＣＰＵ７１０は、ＩＯ７５０を介して、入力機器７６０から入力データを受信し、表示機器７７０にデータを表示する。
【０２０６】
なお、ＣＰＵ７１０は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体７９０が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでも良い。あるいは、ＣＰＵ７１０は、ＮＩＣ７８０を介して、図示しない外部の装置からプログラムを受け取っても良い。
【０２０７】
ＲＯＭ７２０は、ＣＰＵ７１０が実行するプログラム及び固定的なデータを記憶する。ＲＯＭ７２０は、例えば、Ｐ−ＲＯＭ(Programmable-ROM）又はフラッシュＲＯＭである。
【０２０８】
ＲＡＭ７３０は、ＣＰＵ７１０が実行するプログラム及びデータを一時的に記憶する。ＲＡＭ７３０は、例えば、Ｄ−ＲＡＭ（Dynamic-RAM）である。
【０２０９】
内部記憶装置７４０は、情報処理装置７０の長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置７４０は、ＣＰＵ７１０の一時記憶装置として動作しても良い。内部記憶装置７４０は、例えば、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Solid State Drive）又はディスクアレイ装置である。
【０２１０】
なお、内部記憶装置７４０又はＲＡＭ７３０は、グループ情報保持部２００として動作しても良い。
【０２１１】
ＩＯ７５０は、ＣＰＵ７１０と、入力機器７６０及び表示機器７７０とのデータを仲介する。ＩＯ７５０は、例えば、ＩＯインターフェースカードである。
【０２１２】
入力機器７６０は、情報処理装置７０の操作者からの入力指示を受信する入力部である。入力機器７６０は、例えば、キーボード、マウス又はタッチパネルである。
【０２１３】
表示機器７７０は、情報処理装置７０の表示部である。表示機器７７０は、例えば、液晶ディスプレイである。
【０２１４】
ＮＩＣ７８０は、ネットワークを介した他の装置（例えば、処理依頼装置３０）との情報のやり取りを中継する。ＮＩＣ７８０は、例えば、ＬＡＮ（Local Area Network）カードである。
【０２１５】
このように構成された情報処理装置７０は、情報処理装置１０と同様に効果を得ることができる。
【０２１６】
その理由は、情報処理装置７０のＣＰＵ７１０が、プログラムに基づいて情報処理装置１０と同様の動作を実現できるためである。
【０２１７】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０２１８】
この出願は、２０１２年１０月１８日に出願された日本出願特願２０１２−２３０９３７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０２１９】
１０    情報処理装置
３０    処理依頼装置
４０    情報処理システム
７０    情報処理装置
１００    分割化部
１１０    指標受取部
１２０    レコード数計測部
１３０    分割点決定関数選択部
１４０    分割決定部
１５０    抽象化部
２００    グループ情報保持部
３１０    匿名化前データ保持部
３２０    データ送信部
３３０    匿名化処理開始依頼部
３４０    結果受信部
３５０    匿名化後データ保持部
７１０    ＣＰＵ
７２０    ＲＯＭ
７３０    ＲＡＭ
７４０    内部記憶装置
７５０    ＩＯ
７６０    入力機器
７７０    表示機器
７８０    ＮＩＣ
７９０    記憶媒体
【図１】
2014061275.tif 000005
【図２】
2014061275.tif 000006
【図３】
2014061275.tif 000007
【図４】
2014061275.tif 000008
【図５】
2014061275.tif 000009
【図６】
2014061275.tif 000010
【図７】
2014061275.tif 000011
【図８】
2014061275.tif 000012
【図９】
2014061275.tif 000013
【図１０】
2014061275.tif 000014
【図１１】
2014061275.tif 000015
【図１２】
2014061275.tif 000016
【図１３】
2014061275.tif 000017
【図１４】
2014061275.tif 000018
【図１５】
2014061275.tif 000019
【図１６】
2014061275.tif 000020
【図１７】
2014061275.tif 000021
【図１８】
2014061275.tif 000022
【手続補正書】
【提出日】平成27年3月23日(2015.3.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データの匿名化の指標を受け取る指標受取手段と、
前記データを匿名化のために分割したグループの状態を計測するグループ状態数計測手段と、
前記指標と前記グループの状態とを基に前記グループの分割点を決定するための分割点決定関数を選択する分割点決定関数選択手段と、
選択された前記分割点決定関数を基に前記データの分割点を算出し、前記データをグループに分ける分割決定手段と、
前記グループを基に前記データを匿名化する抽象化手段と
を含む情報処理装置。
【請求項２】
前記グループ状態計測手段が、前記グループの状態として、前記分割したグループが含むレコード数を計測する、
請求項１に記載の情報処理装置。
【請求項３】
前記分割点決定関数選択手段が、
前記選択として、分割後のグループのデータの提供元が偏るような分割となる分割点決定関数と、提供元が偏らない分割となる分割点決定関数とを選択する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記分割点決定関数選択手段が、
前記指標と前記グループの状態とを基に、提供元が１つとなる分割ができるか否かを判定し、
提供元が１つとなる分割ができる場合、提供元が偏るような分割となる分割点決定関数を選択し、
分割できないと判定した場合、提供元が偏らない分割となる分割点決定関数を選択する  ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記分割点決定関数選択手段が、
前記指標として、同じ準識別子を含むデータを少なくともｋ個含むｋ−匿名性、いずれの提供元のデータを除いても同じ準識別子を含むデータを少なくともｓｋ個含むｓｋ−ｓｉｔｅ−匿名性又は提供元の数の少なくとも１つを用いる
ことを特徴とする請求項１乃至請求項４のいずれか１項に記載の情報処理装置。
【請求項６】
前記分割点決定関数選択手段が、
前記ｓｋ−ｓｉｔｅ−匿名性として、少なくとも一部の提供元の組み合わせを対象とする
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記分割点決定関数選択手段が、
関数の選択として、
複数の関数からの選択、関数の値の大小の判定又は関数の組合せの少なくとも１つを実行する
ことを特徴とする請求項１乃至請求項６のいずれか１項に記載の情報処理装置。
【請求項８】
前記分割点決定関数選択手段が、
前記分割点決定関数としてデータのエントロピーを含む関数を用い、
前記選択として、分割点決定関数の大小の判定を選択する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
データの匿名化の指標を受け取り、
前記データを匿名化のために分割したグループの状態を計測し、
前記指標と前記グループの状態とを基に前記グループの分割点を決定するための分割点決定関数を選択し、
選択された前記分割点決定関数を基に前記データの分割点を算出し、前記データをグループに分け、
前記グループを基に前記データを匿名化する
情報処理方法。
【請求項１０】
データの匿名化の指標を受け取る受取処理と、
前記データを匿名化のために分割したグループの状態を計測する計測処理と、
前記指標と前記グループの状態とを基に前記グループの分割点を決定するための分割点決定関数を選択する選択処理と、
選択された前記分割点決定関数を基に前記データの分割点を算出する算出処理と、
前記データをグループに分けるグループ分け処理と、
前記グループを基に前記データを匿名化する匿名化処理と
をコンピュータに実行させるプログラム。
【国際調査報告】
2014061275.tif 000023
2014061275.tif 000024
2014061275.tif 000025
2014061275.tif 000026