推荐系统应用研究:音乐电台
推荐系统很少有单独的产品形态,多是和其他产品相结合,起到辅助的使用效果。如个人平时使用较多的推荐系统有输入法的字词联想、购书网站中书籍推荐、音乐电台的猜用户喜欢的音乐和谷歌阅读器的推荐条目。
对于豆瓣音乐频道使用较少,虽然对音乐没什么研究,也不会买什么专辑或者听演唱会,但是很喜欢听音乐,有边工作边听音乐的习惯。豆瓣电台迄今累计收听13670首、喜欢136首和不喜欢666首,算是电台的重度用户吧,个人操作行为有:
作为工作时间的背景音乐,处于后台运行状态。有时候工作入神,只要不是特别讨厌或者特别喜欢的歌曲一般不会去访问电台网页。离开工位的时候,拿下耳机不关闭音乐,1万多首歌里起码有30%没有真正听。听到广告和“哈狗帮”之类吵闹的音乐会找到电台的网页,选择不喜欢,无法停止的广告直接点击关闭电台,因为很容易导致走神影响工作。听到喜欢的音乐60%的概率会找到电台网页点击“喜欢”。发现特别喜欢或者寄希望能推荐相关歌曲时会去点击“喜欢”。听到不怎么喜欢的音乐也会选择点击“下一首”。豆瓣电台推荐新歌力度比虾米网强,操作也更方便,不需要像虾米网的初始化时选择喜欢的歌手和选择喜欢音乐之后要选择标签,更加智能化,减少操作步骤。虾米的歌库好像不够全,多是推荐大众化的歌曲,但推荐的形式比豆瓣更丰富和取巧。
豆瓣不支持按歌手和专辑听歌,如果连续点击三次“不喜欢”没有听到喜欢的音乐或者经常播放讨厌怨女情歌,可能会选择听虾米网歌手专辑。如果能选择只听自己已经选择喜欢的100多首歌曲,或许不会切换到其他产品。
豆瓣电台通常作为浏览器的书签单独存在,通常直接访问豆瓣电台而不会从豆瓣主页再访问豆瓣电台,从电台返回到豆瓣主页只能手动修改网址或者点击专辑的链接查看专辑再返回主页。把喜欢歌曲的红心去掉,是不是意味着用户不再喜欢这首歌并要跳到下一首歌。
豆瓣电台在开始做之前,已经有了比较完善的初始化的数据,大部分专辑都有标签和评分,如专辑《我们是五月天》的相关元数据为:
9592人平均评分为9.3。标签有:五月天(2450),台湾(701) , MAYDAY(644),我们是五月天(374),摇滚(338),我们是:),五月天(264),rock(201),pop(160)。每首歌收藏的人数。从以上的标签可以看出,歌手、地区和音乐风格是用户的常用标签,可以假设这三个标签是影响用户选择的最主要元数据。英文MAYDAY、五月天、我们是五月天和我们是:),五月天是等价的标签,摇滚和rock是等价的标签,不存在像谷歌挑歌那样的互斥性标签(如节奏的舒缓和强烈)。从这个例子也可以看出用户语言具有模糊性,有必要使用受控词表来控制同义标签的不同语言表达方式。
豆瓣的用户群比较小众化,添加的标签质量比较高,使用标签可以简单地组织歌曲之间的联系,利用评分、收藏人数和标签数目可以确定推荐的优先级。
如用户在电台中选择喜欢专辑《我们是五月天》中的歌曲《拥抱》,那可能依照歌手推荐会更可靠,用户选择多首五月天的歌曲,那可以认定是五月天的粉丝了,歌库中添加了五月天的新歌,自当第一时间推荐。
与风格相比,地区的影响程度更低,但是不排除部分用户有这方面的偏好,比如只听华语的歌曲,这需要经过决策树之类方法多次推荐才能论证。选择风格“摇滚”,可以推荐标签为摇滚并且评分比较高的歌手,逐步确认用户的音乐喜好模型。在大力推荐歌曲之前,可以先完成对用户喜欢歌曲的收集。在不确定的情况下,可以多播放已喜欢的音乐或者喜欢歌手的热门歌曲。
用户喜欢的歌手有很多,但是喜欢的风格不会很多,同一风格下有很多歌手,用户喜欢的风格比歌手更复杂和模糊。歌手之间是并列的标签,而风格会形成明显的偏向。随着时间的改变,风格也会发生改变。
另外,标签要和歌曲更吻合,听到电台推荐杂音多的五月天演唱会歌曲,会选择不喜欢或者跳到下一首。系统或许会依此误以为用户不喜欢这首歌,低质量的歌曲会影响系统推荐的准确性。
建议继续学习:
- 豆瓣的Url结构方式一览 (阅读:6660)
- 别得瑟了,你很可悲! (阅读:6440)
- 深入理解OAuth与豆瓣OAuth test (阅读:3874)
- 【转】基于lucene实现自己的推荐引擎 (阅读:3502)
- 在sae中利用SaeFetchurl进行豆瓣的OAuth授权 (阅读:3583)
- 国内外旅游电子商务个性化推荐系统研究 (阅读:2866)
- 协同过滤推荐系统的那些不足点 (阅读:2643)
- 基于用户的协同过滤和皮尔逊相关系数 (阅读:2535)
- 不一样的交互组件(中) (阅读:2485)
- 推荐系统应用研究:网上书店 (阅读:2403)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:晓生 来源: 晓生's新视角
- 标签: 推荐系统 豆瓣 音乐电台
- 发布时间:2010-10-21 09:05:32
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [54] Oracle MTS模式下 进程地址与会话信
- [54] Go Reflect 性能
- [53] 如何拿下简短的域名
- [52] android 开发入门
- [49] 图书馆的世界纪录
- [48] 读书笔记-壹百度:百度十年千倍的29条法则
- [47] 【社会化设计】自我(self)部分――欢迎区
- [38] 程序员技术练级攻略
- [31] 视觉调整-设计师 vs. 逻辑