基于知识图谱的个性化学习推荐系统的设计与实现_kaic

2023-11-10

摘 要
Abstract
1 绪 论
1.1 研究背景及意义
1.2 国内外现状研究
1.3 研究工作和论文结构
2 相关技术
2.1 HTML 语言
2.2 Python 语言
2.3 数据库技术
2.4 Django 框架
3 系统分析
3.1 需求概述
3.2 系统可行性分析
3.2.1 技术可行性
3.2.2 经济可行性
3.2.3 操作可行性
3.3 功能需求分析
3.4 非功能需求分析
4 系统设计
4.1 系统功能设计
4.1.1 用户模块设计
4.1.2 用户行为采集模块设计
4.1.3 个性化推荐模块设计
4.1.4 后台管理模块设计
4.2 数据库设计
4.2.1 数据库概念设计
4.2.2 数据表设计
5 系统实现
5.1 系统开发环境
5.2 用户模块实现
5.3 用户行为采集模块实现
5.4 个性化推荐模块实现
5.5 后台管理模块实现
6 系统测试
6.1 系统测试环境
6.2 用户模块测试
6.3 用户行为采集模块测试
6.4 个性化推荐模块测试
6.5 后台管理模块测试
7 总结与展望
参考文献
致 谢

摘 要
近年来,数字化学习在带来便利的同时,也带来了信息超载、形式过于多样化的问题,使检索变得困难。个性化学习推荐系统是解决问题的关键,适合于用户多样化和需求多样化的情况。该系统的设计使用MySQL作为后台数据库,HTML技术实现系统前端页面的设计,使用Python作为后台技术,使用Django框架,完成整个系统的界面显示和数据交互。实现系统所需要的四个主要功能模块有用户模块,用户行为采集模块,个性化推荐模块,后台管理模块。有了这个系统,用户可以用最少的时间和精力,准确地找到所需的资料,从而最大程度地提高效率。

关键词:推荐系统;个性化学习;Django;知识图谱


 
Design and implementation of personalized learning recommendation system based on Web

