java nlpir_中科院NLPIR中文分词java版

摘要:为解决中文搜索的问题,最开始使用 版 SCWS ,但是处理人名和地名时,会出现截断人名地名出现错误。开始使用 NLPIR 分词,在分词准确性上效果要比 SCWS 好。本文介绍如何在 系统下 JAVA ,生成可以执行的 jar 文件。

c7daf0bc663746719d362882a03f39c8.png

NLPIR 的下载地址:

http://ictclas.nlpir.org/downloads

两个版本有一些不同,本文将分别讲解如何利用 Ecl 建立工程。

一、NLPIR 官方版本

下载后文件夹中 bin NLPIR_WinDemo.exe 是一个 NLPIR 的演示程序,可以尝试运行,了解 NLPIR 的功能。

86d4665b9f160d41f0be0eac04a9388d.png

工程sample 目录下,包含 C 、 C++ 、 、 JAVA 、 Python 等语言示例。

用 Eclipse 新建一个工程导入 JAVA 工程目录 JnaTest_NLPIR ,

( 1 ) Eclipse -> File->import

2e6ce3ded35288d890cfc1aacad9658c.png

(2)选择 JnaTest_NLPIR 所在的路径,点击 Finish

43f242acb4860114d624530fea39edd2.png

(3)查看 Eclipse 工程

bedb92a14d815788063c7bbec022d952.png

(4)NlpirTest.文件中包含 main 函数,下面的语句初始化 NLPIR 需要的库文件

9b57de41dcb25f3e2e82f68b4895148a.png

CLibrery 类是包含在 NlpirTest.java 文件中,

CLibrary Instance = (CLibrary) Native.loadLibrary("H://workspace//ictclas//1//ICTCLAS2015//lib//win64//NLPIR", CLibrary.class);

函数 loadLibrary 需要传递库文件位置,源码提供了多种语言类库,我们的工程需要加载 win64 类库,该文件夹内容如下 ,

1d7523a20eddb3be7e7e0074dde8b844.png

(5)加载分词Data 文件夹路径

String argu = "H://workspace//ictclas//1//ICTCLAS2015"; String system_charset= "UTF-8";int charset_type = 1;int init_flag = CLibrary.Instance.NLPIR_Init(argu, charset_type, "0");

H://workspace//ictclas//1//ICTCLAS2015是Data 文件夹的父文件夹。

这步骤完成后,你就可以可以阅读手册。

二、github 上下载的代码

目录中包含了 NLPIR SDK 目录,每一个目录是 NLPIR 提供的一个组件。 NLPIR-ICTCLAS 目录包含 NLPIR 组件的代码。

在 Eclipse 中导入 ICTCLAS_java 工程,工程目录如下图

c0dee602eff17fd94554c9f048b8b066.png

工程中没有填写main 函数,可以在 NlpirTest.java 文件中,加入 main 函数

public classNlpirTest {public static void main(String[] args) throwsException{ NlpirTest t= newNlpirTest(); t.testParticiple(); }public void testParticiple() throwsIOException { ..... } ....... }

和官方 win32 、 win64 、 、 linux64 都是包含库文件的文件夹。

同时会自动加载“工程当前目录“下 Data 问佳佳为分词数据目录。这些目录设置好,就可以进行调试工作了。

三、在 github 中"查找关键字"的组件 Key_Extract

工程目录如下,

6047912dcabdbfe714013610e7eab090.png

project 中提供 java 版本的示例代码,利用 Eclipse 导入工程

656fbc69e3cfa3e00da23246eaab9613.png

同样在 KeyExtractor.java 文件中添加 main 函数。 KeyExtract_GetKeyWords 的第一个

public static voidmain(String[] args) { String= CLibraryKeyExtractor.instance.KeyExtract_GetKeyWords(args[0], 10, true); System.out.println(keyWordsStr); CLibraryKeyExtractor.instance.KeyExtract_Exit(); }

在工程的当前文件夹下,有一个 Data 目录,是分词和提取关键词需要用到的分词数据。需要将需要的 license 考入到这个文件夹。你可以不用区分用到哪一个 user 文件,建议把全部文件都考到当前工程目录 Data 文件夹中。

391fa0e4b24c11867bcd63725842da71.png

这些设置完成,在 Eclipse 中传入参数,菜单项 run–>run configure 。

42309e8cf7668767ed01426d56a684c3.png

四、导出 jar

Eclipse 工程目录上,右键选择 Export

f8afcc3671fc26f1e7548bbbbaba4703.png

选择 runnablejar ,生成 jar 文件

5797882145d60b7b8acefeb63d59e968.png

之后就可以利用 执行,传递参数,效果如下

05b70578aa0f4fcf46bee2d69be3be51.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563630.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java怎编写么解析一个类型_DAY3:你必须知道的java虚拟机之类篇——类文件的结构...

马上过年啦,不知道大家今年有没有投资基金股票呢?是赚的盆满钵满还是拍断大腿,可以评论区一起交流交流,秀一秀哈哈,反正我是没来得及上车。暴富西不可能暴富的啦,打工人嘛几能写写文章啦~记得点…

java开发工具排名_排名前16的Java工具类

在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码。一. org.apache.commons.io.IOUtilscloseQuietly&#xf…

java 线程 事件_Java事件调度线程解释

我最近开始学习和探索Java编程的基础知识。已经编程了一段时间,我只做了后端工作或工作,因此最接近我已经得到用户界面是命令控制台(我知道的尴尬)。我使用Swing,就我可以收集这意味着通过扩展我也使用AWT。我的问题是基于这段代码&#xff1…

java自学笔记_JAVA自学笔记(4)

