论文部分内容阅读
在互联网时代,各类音乐网站极大的方便了人们对于音乐的需求。然而,大型的音乐门户网站能够保存上千万首歌曲,在面对如此海量的音乐信息时,人们往往难以从中找到符合自己“口味”的歌曲。传统的搜索引擎只适合应用在用户有明确的目标并且能够用关键词准确的表达出来的信息检索问题。同时,音乐是一个典型的具有“LongTail”(长尾)现象的物品——只有极少部分的歌曲会被用户下载,绝大部分音乐往往无人问津。因此,个性化音乐推荐系统正是为了在没有明确需求的情况下,挖掘处于长尾部分音乐,帮助人们找到其喜爱的歌曲。推荐系统是信息过滤(information filtering)系统的一种,它的主要功能是预测用户对某个物品的喜爱程度。在个性化音乐推荐领域,主流的推荐方法有两类,一是基于内容的推荐,二是基于协同的推荐。其中,正确的计算音乐之间的相似度是这两类推荐方法的关键所在。然而,这两种方法都存在某些不足之处,如基于内容的推荐存在推荐准确率不高的问题,基于协同的推荐倾向于为用户推荐热门的歌曲。本文通过对这两类推荐算法较为全面和深入的分析,发现这两类算法之间的存在一定的互补关系。因此,本文提出了一种将基于内容和基于协同过滤相混合的推荐算法——语义增强型的协同过滤算法。本算法首先分析了歌词中隐含的语义信息,并计算歌曲歌词之间的语义相似度,然后基于用户的音乐下载历史计算歌曲的共现相似度。因为歌词代表着一首歌曲想要传达给听众的思想感情,所以通过结合这两种不同的相似度信息,本推荐算法可以改善基于协同过滤算法的不足之处。本文研究对象是带有歌词的歌曲,在后文中,音乐、歌曲都指代含有歌词的一类歌曲。本文开发的个性化音乐推荐系统的核心算法就是语义增强型的协同过滤算法。经试验证明,在推荐冷门音乐时,本文提出的混合推荐算法比纯粹的基于内容和基于协同的推荐方法都更加有效。为满足当前为庞大用户群推荐海量音乐的需求,本系统在开发时使用了目前主流的大数据分布式计算平台Hadoop。借助Hadoop优异的扩展性经实验证明本推荐系统能够有效的完成几十万用户的计算工作本文主要的研究工作如下:首先,研究用户的歌曲下载数据,根据歌曲下载次数的分布,将歌曲分为热门音乐和冷门音乐两类,更加细致、有针对性的分析推荐算法的推荐性能。然后,较为深入和全面的研究个性化推荐领域的主流算法基本原理,在分析算法的优点和不足基础上,本文提出了语义增强型的协同过滤算法。本算法在传统的协同过滤算法中引入了歌曲歌词的语义信息,以此缓解协同过滤算法的不足。经试验证明取得了较好的成果。其次,使用Hadoop相关技术实现语义增强型的协同过滤算法,使推荐算法能够完成大规模的用户推荐计算。