获得JWI和Wordnet的词汇

如何正确使用MIT的JWI(Java API for WordNet)中实现的stemmer方法来获得单词的词干? 我不知道如何初始化一个词干分析器并使用findStems方法。

您不需要额外的库,但确实需要字典。 您可以从普林斯顿下载一个: https : //wordnet.princeton.edu/wordnet/download/current-version/

我建议仅从“WordNet 3.1 DATABASE FILES ON”部分下载字典解压缩存档。 假设PATH / dict是输出的位置,您可以使用此代码:

Dictionary dict = new Dictionary(new File("PATH/dict")); dict.open(); WordnetStemmer stemmer = new WordnetStemmer(dict); List test = stemmer.findStems("feet", POS.NOUN); for (int i = 0; i < test.size(); i++) { System.out.println(test.get(i)); } 

此示例的输出是“foot”。

这是对sakthi答案的评论:在调用findStems方法(JWI findStems ): http:// projects时,你实际上必须精确地找到你正在寻找的POS(名词,形容词,动词等) 。 csail.mit.edu/jwi/api/edu/mit/jwi/morph/IStemmer.html

使用的jar文件是edu.mit.jwi_2.1.4.jar和edu.sussex.nlp.jws.beta.11.jar

 JWS ws = new JWS("C:/Program Files/WordNet","2.1"); WordnetStemmer stem = new WordnetStemmer(ws.getDictionary()); System.out.println("test" + stem.findStems("reading") );