Java中使用Wordnet

2023-10-13 04:48
文章标签 java 使用 wordnet

本文主要是介绍Java中使用Wordnet,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

因为independent study的需要,开始研究WordNet的用法,恰好发现里面可以找到一个单词的意思,正好用的上,所以在网上查了一下怎么使用的方法。大部分内容是转载,只能说,亲测可用。

============================================================================================

目前查到的方法有两种,一种是MIT的Java Wordnet Interface,另一种是JWNL,由于查资料的时候发现使用JWNL对wordnet版本有严格的要求,所以就没使这种方法,用了JWI去做的。这种方法可以看这个链接http://blog.csdn.net/qinyinying/archive/2010/07/19/5746249.aspx

WordNet是普林斯顿大学做的一个本体库,目前做研究用的比较多的一般就是这个本体库。可以去http://wordnet.princeton.edu/这个网站上下载。我下到的在Windows上的最新版本是2.1,好像好几年没有更新了,不过也没有关系,毕竟不会真的做工程应用,只用于实验仿真足够了。安装过程同一般软件。安装目录要记得,后面要用到,我的目录是C:\Program Files\WordNet\2.1。

然后下JWI,下载链接http://www.mit.edu/~markaf/prj/jwi/,可以选最底下那个一起打包下载的,包括了manual,有个PDF文档上面有些例子讲解还比较全。照着上面的例子做也可以直接跑起来。

下下来的包里有个edu.mit.jwi_2.1.5_jdk的jar包。然后在IDE里导入这个JAR包。我用的是Eclipse,创建一个新的Java Project,然后右键点击你的Project,在Build Path-->Configue Build Path...-->Java Build Path-->Libraries-->Add External Jars...选择刚才的edu.mit.jwi_2.1.5_jdk,这样你的Project里就包含了这个MIT的Library了。

然后把WordNet的安装路径编辑进环境变量,这样是为了程序里面可以找到它。PDF里有句话In this particular example, the base Wordnet directory is assumed to be stored in a system environment variable called WNHOME; this may be different on your system. Note that the WNHOME variable points to the root of the Wordnet installation directory and the dictionary data directory “dict” must
be appended to this path.大概就是这么个意思。跟配置JDK的JAVA_HOME差不多,都是在系统变量了配的。

============================================================================================

写这个博客的主要问题就是这里,首先要注意,配置系统变量里直接加入WNHOME就好。并且,在这之后重启Eclipse。我就是因为没有重启Eclipse,试了半天都不行。。。

============================================================================================

配完后直接贴上那个PDF里的SAMPLE程序跑就可以了。

package com.buptyoyo;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) 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());}}




转自:http://hi.baidu.com/buptyoyo/item/f13dfe463c061e3afb896028

这篇关于Java中使用Wordnet的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/200866

相关文章

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

Java中的@SneakyThrows注解用法详解

《Java中的@SneakyThrows注解用法详解》:本文主要介绍Java中的@SneakyThrows注解用法的相关资料,Lombok的@SneakyThrows注解简化了Java方法中的异常... 目录前言一、@SneakyThrows 简介1.1 什么是 Lombok?二、@SneakyThrows

Java中字符串转时间与时间转字符串的操作详解

《Java中字符串转时间与时间转字符串的操作详解》Java的java.time包提供了强大的日期和时间处理功能,通过DateTimeFormatter可以轻松地在日期时间对象和字符串之间进行转换,下面... 目录一、字符串转时间(一)使用预定义格式(二)自定义格式二、时间转字符串(一)使用预定义格式(二)自