JP2013148974A - データ格納方法及び装置及びプログラム - Google Patents
データ格納方法及び装置及びプログラム Download PDFInfo
- Publication number
- JP2013148974A JP2013148974A JP2012007334A JP2012007334A JP2013148974A JP 2013148974 A JP2013148974 A JP 2013148974A JP 2012007334 A JP2012007334 A JP 2012007334A JP 2012007334 A JP2012007334 A JP 2012007334A JP 2013148974 A JP2013148974 A JP 2013148974A
- Authority
- JP
- Japan
- Prior art keywords
- data
- array
- pattern
- search
- entry
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 各配列要素と文字列の比較のための文字列の圧縮データの展開処理の展開コストに起因するCSAの探索コストを削減する。
【解決手段】 本発明は、入力されたデータDに対して、接尾辞の切り分けと並び替えを行い、添え字を抽出することによりSA配列を作成し、SA配列とデータDの文字列を圧縮しCSA記憶手段に格納する。SA配列から所定の値以上の頻度で参照されるSA配列と文字列を抽出し、これを圧縮せずに非圧縮領域S記憶手段に格納する。入力されたパターンPに対し、2分探索の位置のSAエントリが非圧縮領域S記憶手段に存在するか否かを判定し、存在する場合には、該非圧縮領域S記憶手段からエントリを取得し、存在しない場合は、CSA記憶手段からエントリを取得し、パターンPに合致するデータDの位置情報を結果集合として出力する。
【選択図】 図4
【解決手段】 本発明は、入力されたデータDに対して、接尾辞の切り分けと並び替えを行い、添え字を抽出することによりSA配列を作成し、SA配列とデータDの文字列を圧縮しCSA記憶手段に格納する。SA配列から所定の値以上の頻度で参照されるSA配列と文字列を抽出し、これを圧縮せずに非圧縮領域S記憶手段に格納する。入力されたパターンPに対し、2分探索の位置のSAエントリが非圧縮領域S記憶手段に存在するか否かを判定し、存在する場合には、該非圧縮領域S記憶手段からエントリを取得し、存在しない場合は、CSA記憶手段からエントリを取得し、パターンPに合致するデータDの位置情報を結果集合として出力する。
【選択図】 図4
Description
本発明は、データ格納方法及び装置及びプログラムに係り、特に、事前に与えられたデータD(長さ:N)の中から任意のパターンP(長さ:M)全ての出現位置を高速に探索するために構造化された索引Suffix Array(SA)のデータを格納するためのデータ格納方法及び装置及びプログラムに関する。
事前に与えられたデータD(長さ:N)の中から任意のパターンP(長さ:M)全ての出現位置を高速に探索するための索引構造を『全文索引』と呼び、任意のパターンPの出現した回数、場所を事前に求め保存している。このデータ構造はDNAの塩基配列やWebなどのドキュメント探索に利用されることが多い。これらのデータ構造の特徴はデータDが非常に大きく(Nが大)、パターンPがとても小さい(Mが小)ことが挙げられる。例えば、データDをD[]=feiajfieak(N=10)、探索する任意のパターンをP[]=jfi(M=3)とする。この例の場合、パターンPはデータD中の"4"の位置(先頭を0とした場合のD[3])から存在するため"4"を返却する。
この全文索引を実現するデータ構造はいくつか存在するが、探索コストと構造のシンプルさから一部の領域で接尾辞配列(Suffix Array: SA)がよく用いられている(例えば、非特許文献1参照)。
上記の全文索引を実現する例に挙げたデータDに対するSAのデータ構造を図1に、このSAを利用したパターンPの探索の具体例を図2に示す。探索は基本的に配列SA[]の2分探索処理に基づいて行われる。図1では、"D[]=feiajfieak"とした場合の接尾辞配列SA[]の構築方法を示している。まず、配列SA[]の中央の値"6"(SA[5]=6)を取得し、"6"の値を用いてデータから"6"の位置に存在する接尾辞(Suffix)と、パターンPの文字列を辞書順で考えた場合の大小関係を比較する。ここでは、Suffixが"fieak$"で、パターンPが"jfi"であるため、比較の結果"jfi"が大きいと判断され、配列SA[]の後半部分が選択され、継続して同様の2分探索が最後まで行われる。2分探索の最後に到達した位置(周辺)にある文字列がパターンPと合致する可能性のある候補であるため、合致するパターンPのデータD中の位置を返却する。
しかし、このSAのデータ構造はデータDに対して非常に空間コストが大きい問題が存在するため、SAを圧縮したCompressed SA(以下、CSA)が提案されている(例えば、非特許文献2参照)。SAの整数配列は1からNまでランダムに出現するため、整数の圧縮で従来からよく用いられているエントロピー符号化手法の適用が難しい。そこで、非特許文献2において、
φ[i]=SA-1 [SA[i]+1] (SA[φ[i]]=SA[i]+1)
と変換することで、従来のエントロピー符号化による圧縮が適用しやすい配列順序に変換し、圧縮を適用する手法が提案されている。
φ[i]=SA-1 [SA[i]+1] (SA[φ[i]]=SA[i]+1)
と変換することで、従来のエントロピー符号化による圧縮が適用しやすい配列順序に変換し、圧縮を適用する手法が提案されている。
Udi M. and Gene M.: Suffix arrays: a new method for on-line string searches, SIAM Journal on Computing, Volume 22, Issue 5, 1991.
Roberto G. et al.: Compressed Suffix Arrays and Suffix Trees with Applications to Text Indexing and String Matching, SIAM Journal on Computing, Volume 35, Issue 2, 2005.
しかしながら、上記従来の技術には以下のような問題がある。
図3は課題を説明するための図である。
前述のSA上の2分探索で参照したSAの配列要素と文字列はCSA上では個別に圧縮されている。そのため、SAと同じように2分探索する際に、CSAでは各配列要素と文字列の比較のための文字列の圧縮データの展開処理のペナルティ(配列要素と文字列の展開コストをそれぞれαとβと示す)が発生する。この展開コストαとβを含めたCSAの探索コストは(α+β)*m*log2Nである。
従来からこのαとβのペナルティコストは非常に高いとされている。
本発明は、上記の点に鑑みなされたもので、各配列要素と文字列の比較のための文字列の圧縮データの展開処理の展開コストに起因するCSAの探索コストを削減することが可能なデータ格納方法及び装置及びプログラムを提供することを目的とする。
上記の課題を解決するため、本発明(請求項1)は、事前に与えられた接尾辞配列を有するデータDの中から任意のパターンPの全ての出現位置を高速に探索するために構造化された索引のデータ格納方法であって、
SA初期化手段が、前記データDが入力されると、該データDに対して、接尾辞の切り分けと並び替えを行い、並び替えられた接尾辞の添え字を抽出することによりSA配列を作成するSA初期化ステップと、
SA圧縮手段が、前記SA配列と前記データDの文字列をCSAの手法を用いて圧縮し、CSA記憶手段に格納するSA圧縮ステップと、
非圧縮領域S抽出手段が、前記SA配列から所定の値以上の頻度で参照されるSA配列と文字列を抽出し、非圧縮領域S記憶手段に格納する非圧縮領域S抽出ステップと、
パターンP2分探索手段が、入力されたパターンPを配列要素と文字列を展開しながら2分探索を行い、該パターンPに合致するデータDの位置情報を結果集合として出力するパターンP2分探索ステップと、
を行い、
前記パターンP2分探索ステップにおいて、
前記2分探索の位置のSAエントリが非圧縮領域S記憶手段に存在するか否かを判定し、存在する場合には、該非圧縮領域S記憶手段からエントリを取得し、
存在しない場合は、前記CSA記憶手段からエントリを取得する。
SA初期化手段が、前記データDが入力されると、該データDに対して、接尾辞の切り分けと並び替えを行い、並び替えられた接尾辞の添え字を抽出することによりSA配列を作成するSA初期化ステップと、
SA圧縮手段が、前記SA配列と前記データDの文字列をCSAの手法を用いて圧縮し、CSA記憶手段に格納するSA圧縮ステップと、
非圧縮領域S抽出手段が、前記SA配列から所定の値以上の頻度で参照されるSA配列と文字列を抽出し、非圧縮領域S記憶手段に格納する非圧縮領域S抽出ステップと、
パターンP2分探索手段が、入力されたパターンPを配列要素と文字列を展開しながら2分探索を行い、該パターンPに合致するデータDの位置情報を結果集合として出力するパターンP2分探索ステップと、
を行い、
前記パターンP2分探索ステップにおいて、
前記2分探索の位置のSAエントリが非圧縮領域S記憶手段に存在するか否かを判定し、存在する場合には、該非圧縮領域S記憶手段からエントリを取得し、
存在しない場合は、前記CSA記憶手段からエントリを取得する。
また、本発明(請求項2)は、前記非圧縮領域S抽出ステップにおいて、
非圧縮領域の最大サイズMを設定し、前記SA配列の参照確率が高い順にエントリを取り出し、該エントリのサイズEを計算し、M−Eの値が0より大きい場合は、該エントリを前記非圧縮領域S記憶手段に格納する。
非圧縮領域の最大サイズMを設定し、前記SA配列の参照確率が高い順にエントリを取り出し、該エントリのサイズEを計算し、M−Eの値が0より大きい場合は、該エントリを前記非圧縮領域S記憶手段に格納する。
また、本発明(請求項3)は、前記パターンP2分探索ステップにおいて、
前記非圧縮領域S参照手段または前記SA展開手段で取得した前記エントリの文字列が探索位置周辺であり、前記パターンPに合致するものを抽出する。
前記非圧縮領域S参照手段または前記SA展開手段で取得した前記エントリの文字列が探索位置周辺であり、前記パターンPに合致するものを抽出する。
上記のように本発明は、相対的に頻繁に参照する2分探索の前半部分を圧縮せずに、非圧縮の状態で補助的なデータ構造として非圧縮領域記憶手段に保存しておき、パターンPの2分探索の前半の処理で展開コストのペナルティを避けるように構造化することにより、「相対的に頻繁に参照する2分探索の前半部分」は全体のデータサイズに対して非常に小さい領域であるため、少ない補助的なデータ構造のペナルティで、探索処理の高速化が可能である。これにより、CSA上のパターンPの探索処理コスト(α+β)*m*log2Nに対して、探索の前半部分に比較されるK回の2分探索処理で使用されるSAの配列要素数と文字列を非圧縮領域Sに補助データとして格納して、前半の2分探索の処理で展開コストを避けることで探索コストの削減効果(m*K+(α+β)*m*(log2N-K))が得られる。
以下、図面と共に本発明の実施の形態を説明する。
図4は、本発明の一実施の形態におけるデータ格納装置の構成を示す。
データ格納装置は、データD入力装置1、SA初期化部2、SA圧縮部3、非圧縮領域S抽出部4、非圧縮領域S記憶部5、パターンP入力装置6、パターンP2分探索部7、SA展開部8、非圧縮領域S参照部9、CSA記憶部10から構成され、パターンP2分探索部7は、結果出力装置11と接続されている。
上記の構成において、データD中からパターンPの高速な探索を実現するために、SA初期化部2において、入力されたデータDに対して索引の構築を行う。SA初期化部2では、データD入力装置1から入力されたデータに対して、接尾辞の切り分け、辞書順での並び替え、並び替えられた接尾辞の添え字抽出によってSAを構築する。続いて、SA圧縮部3では、SA初期化部2から入力されるSA配列と文字列情報をCSAの手法に基づいて圧縮を行い、CSA記憶部10に記録する。ここで、図5に示すように、非圧縮領域S抽出部4を用いることで、頻繁に参照する(参照頻度の高い)SA配列と文字列情報を抽出し、非圧縮領域S記憶部5に保存する。図5の例では、『6:fieak$』と『5:ifieak$』を参照度合いが高いと判定する。パターンPの探索に関しては、パターンP2分探索部7で探索対象のパターンがパターンP入力装置6から入力されたパターンPをCSA上の2分探索処理と同じように、SA展開部8を利用することで配列要素と文字列を展開しながら探索を行う。従来手法との違いは、各配列要素と文字列の比較の際に先ほどの非圧縮領域S記憶部5に探索経路上の配列要素と文字列が含まれる場合は、当該非圧縮領域S内の非圧縮データを参照することで、展開コストをスキップして展開ペナルティを回避する点である。最終的に、パターンP2分探索部7は、パターンPに合致するデータD中の位置情報を結果集合として収集し、結果出力装置11に出力して終了する。
以下に、上記の処理内容を詳細に説明する。
図6は、本発明の一実施の形態におけるSA初期化部、SA圧縮部のフローチャートである。
ステップ600) SA初期化部2は、データD入力装置1からデータが入力されるまで待機する。
ステップ605) SA初期化部2は、データDが入力されると、当該データDから図1で示した接尾辞Skの定義に従い、接尾辞集合Sを作成する。
ステップ610) SA初期化部2は、生成された接尾辞集合Sを辞書順に並び替える。
ステップ615) SA初期化部2は、辞書順に並び替えた接尾辞集合Sから添え字を抜き出してSA[]を作成する。
ステップ620) SA初期化部2は、非特許文献2の定義に従い、接尾辞配列SA[]を従来の圧縮手法により、以下のように圧縮しやすい配列Ψ[]に変換する。
Ψ[i]=SA-1[SA[i]+1]
ステップ625) SA圧縮部3は、ステップ620で変換された配列Ψ[]を任意の従来の圧縮符号化(エントロピー符号化)を用いて、圧縮を行う。
ステップ625) SA圧縮部3は、ステップ620で変換された配列Ψ[]を任意の従来の圧縮符号化(エントロピー符号化)を用いて、圧縮を行う。
ステップ630) SA圧縮部3は、圧縮された配列Ψ[]をCSA記憶部10に格納する。
ステップ635) SA圧縮部3は、接尾辞配列SA[]と、非圧縮領域Sの最大サイズを非圧縮領域S抽出部4に出力し、非圧縮領域S抽出部4の処理に移行する。
次に、非圧縮領域S抽出部4の処理を説明する。
図7は、本発明の一実施の形態における非圧縮領域S抽出部のフローチャートである。
ステップ700) 非圧縮領域S抽出部4は、SA圧縮部3から非圧縮領域Sの最大サイズを取得すると、メモリ(図示せず)のMに設定する(M=非圧縮領域Sの最大サイズ)。
ステップ705) iを1で初期化する(i=1)。
ステップ710) 非圧縮領域S抽出部4は、SA圧縮部3から取得した接尾辞配列SA[]からi番目の参照確率の高いエントリを取り出す。なお、参照確率は予めエントリ毎に付与されているものとする。
ステップ715) 取り出したSAのエントリのサイズEを計算する。
ステップ720) iをインクリメントし(i=i+1)、MからサイズEの減算をそれぞれ行う(M=M−E)。
ステップ725) i番目の参照確率の高いSAのエントリを非圧縮領域S記憶部5に格納する。
次に、パターンP2分探索部7の動作について説明する。
図8は、本発明の一実施の形態におけるパターンP2分探索部のフローチャートである。
ステップ800) パターンP入力装置6からパターンPが入力されるまで待機する。
ステップ805) パターンP2分探索部7は、SA配列要素数でMを、探索位置Tを0で初期化する(M=SA配列要素数、T=0)。
ステップ810) パターンP2分探索部7は、2分探索を行うために値の更新を行う(T=T+M/2,M=M/2)。
ステップ815) パターンP2分探索部7は、非圧縮領域S内に探索位置TのSAエントリが存在するかを探索し、存在する場合はステップ820に移行し、存在しない場合はステップ825に移行する。
ステップ820) パターンP2分探索部7は、探索位置Tのエントリを非圧縮領域S参照部9を用いて取り出す。ここで、非圧縮領域S参照部9は、非圧縮領域S記憶部5から探索位置Tのエントリを取り出す。
ステップ825) パターンP2分探索部7は、CSA記憶部10から探索位置Tに対応するデータを取得し、ステップ620、ステップ625で行った圧縮と値の変換に対応する逆変換をSA展開部8を用いて行い、探索位置Tに対応するSAエントリを取得する。
ステップ830) パターンP2分探索部7は、探索位置Tに対応するSAエントリの文字列Aと、パターンPの文字列について辞書順で考えた場合の大小比較を行い、P>Aであればステップ835に移行し、P≦Aであればステップ840に移行する。
ステップ835) ステップ830においてP>Aである場合は、2分探索を行うための値を更新し(T=T+M/2,M=M/2)、M>1であればステップ815に移行し、M≦1であればステップ845に移行する。
ステップ840) ステップ830においてP≦Aである場合は、2分探索を行うために値を更新し(T=T−M/2,M=M/2)し、M>1であればステップ815に移行し、M≦1であればステップ845に移行する。
ステップ850) パターンP2分探索部7は、探索位置T周辺の文字列でパターンPに合致するものを結果として結果出力装置11に出力する。
本発明では、上記のように、頻繁に参照される配列要素と文字列は圧縮せずに、非圧縮領域に格納することで探索コストを削減することができる。
N=224のデータDに対して、SAを作成した場合の空間コストは、SAの各エントリの期待文字列長をs(sByte)とした場合に、226*(4+s)Byteとなる(SA[]の各配列要素は4Byteとする)。CSAの経験的な圧縮性能はSAの空間コストの2〜3%であることから、ここでは圧縮性能を2%と考えて、結果的にCSAの空間コストを0.02*226(4+s)Byteとする。ここで入力されるパターンPは一様と考え、2分探索が16回行われる位置(残りの10回の2分探索は従来どおり圧縮データを展開しながら2分探索を実施)までの各配列要素と文字列を非圧縮領域Sに格納する場合を考える。
まず、探索コストに関しては、前半の16回の2分探索の圧縮展開コストは無くなるため、結果的に探索コストは16+10*m*(α+β)になり、展開コストαとβが非常に大きいと考えた場合にCSAの探索コストは24*m*(α+β)に対して、41.7%の削減効果が期待できる。
一方、過剰な空間コストは、16回の2分探索が行われるまでの配列要素数が216となるため、216*(4+s)Byteとなり、この余剰に消費する空間コストはCSAの空間コストに対して約5%程度となる。この結果をまとめると、N=224のデータDに対する本発明の効果は約5%程度の余剰な空間コスト(非圧縮領域S)を犠牲にすることで、探索コストを41.7%削減可能である、ということになる。
なお、上記の図4に示すデータ格納装置の各構成要素の動作をプログラムとして構築し、データ格納装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
また、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
1 データD入力装置
2 SA初期化部
3 SA圧縮部
4 非圧縮領域S抽出部
5 非圧縮領域S記憶部
6 パターンP入力装置
7 パターンP2分探索部
8 SA展開部
9 非圧縮領域S参照部
10 CSA記憶部
11 結果出力装置
2 SA初期化部
3 SA圧縮部
4 非圧縮領域S抽出部
5 非圧縮領域S記憶部
6 パターンP入力装置
7 パターンP2分探索部
8 SA展開部
9 非圧縮領域S参照部
10 CSA記憶部
11 結果出力装置
Claims (7)
- 事前に与えられた接尾辞配列を有するデータDの中から任意のパターンPの全ての出現位置を高速に探索するために構造化された索引(SA:Suffix Array)のデータ格納方法であって、
SA初期化手段が、前記データDが入力されると、該データDに対して、接尾辞の切り分けと並び替えを行い、並び替えられた接尾辞の添え字を抽出することによりSA配列を作成するSA初期化ステップと、
SA圧縮手段が、前記SA配列と前記データDの文字列をCSA(Compressed Suffix Array)の手法を用いて圧縮し、CSA記憶手段に格納するSA圧縮ステップと、
非圧縮領域S抽出手段が、前記SA配列から所定の値以上の頻度で参照されるSA配列と文字列を抽出し、非圧縮領域S記憶手段に格納する非圧縮領域S抽出ステップと、
パターンP2分探索手段が、入力されたパターンPを配列要素と文字列を展開しながら2分探索を行い、該パターンPに合致するデータDの位置情報を結果集合として出力するパターンP2分探索ステップと、
を行い、
前記パターンP2分探索ステップにおいて、
前記2分探索の位置のSAエントリが非圧縮領域S記憶手段に存在するか否かを判定し、存在する場合には、該非圧縮領域S記憶手段からエントリを取得し、
存在しない場合は、前記CSA記憶手段からエントリを取得する、
ことを特徴とするデータ格納方法。 - 前記非圧縮領域S抽出ステップにおいて、
非圧縮領域の最大サイズMを設定し、前記SA配列の参照確率が高い順にエントリを取り出し、該エントリのサイズEを計算し、M−Eの値が0より大きい場合は、該エントリを前記非圧縮領域S記憶手段に格納する
請求項1記載のデータ格納方法。 - 前記パターンP2分探索ステップにおいて、
前記非圧縮領域S参照手段または前記SA展開手段で取得した前記エントリの文字列が探索位置周辺であり、前記パターンPに合致するものを抽出する
請求項1記載のデータ格納方法。 - 事前に与えられた接尾辞配列を有するデータDの中から任意のパターンPの全ての出現位置を高速に探索するために構造化された索引のデータ格納装置であって、
前記データDが入力されると、該データDに対して、接尾辞の切り分けと並び替えを行い、並び替えられた接尾辞の添え字を抽出することによりSA配列を作成するSA初期化手段と、
前記SA配列と前記データDの文字列をCSA(Compressed Suffix Array)の手法を用いて圧縮し、CSA記憶手段に格納するSA圧縮手段と、
前記SA配列から所定の値以上の頻度で参照されるSA配列と文字列を抽出し、非圧縮領域S記憶手段に格納する非圧縮領域S抽出手段と、
入力されたパターンPを配列要素と文字列を展開しながら2分探索を行い、該パターンPに合致するデータDの位置情報を結果集合として出力するパターンP2分探索手段と
を有し、
前記パターンP2分探索手段は、
前記2分探索の位置のSAエントリが非圧縮領域S記憶手段に存在するか否かを判定する手段と、
前記SAエントリが前記非圧縮領域S記憶手段に存在する場合には、該非圧縮領域S記憶手段からエントリを取得する非圧縮領域S参照手段と、
前記2分探索の位置のSAエントリが前記非圧縮領域S記憶手段に存在しない場合は、前記CSA記憶手段からエントリを取得するSA展開手段と、
を含むことを特徴とするデータ格納装置。 - 前記非圧縮領域S抽出手段は、
非圧縮領域の最大サイズMを設定し、前記SA配列の参照確率が高い順にエントリを取り出し、該エントリのサイズEを計算し、M−Eの値が0より大きい場合は、該エントリを前記非圧縮領域S記憶手段に格納する手段を含む
請求項4記載のデータ格納装置。 - 前記パターンP2分探索手段は、
前記非圧縮領域S参照手段または前記SA展開手段で取得した前記エントリの文字列が探索位置周辺であり、前記パターンPに合致するものを抽出する手段を含む
請求項4記載のデータ格納装置。 - コンピュータを、
請求項4乃至6のいずれか1項に記載のデータ格納装置の各手段として機能させるためのデータ格納プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012007334A JP2013148974A (ja) | 2012-01-17 | 2012-01-17 | データ格納方法及び装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012007334A JP2013148974A (ja) | 2012-01-17 | 2012-01-17 | データ格納方法及び装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013148974A true JP2013148974A (ja) | 2013-08-01 |
Family
ID=49046440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012007334A Pending JP2013148974A (ja) | 2012-01-17 | 2012-01-17 | データ格納方法及び装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013148974A (ja) |
-
2012
- 2012-01-17 JP JP2012007334A patent/JP2013148974A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9298722B2 (en) | Optimal sequential (de)compression of digital data | |
JP6319740B2 (ja) | データ圧縮を高速化する方法、並びに、データ圧縮を高速化するためのコンピュータ、及びそのコンピュータ・プログラム | |
US8694474B2 (en) | Block entropy encoding for word compression | |
US20090063465A1 (en) | System and method for string processing and searching using a compressed permuterm index | |
US9397696B2 (en) | Compression method, compression device, and computer-readable recording medium | |
JP6232522B2 (ja) | 計算機及びグラフデータ生成方法 | |
Policriti et al. | From LZ77 to the run-length encoded burrows-wheeler transform, and back | |
JP6645013B2 (ja) | 符号化プログラム、符号化方法、符号化装置および伸長方法 | |
Kempa et al. | Fast and space-efficient construction of AVL grammars from the LZ77 parsing | |
US11309909B2 (en) | Compression device, decompression device, and method | |
JP2023501093A (ja) | カスタマイズ可能な区切りテキスト圧縮フレームワーク | |
US11373040B2 (en) | Computer-readable recording medium, encoding device, index generating device, search device, encoding method, index generating method, and search method | |
JP2013148974A (ja) | データ格納方法及び装置及びプログラム | |
JP6512294B2 (ja) | 圧縮プログラム、圧縮方法および圧縮装置 | |
US8442986B2 (en) | Ranking importance of symbols in underlying grouped and differentiated files based on content | |
JP5736589B2 (ja) | 数列データ検索装置、数列データ検索方法及びプログラム | |
US10915559B2 (en) | Data generation method, information processing device, and recording medium | |
US8593310B1 (en) | Data-driven variable length encoding of fixed-length data | |
JP7006462B2 (ja) | データ生成プログラム、データ生成方法および情報処理装置 | |
JP5808360B2 (ja) | 文字列圧縮及び復元システム並びに方法 | |
Culpepper et al. | Revisiting bounded context block‐sorting transformations | |
Bharathi et al. | A plain-text incremental compression (pic) technique with fast lookup ability | |
CN110825927A (zh) | 数据查询方法、装置、电子设备及计算机可读存储介质 | |
JP5582358B2 (ja) | 文書検索システム、文書検索方法、及びプログラム | |
KR101705461B1 (ko) | 문자열 압축 및 해제를 위한 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20131001 |