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

Другие вопросы по тегам