"個人情報を匿名化するための個人情報匿名化装置は、属性ごとの属性値から成る個人情報タプルを各個人について含んだ個人管理情報と、各属性の属性値をどのように曖昧化するかを規定する一般化階層と、前記一般化階層の節点集合として規定される各属性の曖昧化方針における複数の属性に関する直積集合の各要素についてのその時点までに頻度取得を終えた個人情報の頻度情報と、頻度取得を終えた個人情報について開示可能な前記直積集合とを記憶する記憶手段と、前記直積集合間に定義される半順序において最下位に位置づけられる1つ以上の直積集合について前記記憶手段に格納された個人情報の前記直積集合の各要素に相当する頻度をカウントし、前記直積集合に含まれるすべての要素の頻度が所定のしきい値よりも大きいときには前記直積集合に係る頻度情報を前記半順序で隣接上位にある直積集合についての頻度情報をカウントするように変更し、前記変更前の直積集合を開示可能として前記記憶手段に記憶し、記憶された前記開示可能な直積集合によって規定される再符号化を行うことで、同一の値のタプルを有する個人の総数が所定のしきい値以上となるように、各個人情報タプルを匿名化する匿名化手段とを有することを特徴とする個人情報匿名化装置。前記匿名化手段が、過去に出力した匿名化データを作成するうえで利用した再符号化方針を規定する直積集合よりも、前記半順序において上位に位置づけられる直積集合によって規定される再符号化方針を用いて再符号化を行うことを特徴とする請求項1記載の個人情報匿名化装置。前記記憶手段が個人情報の頻度情報を記憶する際に、同時にその頻度を構成する個人へのポインタなどの識別情報を記憶する、ことを特徴とする請求項1及び2のいずれかに記載の個人情報匿名化装置。計算機を用いた個人情報匿名化方法は、属性の属性値をどのように曖昧化するかを規定する一般化階層と、一般化階層の節点集合として規定される各属性の曖昧化方針における複数の属性に関する直積集合の各要素についてのその時点までに頻度取得を終えた個人情報の頻度情報と、頻度取得を終えた個人情報について開示可能な前記直積集合とを参照し、属性ごとの属性値から成る個人情報タプルを各個人について含んだ個人管理情報における各個人情報タプルを、前記直積集合間に定義される半順序において最下位に位置づけられる1つ以上の直積集合の各要素について、前記個人管理情報に含まれる頻度をカウントし、前記直積集合に含まれるすべての要素の頻度が所定のしきい値よりも大きいときには前記直積集合に係る頻度情報を前記半順序で隣接上位にある直積集合についての頻度情報をカウントするように変更し、前記変更前の直積集合を開示可能として、前記開示可能な直積集合によって規定される再符号化を行うことで、同一の値のタプルを有する個人の総数が所定のしきい値以上となるように匿名化する、ことを特徴とする個人情報匿名化方法。個人情報を匿名化するための個人情報匿名化装置は、匿名化の対象となる個人情報を含む個人管理情報と、匿名化を規定する一般化階層と、複数の属性に関する頻度情報と、前記属性の直積集合とを記憶する記憶手段と、前記一般化階層に従った前記属性の直積集合の要素に対応した前記頻度情報に基づいて、前記個人管理情報の匿名化を行なう匿名化手段とを有することを特徴とする個人情報匿名化装置。前記匿名化手段は、前記直積集合間に定義される半順序において最下位に位置づけられる1つ以上の直積集合について前記記憶手段に格納された個人情報の前記直積集合の各要素に相当する頻度をカウントし、前記直積集合に含まれるすべての要素の頻度が所定のしきい値よりも大きいときには前記直積集合に係る頻度情報を前記半順序で隣接上位にある直積集合についての頻度情報をカウントするように変更し、前記変更前の直積集合を開示可能として前記記憶手段に記憶する件数カウント手段と、記憶された前記開示可能な直積集合によって規定される再符号化を行うことで、同一の値のタプルを有する個人の総数が所定のしきい値以上となるように、各個人情報タプルを匿名化する再符号化手段とを有することを特徴とする請求項5記載の個人情報匿名化装置。特許文献1、及び非特許文献1の技術は、複数件数ある個人情報をまとめて一度に処理することで匿名化データを得る静的な匿名化を実現する。しかし、近年のデータはクラウドコンピューティングなどの情報技術の発展により、時々刻々と蓄積されるようなものが増加している。このように件数が増加したデータを再度匿名化する場合、従来の技術を用いると、初めから全件匿名化し直すより外はなかった。したがって、本発明の目的は、増加する個人の個人情報を、できるだけ増分だけを処理することでオンラインここでオンラインとは、個人情報の増分を中心に参照することを指すの適切な匿名化を行うことにある。個人情報匿名化手段が、記憶手段と、匿名化手段を有する。記憶手段が、個人管理情報と、個人管理情報を構成する各属性値をどのように曖昧化匿名化するかを規定する一般化階層情報と、一般化階層情報によって規定される属性値の組み合わせが個人管理情報内に含まれる個人について何件含まれるかを表す頻度情報と、複数の匿名化された個人情報に対応する、異なる個人の数が所定のしきい値以上であることを規定した匿名化方針を記憶する。匿名化手段が、記憶された頻度情報を利用することで高速に匿名化方針を更新し、更新された匿名化方針に従って各個人情報を匿名化する。増加する個人情報の増分を中心に処理することで、オンラインの高速な匿名化処理を適切に行うことができる。以下,本発明の幾つかの実施例を、図面を参照して詳細に説明する。なお、以下の説明ではxxxテーブルの表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すためにxxxテーブルをxxx情報と呼ぶこともある。また、以下の説明では、要素を特定するためにID識別子としてが使用されるが、識別情報として名前など以外のものが使用されてもよい。また、以下の説明では、プログラムがプロセッサたとえばCPUによって実行されることで発揮される機能を、処理を意味するものとして説明することがあるが、定められた処理を、適宜に記憶資源たとえばメモリ及び/または通信インタフェース装置たとえば通信ポートを用いながら行うため、処理の主体がプロセッサとされてもよい。プロセッサは、プロセッサが行う処理の一部または全部を行うハードウェア回路を含んでもよい。コンピュータプログラムは、プログラムソースから各計算機にインストールされてもよい。プログラムソースは、たとえば、プログラム配布サーバまたは記憶メディアであってもよい。また、以下のすべての実施例は、主に電子的な形態の個人情報を保護する技術にある。以下のすべての実施例において、個人情報として個人小学生の性別、学年、得意科目からなるデータをサンプルとして利用する。しかし、本発明の適用できる個人情報はこれに限られるものではない。以下のすべての実施例において、個人情報の匿名化とは、情報主体情報提供の個人を一意に識別できないように上記の個人情報性別、学年、得意科目を変換する処理をいう。また、再符号化とは、個人情報に含まれる、個人を構成する各属性性別、学年、得意科目の属性値をより曖昧な概念匿名化された値へと置き換える匿名化を行なうことをいう。以下のすべての実施例において、元の個人情報に含まれる属性値を置き換えた曖昧な概念匿名化された値を準属性値と呼ぶことがある。また、説明の簡単のため、準属性値を含めて属性値と呼ぶことがある。以下では、曖昧化と匿名化とは同じことを意味する。また、一般化階層とは曖昧化対象をその度合いに応じて木構造で表現したものである。<実施例1>図1は、本発明の実施例1に係る個人情報匿名化装置が適用された計算機の構成例を示す。計算機100は、情報処理装置であり、たとえばPCPersonalComputer、サーバあるいはワークステーションである。計算機100は、CPUCentralProcessingUnit101、メモリ102、ストレージ103、入力装置104、出力装置105及び通信装置106を有する。これらはすべて、バスなどの内部通信線107によって互いに接続されている。ストレージ103は、たとえばCD-RCompactDiscRecordableやDVD-RAMDigitalVersatileDiskRandomAccessMemory、シリコンディスクなどの記憶メディア及び当該記憶メディアの駆動装置、HDDHardDiskDriveなどである。ストレージ103は、個人情報テーブル131、匿名化データテーブル132、最小同値件数情報133、一般化階層テーブル群134、頻度情報テーブル群135、匿名化方針テーブル136、及びプログラム151を記憶する。本発明における匿名化の概要個人情報テーブル131は、個人に関する情報本実施例では小学生の性別、学年、得意科目から成るを格納する。時間がたつにつれて件数が増大することを想定している。匿名化データテーブル132は、個人情報テーブル131が有する個人情報を匿名化した結果を格納する。最小同値件数情報133は、複数の匿名化された個人情報に対応する、異なる個人の数のしきい値を格納する。一般化階層テーブル群134は、1つの属性の曖昧化の方法を規定する一般化階層を表す1つの一般化階層構造を、全ての属性について格納する。頻度情報テーブル群135は、オンラインの匿名化を実現するために、属性値あるいは準属性値の組み合わせが、個人情報テーブル131に含まれている個人情報のうち、すでに頻度取得処理を行った個人情報に何件出現したかを表す頻度情報を格納する。匿名化方針テーブル136は、オンラインの匿名化を実現するために、すでに頻度取得処理を行った個人情報について、どの属性値あるいは準属性値であれば開示可能であるかを規定する情報を格納する。プログラム151は後述する機能を実現するためのものである。入力装置104は、たとえばキーボード、マウス、スキャナ、マイクなどである。出力装置105は、ディスプレイ装置、プリンタ、スピーカなどである。入力装置104及び出力装置が一体になっていてもよい例えば、タッチパネル型のディスプレイ装置。通信装置106は、たとえばLANLocalAreaNetworkボードなどであり、通信ネットワーク図示略と接続することができる。CPU101は、メモリ102上にプログラム151をロードし、実行することにより、件数カウント部121と再符号化部122を実現する。件数カウント部121は、個人情報テーブル131、最小同値件数情報133、一般化階層テーブル群134、及び頻度情報テーブル群135を入力とし、オンラインの匿名化を実現するために必要な属性値あるいは準属性値の組み合わせの頻度情報を算出し、これを頻度情報テーブル群136に出力し、さらに新たに開示可能と算出された属性値あるいは準属性値の組み合わせを匿名化方針テーブル136に出力する。なお、頻度情報テーブル群136及び/または匿名化方針テーブル136に出力した情報を、出力装置105に出力してもよい。再符号化部122は、個人情報テーブル131、匿名化方針テーブル136、及び必要に応じて一般化階層テーブル群134を入力とし、個人情報テーブル131に含まれるデータのうち、以前に匿名化を行った部分から増加した部分、または全部を再符号化し、匿名化データテーブル132に出力する。なお、再符号化により得られた結果を、出力装置105を介して出力してもよい。次に上述した各テーブルの詳細を説明する。図2は、個人情報テーブル131の一例を示す。テーブル131における、ある個人のある属性を1つのセルと呼ぶ。例えば、個人4の学年を示す3が1つのセルである。個人情報テーブル131は複数のレコードを有する。各レコードは、どの個人の情報であるかを識別するIDである201、及びその個人を説明する、属性性別202、属性学年203、属性得意科目204、の属性値により構成される。なお、ID201は、本実施例を説明するため、個人を特定する目的で付した番号であり、必ずしも必要とされるものではない。図2の例は、18人の個人に係る個人情報が蓄積された場合を示したものであり、本実施例では、時間を経るにしたがって件数が増大していく場合を想定している。なお、属性性別202はMMale、FFemaleのいずれかの属性値を持つ。属性学年203は1,2,3,4,5,6のいずれかの属性値を持つ。属性得意科目204は国語、算数、理科、社会のいずれかの属性値を持つ。図3は、最小同値件数情報133の一例を示す。以降で、属性値の組み合わせを属性値タプルと呼ぶ。図3の例によれば、最小同値件数301が2件である。最小同値件数301は、すべての属性ここでは、性別、学年、得意科目を説明する任意の属性値タプルに対して、その属性値タプルで説明される個人の総数が0または最小同値件数301以上となる情報匿名化された情報を公開してもその属性値タプルに該当する個人を一意に特定することが困難だとみなされる値である。このような特徴を持つ情報を、最小同値件数301をkという一般の値で表し、k-匿名性を持つと呼ぶ。k-匿名性を持つデータを生成する技術をk-匿名化と呼び、本実施例はk-匿名化に関わるから、最小同値件数301の値を、以下では単にkと説明することがある。なお、最小同値件数301、即ちkの値は2件に限定されず、任意の値でよい。本実施例ではk=2の場合を説明する。すなわち、行う匿名化は2-匿名化であり、匿名化されたデータは2-匿名性を持つ。図4A,図4B、図4Cは一般化階層テーブル群134の概念図の一例を示す。図4A、図4B、図4Cの各図がそれぞれ、性別、学年及び得意科目のそれぞれの属性に対応する一般化階層の例を示す。一般化階層は、このようにk-匿名化を行う対象と指定する属性各々について1つずつ定義されるものである。図4Aは性別に対する一般化階層の例を示す。属性値M、Fがより曖昧な概念として準属性値と再符号化される可能性があることを示す。ここで、すべての属性については完全に情報を失った全く情報を持たない準属性値に対する符号として使用されており、特段に限る必要はない。このような符号を欠損値と呼ぶ。図4Bは学年に対する一般化階層の例を示す。属性値1402、属性値2403はまず準属性値低401低学年を意味するまたは欠損値に再符号化される可能性があり、この順に情報が曖昧になる。なお、一般に一般化階層は木構造として表現される。階層の上位ほど曖昧の度合いが高くなる。木構造は複数の節点と枝から構成される。枝は節点間の親子関係を示す。枝は矢線を用いて表され、矢線の根側の節点が親であり、矢側の節点が子である。たとえば、節点401と節点402の関係において、節点401が親であり、節点402が子である。子を持たない節点を葉と呼び、親を持たない節点を根と呼ぶ。節点402や節点403は葉である。節点401及びのように根でもなく、葉でない節点は内部節点と呼ばれる。すなわち、葉は属性値に相当し、内部節点は準属性値に相当する。親をたどることで行き着くことの可能な節点を祖先と呼び、子をたどることで行き着くことのできる節点を子孫と呼ぶ。すなわち、各属性値は祖先にあたる準属性値に再符号化される可能性がある。木構造の各節点には深さを定義できる。根の深さを0とし、根の子は深さ1、深さ1の節点の子は深さ2、というように根から何個の子をたどれば当該の節点に行き着くかの個数として節点の深さを定義できる。例えば図4Bにおける節点401と節点402の深さはそれぞれ1と2である。図4Cは得意科目に対する一般化階層の例を示し、上記と同様である。図5Aは、一般化階層をストレージ上に格納する方法の一例を示す。ストレージ上にはリレーショナルデータベースなどを用いて情報が保存される。リレーショナルデータベース上のテーブルとして、図4Bに示した一般化階層をストレージ上に保存する一例が図5Aである。保存されるテーブルは、1つのレコードが節点と親で構成される複数のレコードから成る。たとえばレコード501は節点1の親が節点低であることを示し、レコード502は同様に節点2の親が節点低であることを示している。レコード503は節点の親が存在しないことをNULLとして表しており、このことから、節点が根であることがわかる。なお、任意の木構造が図5Aに示した方法でストレージ上に保存方法である。しかし、ストレージ上に保存する方法はこの方法に限られるものではない。図5Bは、一般化階層をメモリ上に管理する方法の一例を示す。データ構造510は、節点401を管理するデータ構造の一例である。データ構造510は自身のポインタ511と、親を指し示すポインタ512と、子のポインタのリスト513と、自身のラベル属性値あるいは準属性値514から成る。例えば、根の場合には親を指し示すポインタ512がNULLとなり、葉の場合には子のポインタのリスト513が空リストとなる。なお、任意の木構造が図5Bに示した方法でメモリ上に管理できる。しかし、メモリに管理する方法はこの方法に限られるものではない。頻度情報テーブルの詳細な説明を行う前に、本明細書に記載の匿名化についていくつかの説明を行う。本実施例では、ある属性の再符号化は必ず全ての属性が同一の深さの準属性値に再符号化されるものとする。たとえば、図2に示される個人情報の例において1の個人が学年=4、5の個人が学年=1であるが、この個人情報を匿名化した結果が1の個人は学年=4、5の個人は学年=低、となることはないものとする。すなわち、例えば学年の例では、匿名化された情報は1、2、3、4、5、6の集合に含まれるいずれかの値を持つか、低中高の値のいずれかを持つか、すべての値を持つか、のいずれかである。これらの集合は上記のとおり深さで定義できるため、これらの集合を簡単のためそれぞれ、学年_2、学年_1、学年_0のように、属性_深さの形で記述するものとする。すなわち、本実施例においては、性別について性別_0=と性別_1=MFが再符号化先の候補集合であり、得意科目については得意科目_0=、得意科目_1=文系理系、得意科目_2=国語、社会、算数、理科が再符号化先の候補集合である。なお、全ての属性値を同じ深さの準属性値にしか再符号化しないという制約これを制約Aとするは、実施例の説明の単純化のために採用するものであるが、本発明の適用の上では制約Aよりも制約を緩めた以下の制約これを制約Bとするさえ持てばなんら不都合は生じない。制約Bは、再符号化先のすべての候補として定義される再符号化先候補集合Sが以下の点を満たすことである。その属性の任意の葉Lに対して、LまたはLの祖先である内部節点がただ1つだけSの中に含まれる。なお、本実施例のように制約Aを課した再符号化の方法を階層限定方法と称し、上記のような制約Bを課した一般的な再符号化の方法を階層非限定方法と称し、以降の説明において階層非限定方法についての特段の説明の追加が必要な場合には、その旨を記すものとする。属性zについて、再符号化先を表す候補集合の全体族をAzで表す。すなわち、階層限定方式の場合にはz=得意科目の場合には、Az=得意科目_0、得意科目_1、得意科目2である。即ち、Az={{}、{文系、理系}、{国語、社会、算数、理科}}であり、候補のそれぞれは同じ深さの属性値で構成される。階層非限定方法の場合には、Az=、文系、理系、文系、算数、理科、国語、社会、理系、国語、社会、算数、理科となり、深さが異なる属性値の組合せも候補集合となる。集合Aが束構造を持つとは、その集合が半順序を持ち、任意の2要素a1、a2がその半順序において上限、下限を持つことをいう。半順序とは、全てのa、bに対してはa≦b又はb≦aが成り立たない順序関係であり、半順序関係を有するa、bとしては例えば、ベクトルや複素数がある。後半の条件については説明を省略する。半順序とはその集合の任意の2要素が比較可能なわけではないことを意味する。Aのある2つの要素a1、a2についてこれらが比較可能である時、a1>a2のように記載し、a1はa2の上位である、a2はa1の下位である、と呼ぶことにする。この半順序>について、Aの2つの要素a1、a2がa1>a2の関係を見たし、a1>a3、a3>a2なるa3がAに存在しないとき、a1とa2は隣接している、と呼ぶことにする。すなわち、a1はa2の隣接上位であり、a2はa1の隣接下位である。Azに束構造を定義する。半順序は、Azの2つの要素a1、a2について、a1のすべての要素がa2のいずれかの要素の子孫である時a1>a2のように自然に定義される。属性z=得意科目の場合を例示する。階層限定方法の場合には、得意科目_2>得意科目_1>得意科目_0であり、この場合、半順序は全順序任意の2つの要素が比較可能であるをなす。階層非限定方法の場合には、隣接関係にある順序のみを示すと、<文系理系、文系、理系<文系、算数、理科、文系、理系<国語、社会、理系、文系、算数、理科<国語、社会、算数、理科、国語、社会、理系<国語、社会、算数、理科である。{文系}<{国語、社会}かつ{理系}<{算数、理科}であるため、文系、算数、理科と国語、社会、理系は比較できない。属性全体の集合をZとする。すなわち、本実施例ではZ=性別、学年、得意科目である。このとき、直積集合は、2つの集合に含まれる要素の全ての積を要素とする集合である。例えば、説明のために、属性全体の集合ZをZ={性別、学年}と簡略化し、z1=性別、z2=学年とすると、集合Az1={性別_0、性別_1}及びAz2={学年_0、学年_1、学年_2}の直積集合Tは、×を直積記号として、T=Az1×Az2と表され、集合Tに含まれる要素は、T={性別_0、学年_0、性別_0、学年_1、性別_0、学年_2、性別_1、学年_0、性別_1、学年_1、性別_1、学年_2}となる。階層限定方法に限って例を挙げると、Tの要素は、性別_0、学年_1、得意科目_1のように異なるすべての属性の再符号化先候補集合のタプルとして表されるものである。Tの各要素は、実際の匿名化方針を示す。例えば、性別_0、学年_1、得意科目_1は、性別についてはすべて欠損値に置き換え、学年については低、中、高のいずれかの準属性値に置き換え、得意科目については文系、理系のいずれかの準属性値に置き換えるという再符号化を行うことを意味する。なお、性別_0のように深さ0の再符号化先候補集合を含む場合はそれを取り除いて性別_0、学年_1、得意科目_1=学年_1、得意科目_1のように同一視を行う。これは、後にTの各要素に対して頻度のカウント処理を行うが、性別_0、学年_1、得意科目_1に相当する再符号化を行った時の各属性値あるいは準属性値のタプルの数え上げと、属性性別を無視し、属性学年得意科目に限って学年_1、得意科目_1に相当する再符号化を行った時の各属性値あるいは準属性値のタプルの数え上げは完全に同義となるためである。これは、深さ0の場合には完全に情報を失ってしまうため、その属性の値が増えたところで全く情報が増えない、即ち属性値の組み合わせのバリエーションが増えないためである。これは、階層非限定方法の場合も同様であり、再符号化先候補集合のの場合に相当する。次に、集合Tに自然に定義される束構造を説明する。Tの2要素t1、t2に対して、すべての属性についてt1の再符号化先集合のほうがt2の再符号化先集合よりも上位にあるとき、t1>t2と定義する。例えば、性別_1、学年_1=性別_1、学年_1、得意科目_0>性別_1、学年_0、得意科目_0=性別_1であるが、性別_1、学年_1=性別_1、学年_1、得意科目_0と性別_1、得意科目_1=性別_1、学年_0、得意科目_1は比較できない。即ち、Tの要素が上位になるほど、各属性の開示レベルがより詳細化される。この半順序定義にしたがって、Tのある要素に対して隣接上位、あるいは隣接下位の要素を列挙するのは容易である。たとえば、階層限定方法の場合には、ある1つの属性のみ再符号化先候補集合の深さが1つだけ深く、ほかの属性については同じ深さであるものが隣接上位であり、同様に、ある1つの属性のみ再符号化先候補集合の深さが1つだけ浅く、ほかの属性については同じ深さであるものが隣接下位である。例えば、学年_1、得意科目_1の隣接上位は性別_1、学年_1、得意科目_1、学年_2、得意科目_1、学年_1、得意科目_2の3つであり、隣接下位は得意科目_1、学年_1の2つである。処理に必要な各種テーブル図6Aは、頻度情報テーブル群135の一例を示したものである。図6Aの例は図2に示される個人情報の例のうち、図2に示す個人情報を12件目までを処理した場合の頻度情報テーブル群135の例を示している。具体的には、Tの要素でその要素の示す匿名化方針に従って再符号化を行ってもk-匿名性ここではk=2を満たさないTの要素の中で、最下位に位置する要素束構造は半順序で構成されるために、複数存在しうるについて、カウント処理を行なった結果を示したもので、束の要素1つが頻度情報テーブル群135の1つのテーブルに相当する。ここでは、学年_2に相当するテーブル601、得意科目_2に相当するテーブル602、性別_1、学年_1に相当するテーブル603、学年_1、得意科目_1に相当するテーブル604から構成される。これら頻度情報テーブル群135を構成する1つ1つのテーブルは頻度表と呼ばれる。頻度表がTの要素tに対応するものであるとき、頻度表の各レコードは要素tの示す匿名化方針を実行したときに再符号化される実際の属性値または準属性値のタプルと、再符号化を行った時にそのタプルに再符号化される個人情報の件数頻度を保存する。例えば、t=性別_1、学年_1であるテーブル603の場合、すべての属性値または準属性値のタプルM、低、M、中、M、高、F、低、F、中、F、高とそれに対応する頻度の組がレコードとなる。M,低に再符号化される個人情報は1件しかなく、12件目までの個人情報では性別_1、学年_1、得意科目_0の方針による匿名化は2-匿名性を満たさないことがわかる。頻度表テーブル135に含まれる頻度表は、k-匿名性を満たさないTの要素に関するものである。したがって、頻度表テーブル135にtに関する頻度表が含まれているときには、tの上位にあるすべての匿名化方針はk-匿名性を満足しない頻度を取得しても意味をなさないことに注意する。なお、明らかにその属性値または準属性値のタプルを持つ個人が存在しないとわかっている場合には、初めからカウント対象に含めなくてもよい。この場合、その属性値または準属性値のタプルに対応するレコードは頻度情報テーブル群135に含めない。このように、Tのすべての要素について頻度をカウントするのではなく、効率よくカウントを行うことで、処理の高速化、及びメモリやストレージに保管するデータの少容量化を実現できる。図6Bは頻度情報テーブル群135に含まれる頻度表の別の一例を示したものである。図6Bの例は、頻度表603の別の一例を示している。この例の場合、属性値または準属性値のタプルの頻度とともに、その属性値または準属性値のタプルを保有する個人の対応個人カラムを記憶しておくものである。これにより、頻度表更新時の更新速度を高速化することが望まれる。詳細は図12を参照した頻度表更新の説明の際に言及する。図7は、匿名化方針テーブル136の一例を示す。匿名化方針テーブル136は、開示レベル701と開示フラグ702の組み合わせで構成される。開示レベルはk-匿名性を満たすTの要素を示すものであり、開示フラグは直前に実行した匿名化の際に採用した匿名化方針を保存しておくものである。直前に実行した匿名化はTrueであり、それ以外はFalseである。図7に示す例も、個人情報を12件目まで匿名化処理したのちの匿名化方針テーブル136の状態を示したものであり、12件目までは性別_1、学年_0、得意科目_1の匿名化方針に則り再符号化をなされたことがわかる。図8は、上記の匿名化によるその匿名化結果が保存された匿名化データテーブル132の一例を示す。各処理の説明図9は、実施例1に係る計算機100が実行する処理の全体の流れの一例を示す。図9の処理の流れは、時々刻々と蓄積されるデータを1件1件待ちながらこれをオンラインで匿名化処理を繰り返すスキームである。まず、S901で件数カウント部121が、個人情報テーブル131を監視し、新規データが入力されたらそのIDを取得の上、S902に移行する。個人情報テーブル131監視の最中に終了命令を受けた場合には、処理を終了する。S902では、件数カウント部121が件数カウント処理を行う。詳細は後述するが、件数カウント処理は開始と終了を引数にとり、図9の処理例ではこれらの両方を監視して取得したIDとする。S903では、再符号化部122が再符号化処理を行う。詳細は後述するが、再符号化処理は開始と終了を引数にとり、図9の処理例ではこれらの両方を監視して取得したIDとする。S903を終えたのち、再度S901の新規データの入力待ちを行う。図10Aと図10Bは、実施例1に係る計算機100が実行する処理全体の流れの別の一例を示す。データが所定の量だけ集まった段階でS902及びS903を行なうこともできる。図10A及び図10Bでは、件数カウント処理S902と再符号化処理S903を別のタイミングで行う場合である。例えば、100件データが蓄積された段階で、図10Aの処理の流れを用いて件数カウント部121が件数カウント処理を行い開始は1、終了は100、さらに100件データ蓄積された段階で、再度図10Aの処理の流れを用いて件数カウント部121が件数カウント処理を再度行う開始は101、終了は200。その終了後に、図10Bの流れを用いて再符号化部122が再符号化処理を行い開始は1、終了は200、匿名化データを得るといった運用が可能である。また、図11に示すように、件数カウント部121が個人情報テーブル131を監視しながら、新規データが追加されるたびに件数カウント処理を行っており、任意のタイミングで図10Bに示す流れを用いて、再符号化部122が再符号化処理を行い匿名化データを得るといった運用も可能である。この運用は、比較的高負荷と考えられる件数カウント処理をオンラインで行っておきながら、匿名化データを得たいタイミングで低負荷な再符号化処理を行うという点で、処理負荷の軽減が期待できる。図12は、件数カウント部121が行う件数カウント処理S902の詳細な流れの一例を示す。すなわち、図12の各処理を行う主体は件数カウント部121であり、図12の各処理の説明については主語を省略する場合、動作の主体は件数カウント部121である。S1201では、引数である開始が1であるかどうかを判定する。開始が1である場合Trueには、S1202に移行し、そうでない場合FalseにはS1203に移行する。S1202では、Tの要素のうち全属性が階層0である要素に対して、頻度表を作成し、頻度情報テーブル群135に格納する。すなわち、個人情報テーブル131の例の場合には、匿名化方針性別_0、学年_0、得意科目_0に対応する頻度表を作成し、レコードは、、に対する頻度0を初期値として格納する。頻度表を作成後、S1203に移行する。S1203では、頻度情報テーブル群135に格納されたそれぞれの頻度表が示す匿名化方針に従って、個人情報テーブル131の開始から終了までの個人情報を実際に匿名化した場合の、各属性値タプルの出現頻度を、頻度表に格納されている頻度に加算し、新たにその属性値タプルの出現頻度として頻度表に格納する。S1204では、頻度情報テーブル群135に含まれる頻度表で、すべての属性値タプルが最小同値件数301に格納されたk値本実施例では2以上となっているものが存在するかどうかを判定する。存在する場合Trueには、S1205に移行し、存在しない場合Falseには、処理を終了する。S1205では、S1204で判定した条件に合致する頻度表を1つ取得し、この頻度表の匿名化方針を説明する再符号化先候補集合のタプルをttはTの要素とおき、tに関する頻度表を頻度情報テーブル群135から消去する。S1206では、Tの束構造上でtの隣接上位であるタプルで、そのすべての下位タプルが頻度情報テーブル群に含まれていないものが存在するかどうかを判定する。存在する場合TrueにはS1207に移行し、存在しない場合FalseにはS1208に移行する。S1207では、S1206の判定条件に合致するタプルsを取得し、sで規定される匿名化方針に則り、個人情報テーブル131に含まれる1から終了までの個人情報を匿名化したときの、すべての属性値タプルについて頻度情報を取得し、頻度表を作成した後、頻度情報テーブル群135に格納する。そののち、S1206の判定を再度行う。なお、頻度表の形態として、図6Bを用いて説明したように対応個人のカラムを有し、その属性値または準属性値タプルを保有するような個人との対応付けを記憶している場合には、S1207の処理を高速化することが可能である。これは、tの隣接上位のタプルとはtの有する唯一の属性について、一段階だけ開示レベルを詳細化したものにすぎないため、対応個人についてその唯一の属性がどの属性値あるいは準属性値をもつかをカウントするだけでよいためである。例えば、図6Bの例で、性別_1、学年_1の頻度表を、その隣接上位である性別_1、学年_2についての頻度表に置き換える際には、例えば、性別_1、学年_1でM、高を保有した3名の個人3,7,9について、各々の学年_2が5であるか6であるかさえ確認すれば、M、5の頻度が1でありM、6の頻度が2であることがすぐに計算できる。S1208では、匿名化方針tを開示レベル701として、匿名化方針テーブル136にレコード追加する。なお、開示フラグ702はFalseとする。そののち、再度S1204の判定処理を行う。図13は、再符号化部122が再符号化処理S903を行う詳細の流れの一例を示す。すなわち、図13のすべての処理の主体は再符号化部122であり、以降、図13の各処理の主語を省略する場合は、再符号化部122が動作の主体であるものとする。S1301では、匿名化方針テーブル136から、開示フラグ702がTrueである唯一のタプル開示レベル701を取得し、これをttはTの要素とおく。S1302では、匿名化方針テーブルから何らかの方法で実際に匿名化を行う開示レベル701を1つ取得し、これをssはTの要素とおく。何らかの方法は、ランダム等何でもよいが、1つの選び方を後に詳細に説明する。S1303では、sとtが等価であるか否かを判定する。等価である場合TrueにはS1304に移行する。等価でない場合FalseにはS1307に移行する。S1304では、sの開示フラグ702をTrueにし、tの開示フラグ702をFalseにする。S1305では、匿名化データテーブル132に保存されたデータを一度すべて消去し、個人情報テーブル131に含まれる1から終了までの個人の個人情報を、sで規定される匿名化方針に則り再符号化した後、匿名化データテーブル132に格納する。S1306では、Tの束構造上でtの上位タプルとなるものが匿名化方針テーブル136に含まれている場合にはtの情報tに関わるレコードを匿名化方針テーブル136から消去する。S1306終了ののち、処理を終了する。S1307では、個人情報テーブル131に含まれる開始から終了までの個人の個人情報を、tで規定される匿名化方針に則り再符号化の上、匿名化データテーブル132に追加格納する。S1307終了ののち、処理を終了する。図14は、再符号化部122が匿名化方針テーブルが複数有するレコードの中から実際に匿名化を行う開示レベルを1つ選択する図13の処理S1302の一例を、詳細に示す。すなわち、図14のすべての処理を行う主体は再符号化部122であり、図14に関わる以下の説明で主語を省略した場合には、動作の主体は再符号化部122である。図14での開示レベルの選択方針は、その匿名化方針にしたがって匿名化を行った場合に損失する情報量を評価し、それが最も小さい匿名化データが有用性が高いという観点から、最も損失情報量の小さい匿名化方針を選択するものである。S1401では、匿名化方針テーブル136に含まれる開示レベル701に従って再符号化を行う際に損失する情報量を、テーブルに含まれるすべての開示レベルについて計算をする。ある開示レベルに則り再符号化を行った際に損失する情報量の評価方法はさまざまであるが、例えば一般化階層上で元の個人情報からいくつ深さを上がったかを全セルについて足し合わせた値や、情報エントロピーを用いた評価などがある。S1402では、S1401で算出した損失情報量が最も小さくなるような開示レベル701を返却出力し、処理を終了する。図15Aは再符号化部122が匿名化方針テーブルが複数有するレコードの中から実際に匿名化を行う開示レベルを1つ選択する処理S1302の方法の別の一例を示す。すなわち、図15Aのすべての処理を行う主体は再符号化部122であり、図15Aに関わる以下の説明で主語を省略した場合には、動作の主体は再符号化部122である。S1501では匿名化方針テーブル136に含まれているすべての開示レベルの中でどの開示レベルに沿って匿名化を行うかを、計算機100の実現する匿名化装置の利用者に問い合わせるため、出力装置105に出力する。S1502では、S1501で利用者に問い合わせた結果を入力として待機し、入力された開示レベルの選択結果を返却し、終了する。図15Bは、再符号化部122がS1501及びS1502で、利用者に匿名化方針テーブル136の中でどの開示レベルを選択するかを問い合わせるために、出力装置105に出力する内容の一例を示す。具体的には、図15Bは出力装置105としてディスプレイを利用し利用者に問い合わせを行う画面の一例であり、匿名化方針テーブル136の内容、例えばすなわちどの深さまで開示可能かを示すレコードのすべてを表示の上、利用者がラジオボタン1511で所望の開示レベルを選択の上、決定ボタン1512で決定することによって、再符号化部122に開示レベルを伝達することを可能とする。以上のように、本実施例に係る計算機100の1つの特徴は、最小同値件数情報133で規定される制約を満足しながら開示可能なレベルを、個人情報の増加分に対してだけ効率的に頻度情報を記憶することを達成する件数カウント方法と、件数カウント方法が計算した開示可能なレベルに沿って再符号化を行う再符号化方法を有することにある。<実施例2>以下、本発明の実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略あるいは簡略する。具体的には、例えば、実施例2を説明する場合、上述の実施例1と重複する構成に対しては同じ符号を付与して説明を省略する。また、実施例1と同じ動作に対しては、同じ符号を付与して説明を省略する。実施例2の1つの特徴は、同一、あるいは増加した個人情報に対して別々の匿名化を行うことにより生成された別々の匿名化データの両方を参照することで、個人に関するより詳細な情報が開示されてしまうリスクを回避できることである。上記のリスクについて、図16を参照して説明する。個人情報テーブル1601は、性別1611、文系理系の別1612、アンケートに対する○または×の回答1613から構成される。アンケートとは、例えば、あなたは国語が好きですかといった質問を想定している。この個人情報テーブルの上で属性性別1611、属性文理1612を匿名化の対象とし、属性アンケートの答え1613については個人を特定するような要素ではないため、匿名化の必要なしと判断したものと仮定する。このとき、k=2とし、2-匿名化を行った2つの結果が匿名化情報テーブル1602と匿名化情報テーブル1603である。これら2つの情報を照らし合わせることで、元の個人情報テーブル1601を完全に復元できてしまう。また、仮に匿名化の対象としなかった属性アンケートの答え1613が個人情報テーブル1601及び匿名化情報テーブル1602、1603に含まれていなかったとしても、情報を最も落とさない形で2-匿名化しているという知識があれば、同様に匿名化情報テーブル1602,1603から元の個人情報テーブル1601を完全に復元できてしまう。本発明の実施例2に係る個人情報匿名化装置が適用された計算機の構成例は実施例1のものと完全に同一であり、実施例2に係る計算機100が実行する処理の全体の流れも実施例1のものと同一である。図17は、実施例2を実現する、件数カウント部121が行う件数カウント処理S902の詳細な流れの一例を示す。実施例1を実現する、件数カウント部121が行う件数カウント処理S902との違いは、S1208がS1701に置き換わっただけである。したがって、S1701についてのみの説明を行う。件数カウント部121は、S1701において、匿名化方針テーブルで開示フラグがTrueの開示レベルすでに作成した匿名化データの開示レベルをsとするとき、tがsの上位タプルであるときのみ、tを匿名化方針テーブルに追加する。これにより、開示候補を保存するテーブルである、匿名化方針テーブル136に保存されるレコードが実際に開示されている開示レベルのT上で上位にあるものに制限される。言い換えれば、すべての属性について、現在開示中よりも情報が詳細化する方向一般化階層上で、より深い方向に開示レベルが動くので、上記のようなリスクを回避することを達成できる。なお、実施例2では、匿名化方針テーブル136に書き込む対象を制限することで上記リスクの回避を達成したが、書き込み自体は制限せずに、例えば、匿名化方針テーブル136に開示の可否といったカラムを追加し、このカラムを用いて、開示方針を制御してもよい。このようにすることで、実際にk-匿名性を満足するすべての開示レベルを保存しておくことができる。また、実施例2の場合、実際にそれまでに匿名化データを生成した開示レベルによって、将来の開示レベルが制限されていく。そこで、Tに含まれる全ての要素について頻度情報を取得/保存しておく必要は必ずしもない。この場合、匿名化方針テーブル136で開示フラグがTrueの開示レベルtすなわち、tによって規定される準属性値集合に再符号化を行ったデータをすでに作成済みであるということによって、Tの束構造を小さくすることを行ってもよい。その1つの方法例は、T上でtの上位に位置づけられる要素のみからなる束構造を改めてTとおく方法である。もう1つの方法例は、T上でtの上位に位置づけられる要素と、全属性集合の真部分集合に関する再符号化先候補集合で構成される要素すなわち、この真部分集合に含まれない属性については、再符号化先候補が欠損値であるということのみからなる束構造を改めてTと置く方法である。これにより、より低次元の属性集合でk-匿名性を満たしているかどうかを評価することにより、より上位に位置づけられる開示レベルに対する頻度のカウント処理を抑制できるので、高速化及び頻度情報テーブル群134に保存するデータの容量の削減を期待できる。以上のように、実施例2の1つの特徴は、複数作成される匿名化データを結び付けることによって、より詳細な情報が開示されてしまうリスクを回避できる点である。これにより、実施例1よりもさらに安全な個人情報匿名化装置を提供可能とする。以上、本発明のいくつかの実施例を説明したが、これらは、本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。すなわち、本発明は、ほかの種々の形態でも実施することが可能である。例えば、上記した実施例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、ほかの構成の追加削除置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段などはそれらの一部または全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。また、上記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリや、ハードディスク、SSDSolidStateDriveなどの記憶装置、またはICカード、SDカード、DVDなどの記憶媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際にはほとんどすべての構成が相互に接続されているものと考えてもよい。"