An algorithm for suffix stripping (1980)

February 11, 2022

Poterのステミングで知られる。 アルゴリズムが単純で、辞書を必要としないところに特徴がある。 規則にしたがって単語の接尾辞を段階的に変換し、変換後の文字列を語幹とみなす。

まず、文字を、A, E, I, O, Uと一つ前の文字が子音でないYをconsonant, それ以外の文字をvowelの2つに区別する。 consonantをC, vowelをV, [C]や[V]を高々1つのCやV, \(\text{(VC)}^m\)をVCのm回のくりかえしとする。 このとき、任意の文字列を[C] \(\text{(VC)}^m\)[V] とかける。 規則は、(condition) S1 \(\rightarrow\) S2 で表記され、単語が(condition)をみたすときに、接尾辞S1をS2に変換すると解釈する。 (condition)には、(m>1)や(* v *)のように、文字列長やパターンがはいる。 たとえば、"(m > 1) EMENT \(\rightarrow\) “にしたがうと、REPLACEMENTをREPLACに変換できる。

論文をこちらからダウンロードできます。