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

Support FSRS Optimizer #8594

Closed
luo-chuan opened this issue Jun 22, 2023 · 18 comments
Closed

Support FSRS Optimizer #8594

luo-chuan opened this issue Jun 22, 2023 · 18 comments
Labels

Comments

@luo-chuan
Copy link

In what scenarios do you need this feature?

叶神在QQ频道说RemNote支持FSRS Optimizer,并且建议思源也跟进。好像是用来设置闪卡复习参数的,不是很懂,可以请叶神解释一下。 @L-M-Sherlock

Describe the optimal solution

image

Describe the candidate solution

No response

Other information

No response

@L-M-Sherlock
Copy link

只要支持复习数据导出,和 FSRS 参数设置即可。优化器这边我可以做。

@L-M-Sherlock
Copy link

导出一个 csv,有以下 4 列数据即可:
card_id, revlog_id, rating, datetime

@luo-chuan
Copy link
Author

@88250 呼叫D大

@88250
Copy link
Member

88250 commented Jun 22, 2023

@L-M-Sherlock 方便简要介绍一下这个优化器的作用吗?另外,现在思源没有存储复习数据,所以一些统计功能也没法实现 😂

@L-M-Sherlock
Copy link

方便简要介绍一下这个优化器的作用吗?另外,现在思源没有存储复习数据,所以一些统计功能也没法实现 😂

就是可以从用户的复习记录里面训练一组记忆模型的参数,可以让算法更准确。

@88250
Copy link
Member

88250 commented Jun 22, 2023

@L-M-Sherlock 结果后续是用于初始化 fsrs 参数的吧:

type Parameters struct {
	RequestRetention float64
	MaximumInterval  float64
	EasyBonus        float64
	HardFactor       float64
	W                weights
}

看来我们得先把 review log 持久化一下,持久化该数据结构有什么建议吗,或者说有什么需要注意的地方,我问题有点多,麻烦不吝赐教,多谢。

@TangQi001
Copy link

D大,叶哥在频道回了
image

@L-M-Sherlock
Copy link

Anki的复习记录是存在sqlite里

@88250
Copy link
Member

88250 commented Jul 4, 2023

@L-M-Sherlock 我大概了解了,谢谢。

@luo-chuan
Copy link
Author

关联: https://ld246.com/article/1688456801826

@qiuqiao
Copy link

qiuqiao commented Jul 5, 2023

持久化复习数据之后,一些统计功能(如正答率)也可以做出来了

@88250
Copy link
Member

88250 commented Jul 26, 2023

@L-M-Sherlock v2.9.8 会持久化闪卡复习数据了 #8833 接下来需要麻烦你抽空实现一下 golang 的优化器,谢谢!

@L-M-Sherlock
Copy link

好的,我最近正在将 FSRS 的所有语言实现升级到 v4 版本,可能得等几天开始做优化器。另外这个优化器必须做成本地版本吗?涉及机器学习的包可能会很大,编译完都有两百多MB。

@88250
Copy link
Member

88250 commented Jul 27, 2023

@L-M-Sherlock 原来如此复杂啊,这样的话先缓缓,对了,其他笔记软件接入 fsrs 的优化器是如何给用户使用的呢,是否存在一个开箱即用的办法,比如思源导出你前面提到的 csv,然后用户用这个 csv 导入到某个服务中后输出优化参数?

@L-M-Sherlock
Copy link

拿 RemNote 举例,用户可以将自己的复习记录以 CSV 格式导出,差不多像这样:

image

然后用户可以在 Google Colab 上打开我写好的优化器 NoteBook:

https://github.com/open-spaced-repetition/fsrs4remnote/blob/main/optimizer.ipynb

上传 CSV 文件,运行所有代码,即可得到优化后的参数。

@88250
Copy link
Member

88250 commented Jul 27, 2023

明白了,这样吧,我们把导出 csv 也交给社区开发吧(导出 FSRS 优化器 CSV 插件),本体功能仅解决之前提到的复习日志持久化。

@88250 88250 added Idea and removed Enhancement labels Jul 27, 2023
@88250 88250 removed this from the backlog milestone Jul 27, 2023
@88250 88250 closed this as completed Jul 27, 2023
@L-M-Sherlock
Copy link

补充一下,如果社区后续要做复习数据导出,可以参考一下这个库中的数据标准:https://github.com/open-spaced-repetition/fsrs-optimizer

@88250
Copy link
Member

88250 commented Sep 28, 2023

关联 #9309

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

No branches or pull requests

5 participants