python基于协同过滤的游戏推荐系统

395 篇文章 17 订阅
395 篇文章 17 订阅

摘  要

随着世界经济信息化、全球网络化的到来推动信息线上管理的飞速发展,为游戏推荐的管理起到关件作用。若想达到安全,快捷的目的,就需要拥有信息化的组织和管理模式,建立一套合理、畅通、高效的游戏推荐系统,通过此网站爬虫技术获取数据。当前的银行用户行为管理存在工作效率低下,人员和资源调配不充分的问题,基于协同过滤算法的游戏推荐系统目前还没有完善的系统机制。

在此基础上运用新技术,构建了以 Django为基础的游戏推荐管理体系。首先,以需求为依据,对目前传统的管理进行了较为详尽的了解和分析。根据需求分析结果进行了系统的设计,网站主要功能包括对个人中心、用户管理、游戏信息管理、系统管理等进行管理。使用目前市场主流的技术 Django框架构建,使用Python开发语言和MySQL数据库对系统进行高内聚低耦合的设计,最终完成了游戏推荐系统的实现。

      本系统为当前管理提供了一个高效、便捷、信息化的解决方案、有效管控了获取游戏推荐数据的各个环节,这为后期系统的优化提供了新的方向。

关键词:游戏推荐;Django架构;MySQL数据库

Abstract

With the advent of the world economy informatization, global networking to promote the rapid development of online information management, for the game recommendation management plays a key role. In order to achieve the purpose of safety and speed, it is necessary to have an informationized organization and management mode, establish a reasonable, smooth and efficient game recommendation system, and obtain data through this website crawler technology. The current user behavior management of banks has problems such as low efficiency and insufficient allocation of personnel and resources. The game recommendation system based on collaborative filtering algorithm has no perfect system mechanism at present.

On this basis, using the new technology, we construct the game recommendation management system based on Django. First of all, based on the demand, the current traditional management is more detailed understanding and analysis. According to the results of demand analysis, the system is designed. The main functions of the website include the management of personal center, user management, game information management, system management and so on. Using the current market mainstream technology Django framework, using Python development language and MySQL database to design the system of high cohesion and low coupling, and finally completed the implementation of the game recommendation system.

This system provides an efficient, convenient and information-based solution for the current management, effectively controls each link of the acquisition of game recommendation data, which provides a new direction for the later optimization of the system.

Key words: game recommendation; Django architecture; MySQL database

  录

1绪  论... 1

1.1研究背景... 1

1.2课题研究的意义... 1

1.3研究现状... 2

1.4研究内容和方法... 3

1.4.1研究内容... 3

1.4.2研究方法... 3

1.5论文组织结构... 3

2开发环境... 5

2.1 Python语言... 5

2.2 Django框架... 5

2.3协同过滤算法介绍... 5

2.4 Scrapy介绍... 6

2.5 MySQL数据库... 6

3系统分析... 7

3.1 系统可行性分析... 7

3.1.1 技术可行性... 7

3.1.2 操作可行性... 7

3.1.3 经济可行性... 7

3.1.4 法律可行性... 7

3.2 系统用例分析... 8

3.3系统流程分析... 8

3.3.1 系统开发流程... 8

3.3.2 用户登录流程... 9

3.3.3 系统操作流程... 10

3.3.4 添加信息流程... 11

3.3.5 修改信息流程... 11

3.3.6 删除信息流程... 12

4 系统设计... 13

4.1 系统概述... 13

4.2 系统结构设计... 13

4.3 数据库设计... 14

4.3.1 数据库设计原则... 14

4.3.2 数据库实体... 14

4.3.3 数据库表设计... 16

5界面设计与功能实现... 19

5.1系统功能实现... 19

5.2管理员模块实现... 20

6系统测试... 24

6.1系统测试的方法... 24

6.2测试用例... 24

6.3测试分析... 25

结  论... 26

参考文献... 27

致  谢... 28

1绪  论

1.1研究背景

目前是把获取游戏推荐的各个环节整合的一体化的综合线上管理模式。在规定的时间内以合理有效地安排并进行保存。

