java - Lucene 词干提取器之间的区别 : EnglishStemmer, PorterStemmer、LovinsStemmer

标签 java lucene stemming

有没有人比较过 Lucene 中的这些词干提取器(包 org.tartarus.snowball.ext): EnglishStemmer, PorterStemmer, LovinsStemmer? 它们背后的算法有哪些优点/缺点? 什么时候应该使用它们? 或者也许有更多的算法可用于英语单词词干提取?

谢谢。

最佳答案

Lovins 词干分析器是一个 very old这个算法没有太多实际用途,因为 Porter 词干分析器要强大得多。基于对源代码的一些快速浏览,PorterStemmer 似乎实现了 Porter 的 original (1980) algorithm。 ,而 EnglishStemmer 实现了他的 updated version ,应该会更好。

Stanford NLP 工具中提供了一种更强大的词干提取算法(实际上是词形还原器)。您真正的桥梁 Lucene-Stanford NLP 可用 here (API docs)。

另见 Manning, Raghavan & Schütze有关词干提取和词形还原的一般信息。

关于java - Lucene 词干提取器之间的区别 : EnglishStemmer, PorterStemmer、LovinsStemmer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5068790/

相关文章:

java - 如何将时间转换为字符串或整数

Java注解,属性值必须是常量

lucene - Elasticsearch 过滤结果按 id 排除

solr - 有没有办法用不同的配置文件运行 NUTCH?

lucene - Neo4J 1.9.1 的替代 IndexProvider

python - 我应该同时进行词形还原和词干提取吗?

java - 面孔重定向作为链接的默认设置?

Java:使用类型参数访问私有(private)构造函数

java - 如何使用R语言tm(文本挖掘)包中的stemDocument?

Lucene 同义词扩展、词干、拼写检查等