- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想知道如何修改和推广间隔重复软件。具体来说,我想知道如何更改要显示的卡片数量、卡片范围以及指定特定卡片组的能力。
本人接触间隔重复软件一段时间,发现以下问题:
很难确保在特定日期显示的卡片数量保持在一定范围内
与其被告知今天要学习哪些卡片,我更愿意随时拿起牌组并浏览几张卡片,这取决于我有多少时间
我理解后一点与间隔重复的逻辑有些冲突,但也许可以找到折衷方案。
程序要解决的问题是“如果我现在被要求出示一张卡片,我应该根据每张卡片的学习历史、重要性等来选择哪张卡片。”
我认为,这种方法可以很容易地推广到增量阅读和待办事项列表管理。
由于我是一名编程新手,如能提供有关如何实现此类算法的任何帮助,我们将不胜感激。
请在下面找到我解决问题的非常基本的尝试;这里最明显的问题是代码没有考虑到卡片文件随时间的增长。
#! /usr/bin/env python
import random
box = []
class flashcard(object):
def __init__(self, quest, answ, score):
self.question = quest
self.answer = answ
self.score = score
# ------------------------------------------------------------------------------
f = open('list.txt','r')
for line in f:
parts = line.split('\t')
box.append(flashcard(parts[0],parts[1],int(parts[2])))
f.close()
# ------------------------------------------------------------------------------
keepgoing=True
while keepgoing:
card = random.choice(box)
if random.uniform(0,1) * card.score < 1:
a = raw_input(str(card.score) + ' ' + card.question + ' ')
if a == card.answer:
card.score *= 3
elif a == 'q':
keepgoing = False
else:
card.score = 1
print 'WRONG -->' + card.answer
else:
pass
# ------------------------------------------------------------------------------
f = open('list.txt','w')
for card in box:
f.write("%s\t%s\t%s\n" % (card.question, card.answer, card.score))
f.close()
最好的,J
好的,谢谢!虽然您的观点完全正确,但直到现在我才意识到,我提出问题的动机实际上更广泛,因此有些观点对我仍有待解决。
1st 我会对某事感兴趣。对于尽可能简单的命令行第二,我想避免基于日期的逻辑,即使这与 SRS 略有不同第三,我想要一个简单的脚本,我可以侵入许多不同的应用程序 例如待办事项列表管理、阅读列表管理、播放列表管理(如 http://imms.luminal.org/ )等
所以,我想要一个通用脚本,它可以随机显示项目,但按重要性、简单性、紧迫性、有趣性等加权
最佳答案
关于这个主题有丰富的文献。我推荐的一篇论文是 Lindsey、Shroyer、Pashler 和 Mozer 的“通过个性化复习提高学生的长期知识保留能力”:https://web.archive.org/web/20140331061418/http://laplab.ucsd.edu/articles/LindseyShroyerPashlerMozer2013.pdf (如果链接失效,请确保获得带有附录和补充在线 Material 的版本,这些 Material 提供了他们描述的机器学习算法的详细信息)。
在这篇特别的论文中,描述了一种机器学习算法,给定一组学生对问题列表的正确和错误回答的时间戳,估计每个(学生,问题)-对。所以这正好回答了你的一个子问题。在任何给定时间,这样的算法都可以告诉您最有可能被遗忘的问题(正确回答的可能性最低)。不仅如此,它还为您提供了一个排序的问题列表,以降低遗忘的风险。更重要的是,它会给你一个介于 0 和 1 之间的数字,表示遗忘的风险,这样你就可以设置一个阈值,比如“不要问我遗忘概率小于 5% 的问题” ".
不是适合初学者的项目,但请尝试一下!
另一个小问题:请随意尝试非 Anki 学习策略。除了流行之外,没有其他证据表明 Anki 的工作流程是做任何事情的最佳方式,事实上我非常怀疑它是否适用于所有学习者。
编辑 我为贝叶斯间隔重复设计了一个算法,并用 Python、JavaScript 等实现了它,我称之为 Ebisu:https://fasiha.github.io/ebisu/
关于python - 修改和推广间隔重复软件的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10865535/
我有下一个方程组: #dY0=/dt = k1*S - k2*Y1*Y0 #dY1/dt = k3*S - k4*Y1 其中 S(t) 是一个阶梯函数,在 t = 4、8、12 等时增加一个单位。我的
卡在这个上了。 我刚刚开始使用 RubyMotion,现在又开始使用 ProMotion。我只是在制作一个待办事项风格的应用程序,只是为了学习一些东西。我在将数据保存到文件时遇到问题。现在忽略保存数据
我正在使用 PyQt 并尝试在 QtDesigner 中推广一个小部件。如果我在“头文件”字段中指定包含我的小部件子类的文件的完整模块路径,我就能让它工作。 有没有更好的方法将 QtDesigner
我一直在学习 Qt Designer 中的子类化和小部件提升,并且我提升了一些 QPushButtons。我提升的类代表计算器上的数字键,并在构造函数中接受一个参数。给定的参数是按钮的编号,它是作为
我使用 Cucumber 和 Capybara 编写了一个功能来测试我的网络应用程序的默认配置。部分功能如下所示: And the page has a photo labeled "Device"
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
我正在编写一个 C++ 代码来进行 2D 和 3D 计算。主函数有一个参数,我可以从中判断是进行 2D 还是 3D 计算(dim=2 或 dim=3)。启用/禁用基于 dim 编译特定代码段的最佳选择
我的 Facebook 应用程序具有已批准的ads_read、manage_pages ads_management、business_management 和 Ads Management 标准访问
我尝试重新实现 mouseClickEvent,因为我需要区分右键单击和左键单击。我将我的QListView提升为WavList,并编写了以下代码,但出现了错误。 wavlist.h #ifndef
我是一名优秀的程序员,十分优秀!