st3v3nmw / obsidian-spaced-repetition

Fight the forgetting curve by reviewing flashcards & entire notes on Obsidian.md
https://www.stephenmwangi.com/obsidian-spaced-repetition/
MIT License
1.45k stars 182 forks source link

[FEAT] Port a modern spaced repetition algorithm into obsidian-spaced-repetition plugin #516

Open L-M-Sherlock opened 1 year ago

L-M-Sherlock commented 1 year ago

Is your feature request related to a problem? Please describe. The SM-2 algorithm is inflexible and out of date. It couldn't fit each user's memory.

Describe the solution you'd like I have published a paper to propose a modern spaced repetition algorithm at ACM SIGKDD. Here is the free access version https://www.maimemo.com/paper/

Meanwhile, I have implemented it in Anki as a custom scheduling at https://github.com/open-spaced-repetition/fsrs4anki

I guess it is not too hard to port it into obsidian.

Additional context By the way, I am helping RemNote's developers to upgrade their scheduler.

st3v3nmw commented 1 year ago

Comment from @changefu in #551

Is your feature request related to a problem? Please describe. The SM-2 algorithm is inflexible and out of date,Algorithms need to be provided that can be chosen by people。

Describe the solution you'd like A friend of mine is also an expert on spaced repetition algorithms and has published a paper at ACM SIGKDD proposing a modern spaced repetition algorithm. Here is the free access version https://www.maimemo.com/paper/ Additional context Both Remnote and Anki already support the new algorithm, and I hope your plugin will support it too. Here is his contact information: twwitter: https://twitter.com/JarrettYe?s=20

st3v3nmw commented 1 year ago

Is your feature request related to a problem? Please describe. The SM-2 algorithm is inflexible and out of date. It couldn't fit each user's memory.

Describe the solution you'd like I have published a paper to propose a modern spaced repetition algorithm at ACM SIGKDD. Here is the free access version https://www.maimemo.com/paper/

Meanwhile, I have implemented it in Anki as a custom scheduling at https://github.com/open-spaced-repetition/fsrs4anki

I guess it is not too hard to port it into obsidian.

Additional context By the way, I am helping RemNote's developers to upgrade their scheduler.

Hi, thanks! I'm looking into implementing this as well

mbindewald commented 1 year ago

It's likely out of scope for this change, but it'd be great to be able to select different scheduling algorithms on a deck-by-deck basis. My use case would be to use a priority based scheduling algorithm for some decks to implement an incremental reading workflow rather than relying on the unmaintained https://github.com/bjsi/incremental-writing plugin.

L-M-Sherlock commented 1 year ago

Hi, thanks! I'm looking into implementing this as well

I find that this issue is inactive for a long time. Do you encounter any problems? The community contributor refactored the JavaScript package of FSRS here: https://github.com/open-spaced-repetition/fsrs.js

Maybe it would be helpful to you.

wlo2 commented 1 year ago

Hello @L-M-Sherlock, the link to the article now redirects to paywalled page. Can you provide another link?

L-M-Sherlock commented 1 year ago

Hello @L-M-Sherlock, the link to the article now redirects to paywalled page. Can you provide another link?

I tested it and it is still free access. Maybe you need to use another browser?

wlo2 commented 1 year ago

Thanks, it was indeed the browser, worked in Brave.

L-M-Sherlock commented 1 year ago

A community member of open spaced repetition is porting FSRS into obsidian-spaced repetition plugin: https://github.com/open-spaced-repetition/obsidian-spaced-repetition-recall

MotaOcimar commented 10 months ago

Is opening a PR here about this port something that makes sense? It seems good to me to unify the repos to continue with single implementation and fixes