open-spaced-repetition / ts-fsrs

ts-fsrs is a versatile package based on TypeScript that supports ES modules, CommonJS, and UMD.
https://open-spaced-repetition.github.io/ts-fsrs/
MIT License
213 stars 22 forks source link

对测试在线ts-fsrs的example例子的疑惑 #91

Closed Ignorantforce closed 4 months ago

Ignorantforce commented 4 months ago

首先感谢作者的开源库,然后刚看到这个算法,发现有个在线的例子:https://open-spaced-repetition.github.io/ts-fsrs/example 随手测试了一下

我没有改变任何参数,直接选择按钮测试,分别测试如下: [Hard->Hard->Good->Hard->Hard->Easy->Good->Hard->Hard]

首先我没有使用anki的经验,纯粹是看到了这个库就使用了一下,感觉到有点反个人直觉的就是,我在两次选择困难后,它安排的下次学习时间合理,但是当我继续点击Good之后再接着点击Hard,这个时候安排的下一次学习是2天之后,如果下次学习还是Hard,这个继续安排的学习时间会继续扩大,甚至在后面点击Easy之后安排的下次学习间隔会更大,而且stability是一直保持稳定增长的,哪怕后面一直选择Hard,间隔的时间也是比较长,且stability一直在增加

PS:我理解的Hard是学习有印象但比较困难,不是完全不知道的状态,哪怕我哪天记忆深刻中间选择了Good,但在接下来的复习里我又遗忘大部分然后选择Hard,那么这个时候直觉应该给我安排一个更近的复习时间。

产生的数据如下:

index due state last_review stability difficulty R elapsed_days scheduled_days reps lapses
1 7/9/2024, 5:00:41 PM 1(Learning) 7/9/2024, 4:55:41 PM 1.44 6.34 / 0 0 1 0
2 7/9/2024, 5:10:41 PM 1(Learning) 7/9/2024, 5:00:41 PM 1.44 6.34 / 0 0 2 0
3 7/10/2024, 5:10:41 PM 2(Review) 7/9/2024, 5:10:41 PM 1.44 6.34 90.00% 0 1 3 0
4 7/12/2024, 5:10:41 PM 2(Review) 7/10/2024, 5:10:41 PM 1.99 7.13 90.00% 1 2 4 0
5 7/15/2024, 5:10:41 PM 2(Review) 7/12/2024, 5:10:41 PM 2.83 7.89 90.00% 2 3 5 0
6 7/30/2024, 5:10:41 PM 2(Review) 7/15/2024, 5:10:41 PM 15.25 6.96 90.00% 3 15 6 0
7 9/6/2024, 5:10:41 PM 2(Review) 7/30/2024, 5:10:41 PM 38.22 6.90 90.00% 15 38 7 0
8 10/26/2024, 5:10:41 PM 2(Review) 9/6/2024, 5:10:41 PM 49.65 7.66 90.00% 38 50 8 0
9 12/26/2024, 5:10:41 PM 2(Review) 10/26/2024, 5:10:41 PM 61.45 8.40 90.00% 50 61 9 0
L-M-Sherlock commented 4 months ago

Hard、Good、Easy 都是记住,只是体感难度不同。只有 Again 表示忘记。Hard 在最坏情况下只是稳定性不增长,但决不会降低。

具体可以看这个讨论:https://forums.ankiweb.net/t/an-info-tip-regarding-recommended-button-usage/39834

Ignorantforce commented 4 months ago

Hard、Good、Easy 都是记住,只是体感难度不同。只有 Again 表示忘记。Hard 在最坏情况下只是稳定性不增长,但决不会降低。

具体可以看这个讨论:https://forums.ankiweb.net/t/an-info-tip-regarding-recommended-button-usage/39834

你这样说我就理解了,也就是Again和[Hard、Good、Easy]对应忘记和记得,记得的三种选项可以理解权重不同,计算间隔时间会根据“权重”来,如果记忆不可靠了直接选择Again,这样stability才会降低,相当于再次学习

刚接触确实懵逼,从按钮直接理解结构确实反直觉,我觉得应该对这个问题加个简单的解释会好点,感谢解答,谢谢!

L-M-Sherlock commented 4 months ago

