站长工具,就用查一把!
收录查询  关键词排名  Alexa排名  PR检测  友情检测  IP反查  WHOIS查询    更多查询  
  收藏  最近查询 查一把
信息分类 首页 » 资讯信息

好站推荐

IT新闻

  业界猜想

  名人名企

建站推广

  站长创业

  运营推广

设计编程

  美工设计

  开发编程

豆瓣私人电台的推荐算法是怎样的
信息来源:查一把 发布时间:2012/3/13

豆瓣的电台应该分成三部分:
1. 一部分是根据你的social行为推荐的音乐,例如你打分的专辑,你加入的标签等等。
2. 另外一部分是根据你使用电台的行为推荐的音乐列表,这个估计是基于user-based或者item-based来计算的,数据就是喜欢、不喜欢和跳过。
3. 第三部分应该是通过编辑加入的歌曲,例如在特定的时期对特定的人群发送特定的歌曲(一个例子是在大年初一听到的第一首歌是新年祝福相关的)

虽然只是这三部分,但是第一部分和第二部分会引入很多的参数,于是又有了一层算法:参数调优。这里有三种实现形式:所有用户用同一组参数;每个用户用不同的参数;先把用户聚类,然后每类用户用一组参数。

这里的参数也会有很多种,一个关键在于比例的配置。例如,我们有15个源来产生推荐的歌曲,如何才能混合这些歌曲才能取得用户最大的满意度。理想情况是要同时考虑熟悉度、多样度、和惊奇度。在具体算法中也有选择多少个相似用户、每个用户对最终结果的影响度是多少、贡献的数量是多少。再有就是如何从用户听过的成百上千的歌曲中选择一个子集来进行后续的运算。当然,虽然这么说,但是千万不要让自己陷入其中,最重要是找到一个简约的方案来调优。

除此之外,不知道豆瓣可能还有另外一层的算法,就是即使给一个用户准备好了一堆可以推荐的歌曲,应该按照什么顺序来播放给用户。这一点也能说出很多复杂的需要考虑的因素,我们在设计的时候也不要陷入在细节中,而应该找出最关键的几点来撬动这个石头:)

最后,豆瓣也应该有个过滤的前端,会根据大家对一首歌的整体评分来决定后续推荐的音乐集合。

豆瓣FM的推荐算法没有停止,反而是在不断演进当中,伴随着它成长的用户,会慢慢发现越来越多的惊喜与满意。豆瓣FM是中国互联网实践个性化服务的一个很好的土壤,其中糅合了包括算法、UI/UE、数据清洗与整合、音频分析技术、用户行为分析、编辑与运营、后台架构等等大量的因素,即便是推荐算法也只是算法技术中的一部分。单论推荐算法,就最简单的算法,也会极大地受到其它因素的影响,比如单曲推荐功能、新版的上线,对于算法的学习与积累都会起到极大的正面作用。

豆瓣的电台算法会充分考虑数据的因素、人工的因素,借用UI/UE的力量,充分利用现有的各种智能技术,它是一个系统。

一个个性化产品跟传统的排行榜形式的推荐不一样的其中一个难点在于质量的覆盖面,它可以做到统计上逐渐逼近于让所有人满意的程度,但绝不是一个一蹴而就的工作,所以肯定还有大量不能令人满意的地方,但每天它都在向着更好的方向走。

总计收听4763首,加心56首,1119首不在播放。下面我猜豆瓣私人电台的推荐规则,请豆瓣的同学及阿北现身:

1,社交行为
在豆瓣音乐中,有哪些音乐标签,喜欢哪些歌手,在听哪些,想听哪些,乐评,豆列等等,即豆瓣音乐中提供的社会化网络行为,会有相关的权重算出一个公式,具体权重值暂时未知,其实也可以再进一步的猜,究竟哪些行为对用户听歌能产生更多的价值,权重值就高,否则次要。其实最开始的时候一定是一个最简单的算法,在进行一段时间数据根据和用户反馈后,有了更多的权重值累加。

个人例子:

2,听歌行为
“喜欢”,“不再播放”,“跳过” ,这个相对直白了。
(1)喜欢:在以后的随机播放中出现的次数会增加
(2)不再播放:以后说byebye
(3)跳过:以后还会随机出现

3,个人感受
由于我并未在豆瓣音乐中进行过任何社会化行为操作,只是添加了几个喜爱的歌手,所以豆瓣推荐给我的歌曲让我很难受,太多不喜欢听的歌曲持续出现。我的疑问

(1)我添加的歌手都是中国歌手,为什么一直给我出英文歌曲
(2)我喜欢的歌曲也全部是中文歌曲,且是慢节奏歌曲,为什么一直给我快节奏,重金属的英文歌曲
(3)我一直把英文歌曲不停的加入垃圾箱,还是持续不断的给我推荐英文歌曲?
(4)实在不知道我爱听什么,哪怕放一些我喜欢的歌手都可以,可这个推荐的比率不足10%
 

