我已经尝试过许多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吗?