我正在与斯坦福 CoreNLP 合作并将其用于 NER。但是当我提取组织名称时,我看到每个单词都标有注释。因此,如果实体是“NEW YORK TIMES”,那么它会被记录为三个不同的实体:“NEW”、“YORK”和“TIMES”。我们是否可以在斯坦福 COreNLP 中设置一个属性,以便我们可以获得作为实体的组合输出?
就像在斯坦福 NER 中一样,当我们使用命令行实用程序时,我们可以选择输出格式为: inlineXML ?我们可以以某种方式设置一个属性来选择斯坦福 CoreNLP 中的输出格式吗?
如果您只想要斯坦福 NER 找到的每个命名实体的完整字符串,请尝试以下操作:
String text = "<INSERT YOUR INPUT TEXT HERE>";
AbstractSequenceClassifier<CoreMap> ner = CRFClassifier.getDefaultClassifier();
List<Triple<String, Integer, Integer>> entities = ner.classifyToCharacterOffsets(text);
for (Triple<String, Integer, Integer> entity : entities)
System.out.println(text.substring(entity.second, entity.third), entity.second));
如果您想知道,实体类由entity.first
.
或者,您可以使用ner.classifyWithInlineXML(text)
得到看起来像这样的输出<PERSON>Bill Smith</PERSON> went to <LOCATION>Paris</LOCATION> .
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)