Skip to content


Update: Algorithm Reworked

Apologies to everyone for the slightly longer than planned downtime for this update! We’ve uploaded a revamp of our algorithm today in an effort to fill in many of the holes and gaps the old algorithm was causing to some of our users.  This new algorithm focuses on issues dealing with studying words in the long term, so actually many users may not notice any immediate change.  However, if you’re curious on how the new algorithm affects you, read on!

One big change, and probably the most notable to everyone, is in how the Repetition Factor setting now works.  Before, the repetition factor was loosely based on a word’s strength. A lower setting would have kind of ignored words that have higher strengths, allowing you to speed through a deck;  a higher setting would not ignore those higher strength words, letting users have the ability to repeat cards over and over if they liked.  This worked pretty well in decks with few cards, like the JLPT4 or JLPT3 decks, but had a tendency to create coverage gaps in higher decks like JLPT2 and JLPT1.

The new change is that now the Repetition Factor is directly related to the strength of a card, and it actually affects how much of a jump in percentage a card is affected by a right / wrong answer.  A low Repetition Factor would now cause a word’s strength to jump up much higher when correct than with a high Repetition Factor.  This also applies for when you get words incorrect.

Also, as the Repetition Factor’s role has changed, you may actually notice a change in how word strengths are judged from before.  A little tuning of the Repetition Factor in your preferences menu can help get back to the level you’re looking for.

Another change we’ve implemented is to fix the system for sorting out words students already know vs words they don’t.  An annoying point of the old algorithm was that it didn’t do the best job of helping users get rid of cards they absolutely know, so at times you’d be answering the same card over and over.  To address this, we’ve implemented a “combo” system into the algorithm internally so that you get credit for answering words correctly in succession.  In other words, your strength rating will increases the more times you get a word correct in succession.

We’ve also changed the way we deal with older cards.  Older cards are those ones that are probably hovering around your 50-75% range that you just can’t seem to make green no matter how hard you try.  Part of the reason was there was a bit too much randomness involved in how these were chosen, causing the algorithm to not always make the best choice.  Through *plenty* of testing, we’ve tried create an order to that madness and make sure the system will always choose the best choice possible.

The last change we made was to the kanji information popup when you click on a kanji.  We added in kanji stroke diagrams (courtesy of Kanji Cafe) as well as few other informational tidbits (stroke order, grade, and frequency), and arranged the layout slightly to be easier to read.

So let us know how the algorithm works out for you, and whether or not you like the new system!  If you have any questions about anything, please let us know at support@readthekanji.com .  We’ll be on the lookout for any trouble anyone’s having, and will be focused on fixing up any bugs lurking in the system in the coming weeks, so don’t be shy in sending any emails about problems you may be having!

Posted in Site Updates.

Tagged with , , , , .


7 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Keii says

    As for the changes (not concerning the algorythm), everything seems to be working more smoothly, EXCEPT for the “checking” animation. I don’t know if it’s just me, but it seems to be a bit on the laggy side and it was ok before the maintenance.

  2. Izimekko says

    oh so much of happiness! i’ve been waiting for this update for months now! finally i’ll be able to get an accurate measure of my word strength!

    ::whew::

  3. Izimekko says

    i’d like to add some meaningful comments on the new algorithm. first of all, it’s very refreshing. it’s nice to see that it takes into account how people actually study.

    however i’d like to point out a sort of bug in the combo system. i’m working on repetition level 2. if you get a card wrong *once*, it comes back into the deck until it’s yellow. if you get it wrong *twice* before getting it right, it comes back until it’s light green. this means that the card that you know less well is actually labeled as stronger!

  4. Izimekko says

    So some more work with three decks — 1kyuu – 3kyuu — and i think i know how the algorithm needs to be tweaked yet in order to provide maximum studying speed. Currently, the way the combos work is to increase the short term re-appearance rate. However globally, the cards are not actually being randomized. In fact, if I get a card in the first 100 cards of my deck, then there is zero probability that I will see this card 700 cards later.

    There are two reasons why cards should be randomized globally instead of locally. The first is false context. If the cards always show up surrounded by the same other cards, then I will learn them based on their location in the deck and not the kanjis themselves. The second is memorization value added. Seeing a card 20 times in a row does less for memorization than seeing a card 5 times with increasing distance between them. This forces the memory to stretch from short into long term. This is already being addressed somewhat with the word strength, but the actual randomizing of the cards is what helps with memorization.

    A suggested algorithm is the following:

    Assign each card a weight. Cards which have never been seen are assigned a weight of 5, for example. Each time the card is answered correctly resulting in an increased word strength will decrease the weight by 1 point. The deck randomizer then draws a card with even probability over the weights so that a card with weight 5 is five times more likely to be drawn than a card with weight 1. A time lag can also be inserted into the algorithm so that after a card has been answered correctly it is not seen again for X number of draws before being returned to the deck with its updated weight.

    The repetition factor can control how many times a card can be drawn before it is put on hold with 0 being one time and 10 being, say, 10 times.

    Thanks for all the hard work! Look forward to seeing what’s next.

  5. Wayne says

    I agree with Izimekko. Answering correctly an item X times in a row doesn’t really mean you really know it. You know it today (short term memory) and in the context of a this particular group of kanji. But will you know it tomorrow or next week, especially in the context of similar looking kanji. To move from short term memory to long term memory requires spaced reviews. The review interval should be frequent in the beginning and longer as it is gets fixed in long term memory. This is how Anki works. Each word should have a time stamp of the last review. The reviews should not be random but based on an aging process.

    Read The Kanji is trying to determine the memory strength of a word by the number of correct answers. This is inefficient. Only the user knows this. There needs to be a mechanism where the user can determine the strength of a word. e.g. check box that means: I know this word very well today and I don’t want to see it another 20 times today but I want to see it tomorrow. Or like Anki, have selection of “Again”, “Good” “Easy” “Very Easy” to determine next review interval.

    Well that’s my 2 cents! This is a great site! The physical act of entering the answer is the big difference over flash card systems. Thanks!

  6. L says

    I agree with Wayne. Have you heard of the spaced repetition system (SRS), like the one Anki uses? It was formulated based on research on how human memory works. Using such an algorithm would be a huge improvement, and together with your ready-made flash cards, pretty interface and checking what the user inputs, it would make your site the best for learning Kanji.

  7. Derek says

    A suggest I have for you to add maybe to add some more weight to the percent gained/lossed by how quickly one answers a question combined with the repetitive setting as well.

    Most of the time if you know something better you can answer it faster and well I experience this a lot whenever I review kanji I know or revisit hiragana/katakana once in a while to make sure I got that 100%.



Some HTML is OK

or, reply to this post via trackback.