テキストを取得して空白で分割し、文と段落のトークンを追加するトークナイザーを構築しています(興味がある場合は、これに関連する質問があります)が、これを実行することに加えて、次のこともできるようにしたいと思いますStandardTokenizer (および StandardFilter) も実行して、単語のよりスマートなトークン化を取得します。ここに一種の catch22 があります。
- 最初に StandardTokenizer (および場合によっては StandardFilter) を実行すると、よりスマートなトークン化が得られますが、文/段落の検出の基礎となる句読点/空白/大文字がありません。
- 最初に Tokenizer を使用すると、文と段落に必要なトークンを含めることができますが、StandardTokenizer のスマート トークン化の恩恵を受けることはできず、StandardTokenizer が既に実行されている必要がある StandardFilter の恩恵を受けることはできません。 .
これを回避するには、どのパターンを使用する必要がありますか? 最も実際的には、StandardTokenizer の TokenStream を文と段落のマーカーで拡張したいだけです。より一般的には、文/段落トークナイザーを他のトークナイザーと一緒に使用したいかもしれません。