代码如下
package WNtest;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import edu.mit.jwi.Dictionary;
import edu.mit.jwi.IDictionary;
import edu.mit.jwi.item.IIndexWord;
import edu.mit.jwi.item.IWord;
import edu.mit.jwi.item.IWordID;
import edu.mit.jwi.item.POS;
public class WordNetDicTest {
public static void main(String[] args) throws IOException {
String myWord = "dog";
testDictionary(myWord);
}
public static void testDictionary(String myWord) throws IOException{
//1.construct the url to the WordNet dictionary directory
String wnhome = System.getenv("WordNetHome"); //get the environment variable "WordNetHome"
System.out.println("1.Environment variable \"WordNetHome\": " + wnhome);
String path = wnhome + File.separator + "dict";
URL url = new URL("file", null, path);
//2.construct the dictionary object and open it
IDictionary dict = new Dictionary(url);
dict.open();
//3.look up sense of the word
IIndexWord idxWord = dict.getIndexWord(myWord, POS.NOUN); //获取一个索引词 (myword, 名词)
IWordID wordID = idxWord.getWordIDs().get(0); //获取索引词的第一个词义(sense)ID
IWord word = dict.getWord(wordID); //根据该ID读取单词word
System.out.println("ID = " + wordID);
System.out.println("lemma = " + word.getLemma()); //词元 lemma
System.out.println("Gloss = " + word.getSynset().getGloss()); //注解 gloss
}
}