23

刚刚开始使用 Lucene.Net。我使用标准分析器索引了 100,000 行,运行了一些测试查询,并注意到如果原始术语是单数,复数查询不会返回结果。我了解雪球分析器添加了词干支持,这听起来不错。但是,我想知道使用雪球超过标准的锣是否有任何缺点?跟着它走,我会失去什么吗?是否还有其他分析仪可供考虑?

4

3 回答 3

18

是的,通过使用诸如 Snowball 之类的词干分析器,您会丢失有关文本原始形式的信息。有时这很有用,有时没有。

例如,Snowball 会将“组织”分解为“器官”,因此搜索“组织”将返回带有“器官”的结果,而不会受到任何得分惩罚。

这是否适合您取决于您​​的内容以及您支持的查询类型(例如,搜索是否非常基本,或者用户是否非常复杂并使用您的搜索来准确过滤结果)。您可能还想研究不那么激进的词干分析器,例如KStem

于 2010-10-06T17:52:04.147 回答
6

雪球分析仪会增加你的召回率,因为它比标准分析仪更具侵略性。因此,您需要评估您的搜索结果,看看您的数据是否需要提高召回率或精度

于 2010-10-10T11:08:16.453 回答
4

我刚刚完成了一个执行词形还原的分析器。这类似于词干提取,除了它使用上下文来确定单词的类型(名词、动词等)并使用该信息来推导词干。它还在索引中保留单词的原始形式。也许我的图书馆对你有用。不过,它需要 Lucene Java,而且我不知道有任何 C#/.NET 词形还原器。

于 2010-10-07T10:25:19.097 回答