Как получить список существительных по категориям, т.е. noun.animal (список), noun.plant (список), используя JWNL. Пример кода будет полезен.
Обновление
Я приложил пример кода, который, я думаю, дает мне список существительных из файла noun.animal Lexicographer File.
Но существительные не отфильтрованы должным образом для правильного списка имен животных. например, кошка, собака, обезьяна. Вместо этого он дает мне следующий список
0 Animalia
1 рекомбинантный
2 conspecifi c
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 для взаимодействия со словарем wor dnet.