自然言語的データに対する接尾辞配列の構築

接尾辞配列を直接構築する方法のほとんどは、
全部をソートせず、一部分だけをソートし、
残りは接尾辞同士の関係から順序を決める、というものが多いようだ。
直接構築でないのは、いったん接尾辞木を作る方法。

また、自然言語データは、長い部分一致箇所がある
ことが多い(引用など)ので、一般的なソートの性能が悪くなりやすい。
これを解決する目的で作られたアルゴリズムもある。

  • リコーの伊東さんによる、二段階ソート法

まず、接尾辞を最初の1文字でソートする。(バケットソート)
最初の1文字によって分けられた区間が出来る。
これらの区間内のソートができれば、接尾辞配列が完成する。
2文字目と1文字目が、辞書式順序にしたがっている場合は、そのまま

長い部分一致長により性能が悪化するので、
それを防いだ発展型のアルゴリズムが、
実用上、高速といわれているみたい。

  • Larsson, Sadakane法
  • Skew algorithm

mod 3で1、2になる部分について、