algorithm - 协同过滤可以用来推荐事件吗?

标签 algorithm

我一直在阅读有关构建推荐引擎的协同过滤的文章,这些示例往往围绕电影之类的内容,用户在其中对他们看过的电影进行评分,然后用于查找他们可能喜欢的其他电影。

但是在事件的上下文中,这似乎没有多大意义,要求用户对事件进行评分并不是特别有用,因为他们只能在看到事件并假设这是一次性事件后才能对其进行评分到那时你就不能再向任何人推荐它了。

我知道一个选项是,如果他们购买某物的票,则将评级指定为 1,如果他们没有购买,则将评级保留为 0。但这也不理想,因为有人可能会因为某事而被买票,讨厌它并且不想被推荐任何类似的东西。此外,它还假设您知道用户何时购买了可能并不总是可能的东西的票。

那么,是否有一种对事件使用协同过滤的好方法,如果没有,是否还有其他更适合的算法?

最佳答案

我不确定我是否会完全忽略您描述电影排名的方式...但也许您需要改进您收集的数据。

看来您的基本做法是根据“喜欢 X 的其他人也喜欢 Y”进行推荐。好吧,X 和 Y 不必是精确的东西。也许如果你给 X 打分,那么这个评级会以某种方式应用于 X 的子组件。在电影的情况下,这可能是主演、导演和类型。在夜间表演的情况下,这可能是行为和表演者的类型。

因此,即使您的用户可能会对事件进行评分,您也可以根据这些“标签”或子组件进行推荐。例如。 “其他喜欢 ComedianA 的人也喜欢 ComedianB”,或者“很多喜欢 ComedianA 的人都会去看 ComedianB。”

关于algorithm - 协同过滤可以用来推荐事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7840609/

相关文章:

string - 带符号数字的字符串算术表达式分段算法

algorithm - 如何有效地处理后继图中的最短路径查询?

algorithm - 在数组中找到一个在线性时间内比任何其他数组大两倍的数字

java - java中如何在多个线程之间传递值

algorithm - 数据是否存在线性趋势?

c++ - 水平/垂直/对角翻转 4x4 位网格

algorithm - Dijkstra 算法在 O ((V+E) log W) 时间内计算从给定源顶点 s 的最短路径

java - Java 中的 ASCII 字符集

algorithm - 关于内存使用的递归与迭代

algorithm - 大 O 符号和递归