我正在开发一个购物比较网站,该项目处于非常先进的阶段。我们每天使用来自各种联盟网络的商家源为 5000 万种产品编制索引。我遇到的大部分问题都已经解决了,包括大部分性能瓶颈。
我的问题是什么:首先,我们将 apache solr 与 drupal 一起使用,但是,这个问题并不特定于 drupal 或 solr,如果您不了解它们,也没关系。
我们收到来自 2000 多个不同商家的产品信息,这些信息一团糟。他们没有特定的模式,每个商家都以他们想要的方式发送提要。我们已经解决了许多与此相关的问题,但仍然存在一个问题。规范化分面浏览功能的分类术语。
假设我的网站上有“Narrow by Brands”浏览方面。现在假设有 100 个商家提供 Microsoft 的产品。现在问题来了。一些商家在数据馈送的“品牌”列中放入“Microsoft”,另一些为“Microsoft, Inc.”,另一些为“Microsoft Corporation”,另一些为“Products from Microsoft”,等等……商家和最坏的情况之间没有特定的模式,有些个体商家太马虎了,在同一个数据源中对同一个品牌有不同的字符串。
我们不希望所有这些不同的品牌出现在导航中。对于手动将导入的品牌映射到“好”品牌表(“Microsoft Corporation”->“Microsoft”、“Products from Microsoft”->“Microsoft”等)的问题,我们有一个手动解决方案。我们在数据库中有大约 10,000 个品牌,这是可行的。问题是当它带有更大的东西时,比如“作者”。当我们将书籍导入系统时,有超过 800,000 位作者,我们遇到了同样的问题,而这不能通过手工映射来解决。问题是一样的:“Tom Mike Apostol”、“Tom M. Apostol”、“Apostol, Tom M.”等等……
有人知道以可接受的准确度(85%-95% 准确度)自动解决这个问题的好方法吗?
谢谢你的帮助!