2013-11-14 34 views
1

是否有算法或标准来验证不同格式的客户名称?客户名称验证算法

我的意思是,

  • J.史密斯
  • 约翰·史密斯
  • 约翰·史密斯
  • J.路易斯·史密斯
  • 约翰路易斯S.

可能是同一个人,并且应该通过验证。

感谢

+0

它似乎不是一个特别复杂的任务,你是否试图自己解决它? – Dukeling

+1

“除非你为某个名字指定了一个特别限制性的标准,否则这可能是一个非常困难的问题”,这位曾经被称为“42”的人说。乔纳森路易斯“路易”史密斯博士,小D.D.S.,博士,M.Div。 – twalberg

回答

2

Figure out if a business name is very similar to another one - Python接受的答案一定会帮助你,因为我自己有一个非常类似的方法工作规范化名称。

请注意,一个独立的指标是不够的。综合方法必须实施考虑字符N Gram匹配,编辑距离等,最终返回匹配词的强度。设计一个公式来计算匹配关键字的强度,一旦你的名字列表被用尽,只需重新运行算法,以获得强度低于你设置的特定阈值的名称/单词。这使得这些名字可以与其他一些名字相匹配的名字产生共鸣,其中匹配/强度值更强。

此外,你将不得不注意精度/召回的权衡。采用上述方法,我发现精度太好,但召回并不是那么好。