1.简介

中国科学院计算技术研究所在多年研究基础上,耗时一年研制出了基于多层隐码模型的汉语词法分析系统 ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System),该系统的功能有:中文分词;词性标注;未登录词识别。分词正确率高达97.58%(最近的973专家组评测结果),基于角色标注的未登录词识别能取得高于90%召回率,其中中国人名的识别召回率接近98%,分词和词性标注处理速度为31.5KB/s。ICTCLAS 和计算所其他14项免费发布的成果被中外媒体广泛地报道,国内很多免费的中文分词模块都或多或少的参考过ICTCLAS的代码。

2.下载

下载地址:

下载以后解压。

解压后的目录结构:

必要说明:

user.lic,用户授权文件。

3.新建Eclipse项目。

然后将打开API文件夹下的ICTCLAS文件夹拷贝到src目录下,其它的文件夹和文件全部拷贝到工程目录下。工程结构如图所示:

4.测试

你可以自己新建一个测试类,也可以使用已有的测试类。

比如Sample文件夹里有个例子:TestMain.java,你可以将它复制到Eclipse中。然后运行。就可以看到结果了。

注意,ICTCLAS会自动生成一个ICTCLAS.log文件,查看这个文件能获取许多有用的信息。

5.各种问题。

  1. a.Exception in thread "main" java.lang.UnsatisfiedLinkError: ICTCLAS50.ICTCLAS_Init([B)Z
  2. at ICTCLAS50.ICTCLAS_Init(Native Method)
  3. at TestMain.testICTCLAS_ParagraphProcess(TestMain.java:33)
  4. at TestMain.main(TestMain.java:13)

解决办法:

这种情况是你把ICTCLAS50_Windows_32_JNI\API\ICTCLAS\I3S\AC目录下的类ICTCLAS50.java 没有放到包ICTCLAS.I3S.AC里。

b.将Data文件夹和其它文件,放置到一个configure文件夹下ICTLAS不识别:

  1. Exception in thread "main" java.lang.UnsatisfiedLinkError: no ICTCLAS50 in java.library.path
  2. at java.lang.ClassLoader.loadLibrary(Unknown Source)
  3. at java.lang.Runtime.loadLibrary0(Unknown Source)
  4. at java.lang.System.loadLibrary(Unknown Source)
  5. at ICTCLAS.I3S.AC.ICTCLAS50.<clinit>(ICTCLAS50.java:26)
  6. at TestMain.testICTCLAS_ParagraphProcess(TestMain.java:32)
  7. at TestMain.main(TestMain.java:15)

即加载库文件和Data文件夹、用户授权文件user.lic的错误。

解决办法:

一种方法是:修改ICTCLAS50类和测试类的参数,指定库文件。

  1. static
  2. {
  3. String path = new File("").getAbsolutePath()+"\\<span style="font-family:SimSun; line-height:25.1875px">configure</span>\\ICTCLAS50.dll";
  4. //      System.loadLibrary("ICTCLAS50");
  5. System.load(path);
  6. }

然后再修改TestMain类中的testICTCLAS_ParagraphProcess()方法的argus的值,告诉ICTCLAS,你改变了工程目录。

部分代码如下:

  1. ICTCLAS50 testICTCLAS50 = new ICTCLAS50();
  2. //          //String argu = ".";
  3. String argu = new File("").getAbsolutePath()+"\\configure";
  4. //初始化
  5. if (testICTCLAS50.ICTCLAS_Init(argu.getBytes("GB2312")) == false)
  6. {
  7. System.out.println("Init Fail!");
  8. return;
  9. }

还有testICTCLAS_FileProcess()方法。

修改后的工程目录:

中科院分词ICTCLAS5.0_JNI 使用方法的更多相关文章

  1. 11大Java开源中文分词器的使用方法和分词效果对比,当前几个主要的Lucene中文分词器的比较

    本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那 ...

  2. 11大Java开源中文分词器的使用方法和分词效果对比

    本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那 ...

  3. 中文分词器ICTCLAS使用方法(Java)

    http://www.cnblogs.com/CheeseZH/archive/2012/11/27/2791037.html 吃水不忘挖井人,这篇文章给了我很大帮助:http://blog.csdn ...

  4. jieba分词工具的使用方法

    作为我这样的萌新,python代码的第一步是:#coding=utf-8 环境:python3.5+jieba0.39 一.jieba包安装方法: 方法1:使用conda安装 conda instal ...

  5. 中科院分词ICTCLAS导入用户词典后分词结果一样?

    package ICTCLAS.I3S.Test; import java.io.UnsupportedEncodingException; import ICTCLAS.I3S.AC.ICTCLAS ...

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

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

  7. NLPIR(北理工张华平版中文分词系统)的SDK(C++)调用方法

    一.本文内容简介 二.具体内容 1. 中文分词的基本概念 2.关于NLPIR(北理工张华平版中文分词系统)的基本情况 3.具体SDK模块(C++)的组装方式 ①准备内容: ②开始组装 三.注意事项 一 ...

  8. ElasticSearch最全分词器比较及使用方法

    介绍:ElasticSearch 是一个基于 Lucene 的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口.Elasticsearch 是用 Java 开 ...

  9. NLP+词法系列(一)︱中文分词技术小结、几大分词引擎的介绍与比较

    笔者想说:觉得英文与中文分词有很大的区别,毕竟中文的表达方式跟英语有很大区别,而且语言组合形式丰富,如果把国外的内容强行搬过来用,不一样是最好的.所以这边看到有几家大牛都在中文分词以及NLP上越走越远 ...

随机推荐

  1. 通过jQuery的比较来认识AngularJS

    通过jQuery的比较来认识AngularJS 这一章主要是通过几个例子分别通过jQuery和AngularJS来达到效果.主要通过思维转换来进一步了解AngularJS框架设计背后的思想. 注意: ...

  2. LR常见问题整理

    1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决. LR11 无法弹出ie浏览 ...

  3. 编译C#代码

    using Microsoft.CSharp; using System.CodeDom.Compiler; using System.Reflection; using System.Text; n ...

  4. 附7 turbine

    一.作用 聚集同一个微服务的相同的commandKey.Threadpool.commandGroupKey数据进行聚合 二.配置 1.集群(cluster)(turbine聚集数据的粒度) turb ...

  5. eclipse提示:This tag and its children can be replaced by one <TextView/> and a compound drawable

    今天在学习android开发的时候,写了这样的一段代码: <?xml version="1.0" encoding="utf-8"?> <Li ...

  6. swift学习笔记之-可选链式调用

    //可选链式调用 import UIKit /*可选链式调用(Optional Chaining) 1.在可选值上请求和调用该可选值的属性.方法及下标的方法,如果可选值有值,那么调用就会成功,返回可选 ...

  7. jQuery原型方法.pushStack源码分析

    这次分析的方法跟前面不同,虽然pushStack也是原型方法之一,但是我们几乎从不用在页面调用,在参考手册里面也没有这个方法的使用说明,但是这个方法还是非常重要的,在使用很多jQuery的其他方式都会 ...

  8. js方法实现rgb颜色转换成16进制格式的代码的方法

    原文地址:http://www.cnblogs.com/vaal-water/archive/2013/04/08/3008880.html 自己试过很好用 function zero_fill_he ...

  9. CSS学习总结(三)

    一.属性选择符 如下表所示: 例子如下: <head> <meta charset="utf-8"> <style type="text/c ...

  10. SharePoint 2013必备组件离线包安装:AppFabric无法安装问题解决

    由于没有网络,无法使用sharepoint2013的安装必备软件的在线下载向导安装,当要安装 SharePoint 2013 的服务器与 Internet 隔离时,通常需要从脱机位置安装必备组件.即使 ...