0

如何使用 JWNL 根据类别获取名词列表,即 noun.animal (list),noun.plant(list)。示例代码会有所帮助。

更新

我附上了示例代码,我认为它为我提供了 noun.animal Lexicographer 文件中的名词列表。

但是名词没有被适当地过滤掉以获得正确的动物名称列表。例如猫、狗、猴子。相反,它给了我以下列表

0 动物界

1 重组

2同种

3 载体

.

.

代码:

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Iterator;
import net.didion.jwnl.JWNL;
import net.didion.jwnl.JWNLException;
import net.didion.jwnl.data.POS;
import net.didion.jwnl.data.Synset;
import net.didion.jwnl.dictionary.Dictionary;

public class AnimalNounListTEST { 

    public static void main(String[] args) throws FileNotFoundException, JWNLException {
        JWNL.initialize(new FileInputStream("config/properties.xml")); 
        final Dictionary dictionary = Dictionary.getInstance();
        Iterator<Synset> nounsList = dictionary.getSynsetIterator(POS.NOUN);
        int i=0;
        while (nounsList.hasNext()) 
        {           
                Synset synset = nounsList.next() ;
                 if(synset.getLexFileName().equals("noun.animal")){
                        System.out.println(i+" "+synset.getWord(0).getLemma() +  " "); 
                        i++;
                 }
        }

    }

}

我正在使用 jwnl-1.4_rc3.jar 库与 wordnet 字典进行交互。

4

0 回答 0