区分某个人与组织的名称

时间:2016-08-19 05:22:45

标签: text nlp named-entity-recognition

根据电子邮件的From:标题中的显示名称,我想确定这是否代表某个人或其他人的姓名。其他东西可能经常是组织的名称,或者可能是标题/角色。

一些例子:

  • Alice Smith =>一个人的名字
  • Google Inc. =>不是一个人的名字(它是一个组织)
  • 亚马逊客户支持=>不是一个人的名字(它是一个头衔/角色)
  • 工程总监=>不是一个人的名字(它是一个头衔/角色)

如何识别发件人姓名是否代表个人姓名?

一种可能的方法是使用机器学习并训练分类器。但如果我这样做,我应该使用哪些功能?我一直在阅读文献,并没有发现任何人已经解决了这个问题,尽管我已经看到了一些用于相关问题的功能:

  • “Word Word”或“Word,Word”或“Word,Word Letter”或“Word Letter Word”或“Word,Word Letter”形式的短语。或者“Word Letter.Word”更有可能成为一个名字(想想“First Last”和“Last,First”和“Last,First MI”和“First MI Last”)。

  • 以标题开头的短语(先生,夫人,小姐,女士,博士,教授,中尉,中士等)更有可能成为名称。以公共名称后缀(Jr。,Sr.,Phd,Esq)结尾的短语更可能是名称。以公司指标(Inc.,Corp.,Corporation)结尾的短语可能不是名称(可能是组织)。

  • 可以从美国人口普查中下载list最常见的名字和姓氏。如果短语包含其中一个字符串,则更有可能是名称。或者,可以使用现有的词典,例如BaLIE或Oak词典。

  • 如果短语包含字典中找到的单词,则更有可能不是名称(例如,组织/职位/角色)。

  • 如果名称中的单词与相应电子邮件地址的域名中的单词匹配,则更有可能不是某个人的姓名(例如,Paypal客户服务)。

  • 如果一个单词包含内部撇号或连字符,则更有可能是某个人的名字(例如,O'Connor,Jean-Claude)。

但我不知道实际会有什么用。我应该使用哪些功能?或者,是否有任何预先训练过的分类器或任何描述有效的经验报告?

我已经阅读了一些关于命名实体识别的内容,但这似乎是一个更难的问题。

1 个答案:

答案 0 :(得分:1)

看看OpenNLP NER已经有很多支持。

他们拥有这些经过预先训练的名称,组织,地点等模型, here

this blog可以让你开始为你量身定做的事情。

预训练的OpenNLP模型对我来说非常有效。它受过美国/英国名字的培训,因此它必须适合您。它也是基于上下文的。它承认X先生,尽管模型因为称呼而不知道名字X.

它非常适合我。一旦你有良好的训练数据,你就可以训练你自己的模型(15000个句子以获得好成绩)。我在上面提到的博客中很好地解释了培训过程。

希望这有帮助。