加权融合基于内容和协同过滤的音乐推荐算法
2023-09-25赵圆圆张小雷
赵圆圆 张小雷
摘 要:随着互联网技术及音乐资源电子化地发展,用户获取音乐资源越来越容易。但音乐库不断增大却使得用户快速找到心仪音乐变得愈发困难。为解决传统单一音乐推荐算法的不足问题,提高音乐推荐质量,在深入研究基于内容和协同过滤推荐算法基础上,文章提出在基于协同过滤推荐算法中融入时间因素并与基于内容推荐算法加权融合的音乐推荐算法。实验结果表明,与传统单一推荐算法和部分相关算法相比,这种算法为用户推荐音乐的效果更好。
关键词:基于内容的推荐算法;基于协同过滤的推荐算法;时间因素;加权融合
中图分类号:TP399 文献标识码:A 文章编号:1672-4437(2023)03-0051-05
0 引言
近年来,互联网数据量急剧增加,有专家预估,全球数据总量到2025年将会增加到175ZB[1]。音乐是人们日常生活中不可获取的一部分[1],各音乐网站存在着大量音乐资源和用户,以两知名音乐网站网易云音乐和酷狗音乐为例,统计显示,截止到2022年6月,网易云音乐用户超1.8亿人,乐库音乐曲目超1.06亿首。2022年酷狗全年新发1936万首新歌,音乐人总粉丝超7亿。面对海量音乐资源,用户越来越难以快速找到喜欢的音乐,严重影响用户听歌体验。较差的听歌体验,会导致音乐网站和用户间黏性降低,音乐网站也就无法获取相应利润。
各大音乐网站都嵌有推荐系统,以满足用户个性化听歌需求。目前音乐网站多采用传统单一的基于内容(Content-Based)推荐算法或基于协同过滤(CF-Based)推荐算法[2]为用户推荐音乐。Content-Based推荐算法在分析用户所听音乐记录基础上,构造音乐属性特征,计算出音乐相似度,为用户推荐相似音乐,但推荐新颖度不够,推荐质量不高。CF-Based推荐算法包括基于用户(User-CF-Based)推荐算法和基于物品(Item-CF-Based)推荐算法两种。User-CF-Based推荐算法根据用户对音乐偏好情况计算用户相似度,依据相似用户音乐偏好预测目标用户音乐偏好。Item-CF-Based推荐算法首先计算音乐间相似度,然后预测目标用户的音乐偏好。CF-Based算法在推荐过程中,缺少新用户和新音乐历史记录,难以有效推荐,同时用户对音乐交互较少也严重影响相似度计算,这就是CF-Based推荐算法面临的冷启动和稀疏性问题。音乐流行度对用户的选择影响很大,过去用户喜欢的音乐现阶段用户不一定喜欢,所以在推荐音乐时还要考虑时间因素的影响。
在改进传统推荐算法,提高推荐效果方面,很多学者做了大量研究。彭余辉等在融合基于内容和协同过滤算法基础上,提出了MR_CCFI算法,该算法能够降低冷启动影响,提高推荐质量,但未考虑时间因素影响[3]。包玄等在传统协同过滤算法中融合时间因素和兴趣点,推荐准确度有所提高,但冷启动问题依然存在[4]。付文静在加权融合用户和文本内容基础上,构造出RC-DFM算法。该算法能降低数据稀疏性影响,但当数据集较大时,推荐效率会降低[5]。杨明极等混合注意力机制和改进的RNN进行音乐推荐,提高了准确度,但在推荐多样性上有所欠缺[6]。付峻宇等提出了一种基于图卷积的双通道CF-Based推荐算法GCNCF-2C,缓解了冷启动问题,取得不错效果[7]。
针对传统单一音乐推荐算法的不足,在深入研究Content-Based推荐算法和CF-Based推荐算法基础上,本研究提出在CF-Based推荐算法中融入时间因素并与Content-Based推荐算法加权融合,以此降低冷启动影响,缓解数据稀疏性,提高音乐推荐质量。
1 加权融合基于内容和融入时间因素的协同过滤的音乐推荐算法
1.1 算法基本框架
Content-Based推荐算法依据用户和歌曲自身属性推荐音乐,缺乏新颖性,存在用户偏好音乐和特征間的语义差异,但不会面临数据稀疏性和冷启动问题[8]。CF-Based推荐算法通过计算用户和音乐相似度来推荐音乐,推荐质量较高,但面临数据稀疏性和冷启动问题。在深入研究这两种算法基础上,考虑时间因素影响,本研究提出在CF-Based推荐算法中融入时间因素分别构造融入时间因素基于用户(TF-User-CF-Based)和融入时间因素基于物品(TF-Item-CF-Based)的推荐算法,并与Content-Based推荐算法加权融合,构造出加权融合(MR_CTCFI)推荐算法。该算法包括加权融合基于用户和基于内容(TF-User-Content)以及基于物品和基于内容(TF-Item-Content)推荐算法。根据不同用户数和音乐数,计算用户间及音乐间相似度,同时关注用户历史听歌信息,为用户推荐预测评分较高的音乐。
MR_CTCFI推荐算法基本框架如图1所示:
1.2 Content-Based音乐推荐算法的处理
1.3 融合时间因素的CF-Based音乐推荐算法的处理
随着音乐流行度变化和用户听歌习惯的改变,时间因素对用户音乐选择影响很大,所以在音乐推荐中要考虑时间因素。本研究通过融入时间因素并加入惩罚热门音乐项改进CF-Based推荐算法。
1.3.1 TF-User-CF-Based推荐算法
1.3.2 TF-Item-CF-Based推荐算法
1.3.3 MR_CTCFI推荐算法
2 实验结果与分析
在不同大小音乐数据集下测试算法的推荐准确率。实验数据源来自于网易云音乐2022年上半年的一部分数据,在其中选取1000首歌曲,获取其歌单、用户、音乐以及评分等信息。实验前,预处理数据,选择音乐集中80%数据作训练数据集(40%作小数据集),剩下的音乐集中20%数据作测试数据集。
2.1 数据预处理
原始数据如图2所示:
2.1.1 对音乐集数据分类标注,得到标签列表。部分标签见表1。
2.1.2 对歌曲文本中的内容使用jieba对其分词,再去词停用,通过TF-IDF算法把关键词提取出来,最终得出用户对音乐的偏好矩阵。
2.1.3 对音乐集数据处理后,选择音乐编号、名称、发表时间、类型等维度,部分数据见表2。
2.2 实验结果分析
将本研究中MR_CTCFI推荐算法与文献[4]中的MR_CCFI以及Content-Based算法进行实验对比,比较这些算法的平均绝对误差(MAE),分析在不同音乐集下的推荐质量,MAE值越小,推荐准确率越高。
2.2.1 参数设置
2.2.2 相似度计算
为验证所选相似度计算方法的有效性,在把K分别设为10、15、20、25、30、35情况下比较Cosine、TF-User-content-Cosine和TF-Item-content-Cosine计算下的MAE值。如图4所示,在较大音乐集,固定K值情况下,TF-Item-content-Cosine计算下MAE最小。如图5所示,在较小音乐集,固定K值,TF- User content-Cosine计算下MAE最小。实验结果表明,本研究所用余弦相似度计算法推荐结果较好。
2.2.3 MAE
实验中,比较MR_CTCFI推荐算法与文献[4]中MR_CCFI以及Content-Based算法的MAE值,检验本研究中算法的推荐效果。如图6所示,在较大音乐集,固定K值,TF-User-content和TF-Item-content算法MAE值都较小,K为20时,MAE值最小。对比TF-User-content和TF-Item-content算法,较大音乐集下,TF-Item-content算法推荐效果更好。如图7所示,在较小音乐集,固定K值,TF-User-content和TF-Item-content算法MAE值都较小,K为20时,MAE值最小。对比TF-User-content和TF-Item-content算法,较小音乐集下,TF- User -content算法推荐效果更好。
3 结语
本研究通过加权融合Content-Based和融入时间因素的CF-Based推荐算法构造出MR_CTCFI音乐推荐算法,以此降低冷启动影响,缓解数据稀疏性,并提高推荐质量。在不同音乐集下进行实验,结果表明,音乐集较大时,TF-Item-content更适合为用户推荐音乐;音乐集较小时,TF- User –content更适合为用户推荐音乐。在实际应用环境中,MR_CTCFI也适用。但本研究算法還无法解决社会网络等方面问题,仍需进一步进行改良,以此来提高推荐算法的精确率和质量。
参考文献:
[1]张全贵,张新新,李志强.基于注意力机制的音乐深度推荐算法[J]计算机应用研究,2019,36(08):2297-2304.
[2]张小雷.基于协同过滤和隐语义模型的图书推荐算法研究与实现[D].阜阳:阜阳师范大学,2021.
[3]彭余辉,张小雷,孙刚.基于内容和协同过滤加权融合的音乐推荐算法[J].安庆师范大学学报(自然科学版),2021,27(2):44-53.
[4]包玄,陈红梅,肖清.融入时间的兴趣点协同推荐算法[J].计算机应用,2021,41(08):2406-2411.
[5]付文静.基于评论和内容深度融合的跨域推荐问题研究[D].济南:山东大学,2019.
[6]杨明极,刘畅,宋泽.注意力机制与改进 RNN 的混合音乐推荐算法研究[J].小型微型计算机系统,2020,41(10):2235-2240.
[7]付峻宇,朱小栋,陈晨.基于图卷积的双通道协同过滤推荐算法[J].计算机应用研究,2023,40(01):129-135.
[8]苗雨欣,宋春花,牛保宁,等.双通道图协同过滤推荐算法[J].计算机工程,2022,48(08):121-128.
[9]BREESE J S, HECKERMAN D, KADIE C. Empirical Analysis of Predictive Algorithms for Collaborative Filtering[J].uncertainty in artificial intelligence, 2013:3-5.