一、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环境下)的更多相关文章

  1. Java 环境下使用 AES 加密的特殊问题处理

    在 Java 环境下使用 AES 加密,在密钥长度和字节填充方面有一些比较特殊的处理. 1. 密钥长度问题 默认 Java 中仅支持 128 位密钥,当使用 256 位密钥的时候,会报告密钥长度错误 ...

  2. 《安卓网络编程》之第一篇 java环境下模拟客户端、服务器端

    1.Socket简介 在网络上的两个程序通过一个双向的通信连接实现数据的交换,这个双向链路的一端称为一个Socket.Socket通常用来实现客户方和服务方的连接.Socket是TCP/IP协议的一个 ...

  3. Java环境下shiro的测试-认证与授权

    Java环境下shiro的测试 1.导入依赖的核心jar包 <dependency> <groupId>org.apache.shiro</groupId> < ...

  4. 这是关于FastJson的一个使用Demo,在Java环境下验证的

    public class User { private int id; private String name; public int getId() { return id; } public vo ...

  5. ICTCLA中科院分词工具用法(java)

    摘要:为解决中文搜索的问题,最开始使用PHP版开源的SCWS,但是处理人名和地名时,会出现截断人名地名出现错误.开始使用NLPIR分词,在分词准确性上效果要比SCWS好.本文介绍如何在windows系 ...

  6. 【转载】Selenim入门环境的搭建--Java环境下的Java Maven Project

    一.开发环境 操作系统: xp win7 win8 win10都可以 JDK: 1.6或者1.7 下载地址 JDK1.7下载 Eclipse: 官网下载比较新的版本,建议下载EE的版本  eclips ...

  7. 如何在Java 环境下使用 HTTP 协议收发 MQ 消息

    1. 准备环境在工程 POM 文件添加 HTTP Java 客户端的依赖. <dependency> <groupId>org.eclipse.jetty</groupI ...

  8. JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误

    问题一:出现控制台坏的响应错误一Bad request 控制台出现错误如下: Bad Request request: http://hostIP:8983/solr/update?wt=javabi ...

  9. java环境下的数据库读写分离

    方案很多:阿里的中间件cobar.aop注解方式.com.mysql.jdbc.ReplicationDriver读写分离驱动MySQL数据库的同步. MySQL是开源的关系型数据库系统.主从同步复制 ...

随机推荐

  1. Python基础s14-day1

    2016年7月23日"Python基础s14-Day1" Python是什么? Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种面向对象.直译式 ...

  2. Java—Lambda基础

    虽然JVM有着Scala .Groovy .Clojure 等依赖于JVM的函数语式语言,但直到Java8才算是java正式支持函数式编程: Java8中加入了Lambda的支持标志着Java正式加入 ...

  3. 预定义接口-迭代器Iterator

    <?php /* 可在内部迭代自己的外部迭代器或类的接口. Iterator extends Traversable { abstract public mixed current ( void ...

  4. 【温故而知新-Javascript】使用地理定位

    地理定位(Geolocation)API让我们可以获取用户当前地理位置的信息(或者至少是正在运行浏览器的系统的位置).它不是HTML5规范的一部分,但经常被归组到与HTML5相关的新功能中. 1. 使 ...

  5. C#语句

    C#控制语句 控制语句: goto语句 If语句 do while循环  for循环  while循环 switch语句 三元运算符   <test?><resultIfTrue&g ...

  6. stanford coursera 机器学习编程作业 exercise 5(正则化线性回归及偏差和方差)

    本文根据水库中蓄水标线(water level) 使用正则化的线性回归模型预 水流量(water flowing out of dam),然后 debug 学习算法 以及 讨论偏差和方差对 该线性回归 ...

  7. Unity实现刺客信条灯光的思路探究

    灯光需求 类似刺客信条的开场CG动画,场景中打着酷炫的灯光,玩家在场景中行走可以感受到灯光很真实. 参考视频:http://www.iqiyi.com/w_19rqytbmvt.html 运行环境 安 ...

  8. Gvr SDK for Unity 分析(一)

    Gvr SDK概述 通过谷歌VR SDK for unity 为Android和iOS 构建虚拟现实应用程序 unity SDK在Android上支持构建应用程序for daydream 和 card ...

  9. 2016年秋季的我,work with hololens

  10. encodeURI和encodeURIComponent的区别

    这两个函数功能上面比较接近,但是有一些区别. encodeURI:不会进行编码的字符有82个 :!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z, ...