高速文字列解析の世界
クライアントサイドでメモリに乗る程度のデータ量に対してO(n)よりも効率よく全文検索するニーズがある
たとえばGitHubでは、hotkey:t からのファイル検索はまさこのパターン
https://gyazo.com/7e7ec49a464d894dd9dc28567f6a075c
第1章 文字列解析の今
1.1 世の中の文字列
1.2 現在の計算機環境
1.3 文字列解析の例
1.4 文字列解析のための道具
1.5 本書の概要
第2章 文字列解析の準備
2.1 文字列の記法
2.2 文字列上の操作
2.3 経験エントロピー
2.4 計算モデル
2.5 符号
第3章 Burrows Wheeler変換 (BWT) 3.1 接尾辞配列
3.2 Burrows Wheeler変換
3.3 接尾辞配列,BWTの構築
3.4 BWTの性質と復元
4.1 圧縮と索引の融合
4.2 完備辞書
4.3 木に対する簡潔データ構造
5.1 文字列上の操作の実現
5.2 ウェーブレット木の構築方法と特徴
5.3 文字列操作の実現
5.4 さまざまなデータへの適用
5.5 ウェーブレット木の圧縮
5.6 アルファベット数が大きい場合
第6章 文字列データ圧縮
6.1 基本的なデータ圧縮の例
6.2 辞書を用いた圧縮:LZ法
6.3 文脈を利用した圧縮:PPM法
6.4 BWTを利用した圧縮
6.5 透過的データ圧縮
7.1 問題設定
7.2 逐次検索
7.3 全文索引
7.4 接尾辞配列による検索
7.6 キーワード集合の管理
7.7 アルファベットサンプリング
第8章 テキストマイニングのためのデータ構造
8.1 接尾辞木と極大部分文字列
8.2 文書集合の統計量
8.3 文書配列を利用した統計量の計算