JP6301767B2 - パーソナル情報匿名化装置 - Google Patents

パーソナル情報匿名化装置 Download PDF

Info

Publication number
JP6301767B2
JP6301767B2 JP2014152522A JP2014152522A JP6301767B2 JP 6301767 B2 JP6301767 B2 JP 6301767B2 JP 2014152522 A JP2014152522 A JP 2014152522A JP 2014152522 A JP2014152522 A JP 2014152522A JP 6301767 B2 JP6301767 B2 JP 6301767B2
Authority
JP
Japan
Prior art keywords
generalized
identifier
generalized hierarchy
hierarchy
quasi
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014152522A
Other languages
English (en)
Other versions
JP2016031567A (ja
Inventor
和明 井堀
和明 井堀
岡田 健一
健一 岡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2014152522A priority Critical patent/JP6301767B2/ja
Publication of JP2016031567A publication Critical patent/JP2016031567A/ja
Application granted granted Critical
Publication of JP6301767B2 publication Critical patent/JP6301767B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、パーソナル情報の匿名化技術に関する。
医療サービスの質の向上を目的とした個人の診療履歴の活用や、都市開発などの目的での移動履歴の活用など、さまざまな個人に関する情報の活用が盛んになってきている。一方、これらの情報は他人に知られたくない情報を含み、情報によっては機微なものもある。このため、データの取り扱いを誤ると情報の提供元である個人のプライバシーが流出してしまう危険をはらんでいる。個人のプライバシーに配慮しながら個人に関する情報を活用するには、外部データとの突き合せを行ってもレコードから個人を特定できないようにする必要がある。このような技術の代表的なものとしてk匿名化がある。
k匿名化とは、個人に関する情報のどのレコードも、自分と同じ準識別子の組み合わせを持つレコードが自分以外に少なくとも(k−1)件以上現れるように属性値を曖昧化する匿名化技術である。ここで、準識別子とは、個人を特定するために使われる属性であり、例えば年齢、性別、居住都道府県などがある。k匿名化の方法の一つは、匿名性が確保できるように準識別子の値を一般化階層という準識別子の値の変換ルールを用いるものである。例えば特許文献1においては、頻度の小さい値から順に一般化が行われるように一般化階層を生成することで、情報の損失を最小限に抑えるようにした技術が提案されている。
国際公開第2011/145401号
特許文献1では、一般化階層の自動生成方式とともに、情報損失の計算方法が提案されている。この発明の特長は、出現頻度の低い属性値を優先的に匿名化した一般化階層を作成できるため、損失情報量を抑制できることである。
ここで言う損失情報量は、特許文献1で定義されているものである。つまり、損失情報量は、レコード1件に対して、匿名化前と匿名化後の準識別子の値の出現頻度を基に、以下の式で計算される、情報工学的なエントロピーである。以下の式は、損失情報量を計算する対数関数の底が2の場合である。
例えば、ある病院の患者データを匿名化する場合を考える。ここでは、匿名化の対象である患者データは属性に年齢を含み、その値の頻度分布は図1の通りであるとする。簡単のため患者データの準識別子は年齢のみとする。仮に年齢の値をすべて「*」(不定値を表す)に変換したとすると、年齢の損失情報量の合計値は、およそ1323.6になる。これは年齢に関して一人一人の見分けが全くつかなくなった状態での損失情報量なので、全体の情報量とみなすことができる。
この例を基に、匿名化によって全体の情報量のうちどれだけが失われるかを、異なる一般化階層を用いる場合と比較する。まず、二次利用者にとっての匿名化データの使い易さだけを考え、5歳単位、10歳単位などの分かりやすい基準で一般化階層を作成した場合、図2に示すような一般化階層になる。図2の一般化階層を用いて「10−匿名化」を実施した場合、年齢は図2のレイヤ1を用いて一般化される。このため、匿名化後の年齢の値の頻度分布は図3に示すようになり、年齢の損失情報量の合計値はおよそ777.9になる。これは全体の情報量のおよそ58.8%に当たる。この全体の情報量に対する損失情報量の割合を損失率と呼ぶことにする。
これに対し、特許文献1の方法によって自動生成した一般化階層を用いて「10−匿名化」を実施した場合、一般化階層は図4に示すようになる。この場合、年齢は図4のレイヤ3を用いて一般化されるので、匿名化後の年齢の値の頻度分布は図5のようになり、年齢の損失情報量はおよそ145.8になる。このとき、損失率はおよそ11.0%であり、図2の一般化階層を使用した場合と比べ、およそ47.8%も小さい値になる。ここで、損失率の比較は、両方の損失率の算術的な差によっている。このように、特許文献1の方法によれば、損失情報量を抑えた匿名化を実施することができる。
ところが、図4を見ると、この一般化階層では59歳と60歳が同一のノードに一般化されている。このため、二次利用者が必要とする、年代ごと(10歳単位)に匿名化データを分析することが難しくなるという問題が発生する。つまり、二次利用者が必要なデータの粒度と矛盾した一般化がなされてしまい、二次利用者にとって匿名化データが利用しにくいという課題がある。本明細書では、「粒度」なる用語を、二次利用者が匿名化後に必要とする情報(例えば数値や文字列)の最小単位を与える概念として使用する。
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。本明細書は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、「二次利用者が必要とする準識別子の値の粒度を確保した一般化階層を生成する際に使用されるパラメータであって、前記粒度を前記準識別子に与えるための処理ルールを定義する前記パラメータの指定を受け付ける指定部と、指定された前記パラメータに従って、パーソナル情報について一般化階層を生成する生成部と、前記パーソナル情報を記録する第1の記憶部と、前記パーソナル情報のデータ構造を記録する第2の記憶部と、前記パラメータを記録する第3の記憶部と、前記生成部によって生成された一般化階層を記録する第4の記憶部を有するパーソナル情報匿名化装置」である。
本発明によれば、二次利用者が必要とする準識別子の値の粒度を確保した一般化階層を自動的に生成できるので、二次利用目的に使い易く、損失情報量も小さい匿名化データを二次利用者に提供できるようになる。前述した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
匿名化対象データの頻度分布の一例を示す図表。 図1の情報から生成した一般化階層の例を示す図。 図2の一般化階層で匿名化した後の頻度の分布を示す図表。 特許文献1に記載の手法により図1の情報から生成した一般化階層の例を示す図。 図4の一般化階層で匿名化した後の頻度の分布を示す図表。 実施例の説明で使用する匿名化対象データの一例を示す図。 実施例に係るパーソナル情報匿名化装置の全体構成を示す図。 一般化階層を生成するパラメータの指定に用いる画面例を示す図。 匿名化対象データ定義データの例を示す図。 数値属性の一般化階層に対して境界を指定して一般化階層を生成する場合に使用するパラメータの例を示す図。 数値属性の一般化階層に対して幅を指定して一般化階層を生成する場合に使用するパラメータの例を示す図。 カテゴリ値属性の一般化階層に対してグループを指定して一般化階層を生成する場合に使用するパラメータの例を示す図。 実施例に係る手法によって生成される一般化階層の例を示す図。 準識別子頻度情報の例を示す図。 一般化階層ノードのデータ構造例を示す図。 一般化階層生成処理のうち準識別子の型の判定処理までを説明するフローチャート。 準識別子の型が数値属性の場合における一般化階層生成処理の内容を示すフローチャート(その1)。 準識別子の型が数値属性の場合における一般化階層生成処理の内容を示すフローチャート(その2) 準識別子の型が数値属性の場合における一般化階層生成処理の内容を示すフローチャート(その3) ステップS1008の付表の例を示す図表。 準識別子の型がカテゴリ値属性の場合における一般化階層生成処理の内容を示すフローチャート(その1)。 準識別子の型がカテゴリ値属性の場合における一般化階層生成処理の内容を示すフローチャート(その2)。 準識別子の型がカテゴリ値属性の場合における一般化階層生成処理の内容を示すフローチャート(その3)。
以下、添付の図面に基づいて、本発明の実施の形態を説明する。ただし、本発明の実施の形態は、本発明の一例に過ぎず、本発明の技術的範囲を限定するものではない。また、以下では、匿名化対象データとして医療データを想定し、図6に示すデータ構造を有しているものとして説明するが、匿名化対象データはこれに限るものではない。
(1)パーソナル情報匿名化装置の全体構成
図7に、本実施例に係るパーソナル情報匿名化装置の全体構成を示す。本システムは、匿名化装置101と記憶装置104で構成される。匿名化装置101は、コンピュータを基本構成とし、その処理機能はコンピュータプログラムの実行を通じて提供される。本実施例の場合、匿名化設定部102と一般化階層生成部103の機能が提供される。匿名化設定部102は、二次利用者が必要とする準識別子の値の粒度を確保した一般化階層を生成するパラメータの指定を受け付ける機能部である。一般化階層生成部103は、匿名化設定部102によって指定されたパラメータに従って一般化階層を生成する機能部である。
記憶装置104は、以下に示すデータの記憶に用いられる。匿名化対象データ105は、匿名化処理の対象となるパーソナル情報である。その一例が、図6に示すデータである。匿名化対象データ定義データ106は、匿名化対象データ105のデータ構造を与えるデータである。準識別子・一般化階層生成ポリシ定義データ107は、匿名化対象データ105の準識別子及び当該準識別子に対して二次利用者が必要とする準識別子の値の粒度を確保した一般化階層を生成するために使用されるパラメータである。一般化階層データ108は、一般化階層生成部103によって生成された一般化階層のデータである。
以下では、k匿名化に関する技術のうち、特に、一般化階層の生成技術を中心に説明する。もっとも、本実施例に係るパーソナル情報匿名化装置には、本実施例に係る技術によって生成された一般化階層を用いて匿名化対象データをk匿名化する機能部、当該機能部から出力された匿名化データの匿名性を評価する機能部などを搭載しても良い。また、本実施例に係るパーソナル情報匿名化装置は、本実施例に係る技術によって生成された一般化階層を編集する機能部を搭載し、二次利用者が望む匿名化データを出力できるように一般化階層の微調整をできるようにしても良い。
(2)匿名化設定部102
匿名化設定部102の機能は、作業者が操作する匿名化装置101のモニタ画面に表示される匿名化設定画面201(図8)を通じて実現される。匿名化設定画面201には、匿名化対象データ105を指定するパスの入力欄202、匿名化対象データ定義データ106を指定するパスの入力欄203、準識別子・一般化階層生成ポリシ定義データ107を指定するパスの入力欄(選択欄)204が設けられる。図8の場合、入力欄204にはプルダウンメニューのボタンが設けられており、メニュー内のリストからパスを選択できるようになっている。もっとも、入力欄204についても他の入力欄と同様、作業者が任意のパスを直接入力できる方式でも良い。また、入力欄202及び203についても、プルダウンメニューから特定のパスを選択できる方式でも良い。
これらの入力欄202〜204について、それぞれパスが指定又は選択された後、実行ボタン205が押下されると(ポインタでクリックされると)、一般化階層生成部103による一般化階層の生成処理が実行され、一般化階層データ108として出力される。実行ボタン205を押下することによる一般化階層生成処理の詳細については、後述する。
(3)データの形式
以下、匿名化対象データ105、匿名化対象データ定義データ106、準識別子・一般化階層生成ポリシ定義データ107、一般化階層データ108の各データ形式と、一般化階層生成処理の詳細について説明する。
(3−1)匿名化対象データ
図6に、本実施例で使用する匿名化対象データ105の詳細を示す。本実施例における匿名化対象データ105は、個人の疾病に関する情報を持つ表形式のデータであり、個人ID、年齢、性別、住所、身長及び疾病からなる。匿名化対象データ105は、電子カルテなどの情報のうち個人情報が削除又は簡易的に抽象化されている。例えば個人IDは、電子カルテに記載された個人の識別子を、当該識別子とは関係のない文字列に置き換えたものである。また、住所は、電子カルテに記載された元の住所のうち市区町村単位だけ残したものである。
(3−2)匿名化対象データ定義データ
図9に、匿名化対象データ定義データ106の例を示す。匿名化対象データ定義データ106は、匿名化対象データ105(図6)における列を1から開始する数値で示す列番号401、列番号401が示す列の名前である列名402、列番号401が示す列のデータ型である型403からなる表形式のデータである。型403は、「文字列」、「整数」または「小数」のいずれかである。
(3−3)準識別子・一般化階層生成ポリシ定義データ
準識別子・一般化階層生成ポリシ定義データ107は、一般化階層を生成するポリシの内容により、図10−1、図10−2、図10−3の3通りがある。
図10−1は、境界型の準識別子・一般化階層生成ポリシの例を表している。境界型の準識別子・一般化階層生成ポリシは、数値属性の準識別子に適用するものであり、属性値を境界値によって幾つかの分類に分け、各分類の中で一般化を行う一般化階層を生成するものである。境界型の準識別子・一般化階層生成ポリシは、準識別子の列名を表す準識別子ヘッダ501、準識別子・一般化階層生成ポリシの生成方法を表す生成タイプ502、匿名化対象データ105における当該準識別子の値を丸める単位である最小単位503、前述の最小単位503によって準識別子の値を丸める方式である丸め方式504、準識別子の属性値の分類を陽に決定する境界値505から構成される。
準識別子ヘッダ501は、準識別子とする列名を角括弧“[”と“]”によって囲んだものである。生成タイプ502は、文字列“Boundary”を指定する。最小単位503は正の整数または小数によって指定する。丸め方式504は、切り上げの場合は文字列“ceil”、切捨ての場合は文字列“floor”、四捨五入の場合は文字列“round”を指定する。境界値505は、分類の区切りになる値を昇順でカンマ区切りにして指定する。
図10−2は、固定幅型の準識別子・一般化階層生成ポリシを表している。固定幅型の準識別子・一般化階層生成ポリシは、数値属性の準識別子に適用するものであり、属性値を原点と幅によって幾つかの分類に分け、各分類の中で一般化を行う一般化階層を生成するものである。固定幅型の準識別子・一般化階層生成ポリシは、準識別子の列名を表す準識別子ヘッダ511、準識別子・一般化階層生成ポリシの生成方法を表す生成タイプ512、匿名化対象データ105における当該準識別子の値を丸める単位である最小単位513、前述の最小単位513によって準識別子の値を丸める方式である丸め方式514、準識別子の属性値を幅に区切るときの基準値である原点515、準識別子の属性値を区切る単位である幅516からなる。
準識別子ヘッダ511、最小単位513及び丸め方式514は、境界型の準識別子・一般化階層生成ポリシにおける準識別子ヘッダ501、最小単位503及び丸め方式504と同様のものである。生成タイプ512は、文字列“Width”を指定する。原点515は、分類の基準になる値を整数または小数で指定する。幅516は、分類の大きさを正の整数または小数で指定する。
図10−3は、グループ型の準識別子・一般化階層生成ポリシを表している。グループ型の準識別子・一般化階層生成ポリシは文字列属性の準識別子に適用するものであり、属性値を意味などによって幾つかの分類に分け、各分類の中で一般化を行う一般化階層を生成するものである。グループ型の準識別子・一般化階層生成ポリシは、準識別子の列名を表す準識別子ヘッダ521、準識別子・一般化階層生成ポリシの生成方法を表す生成タイプ522、準識別子の属性値の分類を陽に決定するグループ523から構成される。
準識別子ヘッダ521は境界型の準識別子・一般化階層生成ポリシにおける準識別子ヘッダ501と同様のものである。生成タイプ522は、文字列“Group”を指定する。グループ523はグループに含める値をカンマ区切りで指定し、さらに丸括弧()内にはグループの名称を指定する。
(3−4)一般化階層データ
図11に、本実施例に係る手法によって生成される一般化階層データ108の例を示す。一般化階層データ108は、準識別子の列名を表す準識別子601、準識別子601が示す準識別子の属性値または一般化された属性値を識別する符号である値ID602、値ID602によって識別される値である値603、値ID602が示す値の親の値を識別する符号である親値ID604からなる表形式のファイルである。親値ID604は、他のレコードの値ID602に対応するが、最も一般化された値に対する親値ID604は空欄となる。なお、図11中において、親値ID604が“A4”、“D4”となる値ID602の行は省略している。
(4)補助的な用語
一般化階層生成部103は、後述する処理手順に従って生成した一般化階層を記憶装置104の一般化階層データ108に格納する。ここでは、処理手順の説明において使用する補助的な用語について説明する。
(4−1)準識別子頻度情報
図12に、準識別子頻度情報の例を示す。準識別子頻度情報は、個々の準識別子の値と、匿名化対象データ105における各値の出現頻度を関連付けたデータ構造であり、連想配列などのデータ構造によって表現する。準識別子頻度情報は、個々の準識別子の値を表す値701とその出現頻度を表す頻度702からなる。
(4−2)一般化階層ノード
図13に、一般化階層ノードの例を示す。一般化階層ノードは、生成された一般化階層の親子関係を構築するためのデータ構造であり、準識別子の属性値または一般化された属性値を表す値801、準識別子のデータ型を表す型802、値801が匿名化対象データ105に出現する回数を表す頻度803、準識別子・一般化階層生成ポリシによる分類を表す最大分類ノード804、自分自身に一般化される属性値または一般化された属性値の一般化階層ノードのリストである子ノード805、自分自身を一般化した属性値の一般化階層ノードである親ノード806、準識別子の属性値または一般化された属性値をどの属性値または一般化された属性値と同一視して一般化するかの候補を表す一般化階層ノードであるフォロー先807からなる。図13において、801、802などの符号は、一般化階層ノードのうちの1つだけに付けており、他の一般化階層ノードに対しては省略している。
(4−3)一般化階層ノードのリストにおける左隣および右隣
一般化階層ノードのリストにおいて第i要素の左隣が存在するとは、i>0であり、第(i−1)要素と最大分類ノードが同じであることを言う。このときの第(i−1)要素を第i要素の左隣という。一般化階層ノードリストの第i要素の左隣が存在する条件が成り立たないとき、一般化階層ノードリストの第i要素の左隣が存在しないという。
一般化階層ノードリストの第i要素の右隣が存在するとは、Nを一般化階層ノードのリストの大きさとしたとき、i<N−1であり、第(i+1)要素と最大分類ノードが同じであることを言う。このときの第(i+1)要素を第i要素の右隣という。一般化階層ノードリストの第i要素の右隣が存在する条件が成り立たないとき、一般化階層ノードリストの第i要素の右隣が存在しないという。
(4−4)生成タイプ別の最大分類ノードの定義
一般化階層ノードの最大分類ノード804は、生成タイプによって設定内容が異なる。以下、設定タイプごとに最大分類ノードの定義を与える。
生成タイプが“Boundary”の場合(つまり境界型の準識別子・一般化階層生成ポリシの場合)、最大分類ノードは、「当該準識別子の最小値≦境界値[m]−最小単位」を満たす最小の整数mと「境界値[N]≦当該準識別子の最大値」を満たす最大の整数Nを取ったとき、以下の値を持つ1個以上の一般化階層ノードである。
・「当該準識別子の最小値」と「境界値[m]−最小単位」をデリミタで結合したも
生成タイプが“Width”の場合(つまり固定幅型の準識別子・一般化階層生成ポリシの場合)、最大分類ノードは、「最小値≦原点+幅×(m+1)−最小単位」を満たす最小の整数mと「原点+幅×N≦最大値」を満たす最大の整数Nを取ったときの、以下の値を持つ1個以上の一般化階層ノードである。
・mからNまでの整数rに対する、「原点+幅×r」と「原点+幅×(r+1)−最小単位」をデリミタで結合したもの
生成タイプが“Group”の場合(つまりグループ型の準識別子・一般化階層生成ポリシの場合)、最大分類ノードは、グループ523にある行の丸括弧の中身の文字列を値とする1個以上の一般化階層ノードである。
(5)一般化階層生成部の処理内容
以下、図14〜図16−3を用い、一般化階層生成部103で実行される処理内容を説明する。
(5−1)準識別子の型の判定までの処理
図14に、準識別子の型の判定までの一般化階層生成処理を示す。当該処理では、一般化階層を生成する対象の準識別子の列を特定し、該当する列の準識別子・一般化階層生成ポリシ定義データ107に基づいて、該当する列に応じた一般化階層の生成処理を呼び出す。
・ステップS901
当該ステップにおいて、一般化階層生成部103は、匿名化設定画面201を通じて入力された準識別子・一般化階層生成ポリシ定義データ107を解析してメモリに格納する。このメモリに格納された準識別子・一般化階層生成ポリシ定義データ107の情報を、ポリシオブジェクトと呼ぶ。
・ステップS902
当該ステップにおいて、一般化階層生成部103は、ポリシオブジェクトと匿名化対象データ定義データ106を突き合せ、匿名化対象データ105から読み取る準識別子の列を特定する。
・ステップS903〜S908
一般化階層生成部103は、ステップS902で特定した準識別子の列の全てについて、ステップS904からステップS907までの一連の処理を繰り返し、当該準識別子の一般化階層の生成処理を実行する。以下、ステップS904からステップS907までの処理について説明する。
ステップS904
当該ステップにおいて、一般化階層生成部103は、ステップS902で特定した列について匿名化対象データ105から属性値を列挙し、各属性値についてその出現頻度を数え上げ、準識別子頻度情報としてメモリに格納する。
・ステップS905
当該ステップにおいて、一般化階層生成部103は、現在の列に対応するポリシオブジェクトを用いて、現在の列の型の情報を取得する。取得された列の型が整数または小数のとき、一般化階層生成部103はステップS906に進み、数値向けポリシベース一般化階層生成処理を実行する。これに対し、取得された列の型が文字列のとき、一般化階層生成部103は、ステップS907に進み、文字列向けポリシベース一般化階層生成処理を実行する。
(5−2)数値向けポリシベース一般化階層生成処理
図15−1から図15−3に、数値向けのポリシベース一般化階層生成処理を示す。本処理において、一般化階層生成部103は、処理対象の準識別子について準識別子頻度情報を算出し、隣り合う準識別子の属性値をグループ毎に頻度の小さい順に一般化することで階層構造を作成し、一般化階層に変換する。
・ステップS1001
当該ステップにおいて、一般化階層生成部103は、処理対象の準識別子の準識別子頻度情報を、属性値の昇順にソートする。
・ステップS1002
当該ステップにおいて、一般化階層生成部103は、当該準識別子のポリシオブジェクトに基づき、「生成タイプ別の最大分類ノードの定義」に従って最大分類ノードを作成する。
・ステップS1003
当該ステップにおいて、一般化階層生成部103は、準識別子頻度情報の値と頻度を基に一般化階層ノードを作成する。値801には準識別子頻度情報の値701が、型802には当該準識別子の型403が、頻度803には準識別子頻度情報の値702が、最大分類ノード804にはステップS1002で作成した当該準識別子の最大分類ノードが設定され、子ノード805、親ノード806及びフォロー先807はいずれも未設定である。
・ステップS1004
当該ステップにおいて、一般化階層生成部103は、前段のステップS1003で作成した一般化階層ノードの値を最小単位と丸め方式に従って丸めた値を持つ一般化階層ノードを作成し、丸める前の一般化階層ノードをこの一般化階層ノードの子ノードにする。さらに、このステップで作成した一般化階層ノードの頻度に、自分の子ノードの頻度の和を設定する。さらに、このステップで作成した一般化階層ノードの最大分類ノードを、自分の値が含まれる最大分類ノードに設定する。さらに、このステップで作成した一般化階層ノードを含むリストを作成し、値の昇順にソートする。この一般化階層ノードのリストを一般化階層ノードリストLと呼ぶ。
・ステップ1005〜S1019
一般化階層生成部103は、前段のステップS1004で作成した一般化階層ノードリストLの要素数が2以上の間、ステップS1006からステップS1018までの一連の処理を繰り返し実行し、一般化階層ノードの親子関係を構築する。以下、ステップS1006からS1018までの処理を説明する。
・ステップS1006
当該ステップにおいて、一般化階層生成部103は、一般化階層ノードリストLの大きさを取得し、それをNとおく。
・ステップS1007〜ステップS1009
ステップS1008において、一般化階層生成部103は、S1008付表1(図15−4)に従い、一般化階層ノードリストLの各要素のフォロー先を設定する。S1008付表1の内容は以下のとおりである。
当該要素である一般化階層ノードの右隣も左隣も存在しないとき、一般化階層生成部103は、フォロー先に空を設定する。当該要素である一般化階層ノードの右隣は存在するが左隣は存在しないとき、一般化階層生成部103は、フォロー先に右隣を設定する。当該要素である一般化階層ノードの左隣は存在するが右隣は存在しないとき、一般化階層生成部103は、フォロー先に左隣を設定する。当該要素である一般化階層ノードの右隣も左隣も存在するとき、一般化階層生成部103は、右隣と左隣であるそれぞれの一般化階層ノードの頻度を比較し、フォロー先には頻度の大きいほうを設定する。頻度が同じ場合は左隣を設定する。ただし、頻度が同じ場合のフォロー先については、「右隣に設定する」より「情報損失の小さくなるほうに設定する」など、他の設定とすることを排除するものではない。
・ステップS1010
当該ステップにおいて、一般化階層生成部103は、一般化階層ノードリストLの要素に、フォロー先が空でないものが存在するかどうかをチェックし、存在すればステップS1011に進む。存在しなければ、ステップS1005からステップS1019までのループを脱出し、ステップステップS1020に進む。
・ステップS1011
当該ステップにおいて、一般化階層生成部103は、一般化階層ノードリストLのインデックスiを0に設定する。
・ステップS1012〜ステップS1018
一般化階層生成部103は、前段のステップS1007からステップS1009で設定したフォロー先に基づいて一般化階層ノードの親子関係を構築するため、インデックスiが一般化階層ノードリストLの大きさから2を減じたもの以下である間、ステップS1013からステップS1017までの一連の処理を繰り返し実行する。以下、ステップS1013からステップS1017までの処理について説明する。
・ステップS1013
当該ステップにおいて、一般化階層生成部103は、一般化階層ノードリストLの第i要素L[i]と第(i+1)要素L[i+1]について、それぞれのフォロー先がお互いになっているか、つまりL[i+1]とL[i]になっているかをチェックする。お互いになっている場合、一般化階層生成部103は、ステップS1014に進み、お互いなっていない場合、一般化階層生成部103は、ステップS1017に進む。
・ステップS1014
当該ステップにおいて、一般化階層生成部103は、一般化階層ノードリストLから第i要素L[i]と第(i+1)要素L[i+1]を取り出し、それぞれX0、X1としてから、一般化階層ノードリストLから当該要素を削除する。
・ステップS1015
当該ステップにおいて、一般化階層生成部103は、X0、X1の内容に基づき、これらの一般化階層ノードの親ノードとなる一般化階層ノードPを作成する。一般化階層ノードPの設定値は以下のとおりである。値はX0の値の最小値からX1の値の最大値まで、型はX0の型、頻度はX0の頻度とX1の頻度の和、最大分類ノードはX0の最大分類ノード、子ノードはX0とX1、親ノードとフォロー先は未設定である。さらに、X0の親ノード、X1の親ノードにそれぞれPを設定する。
・ステップS1016
当該ステップにおいて、一般化階層生成部103は、前段のステップS1015で作成した一般化階層ノードPを、一般化階層ノードリストLの第i番目に挿入する。言い換えると、一般化階層ノードPの挿入位置は、その子ノードである一般化階層ノードX0,X1が元にいた位置である。
・ステップS1017
当該ステップにおいて、一般化階層生成部103は、インデックスiをインクリメントする。
・ステップS1020
当該ステップにおいて、一般化階層生成部103は、一般化階層ノードリストLのサイズが2以上かどうかチェックし、そうであればS1021に、そうでなければステップS1023に進む。
・ステップS1021
当該ステップにおいて、一般化階層生成部103は、以下の内容で、一般化階層ノードたちのルートに相当する一般化階層ノードRを作成する。値はL[0]の値の最小値からLの最後の要素の値の最大値まで、型はL[0]の型、頻度はLのすべての要素の頻度の和、最大分類ノードは空、子ノードは一般化階層ノードリストLのすべての要素、親ノード及びフォロー先は空である。
・ステップS1022
当該ステップにおいて、一般化階層生成部103は、前段のステップS1021で作成した一般化階層ノードRを、一般化階層ノードリストLのすべての要素の親に設定する。
・ステップS1023
当該ステップにおいて、一般化階層生成部103は、一般化階層ノードリストLのただひとつの要素であるL[0]を一般化階層ノードRに設定する。
・ステップS1024
当該ステップにおいて、一般化階層生成部103は、前段までで作成した一般化階層ノードRを基に、一般化階層ファイルを作成する。
(5−3)文字列向けポリシベース一般化階層生成処理
図16−1から図16−3に、文字列向けのポリシベース一般化階層生成処理を示す。本処理において、一般化階層生成部103は、処理対象の準識別子について準識別子頻度情報を算出し、準識別子の属性値をグループごとに頻度の小さい順に一般化することで階層構造を作成し、一般化階層に変換する。
・ステップS1101
当該ステップにおいて、一般化階層生成部103は、処理対象の準識別子の準識別子頻度情報を、値の昇順にソートする。当該ステップにおいて、一般化階層生成部103は、当該準識別子のポリシオブジェクトに基づき、「生成タイプ別の最大分類ノードの定義」に従って最大分類ノードを作成する。
・ステップS1102
当該ステップにおいて、一般化階層生成部103は、準識別子頻度情報の値と頻度に基づいて、一般化階層ノードを作成する。
・ステップS1103
当該ステップにおいて、一般化階層生成部103は、前段のステップS1102で作成した一般化階層ノードの最大分類ノードを、自分の値が含まれる最大分類ノードに設定する。さらに、一般化階層生成部103は、前段のステップS1102で作成した一般化階層ノードを最大分類ノードでグループ分けし、これらのグループをG[0],G[1],・・・,G[g−1]とする。ここで、gは、Gの要素数である。
・ステップS1104〜ステップS1116
一般化階層生成部103は、ステップS1105からステップS1115までの一連の処理を実行することで、一般化階層ノードの親子関係を構築する。以下、ステップS1105からステップS1115までの処理について説明する。
・ステップS1105〜ステップS1108
これらのステップにおいて、一般化階層生成部103は、グループG[0],G[1],・・・,G[g−1]に対してステップS1106からステップS1107の処理を繰り返す。
・ステップS1106
当該ステップにおいて、一般化階層生成部103は、Gの要素の大きさが2以上であるかどうかをチェックし、そうであればステップS1107に進む。Gの要素の大きさが2より小さいとき、一般化階層生成部103は、ステップS1108に進んでステップS1105からステップS1108までの繰り返しを終了する。
・ステップS1107
当該ステップにおいて、一般化階層生成部103は、Gの要素である一般化階層ノードたちを頻度の昇順にソートする。
・ステップS1109
当該ステップにおいて、一般化階層生成部103は、グループG[0],G[1],・・・,G[g−1]の中に、要素数が2以上であるものが存在するかどうかをチェックし、存在すればステップS1110に進む。存在しなければ、ステップS1104からステップS1116までのループを脱出し、ステップステップS1117に進む。
・ステップS1110
当該ステップにおいて、一般化階層生成部103は、グループG[0],G[1],・・・,G[g−1]についてそれぞれ最初の2つの一般化階層ノードの頻度の和を求め、前述の和が最小となるグループを求め、そのインデックスiの集合をIとする。前述の和が最小となるグループが複数ある場合、集合Iの大きさは2以上である。
・ステップS1111〜ステップS1115
これらのステップにおいて、一般化階層生成部103は、一般化階層ノードの親子関係を構築するため、前述のグループG[0],G[1],・・・,G[g−1]に対するインデックスの集合Iについて、ステップS1112からステップS1114までの一連の処理を繰り返し実行する。以下、ステップS1112からステップS1114までの処理について説明する。
・ステップS1112
当該ステップにおいて、一般化階層生成部103は、インデックスの集合Iの要素iに対し、G[i]から先頭の2要素を取り出し、順にX0,X1とおいてから、G[i]から当該要素を削除する。
・ステップS1113
当該ステップにおいて、一般化階層生成部103は、X0、X1の内容に基づき、これらの一般化階層ノードの親ノードとなる一般化階層ノードPを作成する。一般化階層ノードPの設定値は以下のとおりである。値はX0の値とX1の値をデリミタで結合したもの、型は X0の型、頻度はX0の頻度とX1の頻度の和、最大分類ノードはX0の最大分類ノード、子ノードはX0とX1、親ノードとフォロー先は空である。さらに、X0の親ノード、X1の親ノードをともにPに設定する。
・ステップS1114
当該ステップにおいて、一般化階層生成部103は、前段のステップS1113で作成した一般化階層ノードPを、G[i]の先頭に挿入する。
・ステップS1117
当該ステップにおいて、一般化階層生成部103は、グループのリストGの要素数gが2以上であるかどうかをチェックし、そうであればステップS1118に進み、そうでなければステップS1120に進む。
・ステップS1118〜ステップS1119
当該ステップにおいて、一般化階層生成部103は、以下の内容で、一般化階層ノードたちのルートに相当する一般化階層ノードRを作成する。値はG[0]の最大分類ノードからG[g−1]の最大分類ノードまでのすべての値をデリミタで結合したもの、型はG[0]の最大分類ノードの型、頻度はG[0]の最大分類ノードからG[g−1]の最大分類ノードまでのすべての要素の頻度の和、最大分類ノードは空、子ノードはG[0]からG[g−1]までのそれぞれの最大分類ノード、親ノード及びフォロー先は空である。
ステップS1119では、G[0]の最大分類ノードからG[g−1]の最大分類ノードまでのすべてについて親ノードにRを設定する。
・ステップS1120
当該ステップにおいて、一般化階層生成部103は、グループのリストGのただひとつの要素であるG[0]の最大分類ノードを一般化階層ノードRに設定する。
・ステップS1121
当該ステップにおいて、一般化階層生成部103は、前段までで作成した一般化階層ノードRを基に、一般化階層ファイルを作成する。
なお、前述の文字列向けポリシベース一般化階層生成処理では、準識別子の属性値をいくつかのグループに分けて一般化階層を作成しているが、このグループをさらに幾つかのサブグループに分けてもよい。また、グループやサブグループの中で特に関連の強い属性値のペアをいくつか定義し、これらのペアを優先して一般化するようにしても良い。さらに、前述のペアに対して関連の強さを定量的に設定し、関連のより強いものから一般化するようにしても良い。
(まとめ)
以上の通り、本実施例に係るパーソナル情報匿名化装置を用いれば、二次利用者が必要とする準識別子の値の粒度を確保した一般化階層を自動的に生成できるので、二次利用目的に使い易く、損失情報量も小さい匿名化データを二次利用者に提供することができる。
なお、本発明は、上述した実施例の構成に限定されるものでなく、様々な変形例を含んでいる。例えば上述した実施例は、本発明を分かりやすく説明するために、一部の実施例について詳細に説明したものであり、必ずしも説明した全ての構成を備える必要は無い。また、ある実施例の一部を他の実施例の構成に置き換えることが可能であり、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成に他の構成を追加し、又は、各実施例の一部構成を他の構成で置換し、又は各実施例の一部構成を削除することも可能である。
また、上述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路その他のハードウェアとして実現しても良い。また、上記の各構成、機能等は、それぞれの機能を実現するプログラムをプロセッサが解釈して実行することにより実現しても良い。すなわち、各構成等をソフトウェアにより実現しても良い。この場合、各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記憶装置、ICカード、SDカード、DVD等の記憶媒体に格納することができる。また、制御線や情報線は、説明上必要と考えられるものを示すものであり、製品上必要な全ての制御線や情報線を表すものでない。実際にはほとんど全ての構成が相互に接続されていると考えて良い。
101…匿名化装置、102…匿名化設定部、103…一般化階層生成部、104…記憶装置、105…匿名化対象データ、106…匿名化対象データ定義データ、107…準識別子・一般化階層生成ポリシ定義データ、108…一般化階層データ、201…匿名化設定画面、202…匿名化対象データ、203…匿名化対象データ定義、204…準識別子・一般化階層生成ポリシ定義、205…実行ボタン、401…列番号、402…列名、403…型、501…準識別子ヘッダ、502…生成タイプ、503…最小単位、504…丸め方式、505…境界値、511…準識別子ヘッダ、512…生成タイプ、513…最小単位、514…丸め方式、515…原点、516…幅、521…準識別子ヘッダ、522…生成タイプ、523…グループ、601…準識別子、602…値ID、603…値、604…親値ID、701…値、702…頻度、801…値、802…型、803…頻度、804…最大分類ノード、805…子ノード、806…親ノード、807…フォロー先。

Claims (3)

  1. 二次利用者が必要とする準識別子の値の粒度を確保した一般化階層を生成する際に使用されるパラメータであって、前記粒度を前記準識別子に与えるための処理ルールを定義する前記パラメータの指定を受け付ける指定部と、
    指定された前記パラメータに従って、パーソナル情報について一般化階層を生成する生成部と、
    前記パーソナル情報を記録する第1の記憶部と、
    前記パーソナル情報のデータ構造を記録する第2の記憶部と、
    前記パラメータを記録する第3の記憶部と、
    前記生成部によって生成された一般化階層を記録する第4の記憶部と
    を有し、
    前記指定部は、前記一般化階層が有するノードの属性値の最大分類を決定するためのパラメータの指定を受け付け、
    前記生成部は、前記最大分類が共通する同一グループ内で頻度の小さい順に隣り合う準識別子の値を一般化する階層構造を構築することにより、前記一般化階層を生成するパーソナル情報匿名化装置。
  2. 請求項1に記載のパーソナル情報匿名化装置において、
    前記指定部は、匿名化対象データ及びそのデータ定義を受け付ける機能を更に有する
    ことを特徴とするパーソナル情報匿名化装置。
  3. 請求項1または2に記載のパーソナル情報匿名化装置において、
    前記指定部は、ユーザインタフェース画面を通じ、少なくとも前記パラメータの指定を選択的に受け付ける
    ことを特徴とするパーソナル情報匿名化装置。
JP2014152522A 2014-07-28 2014-07-28 パーソナル情報匿名化装置 Active JP6301767B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014152522A JP6301767B2 (ja) 2014-07-28 2014-07-28 パーソナル情報匿名化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014152522A JP6301767B2 (ja) 2014-07-28 2014-07-28 パーソナル情報匿名化装置

Publications (2)

Publication Number Publication Date
JP2016031567A JP2016031567A (ja) 2016-03-07
JP6301767B2 true JP6301767B2 (ja) 2018-03-28

Family

ID=55441930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014152522A Active JP6301767B2 (ja) 2014-07-28 2014-07-28 パーソナル情報匿名化装置

Country Status (1)

Country Link
JP (1) JP6301767B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110088756B (zh) 2016-12-19 2023-06-02 三菱电机株式会社 隐匿化装置、数据分析装置、隐匿化方法、数据分析方法以及计算机能读取的存储介质
US10740488B2 (en) * 2017-11-17 2020-08-11 International Business Machines Corporation Cognitive data anonymization
JP6420513B1 (ja) * 2018-03-19 2018-11-07 雅晴 古川 情報管理装置
EP3940572B1 (en) * 2019-03-11 2023-07-26 Nippon Telegraph And Telephone Corporation Data generalization device, data generalization method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8326849B2 (en) * 2009-06-25 2012-12-04 University Of Ottawa System and method for optimizing the de-identification of data sets
DK2573699T3 (en) * 2010-05-19 2017-07-31 Hitachi Ltd Device for de-identification of identity information
TW201331770A (zh) * 2012-01-31 2013-08-01 Ibm 在資料組中保存隱私的方法與系統

Also Published As

Publication number Publication date
JP2016031567A (ja) 2016-03-07

Similar Documents

Publication Publication Date Title
US11763175B2 (en) Systems and methods for semantic inference and reasoning
KR101805946B1 (ko) 입-출력 예시를 사용한 텍스트 조작 프로그램 생성
EP2573699B1 (en) Identity information de-identification device
JP5490824B2 (ja) ベクトルフィールドを用いるデータ処理
CN108984172B (zh) 一种界面文件的生成方法及装置
EP2927861B1 (en) In-memory database system for the management of variant configuration of a product
JP6301767B2 (ja) パーソナル情報匿名化装置
JP6079783B2 (ja) 匿名化を実行する情報処理装置及び匿名化方法、及びプログラム
EP2921986B1 (en) A system and method for evaluating a reverse query
JP2016151908A (ja) パーソナル情報匿名化支援装置
JP6692281B2 (ja) テストケース生成装置、及びテストケース生成方法
Tax et al. LocalProcessModelDiscovery: Bringing Petri nets to the pattern mining world
Biermann et al. Parallel independence of amalgamated graph transformations applied to model transformation
Omitola et al. Capturing interactive data transformation operations using provenance workflows
CN103701590A (zh) 一种基于字典的复杂密码遍历方法及装置
JP5921227B2 (ja) 製品モジュール化プロセス装置、製品モジュール化方法及びプログラム
JP4461034B2 (ja) 利用権発行方法、利用権発行装置、および利用権システム
JP6506201B2 (ja) 目的変数に対応する説明変数群を決定するシステム及び方法
WO2020218448A1 (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム
CN107451167A (zh) 站内点击位的点击数据获取方法和系统
JP6802109B2 (ja) ソフトウェア仕様分析装置、及びソフトウェア仕様分析方法
JP2019153047A (ja) 生成装置、生成方法及びプログラム
JP6036224B2 (ja) 順序制御システム、順序制御方法、順序制御プログラム、及び、メッセージ管理システム
WO2019160579A1 (en) Interactive framework for automatic generation, analysis and exploration of composable system of systems based on a knowledge graph
JP6904914B2 (ja) 決定表生成装置、及び決定表生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180301

R150 Certificate of patent or registration of utility model

Ref document number: 6301767

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250