/**
*
*/
package outputter.knowledge;
import java.util.Hashtable;
import java.util.List;
import java.util.Set;
import org.apache.log4j.Logger;
import edu.mit.jwi.item.IIndexWord;
import edu.mit.jwi.item.ISenseEntry;
import edu.mit.jwi.item.ISynset;
import edu.mit.jwi.item.IWord;
import edu.mit.jwi.item.IWordID;
import edu.mit.jwi.morph.WordnetStemmer;
/**
* @author updates
*
*/
public class WordNet {
private static final Logger LOGGER = Logger.getLogger(WordNet.class);
// This methods get all the possible synonyms with POS of the word passed.
public static Hashtable<String,Integer> getallsynonyms(String word) {
// TODO Auto-generated method stub
Hashtable<String,Integer> synonyms = new Hashtable<String,Integer>();
ISenseEntry senseEntry;
WordnetStemmer stemmer = new WordnetStemmer(Dictionary.wordnetdict);
if(word.length()>0)
{
for(edu.mit.jwi.item.POS pos : edu.mit.jwi.item.POS.values()) {
List<String> stems = stemmer.findStems(word, pos);
//System.out.println(stems.size());
for(String stem : stems) {
IIndexWord indexWord = Dictionary.wordnetdict.getIndexWord(stem, pos);
if(indexWord!=null) {
int count = 0;
for(IWordID wordId : indexWord.getWordIDs()) {
//System.out.println(wordId);
IWord aWord = Dictionary.wordnetdict.getWord(wordId);
ISynset synset = aWord.getSynset();
for( IWord w : synset.getWords ())
{
synonyms.put(w.getLemma().replaceAll("_", " ").trim(),Dictionary.wordnetdict.getSenseEntry(aWord.getSenseKey()).getTagCount());
// System.out.println(w.getLemma().replaceAll("_", " ").trim()+ Dictionary.wordnetdict.getSenseEntry(aWord.getSenseKey()).getTagCount());
}
}
}
}
}
}
return synonyms;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Hashtable<String,Integer> synonyms = getallsynonyms("centrally");
Set<String> all_syn = synonyms.keySet();
for(String temp:all_syn);
//System.out.print("");
}
}