如何使用ICTCLAS2014

来源:互联网 发布:js获取input file 编辑:程序博客网 时间:2024/06/07 02:47

ICTCLAS是中科院计算所出品的中文分词程序包,在国内一直有着良好的口碑和很高的使用率。之前一直只有 C++的版本提供,

而现在C#,Delphi和Java版本已经纷纷出炉。下面用一个极小的例子,让大家10分钟之内就能用上ICTCLAS ,

从此也开始自己的文本分类和搜索引擎开发之路。

需要首先说明的是,不同于以前的C++版提供的JNI调用,

本次使用的是纯Java版本的ICTCLAS,


  1.进入官网下载

            ictclas2013下载包,目前更新到0416版,ictclas2013-Win-32-jni或者64位的。如果系统是32位的就下载32位的,如果是64位的系统,那就要看你安装的java虚拟机是32位还是64位。若是32为jdk,还是要下载使用32位的JNI,而且Eclipse也用32位的

      2.准备文件

         打开ictclas2013文件,需要的数据是:Data,Bin,Text三个文件,其中Bin文件夹里面只要:NLPIR.dll文件,里面内容不要轻易更改。打开Win-32bit_JNI-lib文件,里面有个NLPIL_JNI.dll文件。

      3.创建项目

         a.直接将java示例程序导入到src目录下,TestNLPIR.java和kevin同级,不要更改包名。

         b.创建file文件夹,跟src同级目录,将Data文件夹放入里面。把测试文本Test放入到项目里面,也跟src是同级目录。

         c.导入dll文件,将NLPIR.dll和NLPIL_JNI.dll文件同时导入到项目中,使用右键点击项目,import方法,从文件中导入,选择这两个文件。

        d,设置程序,下面给出test()方法的简单说明

          

Java代码 :
NLPIR testNLPIR = new NLPIR();  
        String argu = "./file/";  
    System.out.println("NLPIR_Init");  
    //0表示编码为GBK,设为1,在Eclipse调用文字乱码  
    if (testNLPIR.NLPIR_Init(argu.getBytes("GB2312"),0) == false)  
        {  
            System.out.println("Init Fail!");  
            return;  
        }  
    //导入用户词典前,设置为0,表示去除了角色标注;设置1,加上角色标注  
byte nativeBytes[] = testNLPIR.NLPIR_ParagraphProcess(sInput.getBytes("GB2312"), 0);  
String nativeStr = new String(nativeBytes, 0, nativeBytes.length, "GB2312");  
System.out.println("分词结果为: " + nativeStr);  


      

       4.最后说明

 

       附上已经整合好的项目,当然只是简单的。实际中效果还是很理想的。


1 0
原创粉丝点击