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

相关文章

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4