今までのspiltterインターフェースでは、入力された文字列情報を分割し、その部分文字列を特徴情報として利用していた。この方法は、
- 部分文字列以外の文字列情報を利用できない。そのため、例えば自然言語処理でよくあるような、原型に戻したりstemmingしたり、といった処理が行えない
- 特徴の重みを任意に変えることができない。そのため、たとえば文書長のような特徴を利用できない
といった欠点があった。 そこで、2つの欠点を克服できるようなstring_featureインターフェースを作成した上で、従来のsplitterはstring_featureのサブクラスとして、自然に拡張できるようにした。従来のsplitterとsplit関数はそのまま残し、過去に作成された資源は再コンパイルによって利用できる。
string_featureは、入力された文字列に対して、特徴表現文字列とそのスコアのペアの集合を返す。これにより、上記の欠点は以下のように克服できる。