Suffix Array を用いた日本語単語分割 (伊東1999)

基本的には、対象文字列の区間と一致している事例データの区間を見つけ、
そこでの分割を真似する、という方法。
対象文字列中の各位置からの部分文字列のうち、事例文字列に現れ、
かつ長さ極大の部分文字列に対する事例での分割を類似度の重みつきで採用する。
ここで類似度はその部分文字列の長さそのものとする。
たとえば、対象文字列での現在位置からの部分文字列がabcd..で、
事例としてabxx(++ )、abcdxxx(+--- )の2つがあったとする
(+はその位置の直後で分割があることを示す)
正なら分割することを示す各位置に対するスコアを
0 (a): 2 + 4
1 (b): 2 + -4
2 (c): -4
3 (d): -4
と求める。

最長一致部分文字列の選択には接尾辞配列を利用する。
現在位置の文字から順に、その文字の接尾辞配列上での出現位置を2分探索していき、
見付からなくなった直前が最長一致である。

もっとも単純には、この照合を、対象文字列中の位置0から順にすべての位置にたいして行う。