Skip to content
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

[Feature Request] Change to difficulty on new cards #627

Open
Nightdkz opened this issue Mar 23, 2024 · 3 comments · May be fixed by open-spaced-repetition/fsrs-optimizer#81
Open

[Feature Request] Change to difficulty on new cards #627

Nightdkz opened this issue Mar 23, 2024 · 3 comments · May be fixed by open-spaced-repetition/fsrs-optimizer#81
Labels
enhancement New feature or request

Comments

@Nightdkz
Copy link

Nightdkz commented Mar 23, 2024

New card difficulty is always the first button you press. This makes me just press again every time. I had an idea for a potential change that would at least add a bit of variety to the difficulty of new cards and spread them better.
Maybe this could even help with data collection.
This would add better support for multiple learning steps within the same day too, but even a 1 learning step could benefit.

Let's say new cards get D:83% for again, D:66% for hard, D:50% for good, D:33% for easy

If a card is reviewed 4 times within the first day, I would like a feature to make the difficulty the average. If I hit 1, 1, 2, 3 it would have the final difficulty of 70.5
I have a second possible distribution that accounts for the danger of setting the difficulty lower than it should be.
If the first was a 1 (or maybe regardless of it) do the average of all but the last difficulty. This is a more conservative approach that considers the fact you had to press several buttons as a sign your actual difficulty is probably closer to the first than the last. Putting a higher weight on the first is also a possibility. In the example, it would be 77.3

New cards have a completely different ecology from review cards, and I imagine finding a good approach to be hard for the people developing it. This option doesn't have any data behind it, but it follows a simple assumption. if you are doing more than one or two reviews on the same card on the first day, the first button you press is, by definition, not the real difficulty. The real difficulty must be somewhere in between the buttons you did press. Anything in-between is likely better than just the first, especially if you discount the last.

@Nightdkz Nightdkz added the enhancement New feature or request label Mar 23, 2024
@L-M-Sherlock L-M-Sherlock transferred this issue from open-spaced-repetition/fsrs4anki-helper Mar 24, 2024
@L-M-Sherlock
Copy link
Member

Due to technical limitation, FSRS cannot take the short-term schedule into account. If a card is reviewed 4 times, the last 3 reviews are invisible to FSRS.

@Nightdkz
Copy link
Author

Nightdkz commented Mar 24, 2024

Is it impossible to make an addon to just do the average of the 4 reviews and replace the first value with it? If that's the case, maybe it can't be helped.
Could you clarify on the limitations? Would it affect FSRS if there was an addon that change the D value for the card? My idea is to do this only for learning cards, not relearning cards. I wouldn't want to change anything after the card is already in the FSRS ecosystem, I imagine that's a recipe for disaster.
So instead of D=83% if my first press was again, it would replace it with a custom value based on what I mentioned before.
If this can have an unintended impact on FSRS, then I am out of ideas.

Regardless, thank you for taking the time to respond and for the amazing work.

@L-M-Sherlock
Copy link
Member

L-M-Sherlock commented Mar 25, 2024

The helper add-on doesn't include FSRS model. It just calls the FSRS API which is built in Anki.

If there was an add-on changing cards' difficulties, the built-in FSRS don't know it in scheduling and optimization.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants