gpt4 book ai didi

opennlp - 如何创建基于地名词典的命名实体识别 (NER) 系统?

转载 作者:行者123 更新时间:2023-12-01 16:10:53 25 4
gpt4 key购买 nike

我尝试过许多 NER 工具(OpenNLP、Stanford NER、LingPipe、Dbpedia Spotlight 等)。

但我一直回避的是基于地名词典/词典的 NER 系统,在该系统中,我的自由文本与预定义实体名称列表相匹配,并返回可能的匹配项。

这样我就可以拥有各种列表,例如 PERSON、ORGANIZATION 等。我可以动态更改列表并获得不同的提取。这将极大地减少训练时间(因为它们中的大多数都基于 maximum entropy model,因此它们通常包括标记大型数据集、训练模型等)。

我使用 OpenNLP POS 标记器构建了一个非常粗糙的基于地名词典的 NER 系统,我曾经从中取出所有专有名词 (NP),然后在从我的列表创建的 Lucene 索引中查找它们。然而,这给了我很多误报。对于前。如果我的 lucene 索引有“Samsung Electronics”并且我的 POS 标记器给我“Electronics”作为 NP,我的方法会返回“Samsung Electronics”,因为我正在进行部分匹配。

我还读到有人在谈论使用地名词典作为 CRF 算法的一个特征。但我永远无法理解这个approach .

你们中的任何人都可以指导我找到一种在地名词典和词典上构建 NER 的清晰而可靠的方法吗?

最佳答案

我将尝试使地名录 的使用更加清晰,因为我怀疑这就是您要查找的内容。无论使用何种训练算法(CRF、maxent 等),它们都会考虑大多数情况下的特征:

  • 代币
  • 词性
  • 大写
  • 地名词典
  • (以及更多)

实际上地名词典特征为模型提供了训练步骤将考虑的中间信息,而不明确依赖于训练语料库中存在的 NE 列表。假设您有一个关于运动队的地名词典,模型经过训练后,您可以根据需要扩展列表,而无需再次训练模型。该模型会将任何列出的运动队视为……运动队,无论其名称如何。

实践中:

  1. 使用任何基于 NER 或机器学习的框架
  2. 确定哪些地名词典有用(这可能是最关键的部分)
  3. 影响每个地名词典的相关标签(例如运动队、公司、城市、纪念碑等)
  4. 用大量 NE 列表填充地名录
  5. 让您的模型将这些地名词典作为特征考虑在内
  6. 在相关语料库上训练模型(它应该包含许多来自地名词典的 NE)
  7. 根据需要更新列表

希望这对您有所帮助!

关于opennlp - 如何创建基于地名词典的命名实体识别 (NER) 系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45197084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com