基于艾宾浩斯遗忘曲线的英语词汇学习微信小程序——一些思路和想法

article/2025/8/30 12:40:38

之前想做一个利用艾宾浩斯遗忘曲线规律来背单词的小程序,但是不太知道这么做,参考查阅了很多文章,这里整理一下思路。

一、艾宾浩斯遗忘曲线

艾宾浩斯遗忘曲线的具体应用是利<复习点>来重复学习单词。

百度百科里面写的<复习点>分为八个周期,如下图:

890098cd70864061a9998b5855540f8d.png

其中,人的记忆周期分为短期记忆长期记忆

故,短期记忆周期:5分钟、30分钟、12小时。

长期记忆周期:1天、2天、4天、7天、15天。

在这里采用长期记忆这个周期来复习单词。

二、每个单词应该有两个重要的字段/属性,分别为<时间戳>、<学习次数>。

单词名称

单词释义

...

时间戳

学习次数

abandon

放弃

...

2023-2-10

0

时间戳:时间戳代表最近一次学习该单词的日期时间。(上次学习该单词的时间)

学习次数:用来表示对该单词的熟练程度。如下表。

0次

1

2

3

4

5

6

未学习

已学习1次

已学习2次

已学习3次

已学习4次

已学习5次

已掌握

三、艾宾浩斯实现的过程(一些思路)

所有单词初始的时间戳为空,学习次数为零。

1.用户选择单词本后,根据单词本的单词生成一个该用户的<单词列表>;

2.用户设置学习计划(例如,每日学习10个新单词,复习20个单词(复习的单词可不设置数量,即复习所有应复习单词))

3.用户每日学习时,应该根据<单词列表>生成<今日单词列表>、<需复习单词列表>。

<今日单词列表>应该随机从<单词列表>中抽取10个新单词(学习次数为0次),再从需复习单词(学习次数为1~5次)中随机抽取20个单词。

需复习单词的判断(重要!体现艾宾浩斯遗忘曲线的地方):

用户学习过单词后,学习次数+1,最高为6。根据时间戳、学习次数、当前日期来判断需复习单词。复习时间点( 1天、2天、4天、7天、15天 )

单词学习次数为1,当前日期 - 时间戳 > 1 天,该单词放入<需复习单词列表>。

单词学习次数为2,当前日期 - 时间戳 > 2 天,该单词放入<需复习单词列表>。

单词学习次数为3,当前日期 - 时间戳 > 4 天,该单词放入<需复习单词列表>。

单词学习次数为4,当前日期 - 时间戳 > 7 天,该单词放入<需复习单词列表>。

单词学习次数为5,当前日期 - 时间戳 > 15 天,该单词放入<需复习单词列表>。

考虑到用户不太可能都按规律学习,所以应该给单词熟练程度降级。(学习次数为1时,代表单词已学过,不再降级。学习次数为6时,代表已掌握,不再降级)

单词学习次数为1,当前日期 - 时间戳 > 1 天,该单词放入<需复习单词列表>。

单词学习次数为2,当前日期 - 时间戳 > 4 天,该单词学习次数 - 1 ,放入<需复习单词列表>。

                                当前日期 - 时间戳 > 2 天,该单词放入<需复习单词列表>。

单词学习次数为3,当前日期 - 时间戳 > 7 天,该单词学习次数 - 1 ,放入<需复习单词列表>。

                                当前日期 - 时间戳 > 4 天,该单词放入<需复习单词列表>。

单词学习次数为4,当前日期 - 时间戳 > 15 天,该单词学习次数 - 1 ,放入<需复习单词列表>。

                                当前日期 - 时间戳 > 7 天,该单词放入<需复习单词列表>。

单词学习次数为5,当前日期 - 时间戳 > 30 天,该单词学习次数 - 1 ,放入<需复习单词列表>。

                                当前日期 - 时间戳 > 15 天,该单词放入<需复习单词列表>。

四、用户学习进度以及单词的存储(一些想法)

用户的学习进度用单词的<时间戳>和<学习次数>来体现。

一开始我打算把用户单词数据保存在MySQL数据库中,但考虑到多个用户的单词数据保存,思路有些混乱,不知道数据库怎么设计比较好,所以采用一种其他的方式。

