有一个有效手段是协同过滤。
直白的说就是实现“喜欢这首歌的人也喜欢”+“和这首歌相似的歌曲有...”这样的功能。
简单的逻辑是这样的: 1 - 用户1喜欢音乐[A B C D],用户2喜欢[A B C E],用户3喜欢[F G H],那么用户1和用户2品位相近,以后用户1喜欢了新的音乐X,就可以把X推荐给用户2。 2 - 假设用户被分成了若干用户群,[A B C D],考虑不同用户群对每个音乐的喜欢程度(打分)。例如音乐1是[5 5 1 1],音乐2是[5 4 2 1],音乐3是[1 1 5 5],那么音乐1和音乐2就是相似的。某用户喜欢了音乐1,可以将音乐2推荐给他。
1 个回答
yeze322
推荐来自: Joey 、秋风暖暖 、亦可喜 、彧 、lyd
直白的说就是实现“喜欢这首歌的人也喜欢”+“和这首歌相似的歌曲有...”这样的功能。
简单的逻辑是这样的:
1 - 用户1喜欢音乐[A B C D],用户2喜欢[A B C E],用户3喜欢[F G H],那么用户1和用户2品位相近,以后用户1喜欢了新的音乐X,就可以把X推荐给用户2。
2 - 假设用户被分成了若干用户群,[A B C D],考虑不同用户群对每个音乐的喜欢程度(打分)。例如音乐1是[5 5 1 1],音乐2是[5 4 2 1],音乐3是[1 1 5 5],那么音乐1和音乐2就是相似的。某用户喜欢了音乐1,可以将音乐2推荐给他。
这就是“相关性”,里面的量化结果通常来自于对数据集的训练。随着用户使用并反馈,协同过滤可以用新数据不断的迭代,推荐结果越来越准确。(例如亚马逊的商品推荐系统,准确率来自于大量数据+长期迭代)。
协同过滤属于机器学习的基础算法,原理很简单,但是在应用时,细节很多很多。并且实际的推荐结果也不仅仅使用协同过滤,还要结合其他算法。
(现在也有用深度学习做音乐本身特征描述的,可以关注)