用于NLP的Python框架?

2024-05-23 18:46:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在进行一个项目,其中我必须从一组文章中提取以下信息(这些文章可以是关于任何内容的):

  • 人们找到出席的任何人的名字,比如“巴拉克奥巴马”

  • 主题或文章的相关标签,如“议会”“世界能源”

  • 公司/组织我应该能够获得上述任何公司或组织的名称,如“苹果”“谷歌”

Python中是否有这种NLP框架/库可以帮助我完成这项任务?在


Tags: 项目苹果名称框架信息内容主题nlp
3条回答

你真正要找的是文献中的命名实体识别。 您可能想看看本教程:

http://textminingonline.com/how-to-use-stanford-named-entity-recognizer-ner-in-python-nltk-and-other-programming-languages

解决这个问题的一个简单方法部分地说这个问题是使用正则表达式来提取具有此paper模式的单词来提取人名。当然,这可能会导致提取所有的类别,你正在寻找,即主题和校园名称。在

还有一个API可以使用,它实际上提供了与您正在寻找的结果相同的结果,称为Alchemy。不幸的是,没有文档可以解释他们用来提取主题和人名的方法。在

希望这有帮助。在

你应该看看NLTK。在

通过标记恢复的文本并提取专有名词(标记为NNP)可以找到名称和公司。找到这个主题有点棘手,可能需要一些machine learning on a given set of article。在

另外,由于我们讨论的是文章,我建议使用newspaper module,它可以从它们的url中恢复这些文章,并执行一些基本的nlp操作(summary,keywords)。在

@sel和@3kt的回答很好。OP您正在寻找实体提取,通常称为命名实体识别。有许多API可以执行此操作。但你需要问自己的第一个问题是

What is the structure of my DATA? or rather,

Are my sentences good English sentences?

从某种意义上说,你正在处理的数据在语法上是否一贯正确、大写和结构是否良好。在提取实体时,这些因素至关重要。我使用的数据是tweets。绝对是噩梦!!我对实体抽取的各种api的性能进行了详细的分析,我将与您分享我的发现。在

这里有一些API可以执行精彩的实体提取-

NLTK有一个方便的参考book,它通过多个示例深入讨论了它的函数。NLTK在嘈杂的数据(tweets)上表现不佳,因为它是在结构化数据上训练的。NLTK对于大写不好的单词(如DUCK、Verb、CHAIR)来说绝对是垃圾。此外,与其他api相比,它的精确性稍差。它非常适合于结构化数据或来自新闻文章和学术报告的精心策划的数据。对于初学者来说,这是一个很好的学习工具。在

Alchemy实现起来更简单,在对命名的实体。It与我的API相比,它的精确度非常高提到过。不过存在一定的交易成本。一天只能执行1000个查询!它可以识别twitter句柄,也可以处理笨拙的大写字母。在

IMHOsPacyAPI可能是最好的。它是开源的。它的性能优于炼金术API,但不够精确。对实体的分类几乎和炼金术一样。在

选择哪一个API对于您来说应该是一个简单的问题,因为您已经知道了每个API根据您所拥有的数据可能表现出什么样的行为。在

额外-POLYGLOT是另一个API。在

这是一个在NLTK中执行实体提取的blog帖子。在

有一个美丽的paperAlan Ritter可能会越过你的头。但它是专业级别的实体提取(特别是在嘈杂数据中)的标准。你可以不时地参考它来理解像LDA或SVM这样的复杂概念。在

相关问题 更多 >