使用正则表达式来覆盖现有命名实体同时维护实体的问题

时间:2018-08-05 16:35:58

标签: stanford-nlp

我在运行Java版本1.8.0_101的Mac上使用Stanford CoreNLP 3.9.1。我正在运行CoreNLP,并且能够利用大多数注释器。我正在尝试微调命名实体的识别,并且存在无法覆盖现有映射的问题。

以下是属性文件的内容:     #使用以下命令启动该文件:     #Marks-MacBook-Pro-4:stanford-corenlp-full-2018-02-27 moranmarkd $ java -cp“ *” -Xmx8g edu.stanford.nlp.pipeline.StanfordCoreNLP -props ner-3.props

annotators = tokenize,ssplit,pos,lemma,ner

# RegexNER mappings file - this is different than just the regexner file...this should incorporate with Named Entity Mentions
ner.additional.regexner.mapping = regexner-1.txt

# Where to find the list of input files
filelist = CL-Cleaned-Infiles.txt

# Where to place and how to format output
outputDirectory = ../../CL-Cleaned-CoreNLP-ner3-json
outputFormat = json

下面是regexner-1.txt的内容     约翰·迪尔(John Deere)\ tORGANIZATION \ tPERSON \ n     纽荷兰\ tORGANIZATION \ tCOUNTRY \ n

我尝试在管道末端同时使用regexner注释器并调用其他映射(如上所述),但无法覆盖John Deere(个人)和New Holland(国家)的默认标识。

我也尝试过从一个很长的命令行调用所有这些相同的设置,但都没有成功:     java -cp“ *” -Xmx8g edu.stanford.nlp.pipeline.StanfordCoreNLP -anotators标记化,分割,pos,lemma,ner -ner.additional.regexner.mapping regexner-1.txt-文件列表CL-Cleaned-Infiles.txt -outputDirector ../../CL-Cleaaned-CoreNLP-ner3-json -outputFormat json

我更喜欢执行其他映射而不是regexner,以便仍然能够影响实体提及(据我所知)。

欢迎提供有关如何进行故障排除,更正或尝试的任何建议。

最好

标记

1 个答案:

答案 0 :(得分:0)

当前文档与GitHub上的当前代码匹配,因此Stanford CoreNLP 3.9.1没有完善的ner管道(仅在几周前添加)。我将在页面上对此进行记录。

我们正在努力尽快(数周后)推出Stanford CoreNLP 3.9.2。

使用来自GitHub的代码创建一个jar很直接。说明在主页上。

如果还有其他问题,请告诉我。

https://github.com/stanfordnlp/CoreNLP

我在您的示例中使用您的规则运行了此命令,并获得了正确的结果(使用最新的代码):

java -Xmx10g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner -ner.additional.regexner.mapping override_example.rules -file override_example.txt -outputFormat text