中科院分词ictclas2013使用java调用

      中科院ictclas2013版分词系统,现在改为NLPIR汉语分词系统--http://ictclas.nlpir.org/,功能上已经足够强大了,由于项目需要,整合分词到系统中来。参考官网的java调用说明,在使用过程中有些要注意的地方。

      下面贴出配置过程:

      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()方法的简单说明

          

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.最后说明

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

      
 

猜你喜欢

转载自cjp1989.iteye.com/blog/1856613