public Set<String> getAllWords(POS pos) { Set<String> words = new HashSet<String>(); Iterator<IIndexWord> i = dictionary.getIndexWordIterator(pos); while(i.hasNext()) { IIndexWord iw = (IIndexWord)i.next(); words.add(iw.getLemma()); } return words; }
@Override public boolean containsLexeme(String lexeme) throws LexicalSemanticResourceException { // iterate over all POS to check if there is an index word with given lexeme for (POS pos : POS.values()) { IIndexWord indexWord = dict.getIndexWord(lexeme, pos); if (indexWord != null) { if (isCaseSensitive) { if (indexWord.getLemma().equals(lexeme)) { return true; } } else { return true; } } /*if (idxWord != null) { String lemma = idxWord.getLemma(); if (lemma.equals(lexeme)) { return true; } }*/ } return false; }
public static Set<Synset> toSynset(Dictionary dict, String lexeme, boolean isCaseSensitive) throws LexicalSemanticResourceException { Set<IIndexWord> indexWords = new HashSet<IIndexWord>(); Set<Synset> resultsSynsets = new HashSet<Synset>(); for (POS pos : POS.values()) { IIndexWord indexWord = dict.getIndexWord(lexeme, pos); if (indexWord != null) { if (!isCaseSensitive) { indexWords.add(indexWord); } else { if(indexWord.getLemma().equals(lexeme)) { indexWords.add(indexWord); } } } } for (IIndexWord indexWord : indexWords) { if (indexWord != null) { List<IWordID> iwordIDs = indexWord.getWordIDs(); for (IWordID iwordID : iwordIDs) { resultsSynsets.add((Synset) dict.getSynset(iwordID.getSynsetID())); } } } return resultsSynsets; }