获得JWI和Wordnet的词汇

时间:2012-07-06 12:25:18

标签: java wordnet jwi

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

3 个答案:

答案 0 :(得分:5)

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

我建议仅从#34;仅限WordNet 3.1数据库文件"部分下载字典。 提取存档。假设PATH / dict是输出的位置,您可以使用以下代码:

Dictionary dict = new Dictionary(new File("PATH/dict"));
dict.open();
WordnetStemmer stemmer = new WordnetStemmer(dict);

List<String> test = stemmer.findStems("feet", POS.NOUN);
for (int i = 0; i < test.size(); i++) {
    System.out.println(test.get(i));
}

此示例的输出为&#34; foot&#34;。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

使用的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") );