基于图数据库电影系统设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于图数据库电影系统设计

基于图数据库电影系统设计   摘要摘要:随着互联网的快速发展,信息过载现象越来越严重,当通过搜索引擎输入的内容关键词较模糊时,很难找到真正需要的信息。为了解决信息过载导致难以查询的问题,将图数据库应用于电影推荐系统,采用图数据库进行存储,通过余弦相似度和KNN算法找到适合的电影。   关键词关键词:图数据库;电影推荐;余弦相似度;KNN算法   DOIDOI:10.11907/rjdk.1511121   中图分类号:TP392   文献标识码:A文章编号文章编号2016)001014403   0引言   在淘宝购物时,当点击一件商品后,会在网页上出现很多同类商品的图片,还会附加“看过该件商品的人还看过些什么”,这是一种很有效的营销方式。这样的推荐方式也可以用到其它地方,比如美国超市里奶粉和啤酒的搭配,看似毫无关系的两件商品能被有效搭配,究其原因就是相似度。因为在美国,买奶粉的基本是奶爸,美国男性喜欢喝啤酒,这种相似度使得这两种搭配给商家带来了商机。当需要将某些数据与另一些数据建立关系时,首先需要存储这些数据,然后建立数据关系,在关系数据库中,用外键将不同的表格联系到一起,当关系较多时,数据库会越来越大、越来越复杂,当对某个关系进行操作时,就会出现很多问题,所以不能完全依赖于关系型数据库,可以把目标转向NoSQL。   1NoSQL   在信息技术高速发展的今天,数据被赋予了更大的价值。面对庞大的数据,首先考虑的是如何存储,其次才是如何挖掘、如何分析,最后得到需求价值。对于数据存储,选择一个好用的数据库是关键。传统的关系型数据库伸缩性不强,不能有效处理阻抗失谐带来的问题。NoSQL的出现并没有取代传统的关系型数据库,只是采用了一种非关系型的方式来解决数据的存储和计算问题。[1]   NoSQL是一项全新的数据库革命性运动,其核心是运用非关系型的数据存储。需要注意的是NoSQL不是NO SQL,而是Not Only SQL,意思是“不仅仅是SQL”。两者显著的不同点是NoSQL不使用SQL作为查询语言。目前,NoSQL数据库有很多,如Cassandra、MongooDB、Neo4J和Riak等。   2图数据库   作为一种通用的数据结构,图可以用来表示数据对象之间的各种复杂关系[2]。图数据库用图来存储数据,是最接近高性能的一种用于存储数据的数据结构方式之一[3] 。   图数据库可存放实体及实体间的关系,实体用节点来表示,实体间的关系用边来表示,众多的节点和众多的边可连接成图。常见的图数据库有Neo4J、Infinite Graph、OrientDB、FlockDB等,比较常用的图数据库是Neo4J。   2.1Neo4J   Neo4J是一个可扩展的和高性能的数据库,适用于企业部署,具有以下特性:   (1)真正的ACID事务,Neo4J在修改节点或向现有节点新增关系前,需要先启动事务。   (2)高可用性。   (3)可以扩展到数十亿的节点和关系。   (4)通过遍历高速查询,可以从指定的起始节点开始,以任意的深度来遍历图。   (5)使用声明查询语言,使用Cypher查询语言来查询图,还可以按照节点属性值查询图、遍历图或通过“语言绑定”浏览节点关系[4]。   2.2余弦相似度(Cosine Similarity)算法   在使用图数据库设计电影推荐系统时,首先应了解两种算法,余弦相似度(Cosine Similarity)算法和KNN(k-Nearest Neighbors)算法。余弦相似度又叫余弦距离,使用向量空间中两个向量夹角的余弦值来衡量两个个体之间的差异大小。如果两个向量方向一致,即夹角接近零,表示这两个个体非常相似;夹角越大,表示这两个个体之间差异越大。   余弦相似度计算如公式(1)所示:   sim(X,Y)=cosθ=b2+c2-a22bc=?(1)   等价于公式(2):   cosθ=A?BAB=∑ni=1Ai×Bi∑ni=1(Ai)2×∑ni=1(Bi)2(2)   通过余弦相似度计算,可得出一个[-1,1]的值,当值为-1时,A和B为负的完全相似;当值为1时,A与B完全相似;当余弦值为0,则表示A与B基本没有相似点。   2.3KNN(kNearest Neighbors)算法   KNN (k-Nearest Neighbors)算法,也称最近邻居算法,是机器学习中的经典算法。K表示最接近个体的K个数据样本。KNN算法和K-Means算法不同,K-Means算法用来聚类,判断哪些是比较相近的类型,而KNN算法是用来归类,将一个样本空间中的样本分成几个类型,然后给定一个待分类的数据,通过计算离个体最近的K个样本来

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档