Abstract
In recent years, digital learning not only brings convenience, but also brings problems of information overload and diversified forms, making retrieval difficult. Personalized learning recommendation system is the key to solving the problem and is suitable for diversified users and demands. The design of the system uses MySQL as the background database, HTML technology to achieve the design of the front page of the system, using Python as the background technology, using Django framework to complete the interface display and data interaction of the whole system. The four main functional modules are the user module, user behavior collection module, personalized recommendation module and background management module. With this system, users can use the least time and energy, accurately find the information they need, thus maximizing efficiency.
Key words: Recommendation system; Personalized learning; Django

 
1 绪 论
1.1 研究背景及意义
二十一世纪是信息时代,网络时代和以信息化为基础的知识经济为主宰的新时代,一个国家的综合国力与整体社会状况,都取决于教育水平和科技的共同发展。而现在的教育科技统治,使得传统的教学方法已经不再完全满足社会上对高等教育人才的需求,而现代远程教育则展示出了巨大的个人成长能力。现代远程教育体系的诞生将对拥有革命性活力与强大创造力的中国传统教育教学方式及其在新兴市场发展中产生巨大的冲击[1]。
现代远程学习使用户从地理位置的限制中解放出来,人们可以在任何时间、任何地点自由地进行双向互动,彼此沟通优秀的学习资源,为用户提供新的学习空间和时间,需要显著增加用户的流动性和用户学习参与度,提高用户的知识、能力和素质。现代远程学习教育促进了学习的普及和目标化,为提高社会整体素质提供了更广阔的舞台,是发展持续一生学习的重要工具[2]。该课题的研究能够更加有效的应对“信息过载”给用户带来的不便。让用户能够更加高效的和便捷的获取自身感兴趣的学习资源。
1.2 国内外现状研究
现阶段,我国教育界对互联网经历的群体心理、教学组织形式和教学组织形式开展了合理的研究分析,获得了相应的近况。适用特色化学习的网络学习平台规划已成为了当下的受欢迎信息科学研究领域,但绝大多数仍处在试验研究分析环节,暂未获得普遍使用。某些学习的网站在相应水平上是特色化的,但在大部分方面仍旧存在着某些欠缺。因此,很多互联网平台都忽略了学习者的个性特征测定[3]。在国外,比较适合于特色化教学的互联网教育系统有由俄国圣彼得堡高新技术高校计算机科学院校智能计算机技术系与人工智能技术实验室共同研发的远程智慧导师系统。某些教学系统将内容划分为较小的模块,利于小步学习。但毋庸讳言,在另一方面,学习体系却几乎完全不关心学习者的自学力量、学习、与学习者群体的互动交流、学习流程等。在教学中,学习者往往难以牢牢掌握自己的学习状态,更难根据互联网开展特色化学习[4]。
1.3 研究工作和论文结构
首先,本系统针对不同用户的不同需要,推送适合的学习资源。同时能为使用者创造一个更方便认识自身不足并加以弥补的平台,提高使用者学习能力。系统大体上包括以下四个模块。第一,用户模块:对于个人用户,新用户需要在先完成注册之后进行登录,再注册过后才能进一步对自身的个人信息加以完善;第二,用户行为采集模块:个人用户可对自身浏览过的学习资料进行打分评价,以及收藏或删除收藏资料等操作;第三,个性化推荐模块:在用户的注册进入主页之后,能够查看系统按照该用户的兴趣爱好所推送得出的学习资料;第四,后台管理模块,使管理员能够管理用户个人信息、管理用户行为信息、管理学习资源信息等。
本文以全网已开放的学习资源为基础数据库,从建立系统时采用的关键技术、系统可能性分析、系统功能性和非功能性分析和系统的设计详情、系统的实现情况以及测试情况进行描述,总共有七章内容:
第一章绪论。从课题的研发背景入手,根据个性化学习推荐系统的国内状况及其态势阐述研发问题,最后阐述课题重点研究什么。
第二章相关技术。首先对个性化推荐系统进行了简单的说明,然后阐述了实现个性化推荐系统所使用的框架及其应用的有关技术。
第三章系统分析。先对系统可行性分析,而后又对功能需求进行描述。
第四章系统设计。首先介绍了系统的总体设计流程,展示了整个系统数据库的概念架构设计的E-R图,最后使用数据表对实体进行详细设计。
第五章系统实现。描述开发环境,又详尽说明用户模块、用户行为采集模块、个性化推荐模块、后台管理模块四大功能模块的实现。
第六章系统测试。描述测试环境,对用户模块、用户行为采集模块、个性化推荐模块、后台管理模块四大功能模块的详细测试,测量结果和期望效果一致。
第七章总结与展望。总结系统在进行本课题研究时,前期所进行的工作及其有关技术手段,并说明在系统下进一步研究可以扩展的方向及其进行方式。
 
