lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steven Rowe (JIRA)" <>
Subject [jira] Commented: (LUCENE-2498) add sentence boundary charfilter
Date Tue, 15 Jun 2010 12:51:23 GMT


Steven Rowe commented on LUCENE-2498:

bq. I wonder if it would be possible/make sense to make this a tokenizer instead of a charfilter:
one token per sentence. Then token production would be in a filter stage.

well maybe we should reword the issue, it doesnt have to be a charfilter or even use a special
string to mark the sentence boundaries. But I thought as a charfilter it would allow you to
use your own tokenizer, such as StandardTokenizer along with sentence boundaries.

Using "special" tokens to carry token stream metadata feels like a fragile hack to me.

Maybe we need a new kind of analysis component to chunk input and then call a tokenizer for
each chunk.  It could be called a segmenter.  So e.g. SentenceSegmenter would detect sentence
boundaries, then send each sentence to the user's choice of tokenizer, fixing up offsets and
maybe also adding in an attribute for beginning/end of sentence.  Analysis chains could use
a segmenter+tokenizer in the same way that a tokenizer is now used.  I think segmenters could
be nested, too, e.g. a ParagraphSegmenter could take in a SentenceSegmenter as its tokenizer.

> add sentence boundary charfilter
> --------------------------------
>                 Key: LUCENE-2498
>                 URL:
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: contrib/analyzers
>            Reporter: Robert Muir
> From the discussion of LUCENE-2167:
> It would be nice to have a CharFilter? to mark sentence boundaries.
> Such functionality would be useful for:
> * prevent phrase queries with 0 slop from matching across sentences
> * inhibiting multiword synonyms, or shingles, etc.
> For sentence boundary detection we could use Jflex's support for the Unicode Sentence_Break
property etc,
> and the UAX#29 definition as a default grammar.
> One idea is to just mark the boundaries with a user-provided String.
> As a simple use-case, a user could then add this string to a stopfilter, and it would
introduce a position increment.
> This would inhibit phrase queries, etc.
> a user could use the sentence-markers to do more advanced processing downstream.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message