您现在的位置是:首页 > 管理论文 > 档案管理

上海交通大学计算机专业文献综述范文

论文堡 日期:2023-11-24 20:56:51 点击:64
序言
 
随着社会与科技的发展,互联网给我们提供了大量的信息,我们面临着严峻的信息过载问题,快速寻找对自己有用或自己感兴趣的内容是很困难的,互联网把我们带进了信息爆炸的时代,人们的娱乐生活日趋丰富,各种视频,包括电视节目以及各种娱乐视频等都存在在网络上,即面对大量复杂多变的信息,对于电影爱好者来说,其利用网络在浩如烟海的电影数据库中找到自己喜欢的电影并容易。电影爱好者往往会参考其他人的观影意见来对一部电影进行判断,从而决定是否观看或者下载该电影。因此个性化推荐系统的研究变得越来越有价值。
个性化推荐技术实际上本质是一种信息过滤技术。它建立用户和信息之间的联系,帮助用户找到那些对自己游泳或自己所感兴趣的信息,同时也让信息有机会推送给适合它消费的用户。其基本工作原理时根据用户的行为数据,例如用户对某部电影的量化评分数据或非量化的评论数据,分析用户的习惯、爱好,然后有针对的向用户推荐其可能感兴趣的内容,目前广泛应用在如电子商务、电视、电影和视频、音乐、社交网络等领域的众多互联网领域。
亚马逊是目前非常著名的电子商务网站,也是个性化推荐系统最早的实践者和推广者,其主要应用是个性化推荐列表和相关商品推荐列表。个性化推荐列表是推荐你当前浏览的商品的相关同类商品,例如你在想看一部金童的小说,该网站可能会给你推荐金庸的另一部小说;相关商品推荐列表是向你推荐你当前浏览的商品的相关非同类商品,如你正在浏览一件外套,它会向你推荐和这件外套样式搭配的鞋子,或者提供一个给予一些优惠的打包购买服务。
综上,个性化推荐系统在互联网领域发挥者越来越大的作用,它正在影响着互联网的发展,同时为用户和企业创造着价值。
 
 
课题研究内容主要包括如下几部分:
1、概述网络电影推荐系统的研究背景和现状,阐述中外研究成果及论文整体的思路和结构;
2、简述论文研究的背景知识,各种推荐算法的介绍,包括基于用户的协同过滤算法,基于物品的协同过滤算法,基于内容的推荐算法,基于网络结构的推荐算法等。
3、概述图数据库,介绍neo4j图数据库及其特点。
4、介绍电影推荐系统的整体架构,描绘整体架构图。介绍本推荐系统的前台界面设计和后台数据库及推荐算法在整个推荐系统的应用流程。
5、对个性化推荐系统研究工作个全面总结和对研究前景的展望。
 
本课题拟解决的关键问题如下:
1、对比基于用户的协同算法和基于物品的协同算法,帮助推荐系统的功能设计与实现;
2、如何利用图数据库neo4j,快速的查找和操作,展示数据源和推荐结果,从而更好的为推荐结果做出解释。 
 
相关知识点如下:
1、图数据库概述
图形数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。最常见的一个例子,就是社会网络中人与人之间的关系。关系型数据库用于存储“关系型”数据的效果并不好,其查询复杂、缓慢、超出预期,而图形数据库的独特设计恰恰弥补了这个缺陷。
本文实现的系统是基于图数据库(graph database)实现的,在计算机领域,图数据库是一种使用图这种结构来存储和查询数据,这里的图是指数据结构和算法里面的图,而不是常见的图形图像,其基本存储单元为:节点、关系(也可以称作边)、属性。图数据库与关系型数据库的一个明显的区别是使用关系来连接各个节点数据,而不是外键。
neo4j 可能是当下人气最高的图形数据库。 neo4j 在设计上主要考虑到 java 应用程序的实
际需求,但它同时也支持 python。 neo4j 属于开源项目,共有 gplv3 社区版、高级版、企业
版三种版本;后两者都以 agplv3 商业许可为基础。
 
2、相似度计算
相似度计算是通过距离来很亮两个对象之间的相似程度,经典的相似度计算方法有欧式距离、马氏距离、曼哈顿距离,jacccard系数、余弦相似度、皮尔逊相关系数等,但在推荐系统领域,常见的主要是欧式距离、余弦相似度以及皮尔逊相关系数。
2.1欧氏距离
欧式距离也叫作欧几里得距离,定义为在欧几里得空间中的两个点x=( )和y=( )之间的距离,如式:
 
计算欧式距离时,如果两者完全相似,即两个点是重合的,距离为0,如果两者距离很远,即相似度很低。不过一般在使用时我们用[0,1]来表示相似度,0表示几乎不相似,1表示非常相似,所以可以用  来转换。
3、推荐系统算法概述:
推荐系统的研究大致可以分为三个阶段,第一阶段是基于传统的web服务,第二阶段是基于目前的社交网络的web服务,第三阶段是即将到来的物联网。这其中产生了很多基础和重要的算法,例如协同过滤(包括基于用户的和基于物品的)、基于内容的推荐算法、混合式的推荐算法、基于统计理论的推荐算法、基于社交网络信息(关注、被关注、新人、知名度、信誉度等)的过滤推荐算法、群体推荐算法、基于位置的推荐算法。其中基于领域的协同过滤推荐算法是推荐系统中最基础、最核心、最重要的算法,该算法不仅在学术界得到较为深入的研究,而且在业界也得到非常广泛的应用。
4、协同过滤核心思想
协同过滤系统是根据用户使用网站的历史记录来计算用户与用户之间的相似程度,并根据与目标用户的相似程度比较
 
