第156回 データベースシステム研究会, 2012.12.12, 京都 共有辞書を用いた 効率の良い圧縮アルゴリズム Variable-to-Fixed-Length Encoding for Large Texts Using a Re-Pair Algorithm with Shared Dictionaries † † † † ◎ 関根 渓 , 笹川 裕人 , 吉田 諭史 , 喜田 拓也 † 北海道大学大学院情報科学研究科 1 第156回 データベースシステム 研究会, 2012.12.12, 京都 背景:巨大なデータ 計算機上で扱うデータの巨大化 動画 画像 文章 音楽 容量が足りない 時間がかかる データ圧縮は非常に重要 2 第156回 データベースシステム 研究会, 2012.12.12, 京都 背景:文法圧縮 近年,文法圧縮に注目が集まっている. データを一意に生成する文法を構築し,その文法 を符号化する圧縮手法. データの文脈を捉えられる. 代表的な文法圧縮アルゴリズム Re-Pair [Larsson and Moffat 1999] Re-Pair-VF [Yoshida and Kida 2012] SEQUITUR [Nevill-Manning et al. 1994] BPE [Gage 1994] 3 第156回 データベースシステム 研究会, 2012.12.12, 京都 Re-Pair-VF アルゴリズム 最頻出の2-gramを新しい記号で置き換えていく. ENOOOBOEOOOBEEOOOB F → OO ENFOBOEFOBEEFOB Dictionary 4 第156回 データベースシステム 研究会, 2012.12.12, 京都 Re-Pair-VF アルゴリズム 全ての2-gramがユニークになったら変換終了 𝑇: ENOOOBOEOOOBEEOOOB ENFOBOEFOBEEFOB ENABOEABEEAB ENCOECEEC 圧縮 伸展 Dictionary F → OO A → FO C → AB D → EC ENCODED 固定長符号で符号化 可変長符号で符号化 5 第156回 データベースシステム 研究会, 2012.12.12, 京都 Re-Pair-VF アルゴリズム 利点 圧縮率がよい.(gzipを超える) 圧縮テキストが扱いやすい. (圧縮パターン照合が高速に出来る) 欠点 メモリ消費が激しい.(入力テキスト の10~20倍) 6 第156回 データベースシステム 研究会, 2012.12.12, 京都 Re-Pair-VF アルゴリズム Original Text 大きすぎて メモリに乗らない Re-Pair-VF Dictionary Compressed Text 7 第156回 データベースシステム 研究会, 2012.12.12, 京都 対策:テキストのブロック化 Text1 Original Text Text2 Text3 テキストを分割 (ブロック化) Text4 省メモリ化 Re-Pair-VF Dic1 Dic2 Dic3 Dic4 Comp1 Comp2 Comp3 Comp4 出力される辞書の一部が同じエントリを持ってしまう. (予備実験では,各ブロックで30%程度の2-gramの重複を確認) 8 第156回 データベースシステム 研究会, 2012.12.12, 京都 対策:辞書の共有化 Text1 Text2 Text3 Original Text Text4 テキスト全体に頻出する 2-gramを共有する辞書 Re-Pair-VF Shared DIC Local DIC1 Local DIC2 Local DIC3 Local DIC4 Compressed Text 各ブロック特有の2-gram に関する辞書 9 第156回 データベースシステム 研究会, 2012.12.12, 京都 研究目的と主結果 目的 Re-Pair-VFに対し,入力テキストのブロッ ク化と辞書の共有化を行った際の効果を調査 する. 結果 改良アルゴリズムBlocked-Re-Pair-VFを考 案,計算機実験によりその有用性を示した. 辞書の共有化により圧縮率と圧縮時間がわずかに 改善. 省メモリ化により大規模テキストに適用可能に. bzip2に匹敵する圧縮率(約30%)を達成. 10 第156回 データベースシステム研究会, 2012.12.12, 京都 提案手法:Blocked-Re-Pair-VF 入力:辞書サイズ𝐷,共有辞書サイズ𝑆,ブロックサイズ𝐵,テ キスト𝑇 𝐵 出力:辞書ファイル,圧縮テキスト Text1 Text2 Text3 Text4 Re-Pair-VF 𝑆 𝐷 Shared Dic replace Dic1 Local Dic1 Text2’ Re-Pair-VF Text3’ 以下同様 Re-Pair-VF Local Dic2 Local Dic3 Comp2 Comp3 Comp1 11 第156回 データベースシステム 研究会, 2012.12.12, 京都 実験1 目的 Blocked-Re-Pair-VF において,ブロック化による実 行時メモリ消費および辞書の共有化による圧縮パ フォーマンス(圧縮率,圧縮時間)を調査する. 方法 Blocked-Re-Pair-VF において,辞書サイズ𝐷と,共有 辞書サイズ𝑆,ブロックサイズ𝐵の3つのパラメータを 変化させながら,圧縮時間と圧縮率を計測. データ 大きさ約2.2GB,アルファベットサイズ239の英文テ キストデータ( “english” from Pizza & Chili corpus) 13 第156回 データベースシステム 研究会, 2012.12.12, 京都 実験1-1:辞書の共有化による効果 圧縮時間の変化 辞書サイズ 𝐷 = 220 675 圧 縮 650 時 ブロックサイズ𝐵 625 32MB 間 ( 600 秒 ) 575 64MB 128MB 0/8 1/8 2/8 3/8 4/8 5/8 6/8 7/8 共有辞書サイズS 辞書の共有化によりわずかに圧縮時間が改善 ローカル辞書生成時間が短くなるため 14 第156回 データベースシステム 研究会, 2012.12.12, 京都 実験1-1:辞書の共有化による効果 圧縮率の変化 辞書サイズ 𝐷 = 220 36 圧 34 縮 ブロックサイズ𝐵 率 32 ( % 30 ) 32MB 64MB 128MB 28 0/8 1/8 2/8 3/8 4/8 5/8 6/8 7/8 共有辞書サイズS 辞書の共有化によりわずかな改善が見られた 15 第156回 データベースシステム 研究会, 2012.12.12, 京都 実験1-2:メモリ消費量の比較 Re-Pair-VF データ:englishの先頭200MB 圧縮率 (%):30.9 圧縮時間 (秒):62.13 メモリ消費 (MB):2656.256 Blocked-Re-Pair-VF 辞書サイズ 𝐷 = 220 ,共有辞書サイズ 𝑆 = 1/2 データ:english 全体(約2.2GB) ブロックサイズ𝐵 (MB) 32 64 128 圧縮率(%) 33.55 31.91 30.66 圧縮時間(秒) 618.8 635.3 654.1 メモリ消費(MB) 627 1207 2358 16 第156回 データベースシステム 研究会, 2012.12.12, 京都 実験2 目的 既存の圧縮手法とBlocked-Re-Pair-VFの圧縮パフォー マンス(圧縮率,圧縮時間,伸展時間)を比較する. 手法 Blocked-Re-Pair-VF(提案手法) gzip bzip2 ppmd lzma データ 大きさ約2.2GB,アルファベットサイズ239の英文テ キストデータ( “english” from Pizza & Chili corpus) 17 第156回 データベースシステム 研究会, 2012.12.12, 京都 実験2:既存手法との比較 圧縮率 50 圧 40 縮 30 率 ( 20 % 10 ) 0 提案手法はbzip2に匹敵する圧縮率(約30%)を達成. (このとき 𝐷 = 220 , 𝐵 = 128MB, 𝑆 = 1/2) 18 第156回 データベースシステム 研究会, 2012.12.12, 京都 実験2:既存手法との比較 圧縮時間と伸展時間 800 (2266.51) 時 600 間 400 ( 秒 200 ) 0 圧縮時間 伸展時間 提案手法は,圧縮時間は遅いが,伸展時間は速い. 伸展せずに処理を行うことを仮定すれば既存手法と同 等の有用性がある. 19 第156回 データベースシステム 研究会, 2012.12.12, 京都 まとめ 結果 大規模テキストに対して,VF符号による圧縮を行うた めのアルゴリズムであるBlocked-Re-Pair-VFを提案. 辞書の共有化によって,圧縮率が5%程度改善した. 圧縮率をほとんど悪化させずメモリ消費量を低減. 適切なパラメータにおいて,bzip2並の圧縮率を達成. 今後の展望 適切なパラメータの動的な決定法を提案. 共有辞書の作成方法の工夫. 20
© Copyright 2024 Paperzz