发明名称 一种个性化的音乐推荐方法
摘要 本发明公开了一种个性化的音乐推荐方法。本方法通过判断用户状态进行不同推荐,对于简单推荐直接选取附近和音乐库中听过的次数最多的音乐,对于精确推荐,将推荐分为两个部分,最新音乐推荐通过最新的数据获取表示用户最近爱好的标签并在音乐库中进行匹配获取相应的最新音乐,而附近音乐推荐采用二次筛选的方式筛选出最相似的用户,通过筛选出的用户进行音乐推荐。整个过程为体现用户的最新爱好保存用户最近的音乐数据,发现用户不喜欢的音乐采用特别公式计算播放次数,为减少计算量以及避免人为设置权重的影响采用通过数据计算相应的标签权重。
申请公布号 CN105787069A 申请公布日期 2016.07.20
申请号 CN201610116766.5 申请日期 2016.03.01
申请人 中山大学深圳研究院 发明人 刘海亮;徐倩倩;苏航
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 代理人
主权项 一种个性化推荐的方法,其特征在于,包括:1)判断用户是否为新用户或未登录用户。2)如果用户是新用户或未登录用户,进行简单推荐,获取用户附近M个其他用户的最近n次听过的音乐数据,对附近M个其他用户的音乐数据进行统计,通过对统计的音乐和对应的听过该音乐的用户数量来进行排序选择前X首音乐,同时通过音乐库中存放的最新音乐以及对应的听过的用户数量排序后选择前Y首,对于获取的X和Y首音乐需要对相同的音乐进行处理只保留一首,获取处理后的音乐。3)如果是老用户进行精确推荐,主要包括最新音乐推荐和附近音乐推荐,是在确定用户有存储相应的个性化信息下完成,获取相应的推荐音乐。4)最新音乐推荐特征如下:a)获取用户最近n次听过的音乐数据,音乐数据格式(音乐ID,{标签},播放次数,第几次)。其中标签可以有多个,对于音乐k第i次播放的次数C<sub>ki</sub>的计算公式如下:<img file="FDA0000932404330000011.GIF" wi="221" he="103" />(公式一)其中t是当前音乐k第i次听过的时间总和,T<sub>k</sub>是音乐k的时间长度,Q<sub>次</sub>是本次音乐k播放的次数。b)计算最近n次的音乐数据中的标签权重,选取能够表示用户最近爱好的标签。先判断音乐的播放次数,对于次数低于1的忽略,相应的计算公式如下:<img file="FDA0000932404330000014.GIF" wi="202" he="91" />(公式二)其中V<sub>i</sub>是音乐k的标签在第i次播放中的权重部分,C<sub>ki</sub>是音乐k第i次播放的次数,N<sub>标签数</sub>是音乐k的标签数目。该用户最近n次的所有音乐的每一个标签权重<img file="FDA0000932404330000012.GIF" wi="226" he="55" />对所有音乐的标签权重按照权重从大到小进行排序选取设定的个数为用户最近的爱好标签。c)计算最新音乐的匹配值,通过用户最近的爱好标签与音乐库中的所有最新音乐数据进行余弦相似度计算,其中对存在的标签用1表示,不存在用0表示,计算出每首最新音乐和用户之间的匹配值。d)按照匹配值进行排序,选择前m首进行推荐。5)附近音乐推荐特征如下:a)获取用户和其附近L个其他用户的所有历史音乐数据该数据的格式(音乐ID,{标签},播放次数)。b)计算该用户和附近L个用户的标签权重,对于播放次数小于1的音乐其标签需要对计算出的值乘以‑1以保证用户不喜欢的因素被考虑,计算公式如公式二。c)通过公式三分别对该用户和其附近L个用户计算的权重值进行归一化处理,对归一化后的数据通过余弦相似度计算该用户和附近L个用户的相似值。<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>y</mi><mo>=</mo><mfrac><mrow><mi>x</mi><mo>-</mo><msub><mi>x</mi><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msub></mrow><mrow><msub><mi>x</mi><mi>max</mi></msub><mo>-</mo><msub><mi>x</mi><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msub></mrow></mfrac></mrow>]]></math><img file="FDA0000932404330000013.GIF" wi="253" he="79" /></maths>(公式三)其中x<sub>min</sub>是需要归一化数据中的最小值,x<sub>max</sub>是需要归一化数据中的最大值d)对计算出的附近L个用户的相似值从小到大的排序,选取前K个附近用户作为与需要推荐用户相似的用户。e)获取用户和其附近K个用户的最近n次的音乐数据。f)计算用户和附近K个用户的最近n次的音乐数据中的标签权重,对于播放次数小于1的忽略,通过公式二进行计算。g)通过余弦相似度计算该用户和附近K个用户的匹配值,其参与计算的值就是步骤B6计算的相应标签权重,进行排序,选择前N个用户。h)对选取的N个附近用户最近n次的音乐数据进行统计,将相同的音乐播放次数相加,然后排序,选取需要推荐用户在最近n次未听过的前m首,对于播放次数相同的音乐以距离继续排序。
地址 518000 广东省深圳市南山区科技园南区中山大学深圳产学研大楼15层