open-spaced-repetition / fsrs4anki

A modern Anki custom scheduling based on Free Spaced Repetition Scheduler algorithm
https://github.com/open-spaced-repetition/fsrs4anki/wiki
MIT License
2.6k stars 127 forks source link

[Feature Request] Change scheduling based on the type of card used #616

Closed Xemorr closed 7 months ago

Xemorr commented 7 months ago

Which module is related to your feature request? Scheduler Is your feature request related to a problem? Please describe. I use many different types of card: basic, basic and reversed, cloze cards (split into my own types called Properties and Process), Image Occlusion etc. I imagine these have different difficulties to learn, it might be more optimal to have parameters for varying the scheduling based on type of card being studied.

Describe the solution you'd like Maybe, training different parameters per type of card or a parameter per card that just changes the difficulty - I don't care too much about implementation details.

Describe alternatives you've considered Separating into different decks by card type, but would ruin my current way of organising cards.

Additional context Add any other context or screenshots about the feature request here.

Xemorr commented 7 months ago

I'm not sure if this has already been considered, but I think it might be an interesting area to look into for improving FSRS

L-M-Sherlock commented 7 months ago

Why not put them in different decks with different presets? In that way, you can optimize FSRS for different types of cards.

Xemorr commented 7 months ago

Why not put them in different decks with different presets? In that way, you can optimize FSRS for different types of cards.

I'd consider doing it as an experiment to see whether it's more effective, but it's a bit of effort to sort new cards into their respective deck. Maybe I'll give it a go tomorrow

L-M-Sherlock commented 7 months ago

How about your experiment going?

Xemorr commented 7 months ago

I'd forgotten to give it a go, I've reorganised my cards by card type now and at the very least it seems like there's merit to my theory.

Basic, and Basic and Reversed (don't have enough basic and reversed to separate on its own) RMSE: 1.9% Process/Cloze/Image Occlusion - RMSE: 4.52%, 370 cards. Properties - RMSE: 8.31%, 215 cards

Only annoying thing is that the RMSE is also correlated with number of cards and therefore probably the number of reviews I've done.

If I copy and paste my basic weights onto the weights for properties, I get an RMSE of 8.8%. If I copy and paste my basic weights onto my weights for Process/Cloze/Image Occlusion I get a RMSE of 5.5%. Copy and pasting Process weights onto Properties cards gives me a lower RMSE, so I'll merge those two classifications together.

Process/Cloze/Image Occlusion/Properties - RMSE: 3.57%. I guess these card types are similar enough for the benefit of extra data to outweigh the difference. If I copy and paste basic weights onto this new classification I get a RMSE of around 6.12%~, ie much higher, weights learnt from basic cards generalise poorly to cloze cards

brishtibheja commented 7 months ago

I can see it being beneficial to some users. There are people for instance who divide their mining cards according to themes but often put Kanji together with them. Because the Kanji uses a different note type, it would be helpful if optimization could be done for each note type. Of course, the number of people who would benefit from it is very small.

Xemorr commented 7 months ago

I can see it being beneficial to some users. There are people for instance who divide their mining cards according to themes but often put Kanji together with them. Because the Kanji uses a different note type, it would be helpful if optimization could be done for each note type. Of course, the number of people who would benefit from it is very small.

It's not really for the language learning community, but more applicable to STEM students as the kind of content that needs to be learnt lends itself to the types of cloze cards that are difficult to memorise. I think there's a lot of users in that camp, just tend to be the quieter ones

L-M-Sherlock commented 7 months ago

It's very complex to support per-notetype optimization in Anki. So I just recommend re-organizing cards and decks and using the current per-preset optimization.

If you still want the feature, please report it in https://forums.ankiweb.net