5、基于用户的协同过滤算法
基于用户的协同过滤算法简称usercf,其简单应用情景是:当用户需要个性化推荐时,可以先找到与它相似其他用户(通过兴趣、爱好或行为习惯等),然后把那些用户喜欢的并且自己不知道的物品推荐给用户。
详细的过程如下:
1.使用某一种选定的相似度计算方法计算当前待计算用户a的最近的k个邻居,这k个邻居是距离a最近的用户,即可以看成是与用户a最相似的k个用户。
2.选定k个用户之后,通过某种方法计算这些用户中a不曾购买或知道的物品i对于用户a的预测兴趣度。
3.为了选择最好的n个推荐物品,从上面2中选择预测兴趣最高的n个物品。
计算用户a对物品i的预测兴趣度如式所示:
            
其中s(u,k)表示与用户u兴趣最接近的k个用户,n(i)表示对物品i有过行为的用户集合, 表示用户u和用户v的相似程度, 表示用户v对物品i的感兴趣程度。
使用基于用户的协同过滤算法的流程如图:
 
 
6、基于物品的协同过滤算法
基于物品的协同过滤算法简称itemcf,其简单应用情景是:例如一个用户a需要个性化推荐时,由于他之前购买过某款型的上衣,所以会给他推荐适合与上衣搭配的裤子或裙子,因为其他很多用户都同时购买了这两种商品。
详细的过程如下:
1.使用某一种选定的相似度计算方法计算两两物品之间的相似度。
2.根据物品的相似度和用户的历史行为给用户生成推荐列表。
这里计算物品之间的相似度是和用户行为有关的,如果只考虑物品本身的属性计算相似度就是基于内容的推荐了。计算物品之间的相似度如式所示:
其中n(i),n(j)表示喜欢或购买物品i的用户数,n(i) n(j)表示同时喜欢或购买物品i、j的用户数。
计算了物品之间的相似度之后就可以使用如下式来计算用户u对物品j的兴趣度。
其中n(u)表示用户u喜欢的物品集合,s(j,k)表示和物品j最相近的k个物品的集合, 是物品j和物品i的相似度, 是用户u对物品i的兴趣度。
其具体流程如下:
 
7、基于内容的推荐算法
目前,协同过滤是较为流行的推荐算法,在学术界和工业界都有广泛的研究个使用,但同样作为推荐系统领域的基础算法——基于内同的推荐也是很重要的。其基本原理是根据用户之前对物品的历史行为,如用户购买过什么物品、收藏过什么商品、评过分等等,然后再根据计算与这些物品相似的物品,并把它们推荐给用户。例如用户之前购买过金庸的《神雕侠侣》,可以说明此用户可能是一个金庸迷或武侠迷,这时就可以给该用户推荐金庸的其他武侠小说。
在电影推荐系统中,该算法首先分析用户的历史记录,对其已经看过的并且打分比较高的电影的一些共同属性(比如演员、导演、风格等)进行分析,然后在推荐与这些共同属性的相似度较高的其他电影给用户。基于内容的推荐算法的核心在于信息获取过程以及信息过滤过程。基于内容的推荐算法是以产品为核心,由于产品的信息往往趋于稳定,而用户的信息可能时刻处于变化之中,例如用户年龄的变化会导致其偏好发生改变。因此,产品信息比较稳定,基于内容的推荐算法也是比较稳定的,具有普遍适用性。
基于内容的推荐算法一般包括以下几步:
1.为每个物品抽取一些特征用来表示这个物品。
2.使用用户的历史行为数据分析物品的这些特征,从而学习出用户的喜好特征说兴趣。
3.通过比较上一步得到的用户兴趣和待推荐物品的特征,确定一组相关性最大的物品最为推荐列表。

 

8、neo4j图数据库
目前的图数据库产品有很多,主流的是neo4j,所以本文中的系统也选用neo4j作为图数据库的实现引擎。
neo4j最主要的特点是基于属性的图,可以支持java、python、scala等编程语言,是一款开源的nosql图数据库,其底层实现是用java和scala实现的。目前业界已经有相当多的公司或组织在使用,主要应用于网络管理、推荐系统、社交网络等领域。相比其他相关产品具有以下特性:在床架是就存储关系,避免动态的复杂查询消耗;得益于高效的节点和关系的存储,可以达到常数级别的图的深度、广度遍历;所有关系都是同等重要的和快速的,后续的根据业务模型变化进行扩展也很方便;压缩的存储和基于内存的缓存可以高效的处理上亿节点的查询和操作;运行于jvm平台之上,即可以跨平台运行。
 
关闭
15549057355 工作日:8:00-24:00
周 日:9:00-24:00
   微信扫一扫