Ictclas50是一个分词库,我嘛主要用来做中文分词,其也能分出词性等东西。

1.环境搭建

官方网站:http://ictclas.org/

进入到下载页面进行下载:

如下图: 因为我的系统是64位的windows,所以选择了到数第三行进行下载。其JAVA版本是通过JNI去调用dll库,所以下载下来后没有jar包。154951932.png155232796.png看到没有,这就是下载下来后的所有东西,里面有Demo,Doc,API,Sample,主要就是Doc里面的文档要去看一下,里面有实例代码啥的。还有就是API,自然是用来开发用的。




155602768.png把API文件夹里面的东西都拖入到你的工程中,其中ICTCLAS文件夹拖入工程目录下的src文件夹中,这样之后就可以开始使用里ICTCLAS50这个类进行分词了。

2.测试:

查看下ICTCLAS50这个类里面的代码可以看出,其很简单,里面就几个函数,具体用法参见doc文件夹里的文档,里面都有说明和示例。

下面就是那几个函数:160038624.png

以下为测试代码:

package test;
import java.io.UnsupportedEncodingException;
import ICTCLAS.I3S.AC.ICTCLAS50;
public class test {
    /**
     * @param args
     */
    public static void main(String[] args) {
        ICTCLAS50 ictclas50 = new ICTCLAS50();
        String argu = ".";
        try {
            if (ictclas50.ICTCLAS_Init(argu.getBytes("GB2312")) == false)
            {
                System.out.println("Init Fail!");
            }
            String text = "loma在做一个分词测试";
            //分词处理
            byte nativeBytes1[] = ictclas50.ICTCLAS_ParagraphProcess(text.getBytes("GB2312"), 2, 0);
            String nativeStr1 = new String(nativeBytes1, 0, nativeBytes1.length, "GB2312");
            System.out.println(nativeStr1);
            ictclas50.ICTCLAS_Exit();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }
}

输出结果:

160221717.png空格有点小,要睁大眼睛哦~

里面还能输出词性啥的,请看doc里面的文档。