使用OpenNLP链接多个名称查找器实体

时间:2016-06-30 20:48:21

标签: nlp opennlp

首先介绍一下上下文:我正在尝试识别文档语料库中的街道地址,我们认为明显的解决方案是使用NLP(在本例中为Apache OpenNLP)工具来实现这一点,到目前为止,一切看起来都很棒,尽管我们仍然需要用大量文档训练模型,但这不是一个真正的问题。我们通过使用Datamade中的USAddress解析器添加额外的地址验证步骤来改进解决方案。我最大的问题是,如果地址旁边没有位置,地址就没有了,有时位置在文本中指定,我们会认为这种情况经常发生。

我的问题出现了:是否有人使用coreference来关联文本中的实体?或者更好的是,有没有办法在文本中注释任意单词并将它们标识为一个实体?

我一直在关注Apache OpenNLP文档但是......它非常薄,我认为它仍然需要一些工作。

3 个答案:

答案 0 :(得分:1)

如果您想对此问题使用共识,可以查看此blog

但更简单的解决方案是使用句子检测器+ RegEx或位置NER +句子检测器(假设地址在一行中)

我认为可以使用正则表达式识别美国地址,一旦正则表达式匹配,您可以使用opennlp的句子检测器来打印整个地址行。

同样,您可以使用opennlp提供的NER模型查找位置并打印您想要的句子。

希望这有帮助!

修改

Github Repo让我们变得简单。看看吧!

答案 1 :(得分:0)

OpenNLP不提供共参考分辨率模块。
您必须使用StanfordIllinoisBerkeley系统来完成任务。它们可能无法开箱即用,您可能需要进行一些参数调整或监督培训才能达到合理的性能。

<强> @edit
感谢@Alaye指出OpenNLP确实有一个coref模块,有关详细信息,请参阅他的回答。

由于

答案 2 :(得分:0)

好的,几个月后!这不是Coref我追求的......实际上我正在寻找的是关系提取(Information Extraction)。我使用MITIE(BinaryRelation)并且这样做,我使用Brat注释工具训练我自己的模型,我获得了0.81的F1分数。非常整洁......