随着计算机技术和网络技术的不断发展,线上管理成为一种新兴的管理方式。在这种情况之下,更为高质量的游戏推荐能够获得银行的青睐,为自身进一步开拓市场奠定良好的基础。

信息的传递在游戏推荐管理中是一个十分关键的环节。及时、准确的信息传输可以及时发现、处理和解决问题。同时,对市场的要求做出迅速的反应,及时地发现并解决问题,使游戏推荐信息达到一个良性的循环。同时利用现代的信息技术和网络通讯技术,来构建一个信息化、协同化管理的游戏推荐系统。

传统的游戏推荐管理必须进行信息化改造,这是一个不可避免的过程。这样既可以使企业内部资源得到合理的配置,又可以通过信息化管理平台,对游戏推荐所涉及的所有业务进行全面的跟踪和后续的过程控制。通过这个平台,系统用户可以共享每个环节和相关资源。因此,研究和开发一个基于Django架构的信息化、一体化的游戏推荐系统具有重要的意义。

1.2课题研究的意义

综合了多种技术,对游戏推荐系统的多个流程了实现整合。管理的范围从简单的存储、方便使用为需求提供高品质、定制化管理方案,实现系统化管理。游戏推荐系统能够帮助用户优化内部办理流程,规范用户办理流程,提高办理效率。

一、现代游戏推荐系统应用的意义如下: 

  1. 有利于节约管理的成本,高效利用资源。信息对现实的发展尤为重要,信息化水平的高低直接反映了其发展速度和规模。当游戏推荐管理过程得到信息化技术的支持,就能够对管理成本的因素进行分析计算,最终得到最优解,从而使效益达到最大。
  2. 有利于提高管理的品质。信息化的游戏推荐系统是由多个分布式子系统组成的,各分布式子系统既可以完全独立运作,又有一定的联系。只有提高的各环节、各子系统的信息化水平,才能提高整个游戏推荐系统的运行效率。
  3. 有利于提升服务质量和用户体验 。使用网络化智能分析技术后,可以实时的获取游戏推荐信息或用户需求等数据,对海量的数据进行过滤和分析,就能得到有价值的信息。这样,用户之间可以有更好的交互,同时,在一定条件下,可以实现部分数据的共享,从而提升服务质量和用户体验。
  • 现代游戏推荐系统本身的意义:在现代信息技术的飞速发展下,先进的管理理念已经在一定程度上改变了传统的管理方式。由于现代信息技术的运用,使得原来的各个环节得到了有效的整合,管理与服务得到了快速的发展。利用计算机、网络、 GPS、和GIS技术,可以拥有信息化和高效的管理系统。现代要想达到全面的网络化、提高服务品质、降低成本,就必然需要信息化技术的加持。

有大数据分析技术加持的系统可以对用户和市场需求进行海量数据收集,然后过滤出有用的信息,对这些信息进行分析整合,最终得出结论用以辅助决策层做出正确并具有前瞻性的战略规划。

1.3研究现状

  • 国内研究现状及趋势:

我国相比国外一些发达国家而言起步较晚。像美国、欧洲等国目前在该领域已经取得一定的成就,基本上建立起了不同层次的管理体系。

目前国内对降低成本,优化内部管理有强烈的愿望和要求。但国内信息化水平还比较低,在传统行业中,部分企业,尤其是小微企业,让在日常的工作中使用纸质的材料进行记录。使用纸质文件的缺点有:

1、保存困难,易于丢失。纸质的材料经过长时间的存储或频繁的转移、翻阅,非常容易造成字迹变得模糊、材料发生意外破损或者丢失。

2、查询分析不方便。企业每季度或者年度都需要进行资料数据的整理、分析和总结,纸质的材料查询和分析都非常的耗时费力,而利用网络信息技术,可以很好的解决这些问题。

3、对环境不友好,使用纸质文件不环保,产生的废弃纸张很多时候得不到及时的回收再利用,大大的浪费了自然资源。

4、这些年我国经济和科技蓬勃发展,诞生了很多新兴的产业,很多企业的经营模式向信息化和网络化方向发展,这给传统行业带来了巨大的冲击,也推动了我国现代管理系统进入快速发展的新阶段。

