JP5492296B2 - 個人情報匿名化装置 - Google Patents

個人情報匿名化装置 Download PDF

Info

Publication number
JP5492296B2
JP5492296B2 JP2012515790A JP2012515790A JP5492296B2 JP 5492296 B2 JP5492296 B2 JP 5492296B2 JP 2012515790 A JP2012515790 A JP 2012515790A JP 2012515790 A JP2012515790 A JP 2012515790A JP 5492296 B2 JP5492296 B2 JP 5492296B2
Authority
JP
Japan
Prior art keywords
personal information
hierarchical tree
node
attribute
frequency
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
JP2012515790A
Other languages
English (en)
Other versions
JPWO2011145401A1 (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 Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Priority to JP2012515790A priority Critical patent/JP5492296B2/ja
Publication of JPWO2011145401A1 publication Critical patent/JPWO2011145401A1/ja
Application granted granted Critical
Publication of JP5492296B2 publication Critical patent/JP5492296B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、個人情報の匿名化に関するものである。
個人にまつわる膨大なデータの集積化が進む昨今、個人情報を扱う企業にとってはプライバシへの配慮が必要不可欠なものになっている。個人情報取り扱い事業者は、少なくとも個人情報の保護に関する法律(以下、保護法)や関係法令の遵守が必須となっている。保護法は、個人情報の収集や利用等に対して、管理対応を義務付けており、さらにその具体的な措置を各省庁のガイドラインが規定している。
これらのガイドラインが規定する管理措置の1つに個人情報の匿名化がある。例えば、厚生労働省は医療に関する個人情報の第三者提供、学会発表、医療事故報告等において、特段の必要がない限りはこれを匿名化することを求めている。また、経済産業省でも個人情報の匿名化を第三者提供時の望ましい措置として挙げている。
最も単純な個人情報匿名化の処理は、個人を識別可能な情報を当該個人情報から取り除くこと、または曖昧にすることである。前者の例としては、氏名や住所を取り除く処理が、後者の例としては住所を都道府県単位に変換する、年齢を10歳刻みに変換するなどの処理が該当する。以降、曖昧化対象をその度合いに応じて木構造で表現したものを一般化階層木と呼ぶ。
しかし、上述の匿名化処理を行っても、個人に関する複数の属性を組み合わせることで個人を識別できてしまう場合がある。例えば、都道府県単位の住所と10歳刻みの年齢でも極稀な組み合わせであれば個人を特定できる。このように、匿名化では、より確実に識別可能性を除去することが望まれる。
識別可能性を除去するための技術として、しきい値を設定し、個人情報データに含まれる任意の属性値の組み合わせがデータ中にしきい値以上存在することを保証した匿名データを生成する匿名化技術がある。本発明もこの種の匿名化技術に属する。この種の匿名化技術は、非特許文献1に記載されている。
非特許文献1には、一般化階層木を用いて個人情報データ中の属性値を曖昧にすることで、開示したデータ中に出現する任意の属性値の組み合わせが少なくともしきい値件数出現することを保証することが記載されている。
K. LeFevre, D. J. DeWitt, and R. Ramakrishnan, "Incognito: Efficient Full−Domain K−Anonymity," 2005 ACM SIGMOD International Conf. Management of Data, pp.49‐60, 2005
非特許文献1の技術は、曖昧化の度合いを定義する一般化階層木を別途、属性毎に定義する必要がある。また、しきい値以上を達成する候補を全て出力するので、使用する匿名データを選択する必要があり、匿名データ間の有用性の優劣を決定する手段を自動化できない。
本発明はこのような事情を考慮してなされたもので、個人情報匿名化の運用コストを低減しつつ、適切に個人情報を保護することを提供する。
一例として開示されるのは、属性毎の属性値からなる個人情報を1件以上入力する個人情報入力手段と、属性を1つ選択し、該選択した属性に出現する属性値毎に該属性値を持つ該入力個人情報の件数をカウントする頻度取得手段を用いて、該属性の各々に対して該入力個人情報に出現する各属性値の上位概念をその曖昧度によって木構造で表現する一般化階層木を自動構成する一般化階層木自動生成手段と、該一般化階層木自動生成手段を用いて該属性の各々に対して生成された一般化階層木を用いて該入力個人情報を再符号化する手段を有する個人情報匿名化装置である。これにより、上述の課題を解決できる。
自動化による運用コストの低減と適切な個人情報の保護を両立することが可能となる。
実施例1において、計算機の構成例を示す図である。 実施例1において、個人情報テーブルの一例を示す図である。 実施例1において、最小同値件数情報の一例を示す図である。 実施例1において、属性種別情報の一例を示す図である。 実施例1において、一般化階層木テーブルの一例を示す図である。 実施例1において、一般化階層木テーブルの一例を示す図である。 実施例1において、一般化階層木テーブルの一例を示す図である。 実施例1において、一般化階層木テーブルの一例を示す図である。 実施例1において、匿名情報テーブルの一例を示す図である。 実施例1において、動作例を示す図である。 実施例1において、動作例を示す図である。 実施例1において、動作例を示す図である。 実施例1において、動作例を示す図である。 実施例1において、動作例を示す図である。 実施例2において、計算機の構成例を示す図である。 実施例2において、発生情報テーブルの一例を示す図である。 実施例2において、動作例を示す図である。 実施例2において、動作例を示す図である。 実施例3において、計算機の構成例を示す図である。 実施例3において、ユーザ定義階層木テーブルの一例を示す図である。 実施例3において、ユーザ定義階層木とユーザ定義階層木に基づく一般化階層木の一例を示す図である。 実施例3において、ユーザ定義階層木とユーザ定義階層木に基づく一般化階層木の一例を示す図である。 実施例3において、ユーザ定義階層木とユーザ定義階層木に基づく一般化階層木の一例を示す図である。 実施例3において、動作例を示す図である。 実施例3において、動作例を示す図である。 実施例3において、動作例を示す図である。 実施例3において、動作例を示す図である。 実施例3において、動作例を示す図である。 実施例3において、動作例を示す図である。 実施例3において、動作例を示す図である。 実施例3において、動作例を示す図である。
以下、本発明を実施するための形態を、図面を参照して詳細に説明する。
なお、以下で説明する3つの実施例は、主に電子的な形態の個人情報を保護する技術である。本実施形態における個人情報とは、個人に関する情報であって、氏名、生年月日、その他の情報などにより特定の個人を識別することができるものを示す。また、他の情報と容易に照合することができ、それにより特定の個人を識別することができるものも個人情報に含む。本実施形態において、個人情報の匿名化とは、情報主体を識別できないように当該個人情報を変換する処理をいう。また、再符号化とは個人のある属性を説明する属性値を、より曖昧な概念へと置き換えることを言う。
<実施例1>
図1を参照し、実施例1の技術を実現する装置の構成例を説明する。
図1は計算機上に装置を構成した例である。図1において、計算機100は、例えばPC(Personal Computer)やサーバ、ワークステーション等の任意の情報処理装置である。計算機100はCPU(Central Processing Unit)101、メモリ102、ストレージ103、入力装置104、出力装置105、通信装置106等を有する。これらは全て、バスなどの内部通信線107により互いに接続されている。
ストレージ103は、例えばCD−R(Compact Disc Recordable)やDVD−RAM(Digital Versatile Disk Random Access Memory)、シリコンディスク等の記憶メディア及び当該記憶メディアの駆動装置、HDD(Hard Disk Drive)等である。ストレージ103は、個人情報テーブル131、匿名情報テーブル132、最小同値件数情報133、属性種別情報134、プログラム151等を記憶する。個人情報テーブル131は、複数の個人に関する個人情報を格納する。本実施形態では、各個人情報は、複数の項目ごとの項目値からなる。匿名情報テーブル132は、個人情報テーブル131を本発明により匿名化した結果を格納する。最小同値件数情報133は、しきい値を格納する。属性種別情報134は、個人情報テーブル131が有する各属性の情報種別を格納する。プログラム151は、後述する機能を実現するためのものである。
入力装置104は例えばキーボード、マウス、スキャナ、マイク等である。出力装置105は、ディスプレイ、プリンタ、スピーカ等である。通信装置106は、例えば、LAN(Local Area Network)ボード等であり、通信ネットワーク(図示略)と接続する。
CPU101は、メモリ102上にプログラム151をロードし、実行することにより、一般化階層木自動生成部121と再符号化部122を実現する。なお、再符号化部122は必要に応じて内部処理として損失情報量計量部123を実現する。
一般化階層木自動生成部121は、個人情報テーブル131及び属性値種別情報134を入力とし、個人情報テーブル131の各属性から全ての属性値の頻度を取得し、取得した頻度情報と属性値種別情報134から取得した当該属性の種別情報からHuffman符号木またはShannon−Fano符号木またはHu−Tucker符号木を作成し、作成した木を一般化階層木として一般化階層木テーブル135に格納する。
再符号化部122は、個人情報テーブル131及び最小同値件数情報133及び一般化階層木テーブル135を入力とし、一般化階層木テーブル135から得られる各属性に対応する一般化階層木にしたがってその属性値を再符号化することで全てのレコードがテーブル上に存在する件数が最小同値件数情報133に格納された値よりも大きくなるようにし、この結果を匿名情報テーブル132に出力する。なお、さらに出力装置105に結果を出力してもよい。
損失情報量計量部123は属性値の再符号化によりデータの失う情報量を定量的に評価する部分であり、必要に応じて再符号化部122から呼び出される。
次に上述したテーブル等の詳細な例を説明する。
まず、図2を参照し、個人情報テーブル131の一例を説明する。
図2において、個人情報テーブル131は複数のレコードを有する。1つのレコードが1人の個人に関する情報を表す。各レコードは属性201、属性202、属性203の属性値のタプルとして表される。
図2で表される表の一行目は属性の名前を指す。属性201、属性202、属性203はそれぞれ個人の住所、年齢、出身国または出身地域、のうち任意の一つ以上を表す。
また上述の個人情報テーブル131内の情報は予め格納されているものとする。
なお、個人情報の項目は図2に示されるものに限られるわけではなく、任意でよい。また、個人の総数(レコード総数)も属性数も任意で良い。実施例1の計算機100は、個人を特定可能な情報を匿名化するものである。個人を特定可能な情報とは必ずしも氏名等、直接的に個人を特定するものに限らない。例えば、性別、年齢、住所の組み合わせにより個人を特定できる場合がある。本実施形態は、システムの運用者が匿名化を行う属性を予め決定するものである。図2の例では、システムの運用者が住所、年齢、出身国または出身地域、の組み合わせが個人の特定につながると判断し、この3属性に対して匿名化を行う例である。すなわち、個人情報の属性全体が住所、年齢、出身国または出身地域、に限定されている必要はない。
次に図3を参照して最小同値件数情報133の一例を説明する。
図3の例は、最小同値件数301が5件であることを示している。この最小同値件数301は、同じ属性値タプルを持つレコードの数が最小同値件数301以上であれば、データを公開しても個人を特定することが困難であると見なせる値である。図3の例ではデータ中に出現する任意の属性値タプルが5件以上データ中に出現すれば開示しても安全であると見なすことを示す。
なお、最小同値件数301の値は5件に限定されるものではなく、任意で良い。
次に図4を参照して属性種別情報134の一例を説明する。
属性種別情報134は、匿名化を行う各属性の一般化階層木を構成する上で、構成方法を指定するためにその属性の持つ情報種別を規定するものである。図4の例の表134−aでは、属性「住所」401の一般化階層木を文字列処理型で、属性「年齢」402の一般化階層木を順序保存型で、属性「出身国または出身地域」403の一般化階層木をその他で生成することを示している。表134−bのように、文字列処理型の属性に関してはその文字列処理のタイプを指定する。表134−bでは、属性「住所」404を前方一致型で処理することを意味している。なお、順序保存型とは構成された一般化階層木の葉の順序を予め決定しておく場合を指し、その他とは文字列処理型でも順序保存型でもないものを指す。
次に図5a、図5b、図5cを参照し、一般化階層木テーブル135の一例を示す。
ここで、上述のように、一般化階層木テーブル135は、一般化階層木自動生成部121が個人情報テーブル131と属性種別情報134を参照して生成するものである。まず、図5(a−1)を参照して属性「住所」201に対して作成した一般化階層木135−a1の概念図を示し、図5(a−2)を参照して一般化階層木135−a1をストレージ上に保存する方法を示し、図5(a−3)を参照して一般化階層木135−a1をメモリ上に管理する方法を示す。
図5(a−1)において、属性「住所」201に対する一般化階層木135−a1は複数の節点と枝から成る木構造として表される。枝は節点間の親子関係を意味する。枝は矢線を用いて示され、矢線の根側の節点が親であり、矢側の節点が子である。例えば節点501と節点502の関係において、節点501が親であり節点502は子である。親を持たない節点を根と呼び、子を持たない節点を葉と呼ぶ。例えば、節点501は根であり、節点503や節点504などは葉である。親を辿ることで行き着くことができる節点を祖先と呼び、子を辿ることで行き着くことのできる節点を子孫と呼ぶ。葉でない節点は内部節点と呼ばれる。
例えば、節点501や節点502等は内部節点である。各節点にはラベル5031と頻度5032が関連付けられる。葉にはラベルとして元の属性値が関連付けられ、頻度として個人情報テーブル中にその属性値が出現する件数が関連付けられる。例えば、葉503は「東京都文京区」とラベル付されており、その出現件数35が頻度として関連付けられている。内部節点のラベルには、その子を全て表すことができる抽象的な概念が割り当てられ、またその頻度として全ての子の頻度の総和が割り当てられる。
例えば、属性「住所」201は属性種別情報134を参照すると前方一致型の文字列処理型であるので、節点503「東京都文京区」と節点504「東京都豊島区」は同じ親節点502としてより抽象的な概念へと一般化され、節点502のラベルとしては「東京都」が割り当てられている。また、節点502の頻度として、その全ての子の頻度の総和が関連付けられている。同様にして、全ての属性値の一般化階層構造を前方一致型の文字列処理を行って木構造として出力した結果が一般化階層木135−a1である。
図5(a−2)において、一般化階層木135−a1をストレージ上に保存する方法の一例を示す。ストレージ上にはリレーショナルデータベース等を用いて保存される。リレーショナルデータベース上のテーブルとして、一般化階層木135−a1を保存する一例がテーブル135−a2である。
テーブル135−a2の一行目511は、各カラムのラベルを示し、2行目以降の各レコードは1つの節点に対応する。すなわち、左列は当該節点のラベルを意味し、中央列は当該節点の親節点のラベルを意味し、右列は当該節点の頻度を意味する。例えば、レコード512は節点501に対応するものである。節点501は根であるから、親を持たない。この場合、中央列にはNULLという値を保管し、節点501の頻度205を右列に保管する。同様に、節点502に対応するレコードがレコード513である。
なお、前方一致型の文字列処理型の属性の場合に限らず、任意の属性種別に対する一般化階層木がこの方法でストレージ上に保存可能である。
図5(a−3)において、一般化階層木135−a1をメモリ上で管理する方法を示す。データ構造521は節点501を管理するデータ構造の一例である。データ構造はポインタ5211と親を指し示すポインタ5212と子のポインタリスト5213と当該節点のラベル5214と当該節点の頻度5215によって構成される。節点501を表すデータ構造521は根に対応するから、親のポインタはNULLである。同様に例えば、節点503は葉であるから、節点503を表すデータ構造の子のポインタリストは空となる。
なお、前方一致型の文字列処理型の属性の場合に限らず、任意の属性種別に対する一般化階層木がこの方法でメモリ上に管理できる。
次に図5(b−1)を用いて、属性「年齢」202の一般化階層木を構成した一例を木135−b1に示す。属性種別情報134を参照すると、属性「年齢」202は順序保存型である。順序保存型とは葉の順序を保存する情報種別を指し、実際、一般化階層木135−b1において、全ての葉がその大小順序を左から右に保存している。なお、順序としては大小順序に限らず、辞書式順序や、人手で与えた順序など、任意の順序が適用可能である。順序保存型の一般化階層木の構築には、その属性の属性値の頻度情報を用いる。
テーブル135−b2は、属性「年齢」202の属性値の頻度を表にしたものであり、属性値「20」を取るレコードが50件、属性値「25」を取るレコードが35件、属性値「27」を取るレコードが25件、属性値「33」を取るレコードが40件、属性値「38」を取るレコードが55件であり、その他の属性値を取るレコードは存在しないことを指す。この例では属性値を5種類に限定しているが、これに限定する必要はない。頻度テーブル135−b2を利用して順序保存型で一般化階層木を構築すると一般化階層木135−b1が生成される。
なお、一般化階層木135−b1では大小順序を保存する形で一般化階層木を構成したことにより、内部節点のラベルが範囲の形で指定できる。例えば、節点531では、「20−27」というラベルが指定出来る。言い換えれば、祖先と子孫の関係にない2節点のラベルの表す範囲が重なってしまうことがない。
図6を参照して、属性「年齢」の属性種別が仮に後述の「その他」であった場合に一般化階層木を自動生成した結果を示す。この例では、作為的に内部節点に範囲の形でラベルを割り当てている。図6の例において、節点601と節点602のラベルはそれぞれ「25−38」と「33」であり、これらの節点は祖先と子孫の関係にないにも関わらず「33」が「25−38」の範囲に含まれる形となっている。
次に、図5(c−1)を用いて属性「出身国または出身地域」203の一般化階層木を構成した一例を示す。属性種別情報134を参照すると、属性「出身国または出身地域」203の属性種別はその他である。すなわち、文字列処理型でも順序保存型でもない。この場合には、属性の全ての属性値の頻度情報のみを用いて一般化階層木を構成する。
頻度情報135−c2を用いて一般化階層木を構成した一例が木135−c1である。内部節点に割り当てられているラベルは、その内部節点よりも下位にある葉のラベルを列挙したものである。例えば、節点541では{中国、仏国、独国、米国、英国}というラベルが割り当てられているが、これは「中国または仏国または独国または米国または英国」と解釈する。
図7を参照して、匿名情報テーブル132の一例を説明する。各属性値はその属性に対する一般化階層木の節点のラベルに再符号化される。このとき、再符号化先の節点は、元の属性値に対応する葉の祖先に限る。また、匿名情報テーブル132中に出現する全ての属性に対する属性値タプルが、匿名情報テーブル全体の中で最小同値件数情報133の件数は少なくとも存在している必要がある。例えば、データタプル701(神奈川県横浜市、33−38、日本)というタプルを持つレコードが最小同値件数情報133に示される5件以上存在していなくてはならない。
なお、図7の例では、子孫、祖先の関係にある節点のラベルが匿名情報テーブル132中に共に存在しない形式となっているが、その限りではない。すなわち、例えば「20−27」と再符号化される年齢のセルと「25−27」と再符号化される年齢のセルが共存してもよい。
次に、図8を参照し、計算機100の動作例を説明する。
まず、一般化階層木自動生成部121は、個人情報テーブル131および属性種別情報134を参照し、一般化階層木の自動生成を行い、その結果を一般化階層木テーブル135に格納する(S801)。次に、再符号化部122が、個人情報テーブル131および最小同値件数134ならびに一般化階層木テーブル135を参照し、任意のレコードが最小同値件数301に示された5件以上存在するようにデータを再符号化し、その結果を匿名情報テーブル132に格納する(S802)。
なお、図8では、S801とS802を続けて実行しているが、上記の説明からも分かるようにこれらのステップは分離できる。すなわち、一般化木自動生成部121がS801を行うタイミングと再符号化部122がS802を行うタイミングを別にすることが可能である。ただし、S801はS802よりも以前に実行されている必要がある。S801とS802の実行のタイミングをずらすことで次のようなメリットを享受できる。S801によって自動的に生成された一般化階層木を計算機100の利用者が閲覧して、これに修正を加えることができる。例えば、S801によって自動生成された一般化階層木の全ての内部節点を再符号化先の候補とする必要がない場合には、再符号化先の候補とする内部節点のみを残した木を改めて一般化階層木とすることでS802の高速化が可能である。また、前記以外の一般化階層木に対する修正も可能であり、さらに自動生成された木と全く関係のない構造を持った一般化階層木に利用者が置き換えることも可能である。
次に図9を参照して、一般化階層木自動生成部121が上記S801で一般化階層木を自動構成する詳細な動作例を説明する。すなわち、図9の各処理を行うのは一般化階層木自動生成部121である。
まず、いくつかの表記法を定義する。mは個人情報テーブル131の属性の総数(列数)である。個人情報テーブル131の各列を左から順番に0番目の列、1番目の列、・・・、m−1番目の列と呼ぶ。
図9でははじめに、個人情報テーブル131をメモリ102上に読み込み(S901)、パラメタjを0に初期化する(S902)。
次に、jがmより小さいかどうかを確認し(S903)、jがm以上であれば処理を終了する。
S903の判定でjがmよりも小さい場合には、j番目の属性の属性種別を属性種別情報134から取得し(S904)、その結果に従って条件分岐する(S905)。
S905で当該属性の属性種別が「文字列処理型」の場合は、まず、j番目の属性の個人情報テーブル131に出現する全ての属性値を漏らすことなく列挙する(S911)。具体的には、レコードを全件走査しながら、j番目の属性に対応する属性値を既に列挙したかを判別し、列挙していない場合は列挙する。列挙したかどうかの判別には、例えばプログラミング言語であるC++の標準ライブラリで提供されるset等のデータ構造を用いればよい。
次に列挙した属性値から指定された文字列処理を行い、包含関係を抽出し、その包含関係に基づいて木を構成する(S912)。包含関係の抽出方法は、既に知られている様々な文字列処理手法に依るが、例えば図5(a−1)の例のように前方一致型の文字列処理の場合には、一致部分を全て切り出して、一致長の長い方が葉に近い方に、一致長の短い方が根に近い方になるように構成する。文字列に一致部分がある2つの属性値は、その一致部分を根とする部分木の葉となり、当該の部分木の根となる節点のラベルには、一致した文字列を割り当てることができる。前方一致型以外の文字列処理型に対しても、適切な方法でラベルを全ての節点に割り当てる。なお、特にラベルの内容を気にしない場合は、当該節点の子孫となる葉全てを列挙したものでもよい。例えば、{東京都文京区、東京都豊島区、東京都板橋区}などである。S912の処理を終えたら、後に記述するS941の処理に移る。
S905で当該属性の属性種別が「順序保存型」の場合は、まず、j番目の属性の全ての属性値の頻度情報を取得する(S921)。具体的には、レコードを全件走査しながら、現在走査中のレコードのj番目の属性に対応する属性値を既に列挙したかを判別し、列挙した場合は当該属性値の頻度を数えるカウンタを1つ増加させ、列挙していない場合は当該属性値の頻度のカウンタを1にセットする。データ構造として、C++の標準ライブラリで提供されるmap等を用いる。mapは前述のsetの集合内の要素に、値を関連付けられるもので、集合の要素をキー、関連付ける値をバリューと呼ぶ。レコード全件の走査が終了した時には、mapに各属性値の頻度が記憶されている。
次に、上記で取得したj番目の属性の頻度情報を用いてHu−Tucker符号木を構成し、これを当該属性の一般化階層木とする(S922)。この符号木の構成方法は文献「D.E. Knuth, “The Art of Computer Programming: Volume 3 Sorting and Searching,” Addison−Wesley, pp.439‐444, 1973」に記載の方法等を用いる。この場合も、S912と同じように、適切な方法で節点にラベルを割り当てるものとする。なお、「順序保存型」の場合には、前述のように属性値の素な範囲として内部節点のラベルを割り当てることができる。S922の処理を終えた後は後述するS941の処理に移る。
S905で当該属性の属性種別が「その他」の場合は、まず、j番目の属性の全ての頻度情報を取得する(S931)。これは、処理S921と全く等価な処理である。
次に、上記で取得したj番目の属性の頻度情報を用いてHuffman符号木あるいはShannon−Fano符号木を構成し、これを当該属性の一般化階層木とする(S932)。どちらの符号木を用いるかは、計算機100の設計者があらかじめ決定しておく。なお、Huffman符号木の構成方法は文献「T.S. Han and K. Kobayashi, “Mathematics of Information and Coding,” American Mathematical Society, pp.99‐105, 2002」等に記載の方法を用い、Shannon−Fano符号木の構成方法は文献「T.S. Han and K. Kobayashi, “Mathematics of Information and Coding,” America
n Mathematical Society, pp.95‐96, 2002」に記載の方法等を用いる。S932の処理を終えた後は、後述するS941の処理に移る。
S912またはS922またはS932の処理を終えた後、各々のステップで構成した一般化階層木の各節点の頻度情報を更新する(S941)。なお、より詳細な更新方法を、図10を用いて後に説明する。
次に、構成した一般化階層木を、一般化階層木テーブル135に保存し(S942)、jにj+1を代入し(S943)、前述のS903の評価に戻る。
jは単調に増加し、必ずmよりも大きくなるから、以上を以て全ての属性に対する一般化階層木は構成できる。
図10を用いて、一般化階層木自動生成部121がS941のステップで行う一般化階層木の節点頻度情報の更新方法の一例を説明する。すなわち、図10の各処理を行うのは一般化階層木自動生成部121である。
図10(a)は一般化階層木の節点頻度更新の大きな流れで、内部的に図10(b)のルーティンを再帰的に用いる。
まず、j番目の属性の全ての属性値の頻度情報を取得する(S1001)。ステップS1001はS921と全く同等の処理である。
次に取得した頻度情報をj番目の属性の一般化階層木の対応する葉に割り当てる(S1002)。具体的には、対応する葉のデータ構造の頻度5215に、S1001で取得した頻度を代入する。これを全ての葉に対して行う。
図10(b)のルーティンを、j番目の一般化階層木の根を引数として実行する(S1003)。
図10(b)のルーティンを説明する。図10(b)のルーティンは、節点を引数に取る。まず、引数節点の子を全て取得し、この総数をpとする(S1004)。便宜上、p個の子節点を0、1、・・・、p−1番目の子と呼ぶ。具体的には、節点のデータ構造の子のポインタリスト5213を取得する。このリストに格納されている要素の総数がpである。
次に、iに0を代入する(S1005)。
次にiがpより小さいかどうかを判定し(S1006)、p以上であれば後に説明するS1010に処理を移行する。
S1006の判定で、iがpよりも小さければ、i番目の子に頻度が既に割り当てられていないかどうかを判定する(S1007)。もしも既に頻度が割り当てられていれば、iにi+1を代入し(S1009)、S1006に戻る。
S1007の判定でi番目の子に未だ頻度が割り当てられていなければ、図10(b)のルーティンを、i番目の子を引数として実行し(S1008)、これが終了した後iにi+1を代入し(S1009)、S1006に戻る。
S1006の判定でiがp以上であれば、0、1、・・・、p−1番目の子の頻度の総和を当該節点の頻度として設定する(S1010)。
以上により、全ての節点に頻度を設定できる。
次に、図11を参照して、再符号化部122が再符号化処理S802で実行する処理の詳細を説明する。すなわち、図11の各処理を実行するのは再符号化部122である。以降、最小同値件数情報133で定義する最小同値件数301をkで表す。
まず、個人情報テーブル131および一般化階層木テーブル135をメモリ上にロードする(S1101)。一般化階層木テーブル135は具体的には前述のデータ構造521を用いてメモリ上で管理される。なお、前述のように、一般化階層木の自動生成S801と再符号化S802を別のタイミングで行って、一般化階層木に修正を加えたりした場合には、このステップで一般化階層木自動生成部121が一般化階層木の頻度情報を図10の方法を用いて更新する必要がある。
次に、節点を格納する空のリストvを準備し(S1102)、jに0を代入する(S1103)。S1102で準備するリストvには節点が格納され、格納される各要素eは、eの子のラベルをeのラベルに再符号化する候補であることを指し、S802の処理内において動的に変化するものである。
次に、jがmよりも小さいかどうか判定する(S1104)。jがmよりも小さいと判定された場合には、j番目の一般化階層木において、全ての子が葉である節点を全てvに追加する(S1105)。jにj+1を代入し(S1106)、S1104に戻る。
S1104の判定でjがm以上であると判定された場合には、メモリ上の個人情報テーブルに出現する全ての全属性データタプルがk件以上存在するかを判定する(S1107)。具体的にはmapなどのデータ構造を用意し、mapのキー集合の中にレコードの示す全属性データタプルが存在する場合にはそのバリューに保存するカウントを1だけカウントアップする。キー集合の中に全属性データタプルが存在しない場合にはそのキーに対して、バリューとして1を代入する。以上を、全てのレコードに対して行い、mapに格納されている全てのバリューがk以上であるかどうかを判定すれば良い。
S1107の判定で、k件未満しかないデータタプルが存在すると判定された場合には、S1108のループを処理する。ループはv内の全ての要素wに対して行う。
ループS1108内では、wの子の節点のラベルをデータとして持つ全てのレコードの当該属性値をwのラベルに再符号化した場合の損失情報量を、損失情報量計量部123に計算させる(S1109)。この損失情報量の計算方法については、後に説明する。
ループS1108を終えたら、vの中で最も損失情報量の小さい節点uの子の節点のラベルをデータとして持つ全てのレコードの当該ラベルをuのラベルに再符号化する(S1110)。
次にuの子を全て削除し、uを葉とすることで、uを含む一般化階層木を更新する(S1111)。
次に、uの親をtとし、tの全ての子が葉であれば、tをvに追加し(S1112)、S1107の判定に戻る。
S1107の判定で、メモリ上の個人情報テーブルで、全ての全属性データタプルがk件以上存在すると判定された場合には、メモリ上の再符号化結果を匿名情報テーブル132に書き出して(S1113)、処理を終える。
次に、図12(a)を参照して、wの子の節点のラベルをデータとして持つ個人情報テーブル中の全てのレコードをwのラベルに再符号化した場合に損失する情報量の計算を行う損失情報量計量部123を用いた処理S1109の詳細を説明する。すなわち、図12(a)の各処理を行うのは、損失情報量計量部123である。
まず、最後に求める損失情報量を格納する変数Iを0に初期化する(S1201)。ループS1202は、節点wの全ての子cに対するループである。
ループS1202では、内部で、cのラベルをデータとして持つ1レコードをwのラベルに再符号化した場合の損失情報量iを計算する(S1203)。損失情報量の計算方法は後に説明する。次にIにcount(c)*iを加算する(S1204)。なお、count(c)はメモリ上の個人情報テーブルでcのラベルをデータとして持つレコードの総数を意味し、演算「*」は実数上の乗算を意味する。具体的には、count(c)は節点の頻度5215を参照することで得ることができる。
ループS1202を終了した後、Iを返し処理を終える。
次に図12(b)を参照して、cのラベルをデータとして持つ1レコードをwのラベルに再符号化した場合の損失情報量の計算方法S1203の詳細の一例を説明する。図12(b)の各処理を行うのは損失情報量計量部123である。必ずしもここに説明する方法を用いる必要はない。
cのラベルをデータとして持つ1レコードをwのラベルに再符号化した時にデータが失う情報量を、−log {count(c)/count(w)}で計算する(S1205)。なお、logの底は通常2を用いるが、定数倍しか変化しないため何を用いても構わない。しかし、システムの中では統一する必要がある。またcount(c)は前述と同様に、メモリ上での個人情報テーブルでcのラベルをデータとして持つレコードの総数を意味する。
なお、図12(b)に示す再符号化時の損失情報量の計算方法において、cとwは必ずしも親子関係にある必要はない。wがcの祖先であれば任意の節点間に対して定義できる。実際、cの祖先に節点dがあり、dの祖先に節点wがある場合、−log {count(c)/count(w)}=[−log {count(c)/count(d)}]+[−log {count(d)/count(w)}]を満たす。これは、cを再符号化してdにした後、dを再符号化してwにした場合の損失情報量と、cを直接wに再符号化した場合の損失情報量が等しいことを意味する。
以上のように、計算機100の特長は自動的に一般化階層木を構成する手法と損失情報量の計量方法を備えることである。Hu−Tucker符号木やHuffman符号木およびShannon−Fano符号木は、前述のように頻度の小さい属性値を深い方に配置し、頻度の大きい属性値を浅い方に配置する木である。このため、再符号化に際して、頻度の小さいもの同士が同じラベルに再符号化される可能性を高くするため、過度の再符号化を避けた有用性の高い匿名データを生成できるものである。また、前述の符号木を一般化階層木として用いれば、再符号化時の損失情報量を小さくすることが可能である。

<実施例2>
次に実施例2について説明する。
実施例2はデータの有用性を向上させるものである。以下、実施例2を説明する場合、上述の実施例1と重複する構成に対しては同じ符号を付与して説明を省略する。また、実施例2は動作のほとんどは実施例1と同様である。この部分の動作に対しては、同じ符号を付与して説明を省略する。
まず、図13を参照して、実施例2の計算機100の構成例について説明する。
図13において、計算機100のストレージ103は、プログラム151の代わりにプログラム1331を有する。プログラム1331がメモリ上にロードされ、CPU101は、実施例1の各部121、122、123に加えて擬似個人情報発生部1321を実現する。また、プログラム1331の処理結果の格納先として、ストレージ上に発生情報テーブル1332を有する。
次に図14を参照して、発生情報テーブル1332の詳細を説明する。
発生情報テーブル1332は図14に示されるように、ほとんど匿名情報テーブル132と同様のものである。その違いは、発生情報テーブル1332では、各属性情報はその属性の一般化階層木の葉に対応した値を取ることである。より具体的には、匿名情報テーブル132に格納されたラベルに対応する一般化階層木の節点の、子孫に対応する葉の属性値として改めて符号化されたものである。
次に図15を参照して、実施例2の計算機100の処理の流れを説明する。
図15において、一般化階層木自動生成部121が一般化階層木を自動生成するステップS801と再符号化部122が再符号化を行うステップS802は実施例1のものと完全に等価である。これらの処理を終えた後、擬似個人情報発生部1321が擬似個人情報発生ステップS1501を実行する。なお、実施例1にて示したS801とS802の関係と同様に、S1501も続けて実行する必要はなく、処理を行うタイミングは別々で構わない。
図16を参照して、擬似個人情報発生部1321が頻度情報を用いて擬似個人情報発生処理を実行するS1501の詳細の一例を説明する。すなわち図16の各処理を行うのは擬似個人情報発生部1321である。
まず、メモリ上に匿名情報テーブル132と一般化階層木テーブル135を取得する(S1601)。取得後、全てのレコードrに対してのループ(S1602)と、さらに内部ループとしてレコードrの全ての属性についてのループ(S1603)に対して以下を行う。ただし、現在処理中の属性をj番目の属性とする。
まず、レコードrのj番目の属性の属性値が一般化階層木のどの節点に対応するかを特定し、当該節点をwとする(S1604)。次に、wの子孫に相当する節点で葉となるものを全て列挙し、これをc1、c2、・・・、cnとおく(S1605)。具体的にはwから幅優先探索などの探索方法を用いてもよいし、一度探索した後は節点にこの探索結果を関連付けて記憶して、これを再利用してもよい。
次に、レコードrのj番目の属性がwのラベルとなっているが、これを以下に示すような方法で一般化階層木の1つの葉のラベルに置き換える(S1606)。一般化階層木に保管されている節点の頻度情報を用いて、count(c1)/count(w)の確率でc1のラベルを選び、count(c2)/count(w)の確率でc2を選び、同様の確率でc1、c2、c3、・・・、cnをランダムに発生させて、発生結果の節点のラベルに置き換える。
最後に全てのレコードを発生情報テーブル1332に格納する(S1607)。
実施例2で構成した計算機100の特長は、発生情報テーブル1332の属性値が元の個人情報テーブル131の属性値と同じ集合の値を取るために、データを利用するアプリケーションを選ばない点である。例えば、年齢が10歳ということを示すレコードがあったとき、メモリ上では整数型として保持していることが多い。このデータが「10−19歳」という再符号化を行われると、整数型として表現することができないため、任意のアプリケーションに利用できない。しかし、実施例2ではこれを「10−19歳」の間の年齢に頻度情報を用いて置き換える。例えば、「14歳」などに置き換える。したがって整数型として表現でき、元の個人情報では利用できていた任意のアプリケーションに利用できるということになる。また、発生情報テーブル1332の各属性の分布が元の個人情報テーブル131の分布に近くなることが期待できる。
なお、実施例2では匿名情報テーブル132を構成するステップを含む形で説明を行ったが、前述のように事前に匿名情報テーブル132を構成しておいて擬似個人情報発生部1331のみを後で行う方法もある。この方法によれば、個人情報テーブル131を必要としないので、匿名情報テーブル132と一般化階層木テーブル135と擬似個人情報発生部1331のみでシステムを構成できる。これにより、匿名情報と一般化階層木のみを社外に預託するだけで利用可能なシステムを構築でき、個人情報を預託する必要がないという意味において匿名性の高いシステムである。

<実施例3>
次に実施例3について説明する。
実施例3は、ユーザが望む属性値の分類を用いることにより、データの有用性を向上させるものである。国際疾病分類、図書分類、特許分類など様々な分野において、決められた分類が存在している。また、年齢ならば10代、20代のようによく用いられる分類が存在する。実施例3は、ユーザが一般化階層木に望む階層構造のみを予め定義しておくことで、ユーザの望む分類を考慮した一般化階層木を自動生成するものである。例えば、年齢の分類を「20歳から24歳」、「25歳から29歳」と予め定義しておくことで、「24歳から27歳」のようにユーザが望む分類から外れる形でデータが再符号化されることを防ぐ。
なお、実施例3は、一般化階層木を構成する際に、ユーザ定義階層木に外れない形での節点の追加を認めるものである。例えば、ユーザが「20歳から24歳」という分類を定義するとき、「20歳から24歳」という節点の子として「20歳から22歳」というような節点を構成することを認める。また、ユーザが「20歳から24歳」の親として、全属性値を包含する「*」を定義していた場合、「20歳から24歳」の親として「20歳から29歳」という節点を新たに追加することを認める。ユーザ定義階層木に外れない形での階層の追加を認めることにより、ユーザが望む分類を活かしつつ、より詳細な匿名化データを出力することが可能になる。
以下、実施例3を説明する場合、上述の実施例1と重複する構成に対しては同じ符号を付与して説明を省略する。また、実施例3の動作の一部は実施例1と同様である。この部分の動作に対しては、同じ符号を付与して説明を省略する。
まず、図17を参照し、実施例3の計算機100の構成例を説明する。
図17において、計算機100のストレージ103は、個人情報テーブル131、匿名情報テーブル132、最小同値件数情報133、属性種別情報134、一般化階層木テーブル135、プログラム1731、ユーザ定義階層木テーブル1732を記憶する。
CPU101は、メモリ102上にプログラム1731をロードし、ユーザ定義階層木に基づく一般化階層木自動生成部1721と再符号化部122を実現する。なお、再符号化部122は必要に応じて内部処理として損失情報量計量部123を実現する。
ユーザ定義階層木テーブル1732は、ユーザが任意の属性に対して望む分類を定義したものを格納する。ユーザは匿名化を行う全ての属性に対してユーザ定義階層木を定義する必要はなく、分類を定義したい属性についてのみ定義すればよい。また、前述のとおり、ユーザは各属性において望む分類のみを定義すればよく、全ての階層を定義する必要はない。なお、「文字列処理型」、「順序保存型」、「その他」のどの属性種別においても、祖先と子孫の関係にない複数の節点において各節点の子孫となる属性値が重複するような分類とならないように定義する必要がある。例えば、「25歳から38歳」と「20歳から33歳」のような分類や、「{神奈川県横浜市、神奈川県川崎市}」と「{神奈川県横浜市、神奈川県藤沢市}」のような分類を定義してはならない。
図18を参照し、ユーザ定義階層木テーブル1732の一例を示す。
まず、図18(a)を参照して属性「年齢」に対するユーザ定義階層木の概念図を示し、図18(b)を参照してユーザ定義階層木をストレージ上に保存する方法を示し、図18(c)を参照して一般化階層木をメモリ上に管理する方法を示す。
図18(a)において、属性「年齢」に対するユーザ定義階層木の一例を示す。ユーザ定義階層木は複数の節点と枝から成る木構造として表される。各節点にはユーザが求める分類を表すラベルが関連付けられる。
図18(b)において、ユーザ定義階層木をストレージ上に保存する方法の一例を示す。ストレージ上にはリレーショナルデータベース等を用いて保存される。リレーショナルデータベース上のテーブルとしてユーザ定義階層木を保存する一例がテーブル1732−bである。テーブルの一行目1811は、各カラムのラベルを示し、2行目以降の各レコードは1つの節点に対応する。
図18(c)において、ユーザ定義階層木1732−aをメモリ上で管理する方法を示す。データ構造1821は節点1801を管理するデータ構造の一例である。データ構造はポインタ18211と親を指し示すポインタ18212と子のポインタリスト18213と当該節点のラベル18214と頻度情報18215によって構成される。
次に、図19を参照し、各属性種別におけるユーザ定義階層木の一例と、ユーザ定義階層木に基づく一般化階層木の例を示す。
図19(a−1)は文字列処理型の属性「住所」のユーザ定義階層木の一例、図19(a−2)は、図5(a−2)で例示したデータを用いて、ユーザ定義階層木に基づく一般化階層木を構成した例である。文字列処理型の属性のユーザ定義階層木としてユーザは文字列から抽出される分類以外の分類を定義することが出来る。例えば、「神奈川県」を「{神奈川県横浜市、神奈川県川崎市}」と、「神奈川県その他」などに細かく分類できる。ここで、「{神奈川県横浜市、神奈川県川崎市}」という節点は、子となる節点のラベルを列挙したものであり、「神奈川県横浜市」と「神奈川県川崎市」を子に持つことが明らかであるので、「神奈川県横浜市」と「神奈川県川崎市」を子として定義しなくともよいが、「神奈川県その他」は子としてどのような節点を持つか明らかでないため、ユーザは「神奈川県その他」の子を定義する必要がある。
図19(b−1)は順序保存型の属性「年齢」のユーザ定義階層木の一例、図19(b−2)は、図5(b−2)で例示したデータを用いて、ユーザ定義階層木に基づく一般化階層木を構成した例を示す。順序保存型の属性の場合、節点のラベルは値の範囲を示すものとなるため、当該節点に対して子を定義しなくともよい。
図19(c−1)はその他の属性「国籍」のユーザ定義階層木の一例、図19(c−2)は、図5(c−2)で例示したデータを用いて、ユーザ定義階層木に基づく一般化階層木を構成した例を示す。属性種別が「その他」の属性は、「文字列処理型」の属性と同様、各節点のラベルが子の節点を列挙する形のものである場合は子を定義する必要はないが、「欧州」のような抽象的な名称とする場合には、子としてどのような節点をもつかを定義しなければならない。
図19(a−2)(b−2)(c−2)において、点線で囲まれた部分は、再符号化の際になくともよい節点を示す。たとえば、頻度が0の節点、つまりユーザ定義階層木において分類区分を指定したものの節点に区分される属性値が個人情報データに存在しない場合、当該節点は再符号化処理には必要ない。そのため、頻度が0となる節点は一般化階層木から削除してもよい。また、節点の頻度が当該節点の子の頻度とかわらないもの、つまり頻度が0以外の子を1つしか持たない節点についても、再符号化処理には必要ない。そのため、頻度が0以外の子を1つしか持たない節点は、一般化階層木から削除し、当該節点の子と当該節点の親とを親子関係にしてもよい。
次に、図20を参照して、実施例3の計算機100の処理の流れを説明する。
まず、ユーザ定義階層木に基づく一般化階層木自動生成部1721は、個人情報テーブル131および属性種別情報134ならびにユーザ定義階層木テーブル1732を参照し、一般化階層木の自動生成を行い、その結果を一般化階層木テーブル135に格納する(S2001)。次に再符号化部122がデータの再符号化を行い、その結果を匿名情報テーブル132に格納する(S802)。ステップS802は実施例1のものと等価である。実施例1にて示したS801とS802の関係と同様に、S2001とS802も続けて実行する必要はなく、処理を行うタイミングは別々で構わない。
次に図21を参照して、ユーザ定義階層木に基づく一般化階層木自動生成部1721が上記S2001で一般化階層木を自動構成する詳細な動作例を説明する。すなわち、図21の各処理を行うのはユーザ定義階層木に基づく一般化階層木自動生成部1721である。
まず、個人情報テーブル131およびユーザ定義階層木テーブル1732をメモリ102上に読み込む(S2101)。このとき、ユーザ定義階層木で定義された分類に重複がないか確認する。具体的には、ユーザ定義階層木を構成する節点のうち祖先と子孫の関係にない複数の節点において、各節点の子孫が重複しないことをチェックする。重複が存在する場合には、処理を終了する。
S902およびS903は実施例1のものと等価である。
S2102でj番目の属性におけるユーザ定義階層木が存在するかどうかを判定する。ユーザ定義階層木が存在しない場合には、S2103、ユーザ定義階層木が存在する場合はS2104に進む。S2103およびS2104の詳細については後述する。S2103またはS2104の処理を終えた後は、S943の処理に移る。
S943の処理は実施例1のものと等価である。
図22を参照して、S2103の処理を説明する。S2103は、ユーザ定義階層木を用いず、個人情報テーブルの情報のみを用いて一般化階層木を構成する場合の処理である。つまり、S2103の処理はすべて、実施例1で述べた処理と等価の処理となる。
次に、図23を参照して、S2104の処理を説明する。
S904およびS905の処理は前述の通りである。S905で、当該属性の属性種別が「文字列処理型」の場合はS2311、「順序保存型」の場合はS2321、「その他」の場合はS2331へ進む。S2311、S2321、S2331の詳細は後述する。
S2311またはS2321または2331の処理を終えたら、S942に進む。
S942の処理は前述の通りである。
図24(a)を参照して、S2311の処理を説明する。
まず、いくつかの表記法を定義する。yはユーザ定義階層木1732の最も深い階層の階層数である。全ての属性値を包含する「*」を階層0とし、下の階層に行くごとに階層1、階層2、・・・階層yと呼ぶ。
S911は実施例1のものと等価である。
S2401では、パラメタxをyに初期化する。
次に、xが0より小さいかどうかを確認し(S2402)、xが0より小さい場合は処理を終了し、xが0以上の場合にはS2403へ進む。
S2403では、j番目の属性のユーザ定義階層木を用いて、階層xの節点を全て列挙したリストzを用意する。
S2404では、リストzが空かどうかを判定する。リストzが空の場合はS2407へ進み、空でない場合は、S2405へ進む。
S2405では、リストzから節点を一つ選択し、選択した節点をリストzから削除する。
S2411では、S2405で選択した節点の子孫となる節点を列挙する。具体的には、S2405でユーザ定義階層木1732において子を持たない節点を選択した場合は、S911で取得した属性値情報を用いて当該節点の子孫となる属性値を列挙する。例えば、「神奈川県川崎市」という節点を選択した場合、「神奈川県川崎市」という文字列を含む属性値を列挙する。また、S2405でユーザ定義階層木1732において子を持つ節点を選択した場合は、ユーザ定義階層1732において当該節点の子として定義されている節点を列挙する。例えば、「{神奈川県横浜市、神奈川県川崎市}」という節点を選択した場合、ユーザ定義階層木1732で「{神奈川県横浜市、神奈川県川崎市}」の子として定義されている「神奈川県横浜市」と「神奈川県川崎市」を列挙する。
S2412では、S2411で列挙した節点から指定された文字列処理を行い、包含関係を抽出し、その包含関係に基づいてS2405で選択した節点を根とする木を構成する。木の構成方法は、実施例1と同様既に知られている様々な文字列処理手法に依る。構成した木はユーザ定義階層木に基づく一般化階層木の一部となる。構成した木を用いて、ユーザ定義階層木を更新する。
S2406では、S2412で構成した木の頻度情報を更新する。S2406の処理は後述する。S2406の処理を終えたら、前述のS2404の評価に戻る。
S2407では、xにx−1を代入し、前述のS2402の評価に戻る。
以上により、属性種別が「文字列処理型」の属性について、ユーザ定義階層に基づいた一般化階層木が構成される。
図25を参照して、S2406の処理を説明する。S2406の処理の一部は、図10で説明したS941のものと等価である。この部分の動作に対しては、同じ符号を付与して説明を省略する。
まず、S2501で、頻度情報更新対象の部分木の葉となる節点の頻度情報を取得する。ここで、頻度情報更新対象の部分木とは、S2412で構成した木をさし、部分木の葉となる節点とは、S2411で列挙した全ての節点を指す。
S2502では、S2501で取得した頻度情報を対応する葉に割り当てる。
S2503では、頻度情報更新対象の部分木の根、つまりS2414で選択した節点を引数として、図25(b)のルーティンを実行する。
図25(b)のルーティンは、図10(b)のものと完全に等価である。
次に図24(b)を参照して、S2321の処理を説明する。S2321の処理の一部はS2311のものと等価である。この部分の動作に対しては、同じ符号を付与して説明を省略する。
S921、S2401、S2402、S2403、S2404、S2405の処理は前述の通りである。
S2421では、S2405で選択した節点の子孫となる節点の頻度情報を取得する。具体的には、S2405でユーザ定義階層木1732において子を持たない節点を選択した場合は、S921で取得した属性値情報を用いて当該節点の子孫となる属性値の頻度情報を取得する。また、S2405でユーザ定義階層木1732において子を持つ節点を選択した場合は、ユーザ定義階層1732において当該節点の子として定義されている節点の頻度情報を取得する。例えば、ユーザ定義階層木1732において「20歳から24歳」という節点を選択した場合、属性値が「20歳」、「21歳」、「22歳」、「23歳」、「24歳」の頻度情報を取得する。
S2422では、S2421で取得した頻度情報を用いて、S2405で選択した節点を根とするHu−Tucker符号木を構成する。構成した木を用いて、ユーザ定義階層木を更新する。
S2406、S2407の処理は前述の通りである。
以上により、属性種別が「順序保存型」の属性について、ユーザ定義階層に基づいた一般化階層木が構成される。
次に図24(c)を参照して、S2331の処理を説明する。S2331の処理の一部はS2311のものと等価である。この部分の動作に対しては、同じ符号を付与して説明を省略する。
S931、S2401、S2402、S2403、S2404、S2405の処理は前述の通りである。
S2431では、S2405で選択した節点の子孫となる節点属性値の頻度情報を取得する。具体的には、S2405でユーザ定義階層木1732において子を持たない節点を選択した場合は、S931で取得した属性値情報を用いて当該節点の子孫となる属性値の頻度情報を取得する。また、S2405でユーザ定義階層木1732において子を持つ節点を選択した場合は、ユーザ定義階層1732において当該節点の子として定義されている節点の頻度情報を取得する。例えば、ユーザ定義階層木1732において「欧州」を選択した場合、「英国」、「仏国」、「独国」の頻度情報を取得する。
S2432では、S2431で取得した頻度情報を用いて、Huffman符号木あるいはShannon−Fano符号木を構成する。実施例1と同様、どちらの符号木を用いるかは、計算機100の設計者があらかじめ決定しておく。構成した木を用いて、ユーザ定義階層木を更新する。
S2406,S2417の処理は前述の通りである。
以上により、属性種別が「その他」の属性について、ユーザ定義階層に基づいた一般化階層木が構成される。
実施例3で構成した計算機100の特長は、ユーザが希望する分類を持つ一部の属性、一部の階層をユーザ定義階層木として定義することで、ユーザが望む分類を考慮した一般化階層木を自動的に生成することである。また、頻度情報を用いて一般化階層木を自動生成することで、損失情報量が少ない形でデータを匿名化することである。
100:計算機、101:CPU、102:メモリ、121:一般化階層木自動生成部、122:再符号化部、123:損失情報量計量部、103:ストレージ、131:個人情報テーブル、132:匿名情報テーブル、133:最小同値件数情報、134:属性種別情報、135:一般化階層木テーブル、151:プログラム、104:入力装置、105:出力装置、106:通信装置、107:内部通信線、1321:擬似個人情報発生部、1331:プログラム、1332:発生情報テーブル、1721:ユーザ定義階層木に基づく一般化階層木生成部、1731:プログラム、1732:ユーザ定義階層木テーブル。

Claims (19)

  1. 属性毎の属性値からなる個人情報を1件以上格納する個人情報格納手段と、
    属性を1つ選択し、該選択した属性に出現する属性値毎に該属性値を持つ該入力個人情報の件数をカウントする頻度取得手段を用いて、該属性の各々に対して該入力個人情報に出現する各属性値の上位概念をその曖昧度によって木構造で表現する一般化階層木を自動構成する一般化階層木自動生成手段と、
    該一般化階層木自動生成手段を用いて該属性の各々に対して生成された一般化階層木を用いて該入力個人情報を再符号化する手段と、を有する
    ことを特徴とする個人情報匿名化装置。
  2. 請求項1に記載の個人情報匿名化装置であって、
    該再符号化手段が、1件の個人情報の1つの属性値を該自動生成された一般化階層木を用いて曖昧化する際に損失する情報量を計量する損失情報量計量手段を備える
    ことを特徴とする個人情報匿名化装置。
  3. 請求項2に記載の個人情報匿名化装置であって、
    該損失情報量計量手段が、該自動生成された一般化階層木の各節点の出現頻度を、葉であれば該葉に示される属性値が出現する個人情報の件数としてカウントし、内部節点であれば外節点の子孫でありかつ葉である節点の頻度の総和としてカウントする節点頻度取得手段を備え、1件の該入力個人情報の各属性値を該属性値に対応する節点aをその祖先である節点bに曖昧化するときの損失情報量を−log(aの頻度/bの頻度)で計量する
    ことを特徴とする個人情報匿名化装置。
  4. 請求項3に記載の個人情報匿名化装置であって、
    該再符号化手段を用いて生成された各匿名情報の属性値それぞれに対し、該節点頻度取得手段を用いて取得した節点頻度を利用して該属性値が該一般化階層木の節点aであるとき該属性値の子孫である1つ以上の葉に対して、該属性値を該葉cの属性値にcの頻度/aの頻度の確率で置き換えたものを出力する手段を備える
    ことを特徴とする個人情報匿名化装置。
  5. 請求項1または2に記載の個人情報匿名化装置であって、
    該一般化階層木の各節点の出現頻度を、葉であれば該葉に示される属性値が出現する該入力個人情報の件数としてカウントし、内部節点であれば外節点の子孫でかつ葉である節点の頻度の総和としてカウントする節点頻度取得手段を用いて、該再符号化手段を用いて生成された各匿名情報の属性値それぞれに対し、該属性値が該一般化階層木の節点aであるとき該属性値の子孫である1つ以上の葉に対して、該属性値を該葉cの属性値にcの頻度/aの頻度の確率で置き換えたものを出力する手段を備える
    ことを特徴とする個人情報匿名化装置。
  6. 請求項1から5のいずれか一に記載の個人情報匿名化装置であって、
    該一般化階層木自動生成手段が、該頻度取得手段によって取得した頻度を用いて、Huffman符号木を生成することで達成する
    ことを特徴とする個人情報匿名化装置。
  7. 請求項1から5のいずれか一に記載の個人情報匿名化装置であって、
    該一般化階層木自動生成手段が、該頻度取得手段によって取得した頻度を用いてShannon−Fano符号木を生成することで達成する
    ことを特徴とする個人情報匿名化装置
  8. 請求項1から5のいずれか一に記載の個人情報匿名化装置であって、
    該一般化階層木自動生成手段が、該頻度取得手段によって取得した頻度と該属性の属性値に予め定義される順序情報を用いて、Hu−Tucker符号木を生成することで達成する
    ことを特徴とする個人情報匿名化装置。
  9. 請求項1から5のいずれか一に記載の個人情報匿名化装置であって、
    該自動構成した一般化階層木を記憶する手段を有する
    ことを特徴とする個人情報匿名化装置。
  10. 属性毎の属性値からなる1件以上の個人情報と、該属性の各々に対して該1件以上の個人情報に出現する各属性値の上位概念をその曖昧度によって木構造で表現する一般化階層木を入力とし、
    1件の個人情報の1つの属性値を該自動生成された一般化階層木を用いて曖昧化する際に損失する情報量を計量する損失情報量計量手段と、
    該損失情報量計量手段と該一般化階層木を用いて、該入力個人情報の各属性値を該属性値の示す節点の祖先である節点に曖昧化することで該入力個人情報を再符号化する手段と、を有する
    ことを特徴とする個人情報匿名化装置。
  11. 属性の各々に対して属性値の上位概念をその曖昧度によって木構造で表現する一般化階層木を記憶する一般化階層木と、
    該一般化階層木を用いて1件以上の個人情報が匿名化された匿名情報と、
    各属性の属性値毎に該属性値が出現する該個人情報の件数と、を入力とし、
    該一般化階層木の各節点の出現頻度を、葉であれば該葉に示される属性値が出現する該元の個人情報の件数としてカウントし、
    内部節点であれば外節点の子孫でかつ葉である節点の頻度の総和としてカウントする節点頻度取得手段を用いて、
    該入力の各匿名情報の該各属性の属性値それぞれに対し、該属性値が該一般化階層木の節点aであるとき該属性値の子孫である1つ以上の葉に対して、該属性値を該葉cの属性値にcの頻度/aの頻度の確率で置き換えたものを出力する
    ことを特徴とする個人情報匿名化装置。
  12. 請求項1から5および請求項9に記載の個人情報匿名化装置であって、
    属性の一般化階層木の節点の一部を定義したユーザ定義階層木を格納するユーザ定義階層木格納手段と、該ユーザ定義階層木と該頻度取得手段によって取得した頻度とを用いて一般化階層木を自動生成するユーザ定義階層木に基づく一般化階層木自動生成手段を備える
    ことを特徴とする個人情報匿名化装置
  13. 請求項12に記載の個人情報匿名化装置であって、
    該ユーザ定義階層木に基づく一般化階層木自動生成手段が、該ユーザ定義階層木と該頻度取得手段によって取得した頻度を用いて、Huffman符号木を生成することで達成する
    ことを特徴とする個人情報匿名化装置。
  14. 請求項12に記載の個人情報匿名化装置であって、
    該ユーザ定義階層木に基づく一般化階層木自動生成手段が、該ユーザ定義階層木と該頻度取得手段によって取得した頻度を用いてShannon−Fano符号木を生成することで達成する
    ことを特徴とする個人情報匿名化装置
  15. 請求項12に記載の個人情報匿名化装置であって、
    該ユーザ定義階層木に基づく一般化階層木自動生成手段が、該ユーザ定義階層木と該頻度取得手段によって取得した頻度と該属性の属性値に予め定義される順序情報を用いて、Hu−Tucker符号木を生成することで達成する
    ことを特徴とする個人情報匿名化装置。
  16. 請求項12に記載の個人情報匿名化装置であって、
    該ユーザ定義階層木に基づく一般化階層木生成手段は、該ユーザ定義階層木を構成する節点のうち祖先と子孫の関係にない2つ以上の節点において、各節点の子孫が重複しないことをチェックする
    ことを特徴とする個人情報匿名化装置。
  17. 請求項12に記載の個人情報匿名化装置であって、
    該ユーザ定義階層木の節点が、該節点の全ての子のラベルを列挙したラベルを持つ
    ことを特徴とする個人情報匿名化装置。
  18. 請求項12に記載の個人情報匿名化装置であって、
    該ユーザ定義階層木が、子となりうる節点が自明でない抽象的な名称のラベルを持つ節点と、該抽象的な名称のラベルを持つ節点を親とする節点から構成される
    ことを特徴とする個人情報匿名化装置。
  19. 請求項12に記載の個人情報匿名化装置であって、
    該ユーザ定義階層木の節点が、該節点の子孫となる属性値の範囲を表すラベルを持ち、該範囲は該節点と祖先または子孫の関係にない節点の範囲と重複しない
    ことを特徴とする個人情報匿名化装置。
JP2012515790A 2010-05-19 2011-04-05 個人情報匿名化装置 Active JP5492296B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012515790A JP5492296B2 (ja) 2010-05-19 2011-04-05 個人情報匿名化装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010114885 2010-05-19
JP2010114885 2010-05-19
PCT/JP2011/058590 WO2011145401A1 (ja) 2010-05-19 2011-04-05 個人情報匿名化装置
JP2012515790A JP5492296B2 (ja) 2010-05-19 2011-04-05 個人情報匿名化装置

Publications (2)

Publication Number Publication Date
JPWO2011145401A1 JPWO2011145401A1 (ja) 2013-07-22
JP5492296B2 true JP5492296B2 (ja) 2014-05-14

Family

ID=44991517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012515790A Active JP5492296B2 (ja) 2010-05-19 2011-04-05 個人情報匿名化装置

Country Status (6)

Country Link
US (1) US20130138698A1 (ja)
EP (1) EP2573699B1 (ja)
JP (1) JP5492296B2 (ja)
CN (1) CN102893553B (ja)
DK (1) DK2573699T3 (ja)
WO (1) WO2011145401A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5782636B2 (ja) * 2012-03-12 2015-09-24 西日本電信電話株式会社 情報匿名化システム、情報損失判定方法、及び情報損失判定プログラム
JP5782637B2 (ja) * 2012-03-23 2015-09-24 西日本電信電話株式会社 属性選択装置、情報匿名化装置、属性選択方法、情報匿名化方法、属性選択プログラム、及び情報匿名化プログラム
JPWO2013183250A1 (ja) * 2012-06-04 2016-01-28 日本電気株式会社 匿名化を行う情報処理装置及び匿名化方法
WO2014006851A1 (ja) * 2012-07-02 2014-01-09 日本電気株式会社 匿名化装置、匿名化システム、匿名化方法、及び、プログラム記録媒体
JPWO2014030302A1 (ja) * 2012-08-20 2016-07-28 日本電気株式会社 匿名化を実行する情報処理装置及び匿名化処理方法
US9171182B2 (en) * 2012-10-31 2015-10-27 Tata Consultancy Services Limited Dynamic data masking
TW201426578A (zh) 2012-12-27 2014-07-01 Ind Tech Res Inst 匿名資料集的產生方法及裝置與風險評估方法及裝置
WO2014136422A1 (ja) * 2013-03-06 2014-09-12 日本電気株式会社 匿名化処理を行う情報処理装置及び匿名化方法
US9047488B2 (en) * 2013-03-15 2015-06-02 International Business Machines Corporation Anonymizing sensitive identifying information based on relational context across a group
US9460310B2 (en) 2013-03-15 2016-10-04 Pathar, Inc. Method and apparatus for substitution scheme for anonymizing personally identifiable information
JP2014229039A (ja) 2013-05-22 2014-12-08 株式会社日立製作所 プライバシ保護型データ提供システム
JP6078437B2 (ja) * 2013-08-28 2017-02-08 株式会社日立ソリューションズ パーソナル情報匿名化システム
JP6169444B2 (ja) * 2013-08-30 2017-07-26 富士通クラウドテクノロジーズ株式会社 匿名化システム
JP6334915B2 (ja) * 2013-12-26 2018-05-30 富士通クラウドテクノロジーズ株式会社 匿名化システム
JP6192601B2 (ja) * 2014-06-24 2017-09-06 株式会社日立ソリューションズ パーソナル情報管理システム及びパーソナル情報匿名化装置
JP6301767B2 (ja) * 2014-07-28 2018-03-28 株式会社日立ソリューションズ パーソナル情報匿名化装置
US8978153B1 (en) * 2014-08-01 2015-03-10 Datalogix, Inc. Apparatus and method for data matching and anonymization
JP6550931B2 (ja) * 2015-06-01 2019-07-31 富士通株式会社 検出方法、検出装置及び検出プログラム
JP6627328B2 (ja) * 2015-08-21 2020-01-08 富士通株式会社 匿名処理装置及び匿名処理方法
WO2017103970A1 (ja) * 2015-12-14 2017-06-22 株式会社日立製作所 データ加工システム及びデータ加工方法
EP3420475B1 (en) * 2016-02-22 2020-11-18 Tata Consultancy Services Limited Systems and methods for computing data privacy-utility tradeoff
WO2018004236A1 (ko) * 2016-06-30 2018-01-04 주식회사 파수닷컴 개인정보의 비식별화 방법 및 장치
US10095883B2 (en) * 2016-07-22 2018-10-09 International Business Machines Corporation Method/system for the online identification and blocking of privacy vulnerabilities in data streams
US10430609B2 (en) * 2016-09-23 2019-10-01 International Business Machines Corporation Low privacy risk and high clarity social media support system
US10762139B1 (en) * 2016-09-29 2020-09-01 EMC IP Holding Company LLC Method and system for managing a document search index
US10628384B2 (en) * 2016-12-09 2020-04-21 Salesforce.Com, Inc. Optimized match keys for fields with prefix structure
EP3696705B1 (en) * 2017-10-11 2022-06-22 Nippon Telegraph And Telephone Corporation k-ANONYMIZATION DEVICE, METHOD, AND PROGRAM
US10528761B2 (en) 2017-10-26 2020-01-07 Sap Se Data anonymization in an in-memory database
US10740488B2 (en) * 2017-11-17 2020-08-11 International Business Machines Corporation Cognitive data anonymization
FR3077894B1 (fr) 2018-02-13 2021-10-29 Digital & Ethics Procede de traitement automatique pour l’anonymisation d’un jeu de donnees numeriques
US10810324B2 (en) * 2018-04-20 2020-10-20 At&T Intellectual Property I, L.P. Methods, systems and algorithms for providing anonymization
US10715394B2 (en) 2018-10-29 2020-07-14 Sap Portals Israel Ltd. Data aggregation based on a heirarchical tree
EP3933634B1 (en) * 2019-02-26 2024-05-01 Nippon Telegraph And Telephone Corporation Anonymity evaluation device, anonymity evaluation method, and program
JP7425040B2 (ja) * 2019-03-05 2024-01-30 日本電信電話株式会社 一般化階層集合生成装置、一般化階層集合生成方法、プログラム
JP7231020B2 (ja) * 2019-05-21 2023-03-01 日本電信電話株式会社 情報処理装置、情報処理方法及びプログラム
US11360990B2 (en) 2019-06-21 2022-06-14 Salesforce.Com, Inc. Method and a system for fuzzy matching of entities in a database system based on machine learning
JP7377664B2 (ja) * 2019-10-01 2023-11-10 株式会社日立製作所 データベース管理システム、および、データベース処理方法
US11875125B2 (en) * 2021-03-18 2024-01-16 Hcl Technologies Limited System and method for designing artificial intelligence (AI) based hierarchical multi-conversation system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002092367A (ja) * 2000-09-11 2002-03-29 Fujitsu Ltd コンピュータネットワークを使用した問い合わせ方法
JP2007172404A (ja) * 2005-12-22 2007-07-05 Internatl Business Mach Corp <Ibm> 文字列処理方法、装置、およびプログラム
JP2008217425A (ja) * 2007-03-05 2008-09-18 Hitachi Ltd 情報出力装置、情報出力方法、及び、情報出力プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024409B2 (en) * 2002-04-16 2006-04-04 International Business Machines Corporation System and method for transforming data to preserve privacy where the data transform module suppresses the subset of the collection of data according to the privacy constraint
US8200775B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US7365658B2 (en) * 2006-02-28 2008-04-29 The Board Of Trustees Of The University Of Arkansas Method and apparatus for lossless run-length data encoding
US20090006399A1 (en) * 2007-06-29 2009-01-01 International Business Machines Corporation Compression method for relational tables based on combined column and row coding
US20090303237A1 (en) * 2008-06-06 2009-12-10 International Business Machines Corporation Algorithms for identity anonymization on graphs
CN101350033B (zh) * 2008-09-05 2011-10-26 北京邮电大学 一种owl信息到关系数据库的转换方法及装置
CA2679800A1 (en) * 2008-09-22 2010-03-22 University Of Ottawa Re-identification risk in de-identified databases containing personal information
US8112422B2 (en) * 2008-10-27 2012-02-07 At&T Intellectual Property I, L.P. Computer systems, methods and computer program products for data anonymization for aggregate query answering
US8209342B2 (en) * 2008-10-31 2012-06-26 At&T Intellectual Property I, Lp Systems and associated computer program products that disguise partitioned data structures using transformations having targeted distributions
CA2690788C (en) * 2009-06-25 2018-04-24 University Of Ottawa System and method for optimizing the de-identification of datasets

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002092367A (ja) * 2000-09-11 2002-03-29 Fujitsu Ltd コンピュータネットワークを使用した問い合わせ方法
JP2007172404A (ja) * 2005-12-22 2007-07-05 Internatl Business Mach Corp <Ibm> 文字列処理方法、装置、およびプログラム
JP2008217425A (ja) * 2007-03-05 2008-09-18 Hitachi Ltd 情報出力装置、情報出力方法、及び、情報出力プログラム

Also Published As

Publication number Publication date
WO2011145401A1 (ja) 2011-11-24
EP2573699A1 (en) 2013-03-27
CN102893553A (zh) 2013-01-23
EP2573699B1 (en) 2017-06-07
EP2573699A4 (en) 2015-06-03
CN102893553B (zh) 2015-11-25
DK2573699T3 (en) 2017-07-31
JPWO2011145401A1 (ja) 2013-07-22
US20130138698A1 (en) 2013-05-30

Similar Documents

Publication Publication Date Title
JP5492296B2 (ja) 個人情報匿名化装置
US9652467B2 (en) Inline tree data structure for high-speed searching and filtering of large datasets
US7519582B2 (en) System and method for performing a high-level multi-dimensional query on a multi-structural database
US8185509B2 (en) Association of semantic objects with linguistic entity categories
US10579678B2 (en) Dynamic hierarchy generation based on graph data
US9697250B1 (en) Systems and methods for high-speed searching and filtering of large datasets
US20110153611A1 (en) Extracting data from a report document
JP2013080375A (ja) 個人情報匿名化装置及び方法
US10726005B2 (en) Virtual split dictionary for search optimization
Gómez et al. Analytical queries on semantic trajectories using graph databases
Staar et al. Corpus processing service: a knowledge graph platform to perform deep data exploration on corpora
Shbita et al. Building spatio-temporal knowledge graphs from vectorized topographic historical maps
Bernard et al. Theseus: A framework for managing knowledge graphs about geographical divisions and their evolution
JP2012079205A (ja) 個人情報匿名化装置及び方法
US8423523B2 (en) Apparatus and method for utilizing context to resolve ambiguous queries
JP7423859B2 (ja) データクラスタリング方法及びシステム、データ記憶方法及びシステム並びに記憶媒体
US20200342139A1 (en) High-dimensional data anonymization for in- memory applications
Wu et al. Efficient in-memory evaluation of reachability graph pattern queries on data graphs
KR101869329B1 (ko) 소셜 데이터베이스의 공간 빈발 단어집합에 대한 데이터 마이닝 방법
Campinas Graph summarisation of web data: data-driven generation of structured representations
Saxena et al. Mintra: Mining anonymized trajectories with annotations
Hoang et al. Hypergraph-based multidimensional data modeling towards on-demand business analysis
De Leo et al. Ontology-Based Generation of Data Platform Assets
Zhao Schema Profiling for Document Databases: System Development and Case Studies
Huang Visualising category recoding and numeric redistributions

Legal Events

Date Code Title Description
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: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140228

R150 Certificate of patent or registration of utility model

Ref document number: 5492296

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150