我目前正在研究从文本中(来自网络的许多文章)提取人名、地点、技术词汇和类别的选项,然后将其馈入Lucene/ElasticSearch索引中。附加信息随后作为元数据添加,并应提高搜索的精度。
例如,当有人查询“wicket”时,他应该能够确定他是指板球运动还是Apache项目。我尝试过自己实现,但成功有限。现在我找到了很多工具,但我不确定它们是否适合这项任务,以及它们中哪些与Lucene集成良好或实体提取的精度是否足够高。
- Dbpedia Spotlight,演示看起来非常有前途
- OpenNLP 需要 训练。使用哪些训练数据?
- OpenNLP 工具
- Stanbol
- NLTK
- balie
- UIMA
- GATE -> 示例代码
- Apache Mahout
我的问题:
- 有人使用过上述工具之一吗?它们的准确率 / 召回率如何?或是否需要训练数据+可用。
- 是否有相关文章或教程可以帮助我开始为每个工具进行实体提取(NER)?
- 它们如何与Lucene集成?
以下是与该主题相关的一些问题: