我想从文本中识别人名称。但是我感到困惑,我必须为NER使用哪个NLP库。我发现了针对NER的最佳NLP库1.斯坦福大学核心自然语言处理2.空间3. Google云端。
我无法找出哪个库可以提供更准确的结果和更好的性能。请在这里帮助我。
空间]在NLP方面具有行业优势,而在NER方面显然更快,更准确。它还与多语言模型捆绑在一起。检查spaCy
[此外,AllenNLP随附了最新的NER模型,但使用起来有点复杂。检查AllenNLP demo
如果不是付费壁垒,那么我建议使用Google的Cloud Natural Language(当然,它更快更准确)。
我个人使用过spaCy和AllenNLP。我想说的是,如果您只是想开始使用spaCy。
希望这会有所帮助。
TL; DR:只需选择一个现有的系统,该系统似乎对您来说很容易实现,并且具有合理的准确性。这可以是云产品(例如IBM Watson Conversation,Google DialogFlow)或库或可执行文件(例如RASA NLU或自然语言工具包)。基于准确性选择系统并非易事,如果您始终想要最好的系统,则应经常切换。
您问的是哪个系统将提供最准确的结果,同时又不需要太多的计算能力。就您而言,是从文本中识别人名。自然语言处理(NLP)领域正在迅速变化。为了说明这一点,我们可以看看命名实体识别(NER)的最新技术(SOTA)。ThisGithub页面为CONLL03 NER数据集提供了一个不错的摘要,由于易于记忆,我将在此处复制并使用公司名称:
基于此列表,我们观察到,在2019年初,每隔几个月就会获得新的SOTA。 (有关复杂的NLP任务的基准更新列表,请参见https://rajpurkar.github.io/SQuAD-explorer/。)因此,由于SOTA算法每个月都在变化,因此“最准确的系统(库)”也必须经常变化。数据的性能不仅取决于系统,还取决于以下各项:
由于考虑到所有这些因素,我建议您选择一个现有系统,然后根据价格和易用性进行选择。