Spaced repetition learning systems (SRS)
based on an article by Michael Mounteney
Computer-based spaced-repetition, or flashcard, software, can greatly assist in
the rote-memorisation of information that is arranged in question-answer pairs;
in the case of language study, the obvious application is memorisation of vocabulary.
The method varies in detail from one application to another but basic modus
operandi is thus:
- Each day, run the software.
- It will present a question, typically the translation of a word or phrase.
The translation can be active or passive (into, or from, the foreign language).
- You attempt to recall the answer from memory.
Having made your best attempt to do so, you click a button to reveal the correct
answer. You then score your answer by clicking a further button. Some systems
such as FullRecall (http://fullrecall.com)
and Supermemo (http://www.supermemo.com)
allow you score from 0 (no idea) to 5 (instant and correct recall), while others
such as jMemorize (http://jmemorize.org)
only accept right/wrong.
Some systems (e.g., Parley on KDE) make you type the answer and score what you
type. This prevents unconscious cheating but prevents discretion in scoring, such
as omission of a leading `the'.
- The software schedules the question to be asked again at some point in the
future which it calculates from your scoring history to date, i.e., how well you
answered this time plus how well you have answered the same question in the past.
Different packages use different algorithms for calculating the scheduling.
- The above steps are repeated until all items scheduled for today have been
reviewed or answered. Therefore, the items that are presented on any particular
day are those items that have been scheduled on previous days' reviews.
Items that you remember easily are scored more highly and are repeated less
and less frequently, whereas items that are more difficult are repeated more frequently
- hopefully until they are drilled-in and remembered. This is the key to spaced-repetition
software: it automatically manages revision of your learning, so that you concentrate
on items that are difficult to remember, and don't waste time reviewing items
that you know very well.
- The obvious chicken-and-egg question is how items are started in the first
place. Most systems have the idea of a queue of unlearnt items, that are in the
database but have not yet entered the learning process. Generally, on any day,
you would review the accumulated items from previous revisions, as above, then
add some more items from the queue. Thus each day ones database of `learnt' items
Different packages have varying levels of sophistication and facilities.
Supermemo excels at statistical analysis of learning, and provides comprehensive
management of items into categories and sub-categories. It is however rather idiosyncratic
in its operation and its text handling is not simple Unicode, so learning data
in non-Latin writing systems is sometimes inconvenient. Supermemo is moving towards
another idea called `incremental reading' which involves harvesting pages of information
off the Web and breaking it up into memorable pieces over time. It only runs under
MS-Windows, although some users have had some success running it under WINE on
GNU/Linux. It also offers comprehensive multimedia capabilities. Its database
is proprietary and any editing thereof has to be through the program's own facilities,
which are less than comprehensive.
FullRecall is much more straightforward in operation. It implements Unicode
(UTF-8) character handling, so all writing systems are accommodated. Its spacing
algorithm is intriguing - a `neural net' which supposedly mimics your personal
`forgetting curve' (the rate at which your memory decays over time) based on your
self-scoring during reviews. It is multi-platform. It is still in development,
but that does not mean that it is unreliable; the development is of new features.
It achieves portability by the use of the FOX toolkit, which, in the opinion of
this author at least, is a rather simplistic and unaesthetic product. Its database
is open, which allows some analysis and reporting by third-party tools.
jMemorize is a free (donations welcome) package written in Java. It implements
the rather simple Leitner spacing algorithm, less sophisticated than either FullRecall
or Supermemo. As it is written in Java, it runs on any machine which has a JRE
- MacOS, GNU/Linux, Solaris, MS-Windows XP etc.
Mnemosyne is similar to SuperMemo and uses an early version of the SuperMemo
algorithm, with some modifications that deal with early and late repetitions.
It is written in Python and can be used on Windows, Linux, and Mac OS X. Users
of the software usually make their own database of cards, although some pre-made
databases are available.
Each day the software displays each card that is scheduled for repetition.
The user then grades their recollection of the card's answer on a scale of 0-5.
The software then schedules the next repetition of the card in accordance with
the user's rating of that particular card and the database of cards as a whole.
This produces an active, rather than passive, review process.
Expemo is a web-based flashcard application
built with Flash and integrated with the language learning website
Lingua house. Users of the system create
and review their own knowledge collection from ready-made flashcard 'packages'.
There are currently two main available sources of knowledge - English language learning
resources and collections of phrases in several languages. All knowledge is
broken down into a question-and-answer format and users grade their recollection
of answers on a scale of 0 to 5. The platform uses a state-of-the-art algorithm
for calculating the optimal repetition schedule for each user depending on their
current progress with the material. Additional features include multimedia content,
various analysis tools and personal review calendar customization. Future versions
of the website will include additional languages and the possibility to work offline
using laptops or mobile devices.
Further information about spaced repetition
Spaced repetition systems
Reviews of SRS