brownbat / autoEaseFactor

Adjust ease factors in Anki based off of performance in order to hit a target success rate.
GNU General Public License v3.0
37 stars 8 forks source link

Auto Lapse New Interval Adjustment? #45

Open keithcdodd opened 3 years ago

keithcdodd commented 3 years ago

Does this addon include lapse adjustment (New Interval calculator) as also mentioned by eshapard at the end? Would that maybe become a part of it if not?

For now, I have New Interval set at 70% to hope for the best for this, but would be really cool if this addon also calculated what it thinks the new interval should be instead and uses that.

Thanks for the wonderful addon!

brownbat commented 3 years ago

It doesn't currently, but definitely on the roadmap.

When I first started Anki I was overwhelmed by all the settings to tune.

I really want Anki set up to replace just about everything in the deck options menu with automatic settings that the system intelligently chooses for you, but will be a bit before we get there.

I think there are some underexplored add ons trying to tackle the other settings, like lapse values and ideal starting intervals: https://ankiweb.net/shared/info/372281481 https://ankiweb.net/shared/info/1602224446

(Caveat - I don't know if Interval Booster and AEF are compatible, because I think Interval Booster now does some of the same work AEF is doing. Might be worth considering as an alternative too.)

keithcdodd commented 3 years ago

Amazing. I also super appreciate the links. Been trying them out for the past few days.

If you're curious, this is what I have noticed so far with them:

(1) interval booster is a super cool idea -- based on how well you did on it in the beginning it seems, it shoots certain cards more forward -- definitely reduces my daily count of cards even as I am stacking on more new cards each day. Given that, if that is implemented in your addon, I think that would be really cool too. Of course, I cannot yet speak how much that helps or hinders retention, just that so far, it has been more efficient.

(2) For autolapsenewinterval, it seems to just change the lapse interval overall for all cards based on how some previous cards have gone. Definitely like the idea, but I think it would be more useful if the new interval could be calculated and changed for each individual card based on past experience with the card.

I fel the ideal scenario is an addon that does three things: (1) Adjusts intervals to get closer to a target accuracy for each card (e.g. 85%), so it would increase intervals for cards early on if they are obviously easy for you (I gather yours does that already somewhat -- although takes some time, and of course if you click easy on a card that helps, but the addon that so far seems to do this best is interval booster to really boost early intervals where helpful) (2) Continues to adjust ease based on previous answers (your addon is amazing with this) (3) Adjusts lapsed new interval for each card individually based on previous performance, aiming for a goal again, like 85%. AutolapseNewInterval helps a bit but only adjusts on a global scale, and isn't perfect in that regard either.

(1) and (2) are related but different because while, for example, your addon does adjust ease (which helps with adjusting the next interval the next time you see the card) it doesn't change the current interval or early-on intervals I believe.

End goal being each card is autoadjusted in all ease and intervals based on a goal percent correct (e.g. 85%), instead of the current anki system where they are the same settings for each card.

I think, for now, using the two addons you linked up above, with otherwise standard Anki default presets, might be the best way to get closer to that goal... mostly just because I really like the interval boosting idea too (if new cards are things I already know well, they right away get pushed ahead), and the interval boosting incoporates some of your older code/ideas to adjust ease it appears. Maybe your addon does early interval boosting too though, and I just missed that.

I just want to reiterate how great your addon is. I am sure this is really complicated to do (I wouldn't know where to start!). Thank you for everything.

shiosai commented 3 years ago

(2) For autolapsenewinterval, it seems to just change the lapse interval overall for all cards based on how some previous cards have gone. Definitely like the idea, but I think it would be more useful if the new interval could be calculated and changed for each individual card based on past experience with the card.

I'm using it to get some general feedback but I think too the global adjustment is not really too helpful as some two week interval card is very different from a 2 year interval card. And lets say my lapse interval was set to 80% I really don't want to wait 2 years * 0.8 for my failed card to appear again.

So yeah... something smarter per card that doesn't scale linear with interval length would be really cool.

Willz7 commented 3 years ago

Amazing. I also super appreciate the links. Been trying them out for the past few days.

If you're curious, this is what I have noticed so far with them:

(1) interval booster is a super cool idea -- based on how well you did on it in the beginning it seems, it shoots certain cards more forward -- definitely reduces my daily count of cards even as I am stacking on more new cards each day. Given that, if that is implemented in your addon, I think that would be really cool too. Of course, I cannot yet speak how much that helps or hinders retention, just that so far, it has been more efficient.

(2) For autolapsenewinterval, it seems to just change the lapse interval overall for all cards based on how some previous cards have gone. Definitely like the idea, but I think it would be more useful if the new interval could be calculated and changed for each individual card based on past experience with the card.

I fel the ideal scenario is an addon that does three things: (1) Adjusts intervals to get closer to a target accuracy for each card (e.g. 85%), so it would increase intervals for cards early on if they are obviously easy for you (I gather yours does that already somewhat -- although takes some time, and of course if you click easy on a card that helps, but the addon that so far seems to do this best is interval booster to really boost early intervals where helpful) (2) Continues to adjust ease based on previous answers (your addon is amazing with this) (3) Adjusts lapsed new interval for each card individually based on previous performance, aiming for a goal again, like 85%. AutolapseNewInterval helps a bit but only adjusts on a global scale, and isn't perfect in that regard either.

(1) and (2) are related but different because while, for example, your addon does adjust ease (which helps with adjusting the next interval the next time you see the card) it doesn't change the current interval or early-on intervals I believe.

End goal being each card is autoadjusted in all ease and intervals based on a goal percent correct (e.g. 85%), instead of the current anki system where they are the same settings for each card.

I think, for now, using the two addons you linked up above, with otherwise standard Anki default presets, might be the best way to get closer to that goal... mostly just because I really like the interval boosting idea too (if new cards are things I already know well, they right away get pushed ahead), and the interval boosting incoporates some of your older code/ideas to adjust ease it appears. Maybe your addon does early interval boosting too though, and I just missed that.

I just want to reiterate how great your addon is. I am sure this is really complicated to do (I wouldn't know where to start!). Thank you for everything.

Check out https://ankiweb.net/shared/info/678594073. Which is better than the one you suggested as it adjusts the short interval to 75% and the long interval, like over 1 year plus, to less than 25%. You can configure the setting if needed.