crf++的java api配置

本文详细介绍了如何使用Java实现CRF++进行分词和词性标注,包括安装CRF++、配置环境、编写测试类等步骤。

        之前用crf++做分词和词性标注,用的都是python的api,没感觉在调用的时候很复杂。最近想写个完整的分词加词性标注程序,只想用crf做oov,考虑到效率,准备用java来进行编写,谁知道crf++的java api足足让我调试了一天。闲话少说,来说说配置的步骤。

        1.首先就是安装crf++,这个在官网上有详细的介绍,我就不多说了。

        2.安装好了之后,需要在系统中安装swig,sudo apt-get install swig。

        3.在crf++的解压缩的文件系统下,在swig目录下,make。

        4.转到crf++的解压缩目录的java下,修改makefile中的jdk位置,即以我的为例,INCLUDE=/usr/lib/jvm/java-8-oracle/include,让一会的make命令可以找到jni.h这个文件,修改完成之后,make。

        5.上一步执行make之后,得到了两个CRFPP.jar和libCRFPP.so文件。注意这个libCRFPP.so要添加到LD_LIBRARY_PATH中。

        6.仿照test.java在自己的目录中写个测试类,将之前训练好的model文件放到代码中指定的位置,然后就可以javac了。我是将CRFPP.jar和libCRFPP.so都复制到当前测试文件的目录,把训练的Model文件也放到当前目录下,修改了Test,java中的Tagger tagger = new Tagger("-m ./model -v 3 -n2")以及后面tagger.add的代码。然后终端 export LD_LIBRARY_PATH=/~/java/testfolder,然后javac -cp .CRFPP.jar Test.java,再java -cp .:CRFPP.jar Test。

        7.结果呈现!

       p.s.在上述过程中我发现了一个问题,就是我在其他的终端中执行export 命令,对我当前的这个终端是不起效果的,即使我这个终端是在其他终端执行export命令之后打开的,就因为这个害我弄了半天!  

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值