1

问题

我们正在接收字符串,它们可能代表公司名称或个人姓名。我们需要一个启发式来确定这一点。

最初的想法

  • 使用带有节点 Commercial String /Commercial 或 Personal String /Personal 的 XML 文档,并且得分匹配字符串 +1(抱歉不知道如何在 SO 中格式化 XML)

  • 不能只检查专有名词。IE Bob's Company 是一家以 Bob Compton 命名的公司

  • 需要以某种格式返回置信水平。我想不出如何用百分比来做,我能想到的就是如果找到匹配项使用整数

  • 可能的商业(全部都将转换为小写):co、co.、inc、inc. 等(每个的详细版本)

  • 我可以从网上得到一份英文名单

问题

有没有人遇到过这种域问题?你用了什么方法?有什么华丽的方法可以解决这个问题吗?

谢谢你。

4

2 回答 2

1

您能与已知公司名称的数据库进行比较吗?

例如在英国:http ://wck2.companieshouse.gov.uk

当然,如果它实际上是某人的名字,这无济于事,但有一家同名的公司。

于 2011-02-14T18:45:53.657 回答
1

我以前没有这样做过,但还有一些其他想法:

检查非专有名词(例如“and”、“the”、“piping”)。事实上,如果你有一本英文字典和一个名字列表,任何不是名字的词都可能是一个很好的指向公司名称的指针。

一个大问题是有些公司只是以一个人的名字命名。“Fred Meyer”、“JC Penney”和“Lockheed Martin”都是看起来像人名的公司的例子。可能没有真正好的解决方法(无论如何可能都不容易)。如果您可以对名字和姓氏进行分类,双重姓氏或仅姓氏可能是降低确定性的好理由。

我同意你的整数想法。除非您可以进行一些非常广泛和非常彻底的测试,否则您的百分比可能毫无意义。我可能会运行所有测试(返回名称、公司或未知数)并比较结果,根据结果的一致性将一个整数相加。

于 2011-01-21T20:33:29.380 回答