我有一个真正的问题。
我有一个包含模式的数据库,如下所示:
项目
代码
item2tag
基本上,每件商品都被标记为最多10件事,具有不同的数量。 items2tag中有50,000个项目和50,000个标签,以及大约500,000个条目。在给定一个项目的情况下,我想找到“最相似”的项目。
“最相似”是指具有最相似标签组合的项目...如果某些东西“酷”是“有趣”的两倍,我想找到几乎所有其他东西“很酷“两倍于他们”很有趣。“当然,这应该适用于10个标签,而不仅仅是2个。
有什么想法吗?
答案 0 :(得分:1)
那么,你可以看一下线性代数给每个项目提供一个n维向量,然后计算项目之间的距离来找到最近的项目,但即使是很小的数据集也是如此。
这就是Google推出Map Reduce的原因。这可能是你最好的选择,但即便如此,这也是非常重要的。
- 亚当
答案 1 :(得分:0)
鉴于您将item-tag关系表示为向量, 你拥有的是nearest-neighbor search的一个实例。 您可以在Collaborative Filtering字段中找到指针。