首页 范文大全 古典文学 职场知识 中国文学 公文书信 外国名著 寓言童话 百家讲坛 散文/诗歌 美文欣赏 礼仪知识 民俗风情
  • 工作总结
  • 工作计划
  • 心得体会
  • 竞聘演讲
  • 会议发言
  • 爱国演讲
  • 就职演说
  • 开业开幕
  • 思想学习
  • 征文演讲
  • 经验材料
  • 述职报告
  • 调研报告
  • 工作汇报
  • 年终总结
  • 申报材料
  • 学习体会
  • 企划方案
  • 活动方案
  • 技巧经验
  • 模板范例
  • 思想宣传
  • 经济工作
  • 工作报告
  • 组织人事
  • 反腐倡廉
  • 慰问贺电
  • 先进事迹
  • 思想汇报
  • 入党申请书
  • 党会发言
  • 先进性教育
  • 入团申请书
  • 个人简历
  • 演讲稿
  • 调查报告
  • 实习报告
  • 和谐社会
  • 观后感
  • 读后感
  • 作文范文
  • 自我鉴定
  • 讲话稿
  • 自查报告
  • 基于推荐算法去中心化社交平台设计与实现

    时间:2021-07-09 20:06:36 来源:蒲公英阅读网 本文已影响 蒲公英阅读网手机站

    相关热词搜索:社交 算法 推荐

     北京理工大学珠海学院 2020 届本科生毕业设计

      基于推荐算法的去中心化 社交平台设计与实现

      基于推荐算法的去中心化社交平台设计与实现

     摘 摘

     要 近年来,随着信息技术的高速发展,衍生出了无数形形色色的互联网产品,其中的各种社交网络平台更是成为了人们日常生活中不可分割的一部分。大部分竞争力不强的社交平台在当今激烈的市场竞争下,逐渐退出了历史舞台。然而,很多活下来的能成为独角兽级别的传统社交平台在掌握了大量用户之后由于商业模式的需要,通过融入越来越多的广告甚至是引入明星等方式来吸收流量。这种模式往往会忽略掉许多用户的个人偏好和兴趣等。长此以往,有可能会造成用户的平台粘性下降。不过,通过引入推荐算法,可以让社交平台中的用户筛选出他们感兴趣的内容,进而提高他们在社交平台的粘度。本设计是将协同过滤推荐算法应用到全新的社交平台中,改变以流量为王的大 V 中心化社交生态模式。本设计更加偏向于注重用户的个人喜好,去除部分中心化的效果,从而提 升 用 户 的 粘 度 和 好 感 度 , 以 打 造 一 个 个 性 化 社 交 平 台 。

     本 设 计 结 合Node.js+Express+Vue.js 和 JavaScript 语言,利用 VsCode 开发平台和云端数据库MongoDB Atlas 构建开发设计实现了基于推荐算法的去中心化社交平台。

     关键词:推荐算法;协同过滤;个性化社交

     The Design and Implementation of a Decentralized Social Platform Based on Recommendation Algorithm

     Abstract In recent years, with the rapid development of information technology, numerous Internet products have been derived, and various social networking platforms have become an inseparable part of people"s daily lives. Most of the less competitive social platforms have gradually disappear from the historical arena due to today"s fierce market competition. However, many traditional social platforms that have survived to become unicorns after absorbed a large number of users, they prefer integrating more and more advertisements or even introducing celebrities to absorb more users because of the business model. This model tends to ignore the personal preferences and interests of many users. Over time, it may cause the user"s platform stickiness to decrease. Nevertheless, by introducing a recommendation algorithm, users on social platforms can screen out the contents they are interested in, thereby increasing their viscosity on social platforms.

     This design applies the collaborative filtering recommendation algorithm to a new social platform, which is changing the old model like being full of many so-called ‘the big V’ in centric social model and prefers the law of big flow. For building a personalized social platform, the design prefers to focus on the user"s personal preferences, removing some parts of the centralization effect, thereby enhancing users’ viscosity and favorability. This design combines Node.js + Express + Vue.js and JavaScript language to build, using VsCode development platform and cloud database MongoDB Atlas to implement a decentralized social platform based on recommendation algorithm. Keywords:

     recommendation algorithm; collaborative filtering; personalized social

     目 目

     录

     1 绪论 .................................................................................. 1

     1.1 协同过滤国内外发展现状 ............................................................ 1

     1.2 本设计运用的主要开发技术 .......................................................... 2

     1.3

     本文设计与研究的主要内容 .......................................................... 2

     1.4

     本设计的界面板块划分 .............................................................. 3

     1.5

     本设计解决的主要问题 .............................................................. 3

     2 协同过滤推荐算法 ...................................................................... 5

     2.1

     协同过滤的概述 .................................................................... 5

     2.2

     协同过滤的预测过程 ................................................................ 6

     2.2.1 用户数据的收集 ................................................................ 6

     2.2.2 相似用户或相似物品的发掘 ...................................................... 7

     2.3

     协同过滤的推荐过程 ................................................................ 8

     2.4

     协同过滤基于邻近方法的优势和缺陷 ................................................. 10

     2.4.1 基于邻近方法的优势 ........................................................... 10

     2.4.2 基于邻近方法的缺陷 ........................................................... 10

     2.5

     适用场景 ......................................................................... 10

     3 社交平台的搭建 ....................................................................... 11

     3.1

     服务器的搭建 ..................................................................... 11

     3.2

     数据库的创建和连接 ............................................................... 11

     3.2.1 MongoDB 云端数据库 Atlas 的简介 .............................................. 11

     3.2.2 MongoDB 云端数据库 Atlas 的创建 .............................................. 12

     3.2.3 MongoDB 云端数据库 Atlas 的连接 .............................................. 18

     3.3

     M ONGO DB 数据库的设计 ........................................................... 20

     3.3.1 MongoDB 数据库的设计方式 .................................................... 20

     3.3.2 MongoDB 数据库的模型设计 .................................................... 21

     3.4

     后端接口的搭建 ................................................................... 27

     3.5

     前端的搭建 ....................................................................... 31

     3.5.1 实现前后端连载 ............................................................... 31

     3.5.2 跨域请求的处理 ............................................................... 32

     3.5.3 Vue 前端页面的搭建 ........................................................... 32

     3.5.4 Vue 前端页面的展示 ........................................................... 36

     3.6

     协同过滤推荐算法的使用 ........................................................... 42

     3.6.1 基于用户的最近邻算法使用:

     ................................................... 42

      3.6.2 基于用户的算法使用:

     ......................................................... 43

     4 测试 ................................................................................. 44

     4.1 测试详情 ....................................................................... 44

     4.2 测试总结 ....................................................................... 48

     5 总结与改进 ........................................................................... 50

     5.1 社交平台的总结 ................................................................. 50

     5.2 社交平台的改进 ................................................................. 50

     参考文献 ............................................................................... 51

     谢

     辞 ................................................................................. 51

     附

     录 ................................................................................. 52

     1

     1 绪论 在当今互联网高速发展的背景下,越来越多的互联网公司竞相登场,而以 Twitter、Facebook、Instagram、腾讯微信、新浪微博等为代表的众多社交网络巨头在人们的日常生活中扮演着不可或缺的角色,并在很大程度上丰富了人们的网络生活。与此同时,随着互联网用户个数的飞速增长,逐渐也出现了人们接触到的信息也在飞速增长甚至病毒式的快速传播现象,于是各大社交平台渐渐都出现了“信息过载”的问题,让人们慢慢迷失在海量的互联网信息中,无法准确、迅速地获取自己最想了解的信息。而目前解决该问题的主要方式有两种,一种是以 Google、百度等搜索引擎为代表的信息检索技术;另一种则是通过应用推荐算法来过滤出有效信息,而协同过滤算法则是其中最流行的推荐算法之一。

     本设计以 MEVN 架构(MongoDB+Express+Vue+NodeJS)为基础搭建社交网络平台,并通过融入协同过滤算法,从用户在平台中一些历史行为以及操作的数据出发,过滤筛选出用户真正的需求和兴趣,然后为用户推送信息其喜欢或可能喜欢的内容,节省了用户自己去发掘所需内容的时间成本,从而提升用户在社交平台上的体验感。

     1.1 协同过滤国内外发展现状 协同过滤的早期应用可以追溯到 1992 年,当时在 Xerox 工作的员工每天都许许多多的电子邮件要审阅,因为数量庞大而且无法很好地对这些电子邮件进行筛选并分类。后来为了解决这个问题,他们推出了 Tapestry 邮件系统,该系统可以根据员工的审阅邮件的习惯,并把审阅行为记录下来并进行分析,然后就可以对新接收到的邮件进行排序,进而解决了员工们在审阅邮件时遇到的信息过载问题。

     到了 1994 年,一个名为 GroupsLens 的新闻筛选系统横空出世。其主要的用途是在读者阅读新闻后,会记录下读者对已经阅读的新闻的评分,然后会根据这些对新闻的评分进行分析,如果在未来分析出相关的读者可能会感兴趣的一些文章,系统就会将这些文章推荐给读者,这很好地考虑到了读者的阅读兴趣相关性的问题 [1] 。

     而最近这些年来,电子商务都在以难以想象的速度在世界范围快速发展和迭代。国内外许多大型电商网站都淘汰了很多老旧的技术,转而投入了更多的成本去研发更优秀更强大的推荐系统。

     在国外,Amazon 作为当今互联网的科技巨头之一,它的推荐系统可以说在各大电子商务平台中是非常强大的。如它旗下的网络书店,顾客在下单购买了一本自己喜欢的书籍后,就会提示顾客并显示出其他的和该顾客买同一本书的人的书单。这在很大程度上结合了顾客的兴趣,并利用其他相似兴趣的顾客的数据加以分析和整合,然后为顾客推

     2 送其他的他们可能也感兴趣的书单 [2] 。

     相对而言,国内推荐系统的发展起步虽然比较晚,不过随着国内各大电子商务平台对推荐系统越来越重视,该项技术在国内互联网也得到了长足的发展和应用。如:以电影推荐和评分著称的豆瓣网,提供人们线上购物生活的电商平台淘宝网、京东,百度的基于 LBS 的地图应用,甚至是和人们一日三餐形影不离的外卖平台美团外卖和饿了么等等。可以说,推荐系统在中国互联网土壤的培育下,逐渐遍地开花,也受到了越来越多 IT 公司的青睐。推荐系统为用户提供了个性化的体验,也为不少平台带来了很多用户体验上的优势,而与该技术相关的算法在未来也会得到更多的发展和运用。

     1.2 本设计运用的主要开发技术 (1) JavaScript JavaScript 又被简称为 JS,它是一种面向对象的脚本语言。本设计中主要用于服务器的搭建、后台各接口的编写,以及结合 HTML 和 CSS 搭建前端的页面,实现一些页面中的动态效果等。由于它具有非常强大的跨平台性,目前大部分的网站开发都会运用都 JavaScript,而且绝大多数的主流浏览器都会支持它的运行,所以它也成为了很多网站开发者开发网站时的首要选项 [3] 。

     (2) Node.js Node.js 是一个运行 JavaScript 的 web 服务端的平台,为 JavaScript 提供了 V8引擎运行环境,极大的提高了基于 JS 等脚本语言编写的代码的运行速度。而且它拥有强大的非阻塞 IO 和“事件轮播(event loop)”框架,非常有利于实现高并发操作。在本设计中主要用于平台服务器端的搭建,以及一些后台接口的实现 [4] 。

     (3) Visual Studio Code Visual Studio Code又被简称为VS Code,它是一款由微软公司提供的非常强大的跨平台编译工具。由于它的轻量级和免费开源的特性,以及支持几乎所有的主流开发语言,还为开发者提供了大量功能强大的扩展插件,可扩展性非常高,...

    • 范文大全
    • 职场知识
    • 精美散文
    • 名著
    • 讲坛
    • 诗歌
    • 礼仪知识