WordNet(JWI MIT): антонимы слова?
Я использую словарь с открытым исходным кодом http://www.wordnet.princeton.edu/ с библиотекой http://www.projects.csail.mit.edu/jwi/api/edu/mit/jwi?
Я не могу найти антонимы слова. Люди утверждают, что это очень хороший словарь, но я не смог найти в нем своих слов. Мне нужны антонимы и другие родственные слова. Хорошие описания и другая словарная информация, но я не могу найти то, что мне нужно.
Вот мой код:
List<IWordID> wordIDList = indexWordList.get(0).getWordIDs();
for(int idIndex = 0; idIndex < wordIDList.size(); idIndex++)
{
IWordID wordID = wordIDList.get(idIndex);
IWord word = m_Dict.getWord(wordID);
System.out.println("Id = " + wordID);
System.out.println(" Lemma = " + word.getLemma());
System.out.println(" Gloss = " + word.getSynset().getGloss());
ISynset synset = word.getSynset();
String LexFileName = synset.getLexicalFile().getName();
System.out.println("Lexical Name : " + LexFileName);
/** Finding stem for the word. */
WordnetStemmer stem = new WordnetStemmer(m_Dict);
//System.out.println("test" + stem.findStems(key, POS.NOUN));
ArrayList<String> antonymsList = new ArrayList<String>();
List<IWordID> relatedWords = word.getRelatedWords();
Map<IPointer, List<IWordID>> map = word.getRelatedMap();
AdjMarker marker = word.getAdjectiveMarker();
for (IWordID antonym : word.getRelatedWords()) {
String meaning = m_Dict.getWord(antonym).getLemma();
antonymsList.add(meaning);
System.out.println("Antonym: " + meaning);
System.out.println("Antonym POS: " + m_Dict.getWord(antonym).getPOS());
}
}
Что мне на самом деле нужно?:::
Мне нужны предложения о том, как я могу получить эту соответствующую информацию из WordNet. Также, **I am open to accept any other API or library that will provide me the latest version of Dictionary, antonyms, Synonyms and well written description.**
Каждое предложение приветствуется.
1 ответ
Используйте IWord # getRelatedMap, чтобы получить карту java.util.Map<IPointer,java.util.List<IWordID>>
, Эта карта содержит карту отношений текущей леммы (слова) с другими словами.
Проверьте наличие Pointer#Antonym на этой карте.
Взгляните на Wordnet интерфейс Artha, чтобы сравнить правильность результатов поиска в словаре.
Нет прямого способа иметь список всех слов. Использовали хак:
sed 's/^\ *//' index.adj | cut -f1 -d\
Точка это для всех файлов индекса: index.adj, index.adv, index.noun, index.sense, index.verb