データ圧縮装置,データ圧縮方法,およびデータ圧縮プログラム
【課題】 情報精度を低下させることなく圧縮効率が高いデータ圧縮装置を提供することを目的とする。
【解決手段】 データ圧縮装置1は,項目の情報が一致する場合の一致の重みと情報精度の保持レベルを示す同一視判定テーブル,各項目の情報の分布と保持レベルから決定する元本保持レベルを示す情報精度決定テーブルおよびデータ間での一致の重みの分布と出現数をもとグループ化の条件を示す同一視判定テーブルを記憶する記憶部10と,イベントデータ2のデータ群の各々に対し,設定情報をもとに同一視できるデータ同士をグループ化するグループ分割部11と,各グループで,項目の情報の分布を求め,設定情報をもとに,各項目の元本保持レベルを決定する情報精度決定部13と,元本保持レベルに応じてデータの情報を書き換えるイベント変換部15と,変換されたデータを含むデータ群を圧縮するデータ圧縮部17とを備える。
【解決手段】 データ圧縮装置1は,項目の情報が一致する場合の一致の重みと情報精度の保持レベルを示す同一視判定テーブル,各項目の情報の分布と保持レベルから決定する元本保持レベルを示す情報精度決定テーブルおよびデータ間での一致の重みの分布と出現数をもとグループ化の条件を示す同一視判定テーブルを記憶する記憶部10と,イベントデータ2のデータ群の各々に対し,設定情報をもとに同一視できるデータ同士をグループ化するグループ分割部11と,各グループで,項目の情報の分布を求め,設定情報をもとに,各項目の元本保持レベルを決定する情報精度決定部13と,元本保持レベルに応じてデータの情報を書き換えるイベント変換部15と,変換されたデータを含むデータ群を圧縮するデータ圧縮部17とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は, データ圧縮技術に関し,特にデータ項目を有するデータのデータ圧縮技術に関する。
【背景技術】
【0002】
近年では,センサデータ,ログデータなどのデータが大量に生成されるようになり,大量のデータから,何らかの知見を得ようとする動きがある。そのため,大量のデータを保存したり,転送させたりする必要があり,データの保存,転送のコストの低減をはかるため,データ圧縮処理を利用することができる。
【0003】
データ圧縮処理として,辞書式圧縮処理とエントロピー圧縮処理とを組み合わせた処理が良く知られている。辞書式圧縮処理は,データ中の文字列を辞書に登録し,既出の文字列が再度出現した場合に,その文字列を,辞書の登録箇所を示す符号に置き換える処理である。エントロピー圧縮処理は,符号の出現頻度をもとに,割り当てる符号の長さを決定して,データを圧縮する処理である。
【0004】
上記のようなデータ圧縮処理を用いても,圧縮対象のデータ量によっては,圧縮済みデータのデータ量が大きい場合もあり,圧縮効率の改善が検討されてきた。
【0005】
従来手法として,圧縮対象のデータ(元データ)の情報精度を低下させることによってデータ圧縮率を改善することが行われていた。一例として,元データが,「時間:分:秒(例えば,10:36:24)」で示す時間データを含む場合に,「分:秒」の値を削除して,「時間(10)」のみを示す時間データに変換する前処理を行い,データ圧縮の圧縮率を高めていた。また別の例として,元データに含まれる数値(例えば,0.47924927897)の少数の有効数字桁数を少なくした数値(0.479)に変換する前処理を行っていた。
【0006】
また,解析処理に応じて,必要なフィールドデータのみを抽出,圧縮して送信することにより,転送するデータを小容量にする処理が知られている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2004−199377号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
従来,データ圧縮の効率を高めるためには情報精度を低下させなければならなかった。元データに対して,特定のデータ項目の情報精度を低下させる前処理した場合に,そのデータ項目の情報精度が一律に低下してしまい,データ利用の際にそのデータ項目の利用価値が低下してしまうという問題があった。
【0009】
本発明の目的は,情報精度を低下させずにデータ圧縮率を高くするデータ圧縮技術を提供することである。
【課題を解決するための手段】
【0010】
本発明の一形態として開示されるデータ圧縮装置は,1)複数のデータ間で項目の情報が一致する場合に該項目に付与される一致の重みをもとに計算される一致度とデータ群におけるデータの出現頻度とを用いてデータを1グループにまとめる条件が設定された同一視判定テーブルと,2)項目ごとの情報の分布にもとづいて,該項目に設定された情報精度を示す保持レベルと,変換後の情報精度を示す最低元本保持レベルとの対応関係が定義された情報精度決定テーブルとを記憶する記憶部と,3)処理対象のデータ群の各データについて,前記項目ごとに一致の重みと保持レベルとが設定された設定情報をもとに,前記データ群の他のデータに対する一致の重みにもとづく一致度を求め,前記同一視判定テーブルの条件を満たすデータ同士をグループ化するグループ分割部と,4)前記グループ各々において,前記項目各々に出現する情報の分布を求め,前記情報精度決定テーブルをもとに,前記出現する情報の分布と前記設定情報の保持レベルとに応じて前記項目各々の元本保持レベルを決定する情報精度決定部と,5)前記元本保持レベルに対応してデータの情報を書き換える変換規則に従って,前記グループごとに,グループ内のデータの各項目の情報を前記元本保持レベルにもとづいて変換するイベント変換部と,6)前記変換されたデータを含む前記データ群に対してデータ圧縮を行うデータ圧縮部とを備える。
【0011】
また,本発明の別の形態として開示されるデータ圧縮プログラムは,コンピュータに,前記装置で実現されるような処理を実行させるためのものである。
【0012】
また,本発明の別の形態として開示されるデータ圧縮方法は,コンピュータが,前記装置で実現されるような処理ステップを実行するものである。
【発明の効果】
【0013】
上記したデータ圧縮装置によれば,圧縮対象のデータ群のデータを項目の情報の一致の分布によってグループ分けし,設定された情報精度に応じて情報を書き換えたデータが圧縮されるため,情報精度を維持しつつデータ圧縮の効率を改善することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の一形態として開示するデータ圧縮装置の実施例における構成例を示す図である。
【図2】データ圧縮装置が取得するイベントデータ群の例を示す図である。
【図3】設定情報の例を示す図である。
【図4】同一視判定テーブルの例を示す図である。
【図5】情報精度決定テーブルの例を示す図である。
【図6】変換規則の例を示す図である。
【図7】イベントデータのグループ分割の例を示す図である。
【図8】イベントデータの情報の書き換えの例を示す図である。
【図9】イベントデータの情報の書き換えの例を示す図である。
【図10】情報の書き換え処理がされたイベントデータ群の例を示す図である。
【図11】辞書式圧縮方法によりイベントデータ群を圧縮した場合のデータイメージを示す図である。
【図12】データ圧縮装置の処理フロー例を示す図である。
【図13】データ圧縮装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0015】
図1は,本発明の一形態として開示するデータ圧縮装置の実施例における構成例を示す図である。
【0016】
図1に示すデータ圧縮装置1は,複数の項目に対応する情報を含むデータ群(イベントデータ群)に対して圧縮処理を行って圧縮データ3を出力する。
【0017】
データ圧縮装置1で処理対象となるデータ群は,POSシステム(Point Of Sales system)においてイベントごとに生成されるようなイベントデータ2の集合(イベントデータ群)である。
【0018】
データ圧縮装置1は,記憶部10,グループ分割部11,情報精度決定部13,イベント変換部15,およびデータ圧縮部17を備える。また,データ圧縮装置1は,設定部19を備えてもよい。
【0019】
記憶部10は,同一視判定テーブル101,情報精度決定テーブル103,変換規則105,および設定情報107を記憶する。
【0020】
同一視判定テーブル101は,複数のデータ間で項目の情報が一致する場合に該項目に付与される一致の重みをもとに計算される一致度とデータ群におけるデータの出現頻度とを用いてデータを1グループにまとめる条件が設定されたデータテーブルである。
【0021】
情報精度決定テーブル103は,項目ごとの情報のユニーク数にもとづいて,該項目に設定された情報精度を示す保持レベルと,変換後の情報の情報精度を示す元本保持レベルとの対応関係が定義されたデータテーブルである。
【0022】
変換規則105は,元本保持レベルに対応して情報を変換する変換規則105が設定された情報である。
【0023】
設定情報107は,イベントデータ2の各項目に対する一致の重みと保持レベルとが設定された情報である。
【0024】
グループ分割部11は,設定情報107をもとに,処理対象のイベントデータ群の各イベントデータ2について,他のイベントデータ2に対する一致の重みの分布を求め,同一視判定テーブル101の条件を満たすデータ同士を1グループ(イベント集合)にまとめる。
【0025】
情報精度決定部13は,グループ分割部11によってまとめられたグループ各々において,グループ内のイベントデータ2の項目各々に出現する情報の分布を求め,情報精度決定テーブル103をもとに,情報の分布と設定情報107の保持レベルから,各項目について,項目の情報の変換の際に保持される情報精度を示す元本保持レベルを決定する。
【0026】
情報の分布は,例えば,情報のユニーク数で特定する。
【0027】
イベント変換部15は,変換規則105に従って,グループごとに,グループ内の各イベントデータの項目の情報を,元本保持レベルにもとづいて変換する。イベント変換部15は,情報を変換したイベントデータ2のグループ(イベント集合)を,変換イベント群に追加し,さらに,入力されたイベントデータ群のうちイベント集合にまとめられずに残っていたイベントデータ2を変換イベント群に追加する。
【0028】
データ圧縮部17は,変換イベント群に対してデータ圧縮を行い,圧縮データ3を生成する。
【0029】
設定部19は,イベントデータ2の各項目に対する一致の重み,保持レベルの入力を受け付け,設定情報107を生成して記憶部10に格納する。または,設定部19は,設定情報107を受け付けて記憶部10に格納する。
【0030】
図2は,データ圧縮装置1が取得するイベントデータ群の例を示す図である。
【0031】
図2に示すイベントデータ群の各行が,個々のイベントデータ2を表す。
【0032】
イベントデータ2は,予め設定された複数の項目,本実施例では「年,月,日,時,分,秒,顧客ID,レジ番号,レジ担当,商品ID,色,サイズ」の各項目についての情報を含む。
【0033】
図3は,設定情報107の例を示す図である。
【0034】
設定情報107には,図2に示すイベントデータ2の各項目に対し「一致の重み」と「保持レベル」が設定される。
【0035】
「一致の重み」は,複数のイベントデータ2間で項目の情報が一致する場合に,一致しているイベントデータ2の該当項目に付与される値である。一致の重みは,イベントデータ2同士の一致度を判断する場合に,項目の情報が一致していることをどの程度重視するかを示す値である。図3の設定情報107の例では,一致の重みは,0.1単位で0から1までの値をとり,値が1に近い程,項目の情報の一致を重要視することを表している。
【0036】
イベントデータ2をグループにまとめる場合に,一致の重みが1に近い値である項目の情報が一致していることが重視される。図3の例では,「商品ID」,「サイズ」の項目の情報の一致が重視される。
【0037】
「保持レベル」は,イベントデータ2の項目の情報をどの程度の精度で保持するかの設定を示す値である。図3の設定情報107の例では,「完全,範囲,分布,削除可」の4つのレベルが設定されるものとする。
【0038】
「完全」は,項目に出現する複数の情報を,そのまま維持する情報精度を示す。「完全」は,個々の情報が特定できることが要求されるような項目に対して設定される。
【0039】
「範囲」は,項目に出現する複数の情報を,それら情報の限界値の組で表す情報精度を示す。「範囲」は,情報の範囲が特定できれば有用と認識されるような項目に対して設定される。
【0040】
「分布」は,項目に出現する複数の情報を,各情報のグループ内の全情報に対する割合で表す情報精度を示す。「分布」は,情報の分布が特定できれば有用と認識されるような項目に対して設定される。
【0041】
「削除可」は,項目に出現する複数の情報が分散していて,いずれの情報も一定数に満たないような状態である場合に,それら情報の削除が可能であることを表す情報精度を示す。情報にばらつきがある場合には情報自体が有意なものと認識されないような項目に対して設定される。
【0042】
図4は,同一視判定テーブル101の例を示す図である。
【0043】
同一視判定テーブル101は,各「一致度」に対応付けられた「頻度」が設定されている。
【0044】
「一致度」は,複数のイベントデータ2の間で,一致の重みにもとづく一致度の範囲である。本実施例において,一致度は,情報が一致している項目に付与された一致の重みの和の,全項目の一致の重みの和に対する割合である。図4の例では,一致度はパーセントで示す。一致度=10%−29%は,一致度が10%から29%の範囲を表している。
【0045】
「頻度」は,対応する一致度のイベントデータ2をグループ化する(1つのイベント集合にまとめる)場合に必要なイベントデータ2の出現数である。
【0046】
図4に示す例では,イベントデータ群に,一致度が30%であるイベントデータ2が6つ以上存在している場合に,該当するイベントデータ2を同一視して1グループにまとめる処理が行われる。
【0047】
図5は,情報精度決定テーブル103の例を示す図である。
【0048】
情報精度決定テーブル103では,設定情報107で項目に設定可能な保持レベルごとに,情報の変換で保持される情報精度である元本保持レベルが,グループにまとめられたイベントデータ2の項目に出現する情報の分布を示す情報のユニーク数に応じて設定される。
【0049】
元本保持レベルは,グループの各項目の情報がどの情報精度を保持して変換されるかを示す情報であり,「完全,分布,範囲,削除」が定義される。
【0050】
「完全」は,項目に出現する複数の情報を,そのまま維持する情報精度を示す。「範囲」は,項目に出現する複数の情報を,情報の限界値の組で表す情報精度を示す。「分布」は,項目に出現する複数の情報を,各情報のグループ内の全情報に対する割合で表す情報精度を示す。「削除」は,項目に出現する複数の情報を削除することを示す。
【0051】
図5の情報精度決定テーブル103では,保持レベルが「完全」である場合には,どのユニーク数であっても,元本保持レベルに「完全」が設定される。
【0052】
また,保持レベルが「範囲」である場合には,ユニーク数=1のときに元本保持レベル「完全」が,ユニーク数=2のときに元本保持レベル「分布」が,ユニーク数=3または4以上のときに元本保持レベル「範囲」が設定される。
【0053】
図6は,変換規則105の例を示す図である。
【0054】
変換規則105は,各元本保持レベルに対応して,どのように情報を変換するか,すなわち,グループごとに決定された元本保持レベルにもとづいてイベントデータ2の各項目の情報をどのように変換し表記するかの規則を示す。
【0055】
図6の変換規則105では,例えば,「完全」の場合に,項目に出現する情報は,変換せずに,そのまま表記する。また,「範囲」の場合に,項目に出現する情報の上下限値(例えば,最大値,最小値)を求め,“最大値−最小値”と表記すること,ユニーク数=2のときは“最大値;最小値”と表記する。また,「分布」の場合に,項目に出現する各情報の数を求め,各情報数の全情報数に対する割合(%)を計算し,情報A,B,Cがa%,b%,c%である場合に,“A−B−C=a%−b%−c%”と表記する。また,「削除」の場合に,項目に出現する情報を削除する。
【0056】
次に,データ圧縮装置1の処理を,より具体的に説明する。
【0057】
グループ分割部11は,図2に示すイベントデータ群を取得したとする。
【0058】
グループ分割部11は,イベントデータ群の各イベントデータ2について,他のイベントデータ2各々に対して項目に格納されている情報が一致する場合には,設定情報107を参照して,該当項目に一致の重みを付与し,さらに,項目に付与した一致の重みの和を,全項目に設定されている一致の重みの和で除した割合を計算して一致度を求める。
【0059】
さらに,グループ分割部11は,同一視判定テーブル101を参照して,図2に示すイベントデータ群について,一致度が高くかつ頻度(出現数)が多いイベントデータ2同士をまとめてグループ化し,イベント集合とする。一致度が同じデータが一定数以上で出現している場合には,高い優先度の項目に対する一致の重みを優先してデータをグループ化する。
【0060】
図7は,イベントデータ2のグループ分割の例を示す図である。
【0061】
図7に示す3つのイベントデータ2は,グループ分割部11によって,図2に示すイベントデータ群からイベント集合として抽出されたイベントデータ2を示している。
【0062】
図7のイベントデータ2では,項目のうち,「年(0.1),月(0.5),日(0.1),時(0.5),レジ担当(0.1),商品ID(1),色(0.5),サイズ(1)」の情報が一致して,一致の重みの和=3.8となる。さらに,イベントデータ2の全項目の一致の重み=4.6から,一致度=83%が計算される。
【0063】
さらに,同一視判定テーブル101にもとづいて,該当する一致度(70−100%)に対応する頻度(≧3)の条件が満たされるため,図7に示す3以上のイベントデータ2は,同一視できるものとして,1つのイベント集合にまとめられている。
【0064】
次に,情報精度決定部13は,設定情報107と情報精度決定テーブル103を参照して,グループ分割部11によりまとめられたイベント集合について,イベントデータ2の各項目の情報精度を決定する。すなわち,情報精度決定部13は,項目ごとに,情報のユニーク数をカウントする。そして,情報精度決定部13は,情報精度決定テーブル103を参照して,設定情報107で設定されている保持レベルと求めたユニーク数とをもとに,元本保持レベルを決定する。
【0065】
より具体的には,図7に示すイベント集合の場合,「年」は,保持レベル=完全であり,情報(値)が全て同じ(ユニーク数=1)であるので,元本保持レベル=完全と設定される。「月,日」は,保持レベル=範囲,ユニーク数=1であるので,元本保持レベル=完全と設定される。「時」は,保持レベル=削除可,ユニーク数=1であるので,元本保持レベル=完全と設定される。「分,秒」は,保持レベル=削除可,ユニーク数=3であるので,元本保持レベル=範囲と設定される。
【0066】
「顧客ID」は,保持レベル=完全,ユニーク数=3であるので,元本保持レベル=完全と設定される。「レジ番号」は,保持レベル=範囲,ユニーク数=2であるので,元本保持レベル=範囲と設定される。「レジ担当」は,保持レベル=削除可,ユニーク数=1であるので,元本保持レベル=完全と設定される。
【0067】
「商品ID」は,保持レベル=完全,ユニーク数=1であるので,元本保持レベル=完全と設定される。「色」は,保持レベル=分布,ユニーク数=1であるので,元本保持レベル=完全と設定される。「サイズ」は,保持レベル=分布,ユニーク数=1であるので,元本保持レベル=完全と設定される。
【0068】
次に,イベント変換部15は,変換規則105を参照し,情報精度決定部13によって決定された情報精度(元本保持レベル)にもとづいて,イベント集合にまとめられたイベントデータ2の各項目の情報を書き換える。すなわち,イベント変換部15は,各イベントデータ2の項目の情報を,その項目の元本保持レベルに対応する変換規則105に従って,書き換える。
【0069】
図8,図9は,イベントデータ2の情報の書き換えの例を示す図である。
【0070】
図8に示す3つのイベントデータ2は,イベント変換部15によって,図7に示すイベント集合のイベントデータ2を示している。
【0071】
ここで,「分」の情報(17,24,53)について,元本保持レベル=範囲と決定されている。イベント変換部15によって,イベント集合内の各イベントデータ2の情報から最小値と最大値とが求められ,イベント集合の全イベントデータ2の「分」の情報が,“17−53”と書き換えられている。
【0072】
また,「秒」の情報(01,11,24)について,元本保持レベル=範囲と決定されているので,同様に,最小値と最大値とが求められ,イベント集合の全イベントデータ2の「秒」の情報が,“01−24”と書き換えられている。
【0073】
また,その他の項目については,元本保持レベル=完全と決定されているので,イベント集合の各ベントデータ2の情報は,そのまま維持される。
【0074】
図9(A)に示す7つのイベントデータ2は,イベント変換部15によって,図2に示すイベントデータ群から抽出された別のイベント集合を示している。
【0075】
図9(A)に示すイベント集合についても,図8を用いて説明した処理と同様に,元本保持レベルが決定され,各項目の情報が書き換えられる。
【0076】
図9(A)に示すイベント集合において,情報精度決定部13によって「色」の元本保持レベル=分布と決定されている場合に,イベント変換部15によって,「色」の各情報(白,赤,スカイブルー)の出現割合が計算され,変換規則105に従って表記される。すなわち,図9(B)に示すように,「色」の情報は,“白−赤−スカイブルー=43−29−29”と書き換えられる。
【0077】
また,「サイズ」の情報についても,同様に,分布の表記“M−L−LL=29−43−29”とに書き換えられる。
【0078】
上記のような,情報精度の決定および情報の書き換え処理は,イベントデータ群から成された全イベント集合について行われる。
【0079】
イベント変換部15は,イベントデータ群から抽出し,情報を書き換えたイベント集合(変換済みのイベントデータ2)を,圧縮処理のための変換イベント群に追加する。そして,イベント変換部15は,イベント集合にまとめられずに残っていたイベントデータ2も,変換イベント群に追加する。
【0080】
図10は,情報の書き換え処理がされたイベントデータ群の例を示す図である。
【0081】
図10に示すイベントデータ群は,図2のイベントデータ群に対応している。
【0082】
イベント集合G1,G2,G3では,項目の情報が,対応する元本保持レベルに応じて書き換えられて,同一の情報となっていることが示されている。
【0083】
図10に示すイベントデータ群の最下行のイベントデータ2は,グループ分割部11によってイベント集合にまとめられずに残ったものであることを表す。イベントデータ群のうち,同一視判定テーブル101の条件に該当せずグループ化されなかったイベントデータ2は,項目の情報がそのままの状態(情報精度)となっていることが示されている。
【0084】
データ圧縮の対象となった図10に示すイベントデータ群から,着目する項目についての統計情報が,設定された保持レベル(情報精度)以上で維持され,後の解析処理等で有用な情報として読み取り可能となっていることがわかる。
【0085】
より具体的には,図10に示すイベントデータ群から,販売傾向の知見として,ある商品のSサイズについて,2010年4月6日の10時の時間帯に“ピンク”の色のものしか売れていないことがわかる。また,Mサイズのものは,2010年4月3日〜14日,10時の時間帯に,“ピンク”のものが売れていることがわかる。
【0086】
さらに,他のサイズや色の組み合わせについては,統計情報で保持されて,情報精度が低くなっているが,設定された“分布”の情報精度で維持されている。
【0087】
一方,4月15日の記録のように,従来手法であれば,削除されてしまうか,他の情報に埋もれてしまうような特異な情報を含むイベントデータ2も,そのままの情報精度で維持されている。
【0088】
データ圧縮部17は,イベント変換部15によってまとめられた変換イベント群にデータ圧縮を行い,圧縮データ3を生成する。データ圧縮部17は,既知のデータ圧縮方法を用いて処理を行うが,本例では,辞書式圧縮処理およびエントロピー圧縮処理を用いる。これらの圧縮処理は既知であるため説明を省略する。
【0089】
図11は,辞書式圧縮方法により,図10に示すイベントデータ群を圧縮した場合のデータイメージを示す図である。
【0090】
図11に示すように,イベント集合ごとに各項目の情報が同一の表記に書き換えられているため,より高い圧縮率でデータ圧縮されることがわかる。
【0091】
図12は,データ圧縮装置1の処理フロー例を示す図である。
【0092】
ステップS10: データ圧縮装置1の設定部19は,入力装置(図1に図示しない)を介して,イベントデータ2の各項目に対する一致の重みおよび保持レベルの入力を受け付けて設定情報107を生成し,記憶部10に格納する。または,設定部19は,設定情報107を取得して記憶部10に格納する。
【0093】
ステップS11: グループ分割部11は,イベントデータ2のデータ群を取得し,各イベントデータ2について,設定情報107をもとに,他のイベントデータ2各々との間で,情報が一致する項目があれば,その項目に設定された一致の重みを付与する。さらに,グループ分割部11は,一致の重みの和を計算し,全項目に設定された一致の重みに対する割合を示す一致度(%)を計算する。グループ分割部11は,同一視判定テーブル101をもとに,一致度が高くかつ頻度が多いイベントデータ2の一群をグループ化してイベント集合として取り出す。
【0094】
ステップS12: 情報精度決定部13は,取り出したイベント集合について,イベントデータ2の各項目について情報の分布を求め,設定情報107でその項目に設定されている保持レベルと情報の分布とをもとに,各項目の元本保持レベルを決定する。
【0095】
ステップS13: イベント変換部15は,決定された元本保持レベルと変換規則105とに従って,イベント集合の全イベントデータ2の各項目の情報を,該当する情報の分布を表現した表記に変換し,変換したイベント集合のイベントデータ2を,圧縮処理のための変換イベント群に追加する。
【0096】
ステップS14: グループ分割部11は,取得しているイベントデータ2のイベントデータ群の残りに,一致度が高くかつ頻度が多いイベントデータ2の一群があるかを調べる。一致度が高くかつ頻度が多いイベントデータ2の一群がある場合には(ステップS14のY),ステップS11の処理へ戻す。一致度が高くかつ頻度が多いイベントデータ2の一群がない場合には(ステップS14のN),ステップS15の処理へ進む。
【0097】
ステップS15: データ圧縮部17は,取得しているイベントデータ2のイベントデータ群の残りであるイベントデータ2と,変換イベント群のイベントデータ2とをまとめ,まとめたイベントデータ2のイベントデータ群に対してデータ圧縮処理を行い,圧縮データ3を出力する。
【0098】
データ圧縮装置1は,CPUおよびメモリ等を有するハードウェアと,ソフトウェアプログラムとを備えるコンピュータ・システム,または専用ハードウェアによって実現される。
【0099】
図13は,データ圧縮装置1のハードウェア構成例を示す図である。
【0100】
データ圧縮装置1は,演算装置(CPU)101,一時記憶装置(DRAM,フラッシュメモリ等)102,永続性記憶装置(HDD,フラッシュメモリ等)103を有するコンピュータ100と,入力装置(キーボード,マウス等)120と出力装置(ディスプレイ,プリンタ等)130とによって実施することができる。
【0101】
また,データ圧縮装置1は,コンピュータ100が実行可能なプログラムによって実施することができる。この場合に,データ圧縮装置1が有すべき機能の処理内容を記述したプログラムが提供される。提供されたプログラムをコンピュータ100が実行することによって,上記説明したデータ圧縮装置1の処理機能がコンピュータ100上で実現される。
【0102】
なお,コンピュータ100は,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。
【0103】
以上の本実施例に示されるように,データ圧縮装置1によれば,設定情報107において,項目ごとに情報精度である保持レベルが設定されることにより,利用したい情報に関する項目の情報について最低限の情報精度を維持し,さらに情報の分布に応じてより高い情報精度で情報を維持したままデータ圧縮を行うことができる。
【0104】
すなわち,データ圧縮装置1をイベントデータ2のデータ圧縮処理に適用した場合に,次のような効果が得られる。
【0105】
(1) 圧縮対象のデータが含む項目ごとに圧縮率が高くなるデータを集めてグループ化するため,データによっては情報精度をあまり低下させることなく圧縮効率を向上させることができる。
【0106】
(2) 特殊な情報を含むデータはグループ化されずにデータ圧縮されるため,情報精度が高く維持することができる。
【0107】
なお,本実施例では,データ圧縮装置1を,イベントデータのデータ圧縮に適用した場合について説明したが,データ圧縮装置1の適用範囲はこれに限定されるものではなく,その記述の主旨の範囲において種々の変形が可能であることは当然である。
【符号の説明】
【0108】
1 データ圧縮装置
10 記憶部
11 グループ分割部
13 情報精度決定部
15 イベント変換部
17 データ圧縮部
19 設定部
101 同一視判定テーブル
103 情報精度決定テーブル
105 変換規則
107 設定情報
2 イベントデータ
3 圧縮データ
【技術分野】
【0001】
本発明は, データ圧縮技術に関し,特にデータ項目を有するデータのデータ圧縮技術に関する。
【背景技術】
【0002】
近年では,センサデータ,ログデータなどのデータが大量に生成されるようになり,大量のデータから,何らかの知見を得ようとする動きがある。そのため,大量のデータを保存したり,転送させたりする必要があり,データの保存,転送のコストの低減をはかるため,データ圧縮処理を利用することができる。
【0003】
データ圧縮処理として,辞書式圧縮処理とエントロピー圧縮処理とを組み合わせた処理が良く知られている。辞書式圧縮処理は,データ中の文字列を辞書に登録し,既出の文字列が再度出現した場合に,その文字列を,辞書の登録箇所を示す符号に置き換える処理である。エントロピー圧縮処理は,符号の出現頻度をもとに,割り当てる符号の長さを決定して,データを圧縮する処理である。
【0004】
上記のようなデータ圧縮処理を用いても,圧縮対象のデータ量によっては,圧縮済みデータのデータ量が大きい場合もあり,圧縮効率の改善が検討されてきた。
【0005】
従来手法として,圧縮対象のデータ(元データ)の情報精度を低下させることによってデータ圧縮率を改善することが行われていた。一例として,元データが,「時間:分:秒(例えば,10:36:24)」で示す時間データを含む場合に,「分:秒」の値を削除して,「時間(10)」のみを示す時間データに変換する前処理を行い,データ圧縮の圧縮率を高めていた。また別の例として,元データに含まれる数値(例えば,0.47924927897)の少数の有効数字桁数を少なくした数値(0.479)に変換する前処理を行っていた。
【0006】
また,解析処理に応じて,必要なフィールドデータのみを抽出,圧縮して送信することにより,転送するデータを小容量にする処理が知られている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2004−199377号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
従来,データ圧縮の効率を高めるためには情報精度を低下させなければならなかった。元データに対して,特定のデータ項目の情報精度を低下させる前処理した場合に,そのデータ項目の情報精度が一律に低下してしまい,データ利用の際にそのデータ項目の利用価値が低下してしまうという問題があった。
【0009】
本発明の目的は,情報精度を低下させずにデータ圧縮率を高くするデータ圧縮技術を提供することである。
【課題を解決するための手段】
【0010】
本発明の一形態として開示されるデータ圧縮装置は,1)複数のデータ間で項目の情報が一致する場合に該項目に付与される一致の重みをもとに計算される一致度とデータ群におけるデータの出現頻度とを用いてデータを1グループにまとめる条件が設定された同一視判定テーブルと,2)項目ごとの情報の分布にもとづいて,該項目に設定された情報精度を示す保持レベルと,変換後の情報精度を示す最低元本保持レベルとの対応関係が定義された情報精度決定テーブルとを記憶する記憶部と,3)処理対象のデータ群の各データについて,前記項目ごとに一致の重みと保持レベルとが設定された設定情報をもとに,前記データ群の他のデータに対する一致の重みにもとづく一致度を求め,前記同一視判定テーブルの条件を満たすデータ同士をグループ化するグループ分割部と,4)前記グループ各々において,前記項目各々に出現する情報の分布を求め,前記情報精度決定テーブルをもとに,前記出現する情報の分布と前記設定情報の保持レベルとに応じて前記項目各々の元本保持レベルを決定する情報精度決定部と,5)前記元本保持レベルに対応してデータの情報を書き換える変換規則に従って,前記グループごとに,グループ内のデータの各項目の情報を前記元本保持レベルにもとづいて変換するイベント変換部と,6)前記変換されたデータを含む前記データ群に対してデータ圧縮を行うデータ圧縮部とを備える。
【0011】
また,本発明の別の形態として開示されるデータ圧縮プログラムは,コンピュータに,前記装置で実現されるような処理を実行させるためのものである。
【0012】
また,本発明の別の形態として開示されるデータ圧縮方法は,コンピュータが,前記装置で実現されるような処理ステップを実行するものである。
【発明の効果】
【0013】
上記したデータ圧縮装置によれば,圧縮対象のデータ群のデータを項目の情報の一致の分布によってグループ分けし,設定された情報精度に応じて情報を書き換えたデータが圧縮されるため,情報精度を維持しつつデータ圧縮の効率を改善することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の一形態として開示するデータ圧縮装置の実施例における構成例を示す図である。
【図2】データ圧縮装置が取得するイベントデータ群の例を示す図である。
【図3】設定情報の例を示す図である。
【図4】同一視判定テーブルの例を示す図である。
【図5】情報精度決定テーブルの例を示す図である。
【図6】変換規則の例を示す図である。
【図7】イベントデータのグループ分割の例を示す図である。
【図8】イベントデータの情報の書き換えの例を示す図である。
【図9】イベントデータの情報の書き換えの例を示す図である。
【図10】情報の書き換え処理がされたイベントデータ群の例を示す図である。
【図11】辞書式圧縮方法によりイベントデータ群を圧縮した場合のデータイメージを示す図である。
【図12】データ圧縮装置の処理フロー例を示す図である。
【図13】データ圧縮装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0015】
図1は,本発明の一形態として開示するデータ圧縮装置の実施例における構成例を示す図である。
【0016】
図1に示すデータ圧縮装置1は,複数の項目に対応する情報を含むデータ群(イベントデータ群)に対して圧縮処理を行って圧縮データ3を出力する。
【0017】
データ圧縮装置1で処理対象となるデータ群は,POSシステム(Point Of Sales system)においてイベントごとに生成されるようなイベントデータ2の集合(イベントデータ群)である。
【0018】
データ圧縮装置1は,記憶部10,グループ分割部11,情報精度決定部13,イベント変換部15,およびデータ圧縮部17を備える。また,データ圧縮装置1は,設定部19を備えてもよい。
【0019】
記憶部10は,同一視判定テーブル101,情報精度決定テーブル103,変換規則105,および設定情報107を記憶する。
【0020】
同一視判定テーブル101は,複数のデータ間で項目の情報が一致する場合に該項目に付与される一致の重みをもとに計算される一致度とデータ群におけるデータの出現頻度とを用いてデータを1グループにまとめる条件が設定されたデータテーブルである。
【0021】
情報精度決定テーブル103は,項目ごとの情報のユニーク数にもとづいて,該項目に設定された情報精度を示す保持レベルと,変換後の情報の情報精度を示す元本保持レベルとの対応関係が定義されたデータテーブルである。
【0022】
変換規則105は,元本保持レベルに対応して情報を変換する変換規則105が設定された情報である。
【0023】
設定情報107は,イベントデータ2の各項目に対する一致の重みと保持レベルとが設定された情報である。
【0024】
グループ分割部11は,設定情報107をもとに,処理対象のイベントデータ群の各イベントデータ2について,他のイベントデータ2に対する一致の重みの分布を求め,同一視判定テーブル101の条件を満たすデータ同士を1グループ(イベント集合)にまとめる。
【0025】
情報精度決定部13は,グループ分割部11によってまとめられたグループ各々において,グループ内のイベントデータ2の項目各々に出現する情報の分布を求め,情報精度決定テーブル103をもとに,情報の分布と設定情報107の保持レベルから,各項目について,項目の情報の変換の際に保持される情報精度を示す元本保持レベルを決定する。
【0026】
情報の分布は,例えば,情報のユニーク数で特定する。
【0027】
イベント変換部15は,変換規則105に従って,グループごとに,グループ内の各イベントデータの項目の情報を,元本保持レベルにもとづいて変換する。イベント変換部15は,情報を変換したイベントデータ2のグループ(イベント集合)を,変換イベント群に追加し,さらに,入力されたイベントデータ群のうちイベント集合にまとめられずに残っていたイベントデータ2を変換イベント群に追加する。
【0028】
データ圧縮部17は,変換イベント群に対してデータ圧縮を行い,圧縮データ3を生成する。
【0029】
設定部19は,イベントデータ2の各項目に対する一致の重み,保持レベルの入力を受け付け,設定情報107を生成して記憶部10に格納する。または,設定部19は,設定情報107を受け付けて記憶部10に格納する。
【0030】
図2は,データ圧縮装置1が取得するイベントデータ群の例を示す図である。
【0031】
図2に示すイベントデータ群の各行が,個々のイベントデータ2を表す。
【0032】
イベントデータ2は,予め設定された複数の項目,本実施例では「年,月,日,時,分,秒,顧客ID,レジ番号,レジ担当,商品ID,色,サイズ」の各項目についての情報を含む。
【0033】
図3は,設定情報107の例を示す図である。
【0034】
設定情報107には,図2に示すイベントデータ2の各項目に対し「一致の重み」と「保持レベル」が設定される。
【0035】
「一致の重み」は,複数のイベントデータ2間で項目の情報が一致する場合に,一致しているイベントデータ2の該当項目に付与される値である。一致の重みは,イベントデータ2同士の一致度を判断する場合に,項目の情報が一致していることをどの程度重視するかを示す値である。図3の設定情報107の例では,一致の重みは,0.1単位で0から1までの値をとり,値が1に近い程,項目の情報の一致を重要視することを表している。
【0036】
イベントデータ2をグループにまとめる場合に,一致の重みが1に近い値である項目の情報が一致していることが重視される。図3の例では,「商品ID」,「サイズ」の項目の情報の一致が重視される。
【0037】
「保持レベル」は,イベントデータ2の項目の情報をどの程度の精度で保持するかの設定を示す値である。図3の設定情報107の例では,「完全,範囲,分布,削除可」の4つのレベルが設定されるものとする。
【0038】
「完全」は,項目に出現する複数の情報を,そのまま維持する情報精度を示す。「完全」は,個々の情報が特定できることが要求されるような項目に対して設定される。
【0039】
「範囲」は,項目に出現する複数の情報を,それら情報の限界値の組で表す情報精度を示す。「範囲」は,情報の範囲が特定できれば有用と認識されるような項目に対して設定される。
【0040】
「分布」は,項目に出現する複数の情報を,各情報のグループ内の全情報に対する割合で表す情報精度を示す。「分布」は,情報の分布が特定できれば有用と認識されるような項目に対して設定される。
【0041】
「削除可」は,項目に出現する複数の情報が分散していて,いずれの情報も一定数に満たないような状態である場合に,それら情報の削除が可能であることを表す情報精度を示す。情報にばらつきがある場合には情報自体が有意なものと認識されないような項目に対して設定される。
【0042】
図4は,同一視判定テーブル101の例を示す図である。
【0043】
同一視判定テーブル101は,各「一致度」に対応付けられた「頻度」が設定されている。
【0044】
「一致度」は,複数のイベントデータ2の間で,一致の重みにもとづく一致度の範囲である。本実施例において,一致度は,情報が一致している項目に付与された一致の重みの和の,全項目の一致の重みの和に対する割合である。図4の例では,一致度はパーセントで示す。一致度=10%−29%は,一致度が10%から29%の範囲を表している。
【0045】
「頻度」は,対応する一致度のイベントデータ2をグループ化する(1つのイベント集合にまとめる)場合に必要なイベントデータ2の出現数である。
【0046】
図4に示す例では,イベントデータ群に,一致度が30%であるイベントデータ2が6つ以上存在している場合に,該当するイベントデータ2を同一視して1グループにまとめる処理が行われる。
【0047】
図5は,情報精度決定テーブル103の例を示す図である。
【0048】
情報精度決定テーブル103では,設定情報107で項目に設定可能な保持レベルごとに,情報の変換で保持される情報精度である元本保持レベルが,グループにまとめられたイベントデータ2の項目に出現する情報の分布を示す情報のユニーク数に応じて設定される。
【0049】
元本保持レベルは,グループの各項目の情報がどの情報精度を保持して変換されるかを示す情報であり,「完全,分布,範囲,削除」が定義される。
【0050】
「完全」は,項目に出現する複数の情報を,そのまま維持する情報精度を示す。「範囲」は,項目に出現する複数の情報を,情報の限界値の組で表す情報精度を示す。「分布」は,項目に出現する複数の情報を,各情報のグループ内の全情報に対する割合で表す情報精度を示す。「削除」は,項目に出現する複数の情報を削除することを示す。
【0051】
図5の情報精度決定テーブル103では,保持レベルが「完全」である場合には,どのユニーク数であっても,元本保持レベルに「完全」が設定される。
【0052】
また,保持レベルが「範囲」である場合には,ユニーク数=1のときに元本保持レベル「完全」が,ユニーク数=2のときに元本保持レベル「分布」が,ユニーク数=3または4以上のときに元本保持レベル「範囲」が設定される。
【0053】
図6は,変換規則105の例を示す図である。
【0054】
変換規則105は,各元本保持レベルに対応して,どのように情報を変換するか,すなわち,グループごとに決定された元本保持レベルにもとづいてイベントデータ2の各項目の情報をどのように変換し表記するかの規則を示す。
【0055】
図6の変換規則105では,例えば,「完全」の場合に,項目に出現する情報は,変換せずに,そのまま表記する。また,「範囲」の場合に,項目に出現する情報の上下限値(例えば,最大値,最小値)を求め,“最大値−最小値”と表記すること,ユニーク数=2のときは“最大値;最小値”と表記する。また,「分布」の場合に,項目に出現する各情報の数を求め,各情報数の全情報数に対する割合(%)を計算し,情報A,B,Cがa%,b%,c%である場合に,“A−B−C=a%−b%−c%”と表記する。また,「削除」の場合に,項目に出現する情報を削除する。
【0056】
次に,データ圧縮装置1の処理を,より具体的に説明する。
【0057】
グループ分割部11は,図2に示すイベントデータ群を取得したとする。
【0058】
グループ分割部11は,イベントデータ群の各イベントデータ2について,他のイベントデータ2各々に対して項目に格納されている情報が一致する場合には,設定情報107を参照して,該当項目に一致の重みを付与し,さらに,項目に付与した一致の重みの和を,全項目に設定されている一致の重みの和で除した割合を計算して一致度を求める。
【0059】
さらに,グループ分割部11は,同一視判定テーブル101を参照して,図2に示すイベントデータ群について,一致度が高くかつ頻度(出現数)が多いイベントデータ2同士をまとめてグループ化し,イベント集合とする。一致度が同じデータが一定数以上で出現している場合には,高い優先度の項目に対する一致の重みを優先してデータをグループ化する。
【0060】
図7は,イベントデータ2のグループ分割の例を示す図である。
【0061】
図7に示す3つのイベントデータ2は,グループ分割部11によって,図2に示すイベントデータ群からイベント集合として抽出されたイベントデータ2を示している。
【0062】
図7のイベントデータ2では,項目のうち,「年(0.1),月(0.5),日(0.1),時(0.5),レジ担当(0.1),商品ID(1),色(0.5),サイズ(1)」の情報が一致して,一致の重みの和=3.8となる。さらに,イベントデータ2の全項目の一致の重み=4.6から,一致度=83%が計算される。
【0063】
さらに,同一視判定テーブル101にもとづいて,該当する一致度(70−100%)に対応する頻度(≧3)の条件が満たされるため,図7に示す3以上のイベントデータ2は,同一視できるものとして,1つのイベント集合にまとめられている。
【0064】
次に,情報精度決定部13は,設定情報107と情報精度決定テーブル103を参照して,グループ分割部11によりまとめられたイベント集合について,イベントデータ2の各項目の情報精度を決定する。すなわち,情報精度決定部13は,項目ごとに,情報のユニーク数をカウントする。そして,情報精度決定部13は,情報精度決定テーブル103を参照して,設定情報107で設定されている保持レベルと求めたユニーク数とをもとに,元本保持レベルを決定する。
【0065】
より具体的には,図7に示すイベント集合の場合,「年」は,保持レベル=完全であり,情報(値)が全て同じ(ユニーク数=1)であるので,元本保持レベル=完全と設定される。「月,日」は,保持レベル=範囲,ユニーク数=1であるので,元本保持レベル=完全と設定される。「時」は,保持レベル=削除可,ユニーク数=1であるので,元本保持レベル=完全と設定される。「分,秒」は,保持レベル=削除可,ユニーク数=3であるので,元本保持レベル=範囲と設定される。
【0066】
「顧客ID」は,保持レベル=完全,ユニーク数=3であるので,元本保持レベル=完全と設定される。「レジ番号」は,保持レベル=範囲,ユニーク数=2であるので,元本保持レベル=範囲と設定される。「レジ担当」は,保持レベル=削除可,ユニーク数=1であるので,元本保持レベル=完全と設定される。
【0067】
「商品ID」は,保持レベル=完全,ユニーク数=1であるので,元本保持レベル=完全と設定される。「色」は,保持レベル=分布,ユニーク数=1であるので,元本保持レベル=完全と設定される。「サイズ」は,保持レベル=分布,ユニーク数=1であるので,元本保持レベル=完全と設定される。
【0068】
次に,イベント変換部15は,変換規則105を参照し,情報精度決定部13によって決定された情報精度(元本保持レベル)にもとづいて,イベント集合にまとめられたイベントデータ2の各項目の情報を書き換える。すなわち,イベント変換部15は,各イベントデータ2の項目の情報を,その項目の元本保持レベルに対応する変換規則105に従って,書き換える。
【0069】
図8,図9は,イベントデータ2の情報の書き換えの例を示す図である。
【0070】
図8に示す3つのイベントデータ2は,イベント変換部15によって,図7に示すイベント集合のイベントデータ2を示している。
【0071】
ここで,「分」の情報(17,24,53)について,元本保持レベル=範囲と決定されている。イベント変換部15によって,イベント集合内の各イベントデータ2の情報から最小値と最大値とが求められ,イベント集合の全イベントデータ2の「分」の情報が,“17−53”と書き換えられている。
【0072】
また,「秒」の情報(01,11,24)について,元本保持レベル=範囲と決定されているので,同様に,最小値と最大値とが求められ,イベント集合の全イベントデータ2の「秒」の情報が,“01−24”と書き換えられている。
【0073】
また,その他の項目については,元本保持レベル=完全と決定されているので,イベント集合の各ベントデータ2の情報は,そのまま維持される。
【0074】
図9(A)に示す7つのイベントデータ2は,イベント変換部15によって,図2に示すイベントデータ群から抽出された別のイベント集合を示している。
【0075】
図9(A)に示すイベント集合についても,図8を用いて説明した処理と同様に,元本保持レベルが決定され,各項目の情報が書き換えられる。
【0076】
図9(A)に示すイベント集合において,情報精度決定部13によって「色」の元本保持レベル=分布と決定されている場合に,イベント変換部15によって,「色」の各情報(白,赤,スカイブルー)の出現割合が計算され,変換規則105に従って表記される。すなわち,図9(B)に示すように,「色」の情報は,“白−赤−スカイブルー=43−29−29”と書き換えられる。
【0077】
また,「サイズ」の情報についても,同様に,分布の表記“M−L−LL=29−43−29”とに書き換えられる。
【0078】
上記のような,情報精度の決定および情報の書き換え処理は,イベントデータ群から成された全イベント集合について行われる。
【0079】
イベント変換部15は,イベントデータ群から抽出し,情報を書き換えたイベント集合(変換済みのイベントデータ2)を,圧縮処理のための変換イベント群に追加する。そして,イベント変換部15は,イベント集合にまとめられずに残っていたイベントデータ2も,変換イベント群に追加する。
【0080】
図10は,情報の書き換え処理がされたイベントデータ群の例を示す図である。
【0081】
図10に示すイベントデータ群は,図2のイベントデータ群に対応している。
【0082】
イベント集合G1,G2,G3では,項目の情報が,対応する元本保持レベルに応じて書き換えられて,同一の情報となっていることが示されている。
【0083】
図10に示すイベントデータ群の最下行のイベントデータ2は,グループ分割部11によってイベント集合にまとめられずに残ったものであることを表す。イベントデータ群のうち,同一視判定テーブル101の条件に該当せずグループ化されなかったイベントデータ2は,項目の情報がそのままの状態(情報精度)となっていることが示されている。
【0084】
データ圧縮の対象となった図10に示すイベントデータ群から,着目する項目についての統計情報が,設定された保持レベル(情報精度)以上で維持され,後の解析処理等で有用な情報として読み取り可能となっていることがわかる。
【0085】
より具体的には,図10に示すイベントデータ群から,販売傾向の知見として,ある商品のSサイズについて,2010年4月6日の10時の時間帯に“ピンク”の色のものしか売れていないことがわかる。また,Mサイズのものは,2010年4月3日〜14日,10時の時間帯に,“ピンク”のものが売れていることがわかる。
【0086】
さらに,他のサイズや色の組み合わせについては,統計情報で保持されて,情報精度が低くなっているが,設定された“分布”の情報精度で維持されている。
【0087】
一方,4月15日の記録のように,従来手法であれば,削除されてしまうか,他の情報に埋もれてしまうような特異な情報を含むイベントデータ2も,そのままの情報精度で維持されている。
【0088】
データ圧縮部17は,イベント変換部15によってまとめられた変換イベント群にデータ圧縮を行い,圧縮データ3を生成する。データ圧縮部17は,既知のデータ圧縮方法を用いて処理を行うが,本例では,辞書式圧縮処理およびエントロピー圧縮処理を用いる。これらの圧縮処理は既知であるため説明を省略する。
【0089】
図11は,辞書式圧縮方法により,図10に示すイベントデータ群を圧縮した場合のデータイメージを示す図である。
【0090】
図11に示すように,イベント集合ごとに各項目の情報が同一の表記に書き換えられているため,より高い圧縮率でデータ圧縮されることがわかる。
【0091】
図12は,データ圧縮装置1の処理フロー例を示す図である。
【0092】
ステップS10: データ圧縮装置1の設定部19は,入力装置(図1に図示しない)を介して,イベントデータ2の各項目に対する一致の重みおよび保持レベルの入力を受け付けて設定情報107を生成し,記憶部10に格納する。または,設定部19は,設定情報107を取得して記憶部10に格納する。
【0093】
ステップS11: グループ分割部11は,イベントデータ2のデータ群を取得し,各イベントデータ2について,設定情報107をもとに,他のイベントデータ2各々との間で,情報が一致する項目があれば,その項目に設定された一致の重みを付与する。さらに,グループ分割部11は,一致の重みの和を計算し,全項目に設定された一致の重みに対する割合を示す一致度(%)を計算する。グループ分割部11は,同一視判定テーブル101をもとに,一致度が高くかつ頻度が多いイベントデータ2の一群をグループ化してイベント集合として取り出す。
【0094】
ステップS12: 情報精度決定部13は,取り出したイベント集合について,イベントデータ2の各項目について情報の分布を求め,設定情報107でその項目に設定されている保持レベルと情報の分布とをもとに,各項目の元本保持レベルを決定する。
【0095】
ステップS13: イベント変換部15は,決定された元本保持レベルと変換規則105とに従って,イベント集合の全イベントデータ2の各項目の情報を,該当する情報の分布を表現した表記に変換し,変換したイベント集合のイベントデータ2を,圧縮処理のための変換イベント群に追加する。
【0096】
ステップS14: グループ分割部11は,取得しているイベントデータ2のイベントデータ群の残りに,一致度が高くかつ頻度が多いイベントデータ2の一群があるかを調べる。一致度が高くかつ頻度が多いイベントデータ2の一群がある場合には(ステップS14のY),ステップS11の処理へ戻す。一致度が高くかつ頻度が多いイベントデータ2の一群がない場合には(ステップS14のN),ステップS15の処理へ進む。
【0097】
ステップS15: データ圧縮部17は,取得しているイベントデータ2のイベントデータ群の残りであるイベントデータ2と,変換イベント群のイベントデータ2とをまとめ,まとめたイベントデータ2のイベントデータ群に対してデータ圧縮処理を行い,圧縮データ3を出力する。
【0098】
データ圧縮装置1は,CPUおよびメモリ等を有するハードウェアと,ソフトウェアプログラムとを備えるコンピュータ・システム,または専用ハードウェアによって実現される。
【0099】
図13は,データ圧縮装置1のハードウェア構成例を示す図である。
【0100】
データ圧縮装置1は,演算装置(CPU)101,一時記憶装置(DRAM,フラッシュメモリ等)102,永続性記憶装置(HDD,フラッシュメモリ等)103を有するコンピュータ100と,入力装置(キーボード,マウス等)120と出力装置(ディスプレイ,プリンタ等)130とによって実施することができる。
【0101】
また,データ圧縮装置1は,コンピュータ100が実行可能なプログラムによって実施することができる。この場合に,データ圧縮装置1が有すべき機能の処理内容を記述したプログラムが提供される。提供されたプログラムをコンピュータ100が実行することによって,上記説明したデータ圧縮装置1の処理機能がコンピュータ100上で実現される。
【0102】
なお,コンピュータ100は,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。
【0103】
以上の本実施例に示されるように,データ圧縮装置1によれば,設定情報107において,項目ごとに情報精度である保持レベルが設定されることにより,利用したい情報に関する項目の情報について最低限の情報精度を維持し,さらに情報の分布に応じてより高い情報精度で情報を維持したままデータ圧縮を行うことができる。
【0104】
すなわち,データ圧縮装置1をイベントデータ2のデータ圧縮処理に適用した場合に,次のような効果が得られる。
【0105】
(1) 圧縮対象のデータが含む項目ごとに圧縮率が高くなるデータを集めてグループ化するため,データによっては情報精度をあまり低下させることなく圧縮効率を向上させることができる。
【0106】
(2) 特殊な情報を含むデータはグループ化されずにデータ圧縮されるため,情報精度が高く維持することができる。
【0107】
なお,本実施例では,データ圧縮装置1を,イベントデータのデータ圧縮に適用した場合について説明したが,データ圧縮装置1の適用範囲はこれに限定されるものではなく,その記述の主旨の範囲において種々の変形が可能であることは当然である。
【符号の説明】
【0108】
1 データ圧縮装置
10 記憶部
11 グループ分割部
13 情報精度決定部
15 イベント変換部
17 データ圧縮部
19 設定部
101 同一視判定テーブル
103 情報精度決定テーブル
105 変換規則
107 設定情報
2 イベントデータ
3 圧縮データ
【特許請求の範囲】
【請求項1】
複数項目の情報を有するデータ群を圧縮処理するデータ圧縮装置であって,
複数のデータ間で項目の情報が一致する場合に該項目に付与される一致の重みをもとに計算される一致度とデータ群におけるデータの出現頻度とを用いてデータを1グループにまとめる条件が設定された同一視判定テーブルと,
項目ごとの情報の分布にもとづいて,該項目に設定された情報精度を示す保持レベルと,変換後の情報精度を示す最低元本保持レベルとの対応関係が定義された情報精度決定テーブルとを記憶する記憶部と,
処理対象のデータ群の各データについて,前記項目ごとに一致の重みと保持レベルとが設定された設定情報をもとに,前記データ群の他のデータに対する一致の重みにもとづく一致度を求め,前記同一視判定テーブルの条件を満たすデータ同士をグループ化するグループ分割部と,
前記グループ各々において,前記項目各々に出現する情報の分布を求め,前記情報精度決定テーブルをもとに,前記出現する情報の分布と前記設定情報の保持レベルとに応じて前記項目各々の元本保持レベルを決定する情報精度決定部と,
前記元本保持レベルに対応してデータの情報を書き換える変換規則に従って,前記グループごとに,グループ内のデータの各項目の情報を前記元本保持レベルにもとづいて変換するイベント変換部と,
前記変換されたデータを含む前記データ群に対してデータ圧縮を行うデータ圧縮部とを備える
ことを特徴とするデータ圧縮装置。
【請求項2】
前記元本保持レベルは,完全,範囲,分布または削除のいずれか2つ以上のレベルを含み,前記完全は,各項目に出現する情報をそのまま維持する情報精度を示し,前記範囲は,各項目に出現する情報を,該情報の最大値および最小値に変換する情報精度を示し,前記分布は,各項目に出現する情報を,グループ内における該情報の割合に変換する情報精度を示し,前記削除可は,各項目に出現する情報を削除する情報精度を示すものである
ことを特徴とする請求項1に記載のデータ圧縮装置。
【請求項3】
前記設定情報を取得して前記記憶部に格納,または,前記一致の重みおよび前記保持レベルに関する入力を受け付けて設定情報を生成し前記記憶部に格納する設定部を備
える
ことを特徴とする請求項1または請求項2に記載のデータ圧縮装置。
【請求項4】
コンピュータに,複数項目の情報を有するデータ群の圧縮処理を実行させるためのデータ圧縮プログラムであって,
前記コンピュータが,複数のデータ間で項目の情報が一致する場合に該項目に付与される一致の重みをもとに計算される一致度とデータ群におけるデータの出現頻度とを用いてデータを1グループにまとめる条件が設定された同一視判定テーブルと,
項目ごとの情報の分布にもとづいて,該項目に設定された情報精度を示す保持レベルと,変換後の情報精度を示す最低元本保持レベルとの対応関係が定義された情報精度決定テーブルとを記憶する記憶部を備えて,
前記コンピュータに,
処理対象のデータ群の各データについて,前記項目ごとに一致の重みと保持レベルとが設定された設定情報をもとに,前記データ群の他のデータに対する一致の重みにもとづく一致度を求め,前記同一視判定テーブルの条件を満たすデータ同士をグループ化する処理と,
前記グループ各々において,前記項目各々に出現する情報の分布を求め,前記情報精度決定テーブルをもとに,前記出現する情報の分布と前記設定情報の保持レベルとに応じて前記項目各々の元本保持レベルを決定する処理と,
前記元本保持レベルに対応してデータの情報を書き換える変換規則に従って,前記グループごとに,グループ内のデータの各項目の情報を前記元本保持レベルにもとづいて変換する処理と,
前記変換されたデータを含む前記データ群に対してデータ圧縮を行う処理とを,
実行させるためのデータ圧縮プログラム。
【請求項5】
コンピュータが,複数項目の情報を有するデータ群を圧縮処理するデータ圧縮方法であって,
前記コンピュータが,
複数のデータ間で項目の情報が一致する場合に該項目に付与される一致の重みをもとに計算される一致度とデータ群におけるデータの出現頻度とを用いてデータを1グループにまとめる条件が設定された同一視判定テーブルと,
項目ごとの情報の分布にもとづいて,該項目に設定された情報精度を示す保持レベルと,変換後の情報精度を示す最低元本保持レベルとの対応関係が定義された情報精度決定テーブルとを記憶する記憶部を備えて,
処理対象のデータ群の各データについて,前記項目ごとに一致の重みと保持レベルとが設定された設定情報をもとに,前記データ群の他のデータに対する一致の重みにもとづく一致度を求め,前記同一視判定テーブルの条件を満たすデータ同士をグループ化する処理ステップと,
前記グループ各々において,前記項目各々に出現する情報の分布を求め,前記情報精度決定テーブルをもとに,前記出現する情報の分布と前記設定情報の保持レベルとに応じて前記項目各々の元本保持レベルを決定する処理ステップと,
前記元本保持レベルに対応してデータの情報を書き換える変換規則に従って,前記グループごとに,グループ内のデータの各項目の情報を前記元本保持レベルにもとづいて変換する処理ステップと,
前記変換されたデータを含む前記データ群に対してデータ圧縮を行う処理ステップとを,実行する
ことを特徴とするデータ圧縮方法。
【請求項1】
複数項目の情報を有するデータ群を圧縮処理するデータ圧縮装置であって,
複数のデータ間で項目の情報が一致する場合に該項目に付与される一致の重みをもとに計算される一致度とデータ群におけるデータの出現頻度とを用いてデータを1グループにまとめる条件が設定された同一視判定テーブルと,
項目ごとの情報の分布にもとづいて,該項目に設定された情報精度を示す保持レベルと,変換後の情報精度を示す最低元本保持レベルとの対応関係が定義された情報精度決定テーブルとを記憶する記憶部と,
処理対象のデータ群の各データについて,前記項目ごとに一致の重みと保持レベルとが設定された設定情報をもとに,前記データ群の他のデータに対する一致の重みにもとづく一致度を求め,前記同一視判定テーブルの条件を満たすデータ同士をグループ化するグループ分割部と,
前記グループ各々において,前記項目各々に出現する情報の分布を求め,前記情報精度決定テーブルをもとに,前記出現する情報の分布と前記設定情報の保持レベルとに応じて前記項目各々の元本保持レベルを決定する情報精度決定部と,
前記元本保持レベルに対応してデータの情報を書き換える変換規則に従って,前記グループごとに,グループ内のデータの各項目の情報を前記元本保持レベルにもとづいて変換するイベント変換部と,
前記変換されたデータを含む前記データ群に対してデータ圧縮を行うデータ圧縮部とを備える
ことを特徴とするデータ圧縮装置。
【請求項2】
前記元本保持レベルは,完全,範囲,分布または削除のいずれか2つ以上のレベルを含み,前記完全は,各項目に出現する情報をそのまま維持する情報精度を示し,前記範囲は,各項目に出現する情報を,該情報の最大値および最小値に変換する情報精度を示し,前記分布は,各項目に出現する情報を,グループ内における該情報の割合に変換する情報精度を示し,前記削除可は,各項目に出現する情報を削除する情報精度を示すものである
ことを特徴とする請求項1に記載のデータ圧縮装置。
【請求項3】
前記設定情報を取得して前記記憶部に格納,または,前記一致の重みおよび前記保持レベルに関する入力を受け付けて設定情報を生成し前記記憶部に格納する設定部を備
える
ことを特徴とする請求項1または請求項2に記載のデータ圧縮装置。
【請求項4】
コンピュータに,複数項目の情報を有するデータ群の圧縮処理を実行させるためのデータ圧縮プログラムであって,
前記コンピュータが,複数のデータ間で項目の情報が一致する場合に該項目に付与される一致の重みをもとに計算される一致度とデータ群におけるデータの出現頻度とを用いてデータを1グループにまとめる条件が設定された同一視判定テーブルと,
項目ごとの情報の分布にもとづいて,該項目に設定された情報精度を示す保持レベルと,変換後の情報精度を示す最低元本保持レベルとの対応関係が定義された情報精度決定テーブルとを記憶する記憶部を備えて,
前記コンピュータに,
処理対象のデータ群の各データについて,前記項目ごとに一致の重みと保持レベルとが設定された設定情報をもとに,前記データ群の他のデータに対する一致の重みにもとづく一致度を求め,前記同一視判定テーブルの条件を満たすデータ同士をグループ化する処理と,
前記グループ各々において,前記項目各々に出現する情報の分布を求め,前記情報精度決定テーブルをもとに,前記出現する情報の分布と前記設定情報の保持レベルとに応じて前記項目各々の元本保持レベルを決定する処理と,
前記元本保持レベルに対応してデータの情報を書き換える変換規則に従って,前記グループごとに,グループ内のデータの各項目の情報を前記元本保持レベルにもとづいて変換する処理と,
前記変換されたデータを含む前記データ群に対してデータ圧縮を行う処理とを,
実行させるためのデータ圧縮プログラム。
【請求項5】
コンピュータが,複数項目の情報を有するデータ群を圧縮処理するデータ圧縮方法であって,
前記コンピュータが,
複数のデータ間で項目の情報が一致する場合に該項目に付与される一致の重みをもとに計算される一致度とデータ群におけるデータの出現頻度とを用いてデータを1グループにまとめる条件が設定された同一視判定テーブルと,
項目ごとの情報の分布にもとづいて,該項目に設定された情報精度を示す保持レベルと,変換後の情報精度を示す最低元本保持レベルとの対応関係が定義された情報精度決定テーブルとを記憶する記憶部を備えて,
処理対象のデータ群の各データについて,前記項目ごとに一致の重みと保持レベルとが設定された設定情報をもとに,前記データ群の他のデータに対する一致の重みにもとづく一致度を求め,前記同一視判定テーブルの条件を満たすデータ同士をグループ化する処理ステップと,
前記グループ各々において,前記項目各々に出現する情報の分布を求め,前記情報精度決定テーブルをもとに,前記出現する情報の分布と前記設定情報の保持レベルとに応じて前記項目各々の元本保持レベルを決定する処理ステップと,
前記元本保持レベルに対応してデータの情報を書き換える変換規則に従って,前記グループごとに,グループ内のデータの各項目の情報を前記元本保持レベルにもとづいて変換する処理ステップと,
前記変換されたデータを含む前記データ群に対してデータ圧縮を行う処理ステップとを,実行する
ことを特徴とするデータ圧縮方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−168671(P2012−168671A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−28083(P2011−28083)
【出願日】平成23年2月14日(2011.2.14)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願日】平成23年2月14日(2011.2.14)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]