package wordnet;
// see http://lyle.smu.edu/~tspell/jaws/index.html for Jaws source code
import edu.smu.tspell.wordnet.Synset;
import edu.smu.tspell.wordnet.WordNetDatabase;
import edu.smu.tspell.wordnet.WordSense;
import edu.smu.tspell.wordnet.impl.file.PropertyNames;
import java.util.Arrays;
import java.util.List;
/**
* Use WordNet
*
* <p/>
* Copyright 2004-2012 by Mark Watson. All rights reserved.
* <p/>
* This software is can be used under either of the following licenses:
* <p/>
* 1. LGPL v3<br/>
* 2. Apache 2
* <p/>
*/
public class WordNetTest {
public WordNetTest() {
database = WordNetDatabase.getFileInstance();
}
public List<Synset> getSynsets(String word) {
return Arrays.asList(database.getSynsets(word));
}
public static void main(String[] args) {
System.setProperty(PropertyNames.DATABASE_DIRECTORY, "/Users/markw/Documents/WORK/wordnet3/dict");
System.out.println(System.getProperty(PropertyNames.DATABASE_DIRECTORY, "."));
WordNetTest tester = new WordNetTest();
String word = "bank";
List<Synset> synset_list = tester.getSynsets(word);
System.out.println("\n\n** Process word: " + word);
for (Synset synset : synset_list) {
System.out.println("\nsynset type: " + SYNSET_TYPES[synset.getType().getCode()]);
System.out.println(" definition: " + synset.getDefinition());
// word forms are synonyms:
for (String wordForm : synset.getWordForms()) {
if (!wordForm.equals(word)) {
System.out.println(" synonym: " + wordForm);
// antonyms mean the opposite:
for (WordSense antonym : synset.getAntonyms(wordForm)) {
//System.out.println(antonym);
for (String opposite : antonym.getSynset().getWordForms()) {
System.out.println(" antonym (of " + wordForm+"): " + opposite);
}
}
}
}
System.out.println("\n");
}
}
private WordNetDatabase database;
private final static String[] SYNSET_TYPES = {"", "noun", "verb"};
}