我进行了一些搜索,但没有找到与我想要实现的目标完全一样的东西。
基本上,我试图找到两个用户投票习惯之间的相似之处。
我有一个表格存储每个单独的投票,其中存储:
voteID
itemID (the item the vote is attached to)
userID (the user who voted)
direction (whether the user voted the post up, or down)
我的目标是通过找出两件事来计算用户 A 和 B 之间的相似度:
- 他们共有的票数。也就是说,他们都在同一个帖子上投票的次数(此时方向无关紧要)。
- 他们在共同投票中朝同一个方向投票的次数。
(然后简单地将#2 计算为#1 的百分比,以获得粗略的相似性评级)。
我的问题是,我如何找到两个用户的投票集之间的交集?(即我如何充分计算第 1 点,而不会以非常低效的方式循环每一次投票。)如果他们在不同的表中,我想一个 INNER JOIN 就足够了......但这显然行不通在同一张桌子上(或者会吗?)。
任何想法将不胜感激。