如何使用 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 字典进行交互。