1。系统根据你所加的心和所选的喜欢歌手以及不再播放来进行调整概率这是肯定的。

2。系统本身给歌曲打了很多标签,随机应该是根据这些标签来算概率的,你加心的时候,同时对这类的标签进行概率调整。

3。在你加心的一段时间内,系统会不段给你推荐此类的歌曲,试图试出你才口味,如果你没有持续的加心则会降低概率。

4。在播放歌曲的时候系统会随机给你后台播放频率较高的歌曲,试图测试你是否有其他的喜欢风格,这个概率出现得不多。

5。豆瓣喜欢推荐英文歌曲。

个人愚见算法可能是从一开始你选择喜欢歌曲的时候就把相关的歌曲标签全部导入至你的播放曲库中,然后根据上述的几个特点以及你的加心再去扩展播放曲库,同时增加该标签的随机概率。

个人看法:数据来源已经很清楚了,以下几点:
-用户自己选择的喜欢,不再播放,跳过
-豆瓣上用户对音乐的评分和收藏的专辑等等

算法方面:应该是给歌曲或者专辑加上几种不同的特征值(比如类型,歌手,语言,年代等等)用来标识一首歌的属性,然后通过阿北和长生所说的一些推荐算法的整合... 有点类似图像识别算法中的基于特征值的识别算法,如Mops,SIFT

我自己的数据:加心146,垃圾箱253,总数4571
对推荐的结果已经很满意了,我觉得一方面是因为个人听歌取向相对单一,比较容易推断喜好,如果用户在某些关键特征值上的取向模糊不清,经常做一些矛盾的加心和放入垃圾箱的选择,那么自然会让豆瓣的推荐算法更难得到好的结果...

另外感觉中有一个细节:歌曲类别和语言在推荐算法中似乎很重要,而且豆瓣会试图推断用户当下喜欢的歌曲类别并给予这一类歌曲一个临时的高加权值...
打个比方,我的喜好主要有经典摇滚,电影原声,国语女声,当我连续跳过几首国语女声后,电台就会开始更多得播放经典摇滚得曲目,而极少回到国语女声歌曲中...就算这不是豆瓣电台有意为之,也会是个推荐算法中很有趣的尝试...

很简单,我的使用经验告诉我7成是根据你的“红心”歌曲决定的。

这里有一个诀窍:在豆瓣电台里听到了一首喜欢的歌便加红心,这样挺好,但是太慢;直接找到你喜欢的专辑页面,把里面喜欢的歌曲全加上红心,这里点的红心是会同步到豆瓣电台的收听记录里的,所以我的豆瓣电台一直有个有趣的现象,就是加红心的歌曲要比收听的歌曲数目还多,这样以后,我的私人电台一直很服帖,我很喜欢。

打个比方,你到一家大酒店去吃饭。你叫来经理说,给我推荐几个适合我口味的菜。如果你是第一次来或者只来过几次,经理不认识你,他只能推荐一些“招牌菜”,可是这些招牌菜实际上是来这家店的大多数人喜欢的,是一种民主的结果,而听歌是种极为个人化的感受,所以你不一定会喜欢;如果你经常来这边吃饭而且总是向经理反馈你的喜好,即使你是偏门的,经理也会知道你喜欢什么,甚至还会把某道招牌菜单独给你改改口味送上来呢。当然,现实中不是所有人都能和大酒店经理交上话,所以人类发明了机器人。因此,这里反驳一下1楼阿北说的没有"silver bullet",事实上"silver bullet"就是你告诉机器人你喜欢什么,现在的智能机器人,还没聪明到比你自己更了解你自己,这是个事实,也是条稳妥的捷径。

当然,“垃圾箱”也是很重要的,但是只是“红心”的小弟。
 

针对答案里"经雷"说的"「不再播放」了十几首王菲,还是不停的往上冒" 猜测补充一下:

豆瓣私人电台应该是根据以往兴趣,随机生成第一首.后续曲目会根据当前播放记录,结合用户兴趣不停的迭代进行推荐.也就是说,第一首曲子很大程度上决定了此次播放的基调.
这个猜测是根据前两天在豆瓣上看到几位负责豆瓣推荐研发的工程师聊天而得出的.

分析了一下采取这种推荐的目的:
这种推荐应该基于一个假设
一个用户可能同时喜欢古典乐和摇滚乐,在某次私人电台播放过程中,曲风的大范围跳跃会很影响用户的使用体验.想象一下上一首放莫扎特.下一首就放扭曲的机器.
所以在满足用户各色喜好及保持当此播放曲风以维护用户体验之间,豆瓣选择了后者.个人也很同意这种策略.只是缺点是放起来之后就回不来了.解决方法是,把电台关了重开一遍.
 

转载请注明出处:站长工具 信息来源:http://www.chayiba.com/Content/332
网友点评