中科院分词ICTCLAS汉语分词系统简单配置

来源:互联网 发布:矩阵特征分解证明 编辑:程序博客网 时间:2024/05/29 20:01
汉语分词一直来说都是进行文本分析的瓶颈,这里介绍一个汉语分词系统ICTCLAS,全球很受欢迎的汉语分词开源系统,曾获得首界国际分词大赛综合排名第一,国家973评测第一名;支持词典,多级词性标注,支持人名、地名、组织名,分词速500KB/s左右,分词精度98.45%,API不超过100KB,各种词典数据压缩后不到3M。一个非常优秀的分词系统,具体下载地址:http://ictclas.org/

下面是它的可视化界面:

点击查看原图

       该分词系统是开源的,可以供多种程序语言API进行调用 ,下面介绍一个java调用方法:

首先,下载java相应的win平台下的api,网址:http://ictclas.org/ictclas_feedback.aspx?packetid=50&packeturl=down/50/ICTCLAS50_Windows_32_JNI.rar

然后,解压打开API文件夹,里面共有8个文件

点击查看原图

新建一个java项目,除ICTCLAS文件夹外,所有的文件均拷到java项目的根目录下,ICTCLAS文件夹整个拷到java项目中的src文件夹中,以供调用,如下:

点击查看原图

 

下面是给出的测试代码:

package tokenization;
import ICTCLAS.I3S.AC.ICTCLAS50;
public class test {
     public static void main(String[] args)
     {      
       
        ICTCLAS50 testICTCLAS50 = new ICTCLAS50();
        try
        {
            //分词所需库的路径
            String argu = ".";
            //初始化
            if (testICTCLAS50.ICTCLAS_Init(argu.getBytes("GB2312")) == false){
                System.out.println("Init Fail!");
               
                return;
            }
            else {
                    System.out.println("Init Succeed!");
            }
            String sInput="点击下载超女纪敏佳深受观众喜爱。禽流感爆发在非典之后。";
            byte nativeBytes[] = testICTCLAS50.ICTCLAS_ParagraphProcess(sInput.getBytes("GB2312"), 0, 1);
            System.out.println(nativeBytes.length);
            String nativeStr = new String(nativeBytes, 0, nativeBytes.length, "GB2312");
            System.out.println("The result is :" + nativeStr);
            testICTCLAS50.ICTCLAS_Exit();
        }
        catch (Exception ex)
        {
        }
        finally{
           
           
        }
     }
 }
结果如下:

点击查看原图

标签: 中科院分词 Tokenization java ICTCLAS 汉语分词