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,表示只显示分词,不显示词性的标注
    }

}
时间: 2024-11-08 21:18:34

NLPIR分词工具的使用(java环境下)的相关文章

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

问题一:出现控制台坏的响应错误一Bad request 控制台出现错误如下: Bad Request request: http://hostIP:8983/solr/update?wt=javabin&version=1 解决方法: 出现以上错误的原因是,solr服务器上配置的Field和javabean提交的Field不能对应, 导致solr服务器找不到域,拒绝访问. 打开SOLR_HOME下的conf文件夹找到schema.xml文件,在其中添加对应的域. 例如以下代码添加了:title,

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

1 public class User { 2 private int id; 3 private String name; 4 public int getId() { 5 return id; 6 } 7 public void setId(int id) { 8 this.id = id; 9 } 10 public String getName() { 11 return name; 12 } 13 public void setName(String name) { 14 this.n

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

在 Java 环境下使用 AES 加密,在密钥长度和字节填充方面有一些比较特殊的处理. 1. 密钥长度问题 默认 Java 中仅支持 128 位密钥,当使用 256 位密钥的时候,会报告密钥长度错误 Invalid AES key length 你需要下载一个支持更长密钥的包.这个包叫做 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6,可以从这里下载,下载地址:http://www.

一个简单的SSL Server和SSL Client来讲解Java环境下SSL的通信原理

首先我们先回顾一下常规的Java Socket编程.在Java下写一个Socket服务器和客户端的例子还是比较简单的.以下是服务端的代码: Java代码   package org.bluedash.tryssl; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Serve

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

Java环境下shiro的测试 1.导入依赖的核心jar包 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.3.2</version> </dependency> 2.认证程序 2.1 构建users配置文件 xxx.ini doGetAuthenticationInf

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

摘要:为解决中文搜索的问题,最开始使用PHP版开源的SCWS,但是处理人名和地名时,会出现截断人名地名出现错误.开始使用NLPIR分词,在分词准确性上效果要比SCWS好.本文介绍如何在windows系统下编译JAVA ,生成可以执行的jar文件. NLPIR的下载地址: http://ictclas.nlpir.org/downloads GitHub的地址: https://github.com/NLPIR-team/NLPIR 两个版本有一些不同,本文将分别讲解如何利用Eclipse建立工程

java环境下的base64解码程序设计

最近遇到一个ctf题,要求求解一个字符串经过几次base64解码可以恢复成正常的字符串.原题的字符串如下: Vm0wd2QyUXlVWGxWV0d4V1YwZDRWMVl3WkRSV01WbDNXa1JTVjAxV2JETlhhMUpUVmpBeFYySkVUbGhoTVVwVVZtcEJlRll5U2tWVWJHaG9UVlZ3VlZacVFtRlRNbEpJVm10a1dHSkdjRTlaVjNSR1pVWmFkR05GU214U2JHdzFWVEowVjFaWFNraGhSemxWVmpO

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

方案很多:阿里的中间件cobar.aop注解方式.com.mysql.jdbc.ReplicationDriver读写分离驱动MySQL数据库的同步. MySQL是开源的关系型数据库系统.主从同步复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程. 配置主服务器(master)    1.编辑数据库配置文件my.cnf 或 my.ini (windows),一般在/etc/目录下.    #vi /etc/m

java环境下如何用打包编译的简单方法

一.编译产生错误:有2个程序,一个CountOnline.java,另一个DB.java,打了包的在子目录下编译通不过,出现的错误如下: D:\Tomcat6.0\webapps\studentnavigation\src\com\count\Online>javac CountOnline.java CountOnline.java:7: 找不到符号 符号: 类 DB 位置: 类 com.count.Online.CountOnline private DB db=new DB(); ^ Co