Memory Learning Revisited

Posted by - February 10, 09

Index

In my last post about spaced repetition software, I advocated Mnemosyne. I’ve thoroughly used Anki for the past couple weeks to see what the difference is and what benefit there is over Mnemosyne. I enjoyed the findings..

Anki is great, but I changed quite a few settings to get it to a simple mode similar to Mnemosyne, and it still acts quite odd with respect to the way I review cards. Most notably, if I have a new card on day 1, and on the morning of day 2 I wish to select a longer duration in showing, I often had to choose between 8-10 hours or 4 days. This is quite a big difference, so the best choice is to go with the lower interval, but the problems arise as I review throughout the day and the card appears in the evening of day 2. I believe the issue with this comes from there being only 4 intervals to choose from, when a 5th would be nice between Hard and Good.

The interval issue could likely be fixed by setting Hard to [0.75 , 1.25] days, Good to [2.5 , 4.0] days, and Easy to [5.0 , 7.0] days, but I really don’t want to mess with this setting of the algorithm [it may make learning less efficient]1.

Another issue with Anki that I wish was different is the way Failed cards, or those being learned, are reviewed; constant order. For each loop through the group of Failed cards, there is no variation, no randomization; failed cards always are shown in order! I wish this were different.

Graphs

The kind that melt lolikitsune. In linux, I installed the necessary python libs which was a whopping 250+mb for the graphing packages, and was able to see a bunch of pretty graphs of which, some seem useful. I have no clue which are most useful, but Due, Review Time, and Interval seemed to have some good data, but I wish this information was available textually as well, because the graphs don’t say much else.

Mnemosyne has no graphs, but it does show simple statistical information, and what I liked was the count of cards due in the next 7 days, which without graphs in Anki, isn’t apparent. However, the little bits of statistical info in Anki about cards is quite nice. Please Weekly Outlook, similar to that of the next day’s outlook, but visible on the Study Options page.

Learning

Basically, both of these apps will make you learn, no doubt, but Anki has been more headache and questioning, so I was forced to use the priorities for certain categories, and change the study options so that:

  1. New cards are shown in random order
  2. New cards after all other cards
  3. Review cards in random order

When cards are show in order they are added, it really means it, so if an entire deck of 100 is imported they will be the focus before anything else, even little sets of 20. Using priorities and random order made it feel more like Mnemosyne’s learning spread through categories.

Having new cards throughout reviews made my decks get into a permanent stall when all the Failed slots were full. In this situation, I was unable to see any of the cards for review until I “learned” one of the failed cards, but as soon as a new card failed I would be kicked out of reviews once again. New cards after others was essential, otherwise I would have hardly completed reviews without grading Failed cards incorrectly (before I felt comfortable with them).

The last setting didn’t really give much issues, but the randomized review is nice, and I believe that’s how Mnemosyne did it.

Overall

Putting in this effort to get the gist of Anki and figure out how to make it more like Mnemosyne was annoying, but I think I should stick with it for the way I import sets of cards. Currently, I import three ~30 card sets each week, but have larger sets (500+) still in learning mode, with one of the sets usually being higher priority. Anki’s priorities help out in this situation, where Mnemosyne would simply evenly randomize the learning from each category.

With that said, Mnemosyne isn’t in the outs with me, but Anki, though a more complex configuration mess, fits my constant flow of new categories. If the condition was that I had 5000 items to learn where I would not be adding items, I would positively use Mnemosyne. I believe Mnemosyne may be more effective with it’s default spacing/grading, but Anki is decent enough, and adjustable.

Basically, my greatest reasons to use Anki atm is category prioritization and ankimaemi (a port for the N810), and that’s really about it.

Best Case Scenario

If Mnemosyne would de-GUI itself and simply revert to an API core library (or cli), then allow various guis/skins to be layered on-top, it would be preferable. Anki is built in this way, but there hasn’t been much development in alternate gui toolkits, aside from simple reviewing (ankimaemi). I’m sure it can be done since it is open-source, but I’ve no time to be coding extra things on top of uni and nuclear applications.

