根据电子邮件的From:标题中的显示名称,我想确定这是否代表某个人或其他人的姓名。其他东西可能经常是组织的名称,或者可能是标题/角色。
一些例子:
如何识别发件人姓名是否代表个人姓名?
一种可能的方法是使用机器学习并训练分类器。但如果我这样做,我应该使用哪些功能?我一直在阅读文献,并没有发现任何人已经解决了这个问题,尽管我已经看到了一些用于相关问题的功能:
“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)。
但我不知道实际会有什么用。我应该使用哪些功能?或者,是否有任何预先训练过的分类器或任何描述有效的经验报告?
我已经阅读了一些关于命名实体识别的内容,但这似乎是一个更难的问题。
答案 0 :(得分:1)
看看OpenNLP NER已经有很多支持。
他们拥有这些经过预先训练的名称,组织,地点等模型, here
this blog可以让你开始为你量身定做的事情。
预训练的OpenNLP模型对我来说非常有效。它受过美国/英国名字的培训,因此它必须适合您。它也是基于上下文的。它承认X先生,尽管模型因为称呼而不知道名字X.
它非常适合我。一旦你有良好的训练数据,你就可以训练你自己的模型(15000个句子以获得好成绩)。我在上面提到的博客中很好地解释了培训过程。
希望这有帮助。