gpt4 book ai didi

lucene - ElasticSearch 词干提取

转载 作者:行者123 更新时间:2023-11-29 02:47:54 25 4
gpt4 key购买 nike

我正在使用 ElasticSerach,我想为英语设置基本的词干提取。所以基本上,fighter 返回 fight 或任何包含 fight 词根的单词。

我有点困惑如何实现它。我通读了分析器、分词器和过滤器,发现有多种词干提取算法可用于 ElasticSearch。我只是不确定使用哪种组合——雪球、词干分析器、波特词干或同义词过滤器。

此外,映射的示例会非常有帮助。

最佳答案

请注意difference between stemming and lemmatisation .词干提取算法应用一系列规则(和/或字典查找,例如 KStem 的情况)并且不保证结果将是正确的语言“根”(即引理)。

因此,例如“marinate”和“marines”这两个词都会被 Porter 词干分析器转换为“marin”,这被认为是非常“激进”的词干分析器——它往往会为大量单词生成相同的词干。还有更保守的,例如 S-Stemmer,它只将复数形式转换为单数形式 (org.apache.lucene.analysis.en.EnglishMinimalStemFilter)。

研究论文中发现的词干提取方法比较似乎支持 KStem,因为它对英语文本最有效,但词干提取器的选择在很大程度上取决于文档的词汇量。您的目标不是优化词干分析器的性能,而是优化搜索引擎的性能,因此在实践中将其与系统的其他元素(尤其是查询扩展)分开衡量并不是一个好主意。

最好的解决方案是尝试 elasticsearch 中可用的多种不同的词干提取器(可以看到示例映射 here )并观察结果的精确度和召回率。如果您没有查询测试套件,那么最好的办法是执行“典型”查询并注意“奇怪”结果(词干分析器的影响过于激进)或“好”结果被忽略(过于保守)词干分析器)。

关于lucene - ElasticSearch 词干提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11435494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com