如何在斯坦福大学自然语言处理学院强制NER类

时间:2018-06-27 22:59:43

标签: stanford-nlp

从历史上看,我使用OpenNLP进行自然语言处理。我决定让Stanford NLP尝试一下我的最新项目,并且遇到了NER的问题。具体来说,当处理特定令牌(在我的示例中为TOKENP)时,我希望将其分类为TOKENP的类型。

我已经通读了多次文档,通读了对此related SO post的回复,但无法可靠地将其分配给TOKENP

这是规则文件(labels.txt):

TOKENP  TOKENP  PERSON  5

这是输入文件(tmp.txt):

Michael Scott Dunder Mifflin TOKENP

这是我正在使用的命令:

java -mx4g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators 'tokenize,ssplit,pos,lemma,ner' -ner.fine.regexner.mapping labels.txt -outputFormat text -file tmp.txt

这是输出:

Tokens:
[Text=Michael CharacterOffsetBegin=0 CharacterOffsetEnd=7 PartOfSpeech=NNP Lemma=Michael NamedEntityTag=PERSON]
[Text=Scott CharacterOffsetBegin=8 CharacterOffsetEnd=13 PartOfSpeech=NNP Lemma=Scott NamedEntityTag=PERSON]
[Text=Dunder CharacterOffsetBegin=14 CharacterOffsetEnd=20 PartOfSpeech=NNP Lemma=Dunder NamedEntityTag=PERSON]
[Text=Mifflin CharacterOffsetBegin=21 CharacterOffsetEnd=28 PartOfSpeech=NNP Lemma=Mifflin NamedEntityTag=PERSON]
[Text=TOKENP CharacterOffsetBegin=29 CharacterOffsetEnd=35 PartOfSpeech=NNP Lemma=TOKENP NamedEntityTag=PERSON]

Extracted the following NER entity mentions:
Michael Scott Dunder Mifflin TOKENP PERSON

我希望TOKENP作为输入中的最后一个令牌,将根据规则接收TOKENP类。

1 个答案:

答案 0 :(得分:0)

问题在于规则系统不会破坏“ Michael Scott Dunder Mifflin TOKENP”的实体。

我可以尝试添加一个选项,该选项将在任何情况下都为所有内容编写基于规则的标记(或查看是否已经存在这样的选项!)