2013-11-22 36 views
0

我们的网站允许用户以自由格式文本输入他们工作的公司。 从历史上看,我们收集了几百万个独特的条目。由于我们没有受到任何约束,因此我们得到了很多变体,错别字(如麦当劳超过1000个不同的条目)如何分类大量用户输入的公司名称?

我们意识到只要我们能够将这些变体联系在一起,我们就能为用户提供一个很棒的功能。我们使用各种在线资源编制了一份干净清单的公司作为出发点[字典]

现在,我们正试图找出处理用户数据源的最佳方法。我们认为,有关分配一定的相似性得分: - 用[解释]每个条目进行比较,计算词汇的距离(可能在Hadoop的工作) - 采取一些搜索数据库的优势(如SOLR)是

和准用户输入文本这条路。

我们想知道的是有没有人经历类似的“分类”练习,并可以分享任何提示?

感谢, 彼得

+0

这是SO的主题,但您可以在您最喜爱的搜索引擎中查找记录链接文献。 –

+0

谢谢@ThomasJungblut会检查出来。你能想到任何其他论坛,这个问题是相关的,可能会得到答案吗? – Piotr

+0

我还没有读过它,但根据评论,最近的Jolt奖书“Taming Text”可能值得一读关于模糊文本匹配的想法 - http://www.manning.com/ingersoll/ –

回答

1

我会用简单的Levenshtein距离http://en.wikipedia.org/wiki/Levenshtein_distance)。

几百万条目 - 您应该可以在一台计算机上轻松处理它(不需要hadoop或其他重量级工具)。

+0

Levenshtein距离是一个开始的好地方,但仅凭这一点还不足以做好工作。例如,想想看,“礼仪”显然是普遍的拼写错误“edicit”。 L.距离对于这样的事情并不是很有帮助。 –

+0

是的,我同意,仍然没有人类智能与人类相同 - 每种技术都有一些缺点......正如你所写:这是一个开始的好地方。 – xhudik

相关问题