2 相关技术
2.1 HTML 语言
HTML全称超文本标记语言,但在20世纪90年代,它创造了国内网页行业的一片繁华。但是HTML本来就是不属于一门编程语言的,从名字我们能够知道,它是一门标记编程语言。首先由于它能够加入图像、音频等超出文字限制的信息,同时HTML能够添加相应内容以此来在不同网页间实现切换,所以称为超文本,再由于它使用的是一个个标记来描述不同页面,所以叫做标记编程语言[5]。 
2.2 Python 语言
Python是一个简明易懂、很容易掌握的编程语言,就算是完全没有了解过编程语言的人,也可以很轻松掌握Python的基本编程语法构造[6],而且由于它不像一般C编程语言里的指针、结构体等基本构造那样繁琐,所以稍微有一些程序设计基础知识的人仅需要二三天的时间就可以迅速上手并应用于Python。
2.3 数据库技术
MySQL是一种对外免费开放的关系式数据库,从大数据范围上来说MySQL属于中小型数据库管理,与其他大小的信息库管理如Oracle等一样,虽然它在功能方面还是有一定差异,不过由于它一直深受广大开发人员的喜爱,因此也拥有很多好处[7]。首先MySQL是一种真实的多客户、多线程的信息库管理服务器,它可以迅速、高效地和安全的保存和管理大量的信息。其次,MySQL能够跨越多种操作系统平台的运行环境,给广大开发者提供了便利。最后就是MySQL能够保证数据的安全,对权限和信息的保存也十分安全,并且能够较好的保存了部分敏感信息,而不至于泄露[8]。
2.4 Django 框架
Django是一种以Python语言创建的开放的网页开发技术框架,可以协助开发者更快速、更简单地发布网页站点。Django框架里面提供了多个Web的基本组件,并且还整合了一些轻量级的Web服务器,具备强大的扩展,Python的Django是快速发布、建设、部署网站的良好组合[9]。
 
3 系统分析
3.1 需求概述
在开发的过程中,最重要的是对整体进行需求分析,因为只有做好需要分析才可以更加快速建立系统。在整个流程中也就需要持续地和系统应用者进行有效沟通,从而确保需求和结果一致。在整个过程中,我们需要清楚实现的系统一般都有哪些功能,以及完成的流程和需要处理哪些问题。只有确保系统在整个开发过程中的效率都达到相应速度,才有机会快速的完成高质量的实现系统,从而,在准备完成系统之前进行全面的技术调研就尤为重要[10]。
3.2 系统可行性分析
3.2.1 技术可行性
从技术角度分析,本系统在进行研究时,通过分析不同的功能并选用不同的推荐算法。利用Python语句实现编程,在后端应用Django构架,利用MySQL数据库。在前端页面应用HTML技术,都可以很有效的完成系统的开发。综上所述,本系统在技术开发方面还是很可以的[11]。
3.2.2 经济可行性
经济可行性分析重点是对项目的经济性做出评估,因为本文所研究开发的软件系统拥有用户使用更简便、用户界面设计更直观、分配权限更科学合理等诸多优势,系统所需要的其他软件资源也均为免费的[12]。该信息系统可以降低人工成本,节约资金投入,同时也能够极大地提高对信息量的收集效果,从而减少了信息管理周期,大大提高了信息处理的效果。综上所述,由于本文研究的软件系统研究与开发费用都比较少,对所需要的硬件设施需求也不高,对人员消耗也较少,所以本系统在经济上也是比较理想的[13]。
3.2.3 操作可行性
论文设计理论研究用的个性化学习介绍系统操作简便,容易掌握,上手较快。使用者在不论何时何地,均能够进行查看、编辑,而且一切操作运行都在网页上就可以完成,因此使用者也不需选择其他操作环境。所以我们研发的学习推荐系统,在操作方面也是满足可行性的。
3.3 功能需求分析
上一节系统的可能性已经得到了分析,本一节将对系统的基本功能需求做出详细分析。本系统在使用者登录以后根据使用者的实际状况,了解其兴趣爱好与倾向。在使用根据内容推送计算的基础上,向使用者推送更感兴趣使用的学习资源。在用户注册进去系统首页后,也能够通过各种方法来挑选自己希望获得的学习资源。能够看到根据自身实际状况在首页介绍的学习资源类型有哪些;后台管理系统还能够根据使用者情况对全部分类资源做出了相应的介绍;一旦使用者在需要看到某一种学习资源的介绍同时,根据眼前实际的状况,管理系统就会在采取推荐算法下,自动地向使用者推送出符合该用户的学习资源类型[14]。对后台的管理而言,除了需要管理好管理员自身的个人信息外,还有便是对学习资源数据库的日常管理,同时需要做好对用户行为采集的基本处理等。
3.4 非功能需求分析
上部分已对个性化学习推荐系统的功能需求进行了剖析,而本节也将对个性化推荐系统的非功能需求进行了剖析。
(1) 系统可靠性
为确保个性化推荐系统运作可靠稳定,系统必须确保在大量用户同时访问的情况下,不会产生系统故障及反应时间缓慢等可能影响用户使用经验的情况。此外,如果系统中的数据量达到一定的水平,就很难以保持这么大的质量,这次应该考虑如何以构建大数据集的方式保存更多的数据。
(2) 系统安全性
系统的安全性需求分析是安全设计中关键的,以保证系统在各种数据类型条件下安全高效的工作。因为整个系统的信息量特别大,所以需要充分考虑数据的稳定性,以及整个系统必须能够完全访问。
(3) 系统可扩展性
系统的设计采用模块化方法,系统启动后,应可根据用户要求扩展系统功能模块。在数据库方面,必须考虑到数据表的拓展以及在某个数据表中字段扩展问题。
(4) 系统适用性
必须对使用用户友好,系统应尽可能简单易用,特别是对新用户,让他们尽快熟悉该系统。有时用户会出现操作错误,此时系统必须考虑信息提示,这将使用户更快地完成操作。

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于知识图谱的个性化学习推荐系统的设计与实现_kaic 的相关文章