近几年,大数据、云计算、物联网和互联网等先进技术有了新的突破和发展,这些技术大量应用于各行各业,帮助企业完成信息化和智能化转型升级,如新零售、电子商务等,这些新兴行业的高速发展极大的推动传统行业的升级。目前,我国利用先进的信息技术,整合各个环节,在各行业之间实现信息和资源共享的“互联网+游戏推荐”模式已经逐渐成熟,它既能降低管理成本,也能提高效率。

虽然我们国家的游戏推荐管理经过多年的发展取得了巨大的进步,但在管理体制、信息化管理、成本控制等方面与发达国家相比仍然存在一定差距。但我们也应当看到在该领域美好的发展前景。

  • 国外现状与发展趋势

由于现代科学技术的快速发展,信息技术、网络技术在游戏推荐领域得到了广泛的应用。在西方很多国家,很早之前就已经有了非常成熟的线上管理理论并逐渐形成完整的、权威的管理体系,大量的将理论广泛地应用在实际业务中,不仅提高了工作效益,而且推动了社会的发展和进步。美国与日本在同行业已处于全球领先地位。而欧洲虽然起步较晚,但是由于各国政府和相关企业的大力支持和关注,同时吸收先进的实践经验,最终得到快速发展。

该智能系统能有效地减少错误的发生,大大提高服务品质和减少游戏推荐管理的成本。

1.4研究内容和方法

1.4.1研究内容

本课题主要研究如何用信息化技术改善传统管理模式,简化管理的难度,根据管理实际业务需求,调研、分析和编写系统需求文档,设计编写符合企业需要的系统说明书,绘制数据库结构模型,完成系统功能模块开发。本系统的功能包括以下几点:

一、个人中心,管理员可以对自己的个人信息和密码进行修改,

二、游戏信息管理:管理员利用爬虫进行数据对接爬取同类信息数据进行可视化管理,对游戏信息进行修改或删除。

三、系统管理:管理员可以在此模块对系统简介、轮播图管理和游戏资讯进行详细操作;

1.4.2研究方法

本文所采用的研究方法有:

  1. 调查法。通过市场调研、网络小程序和线下问卷调查等方式进行准确和全面的材料信息搜集工作,并对材料进行分析。
  2. 类比法。了解国外和国内线上管理系统的现状,吸取和借鉴先进线上管理理论经验,并在系统设计中进行适当的应用。
  3. 理论和实践结合法。在开发技术、开发环境和数据库技术等方面,通过对系统用户的需求进行分析,最终确定出最优的解决方案。
  4. UML建模法。对系统进行分析、建模和实际运行调试,使系统功能得以实现。

1.5论文组织结构

  1. 绪论,介绍了课题的研究背景、本论文的研究意义和目标等。
  2. 开发环境,介绍了与本系统实现相关的技术和工具,包括常用的Django框架、Scrapy和MySQL数据库等。
  3. 系统分析,主要是系统流程设计和系统用例设计及法律、经济等可行性分析。
  4. 系统设计,依照系统设计规范,绘制各个模块的流程图和用例图等。
  5. 界面设计与功能实现,主要是展示系统具体功能和系统界面开发结果。
  6. 系统测试,对完成的系统功能进行白盒和黑盒测试,编写并列举了相关测试用例表。

2开发环境

2.1 Python语言

Python是由荷兰数学和计算机研究学会的吉多·范罗苏姆于20世纪90年代设计的一款高级语言。Python优雅的语法和动态类型,以及解释型语言的本质,使它成为许多领域脚本编写和快速开发应用的首选语言。Python相比与其他高级语言,开发代码量较小,代码风格简洁优雅,拥有丰富的第三方库。Python的代码风格导致其可读性好,便于维护人员阅读维护,程序更加健壮。Python能够轻松地调用其他语言编写的模块,因此也被成为“胶水语言”。

