我正在一个项目中,我必须从一组文章中提取以下信息(这些文章可能涉及任何内容):
人们可以找到在场人员的名字,例如“巴拉克·奥巴马”
文章的主题或相关标签,例如“议会”,“世界能源”
公司/组织我应该能够获得提及的任何公司或组织的名称,例如“ Apple”或“ Google”
在Python中是否可以使用此类NLP框架/库来帮助我完成此任务?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
@sel和@ 3kt确实是一个很好的答案。OP,您正在寻找Entity Extraction,通常称为具名实体识别。有许多API可以执行此操作。但是您需要问自己的第一个问题是
我的数据的结构是什么?更确切地说,
我的句子英语水平好吗?
从某种意义上讲,您正在使用的数据在语法上是否一贯正确,大写且结构合理。在提取实体时,这些因素至关重要。我处理过的数据是推文。绝对的噩梦!我对各种API在实体提取方面的性能进行了详细的分析,我将与您分享发现的内容。
这是执行神话般的实体提取的API,
NLTK有一个方便的参考书籍,其深入的谈到了与多个实例的功能。NLTK在嘈杂的数据(推文)上表现不佳,因为它已经在结构化数据上进行了训练。NLTK是大写单词(例如DUCK,动词,CHAIR)的绝对垃圾。而且,与其他API相比,它的精度稍差一些。它非常适合新闻文章和学术报告中的结构化数据或精选数据。对于初学者来说,这是一个很好的学习工具。
Alchemy更易于实现,并且在命名实体的分类中表现出色,与我提到的API相比,它具有很高的精度,但是它具有一定的交易成本。一天只能执行1000个查询!它标识推特句柄,并且可以处理笨拙的大写字母。
恕我直言,sPacy API可能是最好的。它是开源的。它的性能优于Alchemy API,但不够精确。几乎对炼金术也进行实体分类。
现在,您知道哪个API应该是一个简单的问题,因为您知道每个API可能会根据所拥有的数据表现如何。
额外 -POLYGLOT是另一个API。
这是一篇在NLTK中执行实体提取的博客文章。
艾伦·里特(Alan Ritter)撰写的精美论文可能会笼罩您的头顶。但这是专业级别的实体提取(尤其是在嘈杂数据中)的标准。您可以不时参考它,以了解复杂的概念,例如LDA或SVM以大写形式。