3.3 个性化音乐推荐模块设计。
如前文所分析,一个音乐网站想要成功部署和运营,开发人员必须首先将使用者(包括运营商和用户)的基本需求完成。
本文中所需设计的音乐系统从整体上可以分为两个核心模块,一是对用户开放的页面功能模块,主要是基础部分的注册、登录、退出、修改这些功能,以及客户部分的播放、收藏音乐功能,管理员部分的管理用户、音乐的功能;二是本文设计实现的核心部分,即对注册用户开放的个性化音乐推荐模块。
其中面向客户的页面部分主要设计原则是尽可能的简单、方便,除了注册模块需要收集客户初始信息而限制用户必须要进行一些信息输入操作外,其他页面尽量不设计太多复杂的操作,毕竟从设计初衷来讲,一个音乐网站不同于论坛、博客这样的主要供用户交流的站点,它的主要功能就是提供音乐供人们欣赏,太多的冗余设计反而容易引起客户反感。
本文中,将整个系统分为网站基础功能部分和后台推荐模块。
网站基础功能模块主要是指系统运行的基础,主要就是 web 页面部分,在这个模块要能够区分当前访客的权限,并相应的展示不同的页面,如游客就不能使用个性化推荐模块,还有管理员收录、修改、删除音乐的功能及普通用户收藏、播放音乐的功能等,管理员收录新的音乐时添加的音乐名、歌手、词曲作者等标签可以作为用户在主页搜索音乐时的关键字,添加的音乐分类标签则是推荐系统的一部分。
推荐功能是指系统采集用户注册时填写的偏好标签,将分类标签与用户偏好标签接近的音乐优先推荐给用户,这样可以避免新用户登录时的冷启动问题。等到用户已经注册了一段时间并且有了一定的浏览历史记录时,则系统推荐时主要参考用户的记录及与用户偏好接近的其他用户喜欢的音乐来给用户进行个性化推荐,并且用户播放时间越近的音乐所占的比重应该越高,因为这些音乐最能反映用户最近一段时间的偏好倾向。
但是随着网站中音乐的数量逐渐的增加,单个用户播放过的音乐始终只能占其一小部分,而且可以预见的是这个比例还会逐渐减少,毕竟一个人对音乐的需求大体上会维持在几个分类之中而整个网站是面向所有潜在客户的,其中大部分类型可能对某一个人来讲或许会很少涉及,这样不同用户的偏好模型中重合的部分的几率会越来越小,对推荐结果非常不利,当然,如果用户群体十分庞大的话,即便是重合的概率较小,总体上还是可能会有相当数量的类似用户。本文在个性化音乐推荐模块采取了一些方法来尽量削弱这种数据稀疏问题的影响。
3.3.1 系统音乐的管理和使用。
对音乐的管理是整个流程中最重要部分,系统中音乐的整体质量依赖于系统管理员的持续维护;系统管理员在添加音乐时录入的音乐基本信息(曲名、歌手等)影响普通用户使用搜索引擎查询音乐时的准确度,而同时录入的音乐分类标签的精准度直接决定了个性化推荐功能的准确度。综上所述,系统管理员必须要时刻关注新发行的音乐,确保及时、准确录入相关信息,这样才能维持用户的粘着度,增强网站的的竞争力。
3.3.2 个性化音乐推荐流程。
系统音乐推荐功能是本文研究的核心内容,其功能是以音乐管理模块为基础,采集用户的偏好信息和历史信息,当然如果是游客访问,就只能看到热门推荐(播放次数最多的几首音乐),如果是刚注册没多久还没有足够多的历史信息的使用者,则只结合其偏好进行计算。