NLPIR分词工具的使用(java环境下)
一、NLPIR是什么?
NLPIR(汉语分词系统)由中科大张华平博士团队开发,主要功能包括:中文分词,词性标注,命名实体识别,用户词典功能,详情见官网:http://ictclas.nlpir.org/。
二、java环境下的使用:
主要参考了如下资料:http://www.360doc.com/content/14/0926/15/19424404_412519063.shtml
下面是个人的使用方法,仅供参考
1、下载NLPIR工具包,链接如下:http://ictclas.nlpir.org/newsdownloads?DocId=389
工具包中主要包含了以下内容:(待补充)
2、NLPIR是在c、c++环境下的,所以在java环境下,得下载其提供的java接口, 所以我又下载了 windows 下64位的JNI 压缩包(根据自己机器环境下载):http://ictclas.nlpir.org/newsdownloads?DocId=353
所以现在有两个文件包:NLPIR工具包,JNI接口包。
3、现在可以开始构建自己的项目了:
(1)创建一个java 项目,最后形成的目录如下图:

其中:bai包中的是自己写的测试程序
Kevin.zhang是64位JNI压缩包中的内容,拷贝到自己创建的java项目中
file:为自己创建的目录,Data文件是来自NLPIR工具包
test:来自NLPIR工具包
NLPIR.dll 来自NLPIR工具包lib 目录中
NLPIR_JNI.dll来自JNI接口包
4、编写分词程序
代码如下:
package bai;
import kevin.zhang.NLPIR;
public class nlpir_test {
public static void main(String args[])
{
try
{
test();
}
catch(Exception e)
{
e.printStackTrace();
}
}
static void test()throws Exception {
// TODO Auto-generated method stub
//这里就是("./file/")不用修改
NLPIR nlpir=new NLPIR();
if(!NLPIR.NLPIR_Init("./file/".getBytes("UTF-8"),1))
{
System.out.println("NLPIR初始化失败");
return ;
}
//句子分词测试
String temp="每天的日报都记得要发送, 以配合经理掌握项目的进度情况";
byte[] resBytes=nlpir.NLPIR_ParagraphProcess(temp.getBytes("UTF-8"),0);
System.out.println("分词结果: "+new String(resBytes,"UTF-8"));
//文件分词测试
String utf8File = "E:/wbjddata/user_product_similarity/product_vector_pro.txt";
String utf8FileResult = "E:/wbjddata/user_product_similarity/product_vector_pro_seg_result.txt";
nlpir.NLPIR_FileProcess(utf8File.getBytes(), utf8FileResult.getBytes(), 0);
// 退出, 释放资源
NLPIR.NLPIR_Exit();
//nlpir.NLPIR_FileProcess,nlpir.NLPIR_ParagraphProcess中第二个参数0,表示只显示分词,不显示词性的标注
}
}
NLPIR分词工具的使用(java环境下)的更多相关文章
- Java 环境下使用 AES 加密的特殊问题处理
在 Java 环境下使用 AES 加密,在密钥长度和字节填充方面有一些比较特殊的处理. 1. 密钥长度问题 默认 Java 中仅支持 128 位密钥,当使用 256 位密钥的时候,会报告密钥长度错误 ...
- 《安卓网络编程》之第一篇 java环境下模拟客户端、服务器端
1.Socket简介 在网络上的两个程序通过一个双向的通信连接实现数据的交换,这个双向链路的一端称为一个Socket.Socket通常用来实现客户方和服务方的连接.Socket是TCP/IP协议的一个 ...
- Java环境下shiro的测试-认证与授权
Java环境下shiro的测试 1.导入依赖的核心jar包 <dependency> <groupId>org.apache.shiro</groupId> < ...
- 这是关于FastJson的一个使用Demo,在Java环境下验证的
public class User { private int id; private String name; public int getId() { return id; } public vo ...
- ICTCLA中科院分词工具用法(java)
摘要:为解决中文搜索的问题,最开始使用PHP版开源的SCWS,但是处理人名和地名时,会出现截断人名地名出现错误.开始使用NLPIR分词,在分词准确性上效果要比SCWS好.本文介绍如何在windows系 ...
- 【转载】Selenim入门环境的搭建--Java环境下的Java Maven Project
一.开发环境 操作系统: xp win7 win8 win10都可以 JDK: 1.6或者1.7 下载地址 JDK1.7下载 Eclipse: 官网下载比较新的版本,建议下载EE的版本 eclips ...
- 如何在Java 环境下使用 HTTP 协议收发 MQ 消息
1. 准备环境在工程 POM 文件添加 HTTP Java 客户端的依赖. <dependency> <groupId>org.eclipse.jetty</groupI ...
- JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误
问题一:出现控制台坏的响应错误一Bad request 控制台出现错误如下: Bad Request request: http://hostIP:8983/solr/update?wt=javabi ...
- java环境下的数据库读写分离
方案很多:阿里的中间件cobar.aop注解方式.com.mysql.jdbc.ReplicationDriver读写分离驱动MySQL数据库的同步. MySQL是开源的关系型数据库系统.主从同步复制 ...
随机推荐
- Python基础s14-day1
2016年7月23日"Python基础s14-Day1" Python是什么? Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种面向对象.直译式 ...
- Java—Lambda基础
虽然JVM有着Scala .Groovy .Clojure 等依赖于JVM的函数语式语言,但直到Java8才算是java正式支持函数式编程: Java8中加入了Lambda的支持标志着Java正式加入 ...
- 预定义接口-迭代器Iterator
<?php /* 可在内部迭代自己的外部迭代器或类的接口. Iterator extends Traversable { abstract public mixed current ( void ...
- 【温故而知新-Javascript】使用地理定位
地理定位(Geolocation)API让我们可以获取用户当前地理位置的信息(或者至少是正在运行浏览器的系统的位置).它不是HTML5规范的一部分,但经常被归组到与HTML5相关的新功能中. 1. 使 ...
- C#语句
C#控制语句 控制语句: goto语句 If语句 do while循环 for循环 while循环 switch语句 三元运算符 <test?><resultIfTrue&g ...
- stanford coursera 机器学习编程作业 exercise 5(正则化线性回归及偏差和方差)
本文根据水库中蓄水标线(water level) 使用正则化的线性回归模型预 水流量(water flowing out of dam),然后 debug 学习算法 以及 讨论偏差和方差对 该线性回归 ...
- Unity实现刺客信条灯光的思路探究
灯光需求 类似刺客信条的开场CG动画,场景中打着酷炫的灯光,玩家在场景中行走可以感受到灯光很真实. 参考视频:http://www.iqiyi.com/w_19rqytbmvt.html 运行环境 安 ...
- Gvr SDK for Unity 分析(一)
Gvr SDK概述 通过谷歌VR SDK for unity 为Android和iOS 构建虚拟现实应用程序 unity SDK在Android上支持构建应用程序for daydream 和 card ...
- 2016年秋季的我,work with hololens
- encodeURI和encodeURIComponent的区别
这两个函数功能上面比较接近,但是有一些区别. encodeURI:不会进行编码的字符有82个 :!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z, ...