(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6148370
(24)【登録日】2017年5月26日
(45)【発行日】2017年6月14日
(54)【発明の名称】グループ化装置、グループ化方法及びコンピュータプログラム
(51)【国際特許分類】
G06F 17/30 20060101AFI20170607BHJP
【FI】
G06F17/30 120A
G06F17/30 210D
【請求項の数】4
【全頁数】10
(21)【出願番号】特願2016-66129(P2016-66129)
(22)【出願日】2016年3月29日
【審査請求日】2016年3月29日
(73)【特許権者】
【識別番号】399041158
【氏名又は名称】西日本電信電話株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】特許業務法人 志賀国際特許事務所
(72)【発明者】
【氏名】真田 優一
(72)【発明者】
【氏名】榎本 悠佑
(72)【発明者】
【氏名】柳本 清
(72)【発明者】
【氏名】鞍留 浩
(72)【発明者】
【氏名】寺門 寛
【審査官】
小太刀 慶明
(56)【参考文献】
【文献】
米国特許出願公開第2007/0233711(US,A1)
【文献】
国際公開第2013/190810(WO,A1)
【文献】
特開平11−250094(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
匿名化されていない属性の値を有する非匿名化情報である複数のレコードを、各グループに含まれるレコードの数が均等化するように複数のグループに分ける均等化処理部、
を備え、
前記複数のレコードは、時系列の情報によって構成され、
前記均等化処理部は、前記レコードの中から決定されるグループの基準となるレコードを含む1又は複数のグループに基づいて、前記複数のレコードのうち未処理のレコードを複数のグループに分けし、
前記均等化処理部は、前記複数のレコードと、一つのグループに含まれるレコードの数の最小限の数とに基づいて得られる最適なグループ数の組み合わせを全て作成し、作成した各組み合わせにおいて2つのレコード間の時系列の情報の差分を、時系列のデータを構成する各時間データの値をベクトル要素とするベクトル空間における距離としたレコード間距離の合計値を算出し、算出した合計値が最大の組み合わせを前記グループの基準となるレコードに決定するグループ化装置。
【請求項2】
前記均等化処理部は、前記未処理のレコードと前記グループに含まれるレコードとを用いて、各組み合わせにおける2つのレコード間の時系列の情報の差分を、時系列のデータを構成する各時間データの値をベクトル要素とするベクトル空間における距離としたレコード間距離の平均値をグループ毎に算出し、前記未処理のレコードを前記平均値が最小のグループに分ける、請求項1に記載のグループ化装置。
【請求項3】
匿名化されていない属性の値を有する非匿名化情報である複数のレコードをグループ分けするグループ化装置が行うグループ化方法であって、
前記グループ化装置が、匿名化されていない属性の値を有する非匿名化情報である複数のレコードを、各グループに含まれるレコードの数が均等化するように複数のグループに分ける均等化処理ステップ、
を有し、
前記複数のレコードは、時系列の情報によって構成され、
前記グループ化装置が、前記均等化処理ステップにおいて、前記レコードの中から決定されるグループの基準となるレコードを含む1又は複数のグループに基づいて、前記複数のレコードのうち未処理のレコードを複数のグループに分けし、
前記グループ化装置が、前記均等化処理ステップにおいて、前記複数のレコードと、一つのグループに含まれるレコードの数の最小限の数とに基づいて得られる最適なグループ数の組み合わせを全て作成し、作成した各組み合わせにおいて2つのレコード間の時系列の情報の差分を、時系列のデータを構成する各時間データの値をベクトル要素とするベクトル空間における距離としたレコード間距離の合計値を算出し、算出した合計値が最大の組み合わせを前記グループの基準となるレコードに決定するグループ化方法。
【請求項4】
匿名化されていない属性の値を有する非匿名化情報である複数のレコードを、各グループに含まれるレコードの数が均等化するように複数のグループに分ける均等化処理ステップ、
をコンピュータに実行させ、
前記複数のレコードは、時系列の情報によって構成され、
前記均等化処理ステップにおいて、前記レコードの中から決定されるグループの基準となるレコードを含む1又は複数のグループに基づいて、前記複数のレコードのうち未処理のレコードを複数のグループに分けし、
前記均等化処理ステップにおいて、前記複数のレコードと、一つのグループに含まれるレコードの数の最小限の数とに基づいて得られる最適なグループ数の組み合わせを全て作成し、作成した各組み合わせにおいて2つのレコード間の時系列の情報の差分を、時系列のデータを構成する各時間データの値をベクトル要素とするベクトル空間における距離としたレコード間距離の合計値を算出し、算出した合計値が最大の組み合わせを前記グループの基準となるレコードに決定するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報の匿名化技術に関する。
【背景技術】
【0002】
従来、多くの情報をビッグデータとして収集し、それらを解析することによって新たな情報を取得することが行われている。ビッグデータには、個人の情報などそのままでは解析にかけることができない情報も含まれている。そのため、収集された情報を二次利用することが可能となるように、収集された情報に対して匿名化処理が行われている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2015−046030号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の匿名化処理では匿名性及び有用性のバランスを適切に保つことが困難であった。
【0005】
上記事情に鑑み、本発明は、匿名性及び有用性の双方を保つことが可能な匿名化技術を提供することを目的としている。
【課題を解決するための手段】
【0006】
本発明の一態様は、匿名化されていない属性の値を有する非匿名化情報である複数のレコードを、各グループに含まれるレコードの数が均等化するように複数のグループに分ける均等化処理部、を備え、前記複数のレコードは、時系列の情報によって構成され、前記均等化処理部は、前記レコードの中から決定されるグループの基準となるレコードを含む1又は複数のグループに基づいて、前記複数のレコードのうち未処理のレコードを複数のグループに分けるグループ化装置である。
【0007】
本発明の一態様は、上記のグループ化装置であって、前記均等化処理部は、前記未処理のレコードと前記グループに含まれるレコードとを用いて、各組み合わせにおける2つのレコード間の時系列の情報の差分を、時系列のデータを構成する各時間データの値をベクトル要素とするベクトル空間における距離としたレコード間距離の平均値をグループ毎に算出し、前記未処理のレコードを前記平均値が最小のグループに分ける。
【0008】
本発明の一態様は、上記のグループ化装置であって、前記均等化処理部は、前記複数のレコードと、一つのグループに含まれるレコードの数の最小限の数とに基づいて得られる最適なグループ数の組み合わせを全て作成し、作成した各組み合わせにおいて2つのレコード間の時系列の情報の差分を、時系列のデータを構成する各時間データの値をベクトル要素とするベクトル空間における距離としたレコード間距離の合計値を算出し、算出した合計値が最大の組み合わせを前記グループの基準となるレコードに決定する。
【0009】
本発明の一態様は、
匿名化されていない属性の値を有する非匿名化情報である複数のレコードをグループ分けするグループ化装置が行うグループ化方法であって、前記グループ化装置が、匿名化されていない属性の値を有する非匿名化情報である複数のレコードを、各グループに含まれるレコードの数が均等化するように複数のグループに分ける均等化処理ステップ、を有し、前記複数のレコードは、時系列の情報によって構成され、
前記グループ化装置が、前記均等化処理ステップにおいて、前記レコードの中から決定されるグループの基準となるレコードを含む1又は複数のグループに基づいて、前記複数のレコードのうち未処理のレコードを複数のグループに分け
し、前記グループ化装置が、前記均等化処理ステップにおいて、前記複数のレコードと、一つのグループに含まれるレコードの数の最小限の数とに基づいて得られる最適なグループ数の組み合わせを全て作成し、作成した各組み合わせにおいて2つのレコード間の時系列の情報の差分を、時系列のデータを構成する各時間データの値をベクトル要素とするベクトル空間における距離としたレコード間距離の合計値を算出し、算出した合計値が最大の組み合わせを前記グループの基準となるレコードに決定するグループ化方法である。
【0010】
本発明の一態様は、匿名化されていない属性の値を有する非匿名化情報である複数のレコードを、各グループに含まれるレコードの数が均等化するように複数のグループに分ける均等化処理ステップ、をコンピュータに実行させ、前記複数のレコードは、時系列の情報によって構成され、前記均等化処理ステップにおいて、前記レコードの中から決定されるグループの基準となるレコードを含む1又は複数のグループに基づいて、前記複数のレコードのうち未処理のレコードを複数のグループに分けるためのコンピュータプログラムである。
【発明の効果】
【0011】
本発明により、匿名性及び有用性の双方を保つことが可能になる。
【図面の簡単な説明】
【0012】
【
図1】匿名化システム1のシステム構成を表すシステム構成図である。
【
図3】グループ化装置20の処理の流れを示すフローチャートである。
【
図4】グループ化装置20の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明の一実施形態を、図面を参照しながら説明する。
図1は、匿名化システム1のシステム構成を表すシステム構成図である。匿名化システム1は、非匿名化情報記憶部10、グループ化装置20、グループ情報記憶部30、匿名化処理部40及び匿名化情報記憶部50を備える。
非匿名化情報記憶部10は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。非匿名化情報記憶部10は、匿名化されていない情報(以下「非匿名化情報」という。)を記憶する。非匿名化情報は、少なくとも1つの属性を含む。以下、1つの属性が時系列のデータとして表された情報のかたまりをレコードと呼ぶ。例えば、ユーザの在不在を表すレコードは、各曜日の時間帯の値(例えば、曜日・AM/曜日・PM)を有する。以下、各曜日の各時間帯(AM又はPM)をそれぞれ時間データと記載する。つまり、レコードは、複数の時間データで構成される。なお、ここでは、時間データが各曜日の各時間帯(AM又はPM)の値である一例を示したが、時間データは各曜日の各時刻の値であってもよい。非匿名化情報は、このようなレコードとして表されてもよい。なお、非匿名化情報記憶部10が記憶する情報の一部には、既に匿名化された情報が含まれていてもよい。
【0014】
非匿名化情報記憶部10は、さらに条件情報を記憶する。条件情報は、非匿名化情報に関する条件の定義を示す情報である。条件情報の具体例として、連結定義がある。連結定義は、個々の数値情報をレコードに連結するための定義を示す情報である。
【0015】
グループ化装置20は、非匿名化情報記憶部10に記憶される非匿名化情報のうち、匿名化の対象となっている属性(以下「匿名化対象属性」という。)の複数のレコードを、複数のグループに分類する。グループ化装置20は、メインフレームやワークステーションやパーソナルコンピュータなどの情報処理装置を用いて構成される。グループ化装置20は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備える。グループ化装置20は、グループ化プログラムを実行することによって、条件情報取得部201及び均等化処理部202を備える装置として機能する。なお、グループ化装置20の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。
【0016】
条件情報取得部201は、非匿名化情報記憶部10から、匿名化対象属性に関する条件情報を取得する。条件情報取得部201は、取得した条件情報を均等化処理部202に出力する。
均等化処理部202は、非匿名化情報記憶部10から、匿名化処理の対象となる非匿名化情報の複数のレコード(以下、「処理対象レコード」という。)を取得する。均等化処理部202は、取得した処理対象レコードに基づいて均等化処理を実行する。均等化処理の実行によって、均等化処理部202は、取得した処理対象レコードを、各グループに含まれるレコードの数が均等化するように複数のグループに分ける。均等化処理において、均等化処理部202は、各グループに含まれるレコードの数が、予め指定された最小数を下回らないようにグループ化を行う。最小数は、例えばk匿名化処理における“k”の値である。本実施形態では、“k”の値が4の場合について説明するが、“k”の値は自然数であれば他の値であってもよい。均等化処理部202は、均等化処理の結果を示す情報(以下「グループ情報」という。)をグループ情報記憶部30に記録する。グループ情報は、均等化処理によって生成された各グループに属するレコードを示す。グループ情報は、例えばグループ番号、各グループの定義を示す情報(以下「グループ定義情報」という。)と、各グループに属するレコードの個数を示す情報(以下「レコード数情報」という。)とを含む。
【0017】
グループ情報記憶部30は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。グループ情報記憶部30は、グループ化装置20によって生成されたグループ情報を記憶する。
匿名化処理部40は、グループ情報記憶部30に記憶されているグループ情報に基づいて、非匿名化情報記憶部10に記憶されている非匿名化情報に対して匿名化処理を行う。例えば、匿名化処理部40は、各グループに属しているレコードの匿名化対象属性の値を、そのグループに属している各レコードの値を一般化することによって得られる値に置き換えることによって匿名化する。例えば、あるグループに属しているレコードの匿名化対象属性の値が10,11,13,14である場合、範囲を示す“10−15”という値や、中央値又は平均値を示す“12”という値などに置き換えることによって匿名化処理が行われる。また、例えば、匿名化処理部40は、各グループに属しているレコードの匿名化対象属性の各値(各時間データの値)のいずれかを欠落させる、つまりある時間帯の情報を欠落させることによって匿名化処理を行う。匿名化処理部40は、このような匿名化処理の実行によって、非匿名化情報の匿名化対象属性の値が匿名化された情報(以下「匿名化情報」という。)を生成する。
【0018】
図2は、処理対象レコードの具体例を示す図である。
図2に示されるように処理対象レコードには、1つの属性における非匿名化情報の複数のレコードが含まれる。
図2では、23個のレコードが処理対象レコードに含まれる。
図2では、レコード毎に、各曜日と各曜日のある時間帯(例えば、AM、PM)におけるユーザの在不在が表されている。つまり、1つのレコードは、14次元の情報を有している。そして、レコードの“1”はユーザがその時間帯にいたことを表し、レコードの“0”はユーザがその時間帯にいなかったことを表す。
【0019】
図2において、処理対象レコードの最上段のレコードは、NOの値が“1”、月AMの値が“1”、月PMの値が“0”、火AMの値が“1”、火PMの値が“0”、・・・、土AMの値が“0”、土PMの値が“0”、日AMの値が“0”、日PMの値が“0”である。すなわち、最上段のレコードには、NO“1”のレコードで識別されるユーザが、月AMと火AMにいたことが表されており、月PMと火PMと土AMと土PMにいなかったことが表されている。
【0020】
図3及び
図4は、グループ化装置20の処理の流れを示すフローチャートである。なお、
図3及び4の処理開始時には、まず均等化処理部202は、処理対象レコードを用いて、グループ内でレコード数をk個(例えば、4個)にするための最適なグループ数を算出する(ステップS101)。具体的には、均等化処理部202は、抽出した処理対象レコード数をkで除算することによって得られた値を最適なグループ数とする。ここで、
図2を例に説明すると、処理対象レコードが23個であり、kが4であるとすると、最適なグループ数は5となる。
【0021】
次に、均等化処理部202は、処理対象レコードから、算出した最適なグループ数分のレコードを選択して、作成可能な組み合わせを全て作成する(ステップS102)。ここで、最適なグループ数を5として
図2を例に説明すると、23個のレコードから、各グループの基準となるレコード(以下、「基準レコード」という。)を選択するための組み合わせ数は、
23C
5=33649通りとなる。
【0022】
次に、均等化処理部202は、全ての組み合わせにおいて2レコード間距離の合計値と、2レコード間距離の標準偏差を算出する(ステップS103)。2レコード間距離は、例えば、マンハッタン距離を用いて算出される。なお、2レコード間距離は、マンハッタン距離に限定される必要はなく、例えば2レコード間の時系列情報の差分を、時系列のデータを構成する各時間データの値をベクトル要素とするベクトル空間における距離を算出可能な方法であればどのような方法が用いられてもよい。上記の例の場合、各組み合わせは5個のレコードにより構成されるため、組み合わせ毎に
5C
2=10通りの2レコード間距離の合計値と、2レコード間距離の標準偏差とが算出される。均等化処理部202は、組み合わせ内の2つのレコード間で同一の時間帯の情報に基づいて2レコード間距離の合計値と、2レコード間距離の標準偏差を算出する。均等化処理部202は、2レコード間距離の合計値が最大となる組み合わせを選択する(ステップS104)。均等化処理部202は、選択した組み合わせが一通りであるか否か判定する(ステップS105)。組み合わせが一通りである場合(ステップS105−YES)、均等化処理部202は選択した組み合わせに含まれる各レコードを基準レコードに決定する(ステップS106)。
【0023】
一方、組み合わせが一通りではない場合(ステップS105−NO)、均等化処理部202は2レコード間距離の標準偏差が最小となる組み合わせを選択する(ステップS107)。均等化処理部202は、選択した組み合わせに含まれる各レコードを基準レコードに決定する(ステップS106)。その後、均等化処理部202は、各基準レコードに異なるグループ番号を付与する(ステップS108)。
【0024】
均等化処理部202は、処理対象レコードのうち未処理のレコードを抽出する(ステップS109)。ここで、未処理のレコードとは、グループ番号が付与されていないレコードを表す。例えば、均等化処理部202は、未処理のレコードのうち番号(
図2におけるNO)が最も小さいレコードを抽出する。均等化処理部202は、レコード数がk未満のグループが0であるか否か判定する(ステップS110)。レコード数がk未満のグループが0である場合(ステップS110−YES)、均等化処理部202は各グループで、ステップS109の処理で抽出したレコードを含めて2レコード間距離の平均値を算出する(ステップS111)。均等化処理部202は、平均値が最小となるグループのグループ番号を、ステップS109の処理で抽出したレコードに付与する(ステップS112)。
【0025】
均等化処理部202は、処理対象レコードのうち未処理のレコードがあるか否か判定する(ステップS113)。未処理のレコードがある場合(ステップS113−YES)、均等化処理部202はステップS109以降の処理を実行する。
一方、未処理のレコードがない場合(ステップS113−NO)、均等化処理部202は各グループのレコードの数を算出する(ステップS114)。次に、均等化処理部202は、各グループの条件を決定する(ステップS115)。具体的には、均等化処理部202は、グループ内の全レコード間で時系列データ毎に平均値の情報をグループ条件に決定する。ただし、均等化処理部202は、時系列情報がグループ内のレコードで値の分布幅が所定の値未満の時系列情報のみをグループ条件に決定する。なお、値の分布幅は、グループ内のレコードの値の標準偏差であっても良いし、グループ内のレコードの値の最大と最小の差であっても良い。そして、均等化処理部202は、グループ番号、グループ定義情報及びグループのレコード数情報とを含むグループ情報をグループ情報記憶部30に出力する(ステップS116)。
【0026】
また、ステップS110の処理において、レコード数がk未満のグループが0ではない場合(ステップS110−NO)、均等化処理部202はレコードの数がk未満のグループで、ステップS109の処理で抽出したレコードを含めて2レコード間距離の平均値を算出する(ステップS117)。均等化処理部202は、平均値が最小となるグループのグループ番号を、ステップS109の処理で抽出したレコードに付与する(ステップS112)。このような処理によって、
図5に示されるようなグループ分けが完了する。
図5は、グループ情報の具体例を示す図である。
図5に示すように、各グループのレコードの個数が5、4、4、4、5であり、k−匿名化における“k”を満たしていることが分かる。
【0027】
以上のように構成されたグループ化装置20によれば、匿名性及び有用性の双方を保つことが可能になる。具体的には、グループ化装置20は、均等化処理により各グループに含まれるレコードの数を、予め指定された最小数を下回らないように均等にグループ化を行う。これにより、各グループのレコードの数を均等化することができる。これにより、匿名性を担保することができる。また、グループ化装置20は、時系列で構成されたレコードを1つの情報として扱い、2レコード間の時系列情報の差分を、時系列のデータを構成する各時間データの値をベクトル要素とするベクトル空間における距離としたクラスタリングを行う。これにより、時系列で構成された情報が類似するグループに各レコードを分類させることができる。したがって、有用性を担保することができる。このように、グループ化装置20は、データの有用性を維持しつつ、レコードの数を均等化することで匿名性を高めることが可能となる。
【0028】
<変形例>
匿名化システム1は、非匿名化情報記憶部10、グループ情報記憶部30、匿名化情報記憶部50のいずれか一つ又は複数を備えないように構成されてもよい。この場合、各記憶部に相当する構成が、匿名化システム1の外部に設けられる。匿名化システム1に含まれる構成(グループ化装置20及び匿名化処理部40)は、匿名化システム1の外部に設けられた各記憶部に相当する構成とネットワークを介して通信し、記憶されている情報を取得する。
本実施形態では、処理対象レコードには、数値として“1”と“0”を用いた場合を例に説明したが、これに限定される必要はない。処理対象レコードには、数値としてその他の数値が用いられてもよい。また、本実施形態では、1つのレコードが14次元の情報を有している構成を示したが、1つのレコードはn次元(nは2以上の整数)の情報を有してもよい。
【0029】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0030】
10…非匿名化情報記憶部, 20…グループ化装置, 30…グループ情報記憶部, 40…匿名化処理部, 50…匿名化情報記憶部, 201…条件情報取得部, 202…均等化処理部
【要約】
【課題】匿名性及び有用性の双方を保つこと。
【解決手段】匿名化されていない属性の値を有する非匿名化情報である複数のレコードを、各グループに含まれるレコードの数が均等化するように複数のグループに分ける均等化処理部、を備え、複数のレコードは、時系列の情報によって構成され、均等化処理部は、レコードの中から決定されるグループの基準となるレコードを含む1又は複数のグループに基づいて、複数のレコードのうち未処理のレコードを複数のグループに分けるグループ化装置。
【選択図】
図1