gpt4 book ai didi

python - 修改和推广间隔重复软件的最佳方式

转载 作者:太空狗 更新时间:2023-10-30 01:16:48 24 4
gpt4 key购买 nike

我想知道如何修改和推广间隔重复软件。具体来说,我想知道如何更改要显示的卡片数量、卡片范围以及指定特定卡片组的能力。

本人接触间隔重复软件一段时间,发现以下问题:

很难确保在特定日期显示的卡片数量保持在一定范围内

与其被告知今天要学习哪些卡片,我更愿意随时拿起牌组并浏览几张卡片,这取决于我有多少时间

我理解后一点与间隔重复的逻辑有些冲突,但也许可以找到折衷方案。

程序要解决的问题是“如果我现在被要求出示一张卡片,我应该根据每张卡片的学习历史、重要性等来选择哪张卡片。”

我认为,这种方法可以很容易地推广到增量阅读和待办事项列表管理。

由于我是一名编程新手,如能提供有关如何实现此类算法的任何帮助,我们将不胜感激。

请在下面找到我解决问题的非常基本的尝试;这里最明显的问题是代码没有考虑到卡片文件随时间的增长。

#! /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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com