我是靠谱客的博主 欣慰航空,最近开发中收集的这篇文章主要介绍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


最后

以上就是欣慰航空为你收集整理的Stanford NER模型使用,训练自己的NER模型,终端使用和java调用的全部内容,希望文章能够帮你解决Stanford NER模型使用,训练自己的NER模型,终端使用和java调用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(89)

评论列表共有 0 条评论

立即
投稿
返回
顶部