2017-07-19 167 views
1

我已经尝试过许多NER工具(OpenNLP,Stanford NER,LingPipe,Dbpedia Spotlight等)。如何创建基于地名索引的命名实体识别(NER)系统?

但是,经常回避我的是一个基于地名词典/字典的NER系统,其中我的自由文本与预先定义的实体名称列表相匹配,并且可能的匹配被返回。

这样我可以有各种像PERSON,ORGANIZATION等列表我可以动态更改列表并获得不同的提取。这将大大减少培训时间(因为其中大部分都基于maximum entropy model,所以它们通常包括标记大型数据集,培训模型等)。

我用一个OpenNLP POS标记器构建了一个非常简单的基于地名索引的NER系统,我用它从中取出所有专有名词(NP),然后在从我的列表创建的Lucene索引中查找它们。但是,这给了我很多误报。例如。如果我的lucene索引有“三星电子”,而我的POS tagger将“电子”作为NP,我的做法会让我回到“三星电子”,因为我正在进行部分匹配。

我也读过有关使用地名词录作为CRF算法特征的人们。但我永远无法理解这个approach

你们中的任何一个人都可以引导我采用明确而坚实的方法,在地名词典和词典上构建NER吗?

回答

2

我会尽量使地名词典的使用更清晰,因为我怀疑这是你正在寻找的。无论使用训练算法(CRF,MAXENT等),他们考虑到的功能,这是大部分的时间:

  • 令牌讲话
  • 部分
  • 资本
  • 方志
  • (还有更多)

其实地名录功能提供模型中介信息训练步骤将被考虑,而不明确地依赖于存在于训练语料库中的NE的列表。假设你有一个关于运动队的地名录,一旦训练完模型,你可以按照你的意愿扩展列表,而不需要再次训练模型。该模型会将任何上市的运动队视为...一个运动队,不管其名称如何。

在实践中:

  1. 使用任何NER或基于ML-框架
  2. 决定什么方志是有用的(这也许是最关键的部分)
  3. 影响到每一个地名相关的标签(例如sportteams,公司,城市,纪念碑等)
  4. 填充方志与网元
  5. 大名单让你的模型考虑到这些地方志为特征
  6. 列车上的相关语料库的模型(它应该包含从地方志许多NES)
  7. 更新您的列表,就像你想要的一样

希望这有助于!

相关问题