Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
吉田 諭史*吉田 諭史**北海道大学情報科学研究科コンピュータサイエンス専攻
2011/02/25 1STRセミナ※2010年3月にData Compression Conferenceにて一部発表済み
パターン照合機械
圧縮テキスト非圧縮テキスト
VF符号は,すべての符号
語が等長であるという工学的に好ましい性質があり,圧縮パターン照合などへの重要な応用がある.・・・
非圧縮テキスト
照合
パターン照合機械
[パターン = “符号”]
3文字目,11文字目
照合011101011101110100101001・・・
圧縮テキスト伸長 VF符号は,すべての符号
語が等長であるという工学的に好ましい性質があり,圧縮パターン照合などへの重要な応用がある.・・・
圧縮テキスト上のパターン照合機械
011101011101110100101001・・・
圧縮テキスト直接照合
圧縮法をうまく選べば高速に!
22011/02/25STRセミナ
� 辞書が静的でコンパクトである◦ 動的に辞書が変化するとテキストスキャン時に余計な時間がかかる
� 固定長符号である◦ 符号語が容易に切り分けられるほうがよい
VF符号
3
入力テキスト(情報源記号)
固定長 (F) 可変長 (V)
圧縮テキスト(符号語)
固定長(F)
FFFFFFFF符号符号符号符号等長符号
VFVFVFVF符号符号符号符号Tunstall符号
可変長(V)
FVFVFVFV符号符号符号符号Huffman符号
VVVVVVVV符号符号符号符号LZ符号2011/02/25STRセミナ
多重分節木をもちいたAIVF符号[Yamamoto and Yokoo, 2001]
ブロック間の文脈を利用
AIVFAIVF符号
圧縮率を大幅に改善
2011/02/25STRセミナ 4
Tunstall符号 [Tunstall, 1967]
one-shot AIVF符号[Yamamoto and Yokoo, 2001]
未使用の符号語を活用
ブロック間の文脈を利用
多重分節木 (multiple parse tree)001011010010010001…
多くの時間と多くの時間とメモリ
2011/02/25STRセミナ 5
仮想的な多重分節木(VMA木)
提案手法
入力テキストに含まれる文字の種類の数に比例O(k)
� VMA 木 に よ る 符 号 化 に よ っ て ,
AIVF符号の多重分節木と比較して,
総ノード数を少なくともk2個以上削減できる(kは文字の種類の数=アルファベットサイズ)
2011/02/25STRセミナ 6
(kは文字の種類の数=アルファベットサイズ)
�実験的にも,総ノード数と圧縮時間の
両方を劇的に削減できる
�伸長とパターン照合は遅くなる
2011/02/25 7STRセミナ
� ∑を有限アルファベットとする
� アルファベットの要素は出現確率の順でソートされていることを仮定する
� 情報源として記憶のない情報源を仮定する
� {0,1}上の列への符号化を単に符号化とよぶ
2011/02/25STRセミナ 8
SSTRTSS Σ={S, T, R}
S
T
T
R
R S
101 111
S
S
不完全内部ノード子の数が k ではない内部ノード
入力テキスト:
STRRTS
圧縮データ列:010 111 111 100
2011/02/25 9
S
S
T R S001
010
000
100 110011
S
STRセミナ
このノードはSSSという文字列に対応
T
T
R
RS111
SS
T
T
R
R S
101 111
S
S
2011/02/25STRセミナ 10
SS
T
001 010000
100
101
011
S110
T RS
T S001
010
000
100 110011
S
AIVF符号では,k -1個の分節木を構築するため,符号化に多くの時間と領域が必要
� ノードを共有することで総ノード数を削減する◦ ただし,各ノードがAIVF符号のどの分節木に含まれていたかという情報を保持する必要がある
◦ 各ノードに,そのノードが属している木Tiのうち最小のi を保持すればよい
2011/02/25STRセミナ 11
T0 T1 T2 VMA木
� 定理1
完全に含まれる.
にはについて,を満たす整数
,と表す.このとき,頂点とする部分木を
をでラベル付けされた子のルートの番目の木多重分節木の
)i(
ji
)i(
ji
)i(
j
ji
SSj,iikj
kiS
aTi
12
30
+
++−≤≤
−≤≤
2011/02/25STRセミナ 12
完全に含まれる.
…
…
)(
1
i
iS +
)(
2
i
kS −
)(
1
i
kS −)(i
kS
)1(
2
+
+
i
iS)1(
2
+
−
i
kS)1(
1
+
−
i
kS)1( +i
kS
)(
2
i
iS +
Ti Ti+1
……
……
0T1T
2−kT
)0(
kS )1(S)1(
1−kS)1(
kS
3−kT
)3( −kS)1(S
定理2: 削減されるノード数はk2個以上である.
2011/02/25STRセミナ 13
…
…
…
VT
)0(
1S
)0(
2−kS
)0(
1−kSkS
)1(
2S
)1(
2−kS 1−kS k
)2(
1
−
−
k
kS
)2( −k
kS
)2( −k
kS)2(
1
−
−
k
kS)0(
1S)3(
2
−
−
k
kS
)3(
2
−
−
k
kS
)3( −k
kS)3(
1
−
−
k
kS
)1(
3S
)0(
2S
)1(
2S
削減される部分木には最低1つのノードが含まれる.
1−k 2−k 2
和: k2以上
� アルゴリズム◦ Tunstall符号化 (Tunstall)◦ 多重分節木によるAIVF符号化 (AIVF)◦ VMA木による符号化 (VMA)
� 実験環境◦ CPU: Intel Xeon® Processor 3.0GHz
◦ メモリ: 12GB◦ メモリ: 12GB◦ OS: Red Hat Enterprise Linux ES Release 4
◦ 言語: C++◦ コンパイラ: g++ 3.4
� 符号長: 8 – 16ビット
� データ (dazai.utf.txt *)◦ 太宰治全集◦ 7.3MB
◦ k=141
◦ 文字コードはUTF-82011/02/25 14STRセミナ* http://www.j-texts.com/
�
80
100
120
com
pre
ssio
n r
ati
o (
%)
元のファイルサイズ
出力された符号語数符号語長圧縮率
×=
0
20
40
60
80
8 9 10 11 12 13 14 15 16
com
pre
ssio
n r
ati
o (
%)
codeword length (bit)
Tunstall
AIVF
VMA
2011/02/25 15STRセミナ
5000
6000
7000
8000
9000
10000
nu
mb
er
of
no
de
s (1
03)
9.6倍
0
1000
2000
3000
4000
5000
8 9 10 11 12 13 14 15 16
nu
mb
er
of
no
de
s (1
0
codeword length (bit)
AIVF
VMA
Tunstall
2011/02/25 16STRセミナ
2500
3000
3500
4000
4500
5000
com
pre
ssio
n t
ime
(se
c)
5.2倍
0
500
1000
1500
2000
2500
8 9 10 11 12 13 14 15 16
com
pre
ssio
n t
ime
(se
c)
codeword length (bit)
AIVF
VMA
Tunstall
2011/02/25 17STRセミナ
4
5
6
de
com
pre
ssio
n t
ime
(se
c)� VMAでは木をたどるときに比較演算が必要なため,時間がかかる
0
1
2
3
4
8 9 10 11 12 13 14 15 16
de
com
pre
ssio
n t
ime
(se
c)
codeword length (bit)
VMA
AIVF
Tunstall
2011/02/25 18STRセミナ
7
8
9
10
pa
tte
rn m
atc
hin
g t
ime
(se
c)� 符号語長:16ビットに固定
� パターン:各長さごとに50個
0
1
2
3
4
5
6
7
5 10 15 20 25 30 35 40 45 50
pa
tte
rn m
atc
hin
g t
ime
(se
c)
pattern length (byte)
VMA
AIVF
Tunstall
2011/02/25 19STRセミナ
5
6
7
8
9
tim
e (
sec)
5
6
7
8
9
tim
e (
sec)5
6
7
8
9
tim
e (
sec)
スキャン
前処理
0
1
2
3
4
5 10 15 20 25 30 35 40 45 50
tim
e (
sec)
pattern length (byte)
0
1
2
3
4
5 10 15 20 25 30 35 40 45 50
tim
e (
sec)
pattern length (byte)
2011/02/25STRセミナ 20
0
1
2
3
4
5 10 15 20 25 30 35 40 45 50
tim
e (
sec)
pattern length (byte)
Tunstall AIVF VMA
� VMA木に よ る 符号化 に よ っ て , AIVF符号の
多重分節木と比較して,総ノード数を少なくともk2個以
上削減できる
� 実験的にも ,総ノード数と圧縮時間の両方を
劇的に削減できる劇的に削減できる
� 伸長とパターン照合は遅くなる
2011/02/25 21STRセミナ
� 大きなコーパスで実験 (100MB~1GBくらい?)
� パターン照合の高速化
� ノード数削減量の上限を理論的に見積もる
� 秀逸な回文を考える