MIT Java Wordnet Interface初体验
来源:互联网 发布:win7怎么关闭端口 编辑:程序博客网 时间:2024/06/06 20:13
最近上软件工程这门课,老师留了个作业是关于在WordNet之上做一个软件名称查询的模块。既然是基于WordNet,那么无疑就需要一个关于WordNet的Java Interface,挑了又挑,选了又选决定使用MIT的开源产品JWI,抓瞎了一天,总算是把它的简单程序在Eclipse里跑起来了,所以今天先做个总结,以后的学习笔记以后再写吧。
首先要从http://wordnet.princeton.edu/上下载WordNet,支持Windows系统的最新版本是WordNet2.1,是可执行文件,下载之后双击安装就可以了,记住安装目录,以后会用到。我的安装目录是C:/Program Files/WordNet/2.1。
然后下载MIT Java WordNet Interface,下载地址如下http://www.mit.edu/~markaf/prj/jwi/,我下载的版本是2.1.4,下载之后解压,会发现有一个 edu.mit.jwi_2.1.4_jdk的jar包。
现在准备工作已经做完了,除非你的机器还没有安装JDK或Eclipse,因为这两者是需要的,至少JDK是需要的。接下来打开Eclipse,创建一个新的Java Project,然后右键点击你的Project,在Build Path-->Configue Build Path...-->Java Build Path-->Libraries-->Add External Jars...选择刚才的edu.mit.jwi_2.1.4_jdk,这样你的Project里就包含了这个MIT的Library了。然后回到桌面右键点击“我的电脑”-->“属性”-->“高级”-->"环境变量",在系统变量中添加一个叫做WNHOME的变量,值就是你刚才安装WordNet的安装目录,我这里的值就是C:/Program Files/WordNet/2.1。这样做的目的一会儿就会明白。
重新启动Eclipse,在你的Project里建立一个新的包,在包里新建一个Java文件,内容如下:
package wordnet;
import java.io.*;
import java.net.*;
import edu.mit.jwi.Dictionary;
import edu.mit.jwi.IDictionary;
import edu.mit.jwi.item.*;
public class HiWordnet {
public static void main(String[] args) {
//建立指向WordNet词典目录的URL。
String wnhome = System.getenv("WNHOME");
String path = wnhome + File.separator + "dict";
URL url=null;
try{
url = new URL("file", null, path);
}
catch(MalformedURLException e){
e.printStackTrace();
}
if(url == null)
return;
//建立词典对象并打开它。
IDictionary dict = new Dictionary(url);
dict.open();
//查询dog这个词的第一种意思。
IIndexWord idxWord = dict.getIndexWord("enough", POS.ADVERB);
IWordID wordID = (IWordID)idxWord.getWordIDs().get(0);
IWord word = dict.getWord(wordID);
System.out.println("Id = " + wordID);
System.out.println("Lemma = " + word.getLemma());
System.out.println("Gloss = " + word.getSynset().getGloss());
}
}
看过以上的代码就应该知道刚才添加WNHOME这个系统变量的意图了,就是为了在程序中使用WordNet的字典。现在运行这个Java程序,可得结果下:
Id = WID-00146900-R-??-enough
Lemma = enough
Gloss = as much as necessary; "Have I eaten enough?"; (`plenty' is nonstandard) "I've had plenty, thanks"
至此,你的WordNet就可以在JWI的操作下发挥作用了,至于你想实现什么功能的模块就是自己的事了。
- MIT Java Wordnet Interface初体验
- 使用MIT JWI(Java WordNet Interface)查询WordNet反义词
- WordNet--JWI( the MIT Java Wordnet Interface) 获取信息
- WordNet词网研究——JWI(Java Wordnet Interface)WordNet Java接口
- WordNet词网研究——JWI(Java Wordnet Interface)WordNet Java接口
- WordNet词网研究6——之JWI(Java Wordnet Interface)WordNet Java接口
- Java中使用Wordnet
- 关于用MIT的JWI查询WordNet的有关问题
- WordNet
- Wordnet
- WordNet
- wordnet
- WordNet
- WordNet
- wordnet
- java使用wordnet获取近义词
- WordNet Interface(Wordnet一些有用的函数,做了一下标注方便查找)
- JWNL - Java WordNet Library - Dev Guide
- .Net下调用SQL Server2000中存储过程
- 做对的事情,把事情做对——中创软件董事长景新海访谈
- Developer to Designer: GUI Design for the Busy Developer
- Effective C#之14:Utilize Constructor Chaining
- 常用Oracle数据库调优工具介绍[转]
- MIT Java Wordnet Interface初体验
- C++代码
- 初学者的迷茫
- PHP - XML - Creating XML
- JS: onfocus和onblur事件应用举例
- JAVA的几个常见错误简析
- PHP - Xml - Adding or Removing XML Nodes
- PSMLIB个人服务器管理组件,IIS管理组件,FTP管理组件
- .NET 2.0 中TextBox只读时在客户端赋值后的取值问题