随机推荐

  • Junit单元测试,BIO、NIO、AIO概念、Buffer类,Channel通道

    单元测试 Junit介绍 Junit是一个Java语言的单元测试框架 简单理解为可以用取代Java的 部分 main方法 Junit属于第三方工具 需导入jar包后使用 Junit基本使用 Junit的作用 可以单独的运行某一个方法 Jun
  • LeetCode算法,每日一题,冲击字节跳动

    目录 1 LeetCode 20 有效的括号 题目 小编菜解 思路及算法 大神解法 2 LeetCode 26 删除有序数组中的重复项 题目 小编菜解初版 小编菜解改进版 思路及算法 大神解法 3 LeetCode 28 实现strStr
  • cmd停止情况

    情况描述 win10在使用cmd时 鼠标点击后出现cmd整个停止的情况 例如 在下载时 鼠标左键点击了cmd黑框里的内容 结果下载停止了 解决方式 出现这一情况的原因是 cmd开启了快速编辑模式 在cmd上框右键属性 关闭即可
  • 面向对象编程的六大原则

    一 面向对象编程的六大原则 单一责任原则 对类来说的 即一个类应该只负责一项职责 如类A负责两个不同职责 职责1 职责2 当职责1需求变更而改变A时 可能造成职责2执行错误 所以需要将类A的粒度分解为A1 A2 接口隔离原则 客户端不应该依
  • Pycharm Debug(断点调试)超详细攻略

    前言 PyCharm Debug 可以帮助开发者在代码运行时进行实时的调试和错误排查 提高代码开发效率和代码质量 当然也可以对源码进行断点调试 领略源码的魅力 具体操作步骤 准备一段代码 让我们来举个简单的栗子 这段代码主要作用 循环ran
  • VUE基本指令(v-model,v-html,v-text,v-bind,v-if,v-show,v-for,v-on:click,组件,过滤器)

    文章目录 双向数据绑定 v bind v bind title简化写法为 title 设置类名 v bind class 隐藏 显示元素 v if和v show v for 遍历数组 遍历对象 v on click 点击事件 简化语法 cl
  • 未授权访问漏洞1

    未授权访问漏洞产生的原因 未授权访问漏洞是站由于网站管理员对站点的资源所拥有的权限或站点配置文件没有进行合理的配置 导致没有进行授权的用户可以访问到高级资源 常见的未授权访问漏洞 1 Redis未授权访问 漏洞简述 Redis是一种缓存数据
  • 实现统计某个目录中的java文件个数(子目录也算进去)

    实现统计某个目录中的java文件个数 子目录也算进去 package com summer io01 import java io File public class Demo07 public static int javaFileNum
  • python输出特征相关矩阵_两个特征矩阵的有效成对相关

    似乎 遵循了皮尔逊相关系数公式的定义 该公式适用于A amp B 基于这个公式 你可以很容易地将向量化 因为A和 列的成对计算是相互独立的 这里有一个使用 Get number of rows in either A or B N B sh
  • STM32 IIC通信-硬件从机 cube-HAL库

    前言 搞过很长时间的stm32 了 但是一直没有深入的研究底层 iic方面之前多是作为主机 而且多是使用io口模拟的 网上在这方面有用的东西确实不多 由于工作需要学习了下iic硬件从机的使用 使用cube创建工程 hal库 上次用cube还
  • sublime text3中代码格式化

    有两种方式 1 选中要格式化的代码 然后依次选择以下菜单 Edit gt Line gt Reindent 2 依次选择以下菜单 Preference gt Key Bindings user 然后 自己设置快捷键 keys ctrl sh
  • 告白玫瑰

    关注微信公众号 ClassmateJie 更多惊喜等待你的发掘 直接看实现效果 电脑端 手机端 使用场景 发给女神告白 提供一些文案 自从遇见你 我的世界变得不一样了 每一天都因为你而变得特别 我想告诉你 我喜欢你 不仅仅是因为你的美丽 还
  • 【win10】电脑剪贴板失效,解决办法。

    1 打开任务管理器 把剪贴板的进程结束 2 打开运行 输入rdpclip exe 即可解决
  • 状态压缩DP

    状态压缩DP前置知识 问题简介 基于状态压缩的动态规划 又叫集合动态规划 顾名思义 这是一类以集合信息为状态的特殊的动态规划问题 主要有传统集合动态规划和基于连通性状态压缩的动态规划两种 一般的动态规划往往着眼于整体 从中提取出两三个关键信
  • docker 安装mongodb

    1 取最新版的 MongoDB 镜像 gt docker pull mongo latest 2 查看本地镜像 gt docker images REPOSITORY TAG IMAGE ID CREATED SIZE mongo late
  • 数据库查询优化

    文章目录 1 代码优化 2 定位到慢SQL上 并优化 3 合理使用索引 重点 4 分表查询 5 缓存 6 异步 多线程 1 代码优化 减少没有必要的代码 例如for循环次数过多 作了很多无谓的条件判断 相同逻辑重复多次等 2 定位到慢SQL
  • 微服务分布式构架开发实战 附下载地址

    微服务是一种软件架构风格 目标是将一个复杂的应用拆分成多个服务模块 每个模块专注单一业务功能对外提供服务 并可以独立编译及部署 同时各模块间互相通信彼此协作 组合为整体对外提供完整服务 以往的图书大多只针对微服务分布式架构自身的知识点讲解
  • Linux iptables常用命令

    iptables 是 Linux 中重要的访问控制手段 是俗称的 Linux 防火墙系统的重要组成部分 这里记录了iptables 防火墙规则的一些常用的操作指令 下面的操作以 CentOS 为基础介绍 应该对不同的 Linux 发行版都差
  • 日志分析系列之平台实现

    本系列故事纯属虚构 如有雷同实属巧合 平台实现前的说明 小B在给老板汇报了 统一日志分析平台 项目后 老板拍板立即开始做 争取下一次能及时发现攻击并且追踪攻击者 于是小B开始分析了市面上商业与开源的日志分析平台架构 大家都神似如下图 知道了
  • 基于知识图谱的个性化学习推荐系统的设计与实现_kaic

    摘 要 Abstract 1 绪 论 1 1 研究背景及意义 1 2 国内外现状研究 1 3 研究工作和论文结构 2 相关技术 2 1 HTML 语言 2 2 Python 语言 2 3 数据库技术 2 4 Django 框架 3 系统分析