(57)【要約】  小容量の主記憶装置のみを用いて、大規模データを高速に一般化処理できるデータ一般化装置を提供する。属性値を一般化するデータ一般化装置であって、補助記憶装置上の一般化階層における属性値の並び順に従って、補助記憶装置上の属性値を並び替える並び替え部と、並び替えた属性値の一部を補助記憶装置から主記憶装置上に取得する属性値取得部と、一般化階層の一部であって、主記憶装置上に取得した属性値のうち、処理対象の属性値に対応する一般化階層を補助記憶装置から主記憶装置上に取得する一般化階層取得部と、主記憶装置上に取得した属性値と、主記憶装置上に取得した一般化階層に基づいて、一般化処理を実行する一般化処理部と、一般化処理後の属性値を補助記憶装置に移動して、元の順序に並び替える再並び替え部を含む。
2020184127.tif 000002
【特許請求の範囲】
【請求項１】
属性値を一般化するデータ一般化装置であって、
補助記憶装置上の一般化階層における前記属性値の並び順に従って、前記補助記憶装置上の前記属性値を並び替える並び替え部と、
並び替えた前記属性値の一部を前記補助記憶装置から主記憶装置上に取得する属性値取得部と、
前記一般化階層の一部であって、前記主記憶装置上に取得した前記属性値のうち、処理対象の前記属性値に対応する一般化階層を前記補助記憶装置から前記主記憶装置上に取得する一般化階層取得部と、
前記主記憶装置上に取得した前記属性値と、前記主記憶装置上に取得した前記一般化階層に基づいて、一般化処理を実行する一般化処理部と、
一般化処理後の前記属性値を前記補助記憶装置に移動して、元の順序に並び替える再並び替え部を含む
データ一般化装置。
【請求項２】
請求項１に記載のデータ一般化装置であって、
前記一般化階層取得部は、
前記主記憶装置上の前記一般化階層をＬＲＵアルゴリズムに基づいて更新する
データ一般化装置。
【請求項３】
属性値を一般化するデータ一般化方法であって、
補助記憶装置上の一般化階層における前記属性値の並び順に従って、前記補助記憶装置上の前記属性値を並び替える並び替えステップと、
並び替えた前記属性値の一部を前記補助記憶装置から主記憶装置上に取得する属性値取得ステップと、
前記一般化階層の一部であって、前記主記憶装置上に取得した前記属性値のうち、処理対象の前記属性値に対応する一般化階層を前記補助記憶装置から前記主記憶装置上に取得する一般化階層取得ステップと、
前記主記憶装置上に取得した前記属性値と、前記主記憶装置上に取得した前記一般化階層に基づいて、一般化処理を実行する一般化処理ステップと、
一般化処理後の前記属性値を前記補助記憶装置に移動して、元の順序に並び替える再並び替えステップを含む
データ一般化方法。
【請求項４】
コンピュータを請求項１または２に記載のデータ一般化装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース上の個別データを秘匿する技術に関し、データ一般化装置、データ一般化方法、プログラムに関する。
【背景技術】
【０００２】
データベースの個別データを確定的手法により秘匿する技術が知られている。例えば、データベースの各値を一般化処理することで、データベースの秘匿処理を行うことができる。一般化処理とは、値を汎化することである。例えば図１の例に示すように、性別[male]を一般化すると[person]、年齢「13」を一般化すると[11-20]となる。一般化処理の多くは、一般化階層と呼ばれる値の汎化・特化関係を表す木構造を準備し、その木構造を辿る(階層を上げる)ことで値の書き換えを行う。例えば、同図の年齢の階層の場合、13という数字について１つ階層を上げると、[11-20]、２つ階層を上げると[11-40]となる。このように一般化において上げる階層の数を階層上昇数と呼ぶこととする。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】西川記史、礒田有哉、出射英臣、茂木和彦、吉野雅之、清水晃、早水悠登、合田和生、喜連川優、“非順序型データベースエンジンを用いた大規模データの対話的な非特定化手法の検討と初期評価”、データ工学研究会、p377、電子情報通信学会、2018
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般化を実現するにあたり大きく２つの方法がある。１つは、主記憶装置上に対象となるデータベース及び一般化階層を配置し実現する方法である。もう１つは、補助記憶装置上に対象となるデータベース及び一般化階層を配置し、適宜少量のデータを主記憶装置上に配置して実現する方法である。【０００５】
前者は、高速に実行可能であるものの、大規模データベースの場合は主記憶装置の容量が不足するため、一般化処理を実行することができない。後者は、例えば、主にRDBMS(リレーショナル・データベースマネージメントシステム)等を用いてデータベースを補助記憶装置上に配置し、SQL演算を用いて一般化処理を実現する方法がある（非特許文献１）。しかしながら、一般化処理専用のSQL演算は用意されておらず、SQLで一般化処理を実現する場合は工夫が必要であり専用演算ではないため非効率（低速）となる。【０００６】
そこで本発明では、小容量の主記憶装置のみを用いて、大規模データを高速に一般化処理できるデータ一般化装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のデータ一般化装置は、属性値を一般化するデータ一般化装置であって、並び替え部と、属性値取得部と、一般化階層取得部と、一般化処理部と、再並び替え部を含む。【０００８】
並び替え部は、補助記憶装置上の一般化階層における属性値の並び順に従って、補助記憶装置上の属性値を並び替える。属性値取得部は、並び替えた属性値の一部を補助記憶装置から主記憶装置上に取得する。一般化階層取得部は、一般化階層の一部であって、主記憶装置上に取得した属性値のうち、処理対象の属性値に対応する一般化階層を補助記憶装置から主記憶装置上に取得する。一般化処理部は、主記憶装置上に取得した属性値と、主記憶装置上に取得した一般化階層に基づいて、一般化処理を実行する。再並び替え部は、一般化処理後の属性値を補助記憶装置に移動して、元の順序に並び替える。
【発明の効果】
【０００９】
本発明のデータ一般化装置によれば、小容量の主記憶装置のみを用いて、大規模データを高速に一般化処理できる。
【図面の簡単な説明】
【００１０】
【図１】一般化処理を例示する図。
【図２】先読み処理を例示する図。
【図３】実施例１のデータ一般化装置の構成を示すブロック図。
【図４】実施例１のデータ一般化装置の動作を示すフローチャート。
【図５】主記憶装置上の一般化階層のＬＲＵアルゴリズムに基づく更新例を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１２】
＜処理の概要＞
以下の実施例では、大規模データを小容量の主記憶装置で高速に一般化処理できるデータ一般化装置、データ一般化方法、プログラムを開示する。実施例１のデータ一般化装置、データ一般化方法、プログラムは、補助記憶装置（例えばＨＤＤ）の、ランダムアクセスと比較してシーケンシャルアクセス(連続アクセス)のほうが速いという特徴、補助記憶装置（例えばＨＤＤ）が主記憶装置（例えばメモリ）と比較して遅いという特徴、補助記憶装置（例えばＨＤＤ）が主記憶装置（例えばメモリ）と比べて記憶容量が大きいという特徴を考慮して、アルゴリズムとデータ構造を工夫することで、高速な処理を実現した。
【００１３】
以下の実施例において、一般化処理はデータベース上の属性ごとに処理を行う。以下では、説明の都合上、１属性のデータベースを想定する。なお、複数属性に対して一般化処理を行いたい場合は、１属性ごとの一般化処理をそれぞれの属性に実行すれば良い。
【００１４】
［手順１］
一般化の対象となるデータベースの属性を補助記憶装置上に配置する。また一般化階層も同様に補助記憶装置上に配置する。属性の各値は、値が連続となるように補助記憶装置上に配置する。ここで、「連続…に配置」とは他のデータを挟まないようにデータを連続に配置することを意味する。属性の各値を参照する際は、シーケンシャルアクセスされることを想定し、補助記憶装置から主記憶装置にデータを読み出す際は、先読み処理を行うようにする。
【００１５】
具体的には、図２の先読み処理の例に示すように、年齢＝１８，２３，３４，１３という属性値が補助記憶装置に格納されている場合、それらを順次主記憶装置上に読み出すことを想定する。同図の例では、主記憶装置は２個の要素までを保持できるものとする。まず図２Ａに示すように、０番目のindexの値にアクセスした際、０及び１番目のindexの値を主記憶装置に転送し、主記憶装置の０番目のindexの値を取得する。次に１番目のindexの値にアクセスした場合は、主記憶装置からデータを読み取る。その後２番目のindexの値にアクセスした場合は、主記憶装置に該当データが存在しないため、図２Ｂに示すように、補助記憶装置から２及び３番目のindexの値を主記憶装置に転送し、主記憶装置中の０番目のindexの値(補助記憶装置中の２番目に該当)を読み出す。このように連続アクセスを想定し、補助記憶装置からデータを読み出す際は、先読み処理を実行する。
【００１６】
各値に対する一般化階層(例えば、値が13で図１の一般化階層の場合、13→[11-20]→[11-40]を取得する処理に用いる木構造)の一部を補助記憶装置から読み出す際には、LRU（Least Recently Used)アルゴリズムに基づいて、一般化階層を更新すれば好適である。
【００１７】
［手順２］
対象属性を外部ソートで並び替える。
【００１８】
［手順３］
対象属性の各属性値をシーケンシャルに参照していき、各値ごとに該当する一般化階層の一部を取得し、一般化処理を行う。
【００１９】
［手順４］
一般化処理済みの属性値を元の順序に戻す。
【００２０】
［手順２］において予めソートしておくことにより、同じ値が連続した状態で出現する。同値の場合は、一般化階層は同じ部分を利用すれば良く、LRUアルゴリズムにより最近使われたものが主記憶装置上に配置されているため、補助記憶装置にアクセスする回数を減らすことができ、一般化処理を効率よく実行できる。
【００２１】
なお、以降では属性をベクトルとして表記することとしa^のように文字の後ろに「^」を付与する。なお、これは文書作成ソフトの都合による表現であり、例えばa^と表現する場合、ボールド体にサーカムフレックスを付した
【００２２】
【数１】
2020184127.tif 000003
【００２３】
を意味する。なおベクトルのi番目の要素はaiと表記することとする。加えてベクトルa^の要素数を|a^|と表記することとする。一般化階層を大文字かつ、文字の後ろに「^」を付与して表記する（例えばX^）。なお、これは文書作成ソフトの都合による表現であり、X^と表現する場合、ボールド体にサーカムフレックスを付した
【００２４】
【数２】
2020184127.tif 000004
【００２５】
を意味する。ある属性の値ai、階層上昇数jの一般化階層の値を
【００２６】
【数３】
2020184127.tif 000005
【００２７】
と表記することとする。例えば図１において、年齢（AGE）の一般化階層をX^とし、属性値13を階層上昇数２で一般化処理した場合、
【００２８】
【数４】
2020184127.tif 000006
【００２９】
となる。
【実施例１】
【００３０】
以下、図３を参照して実施例１のデータ一般化装置の構成を説明する。同図に示すように、本実施例のデータ一般化装置１は、主記憶装置１０Ａと、補助記憶装置１０Ｂと、並び替え部１１と、属性値取得部１２と、一般化階層取得部１３と、一般化処理部１４と、再並び替え部１５を含む。以下、図４を参照して、各構成要件の動作を説明する。【００３１】
＜並び替え部１１＞
並び替え部１１は、補助記憶装置１０Ｂ上の一般化階層における属性値の並び順に従って、補助記憶装置１０Ｂ上の属性値を並び替える（Ｓ１１）。「一般化階層における属性値の並び順」とは、例えば一般化階層を表す木構造の末端のリーフの並び順を意味する。図１の例では、木構造の末端のリーフは１３，１８，２３，３４，…の順序で並んでいる。【００３２】
＜属性値取得部１２＞
属性値取得部１２は、並び替えた属性値の一部を補助記憶装置１０Ｂから主記憶装置１０Ａ上に取得する（Ｓ１２）。本実施例では、属性値取得部１２は、並び替えた属性値の一部を、主記憶装置１０Ａ上に予め用意したベクトルc^（後述）に格納するものとする。【００３３】
＜一般化階層取得部１３＞
一般化階層取得部１３は、一般化階層の一部であって、主記憶装置１０Ａ上に取得した属性値のうち、処理対象の属性値に対応する一般化階層を補助記憶装置１０Ｂから主記憶装置１０Ａ上に取得する（Ｓ１３）。一般化階層取得部１３は、一般化階層の全てではなく、処理対象の属性値に対応する一般化階層の一部を補助記憶装置１０Ｂから主記憶装置１０Ａ上に取得することに注意する。【００３４】
本実施例では、一般化階層取得部１３は、一般化階層の一部を、主記憶装置１０Ａ上に予め用意したベクトルd^（後述）に格納するものとする。なお、一般化階層取得部１３は、主記憶装置１０Ａ上の一般化階層をＬＲＵアルゴリズムに基づいて更新すれば好適である。【００３５】
＜一般化処理部１４＞
一般化処理部１４は、主記憶装置１０Ａ上に取得した属性値と、主記憶装置１０Ａ上に取得した一般化階層に基づいて、一般化処理を実行する（Ｓ１４）。【００３６】
＜再並び替え部１５＞
再並び替え部１５は、一般化処理後の属性値を補助記憶装置１０Ｂに移動して、元の順序に並び替える（Ｓ１５）。【００３７】
≪アルゴリズム１：大規模データ一般化アルゴリズム≫
Input:レコード数N、一般化の対象となる属性a^、属性に対応する一般化階層X^、階層上昇数j、主記憶装置１０Ａ上で用いる要素数M
Output:一般化された属性b^
[1]:対象属性a^を値が連続になるように補助記憶装置上に配置する。ここで、「値が連続になるように…配置」とは他のデータを挟まないようにデータを連続に配置することを意味する。一般化階層X^を補助記憶装置１０Ｂ上に配置する。主記憶装置１０Ａ上に要素数Mのベクトルc^、d^を用意する。なお、c^は属性用、d^は一般化階層用の主記憶装置１０Ａ上のベクトルである。
[2]:対象属性a^を外部ソートで並び替える。外部ソートとして、例えばマージソート等がある（図４、Ｓ１１相当）。
[3]:for i = 1 to N do
[4]:i番目の属性の値aiをアルゴリズム２で取得する（図４、Ｓ１２相当）。
[5]:aiに対応する一般化階層の値【００３８】
【数５】
2020184127.tif 000007
【００３９】
を、アルゴリズム３で取得する（図４、Ｓ１３相当）。
[6]:i番目の属性の値【００４０】
【数６】
2020184127.tif 000008
【００４１】
とする（図４、Ｓ１４相当）。
[7]:end for
[8]:一般化された属性b^をa^の元の並びに変える（図４、Ｓ１５相当）。
[9]:return b^【００４２】
≪アルゴリズム２：先読みアルゴリズムによる値取得≫
Input:補助記憶装置１０Ｂ上に配置された属性a^、参照したい要素の位置i、主記憶装置１０Ａ上のベクトルc^
Output:値ai
[1]:if i番目の要素がc^に存在しない場合 then
[2]:i番目からi + |c^| -1番目の要素を補助記憶装置から取得し、c^に格納する。
[3]:end if
[4]:return c^内のai【００４３】
≪アルゴリズム３：LRUアルゴリズムによる値取得≫
Input:補助記憶装置１０Ｂ上に配置された一般化階層X^、参照したい一般化階層の位置を表す属性の値aiおよび階層上昇数j、主記憶装置上のベクトルd^
Output:【００４４】
【数７】
2020184127.tif 000009
【００４５】
[1]:if aiがd^に存在しない場合then
[2]: if d^が一杯の場合 then
[3]:d^の中から最も利用されていない要素と【００４６】
【数８】
2020184127.tif 000010
【００４７】
を入れ替える。
[4]:else
[5]:d^に、aiとそれに対応する一般化階層の値【００４８】
【数９】
2020184127.tif 000011
【００４９】
をまとめて【００５０】
【数１０】
2020184127.tif 000012
【００５１】
として加える。
[6]:end if
[7]:end if
[8]:return d^ 内の【００５２】
【数１１】
2020184127.tif 000013
【００５３】
の【００５４】
【数１２】
2020184127.tif 000014
【００５５】
アルゴリズム３については、例えば図５の例に示すように、主記憶装置１０Ａ上のベクトルcに対して属性値（Ｔ，Ｔ，Ｕ，Ｕ，Ｖ，Ｗ）が格納されており、主記憶装置１０Ａ上のベクトルdに対して、一般化階層の一部である（Ｑ←Ｔ，Ｑ←Ｕ，Ｒ←Ｖ）が格納されている場合、これら一般化階層の一部の参照回数に基づき、最も参照回数が少ないＲ←Ｖが、LRUアルゴリズムによって、新たな一般化階層の一部である（Ｓ←Ｗ）に置き換わる。なお、主記憶装置１０Ａ上のベクトルdに格納される一般化階層は、置換時にはすでに使用済みで、再度利用されることはないため、LRUアルゴリズム以外の任意のアルゴリズムで置き換えても問題ない。【００５６】
＜効果＞
データの一般化においては、補助記憶装置から主記憶装置にデータを移動させ、主記憶装置上で計算をしたのち、主記憶装置から補助記憶装置にデータを再び移動させるのが一般的であるが、補助記憶装置はその性質上、主記憶装置に比べ動作が遅いため、できる限りアクセスしないことが重要である。また補助記憶装置にアクセスする場合、ランダムアクセスではなくシーケンシャルアクセスにして、処理効率を落とさないことが高速化のために重要である。【００５７】
本実施例のデータ一般化装置１によれば、データを予めソートする等の工夫を行うこと、および属性値と一般化階層の補助記憶装置１０Ｂからのデータの取り出し方を一般化処理に適した形で選択したことにより、補助記憶装置１０Ｂへのアクセスの回数を減らし、補助記憶装置１０Ｂへアクセスする際に効率の良いシーケンシャルアクセスにすることができ、小容量の主記憶装置１０Ａのみを用いて、大規模データを高速に一般化処理することができる。【００５８】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい）、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。【００５９】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくこととしてもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。【００６０】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成要件）を実現する。【００６１】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。【００６２】
既述のように、上記実施形態において説明したハードウェアエンティティ（本発明の装置）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。【００６３】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。【００６４】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。【００６５】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。【００６６】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2020184127.tif 000015
【図２】
2020184127.tif 000016
【図３】
2020184127.tif 000017
【図４】
2020184127.tif 000018
【図５】
2020184127.tif 000019
【手続補正書】
【提出日】令和3年8月16日(2021.8.16)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
並び替え部は、補助記憶装置上の一般化階層における属性値の並び順に従って、補助記憶装置上の属性値を並び替える。属性値取得部は、並び替えた属性値の一部を補助記憶装置から主記憶装置上に取得する。一般化階層取得部は、一般化階層の集合のうちの一部の一般化階層であって、主記憶装置上に取得した属性値のうち、処理対象の属性値に対応する一般化階層を補助記憶装置から主記憶装置上に取得する。一般化処理部は、主記憶装置上に取得した属性値と、主記憶装置上に取得した一般化階層に基づいて、一般化処理を実行する。再並び替え部は、一般化処理後の属性値を補助記憶装置に移動して、元の順序に並び替える。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
［手順３］
対象属性の各属性値をシーケンシャルに参照していき、各値ごとに該当する一般化階層の集合のうちの一部の一般化階層を取得し、一般化処理を行う。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
＜一般化階層取得部１３＞
一般化階層取得部１３は、一般化階層の集合のうちの一部の一般化階層であって、主記憶装置１０Ａ上に取得した属性値のうち、処理対象の属性値に対応する一般化階層を補助記憶装置１０Ｂから主記憶装置１０Ａ上に取得する（Ｓ１３）。一般化階層取得部１３は、一般化階層の集合内の全ての一般化階層ではなく、処理対象の属性値に対応する一部の一般化階層を補助記憶装置１０Ｂから主記憶装置１０Ａ上に取得することに注意する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
本実施例では、一般化階層取得部１３は、一般化階層の集合のうちの一部の一般化階層を、主記憶装置１０Ａ上に予め用意したベクトルd^（後述）に格納するものとする。なお、一般化階層取得部１３は、主記憶装置１０Ａ上の一般化階層をＬＲＵアルゴリズムに基づいて更新すれば好適である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
≪アルゴリズム１：大規模データ一般化アルゴリズム≫
Input:レコード数N、一般化の対象となる属性a^、属性に対応する一般化階層X^、階層上昇数j、主記憶装置１０Ａ上で用いる要素数M
Output:一般化された属性b^
[1]:対象属性a^を値が連続になるように補助記憶装置１０Ｂ上に配置する。ここで、「値が連続になるように…配置」とは他のデータを挟まないようにデータを連続に配置することを意味する。一般化階層X^を補助記憶装置１０Ｂ上に配置する。主記憶装置１０Ａ上に要素数Mのベクトルc^、d^を用意する。なお、c^は属性用、d^は一般化階層用の主記憶装置１０Ａ上のベクトルである。
[2]:対象属性a^を外部ソートで並び替える。外部ソートとして、例えばマージソート等がある（図４、Ｓ１１相当）。
[3]:for i = 1 to N do
[4]:i番目の属性の値aiをアルゴリズム２で取得する（図４、Ｓ１２相当）。
[5]:aiに対応する一般化階層の値
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
≪アルゴリズム２：先読みアルゴリズムによる値取得≫
Input:補助記憶装置１０Ｂ上に配置された属性a^、参照したい要素の位置i、主記憶装置１０Ａ上のベクトルc^
Output:値ai
[1]:if i番目の要素がc^に存在しない場合 then
[2]:i番目からi + |c^| -1番目の要素を補助記憶装置１０Ｂから取得し、c^に格納する。
[3]:end if
[4]:return c^内のai
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
≪アルゴリズム３：LRUアルゴリズムによる値取得≫
Input:補助記憶装置１０Ｂ上に配置された一般化階層X^、参照したい一般化階層の位置を表す属性の値aiおよび階層上昇数j、主記憶装置１０A上のベクトルd^
Output:
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
アルゴリズム３については、例えば図５の例に示すように、主記憶装置１０Ａ上のベクトルc^に対して属性値（Ｔ，Ｔ，Ｕ，Ｕ，Ｖ，Ｗ）が格納されており、主記憶装置１０Ａ上のベクトルd^に対して、一般化階層の一部である（ＱＴ，ＱＵ，ＲＶ）が格納されている場合、これら一般化階層の一部の参照回数に基づき、最も参照回数が少ないＲＶが、LRUアルゴリズムによって、新たな一般化階層の一部である（ＳＷ）に置き換わる。なお、主記憶装置１０Ａ上のベクトルd^に格納される一般化階層は、置換時にはすでに使用済みで、再度利用されることはないため、LRUアルゴリズム以外の任意のアルゴリズムで置き換えても問題ない。
【手続補正９】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
属性値を一般化するデータ一般化装置であって、
補助記憶装置上の一般化階層における前記属性値の並び順に従って、前記補助記憶装置上の前記属性値を並び替える並び替え部と、
並び替えた前記属性値の一部を前記補助記憶装置から主記憶装置上に取得する属性値取得部と、
前記一般化階層の集合のうちの一部の一般化階層であって、前記主記憶装置上に取得した前記属性値のうち、処理対象の前記属性値に対応する一般化階層を前記補助記憶装置から前記主記憶装置上に取得する一般化階層取得部と、
前記主記憶装置上に取得した前記属性値と、前記主記憶装置上に取得した前記一般化階層に基づいて、一般化処理を実行する一般化処理部と、
一般化処理後の前記属性値を前記補助記憶装置に移動して、元の順序に並び替える再並び替え部を含む
データ一般化装置。
【請求項２】
請求項１に記載のデータ一般化装置であって、
前記一般化階層取得部は、
前記主記憶装置上の前記一般化階層をＬＲＵアルゴリズムに基づいて更新する
データ一般化装置。
【請求項３】
属性値を一般化するデータ一般化方法であって、
補助記憶装置上の一般化階層における前記属性値の並び順に従って、前記補助記憶装置上の前記属性値を並び替える並び替えステップと、
並び替えた前記属性値の一部を前記補助記憶装置から主記憶装置上に取得する属性値取得ステップと、
前記一般化階層の集合のうちの一部の一般化階層であって、前記主記憶装置上に取得した前記属性値のうち、処理対象の前記属性値に対応する一般化階層を前記補助記憶装置から前記主記憶装置上に取得する一般化階層取得ステップと、
前記主記憶装置上に取得した前記属性値と、前記主記憶装置上に取得した前記一般化階層に基づいて、一般化処理を実行する一般化処理ステップと、
一般化処理後の前記属性値を前記補助記憶装置に移動して、元の順序に並び替える再並び替えステップを含む
データ一般化方法。
【請求項４】
コンピュータを請求項１または２に記載のデータ一般化装置として機能させるプログラム。
【国際調査報告】
2020184127.tif 000020
2020184127.tif 000021
2020184127.tif 000022
2020184127.tif 000023