我正在基于Stanford NER进行开发,以提高其准确性。这个想法是识别POS标签,然后从一个句子中收集所有NNP,然后遍历每个NNP并查看其在句子中的相邻单词。如果在“ CEO of”或“ xyz said”之类的词周围存在语法提示,那么我们知道第一个NNP可能是组织的名称,第二个NNP可能是一个人的名称。我正在尝试在解析器之上构建规则,以识别NER标记程序没有的那些标签。
到目前为止,我已经能够提取NNP,但是提取相邻单词是我遇到的困难。在Java或Stanford NER中没有足够的信息来执行此操作。.有些东西可以与Leucen一起使用,例如NGramExtractor
我该如何在文本中加窗?谢谢你的帮助。伪代码或指令也可以。
最佳答案
对于使用这些规则来猜测统计模型,我应该给出必要的警告,即这种事情经常适得其反。当前的CRF模型具有应捕获此类模式的功能,如果不捕获它们,则很有可能(1)模式不经常出现,或(2)模式有反例您没有想到的。
也就是说,您可以轻松地创建TokensRegex提取器来标记这些类型的模式。这实际上就是SUTime(CoreNLP的时间解析器)的实现方式。
关于java - 提取字符串中的相邻单词以帮助提高命名实体识别器的准确性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41259146/