课外天地 李树青学习天地信息检索原理课件 → Java通过JNI调用ICTCLAS中文分词包的方法


  共有22019人关注过本帖树形打印复制链接

主题:Java通过JNI调用ICTCLAS中文分词包的方法

帅哥哟,离线,有人找我吗?
admin
  1楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1949 积分:26803 威望:0 精华:34 注册:2003/12/30 16:34:32
Java通过JNI调用ICTCLAS中文分词包的方法  发帖心情 Post By:2016/5/9 12:31:14 [只看该作者]

1)从网络上下载ICTCLAS分词包的Java JNI版本

ICTCLAS官方网站为:http://ictclas.nlpir.org/

 

2)新建Java项目,类代码为:

public class Exec {
        public static void main(String[] args) {
                try {
                        ICTCLAS.I3S.AC.ICTCLAS50 testICTCLAS50 = new ICTCLAS.I3S.AC.ICTCLAS50();
                        // 分词所需库的路径
                        String argu = ".";
                        // 初始化
                        if (testICTCLAS50.ICTCLAS_Init(argu.getBytes("GB2312")) == false) {
                                System.out.println("Init Fail!");
                                return;
                        } else {
                                System.out.println("Init Succeed!");
                        }

                        String sInput = "我们今天试一试Java的JNI调用方法。";
                        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) {
                }
        }
}

 


3)将压缩包中API目录中的源代码,即位于包ICTCLAS\I3S\AC中的ICTCLAS50加入项目中

 

4)将压缩包中API目录中其他所有文件直接放入当前项目根目录

 

即可运行

 

输入为:

Init Succeed!
68
The result is :我们/rr 今天/t 试/v 一/m 试/v Java/x 的/ude1 JNI/x 调用方法/n 。/wj


要想取消词性标注,可以将ICTCLAS_ParagraphProcess函数最后一个参数设置由1为0


[此贴子已经被作者于2016-05-09 12:32:39编辑过]

 回到顶部