-
-
Notifications
You must be signed in to change notification settings - Fork 139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider the time period between card creation date and first review date in S0 calculation #713
Comments
I don't think that's possible
|
After spending this year in the forums, I think most users make their own cards rather than get shared decks. Could be useful for a lot of people. Just throwing an idea out there, note modification date might be better than card creation? You can modify a note to change the flashcard's formulation. Or you may cloze some additional parts of the note to create new cards. |
card creation date is deduced from cid, which is obviously available
In general, the time difference would be much larger for pre-made cards. Just for research purposes, one can filter out cards whose first review was done at least 1 year after card creation date. Once we get some idea on how to use the info, we can develop a better filter.
One crude idea: For each first rating, group cards by x. For each first rating, find a curve that fits the S0 values for each value of x. |
Oh, so cid is a unix timestamp? Interesting, I didn't know that. I don't understand your suggestion, though. Wouldn't that result in having to calculate tons of S0's for every possible x? X is days between the card creation date and the first review, right? |
Yes, but after that, we can try to find a curve that fits most of them.
In Anki, almost every type of |
Can you write some Python code or pseudocode to make it easier to understand exactly what you have in mind? |
I still don't know how would the data (S0 for each X) look like. Once the data is available, we can try to find a function that can relate S0 and X so that we won't have to store the values of S0 in the parameters. After that, we will just need to store the 1-2 parameters that will be required in that function. |
Alright, but I still don't think that this is better than just calculating S0 the way it's done right now. |
Just to record my thoughts:
When the user makes a card themselves and reviews it in Anki, they are not using Anki to learn the information. Rather, they are using Anki to retain what they have learnt from other sources. So, if the first rating is Good, it means that they could successfully recall what they learnt earlier outside Anki. So, realistically speaking, we are calculating the next stability and not the initial stability. Clearly, the next stability depends upon the previous stability (the one before the first rating). Unfortunately, we don't have a good way to measure the previous one. But, at least, we can say that the cards rated Good after 30 days will, on average, have a greater stability than the cards rated Good after 7 days. Currently, FSRS treats these cards in the same way. Calculating the S0 separately after grouping the cards by number of days between card creation and first review will likely improve the calculation of S0. A quick and dirty way to test this idea:
Advantage over the previously proposed method:
Disadvantages over the previously proposed method:
|
That is not true. There are people (I for one) who are using Anki as the starting point from which people begin to acquire information. |
If you are creating your own cards, you must first see that information outside Anki, right? It's ok if you don't know it that well but you still know it at the time you are creating the card. Even if I my assumption about your use-case is wrong, there are at least some (or maybe even many) people who Anki to retain the information learnt outside Anki. I believe that my suggestion would significantly improve the accuracy of FSRS for them. Once we have it working, we can discuss how to identify the users who Anki in this way. |
Honestly, I highly doubt it will be worth it, and it will probably be very difficult to figure out how to calculate the new S0. So unless Jarrett wants to work on it, I don't think this will be done, since I don't see the point. |
Consider three cards:
Good
todayGood
todayGood
todayCurrently, FSRS assigns the same S0 to all of these cards. But, if we can find a way to use the time period between card creation date and first review date in calculating S0, we can assign a higher S0 to Card 3 than Card 2 and Card 1.
Obviously, this feature will be useful only for people who make their own cards and not for those who use pre-made decks. But still...
The text was updated successfully, but these errors were encountered: