Available on Google PlayApp Store

Feature-Suggestions for JCJP

Hi beeant,

continuing from the conversation in the feed I want to make a case for srs-systems:

In total I have about 1600 encountered items here on jcjp. I estimate that I am already quite proficient in about half of them - and this number is hopefully to increase.

So there are now hundreds of items that I practise at least once a month (oblivion list), altough I can easily remember them for a year or longer. This repetition time could be used for all the items, that I still have troubles with and for adding new ones.

The effort of practising items well known to you is increasing with your overall proficiency, because of the ever increasing number of items each month.

There are different systems out there, some getting quite complicated with trying to guess the exact time individual for each person/item just before you forget it.
But also some much simpler ones. For example:
Adding a LVL to each item. Whenever the item is answered correctly, the level is increased by 1. A wrong answer results in resetting the lvl to 0.

Now a Due-date could be calculated with the already stored "last encountered"-date:
Item.DueDate = Item.LastEncountered.AddDays(Math.Pow(LearningIntervalBase, Item.LVL))

The LearningIntervalBase could be set to a default of maybe 2 and could individually be changed by the user (not per item, but all the users items).

So the intervals of a correctly answered item would be exponentially increasing, strongly depending on the IntervalBase, which the user could customize:

LVL Base 2 Base 2,15
1 2 days 2 days
2 4 days 5 days
3 8 days 10 days
4 16 days 21 days
5 32 days 46 days
6 64 days 99 days
7 128 days 212 days
8 256 days 457 days
9 512 days 982 days

I would then expect a new menuitem in the TO DO section, which selects the items, where the duedate is past the current date.

Of course there would be many options to finetune this... maybe randomizing the intervals by a few days, so not all items come up at the same time.

But with a system like this, after only a month of studying, you clearly separate the items that require more attention from the rest.

Cheers =)
posted by Codewolke

