使用RegexNER而不是CRF模型覆盖命名实体

时间:2019-05-09 12:15:43

标签: stanford-nlp

我正在尝试在任务中使用Stanford CoreNLP检测命名实体。

我已经在RegexNER映射文件中给出了如下规则:

Train   VEHICLE_TYPE    2.0

但是将Train标识为CRIMINAL_CHARGE种实体类型。

我添加了此选项ner.applyFineGrained并将其设置为true,也许这就是为什么它被CoreNLP的CRF模型所取代。

我的问题是如何在RegexNER映射文件中添加此类异常,或者有更好的方法。

1 个答案:

答案 0 :(得分:1)

您应该使用以下设置:

# run fine-grained NER with a custom rules file
java -Xmx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner -ner.fine.regexner.mapping custom.rules -file example.txt -outputFormat text

您需要确保将ner.fine.regexner.mapping设置为自定义规则文件,以使用该规则而不是默认的细粒度规则,该规则会标记诸如CRIMINAL_CHARGE

之类的内容。