0

我正在尝试构建一个搜索引擎,该引擎可以浏览在线车辆分类,例如 Oodle、eBay 汽车和 craigslist。我还有一个包含标准车辆名称和规格的大型数据库。我想做的是对于我通过分类网站找到的每条记录,能够准确地确定它是什么车型、款式(来自我的数据库)。例如,我的数据库中福特卡车的标准名称是:2003 Ford F150。

然而,在分类网站上,人们可能将其称为:“2003 Ford F 150”或“2003 Ford f-150”或“03 Ford truck 150”。是否有有效的数据挖掘/文本分类算法能够将这些文本标准化为上述标准名称?

4

2 回答 2

1

您可以使用Levenshtein 距离将找到的字符串与您的数据库记录进行匹配。

另一个(可能更好)的想法是对字符串进行标记,并对车辆名称使用术语向量模型。通过这种方式,您可以使用余弦相似度来查找相关匹配项。

于 2009-04-23T17:52:09.930 回答
0

如果您要开发一个旨在同时扩展使用和大小的整个搜索引擎,您将需要一些强大的东西来支持您的查询。

如果您要使用编辑距离,床树为您的索引结构提供了一个很好的选择。根据数据集的大小,另一种好方法是使用Levenshtein automata。Levenshtein 自动机也非常擅长提供自动完成功能,因为您正在开发搜索引擎,因此您可能需要这些功能。

编辑距离的另一种方法是使用结合 Jaccard 索引的 n-gram。对于这种方法,您可以使用Minhash + LSH。此外,您可以将 Jaccard 用作尊重三角不等式的距离度量(1 - Jaccard 索引),因此可以在VP-tree等度量树中使用。

其中一种方法肯定会对您有所帮助。

于 2013-12-05T16:28:44.233 回答