首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >命名实体识别算法

命名实体识别算法
EN

Stack Overflow用户
提问于 2009-06-22 12:26:33
回答 6查看 9.8K关注 0票数 22

我想使用命名实体识别(NER)来为数据库中的文本找到适当的标记。

我知道维基百科上有一篇关于这一点的文章,还有很多其他关于NER的文章,我希望能从你那里听到一些关于这个话题的东西:

  • 你对各种算法有什么经验?
  • 你会推荐哪种算法?
  • 哪种算法最容易实现(PHP/Python)?
  • 算法是如何工作的?是否需要手工训练?

示例:

“去年,我在伦敦见到了巴拉克·奥巴马。”=>标签:伦敦,巴拉克·奥巴马

我希望你能帮助我。非常感谢您提前!

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-06-22 13:53:39

首先,查看http://www.nltk.org/,如果您计划使用python,尽管据我所知,代码并不是“行业优势”,但它会让您开始工作。

请参阅http://nltk.googlecode.com/svn/trunk/doc/book/ch07.html的第7.5节,但是要理解算法,您可能需要阅读大量本书。

还可以查看这个http://nlp.stanford.edu/software/CRF-NER.shtml。这是用java做的,

NER不是一门容易的学科,也许没人会告诉你“这是最好的算法”,他们中的大多数都有自己的优缺点。

我的0.05块钱。

干杯,

票数 13
EN

Stack Overflow用户

发布于 2009-06-22 14:05:15

这取决于您是否希望:

要了解NER:一个很好的起点是使用NLTK和相关的

要实现最好的解决方案:在这里,您需要寻找最先进的技术。查看TREC中的出版物。一个更专业的会议是生物活性 (一个应用于狭窄领域的NER的很好例子)。

要实现最简单的解决方案:在本例中,您基本上只想做简单的标记,并取出标记为名词的单词。您可以使用nltk中的标签,甚至可以在PyWordnet中查找每个单词并使用最常见的wordsense标记它。

大多数算法都需要某种形式的培训,并且当它们在代表您将要求它标记的内容方面进行培训时,它们的性能最好。

票数 3
EN

Stack Overflow用户

发布于 2014-07-16 20:01:14

这里有一些工具和API。

在DBPedia之上构建了一个名为DBPedia Spotlight (https://github.com/dbpedia-spotlight/dbpedia-spotlight/wiki)的工具。您可以使用他们的REST接口或下载并安装您自己的服务器。最重要的是,它将实体映射到它们的DBPedia存在,这意味着您可以提取有趣的链接数据。

AlchemyAPI (www.alchemyapi.com)有一个API,它也可以通过REST实现这一点,并且他们使用了一个免费的模型。

我认为大多数技术都依赖于一些NLP来查找实体,然后使用诸如维基百科、DBPedia、Freebase等底层数据库来消除歧义和相关性(例如,试图确定一篇提到苹果的文章是关于苹果还是该公司.如果文章中包含与苹果公司有关联的其他实体,我们会选择该公司)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1026925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档