Comments 40

  • Codewolke
    Codewolke
    As a second suggestion I would add:
    Currently I see how many items I practised each day (attendance). But whenever I practise an item in a different way (weak-list, oblivion) this does not show up in my history. I think everything that is included in the exp-system (practise, lessons, readings, notes, weak, oblivion,..?) should also be added to this statistics.
  • mog86uk
    mog86uk
    It would be very nice to see something like this. Oblivion could also still work, just changing the number of days before an item is sent to Oblivion from 30 days to SRS learning interval number of days specific to each individual question.

    Slime Forest Adventure has an interesting way of using SRS. It gives the user a "Trainer Tuning" menu where you can increase and decrease the sensitivity and intervals of the SRS algorithm to suit your own personal tastes. Such as it lets you specify how strongly the system should react to incorrect answers. Might be worth checking this out too for some additional ideas. I would really like to see a menu like this for JCJP, although the encounter algorithm changed a couple of days ago was a very nice improvement already. ^^
  • beeant
    beeant
    @Codewolke
    thank you for your explanation, I like the idea of separating the items that require more attention from the rest.

    So based on my understanding, I need to add something like an SRS-level parameter where it increases on correct answer and reset to 1. (Actually JCJP had that parameter since the beginning of JapaneseClass. Exactly the same system, but after the implementation of weak list, I ignored that parameter)
    So I'm fine with this.

    So the LearningIntervalBase is a dynamic variable that depends on each user's memory ability?

    So overall the more you answer an item correctly the later the due date is.

    This is nice!

    Is my understanding correct?

    If it is, what if the user never answer anything wrong? and all the due date is 982 days, the practice should just go to fallback and give a random question then?

    And If the user never answer anything wrong, then there won't be any short-term repetition, something like to confirm that the user is not just lucky-guess the option?
  • beeant
    beeant
    After grasping more understanding, thinking more about it, and also discussing it with @mog86uk, I think I will implement this SRS system ASAP! This SRS actually solves many problems that JCJP have!

    1. Improving the oblivion system. The current oblivion system puts vocabulary/kanji into oblivion list when it's not encountered for 30 days. This doesn't make sense because of two problems. First, it treats all vocabulary/kanji to have the same oblivion rate (30 days). Second, this is endless, users need to clear a big oblivion list every month.

    So with this SRS system, these two problems can be solved as each vocabulary/kanji would have different oblivion rate, and because of that, it is possible to have a cleaner or smaller oblivion list, and with more intensive update to the oblivion list.

    2. After understanding the SRS system, I realized that the current system in JCJP is actually going to the SRS system direction. For example, the LearningIntervalBase is actually the OblivionRate in JCJP which is 30 days.

    3. As for what you expect, "a new menuitem in the TO DO section, which selects the items, where the duedate is past the current date." Actually, JCJP already has this, which is the oblivion list.

    Thank you so much for your explanation, I will start working on implementing the SRS system as you explained!
  • Codewolke
    Codewolke
    Great news!

    I was thinking about your concerns if a user just gets lucky (with the 25% chance of being right every time) and moving up to long-term repetition.

    To solve this problem, you could add more short-term repetitions in the beginning... by changing the formula to:
    Item.DueDate = Item.LastEncountered.AddDays(Math.Pow(LearningIntervalBase, Item.LVL - GuessProtectionLvl))

    With a GuessProtectionLvl of 3 you would need 3 additional lucky guesses to get to the higher levels.

    Will have a look at Slime Forest Adventure as mog86uk suggested tonight to get more ideas.

  • beeant
    beeant
    I just tried to write the codes for it, and it actually is a little more complex than I thought. The algorithm needs to be adjusted right.

    In the Leitner system, it uses the term "box" instead of "level", so let's use box instead of level, as the vocabulary/kanji in JCJP already has level.

    So while writing the codes right now, I came up with lower bounds and upper bounds of -10 ~ 10 for boxes. This is implemented because in JCJP, once you give a wrong answer, you need to answer it again until you got the right question. So if you got an answer on the first trial, the question will go to box 1 from 0. So to solve problem, on first wrong, the question will move to box -1.

    There's another set of rules applied in the codes like:
    - oblivion_date only has value when box is more than 0, otherwise it is null
    - oblivion_date is only updated when NOW has passed oblivion_date (hit due date)
    - box is only incremented when oblivion_date is null OR NOW has passed oblivion date

    So I think the implementation of -10 ~ 10 is somehow good, later we can have a page where we have 20 boxes, from worse to best vocabs/kanji we're at. Or 20 boxes might be too many. should I narrow down the boundary to -5 ~ 5? -7 ~ 7?
  • beeant
    beeant
    other than Oblivion indicator that will change, I think the indicator for Weak, Good, and Excellent status would change too.

    The current system is indicated by the percentage of total correct. (correct/'correct+wrong)) where 100 is excellent, 99 - 60 is good, and below that is weak. This percentage may not indicate any status anymore when the new algorithm is released. If I think about it, those number of correct and wrong shouldn't mean anything to the status in our memory, they should be just numbers or maybe for other use in the statistics?

    Instead, the vocabulary status will be indicated by which box the vocabulary/kanji is located.
    from range -7 ~ 7, weak to good to excellent.
    _____________________________________________________
    (WEAK -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 EXCELLENT)
    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯GOOD¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

    Something like this.

    What do you think?
  • Codewolke
    Codewolke
    Sorry for the big delay in responding... I blame the time difference from europe to japan ;)
    I think the 15 boxes (-7 to +7) would be enough and also a pretty good indicator of how well you know an item NOW.
    Maybe you had it wrong a few times in the beginning, but when you got it right for 10 consecutive times I would say it is proper to give the status excellent.
    So in the new system the order of correct/wrong answers over time would make a huge difference - which is correct in my opinion.

    A page to display all the boxes and how many items each contains would be really sweet.

    What I'm not so sure of is the negative boxes. Is there a degree of not knowing something? If you start an item with 0 (don't know the item), should it be moved to a lower box if you answer it wrong?
    What would be the due-interval for the negative boxes?
  • beeant
    beeant
    It's ok, no problem.
    I'm just wanting to make sure that I'm implementing SRS in the right direction. So I need some confirmation and validation.

    So, seems like what I've been coding has been moving on to the right direction, as you can re-explain it well in a shorter words!

    As for negative box, yes, if you turn that number to measure the knowing level, negative number can mean less then not knowing, while 0 is don't know. However, from what I've been thinking, the negative boxes has two different purposes:

    1. the negative number can also mean some kind of a punishment for the user to answer it wrong, and need to make up for that. So if the user made consecutive mistakes 5 times, the user will have 5 (box -5) punishment points that he/she needs to make up for, to reach neutral status (box 0).

    2. To improve the current Weak list feature in JCJP. The current Weak status on JCJP is indicated by the percentage of correct/(correct+wrong) of the question. So with negative boxes, the Weak status will no longer be indicated by that, but by the value of the box, which is when it is in negative box.

    These are what I meant by having negative boxes. What do you think?

    As for the oblivion date (due date) of the negative boxes, they will be treated the same as box 0, which is not having any oblivion date or null oblivion date. As I mentioned in one of the rules before, "oblivion_date only has value when box is more than 0, otherwise it is null". (is this how box 0 should work though? not having any due date value?).
    If the base interval is 2, Math.pow(2, 0) would be 1, so it will be less than what you will get if you have Math.pow(2,1), which makes sense. But there are 2 problems if I do this on JCJP:
    1. in JCJP, the Practice page is meant to have endless questions. But, this can be solved by the fallback fetch when the SRS fetcher has finished the list for the day/moment though.

    2. When you answer it wrong, I think it shouldn't go to the oblivion list, but it should go to the weak list? or is it good to put it to both list?

    After explaining this I feel that box < 0 shouldn't have null oblivion date. What do you think? should it have oblivion date?
  • Codewolke
    Codewolke
    Mhh... OK that makes sense.
    I think you can still set a oblivion date, but not too far ahead.. Actually math.pow(2, box) results in a value <1 when the box is negative, so oblivion date would be within a few hours or even minutes (11 minutes in box -7). IMHO it is important to not advance boxes if you are practicing before the oblivion date... Otherwise you could advance an item to max interval within a day with practice mode and then not see it again for years.
  • beeant
    beeant
    I was thinking that one of the difficult part in adjusting this system is to adjust whether the exponential function should be used to add the oblivion date by days, hours, or minutes. If it's by minutes, maybe the oblivion list will start to be crowded in 1 day or even few hours. But oppositely, it might be too long to put a vocabulary/kanji to box 7. So after tinkering around with spreadsheet, I got a better grasp of understanding about it, and I think base 2 add by days from the example you gave is pretty much optimized enough for JCJP.

    As for the not advancing an item to max within a day, I set it to increment the box when the item is in oblivion list (the current time has passed the oblivion/due date), as I mentioned on one of the rules, "box is only incremented when oblivion_date is null OR NOW has passed oblivion date"

    It takes about (128+64+32+16+8+4+2) = 254 days or 8.4 months to actually put 1 vocabulary/kanji to box 7 (excellent box). Does this make sense though? It makes sense for me (still not 100% though).
    With this new feature I also think that JCJP is like a farming/breeding game, where you need to grow each vocabulary/kanji in a certain period of time.
    So I think instead of having weak good excellent status, we will also a STAR point which represents the box number. So you will have something like 1★, 2★, ... 7★. And to grow each vocabulary/kanji to 7★, it will take 254 days at least.
  • beeant
    beeant
    I forgot to include the link to the spreadsheet, https://docs.google.com/spreadsheets/d/1RQ5X4plr9pL6fYVtGUPRU9BFiZG0MtEwEah1FxnxkE0/edit#gid=0
    If you have any suggestion to optimize it, please feel free to edit
  • Codewolke
    Codewolke
    Sounds very good. Had a look at the spreadsheet and would suggest to add 2 more boxes on each side. So the final oblivion date in box 9 would be greater than a year.
    I also think this feature is creating even more of a game character - which should be beneficial for everyones motivation to keep going =)

    Like the ★ system... immediately gives you a good feeling.

    Was also wondering if you were planning to add all the items to this system, or limit it to the items from the lessons?
    Because especially for the advanced users it would be great to add their own items through the current Readings/Notes features.
  • beeant
    beeant
    As for now I think we can stick with 14 boxes in total :)
    Because I like it to be 7★. and I think more than one year is kind of too long. If it is exactly 1 year then there can be something like a mathematical magic, so I would do it.

    Yes, I also like this spaced repetition system. Thank you for your explanation, it forces me to start trying to understand the system.
    As for now, I can think of many extension to this feature, such as like you said, to motivate everyone to keep on going over a long period of time, maybe by having some reminder system, I also think that there can be something like Oblivion Calendar feature, where you can map the vocabulary/kanji due date.

    Yes, but there might be some problem. Like if you do have a lot of notes, you might be overwhelmed with oblivion list. This is because the note and reading vocabulary is somehow disconnected from the lesson vocabulary. For example, if you answer say, 学生 in the lesson/practice, it will have a different database record of vocabulary status (the number of ,wrong,box, oblivion date) with 学生 that you answered in Note/Reading. I wish that I had a better planning when I implemented note/reading feature.

    So I think will add this SRS system to note feature, just to record the box/oblivion date, but there won't be any interface to see the oblivion list yet. And when I think I have more free time, I will work on merging the vocabulary status of note/reading and lesson. I think that I need a peace of mind and consecutive free time to do this accurately, because I don't want to break the integrity of data.

    Actually the note quiz is in need of the spaced repetition system. If the time of implementing SRS for note has come, I think I would implement the spaced repetition slightly different with practice because a note's test is a quiz, unlike practice, it has an end. So in the Note quiz, the spaced repetition system might be more like the original SRS algorithm, which has the end of practicing it for the day, or not necessarily?
  • fuonk
    fuonk
    beeantさん,
    I'm glad you have decided to implement a spaced repetition algorithm. I think it will improve the performance of the site greatly.
    I have only one small suggestion to make at this time. There are two different ways a user can get a question wrong. Some questions test knowledge of the meaning of a vocabulary item; others test whether the user knows the exact pronunciation of a vocabulary item. There are at least three different kinds of mistakes in pronunciation a user can make. One is using the wrong 読み for one of the kanji; another is failing to distinguish between short and long vowel sounds (or the presence or absence of っ); and another is misreading a hiragana (for example, there are many questions which substitute あ for お, or vice versa). Of these three, using the wrong 読み for a kanji should definitely be treated the same way as not knowing the meaning of a vocabulary item; it means that the user doesn't really know the word, and is using his or her knowledge of kanji to substitute for knowing the word. The failure to distinguish between short and long vowel sounds is a borderline issue; it is certainly an important part of "knowing the word", but it is not really the same as not knowing the pronunciation of the word at all. Making a mistake in reading one of the kana, on the other hand, really has nothing to do with knowing or not knowing the word; it's not clear that the level should be adjusted at all.
    Actually, I have some doubts about the usefulness of this kind of wrong answer. It may be somewhat useful to the beginner who is just getting used to kana, but for a more advanced learner, it is a bit of a nuisance. The mistake is more likely to result from seeing what one expects to see rather than what is really there than from genuinely failing to identify a kana correctly. It is well known that if you scramble the letters of some of the words of an English sentence, as long as the words start with the right letter, an experienced reader of English will often make corrections automatically and not even notice that the words are misspelled. It might be better to separate the issues of vocabulary testing and kana recognition.
  • beeant
    beeant
    @fuonkさん

    Actually those wrong options in the answers with the presence or absence of small っ and あ or お are there on purpose.
    1. It's there to be the tricky part and meant to be a trap question. I remember when I was in school some of my teachers like to put traps in exam questions. Not really sure if they are actually effective / efficient for learning though.
    2. It's for users to be more careful in reading and writing Japanese. Also when you're typing, like when you type using IME, and you want to turn the kana you typed into kanji.
    3. Some words with the presence or absence of small っ can sound similar but have different meanings. Either one of presence or absence can even have no meaning.

    Two to three days ago, I was texting with one Japanese person. I said またく (in text), and her reply was "またく??", and then I quickly search for the correct spelling, which was まったく. I'm not sure whether she did that for me just to make me learn the correct spelling or she really couldn't guess that I was trying to say まったく. So I think it's important to be detailed in knowing the spelling of the word, not just remembering the sound.

    When I do text messages with Japanese people, they seldom make any typo-error. Almost never. I can't really remember I've ever seen one. Maybe only once or twice.

    What do you think?
  • fuonk
    fuonk
    I understand that those misspellings are there by design. As I said, I think they have limited usefulness for vocabulary learning. The あ/お and は/ほ substitutions are particularly unhelpful; all they do is to force the learner to read carefully kana by kana, which is not in fact how one usually reads text in any language. It is really not productive to encourage such slow reading.
    There is more point to the ほ/ほう substitutions and the しゅ/っしゅ substitutions, since learners who make the wrong choice are not listening carefully enough to the words. It is still debatable whether making one of those wrong choices should count the same as choosing a spelling with a completely wrong syllable (perhaps one suggested by an alternate 読み of a kanji).
    It doesn't surprise me that Japanese people seldom make typing errors. Since there are many sound-alike words in Japanese, one has to watch carefully when one types to make sure that one gets the correct kanji when one hits the space bar. The substitutions mentioned above will also result in the wrong kanji. Reading is a different matter, though-- I would be very surprised if Japanese people look at each and every character separately when reading, and I think it is counterproductive to teach people who are learning Japanese to read that way. Your tests are primarily tests of reading, not of writing.
    I do think that questions where the user is required to type in the kana of a pronunciation (instead of making a multiple choice selection) would be a very useful addition to the site, and that correct answers to such questions should be worth more than correct answers to multiple choice questions. I understand that there would be a considerable amount of work involved in implementing that kind of question, however. Such questions would both promote more accurate memorization of words and train the user to do what is really involved in typing them.
  • beeant
    beeant
    To force learner to read carefully kana by kana, that's actually one of the purpose. Otherwise some questions are going to be so easy. I got annoyed too when I see them. But I think that sometimes we need to make ourselves uncomfortable to change and improve. I agree that it somehow is counter productive though.

    Another reason I made those options to be like that is because making those multiple options for kanji questions is not that easy, so switching the あ/お, は, ほ is one of the easiest way to do. I think that the ideal multiple choice options for kanji question can be the readings of similar kanji. But to generate them automatically, I have to write codes that analyze the similarities between different kanji based on the kanji radical. Also, I wish that I can have the freedom to curate them one by one too. So I think I need help from users to edit them after I'm finished with the interface I talked about before. What I can do right now is to code the interface for users to edit them (which might takes time depends the amount of work I have), or I can edit them when anybody post a report about it (would be helpful you can provide some alternatives to replace those options).

    As for the typing feature, we had that feature before, but I had to remove it because I made the site to also work on mobile. and at that time I had an iPhone 4 with a vertically small screen. I could've just remove it only for mobile though. However, I remember that mog86uk wrote a script that can be a plugin for that feature.
  • Codewolke
    Codewolke
    Hi beeant,

    regarding the 14 boxes and mathematical magic... was tinkering a little with the formula.
    If you shift the box up 1.5 just in the OblivionDate-calculation like that:
    Item.OblivionDate = Item.LastEncountered.AddDays(Math.Pow(LearningIntervalBase, Item.Box + 1.5))

    You end up with 1 year repetition time in box 7.
    As there are also 7 negative boxes, I think there are enough short-time repetition boxes available for the items that one is not so good at yet.
  • beeant
    beeant
    @Codewolke

    You're a mathematical magician.
    I kind of hesitating right now about whether there should be a minus (-) ★ or not. I thought those minus ★ can be used to replace weak list, but now I see that there are some conflicts: users can't clear the weak list before the due date, which may lead to confusion, and also EXP abuse (you can do the weak list quiz with repeated questions).

    So I think there will still be Good, Weak, and Excellent vocabulary status, along with ★ points together.
    So the Good, Weak, and Excellent vocabulary status will represent the correct/wrong percentage.
    While the ★ points will represent the spaced-repetition point.

    What do you think about keeping these spaced-repetition point and vocabulary status together, is it too much? If it's ok, we need to come up with good terms to name ★ points, at the moment I can only come up with spaced-repetition point. Also, if this is the case, the lower bound for box will be 0.
  • beeant
    beeant
    I've finished writing the codes for the new spaced repetition system. It is ready to be deployed now.
    But before deploying I want to share the set of rules for the new spaced repetition system:

    1. Database record addition: box, and oblivion_date.
    2. box: the value of spaced-repetition point (0-7, lower bound: 0, upper bound: 7).
    3. oblivion_date: due date of when the question should be repeated.
    4. spaced-repetition point/box will be increased by 1 point when a question is answered correctly after the oblivion_date/due date.
    5. spaced-repetition point/box will be decreased by 1 point when a question is answered wrongly, regardless of oblivion_date.
    6. when oblivion date is due, the vocabulary/kanji will go to the oblivion list.
    7. oblivion date will be calculated by exponential function (now + Math.pow(2, box)).
    8. the value of box will be represented as ★ which will be shown along with vocabulary status (weak, good, excellent) on lesson page, chapter test, quiz, practice question, encounter history, and latest encounter.
    9. the value of oblivion date will be used to indicate oblivion status shown in yellow color.
    10. spaced-repetition point/box will be 0 when a question is answered wrongly on "new" question.
    11. spaced-repetition point/box will be 1 when a question is answered correctly on "new" question.

    I have talked with @mog86uk and discuss about this, @Codewolke, @fuonk and whoever following this topic, please let me know if you notice anything wrong, missing, or any other suggestion.
  • fuonk
    fuonk
    I assume that there is a copy and paste error in rule 11, and you meant to say "... when a new question is answered correctly." [By the way, "... when a new question is answered incorrectly" would be more natural for rule 10.]

    I don't know whether it is a good idea to bump the level up to 1 the very first time the question is answered correctly. That correct answer may indicate that the user already knows the word, but it may also be the result of a lucky guess. In the latter case, waiting two days (are days the units in rule 7?) may be too long; even one day is a long time between the first two times one is tested on a word.

    It might be nice to have a mechanism by which a user can increase the level on any vocabulary item (in other words, a way the user can ask to be tested on that item less frequently). One should not allow the user to decrease the level, however, since that invites abuse.

    As I mentioned before, wrong answers due to misreading kana (e.g. あ and お, は and ほ) really doesn't have anything to do with how well the user knows the vocabulary item, so perhaps it should not trigger a decrease in level. This issue is less clear for other kinds of misspellings (e.g. は・ば・ぱ, ほ・ほう or た・った), since those errors could be either careless errors or not really knowing how the word is pronounced.
  • beeant
    beeant
    Sorry for the copy-paste error, I just fixed that. I need to get some sleep.

    Yes, I agree that the box should also be 0 on rule 11 (answering new question). This is because it has not bet "repeated" yet at this point. This will make the next oblivion date to be 1 day later.

    If there is no chance anymore to answer the same question before the oblivion date, then 1-2 days can be too long. But you can still encounter the same question in the fetch fallback if you don't have anything in the oblivion list. This delay can actually be the fun part, because
    1. you know that the ★ point indicates how long has that vocabulary sticks in user's memory.
    2. Increasing the ★ points can be more challenging.
    3. users need to clear the oblivion list as soon as possible or it will take longer to get to 7★
    4. this can be the gaming/fun/challenging part of JCJP, as it has a timer like in farming game.

    Locking the box/★ points from decreasing and manually increasing the box/★ points can break some of the purpose above. And I want to keep user settings simple to the minimum, as too many custom settings can be confusing for new users. I understand that you have been annoyed by over-repetition in the current system. I'm sorry for this, but I think this new spaced-repetition should reduce over repetition. If it's still the same, then I will try to find a way to make them appear less. What I can think of right now is the make 7★ items to no longer be appear before the due date.

    I understand that in kanji question it's about reading the kanji not the kana. Let's discuss about this later on, as I still think that there's still a purpose to it, and it's not easy to create multiple choice answer options for kanji questions.

    As for the careless errors, I think decreasing the box by 1 is still generous, in some srs system like Leitner system, "In the Leitner system, correctly answered cards are advanced to the next, less frequent box, while incorrectly answered cards return to the first box." (https://en.wikipedia.org/wiki/Leitner_system). It puts back the item back to box 0 when it's answered incorrectly.
  • Codewolke
    Codewolke
    nice work beeant!
    you implemented the system in less than a week... impressive.
    I'm not sure if the 8 boxes are enough (no real short term repetition for new or very weak items, and max. 4 months repetition for even the easiest items) but something like that can be easily changed at a later time, when there is more feedback from the users.
    Looking forward to test the srs as soon as it is released.
  • beeant
    beeant
    I think I will release it right now! :)
  • beeant
    beeant
    New spaced repetition algorithm has been released!
  • mog86uk
    mog86uk
    Ooooh. And I notice you sent out an interesting email to users related to this release. ^^
  • fuonk
    fuonk
    Congratulations on completing the new algorithm! There may be details which need to be worked on, but I'm sure it will be a great improvement.
  • fuonk
    fuonk
    I just did a hundred or so practice questions, and it seems to be working very well. I was asked only one question about a word which I have already answered correctly more than 30 times (in previous sessions, at least a tenth of the questions were of that type). Most of the words I was asked about are words that I have only been asked about a small number of times before, and there was a good sprinkling of new words. This made the practice session much more useful for me than practice sessions have been in the past.

    Obviously, it will take time before the longer term implications of the algorithm become noticeable, but this is already an encouraging beginning!
  • beeant
    beeant
    @mog86uk
    Thank you for reading the email! I spent quite some time writting that email, proofread it several times making sure everything is said properly.

    @fuonk
    Thank you! Glad to hear that it works well for you. I just did some fix to get rid of any repetition. So there shouldn't be any repetition in the practice questions. Unless you have some items in your weak/oblivion list.
  • dpi209
    dpi209
    Bummer. I especially liked that JCJP was NOT using a SRS like anybody else and their dog. Sorry to hear about that. Nevertheless, good job on incorporating a new system in record time, beeant!
  • beeant
    beeant
    There's actually someone like you who think that way. I thought the same before I actually know the details on SRS. However, after Codewolke taught me the details about it, I started to like it. The SRS in JCJP might be implemented differently, and I tried to improvise it to make it more interesting, such as adding spaced-repetition / ★ points, I'm planning to make several additional features to support and make spaced repetition more interesting.

    I have done a lot of considerations before implementing the new spaced-repetition algorithm. It actually just a replacement to JCJP oblivion feature, it is in fact still the oblivion feature. It just that it has been improvised to make more sense, such as not having a fixed indicator of "30 days latest encountered" to put a vocabulary/kanji to the oblivion list. Instead, we will have a dynamic due date of oblivion. Please try our new spaced repetition system, I think you will like it. It is not like anybody else, It is unique in our own way as it has been adjusted to fit JCJP system. I think you will like it! :)
  • dpi209
    dpi209
    No worries, beeant - I know I'm a special case when it comes to learning (must have to do something with teaching old dogs new tricks), but I also know that spaced repetition is beneficial for most learners. I'll definitely try it out, that's for sure!
  • A3agnos
    A3agnos
    beeant you are great. Thank you! :D
  • beeant
    beeant
    @A3agnos
    Thanks to Codewolke who made SRS clear to me. Also everybody who gave valuable inputs to it. :)
  • beeant
    beeant
    @dpi209 you should have some items in your Oblivion list by now. How do you like it so far?
  • dpi209
    dpi209
    @beeant: To be honest, I'm not quite sure what changed, besides of some items getting stars - which was to be expected considering your change to mark SRS levels with stars. I "think" I don't get duplicate questions any more as opposed to before. I don't have an Oblivion list any more, though. Should I have one?
  • beeant
    beeant
    If you answered anything wrong 1 day ago, then you should have some items in your oblivion list. But if you answered everything correct since two days ago, you should have some items in your oblision list by now.
  • dpi209
    dpi209
    Okay, now I understand your implementation, and bits finally started clicking into place. That's actually quite a bit better than on other sites where you're constantly limited to what you can practice. Good work!
  • mog86uk
    mog86uk
    @dpi209, Ah, I get what you mean now. Yeah, that's why I never got into using Wanikani. Some days I feel like doing lots of Practice or answering lots of questions to get past the low level stuff, but Wanikani constantly limits how much you can practice.

    JCJP's SRS system has been evolving over the few days since it was first implemented. At the start it wasn't working properly at all. (The stars weren't upgrading; words were repeating when they shouldn't have been; ...) These bugs have been getting fixed, and now for the last 24 hours it seems to be working much closer to how it was intended to. I think there may still be a few more parts to it which have yet to be ironed out too.

    I've already noticed, even though I've been using the site a long time and know most the answers very well, that the 0★, 1★, 2★ increasing intervals for the question being repeated is significantly better for helping me improve on the words I'm not so good at remembering. I don't know how well it will translate to higher stars and getting words more solidly into long term memory. But it's too early to judge whether I like the new SRS system or not until it is fully completed and everything about it is working properly. I'm pretty hopeful with how well it's going so far though. ^^
Codewolke

Share