- 在官网https://wordnet.princeton.edu/download下载wordnet,点击下图中的【Download old versions of WordNet】:
- windows和unix版安装包都下载下来,我下载的是wordnet2.1版本
- windows下运行【WordNet-2.1.exe】,直接下一步安装完成。
- 在http://projects.csail.mit.edu/jwi/下载用来操作Wordnet的jar包edu.mit.jwi_2.4.0_all.zip
- 解压edu.mit.jwi_2.4.0_all.zip 后,在eclipse项目的【Build Path】中导入edu.mit.jwi_2.4.0_jdk.jar
- 设路径Path="Wordnet安装路径/dict",基于Wordnet取词"go"的同义词代码如下:
- package wordnet;
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.ISynset;
import edu.mit.jwi.item.IWord;
import edu.mit.jwi.item.IWordID;
import edu.mit.jwi.item.POS;
public class GetWordSynsetsTest {
public static void main(String[] args) throws IOException{
File wnDir=new File(Path);
URL url=new URL("file", null, Path);
IDictionary dict=new Dictionary(url);
dict.open();//打开词典
getSynonyms(dict); //testing
}
public static void getSynonyms(IDictionary dict){
// look up first sense of the word "go"
//IIndexWord idxWord2 = dict.
IIndexWord idxWord =dict.getIndexWord("go", POS.VERB);
IWordID wordID = idxWord.getWordIDs().get(0) ; // 1st meaning
IWord word = dict.getWord(wordID);
ISynset synset = word.getSynset (); //ISynset是一个词的同义词集的接口
// iterate over words associated with the synset
for(IWord w : synset.getWords())
System.out.println(w.getLemma());//打印同义词集中的每个同义词
}
} - 在unix系统中安装Wordnet,需要先安装tc和tk,再解压刚才下载的WordNet-2.1.tar.gz,然后进入解压后的Wordnet文件夹,进行配置操作如下:
-
sudo apt-get install tcl8.4-dev
sudo apt-get install tk8.4-dev
tar -zxvf WordNet-2.1.tar.gz
cd WordNet-2.1/
./configure --with-tk=/usr/lib/tk8.4/ --with-tcl=/usr/lib/tcl8.4
sudo vi /etc/bash.bashrc PATH=$PATH:/usr/local/WordNet-2.1/bin
-
看到这里就说明安装成功了。java类的编写和windows没有区别,路径Path依然为Wordnet安装路径/dict