基于用户和项目的协同过滤音乐推荐系统
关键词:推荐系统,协同过滤,相似性度量
摘要:互联网和电子商务是导致信息超载的源头。推荐系统(RS)解决了信息过载的问题。RS可以提供关于新产品、电影或音乐等的建议。本文是关于音乐推荐系统的,它将根据用户过去的历史品味,向用户推荐歌曲。在本文提出了一种基于用户和物品的协同过滤技术。其中第一个用户项目评分矩阵用于形成用户集群和项目集群,接下来这些集群用于查找与目标用户最相似的用户集群或最相似的项目集群,最后从最相似的用户和项目集群中推荐歌曲。所提出的算法在基准数据集 Last.fm上实现。结果表明,该方法的性能优于最流行的基线法。
1.介绍
随着电子商务和互联网时代的到来,信息如洪水般涌动。推荐系统(RS)是解决信息过载问题的工具。推荐系统由用户和项目两类实体组成。用户可以是在线商店中的客户,商品可以是产品。RS的应用非常广泛,例如电影推荐系统、书籍推荐系统、音乐推荐系统等。这项研究工作讨论了音乐推荐系统。在音乐推荐系统中,用户是听众,项目是听过的歌曲。
音乐无处不在,数以百万计的歌曲只需每个人的点击下即可播放。随着歌曲、乐队和艺术家的数量不断涌现,音乐听众面对各种选择不知所措。用户希望找到满足他们音乐品味的歌曲。这催生了音乐推荐系统的诞生。Pandora、Spotify和Last.fm[1]等许多音乐服务的出现便向用户提供了建议。Netflix在Last.fm[1][6][7]数据集上发起了一项名为“百万歌曲”的具有良好性能的推荐系统的数据集挑战。音乐的选择取决于对某些特定艺术家的品味、信任和喜欢。对于机器来说,很难量化所有这些因素。因此,这些服务提供商很难找到真正有趣的音乐和满足一个人的口味。为了提供有效的推荐,每个音乐推荐系统都基于一组给定的假设。
文献中存在两种标准推荐系统,即协同过滤(CF)和基于内容的推荐 [4][8]。CF依赖于其他用户的行为来提供建议,而基于内容的系统则使用项目的内容进行推荐。
论文的其余部分组织如下。第2节解释了相关工作。第3节讨论了所提出的算法。 第4节展示了所提出的算法结果,第5节描述了结论和未来的研究方向。
2.相关工作
2.1.用户项目评分矩阵
协同过滤技术基于称为用户项目评分矩阵的数据结构。在该数据结构中,存储了每个用户对每个项目的评分。如果用户Ui多次监听到一个项目Ij的Sij,那么Sij将被放置在对与用户Ui和项目Ij[2][5]对应的单元格中。m个用户和n个项目的用户项目矩阵如表1所示。
表1.用户项目矩阵
2.2.协同过滤(CF)技术
CF是推荐系统中最常用的方法。CF的基本理念是,如果用户过去同意,即如果他们过去有相同的品味,他们将来也会同意。CF可分为以下两种类型
2.2.1.基于用户的CF
在基于用户的协同过滤方法中,我们使用用户对每个项目的评分来推断兴趣并提出建议。这种方法的底线是找到当前目标用户的所有最近邻居,并尝试推荐目标用户想要的项目,如图1所示。
图1.具有最近邻的基于用户的 CF
2.2.2.基于项目的CF
基于项目的协同过滤方法是基于项目配置文件而不是用户配置文件。它通过考虑对该项目进行评分的用户[3][5][6],为每个项目形成一个配置文件。考虑的相似性度量包括欧几里得距离、塔尼莫托系数和对数似然相似。
对于给定的任何项目,都会计算其与用户配置文件中已有的其他项目的相似性,以决定是否推荐该项目。当新项目过于频繁地添加到系统中时,这种方法很有用。
3.提出的算法
本节介绍了规范化技术、相似性度量以及基于用户和基于项目的方法,以形成将在推荐中使用的用户集群和项目集群。
3.1. 相似性度量
相似性度量用于查找给定目标用户的最近邻居。 这以下是文献中研究的一些相似性度量。 相似性度量可以是根据数据类型进行分类。
简单匹配系数 (SMC) 和 Jaccard 系数 (JC) 分别用于对称和不对称二进制数据,定义如下
欧几里得距离 (ED) 测量是最常见的,它显示了两个用户或项目之间的距离,由代表用户或项目的向量的各个元素之差的平方和给出。
数学公式如下所示
从p到q的距离由
其中d(p,q)指两个用户或项目p,q之间的欧几里德距离,表示为n维向量,其中n是项目数。
3.2. 规范化技术
规范化是数据挖掘中常用的一种标准化技术。它用于转换数据或规范化数据,以赋予所有属性同等的重要性。最常用的归一化技术是长度归一化(LN)和均方根归一化(RMSN)。
每个用户的长度标准化向量是通过将每个用户对每个项目的评分除以他/她对所有项目的评分之和得到的。方程1给出了求长度归一化向量的数学公式。长度标准化的目的是让所有用户都处于相同的等级,而不考虑评分项目的数量。
其中,Rij是项目Ij的用户Ui评级,N是项目数,M是用户数。
RMSN是一种通用的规范化技术。分母是向量所有元素的平方和的平方根,而分子是用户“i”对项目“j”的频率。从数学上讲,RMSN表示为下面给出的方程式。
其中 RMSN 是均方根归一化向量,Ij 是项目,useri 是用户,Rij 是用户对 Ij 的评级。
3.3. 提议的方法
本文提出了一种执行音乐推荐的方法。 本研究工作中使用的方法是基于模型的协同过滤。 使用基于用户的CF和基于项目的CF建立模型。 然后使用该模型为测试用户提供建议。
3.3.1. 数据预处理
最初,对用户项目评分矩阵进行预处理。首先对用户项矩阵进行二值化,如表2所示。
其中,Rij是对项目Ij的用户Ui的评级,预处理的第二步是规范化。
表2.二元用户项目评分矩阵
使用长度归一化和均方根归一化对二进制用户项目评分矩阵进行归一化。表3显示了具有长度规范化的用户项矩阵,表4显示了具有RMSN规范化的用户项矩阵。
表3.长度标准化用户项目评分矩阵
表4.RMSN 归一化用户项目评分矩阵
3.3.2模型构建
作为构建模型输入的数据是用户项目评分矩阵。每一行被视为一个用户向量,每一列被视为一个项目向量。采用基于分层阈值的聚类算法建立用户或项目模型。使用伪代码图2形成用户模型,使用伪代码图3形成项目模型。
测试数据作为用户模型和项目模型的输入,分别基于用户集群和项目集群提供建议。用于推荐的算法如图4所示。
图2.基于用户模型的伪代码
图3.基于项目的模型的伪代码
`
图4.来自用户和项目模型的推荐伪代码
4.结果
对从 Last.fm1 获得的基准数据集进行实验分析。Last.fm 是一个允许用户在线听音乐的网站。这项工作涉及的数据是 50 个Last,fm 用户从 2006 年到 2009 年的收听历史。为了进行实验,我们考虑了1年的数据(2008 年)。记录数为 2,20,338。 样本记录显示在图 5。
图5.Last.fm 用户的示例日志记录
每条记录由以下字段组成。
User id(User_000004) - 由于数据是匿名捕获的,因此我们分配了每个用户,格式为 user_000004 的用户 ID。
Date-Time(2009-04-09T12:49:50Z) - 记录活动时间
AlbumId(078a9376-3c04-4280-b7d720e158f345d) - 每个都有一个唯一标识符专辑。
Album name(Frightened Rabbit) - 该歌曲所属的专辑。
Trackid(5ca13249-26da-47bd-bba7-80c2efebe9cd) - 一个唯一的标识符被赋予每个曲目/歌曲。
Track name (Old Old Fashioned) - 用户听过的歌曲。
4.1. 评价措施
精度、召回率和F-测度被用来评估该方法的性能。这些措施的定义如下所示
4.2. 实验结果
对于不同的标准化技术(长度标准化、均方根标准化)和相似性度量(欧几里得、余弦),从 0.05 到 0.5 变化的阈值重复该实验。结果如下所示。实验表明,与基线方法相比,所提出的音乐推荐系统运行良好。结果显示了仅使用用户集群、仅使用项目集群以及同时使用用户和项目集群的各种阈值。
表5.具有余弦相似度的项目簇
图6.具有余弦相似度的项目簇
表6.具有余弦相似度的用户集群
图7..具有余弦相似度的用户聚类项目
表7.具有欧几里得距离的项目集群
图8.具有欧几里得距离的项目集群
表8.具有欧几里得距离的用户集群
图9.具有欧几里得距离的用户集群
表9.具有欧几里得距离的用户和项目集群
图10.具有欧几里得距离的用户和项目集群
表10.具有余弦相似度的用户和项目集群
表11.具有余弦相似度的用户和项目集群
5.结论和未来范围
本文通过对用户和项目使用基于 CF 模型的方法来解决音乐推荐问题。 我们在 last.fm 基准数据集上使用基于用户和基于项目的 CF 模型与用户集群和项目集群进行了实验。 将所提出方法的结果与基线(流行)方法进行比较。获得的结果表明,所提出的 RS 方法的性能优于基线方法。可以通过解决长尾问题和冷启动问题来加强这项工作。
参考文献
[1] Last. FM – A popular music web portal http://www.last.fm
[2] M Sunitha Reddy, T Adilakshmi. User Based Collaborative Filtering For Music Recommendation
System. International Journal of Innovative Research
剩余内容已隐藏,支付完成后下载完整资料
英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[596132],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。