使用免费工具进行实体识别,并将其输入到Lucene索引中

45

我目前正在研究从文本中(来自网络的许多文章)提取人名、地点、技术词汇和类别的选项,然后将其馈入Lucene/ElasticSearch索引中。附加信息随后作为元数据添加,并应提高搜索的精度。

例如,当有人查询“wicket”时,他应该能够确定他是指板球运动还是Apache项目。我尝试过自己实现,但成功有限。现在我找到了很多工具,但我不确定它们是否适合这项任务,以及它们中哪些与Lucene集成良好或实体提取的精度是否足够高。

  • Stanford CRF-NER:斯坦福CRF-NER
  • maui-indexer:Maui-Indexer
  • Mallet:Mallet
  • Illinois Named Entity Tagger:伊利诺伊命名实体标记器,非开源但免费
  • wikipedianer data:维基百科命名实体数据
  • 我的问题:

    • 有人使用过上述工具之一吗?它们的准确率 / 召回率如何?或是否需要训练数据+可用。
    • 是否有相关文章或教程可以帮助我开始为每个工具进行实体提取(NER)?
    • 它们如何与Lucene集成?

    以下是与该主题相关的一些问题:


    无论 = 被阉割的公羊;你指的是是否 - Anona112
    4个回答

    17
    在"wicket"示例中,您遇到的问题被称为实体消歧(entity disambiguation),而不是实体抽取/识别(NER)。NER可能有用,但仅当类别足够具体时。大多数NER系统没有足够的细粒度来区分运动和软件项目(这两种类型都将落在通常识别的类型之外:人物、组织和地点)。
    对于消歧,您需要一个知识库,用于对实体进行消歧。由于其广泛的覆盖范围,DBpedia是一个典型的选择。请参见我的答案How to use DBPedia to extract Tags/Keywords from content? ,其中我提供了更多解释,并提到了几个消歧工具,包括: 这些工具通常使用像REST这样的语言无关API,我不知道它们是否直接提供Lucene支持,但我希望我的答案对您正在解决的问题有所裨益。

    感谢您的回答和指引!在使用命名实体识别时,我希望能够解决实体消歧的问题,因为将文章标记为Apache Wicket和Java、编程语言等,会在将它们映射到其类别(例如软件系统)时,以某种方式导致实体消歧解决方案...我需要再考虑一些时间。 - Karussell
    在Maui索引器博客(非常好!http://maui-indexer.blogspot.com/)上,我发现了一个不错的工具:http://wikipedia-miner.cms.waikato.ac.nz/demos/search/?query=wicket。 - Karussell
    1
    NER通常不会有太大帮助,因为正如我所解释的那样,很少有NER系统能提供足够细致的区分来识别软件和体育,更不用说区分这两者了。Extractiv是个例外。 - John Lehmann
    是的,Wiki Miner是一个很棒的工具,我忘记了它。Miner是在与Maui作者相同的大学的研究人员开发的。 - John Lehmann

    2

    0

    0

    Rosoka是一款商业产品,提供“显著性”计算,用于衡量术语或实体对文档的重要性。显著性基于语言使用而非频率。使用显著性值,您可以确定整个文档的主要主题。 输出格式可选择XML或JSON,使其与Lucene非常易于使用。 它是用Java编写的。 Amazon Cloud版本也可用。尝试它的成本为每小时0.99美元。Rosoka Cloud版本没有完整版Rosoka可用的所有Java API功能。 是的,两个版本都基于语言使用执行实体和术语消歧。

    消歧,无论是人类还是软件,都需要足够的上下文信息来确定差异。上下文可能包含在文档中、语料库限制内或用户的上下文中。前者更具体,后者具有更大的潜在歧义。例如,在Google搜索中键入关键字“wicket”可能指的是板球、Apache软件或星球大战的Ewok角色(即实体)。句子“The wicket is guarded by the batsman”在句子中具有上下文线索,可以将其解释为对象。“Wicket Wystri Warrick was a male Ewok scout”应该将“Wicket”解释为人物实体“Wicket Wystri Warrick”的名字。“Welcome to Apache Wicket”具有上下文线索,“Wicket”是地名的一部分等。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接