浅谈音乐类app个性化推荐

一、背景

        随着互联网技术的发展,每天有大量文字,图片,音乐,视频等信息发布到网上。传统的搜索技术已经不能满足用户对信息发现的需求,原因有很多,可能是用户很难用合适的关键词来描述自己的需求,也可能用户需要更加符合他们兴趣和喜好的结果,又或是用户无法对自己未知而又可能感兴趣的信息做出描述。推荐引擎的出现,可以帮用户获取更丰富,更符合个人品味和更加有意义的信息。

        音乐类app个性化推荐根据用户的兴趣和行为特点,帮助用户在海量音乐中快速发现自己喜欢或可能喜欢的音乐,提高用户黏性,促进音乐播放和付费。推荐系统是基于海量数据挖掘分析的商业智能平台,推荐主要基于用户的浏览历史和行为记录等信息,如:试听、下载、收藏、分享、关注。

二、个性化推荐算法

        三类常用的个性化推荐算法:

1、基于人口统计学的推荐:是一种最易于实现的推荐方法,它只是简单的根据系统用户的基本信息发现用户的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户。
如:用户A:女,25-30岁,喜欢歌曲《演员》
        用户B:女,25-30岁
        则系统会将歌曲《演员》推荐给B。

2、基于内容的推荐:是在推荐引擎出现之初应用最为广泛的推荐机制,它的核心思想是根据推荐物品或内容的元数据,发现物品或者内容的相关性,然后基于用户以往的喜好记录,推荐给用户相似的物品。
如:歌曲《南山南》、《Sugar》、《南方姑娘》
        用户A喜欢听《南山南》
        用户B、C喜欢听《Sugar》
        系统会根据《南山南》和《南方姑娘》中含有相同的音乐元素:民谣、伤感,将《南方姑娘》推荐给用户A。

3、基于协同过滤的推荐,有三类:

    1)基于用户的协同过滤推荐

基于用户的协同过滤推荐的基本原理是,根据所有用户对物品或者信息的偏好,发现与当前用户口味和偏好相似的“邻居”用户群,在一般的应用中是采用计算“K- 邻居”的算法;然后,基于这 K 个邻居的历史偏好信息,为当前用户进行推荐。
如:用户A喜欢《南山南》《南方姑娘》《安和桥》
        用户B喜欢《Sugar》
        用户C喜欢《南山南》《南方姑娘》
        系统会根据用户历史偏好分析出用户A、C的口味或偏好比较类似,故将《安和桥》推荐给用户C。

    2)基于项目的协同过滤推荐

基于项目的协同过滤推荐的基本原理也是类似的,只是说它使用所有用户对物品或者信息的偏好,发现物品和物品之间的相似度,然后根据用户的历史偏好信息,将类似的物品推荐给用户。
如:用户A喜欢《晴天》《爱很简单》
        用户B喜欢《晴天》《理想》《爱很简单》
        用户C喜欢《晴天》
        系统会根据用户历史偏好分析出歌曲《晴天》和《爱很简单》比较类似,喜欢《晴天》的人都喜欢《爱恨简单》,故将《爱很简单》推荐给用户C。

    3)基于模型的协同过滤推荐

基于模型的协同过滤推荐就是基于样本的用户喜好信息,制作一个推荐模型,然后根据实时的用户喜好的信息进行预测,计算推荐。基于协同过滤的推荐机制是现今应用最为广泛的推荐机制。
如:用户A收藏了《大王叫我来巡山》,总是跳过《我怀念的》和《Angel》
        用户B经常单曲循环《大王叫我来巡山》,完整试听《我怀念的》,总是跳过《Angel》
        用户C拉黑《大王叫我来巡山》,收藏了《我怀念的》和《Angel》
        可以看出用户A、B的口味比较类似,用户C跟他们不同。
        但用户A、B到底有多相似,还需要进行具体数据量化。
       
        首先,把三首歌想象成三维空间的三个维度,《大王叫我来巡山》是x轴,《我怀念的》是y轴,《Angel》是z轴,对每首歌的喜欢程度即该维度上的坐标(比如:单曲循环=5, 分享=4, 收藏=3, 主动播放=2 ,  听完=1,  跳过=-1 , 拉黑=-5 )。每个人的总体口味就是一个向量,用户A是 (3,-1,-1),用户B是(5,1,-5),用户C是(-5,3,3)。
         其次,根据余弦公式,夹角余弦 = 向量点积/ (向量长度的叉积)=  ( x1x2 + y1y2 + z1z2) / (  跟号(x1平方+y1平方+z1平方 ) x  跟号(x2平方+y2平方+z2平方 ) )
用向量夹角的余弦值来表示两个向量的相似程度, 0度角(表示两人完全一致)的余弦是1, 180%角(表示两人截然相反)的余弦是-1。
        最后得出,用户A、B夹角的余弦是0.81 , 用户A、C夹角的余弦是 -0.97,公式量化了用户相似度 。
        歌曲数量可以由三到百或更多,新用户也可在此基础上进行算法叠加。

三、总结

        每种算法都有各自的优缺点,有时需要混合使用来更精准的匹配用户的需求。而且,听歌是比较感性的事,不能完全靠单纯的计算来满足,还要考虑当下的使用场景及用户的心理变化。
如:夜晚入睡前,用户想听舒缓的音乐,打开app,系统能否根据当下场景推荐给用户想要的音乐;
        或用户打开app,找到歌单播放,系统是否能够根据该歌单里用户试听记录情况给用户随机播放适合的音乐,因为一个歌单里面的歌曲很多,用户可能听某几首歌的次数很多,已经厌烦,对另外一些歌可能听的次数很少或是没有。

        根据卡诺模型,用户的需求可以分成:基本需求、期望需求、兴奋需求、无差异需求、逆向需求。
        基本需求:产品要提供给用户最基本的功能或体验,保证满意度不降低。如:每日推荐歌曲、推荐歌单;
        期望需求:产品要提供给用户符合预期的功能或体验,提升用户满意度。如:推荐歌曲及歌单中绝大部分都是用户喜欢的歌曲,且不是用户进期听过的及很久以前就听腻了的;
        兴奋需求:产品要提供给用户超出预期的功能或体验,提高用户忠诚度。如:推荐歌曲中有用户曾经熟悉的旋律但一直未想起来歌名也很难搜到的,推荐给用户跟他喜欢歌手或曲风相似的歌曲但以前从未听过,推荐给用户超出其日常听歌范畴的更高端的音乐;
        无差异需求:无论提供或不提供此需求,用户满意度都不会有改变,用户根本不在意;
        逆向需求:用户根本都没有此需求,提供后用户满意度反而会下降;通过需求挖掘和数据分析等,避免此类需求的产生。

你可能感兴趣的:(浅谈音乐类app个性化推荐)