Python的应用场合非常广泛,在科研领域中,可以用Python训练人工智能模型,也可以对实验数据进行数据分析。在生活中,Python提供了很多优秀的、开源的Web开发框架,例如Django、Flask、Pyramid、Tornado等。知乎、豆瓣网、Youtube等知名应用都是由Python为基础进行开发的。相比于其他框架,Django有着更加丰富的插件,作为企业级框架也很好上手,适合本次开发。此次系统是开发一个Web应用,采用Django框架,将在下一节进行具体介绍。本次开发选用的是Python3.6.4版本。

2.2 Django框架

Django被官方称之为“完美主义者框架”,只需要很少的代码就能更快的完成一个优秀的Web应用。Django采用了MTV框架模式,此模式根据MVC进行改进形成了更适于Django的设计模式。M为模型(Model)、T为模板(Template)、V为视图(View)。Django对象关系映射(ORM,Object-Relation-Mapping):ORM的方法论有着三个核心原则:

  • 简单:以最基本的形式构建数据。
  • 传达性:数据库结构被任何人都能理解的语言文档化。
  • 精确性:基于数据模型创建正确标准化的结构。

用于Python之中即是以Python类形式定义数据模型,类中的每一个属性对应着数据库中的一列。引入ORM后,无需编写原生SQL语句,使用基于面向对象的思想去编写类、对象、调用方法等,ORM会将其映射成SQL语句通过pymysql执行。

2.3协同过滤算法介绍

协同过滤算法(Collaborative Filtering) 是比较经典常用的推荐算法,它是一种完全依赖用户和物品之间行为关系的推荐算法。我们从它的名字“协同过滤”中,也可以窥探到它背后的原理,就是 “协同大家的反馈、评价和意见,一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。

2.4 Scrapy介绍

Scrapy是一个抓取网站数据和提取结构化数据的框架,它可以应用在广泛的应用中:Scrapy通常用于一系列应用,包括数据挖掘、信息处理或存储历史数据。使用Scrapy框架实现一个爬虫程序通常非常简单,抓取给定网站的内容或图像。

虽然Scrapy是为屏幕抓取(或者更准确地说是网页抓取)而设计的,但它也可以用于访问api以提取数据。

2.5 MySQL数据库

MySQL是一种关系型数据库,它以表文件的形式在磁盘中进行存储,主要作用就是以表结构的方式存储数据信息,并且MySQL数据库提供对数据的管理功能,如数据备份,表关联等。

MySQL的存储引擎有:

  1. MyISAM:节约空间,速度较快,但没有事务处理的机制。

InnoDB:安全性高,支持事务的处理,多表多用户操作,支持行级锁,是MySQL 5.5及以后版本的默认数据库引擎。

 

3系统分析

所谓系统分析,就是将自己对某一系统的构思以书面形式体现出来,并以此为基础,进行后续的软件设计和开发。在软件开发初期,人们对系统分析还不够重视,导致最终系统验收时,需要进行较大修改,这会耗费大量的人力和物力。造成这种现象的原因,是由于对用户或市场实际需求没有进行充分调研和详细的分析。这也是为什么近年来,关于系统分析的研究受到了越来越多的关注。

3.1 系统可行性分析

游戏推荐系统主要目标是实现完成门票信息的数据获取的信息化。在进行系统的设计和实现前,需要先对该系统进行相关的可行性分析,如从法律、操作等方面判断系统在现有条件下是不是能够真正实现的。

3.1.1 技术可行性

本系统在技术层面使用Python开发技术,后台管理系统使用Django框架,Scrapy等,数据库选用MySQL来开发完成本游戏推荐系统数据信息爬取。作为计算机专业的学生,在大学开设的相关专业课程中都包含了这些技术,所以在系统开发技术及应用上都没有太大困难,因此系统开发在技术层面是完全可行的。

3.1.2 操作可行性

   游戏推荐系统旨在为用户提供一个简单方便快捷的管理过程。系统的界面简洁,操作方便,即使是不具备很强的网络技术知识的用户也可以轻松使用。在管理员管理模块中,各项内容的管理操作界面也都简洁易懂的,实际操作也十分的简单,能满足基本的需要。因此该系统具有可操作性。

3.1.3 经济可行性

