第6回 IIR 読書会

  • P85-108
  • 5 Index compression
  • @株式会社DeNA会議室
  • 参加者 17 名
  • 前回の復習
  • 前置き
    • 圧縮すると何が嬉しい?
      • ディスク容量の節約
      • キャッシュにのりやすくなる
      • IO が速くなる
  • 5.1 Statistical properties of terms ininformation retrieval
    • 前処理スゲー
      • 但し stop words の処理は圧縮との絡みで考える必要がある
      • フランス語のwebページとかはステミングやると効く
      • 圧縮の仕方: Lossless か Lossy か
  • 5.1.1 Heap's law: Estimating the numbers of terms
    • ヒープの法則 c.f. wikipedia:en:Heaps'_law
      • ある程度ドキュメントが集まった際に辞書のサイズを予測するのに使える
  • 5.1.2 Zipf's law: Modeling the distribution of terms
  • 5.2 Dictionary compression
    • モリー上に置いておけると幸せ - 小さくしておくと良いこと色々
  • 5.2.1 Dictionary-as-a-string
    • なんであらかじめ単語ごとに 4byte 確保しとく必要があるのか
      • 削る価値ある?
      • Dictionary-as-a-string storage
      • 辞書は何で固定長?
      • 辞書の更新はそれ程頻繁でないので,これで良い.
        • B-木とか使うと新しい単語を追加しやすい
  • 5.2.2 Blocked storage
    • 速度はそんなに変わらないのに,ちょっとだけ節約
      • 完全最小ハッシュはちょっと無茶ぶりっぽい?
  • 5.3 Postings file compression
    • 20ビットはもったいないので postings 間のギャップだけ覚えておけば良い
  • 5.3.1 Variable byte codes
    • 可変長なのが効率が良い
  • 5.3.2 γ codes
    • ハサミマーク
      • 難易度急上昇
    • 最適なコーディングはエントロピーで求まる
    • Variable encoding よりもオイシイ数字が出てくる可能性がある
    • γ codeで 0 はどうやって表現?
      • 1ずらすか1引く
  • misc
    • オカムラでは椅子をお試し用にかしてくれるらしい