如何从个人评分中确定用户最喜欢的内容制作者?

机器算法验证 估计 民意调查 排行 推荐系统
2022-03-28 08:56:54

考虑以下场景:

Alice 订阅了允许她观看电影的视频租赁服务。每次 A 看一部电影时,她都会给它打大拇指 (1) 或大拇指向下 (0),然后她会选择她想看的下一部电影。每部电影只属于一位导演,一位导演可以导演多部电影。问题是,确定谁是 A 的“最喜欢”的导演的最佳方法是什么?

我最初的想法是做类似的事情:

  • 对于 A 看过的至少一部电影的每位导演,计算某个二项式置信区间(例如Wilson 得分区间)的下限作为 A 对该导演的“好感度”得分

然而,这种二项式方法似乎有缺陷,因为它忽略了一条看似关键的信息:爱丽丝有整个世界可供选择的电影,如果她一直选择观看某个导演的电影,那么这不是告诉我们一些关于她对那位导演的偏好,即使她随后对该导演的电影评分低于她的平均水平?我觉得如果我们只考虑观看的电影的收视率,肯定会有一些“用脚投票”的元素被忽略。

将电影/导演的选择与个别电影的收视率结合起来确定谁是 A 最喜欢的导演的最佳方法是什么?似乎 A 对导演 D 的偏好必须是 A 对她观看的 D 电影的评分以及 A 选择观看的所有 D 电影的百分比的函数。

更新:我应该说清楚,我正在处理的问题并不像竖起大拇指/竖起大拇指的情况那么简单,它实际上更像是“A 看了一部电影,然后如果她喜欢它就勾选一个框。” 因此,每次观看都会导致 0 或 1,但没有选中一个框与“大拇指向下”并不完全相同,因为如果她真的喜欢,观众可能只会觉得有必要选中“批准”框某物。更有理由选择观看什么必须考虑到偏好

3个回答

您的问题表明您想要一个分数,既可以为观看电影(无论用户是否喜欢)赋予一些权重,也可以为喜欢它提供一些额外的权重。我首先将定义为用户观看的导演最大可能观看的所有电影的比例Mudduu

Mud=Min(Nd/Wu,1)

其中制作的电影总数,观看的电影总数。在那里是因为这个比例在逻辑上不能超过 1)。那么观看的电影的实际数量观看的所有电影的比例,并且NddWuuMinWud/Wuduu

sw=WudWuMud

有多喜欢的一个可能指标。但是因为我们也有关于“喜欢”的信息,所以我们有第二种可能的衡量标准ud

sl=LudWuMud

其中喜欢的电影数量最后,您可以将组合成一个分数,例如:Ludd uswsl

s=(1b)sw+bsl

其中 b 是您在 0 和 1 之间选择的一个数字,以反映喜欢一部电影而不仅仅是观看它的相对重要性。

应该强调的是,使用的确切功能形式是任意的,您应该使用它们(以及权重,b),直到您获得对您有意义的分数。例如,将这两个分数提高到大于 1 的幂可能很有用,因为它会为前 1 或 2 部观看/喜欢的电影分配较低的权重,而为第 6 或第 7 部电影分配更高的权重。

一个非常简单的答案是模态导演,但这不会根据构图进行调整,因为有些导演可能更多产或年龄更大。

对于每个用户,我会考虑喜欢的电影与导演观看的所有电影的比率,由所有观看的电影与导演制作的所有电影的比率来衡量。当用户没有看过导演的任何电影时,这个比率是未定义的,并且可以重置为零。这个数量值最高的导演是最喜欢的。我从维恩图得到了这个公式的几何直觉。我认为这控制了每个导演语料库的大小,并且范围在 0 和 1 之间。iiii

以下是一些编造数字的示例。爱丽丝喜欢赫尔佐格制作的 10 部电影中的 5 部,而且她都看过。她一共看了20部电影。Herzog 得分为假设她只见过七个赫尔佐格。分数跳到510/2010=0.2557/2010=0.35

人们也倾向于成群结队地看电影,所以他们会看自己不喜欢的电影。这需要考虑。假设爱丽丝只看过赫尔佐格来取悦她的丈夫鲍勃,而她一个都不喜欢。现在分数为对我来说,这是对观看和厌恶的明智解释。这不取决于她见过多少赫尔佐格。010/2010=0

这种方法没有明确使用电影序列。如果她在所有赫尔佐格之前观看所有格林威电影,这可能很重要。另一方面,随着时间的推移,人们会逐渐形成品味,所以也许顺序不那么有趣,尽管也许你可以利用时机来打破关系。它也没有使用“结块”。如果她在看完第一部之后连续观看了所有赫尔佐格,那就是她喜欢他的作品的强烈信号,相比之下,如果这些作品都分散在她的观看历史中。也许您可以通过熵度量来衡量上面的分数,但我对此知之甚少,无法真正提供帮助。

我认为某种推荐系统可能是您正在寻找的。