Stanford NER模型使用,训练自己的NER模型,终端使用和java调用

使用Stanford NER模型对语料进行命名实体识别


首先下载Stanford NER包,地址https://nlp.stanford.edu/software/CRF-NER.html,然后下载解压即可使用。
一、用Stanford NER原始训练好的模型对语料识别
     1.简单默认操作:
    命令:
java -mx600m -cp "*;lib\*" edu.stanford.nlp.ie.crf.CRFClassifier -loadClassifier classifiers/english.all.3class.distsim.crf.ser.gz -textFile sample.txt
   上面参数详解
-cp  表示依赖包路径(直接指定jar包也行,如将"*;lib\*"替换为stanford-ner.jar);
classifiers/english.all.3class.distsim.crf.ser.gz   指选择的命名实体识别模型;
sample.txt 要识别语料的文件。
    2.可选参数,能选择数据输出格式,和输出到文件

    命令:

java -mx600m -cp "*;lib/*" edu.stanford.nlp.ie.crf.CRFClassifier -loadClassifier classifiers/english.all.3class.distsim.crf.ser.gz -outputFormat tabbedEntities -textFile sample.txt > sample.tsv

    

        -outputFormat tabbedEntities 指数据输出格式为tabbedEntities,如果不加这个参数,默认为在词的两边进行实体标注
        > sample.tsv 表示输出结果到文件sample.tsv


二、启用Stanford NER本地服务器处理NER
    1.开启服务器命令:
java -mx1000m -cp stanford-ner.jar edu.stanford.nlp.ie.NERServer  -loadClassifier classifiers/english.conll.4class.distsim.crf.ser.gz  -port 2314 -outputFormat inlineXML
     2.然后打开另一个终端,输入NER识别命令:
java -cp stanford-ner.jar edu.stanford.nlp.ie.NERServer -port 2314 -client
    3.接着在该终端中输入你要操作NER的语言,按回车键后就能看到识别结果
三、训练自己的模型:如果没有把Stanford NER配置到系统环境变量,以下操作需要在该文件下

    1.首先建立自己的标注语料,句子中的每个单词独立成行,Tab后跟该单词的标注类别,默认为O,例:将Friday(星期)标注为week


    2.训练标注语料产生模型:官方说虽然所有的参数都可以通过命令行的方式指定,但更推荐用配置文件的方式。

        配置文件(文件内容较多这里为给出),然后命名格式xxx.prop

    3.执行命令:  

java -cp stanford-ner.jar edu.stanford.nlp.ie.crf.CRFClassifier -prop xxx.prop

    然后会在该目录下看到一个xxx.ser.gz的模型文件    


    4.用自己的模型识别实体同上一或二,本识别结果如下:



四、java调用

    参考本项目地址:

四、Python接口使用
    参考博客链接:https://blog.csdn.net/qq_35203425/article/details/80451243


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值