资源描述:
《基于用户 context 的音乐推荐》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于用户Context的音乐推荐UserContextBasedMusicRecommendationByCOutlineOutline1234数据分析结果用户“Context”发现融合“Context”的推荐总结数据分析结果下载行为分析用户总数:60099人周期内下载总次数:353992次周期内人均下载次数:5.9次242,0%715,1%1084,2%3286,5%7009,12%47763,80%>100>50>30>15>5>015次:92%0~5次:80%数据分析结果分析总结不活跃用户较多:试听10次以内用户占总数60
2、%用户下载次数少:下载0~5次的用户约占总数80%冷门歌曲多:冷门歌曲约占周期内播放过歌曲的88%引入用户“Context”,减少数据稀疏带来的影响User-Based协同过滤效果差OutlineOutline1234数据分析结果用户“Context”发现融合“Context”的推荐总结用户“Context”发现“Context”定义工作上班休闲放松旅途行程健身运动伤心忧愁Context=爱好+环境+心情+事情+…假设:歌曲的选择受“Context”影响用户“Context”发现利用“Context”做音乐推荐对比UserKNNContent-basedBPRMF
3、(BayesianPersonalizedRankingMatrixFactorization)有较为显著的提升用户“Context”发现怎么发现“Context”利用用户的歌单序列依据:用户会用不同的歌曲制作不同的歌单表现不一样的“Context”用户“Context”发现怎么发现“Context”分析用户听歌的序列,挖掘出隐藏在序列背后的听歌“Context”歌曲序列表示“Context”?(1)歌曲多,组合多,计算量太大,频繁项集难以挖掘(2)粒度太细,容易产生过拟合现象(4)不能使“不同歌单表现同样的Context”(3)不适用于冷启动问题如何表示“Con
4、text”不行用户“Context”发现有效地表示“Context”利用标签发现歌曲“潜在类簇”,用类簇表示“Context”依据如下:(1)标签反映用户对该歌的偏好(2)基于标签得到的类簇表现歌曲之间隐藏的共性(也就是这些歌曲被不同用户收听的共同原因)(3)类簇表示的行为序列可以从更高层(Abstract)的角度表示、发现和解释用户的“Context”、“Context”的变化及其变化的原因用户“Context”发现怎么得到“音乐类簇”利用音乐基因(标签)用户“Context”发现怎么得到“音乐类簇”音乐基因结合LDA(LatentDirichletAlloca
5、tion)——得到两个矩阵:T1T2T3…Song1Song2Song3…Tag1Tag2Tag3…T1T2T3…Song-Topic:每首歌中,不同的Topic(音乐类簇)在这首歌所占的比重Topic-Tag:每个Tag在这个Topic所占的比重用户“Context”发现什么是“音乐类簇”Topic——用Tag表示的“音乐类簇”Topic2:拉丁风Topic4:摇滚。。。用户“Context”发现用Topic代替Songhu=[suk1,suk2,suk3,…]————————hu=[<T1>,<T2,T8>,<T5,T8,T9&g
6、t;,…]用户“Context”发现例子利用频繁序列做预测,如以下用户:用户“Context”发现利用频繁序列做预测得到的下一首歌曲的Topic集合及其得分:pu=[<T6,5>,<T23,3>,]OutlineOutline1234数据分析结果用户“Context”发现融合“Context”的推荐总结融合“Context”的推荐结合协同过滤与“用户Context”的推荐融合协同过滤与“用户Context”的推荐得分:predictionScore(????,s)=(ContextScore(????,s)+α1)*(CFScore(s)+
7、α??)(1)推荐总得分:(2)选择得分最高的s推荐CFScore(s)=????????,????????,??????ContextScore(????,s)=pTis??score(Ti)Tipu/score(Ti)TipuOutlineOutline1234数据分析结果用户“Context”发现融合“Context”的推荐总结总结口头总结