Lindera Analysis
Lindera Analysisは、lindera-segmenterクレートが提供する形態素セグメンター(Segmenter)の上に、Lucene流のテキスト解析チェーンを重ねるクレートです。通常はlinderaファサード経由でlindera::analysisとして使います(デフォルトで有効なanalysis feature)。文字フィルタ、Segmenter、トークンフィルタを1つのTokenizerパイプラインとして組み合わせ、Rustコードから組み立てることも、YAML設定ファイルだけで組み立てることもできます。
主な特徴
- 文字フィルタ: セグメンテーション前に入力テキストを変換し、バイトオフセットは元のテキストに対して自動的に補正される
- トークンフィルタ: Segmenterが生成したトークンの変換・結合・除去・並べ替えを行う
Tokenizer/TokenizerBuilder: Rustコード、またはYAMLファイル(LINDERA_CONFIG_PATH)から解析パイプライン全体を組み立てる- 日本語・韓国語・汎用のテキスト正規化をカバーする豊富な組み込みフィルタ
依存関係
ファサード経由(推奨):
[dependencies]
lindera = "7"
#![allow(unused)] fn main() { use lindera::analysis::tokenizer::Tokenizer; }
直接依存にする場合。同じクレートなので、どちらのパスも同じ型を指します。linderaとlindera-analysisのメジャーバージョンは揃えてください(v6 から v7 への移行を参照):
[dependencies]
lindera = "7"
lindera-analysis = "7"
#![allow(unused)] fn main() { use lindera_analysis::tokenizer::Tokenizer; }