stanford CoreNLP 命名实体识别NER学习笔记

Posted 一休Q_Q

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stanford CoreNLP 命名实体识别NER学习笔记相关的知识,希望对你有一定的参考价值。

简介

识别文本的命名实体,如人名和机构名称等。每种语言识别出的实体是相互独立的,英文的识别集合比其他语言更为丰富。再NERClassifierCombiner中,会执行多个命名实体识别,然后将结果组合起来。

识别类别

       在英文中,命名实体识别能识别的名字包括:人名、地名、机构名、MISC;数字:钱、数字、序号、百分比;时间:日期,时间、持续序列、集合等实体。命名实体的识别使用组合的三个CRF标注序列在不同语料上训练的,如ACEMUC评测会议的评测语料。数字实体识别使用基于规则的系统实现,同时,数字实体需要进行规范化,如dates,被规范化为NormalizedNamedEntityTagAnnotation.

 

CoreNLP 的中文命名实体识别NER模块,基于CRF模型实现。

 

调用方法

 
//设置自己存放模型的地址
String basedir = "D:/WorkSpaceIntelliJ/coreNLP/Stanfordnlp-CoreNLP-master/data/models/";

 CRFClassifier<CoreLabel> classifier = new CRFClassifier<>();
classifier.loadClassifierNoExceptions(basedir + "ner/chinese.misc.distsim.crf.ser.gz");
 List<List<CoreLabel>> out = classifier.classify("我 和 李刚 在 中国 北京大学 的 图书馆。");
 for (List<CoreLabel> sentence : out) 
   for (CoreLabel word : sentence) 
     System.out.print(word.word() + '/' + word.get(CoreAnnotations.AnswerAnnotation.class) + ' ');
   
   System.out.println();
 

 

模型的主要内容包括

1.类别

主要识别8种类型:

(1)      O;

(2)      MISC;

(3)      LOCATION;

(4)      GPE;

(5)      FACILITY

(6)      ORGANIZATION

(7)      DEMONYM

(8)      PERSON

 

2.CRF特征索引

        public Index<String> featureIndex;大小:401518

 

3.工厂方法

// NERFeatureFactory, 
public List<FeatureFactory<IN>> featureFactories;
 
 
 

4.权重

double[][] weights,大小:401518

5.Set<String> lcWords

 

 

以上是关于stanford CoreNLP 命名实体识别NER学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

stanford corenlp自定义切词类

运行 Stanford.NLP.CoreNLP 示例时出现 TypeInitializationException

使用Stanford CoreNLP进行句法分析实战

Stanford Corenlp学习笔记——词性标注

stanfordnpl安装以及对英文数据进行标注 命名实体识别

stanfordnpl安装以及对英文数据进行标注 命名实体识别