2012-07-05 75 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」)

相關問題