基于知识图谱的个性化学习推荐系统的设计与实现(论文+源码)_kaic

摘 要

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) 系统适用性

必须对使用用户友好,系统应尽可能简单易用,特别是对新用户,让他们尽快熟悉该系统。有时用户会出现操作错误,此时系统必须考虑信息提示,这将使用户更快地完成操作。

相关推荐
逝去的紫枫6 分钟前
Python PIL:探索图像处理的无限可能
图像处理·人工智能·python
情勤坊7 分钟前
JAVA实现将PDF转换成word文档
java·pdf·word
苹果酱05678 分钟前
springcloud-网关路由gateway
java·开发语言·spring boot·mysql·中间件
梦幻精灵_cq11 分钟前
Python中“暂停”(time.sleep?input?)
python
张彦峰ZYF11 分钟前
解读InnoDB数据库索引页与数据行的紧密关联
数据库·sql·mysql·postgresql·oracle
武子康14 分钟前
Java-08 深入浅出 MyBatis - 多对多模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据库·sql·mybatis
摇滚侠21 分钟前
java http body的格式 ‌application/x-www-form-urlencoded‌不支持文件上传
java·开发语言·http
流着口水看上帝26 分钟前
JavaScript学习路线
学习
Ting丶丶27 分钟前
安卓应用安装过程学习
android·学习·安全·web安全·网络安全