从非结构文本中提取人名

ana*_*ata 5 nlp named-entity-recognition text-mining opennlp

我有一系列账单和发票,所以文中没有上下文(我的意思是他们不讲故事).我想从这些账单中提取人名.我尝试过OpenNLP但是训练模型的质量并不好,因为我没有上下文.所以第一个问题是:我可以训练模型只包含没有上下文的人名吗?如果可能的话,你可以给我一篇关于我如何构建新模型的好文章(我阅读的大部分文章都没有解释我应该为构建新模型所采取的步骤).

我的数据库名称超过100,000个人名(名字,姓氏),所以如果NER系统在我的情况下不起作用(因为没有上下文),那么搜索这些候选人的最佳方法是什么(I是指用所有其他姓氏搜索每个名字?)

谢谢.

eld*_*ams 3

关于“上下文”,我猜你的意思是你没有完整的句子,即没有上一个/下一个标记,在这种情况下你面临着相当不标准的NER。我不知道针对此特定问题的可用软件或培训数据,如果您没有找到,则必须构建自己的语料库以用于培训和/或评估目的。

您的名称数据库可能会有很大帮助,这实际上取决于数据库中实际存在的账单名称的比例。您可能还必须依赖名称的字符级形态,作为模式(参见 [1] 中的模式示例)。一旦你有了一个包含特征(数据库中的存在、形态、票据的其他信息)和解决方案(注释票据的实际名称)的训练集,使用标准机器学习作为 SVM 将非常简单(如果你不熟悉这一点,只是问)。

其他一些建议:

  • 您很可能还使用其他帐单的信息:公司名称、职位、税务提及等。
  • 您也可以以一种选择性的方式进行 - 如果所有账单都应提及(确切地说?)一个人的名字,您可以排除所有其他文本(例如金额、税名、职位等),或者在专用模型中假设在所有文本中一张钞票,只有一个应该被猜测为名称。

[1] 命名实体提取的排名算法:Boosting 和投票感知器(Michael Collins,2002)