sql – 间隔重复(SRS)用于学习
客户要求我为基于在线的学习网站添加一个简单的间隔重复算法(SRS).但是,在将自己投入其中之前,我想和社区进行讨论.
基本上,网站向用户询问一些问题(通过自动选择来自数据库的100个总问题中的10个),并且用户给出正确或不正确的答案.然后将用户结果存储在数据库中,例如: userid questionid correctlyanswered dateanswered 1 123 0 (no) 2010-01-01 10:00 1 124 1 (yes) 2010-01-01 11:00 1 125 1 (yes) 2010-01-01 12:00 现在,为了最大限度地提高用户学习所有答案的能力,我应该能够应用SRS算法,以便用户下一次接受测验时,会更经常地收到错误回答的问题;比问题回答正确.此外,以前未正确回答的问题,但最近经常正确回答的问题应该较少发生. 有没有人实现过这样的事情?任何提示或建议? Theese是我找到的最好的链接: > http://en.wikipedia.org/wiki/Spaced_repetition 解决方法你想要做的是为所有问题提供一个数字X_i.您可以对这些数字进行归一化(使其总和1)并做出优先选择.如果N是不同问题的数量,M是每个问题平均回答的次数,那么你可以在M * N中找到X,如下所示: >创建数组X [N]设置为0. 因为f正在增加,一个问题早就回答错了,比昨天回答错误的影响还小.你可以尝试不同的f来获得一个很好的行为. 更聪明的方式 更新:实际上,您应该将数据置于正确的位置,而不是错误.否则问题长时间不回答既不真实也不虚假,获得选择的机会较小.应该是相反的 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |