2012-07-05 76 views
1

我在Java中使用Lucene来索引一个语料库并从中提取词干的词表。我使用英语分析器。然后,我将这个单词列表交给Python,用NLTK做一些事情。 NLTK中是否有一个词干与Lucene的英语分析器使用的词干完全兼容?NLTK和Lucene之间Stemmers的兼容性

我知道我也可以使用PyLucene来规避这一点,但我想尽量减少依赖关系。

回答

1

您可以在http://text-processing.com/demo/stem/试用各种NLTK词干程序,并使用结果与Lucene的英语分析程序的工作方式进行比较。它有可能实现了Porter或Lancaster的常用算法之一。

0

所以,如果我没有错,lucene有几个stemmer是由他人贡献(即雪球,egothor,stempel)。考虑到只有雪球干球者与NLTK运动员干球员,即使是NLTK api也认为雪球干球运动员更可靠。见http://nltk.googlecode.com/svn/trunk/doc/api/nltk.stem.porter-module.html

如果我们对英语的几个比较而产生(使用http://snowball.tartarus.org/demo.phphttp://text-processing.com/demo/stem/

雪球:

cat -> cat 
computer -> comput 
argues -> argu 

NLTK波特:

cat computer argue -> 
cat comput argu 

因此,从演示,看起来他们几乎是一样的,但可以肯定的是,我会坚持雪球并继续在java中编写代码,因为NLTK api表明了这一点。

P/S:嗨马克舒勒,(我是疯狂的亚洲人谁发音你的名字没有“d”)

相关问题