本项目所有功能的开发都是由本人独立完成,而且开发中使用的所有技术及工具也都开源的,易于学习和掌握的,所有省去了请专家开发指导的大笔费用,本系统的开发对计算机的软硬件的要求较低,因此这个系统在经济方面是完全可行的。

3.1.4 法律可行性

本系统属于自己设计的管理系统,因为这个系统在数据管理方面以及软件方面都是应用自己开发的开源代码,不存在模仿或盗用其他人的软件问题,是非常合法的。

从上面给大家讲解的过程不难看出,游戏推荐系统是一个全面优质的系统,我们开发的这个程序也是存在合法和必然性的,而且在技术方面也是过硬的,还节约了成本,难度不大,很适合用户进行操作。

3.2 系统用例分析

游戏推荐系统综合网络空间开发设计要求。目的是将传统管理方式转换为在网上管理,完成游戏推荐管理的方便快捷、安全性高、交易规范做了保障,目标明确。游戏推荐系统可以将功能划分为管理员功能和用户功能。

(1)、管理员关键功能包含系统首页、个人中心、用户管理、游戏信息管理、系统管理等进行管理。管理员用例如下:

图3-1 管理员用例图

(2)、用户注册登录进入系统可以对首页、游戏信息、游戏资讯、个人中心等功能进行操作。用户用例如下:

图3-2 用户用例图

3.3系统流程分析

3.3.1 系统开发流程

游戏推荐系统的设计和开发,首先要对用户的实际使用需求和具体情况进行细致的分析,分析出系统要完成的全部功能,然后再针对整个系统的工作流程和功能进行设计,力求每个模块都能够达到用户的要求,最后通过测试来解决问题,保证系统的稳定和正常的运转,本系统的开发流程如图3-3所示。

图3-3系统开发流程图

3.3.2 用户登录流程

登录流程实现了管理员和其他用户的登录,在登录页面需要用户填写自己的信息,前端页面会将信息传递给后端接口,然后查询数据库确定该身份有效后登录成功,否则此用户登录失败,需要重新填写信息,进行再次验证,如图3-4所示。

图3-4登录流程图

3.3.3 系统操作流程

系统操作流程分析是软件开发过程中的一个关键环节,它是整个系统整体的运行过程,必须保证其中的每一个步骤都是确定的,这样一个规范的流程图可以使开发者易于理解,快速的投入到接口开发中,从而提升系统开发效率。

同时,流程图还能减少开发者对系统操作流程产生歧义和降低沟通的成本,系统操作流程如图3-5所示。

图3-5系统操作流程图

3.3.4 添加信息流程

系统的正常运行离不开数据的支撑,因此,在本系统中添加了数据插入功能,数据库中数据的缺失,会直接影响到数据的查询结果,查询结果错误又会导致逻辑处理出现偏差,最终导致系统性错误或故障,所以在对系统进行数据添加操作时,必须要对数据进行合法性校验,确定此条数据是否有惟一的主关键字和字段是否允许为空等等,若数据库表中不允许某字段为空,而程序没有进行该字段非空逻辑校验,那么就会出现数据存储失败,可能因此造成严重系统后果。添加信息流程如图3-6所示。

图3-6添加信息流程图

3.3.5 修改信息流程

因为使系统的使用者是人,所以难免会有疏忽,从而造成系统输入的信息有误。或者由于其他原因导致数据发生改变,使得必须对系统内的数据进行相应的调整,所以在程序运行中,数据的修改操作是不可缺少的重要环节。

在进行数据更新时,必须要有一个惟一的主关键字,以便数据库能够查询到相应的数据;另外,还必须遵守数据插入过程的操作规范,以确保数据的正确性。修改信息流程图如图3-7所示。

图3-7修改信息流程图

3.3.6 删除信息流程

删除操作在系统中并非是必须的,可根据用户及系统的需要来决定是否添加删除功能,删除操作就是使用delete语句将数据库中的某一匹配数据删除,因为此操作会导致用户数据丢失,所以为了避免使用者误按删除键,应在用户点击删除按钮时添加一个提示确认弹窗,当用户确定要删除时,再进行数据库的操作,并且在删除操作完成后要对用户进行反馈。删除信息流程图如图3-8所示。

图3-8 删除信息流程图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值