04 October 2013

Spaced Recognition Systems: timing and time off

Every now and then I head back to the How To Learn Any Language forums for a wee lurk. A few days ago I popped in and one of the users there was asking for advice on how to deal with the backlog of cards in an SRS flashcard system after time off.

About SRS

For anyone not familiar with SRS, its basically flashcard software that incorporates an algorithm to schedule repeats and revision of individual items at increasing intervals. The notion of increasing intervals is nothing groundbreaking, often occurring even in primary school spelling lessons (introduce new words, test later in the day, test in end of week spelling test, test at end of term in final "big" spelling test), but there have been researchers who have tried to formalise this and identify optimal gap lengths. Paul Pimsleur, for instance, devised a series of strictly scheduled gaps for optimal memorisation, a schedule which was used for the creation of the audio language learning software GradInt.

Problems with "memory schedules"

The problem with this strict scheduling is evident in GradInt: the first few "lessons" you generate will consist mostly of silence, because you have no old material to revise. It's not hard to believe the author of GradInt when he states that the commercially-produced Pimsleur courses do not strictly follow the memory schedule that Paul Pimsleur laid out.

Furthermore, the Pimsleur courses are a great example of why memory schedules cannot work: Pimsleur courses are almost identical for most languages (at least at the initial stages) and yet some languages are still more difficult than others. I borrowed several of the 5 and 6 CD courses from my local library (hence why I can't really talk about anything after the initial stages) and while I found Irish easy and finished it quickly with no repeats, I found Vietnamese so difficult that I couldn't even get the first two lessons down pat, so I gave up and handed it back without finishing.  Irish is of course similar to Scottish Gaelic, which I was already passably proficient in at the time, whereas Vietnamese is nothing like anything I had ever studied up to that point. Even if I hadn't learnt any Scottish Gaelic beforehand, Irish would still have been easier than Vietnamese, as there are fewer alien sounds to it, and the grammar is still somewhat related to English.

So yes, that's the common-sense and anecdotal rebuttal, but this sort of thing has been measured and the common-sense anecdote proven: it's easier to learn something that's kind of familiar to start off with. Memory schedules don't factor in the "difficulty" of the material, and that's a weakness.

Enter the SRS

SRS systems don't try to introduce any direct notion of difficulty or complexity at the level of the item being memorised, but instead try to adapt based on the user's perception of difficulty at each revision. It's a good compromise and it works well for the most part, and certainly better than blindly following a set pattern.

However, the more you adapt the algorithm away from the published research papers, the less you can support your software by quoting research. Isn't that an interesting quandry? It's probably better, and few but a handful of extreme determinists would doubt it, but it's difficult to say it's better, because they've got research and you haven't.

That said, I'm happy to accept that an adaptive algorithm is better than a rigid schedule; it's only once we start attempting to chose between adaptive algorithms that the problems start, because whichever choice you make, there's no proof for it. Which brings us to the problem raised in the HTLAL thread...

Stelle's problem

The original poster, Stelle, is planning a holiday, and is going to be away from all PCs smartphones etc for six weeks, and the algorithm-as-dictator is going to be pretty unhappy the first time Anki is booted up after the holiday, because there will be an awful lot of overdue cards.

Several posters commented that that's to be expected, because time away from Anki is time forgetting words, but Stelle then revealed that the holiday in question is walking the Camino de Santiago de Compostela, through Spain. Some words will be forgotten during that time, but a hell of a lot will be revised and remembered better than Anki alone could ever achieve.

SRS and its false assumption

You see, SRS seems to assume that it's the only source of learning. As a compromise, that's fine, because you can't go asking the user to log absolutely everything they've done in every other package, class and book -- it would be too big a job, and would put people off. But if you assume that no SRS for six weeks means no learning, there will inevitably be a lot of revision after that.

The algorithm Anki uses is derived from the SuperMemo 2 algorithm, which generates scores based entirely on the card's previous score and the user's perceived difficulty. The algorithm appears to take for granted that each revision has been carried out when scheduled.

A possible solution

So I say it's wrong to assume that an SRS user hasn't been learning and revising outside of the SRS software, but obviously it's equally wrong to assume that they have. And by the same token it would be wrong to ask "have you revised?" and apply a single answer to every card in the deck, because we can be sure that Stelle will ask where the toilets are, but there's no guarantee that rainbow trout will ever come up in conversation.

But the algorithm could try to work out whether you've revised or not.

I mean, say you had two cards that were due for revision after a day, and you came back to them six weeks later. You get the first one right, you get the second wrong. Isn't it fairly reasonable to assume that you revised the first and not the second? And even though that isn't a 100% safe assumption (the first one might be an easy word, like "taxi", the second may be abnormally difficult), it doesn't really matter, because one way or another, you know one, you don't know the other.

The scheduling of the next revision really has to take this extra information into account.

Under the SM2 algorithm, the first word, the easy one, will be treated as though it's been asked after one day, and even if I rate it really easy, I'm still going to have it scheduled for a few days later... even though I've proven that I've already learnt it. Isn't that crazy? Why not schedule it for weeks away? This may not immediately clear the backlog, but it will reduce it quicker. (Because cards won't be re-added to the backlog as quickly.) As you work through the backlog, the dispersion of cards will increase, as cards are increasingly late.

By the time this is finished, they'll be thoroughly mixed, and you'll be revising the genuinely least well known cards more. If the algorithm was too optimistic about the words you seemed to know, this will be corrected in a couple of iterations.

No comments: