- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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/
我想搜索一个单词及其在句子中的变体。例如,单词“happy”的变体是“happiest”、“happier”。有java库支持吗? 最佳答案 您可以使用Porter stemming algorith
愚蠢的,但我无法访问 NLTK 中的主干函数。 我打电话 import nltk nltk.stem.porter.step1ab() 但我被告知该对象没有 step1ab 属性。我想我以某种方式没有
我想将 DataFrame 的列和索引限制为这样的内容 ps = PorterStemmer() df_dic = pd.read_csv('inquirerbasic_clean.csv', sep
查看以下脚本tortest.py,它反复切换TOR电路并检查IP地址是否已更改: #!/usr/bin/env python2.7 # -*- coding: utf-8 -*- import jso
我是一名优秀的程序员,十分优秀!