自然语言学习,WordNet词典,java编程方法

    自然语言处理学习中,常用的英文词典是普林顿大学做的WordNet本体库,下载地址:http://wordnet.princeton.edu,中文常用到HowNet本体库,下载地址:http://www.keenage.com/。英文词典WordNet关于Windows版本目前更新至2.1,目前可以满足工程部分仿真实验,双击安装文件“WordNet-2.1.exe”,指定安装路径,完成安装。

    关于WordNet词典有不同的java接口,比如MIT,JWNL等。在安装软件和配置环境中发现JWNL对WordNet版本有严格的要求,最终采用MIT麻省理工学院编写的用于访问WorNet的Java API。JWI下载地址:http://projects.csail.mit.edu/jwi/,打开链接之后,

可以选择最后一项“All-in-one(jdk,javadocs,manual)”--->“edu.mit.jwi_2.4.0_all.zip(1503kb)”,然后进行下载操作。

----------------------------------------------------------------------------------------------------------

    配置环境:

    1.将下载好的JWI文件夹中“edu.mit.jwi_2.4.0_jdk.jar”,将jar包导入IDE中。下面演示Eclipse操作中导入jar包过程,创建新的Java Project工程,然后右键点击你的Project,在Build Path-->Configue Build Path...-->Java Build Path-->Libraries-->Add External Jars...选择刚才的edu.mit.jwi_2.4.0_jdk.jar。安装完成后,可以在Eclipse工作台查看是否导入正确。

    2.将WordNet的安装路径添加到系统环境变量中,环境变量“WNHOME”指向WordNet的安装目录,类似于jdk的“JAVA_HOME”路径设置,比如: WNHOME = “D:\Program Files (x86)\WordNet\2.1”;

--------------------------------------------------------------------------------------------------------------------------------        

       配置成功后,切记:重启Eclipse!!!

--------------------------------------------------------------------------------------------------------------------------------

       测试代码:

import java.io.*;  
import java.net.*;  
import edu.mit.jwi.Dictionary;  
import edu.mit.jwi.IDictionary;  
import edu.mit.jwi.item.*;  
  
public class HelloWordNet {  
   public static void main(String[] args) throws IOException {  
      //建立指向WordNet词典目录的URL。  
      String wnhome = System.getenv("WNHOME");  
      String path = wnhome + File.separator + "dict";  
      URL url = new URL("file", null, path);  
   
      //建立词典对象并打开它
      IDictionary dict = new Dictionary(url);  
      dict.open();  
  
     //查询money这个词的第一种意思。POS后面的参数表示要选的哪种词性的含义  
     IIndexWord idxWord = dict.getIndexWord("money", POS.NOUN);  
     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());  
   
     //第二种意思  
     IWordID wordID2 = (IWordID)idxWord.getWordIDs().get(1);  
     IWord word2 = dict.getWord(wordID2);  
     System.out.println(word2.getSynset().getGloss());  
     //第三种意思  
     IWordID wordID3 = (IWordID)idxWord.getWordIDs().get(2);  
     IWord word3 = dict.getWord(wordID3);  
     System.out.println(word3.getSynset().getGloss());   
  }   
}  


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值