张华平 java_张华平分词(又名中科院分词/NLPIR分词)的使用(Java版本)

张华平分词(又名中科院分词/NLPIR分词)的使用(Java版本)

标签:#分词##工具##编程#

时间:2017/03/03 20:31:23

作者:小木

其实步骤很简单,主要就是下载,解压,导入,配置即可。由于张华平分词最近开始使用新的授权方式,导致很多以前的分词程序无法使用。这里也会说明如何解决“初始化失败”的问题。

[TOC]

#### 1、下载分词

从官方网站下载即可:http://ictclas.nlpir.org/downloads

![](http://www.datalearner.com/resources/blog_images/1d29da60-b3a7-4d87-b55b-a86b0b281aff.jpg)

#### 2、解压

下载后解压到我们指定的工程目录(根据个人需要选择),比如我们这里导入java版本,在sample里面选择导入java文件夹下jnaTest即可。

![](http://www.datalearner.com/resources/blog_images/18a7c8f3-1098-448c-bbb1-e648d7295b6b.jpg)

#### 3、导入Eclipse工程

解压后我们看到sample文件夹,里面有个JAVA文件夹,下面有个JNA文件夹。将该文件夹拷贝到一个非中文目录下。然后打开Eclipse——File——import——Java Project——Existing Projects into Workspace,然后选择刚才jna目录点击Next——Finish即可。

![](http://www.datalearner.com/resources/blog_images/007dec37-58c1-4461-8403-cbb46fd4a3f2.jpg)

![](http://www.datalearner.com/resources/blog_images/684ebf6c-1bc2-4f12-a268-a48ce32e18a4.jpg)

#### 4、配置

其实这个时候分词系统已经导入到Eclipse中,只需要配置一下运行所需的文件位置即可。总共需要配置的地方有两个,一个是NIPIR.dll目录一个是Data文件夹目录。我们展开工程目录打开NlpirTest.java文件。在主函数main下面的arg后面填入Data文件夹目录(分词系统解压后就有一个data文件夹,将该文件夹拷贝到非中文目录下,然后将该目录写在arg后面,注意路径写到Data所在目录即可。位置可以自己选择,注意要在非中文目录下!比如我把Data文件夹放在D:/NLPIR文件夹下面,那么这里的参数就是"D:/NLPIR")。第二个配置是Native.loadLibrary的dll位置。分词系统需要dll文件。我们解压分词文件后有一个lib文件夹,里面有win64 win32 linux64 linux32等文件夹,根据自己的系统选择相应的文件夹,拷贝至非中文目录下(位置可以自己选择,注意要在非中文目录下!请注意该路径配置一直要写到dll文件的名字,但不需要加扩展名。比如我的win64位置是C:/WIN64,那么我的路径应该写成c:/win64/NLPIR)

![](http://www.datalearner.com/resources/blog_images/8356840a-9aa2-4cd6-86fd-0def78d2468b.jpg)

![](http://www.datalearner.com/resources/blog_images/b0e586f5-4875-4003-8186-6162aa07a4d5.jpg)

![](http://www.datalearner.com/resources/blog_images/44946a44-dd3d-4100-b486-5fbefb0e4e9c.jpg)

#### 5、添加用户词库

在初始化函数之后添加如下语句:

```java

String system_charset = "GBK";

int charset_type = 1;

int init_flag = CLibrary.Instance.NLPIR_Init(argu.getBytes(system_charset), charset_type, "0".getBytes(system_charset));

if (0 == init_flag) {

System.err.println("初始化失败!");

}

//添加自定义词库,dictPath是用户词库位置

int nCount = CLibrary.Instance.NLPIR_ImportUserDict(dictPath,true);

```

![](http://www.datalearner.com/resources/blog_images/46327d15-eba2-4b75-a79a-e3bf5f165a47.png)

#### 6、运行

运行NlpirTest.java会发现已经出现分词结果。

![](http://www.datalearner.com/resources/blog_images/72b526ca-fd8c-4dab-85bb-500dd952736d.jpg)

#### 7、初始化失败的问题

如果出现初始化失败的情况,请注意Data文件夹是否过期。由于最近张华平分词开始使用新的授权方式,之前的分词可能无法使用。而且新的授权方式分为7天和30天两种。授权更新首先需要在 https://github.com/NLPIR-team/NLPIR/tree/master/License 这个链接下载授权文件,有7天和30天两种。点进去发现有很多授权文件,需要什么功能下载什么功能。将下载后的文件解压,比如我需要分词,于是下载了NLPIR-ICTCLAS分词系统授权.zip。然后解压得到NLPIR.user文件,将该文件复制到Data文件夹下覆盖即可使用。

![](http://www.datalearner.com/resources/blog_images/4d6af15c-0102-422a-b5c5-4cd5b5586d67.png)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值