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. [小北De编程手记] : Lesson 02 玩转 xUnit.Net 之 基本UnitTest & 数据驱动

    关于<玩转 xUnit.Net>系列文章,我想跟大家分享的不是简单的运行一下测试用例或是介绍一下标签怎么使用(这样的文章网上很多).上一篇<Lesson 01 玩转 xUnit.Ne ...

  2. Server Tomcat v7.0 Server at localhost was unable to&nbs 报错问题解决

    在eclipse启动tomcat时遇到超时45秒的问题: Server Tomcat v7.0 Server at localhost was unable to start within 45 se ...

  3. ejs-mate

    安装 npm install ejs-mate --save 模板方法: 1.layout 2.partial 3.block

  4. GJM : 使用浏览器的计算力,对抗密码破解 [转载]

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  5. Atitit.atiRI  与 远程调用的理论and 设计

    Atitit.atiRI  与 远程调用的理论and 设计 1. 怎么做到透明化远程服务调用?1 2. 2  怎么对消息进行编码和解码1 2.1.  确定消息数据结构dsl1 2.1.1. 消息里为什 ...

  6. asp.net web常用控件FileUpload(文件上传控件)

    FileUpload控件的主要中能:向指定目录上传文件,该控件包括一个文本框和一个浏览按钮. 常用的属性:FileBytes,FileContent.FileName.HasFile.PostedFi ...

  7. 3种不同的ContextMenu右键菜单演示

    简单使用的右键菜单,希望能帮助大家.下面是截图和实例代码 实例预览 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...

  8. 移动端事件touchstart、touchmove、touchend

    关于这三个移动端的事件,详细的资料网上一搜一大片,我就不浪费时间了 1.移动端长按事件 var timer = null; $(ele).on('touchstart',function(){ tim ...

  9. DropDownList

    DropDownList 1,DataValueField获取或设置为各列表项提供值的数据源字段 绑定的是唯一的标识 比如是id列 使用SelectedValue获取绑定的数据使用的前端看不到的数据类 ...

  10. JavaScript语言精粹学习笔记

    0.JavaScript的简单数据类型包括数字.字符创.布尔值(true/false).null和undefined值,其它值都是对象. 1.JavaScript只有一个数字类型,它在内部被表示为64 ...