2014-01-21 5 views
2

Я использую www.wordnet.princeton.edu с открытым исходным кодом с библиотекой www.projects.csail.mit.edu/jwi/api/edu/mit/jwi?WordNet (JWI MIT): Антонимы слова?

Я не могу найти антонимы слова. Люди утверждают, что это очень хороший словарь, но я не мог найти в нем свои слова. Мне нужны Антонимы и другие родственные слова. Хорошие описания и другая лексика, но я не могу найти то, что мне нужно.

Вот мой код:

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.** Каждое предложение оценено.

+0

Не каждое слово имеет антоним. сравните свои тесты с любым словом browswer, чтобы проверить правильность результата. например artha.sourceforge.net –

+0

В WordNet антонимы некоторых слов по-прежнему отсутствуют. Но слова имеют антонимы. – Master

+0

@PJakhar: Каким будет антоним, скажем, «коза»? –

ответ

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

+0

Спасибо Amit G. Я уже реализовал это, но для мобильных приложений эта база данных слишком велика и часто запрашивает ее с течением времени. Я прошел через эти указатели. Я могу получить Антонимы за слово, для которого существует словарь. – Master

+0

Словарь Wordnet имеет площадь около 35 МБ, но я думаю, что это довольно впечатляет для более 200 тыс. Слов с их значениями, пример использования, семантических и лексических отношений. –

+0

Но, как я уже говорил, часто его спрашивают, все может замедлить весь процесс. И еще одна вещь. Если вы можете мне помочь, мне нужен список всех слов в последовательном порядке. HOw я могу найти это. – Master