public void getSynonym(List words) { for (int i = 0; i < words.size(); i++) { IWord word = (IWord) words.get(i); System.out.println((new StringBuilder("\n\nFor Word:")).append(word.getLemma()).toString()); List hypernymList = getHypernym(word.getLemma()); for (int j = 0; j < hypernymList.size(); j++) { IWord hypernym = (IWord) hypernymList.get(j); System.out.println((new StringBuilder("Hypernym:")).append(hypernym.getLemma()).toString()); } } }
public static void main(String args[]) { WordnetTester wordnetTester = new WordnetTester(); List hypernymList = wordnetTester.getHypernym("fauna"); for (int i = 0; i < hypernymList.size(); i++) { IWord word = (IWord) hypernymList.get(i); System.out.println( (new StringBuilder("Hypernym is:")).append(word.getLemma().toString()).toString()); } wordnetTester.getHypernym(hypernymList); }
List keepUniqueTerms(List hypernymsList) { ArrayList uniqueList = new ArrayList(); ArrayList uniqueHypernymList = new ArrayList(); for (int i = 0; i < hypernymsList.size(); i++) { IWord word = (IWord) hypernymsList.get(i); if (!uniqueList.contains(word.getLemma().toString())) { uniqueList.add(word.getLemma().toString()); uniqueHypernymList.add(word); } } return uniqueHypernymList; }
public List getSynonyms(String phrase) { List synonymsList = new ArrayList(); if (dict == null) { System.out.println("Dictionary is null"); System.exit(0); } IIndexWord idxWord = dict.getIndexWord(phrase, POS.NOUN); if (idxWord != null) { IWordID wordID = (IWordID) idxWord.getWordIDs().get(0); IWord word = dict.getWord(wordID); ISynset synset = word.getSynset(); List words = new ArrayList(); IWord w; for (Iterator iterator = synset.getWords().iterator(); iterator.hasNext(); words.add(w)) w = (IWord) iterator.next(); synonymsList = keepUniqueTerms(words); } return synonymsList; }
public boolean areSynoynyms(String word1, String word2) { boolean synonyms = false; List synoymList = getSynonyms(word1); List synoym1List = getSynonyms(word2); ArrayList word1List = new ArrayList(); ArrayList word2List = new ArrayList(); for (int i = 0; i < synoymList.size(); i++) { IWord word = (IWord) synoymList.get(i); word1List.add(word.getLemma()); } for (int i = 0; i < synoym1List.size(); i++) { IWord word = (IWord) synoym1List.get(i); word2List.add(word.getLemma()); } word1List.retainAll(word2List); if (word1List.size() > 0) synonyms = true; return synonyms; }
public List getHypernym(String phrase) { List hypernymsList = new ArrayList(); if (dict == null) { System.out.println("Dictionary is null"); System.exit(0); } IIndexWord idxWord = dict.getIndexWord(phrase, POS.NOUN); if (idxWord != null) { IWordID wordID = (IWordID) idxWord.getWordIDs().get(0); IWord word = dict.getWord(wordID); ISynset synset = word.getSynset(); List hypernyms = synset.getRelatedSynsets(Pointer.HYPERNYM); List words; for (Iterator iterator = hypernyms.iterator(); iterator.hasNext(); hypernymsList.addAll(words)) { ISynsetID sid = (ISynsetID) iterator.next(); words = dict.getSynset(sid).getWords(); } hypernymsList = keepUniqueTerms(hypernymsList); } return hypernymsList; }