nlpir分词工具使用记录

项目开发中使用ansj分词,可是发现ansj分词在添加新词的时候有一些问题,果断选择ansj的祖先nlpir奋斗,首先第一个问题是将nlpir工具转化成java工程,步骤如下:

1:下载20131115123549_nlpir_ictclas2013_u20131115_release和20130416090323_Win-64bit-JNI-lib,后者JNI是为了java调用C程序;

2:将20130416090323_Win-64bit-JNI-lib中的kevin文件夹copy到eclipse工程的sr中,将TestNLPIR.java放到sr的另外一个包中,比如nlpir.test包中;将NLPIR_JNI.dll复制到工程下;

3:在eclipse工程中创建file文件夹,并且将nlpir_ictclas2013_u20131115_release中Data文件夹拷贝到file下面,顺便把test文件夹也拷过去吧,不过test文件夹是放到和file同级的目录下滴;进而,将bin文件夹下的NLPIR.dll也import进工程

讲过上述三个步骤,基本上搞定了,可以测试下,嘿嘿大笑,如果发现什么初始化不成功,不要担心,去http://ictclas.nlpir.org/  下载最新的版本,然后把其中的Data文件夹拿过来,具体原因好像是认证什么玩意的(胡猜的哦).....

这个时候,你会不会发现有不爽的地方啦,有的词你明明想让其分在一起,可是人家不鸟你,照样我行我素,不要急,下面就是搞定它

4:在TestNLPIR.java文件中写,记着下面的说到的代码一定要添加到初始化时候哦

5:加入人工词典有两种方式: 1)将userdic.txt载入 2)直接把词载入;一定要记着是GB2312编码啊,当时GB2312编码时if (!NLPIR.NLPIR_Init("./file/".getBytes(charset), tag))中的tag值为0,utf-8时为1;我试了utf-8时,就是不成功;其中两种方式的每个词条的格式都是一样滴(比如添加新词: 郑州大学自然语言处理实验师\tORG),其中ORG为词性;

    先说文件载入方式:

         String path="D:/userLibrary/userLibrary.dic";
        byte[] bpath=path.getBytes(charset);
        int count=nlpir.NLPIR_ImportUserDict(bpath);

count在载入的词条数目;这种方式后,可能会使Data文件夹大小变化;

     直接把词载入的方式:

             byte[] newword=" 郑州大学自然语言处理实验室\tORG".getBytes(charset);
     int count= nlpir.NLPIR_AddUserWord(newword);

这个时候,第二种方式是不会将新词放入Data中的,可以通过nlpir.NLPIR_SaveTheUsrDic()加入其中

--------------------------------------------------------------------------------------------------------------------------------------

到此为止,nlpir任意添加用户自定义词就搞定了,由于见识浅薄,如果有不对的地方,还请大神提出,谢谢哈

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值