发现JAVA的有趣Day1 继承不是"继承"1.0 继承的格式public classFU {public voidmethod(){System.out.println("Good night!");}}public class ZI extendsFU {}public classPractice {public static voidmain(String[] args) {ZI zinewZI();zi.method();}}打…

java中isolate时间_Java HikariDataSource.setIdleTimeout方法代码示例

import com.zaxxer.hikari.HikariDataSource; //导入方法依赖的package包/类private HikariDataSource createHikariDataSource(JdbcProperties jdbcProperties) {HikariDataSource hikariDataSource new HikariDataSource();hikariDataSource.setJdbcUrl(jdbcProperties.getJ…

java连接mysql通用方法_jdbc操作数据库通用方法

1 /**2 * 增删改查操作公共类(以oracle数据库为例)3 * 2017-8-29 wuyafei4 *5 */6 public classCrudUtil {7 /**8 * 1.获取数据库连接9 * 2.获取statement,加载sql语句10 * 3.获取resultset11 *12 */13 public static Connection connnull;14 public static Stateme…

java velocity 邮件_邮件集成java mail + 读取邮件模板

项目做异地登录提醒功能,通过java mail发送邮件。读取邮件模板sendMail.vm文件。1.邮件发送import java.io.StringWriter;import java.util.Properties;import javax.mail.Message;import javax.mail.Session;import javax.mail.Transport;import javax.mail.intern…

java分隔符算法_《Java数据结构和算法》栈 分隔符分配

分隔符包括“{“、"["、”(”、“] “、“)“、“}”,每个左分隔符需要右分隔符匹配。同时,在字符串中后出现左分隔符应该比早出现的先匹配。程序从字符串中不断读取字符,每次读取一个字符。若发现是左分隔符…

Java集合迭代器原理图解_Java Iterator接口遍历单列集合迭代器原理详解

这篇文章主要介绍了Java Iterator接口遍历单列集合迭代器原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下Iterator接口概述在程序开发中,经常需要遍历集合中的所有元素。针对这种需求&#x…

mysql1846错误_远程连接MySQL报错ERROR 2003解决办法

转自https://blog.csdn.net/hjwang1/article/details/51669223问题代码代码ERROR 2003 (HY000): Cant connect to MySQL server on 192.168.0.19 (111)ERROR 2003 (HY000): Cant connect to MySQL server on 192.168.0.19 (111) 这个 原因就是Mysql数据库的默认配置文件my.cnf(…

java webview 对象_Android – 将JSON对象从webview javascript传递给java

我在java端有一个带有webview和javascript接口的Activity.我想用Java编写一个可以接受来自webview的json参数的方法.JavascriptInterfacepublic String test(Object data) {Log.d("TEST", "data " data);}在我的webview javascript上我打电话&#xff1a…

php商城的购物车功能,php实现购物车功能(以大苹果购物网为例)

首先是几个简单的登录页面登录用户名:密 码:登录页面写好之后,需要进入处理页面,从数据库中调出用户名和密码:session_start(); //开启session 必须要写到第一行header("Content-type:text/html;charsetutf-8&quo…

php的功能和特点,php的特点有哪些

PHP是一种服务器端、跨平台、html嵌入式的脚本语言执行速度快:PHP是一种强大的CGI脚本语言,语法混合了C、Java、Perl和PHP式的新语法,执行网页比CGI、Perl和ASP更快,这是它的第一个突出的特点。 (推荐学习:PHP视频教程…

php写入文本乱码,如何解决PHP用fwrite写入文件中文乱码的问题

如何解决PHP用fwrite写入文件中文乱码的问题发布时间:2020-07-15 13:52:07来源:亿速云阅读:220作者:Leah这期内容当中小编将会给大家带来有关如何解决PHP用fwrite写入文件中文乱码的问题,文章内容丰富且以专业的角度为…

php判断有没有登录,请问thinkphp 怎么在每个方法里面判断是否登录?

[tp版本3.2.3]我在Controller里面写了一个公共类CommonController.class.php,写了一个构造方法来判断是否登录,没登录就重定向到登陆页:namespace Admin\Controller;use Think\Controller;class CommonController extends Controller{public …

php小程序码生成并保存,小程序中如何生成小程序码

导语:小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用&…

php写不了php,php写入内存不足怎么办

php写入内存不足的解决办法:1、修改【php.ini】;2、在程序里面添加相关语句,代码为【ini_set(memory_limit, 12M)】;3、在根目录建立【.htaccess】文件。本教程操作环境:windows7系统、PHP5.6版,DELL G3电脑…

server.mappath php,Server.MapPath( ) 方法的主要功能是获取文件的绝对路径。

9、“别有忧愁暗恨生”中的“忧”应写作“幽”。( )尺寸标注的组成中包含单位,尺寸线,尺寸文字,尺寸箭头目前常见的光纤通常为单模光纤,因为直径细,通信容量大。“给予,提供”的日语假名是( )。1010.( )在FX系列PLC功能指令中有符号P表示脉冲执行。20世纪70年代,设计出了()系统…

java 终态类,javaoo,继承,抽象类,终态类,访问修饰符!

java的继承!Java的继承使用extends关键字!为什么要使用继承呢?我们先来举例说明一下!比如说!烟是类!而叶子烟,和纸烟,烟这个类包含了,叶子烟和纸烟这两个类,如…

php cdr,win10彻底禁止cdr联网

1、打开Win10电脑,然后按winPauseBreak,来到“系统”属性窗口,点击控制面板,如图所示:2、打开来到控制面板页面,鼠标单击“系统和安全”,如图:3、打开在“系统和安全”对话框中&…