数据预处理
- 爬取网易音乐数据,格式为json。
- 数据:抽取歌单名称、歌单ID、收藏数、所属分类等歌单维度信息。歌曲ID、歌曲名、歌手、歌曲热度等歌曲维度信息。
- 做推荐系统常用的库:surprise、lightfm
- 推荐系统的项目有online和offline。offline可以使用Python,online追求的是效率key-value形式,可以使用C++或者Java。线上的一定要是最优的。
- 做推荐的时候并不是实时的推荐,而是已经把要推荐的东西做好了,想做就做。
- 有些东西随着时间的推移变化比较大,歌曲和歌曲之间的相似度。但是有些东西的变化不会那么大,人喜欢某种类型的歌曲。
- 将数据转换成想要的格式:user:item:rating:timesamp等。
- 歌ID到歌曲名的映射,歌单ID到歌单名的映射。
- 推荐算法:aprior、协同过滤、SVD、NMF等。
- 相似度计算:jaccard similarity。交集的个数/并集的个数
- 支持不同的评估标准:mse、msd、fcp等
实现步骤
- 计算物品之间的相似度
- 品类匹配word2vec。牛仔裤,上衣。
- 冷启动问题
- 音乐基因
- 针对用户做预测。每个人喜欢的歌曲是有时效性的,将每个人的歌曲按照听的时间顺序进行排序