7

間隔反復ソフトウェアを変更して一般化する方法を考えています。具体的には、表示するカードの数、カードの範囲、および特定のカード デッキを指定する機能を変更する方法が気になります。

しばらくの間、間隔反復ソフトウェアを試してみたところ、次の問題が見つかりました。

特定の日付に表示されるカードの数が一定の範囲内にとどまるようにすることは困難です

今日はどのカードを覚えればいいか言われるよりも、時間に余裕があればいつでもデッキを手に取って、何枚かカードを試してみたいと思います。

後者の点は間隔を空けた繰り返しの論理と多少矛盾することは理解していますが、妥協点を見つけることができるかもしれません.

プログラムが解決しなければならない問題は、「今カードを見せるように求められた場合、各カードの学習履歴、重要性などに基づいて、どのカードを選ぶべきか」です。

このアプローチは、インクリメンタル リーディングと todo リスト管理に簡単に一般化できると思います。

私はプログラミング初心者なので、そのようなアルゴリズムを実装する方法についての助けをいただければ幸いです。

問題に対処するための私の非常に基本的な試みを以下に見つけてください。ここで最も明白な問題は、時間の経過に伴う cardfile の増大がコードで考慮されていないことです。

#! /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 私は sthg に興味があります。可能な限り単純なコマンド ラインの場合、日付に基づくロジックは避けたいと思います。これが SRS とわずかに対照的であっても、3 番目には、todo などのさまざまなアプリケーションにハックできる単純なスクリプトが必要です。 -リスト管理、読書リスト管理、プレイリスト管理 ( http://imms.luminal.org/のように) など

したがって、項目をランダムに表示できる汎用スクリプトが必要ですが、重要性、容易さ、緊急性、面白さなどによって重み付けされます。

4

2 に答える 2

1

Ankiは好きなように使うことができます。期限が迫っているすべてのカードを毎日行う必要はありません。同時に、期限よりも早くカードを確認することもできます。期限切れのカードの量を非表示にし、期限切れのカードがない場合に期限前にカードを自動的に確認する Anki プラグインを作成することも可能です。

ただし、実際の問題として、プロセスを変更しないことをお勧めします。一定の枚数のカードがあるということは、毎日のカードの山を終えたときに成功を感じることを意味します。その成功の感覚は、フラッシュカードを定期的に行う習慣を確立するのに役立ちます.

カードの期限に正確にカードを使用しないと、合計学習時間が長くなります。後でカードを復習すると、忘れるカードの量が増えます。早く見直してしまうと時間の無駄です。

それでも車輪を再発明したい場合は、SM2 アルゴリズムがどのように機能するかを読むことから始めるべきです。

于 2012-06-09T13:58:30.730 に答える