编一个电影推荐的算法的可行性怎样?

先说一下,我一点都不懂计算机。只是有这样的想法,如果把用户给电影的打分加权到电影本身的各个特点上面,再根据用户没有看过的电影的特点分布来推荐电影,这样不就会发现许多好电影么?就像网易云推荐音乐那样。

编这么个程序的可行性怎么样?(电影FM好像有类似的推荐,但又似乎没有按照用户)
如果有这个程序,那么在豆瓣时光等地方使用会有怎样的效果?
已邀请:
这是个好想法,可行性也很不错,但是有下面两个难点
第一.足够的数据样本的采集与存放,这里面包含用户日常的浏览习惯,初始的关注范围,影片的评分等。首先需要拥有足够数量级的数据,才能进一步校准不同部分针对于不同的用户的权重。
第二.一个合理的训练模型,一个电影推荐算法,其本质上来讲是一个通过寻求局部最优(单个用户的推荐合理性)的过程以求全局最优(大部分或者某个细分领域的用户推荐的合理性),在这样一个过称中,从初始给权到最后的最终结果的训练过程中,如何对模型进行训练迭代是一个比较复杂的问题。
所以综上所述,实现这样的算法可行性不错,但是其耗费的精力和金钱较大较多,因此为什么我们可以看到很多网站的推荐做的不尽人意。
 

蝴娇蔓婵 - 一条技能树总是点歪的程序狗……

推荐来自: Joey LF

网易云音乐的歌单推荐算法是怎样的?
这个问题下面有很多关于推荐算法的回答,里面已经写得很详细而且自己是个算法渣就不赘述了……
另外针对@advAdder 的回答再补充一点,除了advAdder提到的数据来源和分类问题之外,另一个问题是评分本身往往代表对作品的评价,“我对这部作品评分高”和“我非常喜欢这部作品”并不一定是一码事。
举个例子,爆米花电影往往很卖座,但是爆米花电影在影评网上的评分并不一定会高,包括本身很喜欢看这类电影的观众也未必会给爆米花电影高分。
所以即使数据足够大这个模型最后会变得非常复杂,还不一定会非常精确。
而且影评还有一个问题就是打分存在强烈的主观性和趋同性(尤其在社交媒体中这种情况会更加严重),事实上用户打分可能受多种因素影响而不仅仅是对于电影本身的好恶,如何判定用户是真心喜欢看这种类型打高分还是为了好面子打高分/因为真的不喜欢打低分还是仅仅是为了听信别人评价跟风给低分……
综上,根据用户打分高低加权之后进行个性化推荐,我个人觉得是一个吃力不讨好的需求;但如果有单纯的“喜欢”按键(豆瓣文章就有这类功能,类似收藏),这个功能的可实施性还是不错的。
 

Eidosper - 一粒尘埃/码农/作曲,公众号一埃居(ID:eidosperhome)正在筹建中,欢迎关注。华科论道群342531142

推荐来自: Joey 召南名士

想象一下,如果我们俩人都看了十部电影,九部是相同的,一部不同,那么我们应该是属于爱好相近的人,然后系统给两人推荐相互没看的那个。

这个算法的复杂度,假设一个人看了n部,一共m人,那复杂度是mmnn,假如我有一百万用户,每人平均看了二十部电影,那计算量是巨大的。并且每人新看一部电影,又要比较一番。

还有一种做法,就是如果一个人同时看了两部电影,那两部电影关联度加一。这个算法的复杂度是多少呢?mnn,少了一百万倍,换言之,快一百万倍。

用后者,可以根据你打分最高的几部,推荐关联度最高的几部。还可以稍微做个优化,一个打一星一个打五星视为关联度减1,因为得分差距大嘛,如果都是五星或者一星关联度加1……当然各种优化都可以尝试。

听说大家实践中用后一种,科研中可能有用前一种的。,目测部署会挺困难的,当然也有办法优化,但是显然计算复杂度会高一些,因为牵扯到用户间的两两匹配。

其实你也可以把整个电影 电影隐藏的情绪 观众打分视作一个隐马尔可夫模型,估计那样比你说的更高大上。但是实践中是否好用,并不知道。

针对你说的不懂计算机,我不懂生物,但是我知道理论上人类可以合成细胞中的所有分子,那么为什么生物学家还没搞出来人造器官呢?明明理论上可以的嘛……

advAdder - 看到其他就想选其他

推荐来自: Manjusaka

补充一句“电影本身的各个特点”实际上不是很好刻画,以目前的技术,基本上还是要靠人力来给电影做标记,指望自动从电影中抽取特点,成本会很大。
相对编写这个程序的可行性,数据从哪里来是更大的问题。然而在你有了足够的数据之后,复杂的训练模型耗时也会变得更加巨大。你可能会发现,耗费大量精力训练出的个性化推荐算法,未必会比干脆按照标签做简单的筛选,然后做一些简单的事情(甚至不做)效果好太多(例如豆瓣的“喜欢这部电影的人也喜欢”/“以下豆列推荐”)。
(不过不知道豆瓣是不是已经用上个性化的推荐算法了)

要回答问题请先登录注册