- 浏览: 139426 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
RonQi:
谢谢博主的图解 我今天把dll文件放在src文件夹下面,直接在 ...
ICTCLAS2011_JNI学习笔记-eclipse部署 -
andyliuxs:
huangyunbin 写道有不有好的java博客推荐啊
针对 ...
博客推荐 -
huangyunbin:
有不有好的java博客推荐啊
博客推荐
最近因为实验需要中文分词工具,所以就学习了下中科院的分词工具ICTCLAS(Institute of Computing Technology,Chinese Lexical Analysis System)2011版,汉语词法分析系统ICTCLAS主要功能包括中文分词;词性标注;命名实体识别;新词识别;同时支持用户词典;支持繁体中文;支持gb2312、GBK、UTF8等多种编码格式。 ICTCLAS分词速度单机500KB/s,分词精度98.45%,API不超过100kb,各种词典数据压缩后不到3M,是世界上最好的汉语词法分析器。 详细介绍可到ICTCLAS官网了解,同时可以下载到最新的版本。另外,也可以到张华平博士的百度空间里去下载。
在看官网提供的API文档的过程中,感觉该文档写得不是很好,估计并没有跟进最新的版本,里面有些接口的介绍以及示例程序不是很正确,现在我将学习过程中的写的示例程序放在这里以供大家讨论。
以下是JNI接口的声明及其个接口的功能介绍,另外,可点击此处查看ICTCLAS各个接口间的调用流程图。本图是基于C++接口绘制的,但由于本人在实验的过程中主要用Java语言开发程序,所以在示例程序方面的都是调用的JNI接口,不过,JNI接口和C++接口命名和功能上都基本一样,只是参数可能不同,但这不是主要问题。
package ICTCLAS.I3S.AC; public class ICTCLAS50 { /*********************************************************************** * 各个接口中,字符编码参数的需按照如下设置,接口参数中不再详细说明, 若编码不确定,系统将会自动识别编码 * (0:编码未知,系统将会自动识别) * (1:ASCII) * (2:gb2312、GBK、gb18030) * (3:UTF-8) * (4:BIG5) *************************************************************************/ /************************************************************************ * Method: ICTCLAS_Init<!读取配置文件,加载词典等> * Parameter: byte[] sPath<!配置文件configure.xml,授权文件user.lic及data文件夹所在路径的字节编码 > * Returns: bool<!初始化是否成功> * Description: 调用其它任何接口前,必须保证本接口调用成功! * Remark: 1.2010/06/03 17 : 34 created by x10n6y version 5.0 *************************************************************************/ public native boolean ICTCLAS_Init(byte[] sPath); /************************************************************************ * Method: ICTCLAS_Exit<! 退出,释放相关资源> * Returns: ICTCLAS_API bool<! 退出是否成功> * Description: 所有操作完成后,请调用本接口释放相关资源! * Remark: 1.2010/06/04 9 : 42 created by x10n6y version 5.0 *************************************************************************/ public native boolean ICTCLAS_Exit(); /************************************************************************ * Method: ICTCLAS_ImportUserDictFile<! 导入用户词典文件> * Parameter: byte[] sPath<! 用户词典路径名称> * Parameter: int eCodeType<!词典编码类型> * Returns: ICTCLAS_API unsigned int<! 成功导入的词汇数量> * Description: 用户导入词汇文件格式如下: 1.词语与词性用‘@@’间隔。例如:“中科院@@nr; 2.一行一词; 3.词性可省略 * Remark: 1.2010/06/04 9 : 43 created by x10n6y version 5.0 ************************************************************************/ public native int ICTCLAS_ImportUserDictFile(byte[] sPath, int eCodeType); /************************************************************************ * Method: ICTCLAS_SaveTheUsrDic<!保存用户词典> * Description:1.本接口将会覆盖原有/data/文件夹用户相关词典。 2.用户可在配置文件中,指定下次是否使用该词典。 * * Remark: 1.2010/07/05 16 : 16 created by x10n6y version 2.0 *************************************************************************/ public native int ICTCLAS_SaveTheUsrDic(); /************************************************************************ * Method: ICTCLAS_SetPOSmap<!指定词性标注集> * Parameter: int nPOSmap<! 标注集ID> ICT_POS_MAP_SECOND 0 //计算所二级标注集 ICT_POS_MAP_FIRST 1 //计算所一级标注集 PKU_POS_MAP_SECOND 2 //北大二级标注集 PKU_POS_MAP_FIRST 3 //北大一级标注集 * Returns: ICTCLAS_API bool<! 指定成功与否> * Description: * Remark: 1.2010/06/22 11 : 11 created by x10n6y version 5.0 *************************************************************************/ public native int ICTCLAS_SetPOSmap(int nPOSmap); /************************************************************************ * Method: ICTCLAS_FileProcess<!文本文件分词> * Parameter: byte[] sSrcFilename<!要分词的文件> * Parameter: int eCodeType<!要处理的文本编码类型> * Parameter: int bPOSTagged<! 是否词性标准> * Parameter: byte[] sDestFilename<! 结果文件存放位置> * Returns: ICTCLAS_API bool<! 分词是否成功> * Description: 1.用户若不指定分词结果保存位置,系统将结果保存至 当前目录下,test_result.txt 中。 2.pszDstFileName若该文件不存在, 则自动生成; 否则先清空已有内容。 * Remark: 1.2010/06/22 11 : 11 created by x10n6y version 5.0 *************************************************************************/ public native boolean ICTCLAS_FileProcess(byte[] sSrcFilename, int eCodeType, int bPOSTagged, byte[] sDestFilename); /************************************************************************ * Method: ICTCLAS_ParagraphProcess<! 分词,返回结果为字符串> * Parameter: byte[] sSrc<!需要分词的文本内容> * Parameter: int eCodeType<!字符编码类型> * Parameter: int bPOSTagged<!是否词性标注 > * Returns: byte[]<! 分词后的字符串的字节编码> * Description: 调用本接口,由用户分配内存,保存结果(pszResult) ,建议内存大小strlen(pszText)*6! * Remark: 1.2010/06/22 11 : 11 created by x10n6y version 5.0 *************************************************************************/ public native byte[] ICTCLAS_ParagraphProcess(byte[] sSrc, int eCodeType, int bPOSTagged); /************************************************************************ * Method: nativeProcAPara<! 分词,返回ICTCLAS_Result类对象对应的字节序列,需要按照一定的规则将其进行编码> * Parameter: byte[] sSrc<! 需要分词的文本内容> * Parameter: int bPOStagged<! 是否词性标注> * Returns: byte[] <! ICTCLAS_Result类对象对应的字节序列> * Description:( ~_~这个接口现在还不是很明白怎么对其返回结果进行处理,希望各位网友赐教~_~) * Remark: 1.2010/06/22 11 : 11 created by x10n6y version 5.0 *************************************************************************/ public native byte[] nativeProcAPara(byte[] sSrc, int eCodeType, int bPOStagged); /* Use static intializer */ static { System.loadLibrary("ICTCLAS50"); // System.out.println("load ictclas50..."); } }
发表评论
-
Java正则表达式详解(转)
2011-11-11 12:37 1228如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一 ... -
Heritrix组件框图详解
2011-10-27 11:23 1006Heritrix是一个纯Java开发的、开源 ... -
Eclipse下配置Heritrix1.14.4
2011-10-25 20:09 1817最近在看邱哲等人编著的《开发自己的搜索引擎Lucene+Her ... -
ICTCLAS2011_JNI学习笔记-ICTCLAS_ImportUserDictFile及ICTCLAS_SaveTheUsrDic接口
2011-09-30 09:18 20901、int ICTCLAS_ImportUserDictFil ... -
ICTCLAS2011_JNI学习笔记-ICTCLAS_FileProcess接口
2011-09-29 22:00 1779boolean ICTCLAS_FileProcess(byt ... -
ICTCLAS2011_JNI学习笔记-ICTCLAS_SetPOSmap及ICTCLAS_ParagraphProcess接口
2011-09-29 21:51 20151、int ICTCLAS_SetPOSmap(int n ... -
ICTCLAS2011_JNI学习笔记-ICTCLAS_Init及ICTCLAS_Exit接口
2011-09-29 21:31 2350ICTCLAS_Init及ICTCLAS_Exit接口之所以放 ... -
ICTCLAS2011_JNI学习笔记-eclipse部署
2011-09-29 21:17 2725这里首先将ICTCLAS的提供的JNI版本导入Eclipse工 ... -
读书笔记:《深入java虚拟机第二版》--- Java的体系结构 (转)
2011-09-27 21:15 1090原文链接:http://www.cnb ... -
【Java】properties中文乱码问题(转)
2011-05-16 22:07 2544【原理解释】 我们用API ... -
The project was not built since its build path is incomplete(错误处理方法)
2011-05-15 14:06 4767错误提示:The project was not built ... -
Java正则表达式详解(转)
2011-05-11 22:31 728如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你 ... -
学JAVA必须知道:抽象类与接口的区别(转)
2011-04-01 14:22 768abstract class和interface是 ... -
java中堆(heap)和堆栈(stack)有什么区别(转帖)
2011-04-01 14:18 802stack 和 heep 都是内存的 ... -
Java的沙箱机制
2010-11-14 15:10 17130 Java安全体系概述 ... -
JVM(类加载器)
2010-11-14 14:59 806从网上看到得这一系列 ...
相关推荐
ICTCLAS50_Windows_32_JNI 的使用,介绍ICTCLAS50_Windows_32_JNI 在eclipse等环境下的配置,以及怎么测试ICTCLAS50_Windows_32_JNI
中科院中文分词windows 64位系统JNI方式调用程序。
ICTCLAS50_Windows_64_JNI ICTCLAS的API,文档等
Java版的ICTCLAS通常提供了丰富的API接口,方便开发者在Java项目中集成和调用。 "ictclas_analysis.jar"可能是ICTCLAS的分析工具或者服务,可能包含了一些用于测试、性能评估或者调试的功能。开发者可以通过这个...
中科院分词系统+ICTCLAS2011+JNI版(Java语言)源代码学习
中科院分词系统java版 ICTCLAS50_Windows_32_JNI.rar ;里面有最新的授权文件,正确执行demo;里面包含java借口使用说明以及分词系统的演示说明
ictclas50的简单使用。只要把ictclas里的初始化函数简单应用了一下
中科院分词软件,用于语料预处理,不错的。
中科院分词器ictclas50 本人亲测windows64位可以使用
ICTCLAS50_Windows_32_JNI.rar 文件是一个包含Jena库的压缩包,主要关注Jena的推理功能,适用于Windows 32位环境,并且提供了JNI(Java Native Interface)支持。Jena是一个开源的Java框架,专门用于处理语义网和...
中国科学院计算技术研究所在多年研究工作积累的基础上,研制出了汉语词法分析系统ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System),主要功能包括中文分词;词性标注;命名实体识别;...
ICTCLAS50的API可能提供C语言接口,使得其他程序可以通过调用这些接口来使用其强大的中文自然语言处理功能。API文档会详细介绍每个函数的参数、返回值、使用场景以及可能的错误处理,帮助开发者高效地集成到自己的...
ICTCLAS50_Windows_64_C(2).rar 是一个针对中文处理的重要工具,主要功能是中文分词。中文分词是自然语言处理(NLP)中的基础任务,对于理解和分析中文文本至关重要。这个软件包适用于Windows 64位系统,并且是C语言...
中文分词的java实现实例。包括词性标注和分词等功能。
Java中lucene分词需要的ICTCLAS.dll文件和data词库
中科院ICTCLAS50_Windows分词,内含32位与64位,能智能地将一段文字分解成词语,可以用于翻译,比如要翻译一段话,机器如何知道那几个字是一个词呢?就需要先通过分词,再翻译,当然现在智能的翻译肯定不是逐词翻译...
这个是中文分词开发版,源码,自己拿着用吧,效果很不错,ICTCLAS2011-SDK-release。好不好您说了算
本教程将详细介绍ICTCLAS API 的使用方法,帮助开发者更好地理解和利用这个强大的工具。 **一、ICTCLAS API 简介** ICTCLAS 提供了一个基于C++的API接口,同时也支持Python、Java等多种编程语言的绑定,使得开发者...
包括四个包:API、Demo、Doc、Sample 其中Demo下包括绿色版分词工具 Doc下有C/C++、Java、C#接口说明文档