这个问题的历史经纬比较复杂.jpg

之前 Anki 社区还讨论过如何避免让用户觉得 hard 是一个失败评分(

https://forums.ankiweb.net/t/add-visual-cues-to-make-it-clear-that-hard-is-not-a-failing-grade/40879

这个简单的解释你觉得加在哪里比较合适?

ishiko732 commented 4 months ago

我在两次选择困难后,它安排的下次学习时间合理

State.New的Card首次点击[Again, Hard, Good]的评分以后下一次复习时间仍然是当天,第2,3次点击HardGood会比第一次直接点击Easy调度时间短一些。所以你会觉得调度时间比较合理吧

如果记忆不可靠了直接选择Again,这样stability才会降低,相当于再次学习

已变成State.Review的Card在点击Again以后stability会下降,State会变成重新学习(Relearning)。

你可以参考下面这张图,新卡片一直点Hard复习时间会一直是当天 fsrs-TS-FSRS WorkFlow drawio

Ignorantforce commented 4 months ago

这个问题的历史经纬比较复杂.jpg

之前 Anki 社区还讨论过如何避免让用户觉得 hard 是一个失败评分(

https://forums.ankiweb.net/t/add-visual-cues-to-make-it-clear-that-hard-is-not-a-failing-grade/40879

这个简单的解释你觉得加在哪里比较合适?

我大概看了一下讨论的内容,如果从这上面的信息来说,基于大众普通人角度,我会支持给按钮加颜色区分

Again是红色,其余三个是绿色(绿色饱和度也可以逐渐递增),按钮不需要加间隔距离,好处是颜色是日常生活中的常识,可以直观处理选择的结果

另一个是在按钮上方加入【额外信息】,确实有助于用户直接理解按钮对应的选择结果,不过这一块建议是加到【设置】里,也就是用户可以自己选择是否开启提示,当然首次使用的时候增加个引导会更好,由用户选择

最后,个人建议针对新人用户的话,默认两个按钮最好,也就是 Again 和 Good(或其他),但是【设置】也可以配置4个按钮的,针对用户已经有了使用经验后愿意探索“更高级的用法“会去关注一些设置功能。但对新手用户来说,有最直观的按钮反馈直接(Again(红色):再次/忘记,Good(绿色):良好/通过),最少的选择。

至于 按钮的中英文下的理解,就看软件的翻译词语怎么取舍了,起码我第一直觉 Hard(艰难、努力) 是直观失败的意思,对一个卡片知识点感到艰难,不会认为成功,这取决于我的母语是中文且英文不是那么好的情况,当然对于其他国家的人来说可能又不同

Ignorantforce commented 4 months ago

我在两次选择困难后,它安排的下次学习时间合理

State.New的Card首次点击[Again, Hard, Good]的评分以后下一次复习时间仍然是当天,第2,3次点击HardGood会比第一次直接点击Easy调度时间短一些。所以你会觉得调度时间比较合理吧

如果记忆不可靠了直接选择Again,这样stability才会降低,相当于再次学习

已变成State.Review的Card在点击Again以后stability会下降,State会变成重新学习(Relearning)。

你可以参考下面这张图,新卡片一直点Hard复习时间会一直是当天 fsrs-TS-FSRS WorkFlow drawio

感谢,通过这个fsrs的工作流已经解答了我的困惑

Ignorantforce commented 4 months ago

我在两次选择困难后,它安排的下次学习时间合理

State.New的Card首次点击[Again, Hard, Good]的评分以后下一次复习时间仍然是当天,第2,3次点击HardGood会比第一次直接点击Easy调度时间短一些。所以你会觉得调度时间比较合理吧

如果记忆不可靠了直接选择Again,这样stability才会降低,相当于再次学习

已变成State.Review的Card在点击Again以后stability会下降,State会变成重新学习(Relearning)。

你可以参考下面这张图,新卡片一直点Hard复习时间会一直是当天 fsrs-TS-FSRS WorkFlow drawio

建议这个工作流图片附到本项目的说明会更好

ishiko732 commented 4 months ago

建议这个工作流图片附到本项目的说明会更好

这个得晚一点,我的原始文件随着我电脑坏了一起丢失了~