通过阅读文档并使用API,看起来CoreNLP会告诉我每个令牌的NER标签,但这无助于我从句子中提取全名。例如:
Input: John Wayne and Mary have coffee
CoreNLP Output: (John,PERSON) (Wayne,PERSON) (and,O) (Mary,PERSON) (have,O) (coffee,O)
Desired Result: list of PERSON ==> [John Wayne, Mary]
除非我错过了一些标志,否则我相信要做到这一点,我将需要解析标记并将随后标记为PERSON的连续标记粘合在一起。
有人可以确认这确实是我需要做的吗?我最想知道的是CoreNLP中是否有某些标志或实用程序可以为我做类似的事情。如果有人拥有可以执行此操作并希望共享的实用程序(理想情况下为Java,因为我正在使用Java API),即可获得奖励积分:
谢谢!
PS:有一个非常相似的问题here,似乎暗示答案是“自己动手”,但从未被其他人确认。
最佳答案
您可能正在寻找entity mentions而不是NER标签。例如,使用Simple API:
new Sentence("Jimi Hendrix was the greatest").nerTags()
[PERSON, PERSON, O, O, O]
new Sentence("Jimi Hendrix was the greatest").mentions()
[Jimi Hendrix]
上面的链接提供了一个使用旧的
StanfordCoreNLP
管道的传统非简单API的示例关于java - 从NER获取全名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57576640/