采用JSON格式或txt文本格式等来保存用户单词数据。个人认为JSON格式是一个比较好的方式。JSON(JavaScriptObject Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

1.这种文本数据可以存储在小程序的缓存文件中;也可以存储在服务器中,然后把该文件的路径添加到MySQL数据库的用户表中。

2.数据库中只保存单词本的单词,用户选择单词本后,就给他生成一个专属的单词数据文本文件。

3.用户每天学习时,先读取这些文本数据,结束后再写入新的文本数据。

其他:单词语音可以调用有道或扇贝的语音API。单词数据可以从这个链接获得GitHub - kajweb/dict: 英语字典 英语词库 字典词库 四级单词 六级单词 考研单词 雅思 托福 SAT GMAT TOEFL GRE

以上,就是我的一些思路和想法,如果有什么错误,欢迎大家指出。如果大家有其他的方式或思路来实现,欢迎大家指教。


http://chatgpt.dhexx.cn/article/ZqtPN6jw.shtml

相关文章

艾宾浩斯曲线在线 PDF 文件生成 在线背单词 背单词计划表 高考-四级-六级-SAT-托福-雅思-GRE-17 天搞定 GRE 单词, 背单词神器-动态生成时间表! 利用艾宾浩斯记忆曲线自动生成背单

[TOC](艾宾浩斯记忆曲线]计划表自动生成器 艾宾浩斯抗遗忘曲线(记忆曲线)学习计划生成器 生成艾宾浩斯记忆曲线(也叫遗忘曲线)的好东西 艾宾浩斯曲线在线 PDF 文件生成 在线背单词 背单词计划表 高考-四级-六级-SAT-托福-雅思-GRE-17 天搞定 GRE 单词, 背单词神器-动态生成时间…

遗忘的知识点

1.两个数组或者对象&#xff0c;即使里面元素都相同&#xff0c;那么这两个数组&#xff08;对象&#xff09;也不全等。因为他们的开辟空间以及地址不一样。 <script>var a [1, 0];var b [1, 0];console.log(a b);//false</script> 2.null、undefined、not d…

根据 ”艾宾浩斯遗忘曲线“复习时间点生成的复习计划模板

根据 ”艾宾浩斯遗忘曲线“复习时间点生成的复习计划模板 编程小白&#xff0c;写的可能有点乱见谅哈。 这几天一直在看学习方法之类的内容&#xff0c;加上自己在备考cpa。就经常需要记忆很多东西。突然想起来很久之前看到过的 ”艾宾浩斯遗忘曲线“。看到网上有一些根据这个…

计算机修改人类记忆曲线,遗忘曲线

遗忘曲线由德国心理学家艾宾浩斯(H.Ebbinghaus)研究发现&#xff0c;描述了人类大脑对新事物遗忘的规律。人体大脑对新事物遗忘的循序渐进的直观描述&#xff0c;人们可以从遗忘曲线中掌握遗忘规律并加以利用&#xff0c;从而提升自我记忆能力。该曲线对人类记忆认知研究产生了…

艾宾浩斯记忆遗忘曲线-背单词

复习点的确定&#xff08;根据艾宾浩斯记忆曲线制定&#xff09;&#xff1a; Joe.Smith法-背单词-复习曲线 1&#xff0e; 第一个记忆周期&#xff1a;5 mins 2&#xff0e; 第二个记忆周期&#xff1a;30 mins 3&#xff0e; 第三个记忆周期&#xff1a;12 hours 4&…

艾宾浩斯遗忘曲线-计划表30天

遗忘曲线由德国心理学家艾宾浩斯(H.Ebbinghaus)研究发现&#xff0c;描述了人类大脑对新事物遗忘的规律。人体大脑对新事物遗忘的循序渐进的直观描述&#xff0c;人们可以从遗忘曲线中掌握遗忘规律并加以利用&#xff0c;从而提升自我记忆能力。该曲线对人类记忆认知研究产生了…

学习曲线和遗忘曲线

学习曲线的定义为"在一定时间内获得的技能或知识的速率"&#xff0c;又称练习曲线&#xff08;practice curves&#xff09;。 人们为了知道学习进程中的现象和进步的快慢的详情&#xff0c;作为以后努力的指针&#xff0c;应用统计图的方法作一条线&#xff0c;把它…

浅读艾宾浩斯遗忘曲线

从网上找的一些资料显示&#xff0c; 时间间隔记忆量刚刚记忆完毕100%20分钟后58.2%1小时后44.2%8-9小时后35.8%1天后33.7%2天后27.8%6天后25.4%1个月后21.1% 遗忘的曲线和内容有关&#xff0c;也和个人有关。有很多次&#xff0c;把事情忘记&#xff0c;或者是记错&#xff0…

Mybatis-plus sql语句 LT、LE、EQ、NE、GE、GT

allEq 全部eq(或个别isNull) allEq(Map<R, V> params) allEq(Map<R, V> params, boolean null2IsNull) allEq(boolean condition, Map<R, V> params, boolean null2IsNull)例1: allEq({id:1,name:“老王”,age:null})—>id 1 and name ‘老王’ and ag…

LT6105电流检测放大器介绍

概述&#xff1a; LT6105是一款微功率&#xff0c;高精度电流检测放大器&#xff0c;具有非常宽的输入共模范围。 LT6105通过外部检测电阻上的电压监测单向电流。输入通用相对于负电源电压&#xff08;V-&#xff09;&#xff0c;模式范围从-0.3V延伸至44V。这使得LT6105可以用…

LinuxShell脚本比较运算符, -gt, -lt; > < 的区别

今天写centos脚本的时候,遇到了一个问题, 条件不是按照我预设的方向。卧槽。蒙了都。 原始代码如下&#xff1a; #!/bin/bash # 定义 a 1111 a1111# 如果 a 大于 999 则打印 "大于"; 操蛋的是这里并不会打印 if [[ ${a} > 999 ]]; thenecho "大于" f…

Linux下lt8911exb调试总结

调试lt8911exb花了两天时间&#xff0c;总结下 ic功能介绍:mipi转eDP http://cn.lontiumsemi.com/UploadFiles/pdf/LT8911EXB_Product_Brief.pdf github下有驱动源码&#xff0c;可以直接使用(mipi配置的是burst模式) https://github.com/aystshen/lontium_lt8911exb_driver…

java中的lt;和gt;分别是什么意思

今天在做java笔试题的时候&#xff0c;有一题出现了这个符号&#xff0c;由于我不认识这个符号就做错了&#xff0c;题目如下&#xff1a;   这题的答案是A,而我选了C,后面百度才知道<的意思是小于( < )符号&#xff0c;在用markdown写文章的时候&#xff0c;就会显示…

[RK3399][Android8.1] 调试记录 --- LT9611驱动调试

Platform: RK3399 OS: Android 8.1 现象: 使用LT9611实现MIPI TO HDMI输出功能&#xff0c;使用官方提供驱动后HDMI输出时有时无&#xff0c;并且很不稳定 问题1 1.开机HDMI没有输出&#xff0c;根据打印发现问题是HDMI输出为0&#xff0c;但是系统认为已经输出 &#xff…

一款mipi转lvds的lcd调试(lt8912b)

一款mipi转lvds的lcd调试&#xff08;lt8912b&#xff09; 客户调试一款mipi转lvds的屏&#xff0c;使用的转换芯片是lt8912b。现将调试过程做个记录。 这款芯片之前在别的客户项目上调试过&#xff0c;但是这个客户的板子上存在如下问题&#xff1a;配置好设备树和驱动后&…

Linux下lt9211调试总结

LT9211支持mipi转lvds&#xff0c;参考原理图如下 先拿到代码移植好后&#xff0c;接上屏幕看效果。 一开机&#xff0c;屏幕在不断的刷红绿蓝的图片&#xff0c;参考lcd的datasheet&#xff0c;如果没有检测到lvds信号&#xff0c;就在屏幕的测试模式。 说明&#xff0c;背光…

Linux下lt9611调试总结

lt9611是一款mipi转hdmi的芯片&#xff0c;项目中有使用到&#xff0c;分享下调试经验。 参考设计 要先拿到源码&#xff0c;然后进行调试。刚好代码默认有一份驱动&#xff0c;那不就折腾了。适当修改后&#xff0c;接hdmi屏幕进行测试&#xff0c;i2c能正常通信&#xff0c;…

正线性稳压器 (LDO)—— LT1763

正线性稳压器 (LDO) LT1763 500mA、低噪声、LDO 微功率稳压器 先上百科&#xff1a;LT1763百度百科 LT1763 LT1763 系列是微功率、低噪声、低压差稳压器。这些器件能够提供 500mA 的输出电流和一个 300mV 的压差电压。该系列专为在电池供电型系统中使用而设计&#xff0c;30…

第一颗国产HDMI 1.4 至 TTL / 2 端口 LVDS 芯片LT8619C

1. 说明 Lontium 的 LT8619C 是一款高性能 HDMI / 双模 DP 接收器芯片&#xff0c;符合 HDMI 1.4 规范。TTL 输出可支持 RGB、BT656、BT1120&#xff0c;输出分辨率可支持高达 4Kx2K30Hz。为了便于实现多媒体系统&#xff0c;LT8619C 支持 8 通道高质量 I2S 音频或 SPDIF 音频输…