卢培教,洪晓鑫,方彦娃,钟洁伟,李颖欣,林炫圳,鲜征征
广东金融学院 互联网金融与信息工程学院,广东广州,510521
信息量庞大且精力有限,人们在获取和理解信息时往往难以高效地处理和应用这些知识,过多的负担也容易带来压力和焦虑[1]。对于记忆学习而言,由于上述客观原因,人类的记忆习惯越来越倾向用更短的时间、更便捷的操作获取更好的记忆效果[2]。2019年,王晓欢[3]通过对在线教育产品的特征分析、用户体验相关模型案例对比以及对目标用户的观察访谈,提炼出学习体验影响因素并构建在线学习体验要素的MEI模型。在线教育如今引流高潮,而记忆学习是其中的“优质赛道”。
将需要记忆学习的材料分门别类、按需选择、自由导入,会给用户带来更好的体验并提高效率[4]。目前,已有一批帮助学习人群记忆知识、提升记忆效率的辅助软件,如“百词斩”“墨墨背单词”“Anki”等。它们可以在一定程度上满足人们的生活和学习需求[5]。
近年,还有一些有针对性记忆需求的研究成果。例如,2020年,费德莲[6]基于自建彝语语料库,通过微信web开发者工具,设计并完成了彝语记忆学习平台的开发。2021年,王延桃[7]以相关学习理论与设计开发原则为依据,结合大学生英语词汇学习特点、实际需求以及学习中存在的问题,设计并实现了基于微信小程序的词汇学习平台。2021年,赵志斌等人[8]基于Anki软件的卡片式记忆法在中医专业教学中的应用研究,表明卡片式记忆学习系统不仅可以提升学生的学习成绩,还能激发学习热情,提高感知力和满意度。但上述记忆类软件或平台存在记忆内容局限、无用户记忆学习统计分析、不便于重复记忆、用户体验枯燥、使用门槛高、记忆效率不高等现实问题。
因此,本文提出设计开发一款名为“记忆星”的卡片式记忆学习系统,更利于用户持久化完成记忆任务和满足多类学习需求。该系统会把记忆材料制作成记忆卡片或卡组后利用间隔重复等记忆方式高效规划学习、记忆及复习,对抗遗忘,旨在尽量让用户达成“用最少量的时间做最便捷的操作”,最终更快地实现优质的复习效果。
与市面上常规的记忆辅助软件相比,本系统可以导入的记忆材料不再局限于简单的英语单词等单一材料,用户可以根据自己的需求,导入各种各样的记忆材料进行记忆学习。
本系统采用卡片记忆,学习卡的正面是问题,反面是答案,使用时可根据正面的问题来思考反面的答案,再将错误生疏和熟知的问题分开,便于学习者频繁地学习回答错误、生疏的抽认卡,有针对性地学习和反复记忆最困难的问题,从而提高学习效率。
本系统基于社区将设计闯关星级、完成率等一系列数据作为考核的依据。社群管理在维护的同时可不断刺激相关组员持续学习使用,让用户自发地去进行促活,同时又辅以任务、打卡等功能给予激励,让用户持久化学习。
本系统主要包含登录模块、学习模块、牌库模块、统计模块、社区模块和个人模块,总体功能架构如图1所示。
图1 卡片式记忆学习系统功能架构图
本系统的核心功能界面是学习界面、统计界面和社区界面。篇幅有限,其他如登录和个人信息等界面,本文不做详细介绍。
(1)学习界面。该模块是用户个人学习的主阵地,又划分为卡片识别、卡片记忆和卡片编辑三个子模块。其中,卡片识别是识别已经记忆过的卡组,反馈遗忘程度等数据。卡片记忆是记忆已编辑的卡组,初始化卡组信息。卡片编辑是编辑卡组,能够添加文字和图片等,自主设计有关问题,如单选、多选和填空。子界面设计上,以图2的卡片记忆界面设计为例,左栏为待记忆卡组,右栏为卡片内容,其他类似。
图2 卡片记忆界面
(2)统计界面。该模块是个人学习的反馈中心,划分为学习概况、记忆持久度两个子模块。学习概况用于查看过去记忆的学习次数、学习时长等数据。记忆持久度用于查看记忆过的内容的印象,分为陌生、不熟悉、熟悉三种情况。学习概况界面如图3所示,左栏选择时间长度,右栏展示该时间段的学习情况。
图3 学习概况界面
(3)社区界面。该模块是用户社区学习的主阵地,又划分为社区文化、社区排名、助记分享三个子模块,社区文化界面如图4所示。其中,顶部为活动及文章的轮播图;社区文化用于查看审核通过的文章及参与的活动;社区排名可以查看小组成员的学习排名,包括学习进度、学习时长等数据,界面设计如图5所示。点击文章后通过助记分享可以查看其他用户对某些材料的助记方式,以及分享自己的助记方式。
图4 社区中心界面
图5 社区排名界面
本系统的核心功能是卡片编辑、卡组搜索和经验分享。篇幅有限,其他如学习统计功能和消息中心等功能的具体实现,本文不做详细介绍。
(1)卡片编辑功能的流程分析
卡片编辑功能的流程分析如图6所示,用户需要登录后才能使用编辑功能。登录后,用户可以在“学习”或“牌库”模块编辑卡片,进入编辑详情页,填写完整的学习内容后确认保存。若保存成功则提示编辑成功,若发现错误信息,可在“牌库”模块进行删改。本功能支持实时预览,导入文字和音视频材料,自主设计单选、多选和填空等。
图6 卡片编辑功能流程分析图
(2)卡片编辑功能实现的关键函数
卡片编辑功能主要是实现记忆内容的可序列化,其关键函数如下所述:JSONObject cardFeedback(int rememberQuality, int cardId, int cardGroupId, int userId)
功能:添加卡片记忆内容等,保存卡片信息并返回下一张需要编辑的卡片。
参数:用户ID、卡片ID、卡组ID。
实现分析:该方法首先创建ReviewRecord对象,同时设置卡牌遗忘程度rememberQuality等属性,并将卡片ID和卡组ID等信息保存到数据库;接着,根据nextCard属性是否为null,判断是否还有需要编辑的卡片,如果没有则返回编辑完成并更新今日复习卡组的进度。最后,返回编辑成功。
(1)卡组搜索功能流程分析
卡组搜索功能的流程分析如图7所示。本系统的搜索功能是基于TF-IDF的文本相似度算法[9]实现的。通过计算卡组简介中词语的权重,来衡量文本间的相似性,从而得到关键字与牌库中每个卡组之间的相似度。用户登录后,点击相关按钮,在相应页面可查看“最热”卡组和“最新”卡组。查看卡组详情后选择是否将其加入每天的学习计划。
图7 卡组搜索功能流程分析图
(2)卡组搜索功能实现的关键函数
卡组搜索功能主要是实现关键字的快速匹配,其关键函数如下所述。
①JSONObject queryGroup(int cardGroupId)
功能:查询指定卡组。
参数:要查询的卡组ID。
②float calculateSimilarity(systemText,userText)
功能:比较搜索内容与关键字的相似度。
参数:系统卡组关键字、用户搜索内容。
实现分析:首先,通过比较文本之间的相似度获取卡组ID;接着,根据卡组ID调用cardGroup Service服务从数据库中获取特定的卡组简介等信息;最后,将信息封装成HashMap散列表,搜索成功并返回查询到的卡组信息。
(1)经验分享功能流程分析
经验分享功能的流程分析如图8所示,用户登录系统后,在助记分享界面查看其他用户对特定材料的助记方式,也可分享自己的助记方式和心得体会。其他用户可以在下方评论帖子,与作者互动。
图8 经验分享功能流程分析图
(2)经验分享功能实现的关键函数
①JSONObject sharePost(int postId, int userId)
功能:分享帖子。
参数:要分享的帖子的ID、分享帖子的用户ID。
实现分析:调用postService服务,根据帖子ID从数据库中获取帖子信息。如果获取的帖子信息为null,返回帖子不存在。将分享的帖子信息封装成HashMap散列表,上传数据库并提示分享成功。
本系统的功能测试主要在于测试系统的核心功能是否与需求一致。下面展示对系统上述主要功能的部分测试情况,如表1所示。
表1 部分功能测试
学习界面作为用户学习的主阵地,本文使用Chrome浏览器中的性能分析工具,来测试当前页的渲染性能。其他界面的性能测试类似,不再赘述。
当前页各个阶段的执行时间的测试结果如图9(a)所示。页面加载与交互响应是影响用户使用的关键因素,过长的等待时间或响应延迟都会影响用户的使用体验。测试结果显示,在原先13281毫秒的首屏加载时间中,用户等待时间为5620毫秒,占比约三分之一。本来,对于一个包含图片及音视频的页面来说,这样的加载速度已满足原定需求。但是,出于用户体验度考虑,本系统通过将少量的css样式用于入场加载特效且隐藏页面真实内容,待其加载后再展示的方法,以便DOM尽快展现,尽可能缩短当前页白屏时间(即空闲时间),如图9(b)所示,改进后为2329毫秒,达到预期效果。
图9 学习界面性能测试图
为了针对性地优化功能和体验,了解用户的需求和使用情况,本文收集了参与测试的用户在使用过程中对产品功能、界面设计、易用性等方面遇到的问题和意见。评价反馈信息如图10和图11所示。
图10 核心功能评价反馈
图11 搜索功能反馈
图10核心功能评价数据表明,用户对系统各项核心功能如卡片学习、经验分享等较满意,用户推荐意愿较强。图11是用户反馈次数最多的搜索功能,用户满意度相对较低,可作为重点改进方向。
本文通过相关领域文献的研究和对国内外同类产品的差异化学习,设计并实现了一个卡片式记忆学习系统,旨在保证在内容质量舒适的同时,拓宽记忆范畴的广度、延伸互动交流的深度,让用户更加方便优质地完成记忆学习任务。
针对反馈最多的搜索功能仅支持关键字搜索的问题,后续将增加更多的高级搜索选项,例如,按照标签、作者等过滤搜索结果,以便用户更精确地找到需要的帖子。此外,还考虑添加对卡片内容的搜索功能,便于用户更直接地搜索到需要的卡组。