Notes

1) Oh, I actually decided to change my settings, but constantly see myself looking at the intervals. My current interval for Hard is [0.500, 1.000], which almost assuredly forces a newly learned card to be shown the next day rather than later that same day.

Max Failed-New Per Day relation: I found it a very good idea to have at least double the fail slots as the amount one wishes to learn per day. I think the upper limit on max fail should be around 60, and in relation, the new per day should max out around 30…. this is quite high, but probably possibly by some brains. I’m currently set at 30/15. The one drawback to having a large Failed queue is the fact that Anki doesn’t randomize when stepping through the cards.

7 Comments on Memory Learning Revisited

Respond | Trackback

  1. Damien Elmes says:

    If you see the same 8-10 hours on the second day after reviewing, it sounds like you’re not using the latest version of Anki.

    The default 8-12 hour intervals were chosen because many people like to review at night and then again the next morning.

    As for the failed cards being in order, this ensures that every card you see has been waiting for as long as possible. SuperMemo displays the final drill in order too AFAIK, and Mnemosyne’s approach often ends up showing the same failed card very soon after it was previously seen - and sometimes multiple times in a row.

    Anyway, if you’ve made mistakes on the cards, they’re likely to be difficult to remember. I don’t see order as being a big problem here.

    As for the graphs, all the information is available in the deck if you want to write a plugin. The majority of people want graphs, not text.

    Complaining that you had to change the settings so that Anki shows new cards in random order is unfair. It’s the same default as Mnemosyne.

    Many people have reported that new cards spread throughout reviews make the reviews more fun. If you have set a reasonable number of new cards per day, it’s not dangerous.

    Reviewing cards in order of oldest first (the default) makes getting rid of the bulk of your reviews easily. This reduces the chances of the number of cards building up to unmanageable levels.

    Basically, I think many of the points you raised are simply the fact that Anki doesn’t perform the way you were used to with Mnemosyne. It would be good if you could evaluate those points objectively instead of just being against change. And Anki can be customized fairly easily to behave similarly to Mnemosyne, so attacking the defaults when they work well for other people seems a bit unfair.

  2. Ryan A says:

    Demien,

    Maybe I’m doing it wrong, since I’m only guessing at the proper way to do SRS.

    The 8-12 hour interval is on cards I’ve yet to learn. So on Day 1, I implied that those cards were recently moved from New to Failed. By the morning of Day 2, I usually feel comfortable after a few reviews to grade them Hard (the 8-12 hour interval). The result is that these cards reappear that evening when I review, rather than the next morning (which I’d prefer).

    As far as the functionality, I believe it works correctly, to these settings, so if I were to review in the evenings, it would show me the next day. Perhaps my timing for learning new cards is off, but for a most cards, I only feel comfortable after keeping them in failed on the first day they appear, and if I start to remember them on the next day, I grade them with an interval (usually happens in the morning).

    Reviewing the group of previous days’ failed cards in the morning, then pushing ones I know to an interval, allows new cards to be put in the failed queue in the morning. I review the new cards from morning to evening, and the next morning I usually grade them with an interval (aiming for the next day). If there are no slots available in the failed queue, no new cards will come out [and no scheduled review cards will be reviewed; or so I've observed].

    [Maybe 'Failed' should be called 'Learning']

    Complaining that you had to change the settings so that Anki shows new cards in random order is unfair. It’s the same default as Mnemosyne.

    I’m not sure if the default ordering is the same in Mnemosyne, as I started without the random order setting, and never needed to change that setting. My thought is that Mnemosyne showed new cards in order per category, but it selected cards from multiple categories, regardless if the category’s contents are older than another category.

    I noticed that Anki does card level ordering over the whole deck, so if a set of cards are imported into a tag, and another set is inserted to a tag just after, the first tag’s contents will be learned first.

    Mnemosyne’s learning was spread evenly over the categories, cards in order, per category.

    This may not be entirely true, depending on how Mnemosyne compares card dates. If it uses the DATE, then cards imported anytime during a day will be considered the same age. Anki seems to use the full DATETIME for comparing age. I haven’t looked at the code, but it’s just a hunch.

    This would invalidate what I said about Mnemosyne learning evenly over categories, because cards imported at a later day would be learned later.

    [Hopefully that made sense]

    Many people have reported that new cards spread throughout reviews make the reviews more fun. If you have set a reasonable number of new cards per day, it’s not dangerous.

    I would have liked to do it this way, but once the Failed queue is full the reviews will not proceed. Again, could be error in my method.

    Reviewing cards in order of oldest first (the default) makes getting rid of the bulk of your reviews easily. This reduces the chances of the number of cards building up to unmanageable levels.

    The randomization of review is trickery I enjoy. As long as the review count isn’t over say 250, I personally don’t have an issue with large review sets.

    It would be good if you could evaluate those points objectively instead of just being against change.

    You’re definitely right about that. I suppose I send mixed signals on both Mnemosyne and Anki with these posts. I can admit being subjective about the change from Mnemosyne to Anki, so here’s some hard things I think would be good:

    • Textual statistics which don’t require the graphing library
    • A setting which specifies how to compare card age (by second, minute, hour, day)
    • Tips/tutorial on the way to study with the default options (I’m guessing that grading failed cards on an interval should happen in the evening)
    • Tips on the relation between Failed queue and New (if failed is full, no new cards will be shows, etc)
    • Something like Tip of the Day, or a repository of tips/hints (not really that important)

    Of course, I’m being unfair ^_^ that the way users work to stimulate thought and more intrigue. I think my personal issues could be cleared up if there was a good tutorial of how to set it up for the way a person wants to review, or some simple insight on the timing.

    Even if I have my grumbles with it, Anki is a great and sleek piece of software. I truly appreciate the comments from you, and it shows you are a committed developer, which is just as noteworthy since it shows the software has spirit and more possibilities… Honestly, Mnemosyne is solid and suffices, but it seems to be going Latin [much less possibilities].

  3. Damien Elmes says:

    Thanks for the reply.

    Adjusting the original 8-12 hours to something a bit bigger won’t do any harm. Anki should adjust the next interval to suit.

    Looking at the Mnemosyne source code, it looks like the default setting will show the cards in the order they’re added, just like Anki. It uses the order the cards are in the deck, not the day they were added. I may have missed something though.

    Re textual statistics, most users prefer the graphs. It would be easy to implement a textual report in a plugin if you wanted to.

    A setting to compare card age is unlikely - Anki has been designed to scale to decks of 100,000 cards or more, and such a setting would not be efficient.

    Your comments about the documentation are quite fair - it is lacking, and is something I plan to fix for 1.0, but the interface is still changing at this point.

  4. Ryan A says:

    Anki should adjust the next interval to suit.

    I noticed it feels better after the first interval is completed.

    I may have missed something though.

    Same here. I simply noticed that I had about 6 imported categories but the cards were being learned not from the first category imported; without the randomized learning setting.

    It would be easy to implement a textual report in a plugin if you wanted to.

    I may look into it, even just for a weekly outlook.

    Anki has been designed to scale to decks of 100,000 cards or more, and such a setting would not be efficient.

    I can see the issue of “what” to select when thousands of cards all have the same comparative age. The wrong selecting may take much longer, and may not be worth it. The randomized learning setting does well enough.

    Your comments about the documentation are quite fair

    Perhaps it is where my confusion came from. One thing that comes to mind is the Mark feature, which I was unable to see where I could look at marked cards other than in the Edit All window. I’m more clear after playing with it for a few weeks, but some friends and family installed it after I mentioned SRS and they were a bit confused as well. I think it is less about the exact use and features vs some general guidelines to studying.

  5. lolikitsune says:

    Clarification: graphs melt Jason.

  6. Ryan A says:

    So you’re not hot for graphs… /writes down in little notebook titled ‘lolikitianology notes’ XD

  7. Kitsune says:

    I’ve been using Mnemosyne for some time and quite pleased with it. There are many similar programs, but, based on what I read, they are not very reliable.

Respond

Comments

Comments