《音乐推荐系统功能模块设计,软件工程论文.docx》由会员分享,可在线阅读,更多相关《音乐推荐系统功能模块设计,软件工程论文.docx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、音乐推荐系统功能模块设计,软件工程论文本篇论文目录导航:【题目】【文章,之后使用信息检索中的 tf-idf 算法来计算每个词对应的权重。但是由于本文所设计的推荐系统处理的对象是音乐,音乐本身的特征分类比拟容易,比方按类型分为热歌、情歌、民歌等,同样的,还能够根据语种、地区、歌手等进行分类。因而不必要再进行特征提取,只需根据用户阅读历史信息如播放、珍藏过的音乐构造出用户偏好模型, 计算推荐音乐分类标签与用户兴趣模型的类似度, 将华而不实最类似的音乐推荐给用户。在本文的系统中,系统首先分析用户已经播放、珍藏过的的音乐的分类标签歌手、语言、时间、地区等,再推荐与这些用户感兴趣的音乐类似度高的其他音乐
2、。基于内容的推荐算法的局限性在于它只是考虑了音乐的一部分特征,不可能提取出所有分类标识,影响推荐结果的准确度。另外它忽略了人文因素,比方用户可能受其他用户的影响,欣赏一些以前没有牵涉到的音乐,影响网站新音乐的推广。 系统使用基于内容的推荐算法为 Fred推荐音乐的经过。华而不实的标签是指音乐的分类标签,包括发行年代、地区、分类。 值得注意的是分类标签有可能有多个,如情歌,民歌,金曲等 ,在推荐时优先使用分类标签,由于考虑到多数用户所选音乐的地区,年代等标签往往相对固定,可能导致这些标签在推荐时起到的作用不大。 假如 Fred 是新注册用户,由于系统中没有阅读历史记录,为其推荐时直接使用用户注册
3、时填写的用户偏好标签来作为关注分类来产生用户评分矩阵,然后根据上图中的流程进行推荐。 当 Fred 不是新用户也不是非活泼踊跃用户时,其推荐经过如下: 1采集用户历史记录播放历史,珍藏历史,统计用户 Fred 所关注的音乐出现频率最高的分类标签,选出三个标签: a,b,c,这三个标签就能够反映出用户最喜欢的音乐的分类集中在哪些类型中;2得到用户 Fred 所关注的音乐分类 a,b,c 后,查询系统音乐库,从中找出与同时包含这三个分类标签的音乐 m 首,假如 m 大于等于 12个性化推荐页面显示的个数,则从这 m 首音乐中选出播放次数最多的 5 首音乐提交给推荐页面,算法结束。假如 m 小于 1
4、2,则将这 m 首音乐暂时反倒 临时推荐列表 中,进入下一步;3从 Fred 的三个偏好标签中排除 c,查询系统音乐库,从中找出与同时包含 a,b 两个分类标签的音乐 n 首,假如音乐集合 m+n 的个数大于等于 12,则将该集合返回给推荐页面,算法结束。否则,将新查找出的 n 首音乐也放入 临时推荐列表 ,进入下一步;4从 Fred 的三个偏好标签中排除 b,查询系统音乐库,从中找出与同时包含 a,c 两个分类标签的音乐 k 首,假如音乐集合 m+n+k 的个数大于等于 12,则将该集合返回给推荐页面,算法结束。否则,将新查找出的 k 首音乐也放入 临时推荐列表 ,进入下一步;5从 Fred
5、 的三个偏好标签中排除 a,查询系统音乐库,从中找出与同时包含 c,b 两个分类标签的音乐 j 首,假如音乐集合 m+n+k+j 的个数大于等于 12,则将该集合返回给推荐页面,算法结束。否则,将新查找出的 n 首音乐也放入 临时推荐列表 ,进入下一步;6从系统音乐库中查出当下最热门的音乐 12-m+n+k+j首,放入 临时推荐列表 ,将 临时推荐列表返回给推荐页面。 注:以上的推荐流程中,之所以在以所有的双标识查询结束后仍然没有凑够12 首推荐音乐的情况下,不再继续以一个标识为关键字进行查询,是考虑到一个标识命中的音乐的随机性太强,推荐的准确度不高;另外,以上流程的 m+n、m+n+k、m+
6、n+k+j 等在计算集合书目在实际实现时需要判定华而不实能否有重复的音乐,由于以不同的标签查询时有可能返回一样的音乐,在这里需要排除掉重复值,防止在推荐页面出现重复推荐或者推荐数目缺乏的情况。 综合上文的内容推荐和协同过滤推荐算法的详细实现,能够看到无论单独使用华而不实一种推荐算法都有比拟明显的缺点,将两种算法结合构成混合推荐,优势互补是一种有效的选择。这样的混合推荐算法不仅能互相弥补各自算法的缺乏,其推荐准确度也会有显着提升。 以上两种推荐算法结合,根据用户的不同情况采用适宜的推荐算法,就组成了本文中的混合推荐。在实际应用时,也发现了一些问题,比方不管采用哪种推荐算法,当下系统中最热门的音乐
7、被推荐到个性化推荐里的概率还是最高的,因而,实际推荐时,还要考虑将包含在热门推荐中的音乐从个性化推荐页面过滤掉。 3.4.3 系统数据库设计。 根据上文中的需求分析,结合算法需求。 华而不实用户注册时必填的信息有用户名,MD5密码和名字加密后的数据,为了安全,兴趣标签,标识 ID 由系统分配,User_ favorite 是记录用户的历史珍藏,华而不实标识 ID 是唯一的,年龄在本文中属于选填内容。 表中的 IsAdmin 可以以区分是管理员的权限,系统自带的根用户的权限是True,使用根用户能够添加、删除额外的管理员用户,这些新加的管理员用户能够管理用户、音乐信息,但不能够管理其他管理员用户
8、。 存放着音乐对应的信息、标签、播放次数等,华而不实播放次数是热门推荐的根据,分类标签和地区、时间等标识是个性化推荐时使用的特征。 3.5 本章小结。 本章具体介绍了本文系统设计初始阶段的需求分析,阐述了音乐管理系统中主要模块及其流程设计,介绍了怎样把基于内容的推荐同基于协同过滤推荐这两种算法组合成混合推荐算法和。 给出了本系统的数据库设计,为后续系统的实现提供理论基础。 3.4 功能模块设计。 3.4.1 用户注册、登录模块设计。 用户注册、登录模块是整个音乐系统的基础功能之一。 当游客访问网站时,将会进入主页面,此时能够阅读音乐信息及看到热门推荐。 假如当前访问的用户已经在网站注册,那么该
9、用户就能够点击 登录 进入登录页面,在这里页面能够输入用户名、密码尝试登陆,用户输入完成后点击登录提交个人信息,假如用户填写的信息与数据库表数据匹配成功,就会跳转到主页面,此时用户的身份由游客转变成注册用户。假如匹配失败,那么将会弹出对话框提示登录失败,要求用户继续尝试。 假如此用户还没有在网站注册过,想要注册账户,能够点击 注册 进入注册页面。在这里页面中,用户需要填写用户名唯一表示,不能与数据库中其它已注册用户重复、用户密码、个人兴趣偏好能够多项选择等必要信息,填写完成后提交。假如用户提交信息符合注册要求,直接跳转到个人主页面。假如用户提交的注册信息不规范如 ID 冲突、密码不符合规范等,
10、则将返回注册界面,并提示注册信息错误,让用户重新填写。 以上流程就是是用户注册、登陆模块的功能逻辑设计,注册用户登录成功后的功能。 注册用户登陆成功后的功能示意图。当用户登陆成功后,能够看到以总播放次数为根据进行推荐的热门推荐,其次是根据用户注册时填写的个人兴趣偏好标签及用户历史播放记录、珍藏记录等信息综合推荐的个性化推荐页面。 用户能够在推荐列表中查询能否含有自个喜欢的音乐,选择播放进行欣赏。同时,注册用户还有其它功能: 1 进入个人信息管理页面:在这里,用户能够更改密码、昵称等信息,但不能更改注册标识项用户名;2 假如热门推荐和个性化推荐中没有找到喜欢的音乐,用户能够使用右侧的分类标签更准
11、确的查询喜欢的音乐。 3 用户能够珍藏喜欢的音乐或者对曾经播放、珍藏过的音乐评分,可以以从珍藏中删除某一首音乐;4 播放音乐:假如用户找到喜欢的音乐,能够点击 播放 进行欣赏;在上述几个流程中,每当用户进行操作时,如播放、珍藏音乐,更改个人偏好标签,或者跟新珍藏时,相关的数据信息会自动更新到相应的数据库中,每当用户点击热门推荐、个性推荐页面时,系统会根据最新的数据库信息重新生成推荐,保证推荐内容的准确性。 3.4.2 系统推荐模块设计。 在设计和实现本文的音乐推荐系统时,首先使用了基于内容的推荐算法进行初步的过滤,防止冷启动等问题,之后再使用协同过滤推荐算法。混合过滤推荐算法顾名思义就是两种算
12、法的结合,根据详细使用情况的不同能够划分为两种: 根据不同的使用条件将协同过滤算法或基于内容的推荐算法分别进行,结合起来到达目的的组合式推荐算法,以及将某一种算法放到另一种推荐算法的推荐经过中,最终实现目的的融合式推荐。本文的系统是采用混合式推荐。 事实上,无论使用哪一种推荐算法,用户类似度都是需要首先计算的,使用用户类似度的值能够判定用户能否是新用户或者不太活泼踊跃的用户,在用户为新注册用户或该用户的活泼踊跃度较低的情况,使用基于内容的推荐算法推荐音乐。 详细设计时,当用户登录成功后,系统就采集用户最近的历史信息,计算该用户的类似矩阵,假如与该用户类似值大于某个规定值的类似用户个数超过指定数
13、目5 个,即用户的近似度较高的用户友好用户比拟多,则以为用户是 活泼踊跃用户 .这种情况下访问数据库,读取该用户个人信息和历史记录,并使用协同过滤算法进行音乐推荐这里实际上是假设网站的用户总数到达了一定的规模,并且用户的喜好分布较为平均。 一协同过滤算法Collaborative Filtering recommendation是当前最受电商业务欢迎的推荐算法之一24 ,自从 20 世纪 90 年代提出以来得到广泛应用,发展出各种各样的基于协同过滤的变种算法。它的原理是计算用户的偏好,查找偏好类似的其它用户25 ,以此为基础对音乐信息进行过滤和挑选。 算法的基础思想是:有一样或类似的偏好的用户
14、对某一音乐的偏好可能一样,同基于内容的推荐算法相比,协同过滤算法最突出的特点是他不仅仅关注用户个人信息,还会兼顾那些与用户喜好接近的客户群的兴趣进行联合推荐,能够显着地提升推荐结果的准确性。 这种算法总体而言就是基于一种假设:假设两个用户 A 和 B 对 a、b、c 这三首音乐的评分非常接近,我们就能够假设二者的喜好接近,假如 A 用户还对 d音乐的评分比拟高,则能够用户 B 可以能对 d 感兴趣。显然,考虑的近似用户越多,近似度阈值设置的越高,过滤出来的友好用户的类似性就越高,推荐的结果也越准确。 协同过滤算法的基础是用户对音乐的评分,其基本流程是: 假如当下用户对某首音乐 k 没有评分,则
15、寻找与他偏好最类似的 m 个用户,然后从评分矩阵中读取这些用户对 k 的评分的加权平均值,作为当下用户对 k 的评分值,最终决定能否向用户推荐。以下图是一个用户评分矩阵: Rij标识用户 i 对音乐 j 的评分,在本文中,这个值是使用用户 i 播放音乐 j 的次数及能否珍藏音乐 j、能否评价了 j 来计算总体评分,协同过滤算法的核心就是怎样高效、准确的从用户-评分矩阵中找出类似用户;能够看到,音乐的数量越多,这个评分矩阵就越稀疏,即有可能有些客户对很多音乐没有进行评分。另外,用户介入评分的音乐毕竟只是整个网站的音乐的一小部分,能够预见随着网站音乐总数的不断增长,未评分的音乐会越来越多,用户评价
16、过的音乐所占比例会越来越低,在这种情况下用普通的向量类似度度量算法来计算几个用户的近似度就会不太准确本文采取一种改良的推荐方式方法来比拟两个用户间的类似度。 直接使用余弦类似度算法查找出图3.10中的m-1个与用户中近似度最高的用户,从理论上讲是没有什么问题的,但是实际操作时,假如用户总数、及音乐总数的增加,矩阵特别庞大的情况下,为了找出近似度最高的用户,就必须把所有符合条件的用户都计算一遍,耗时太长。 音乐-用户反向矩阵直观地反映了某首音乐 Mx都有哪些用户阅读过。华而不实 M 表示所有用户曾经关注过的音乐包括播放、珍藏、评分过的,上图中 0 表示对应的用户没有评价过该音乐,1 表示评价过。
17、根据这个图,我们能够把那些与登陆用户一首共同关注的音乐的用户排除掉,将 3.10 的矩阵过滤为只包含与用户至少有一首共同关注的音乐的用户,一定程度上限定了查找出的用户偏好与当下用户偏好有类似性。由于这种矩阵理论上讲只要当用户、音乐的数目都特别庞大时才有较高的推荐价值,本文中只是用这个矩阵加了一层过滤,提高了推荐度效率。 能够看出来,在这种推荐算法中,最严重的仍然是当数据量过多时的性能下降的问题26 ,由于当下用户能够阅读了大量的音乐,但是可能只是随意的播放了一次,这样的的音乐可能用户的喜欢程度并不高,也就是讲音乐-用户反向矩阵固然能够过滤掉那些和用户类似度为零的用户,但剩下的用户仍然有很多无效
18、的用户,为了降低这一问题的影响,使用 JaccardSimilarity 方式方法再次过滤下近似用户: 得到用户评分矩阵后,以此为根据查找用户的近期邻用户,首先使用JaccardSimilarity 方式方法来过滤下评分矩阵,JaccardSimilarity 方式方法的基本思路就是两个用户 m、n 的评分集合的交集除以二者的并集|S T|/|S T|,如此图 3.12: 华而不实 S 是用户 m 评价过的音乐的集合,T 是用户 n 评价过的音乐的集合,使用 JaccardSimilarity 方式方法的目的是排除掉那些与用户有一定的类似度但是类似度太低其他用户,减少下一步计算类似度的计算量,
19、毕竟|S T|/|S T|的值越小,意味着两个用户阅读过共同音乐越少,也就讲明这两人的偏好不同的可能性越大,假如不把这种情况排除掉,具体计算二者的类似度,得到的数值会是个非常小的数字,对于协同推荐的作用微乎其微。 将|S T|/|S T|的阈值设置为 0.2,只要那些类似度大于这一数据的用户才继续介入下一步的类似度计算。本文设计系统的总体音乐量较少,用户数目也较少,因而将阈值设计的比拟小,假如是大型网站,珍藏音乐总量较多且注册用户数目也比拟多的情况下能够将 S、T 中音乐数扩大,并且将阈值设置的大一点,接近或等于 1,这样会过滤更多的用户,剩下的用户类似度极高,再次使用下文中的协同过滤推荐其结
20、果的准确度更高层次。 由于之前用当下用户的音乐过滤了用户,所以这时的音乐-用户矩阵图3.11中,对每一首音乐,当下用户 u 对应的评分一定不是零,正常情况应该是将同一首音乐对应的用户中所有评分不为 0 的用户的分子加一,但是考虑到评分不为 0 的情况有可能是一个用户给了 10 分满分,另一个给了 1 分,固然都有评分,但是实际上二者的偏好近似相反,为了更准确,这里使用 Nv,i表示对于音乐 i,v 和当下用户 u 的评价的类似度: Nv,i=1- Rui- Rvi/10, 3.2Rui、Rv相应表示 u,v 对音乐 i 的打分010,这样余弦类似度算法中的分子就等于所有音乐对应的 Nv,i的和
21、,相应的能够计算出所选近邻与登陆用户u的最终类似值 ,根据项目的需要选择最相近的k个邻居,用 Su,K 表示。这样 S 就是我们最终计算出的近邻用户的集合,我们把华而不实所有用户喜欢的全部音乐取到,得到 M,从中过滤掉登陆用户已经评价过的。对于剩下的每首音乐 i . 能够看到协同过滤有以下优点: 1能够推荐本来无法自动进行内容分析的信息,比方在本文的系统中,假如一首音乐在添加时没有添加任何标签,使用基于内容的过滤算法推荐时无法推荐到该音乐,但使用协同过滤算法时就有可能从近似用户那里推荐过来。 2考虑了更多的人文因素,避免纯粹以音乐为中心的缺点。 3推荐的新颖性,以及对用户的反应要求不高,不太依
22、靠用户的评分等,而且系统能够在不断的推荐经过中优化推荐结果,提升推荐结果的准确度。 4降低了操作的复杂度,对一些不太愿意介入对网站音乐打分的用户而言,只要他们阅读过页面就能够为他们产生个性化推荐,增加网站的友好度。 正由于如此,协同过滤推荐技术在电子商务中得到了广泛应用,Amazon,CDNow,MovieFinder,都使用协同过滤技术来提高服务质量。但是,协同过滤算法也有其缺点: 1用户对音乐的评分矩阵可能会非常稀疏,这样以用户评分为前提计算得到的用户近似度可能不够精到准确即稀疏性问题,极端情况下是冷启动;2随着系统中注册用户和音乐的增加,系统的性能会越来越低,尤其是本系中事实上相当于进行
23、了三层协同推荐,其效率下降的会比拟快。 3假如某一首音乐从来没有任何用户评价过,则这首音乐就不可能被推荐给任何用户即最初评价问题。 以上介绍了本文改良后的协同过滤推荐流程,为了弥补其缺陷,下面则介绍基于内容的推荐。 二假如当下用户的近邻用户不够多,则使用基于内容的算法为用户进行推荐。 在基于内容推荐的推荐模型中,也要使用用户评分矩阵,不过不考虑用户对音乐的评分、播放次数、能否珍藏等信息。在注册用户登录成功后,系统采集该用户的历史阅读记录,并安装音乐分类标签对播放过的音乐进行分类,找出该用户播放次数较高的音乐的分类标签,然后使用这些用户偏好的类别从系统音乐库中找到相对应类别的音乐推荐给用户。 基
24、于内容的推荐算法是根据音乐的特征进行推荐的,只要能得到音乐的信息就能够进行推荐,这种推荐方式方法实际上与传统的信息检索类似,只需要一定的关键字、本文关键词语就能够进行匹配,这种算法经常利用构造化数据技术,例如建立索引、信息检索技术、检索结果排列和评价等。但与信息检索的区别是:信息检索只是机械的匹配搜索的关键字,直接将符合条件的数据返回,而基于内容的推荐算法则是查找那些符合关键字匹配条件的数据中与用户偏好接近,或者与用户以前喜欢的音乐分类标签接近的结果返回给用户。 基于内容的推荐算法的难点在于文本特征的提取,通常需要使用出如今文本中的词来代表这篇文章,之后使用信息检索中的 tf-idf 算法来计
25、算每个词对应的权重。但是由于本文所设计的推荐系统处理的对象是音乐,音乐本身的特征分类比拟容易,比方按类型分为热歌、情歌、民歌等,同样的,还能够根据语种、地区、歌手等进行分类。因而不必要再进行特征提取,只需根据用户阅读历史信息如播放、珍藏过的音乐构造出用户偏好模型, 计算推荐音乐分类标签与用户兴趣模型的类似度, 将华而不实最类似的音乐推荐给用户。在本文的系统中,系统首先分析用户已经播放、珍藏过的的音乐的分类标签歌手、语言、时间、地区等,再推荐与这些用户感兴趣的音乐类似度高的其他音乐。基于内容的推荐算法的局限性在于它只是考虑了音乐的一部分特征,不可能提取出所有分类标识,影响推荐结果的准确度。另外它
26、忽略了人文因素,比方用户可能受其他用户的影响,欣赏一些以前没有牵涉到的音乐,影响网站新音乐的推广。 系统使用基于内容的推荐算法为 Fred推荐音乐的经过。华而不实的标签是指音乐的分类标签,包括发行年代、地区、分类。 值得注意的是分类标签有可能有多个,如情歌,民歌,金曲等 ,在推荐时优先使用分类标签,由于考虑到多数用户所选音乐的地区,年代等标签往往相对固定,可能导致这些标签在推荐时起到的作用不大。 假如 Fred 是新注册用户,由于系统中没有阅读历史记录,为其推荐时直接使用用户注册时填写的用户偏好标签来作为关注分类来产生用户评分矩阵,然后根据上图中的流程进行推荐。 当 Fred 不是新用户也不是
27、非活泼踊跃用户时,其推荐经过如下: 1采集用户历史记录播放历史,珍藏历史,统计用户 Fred 所关注的音乐出现频率最高的分类标签,选出三个标签: a,b,c,这三个标签就能够反映出用户最喜欢的音乐的分类集中在哪些类型中;2得到用户 Fred 所关注的音乐分类 a,b,c 后,查询系统音乐库,从中找出与同时包含这三个分类标签的音乐 m 首,假如 m 大于等于 12个性化推荐页面显示的个数,则从这 m 首音乐中选出播放次数最多的 5 首音乐提交给推荐页面,算法结束。假如 m 小于 12,则将这 m 首音乐暂时反倒 临时推荐列表 中,进入下一步;3从 Fred 的三个偏好标签中排除 c,查询系统音乐
28、库,从中找出与同时包含 a,b 两个分类标签的音乐 n 首,假如音乐集合 m+n 的个数大于等于 12,则将该集合返回给推荐页面,算法结束。否则,将新查找出的 n 首音乐也放入 临时推荐列表 ,进入下一步;4从 Fred 的三个偏好标签中排除 b,查询系统音乐库,从中找出与同时包含 a,c 两个分类标签的音乐 k 首,假如音乐集合 m+n+k 的个数大于等于 12,则将该集合返回给推荐页面,算法结束。否则,将新查找出的 k 首音乐也放入 临时推荐列表 ,进入下一步;5从 Fred 的三个偏好标签中排除 a,查询系统音乐库,从中找出与同时包含 c,b 两个分类标签的音乐 j 首,假如音乐集合 m
29、+n+k+j 的个数大于等于 12,则将该集合返回给推荐页面,算法结束。否则,将新查找出的 n 首音乐也放入 临时推荐列表 ,进入下一步;6从系统音乐库中查出当下最热门的音乐 12-m+n+k+j首,放入 临时推荐列表 ,将 临时推荐列表返回给推荐页面。 注:以上的推荐流程中,之所以在以所有的双标识查询结束后仍然没有凑够12 首推荐音乐的情况下,不再继续以一个标识为关键字进行查询,是考虑到一个标识命中的音乐的随机性太强,推荐的准确度不高;另外,以上流程的 m+n、m+n+k、m+n+k+j 等在计算集合书目在实际实现时需要判定华而不实能否有重复的音乐,由于以不同的标签查询时有可能返回一样的音乐
30、,在这里需要排除掉重复值,防止在推荐页面出现重复推荐或者推荐数目缺乏的情况。 综合上文的内容推荐和协同过滤推荐算法的详细实现,能够看到无论单独使用华而不实一种推荐算法都有比拟明显的缺点,将两种算法结合构成混合推荐,优势互补是一种有效的选择。这样的混合推荐算法不仅能互相弥补各自算法的缺乏,其推荐准确度也会有显着提升。 以上两种推荐算法结合,根据用户的不同情况采用适宜的推荐算法,就组成了本文中的混合推荐。在实际应用时,也发现了一些问题,比方不管采用哪种推荐算法,当下系统中最热门的音乐被推荐到个性化推荐里的概率还是最高的,因而,实际推荐时,还要考虑将包含在热门推荐中的音乐从个性化推荐页面过滤掉。 3
31、.4.3 系统数据库设计。 根据上文中的需求分析,结合算法需求。 华而不实用户注册时必填的信息有用户名,MD5密码和名字加密后的数据,为了安全,兴趣标签,标识 ID 由系统分配,User_ favorite 是记录用户的历史珍藏,华而不实标识 ID 是唯一的,年龄在本文中属于选填内容。 表中的 IsAdmin 可以以区分是管理员的权限,系统自带的根用户的权限是True,使用根用户能够添加、删除额外的管理员用户,这些新加的管理员用户能够管理用户、音乐信息,但不能够管理其他管理员用户。 存放着音乐对应的信息、标签、播放次数等,华而不实播放次数是热门推荐的根据,分类标签和地区、时间等标识是个性化推荐时使用的特征。 3.5 本章小结。 本章具体介绍了本文系统设计初始阶段的需求分析,阐述了音乐管理系统中主要模块及其流程设计,介绍了怎样把基于内容的推荐同基于协同过滤推荐这两种算法组合成混合推荐算法和。 给出了本系统的数据库设计,为后续系统的实现提供理论基础。