前言

我连续三天都睡眠充足。昨晚在临睡前,就隐约隐约有一股声音:你太慢了!你这样下去,是不可能完成你要完成的目标的。

紧接着,就有一个颠覆性的想法,倾泻而出:你说,如果你要批量记忆一大批单词,然后以这个群体为单位,集体进入新的复习Stage,会不会更省事呢?既然只是记忆几十个单词,就足以从音频中有效辨识出来,那如果是集中记忆几百个呢?批量记忆,真的会比分散记忆的效果差吗?影响记忆效果的,真的是数量吗?又或者说,你真的相信,我会 “忘记” 吗?

梦中的无法分辨的推演。早晨梦醒时,难以抑制的迫切想实际推演这个想法的冲动。

无论如何,我认为这个思路,非常有价值,值得一试。

我没有在说胡话。每个人的自我沟通机制,都不太一样。无论如何,当某天你面临无法抵抗的困难时,可以试着与自己沟通下。或许可以看看这个:「圆桌会议」第 0 届:我选我自己

问题背景

我现在真的陷入了一个是 先有鸡还是先有蛋 的死循环。我不敢记忆太多单词,因为我担心 AI 的机器音,不太准,会让我记忆一大批错误的发音。所以,我本想着,先多听听。但是,事实确实,如果是没有记忆过的词汇,即使听了很多遍,我还是不理解。原因也简单,我在进行最纯粹的听力训练,是不允许看字幕的。如果时间能拉的足够长,我相信这个策略,也是会有效果的,而且效果不会太差。

但是现在,我有迫切的时间压力。我期望 7/1 的时候,自己的能力,能有一个实质性的巨大进步。具体规划细节,参见:「随笔」2024年的更进一步的打算

我肯定不可能等到最后一天。我要更早地准备,更多的准备,同时耐心地去推演不同的可能更高效的策略。

仅能听清音节,是远远不够的。7/1时,应该能准确地理解大部分对话,方能称得上是听力能力,有了巨大的进步。

按照现在每天20个的单词记忆速度,我到 7/1 大致也就只能记忆 N5 相关的约 800 个词汇。想要靠着 N5 的词汇,来听懂大部分对话,几乎是完全没有可能的吧。

新策略预想中的效果(最理性情况下)

  • 7/1 前,熟练记忆约 8000 词。这足以覆盖我当前在用的 N5~N1 核心单词卡组的所有词汇。
  • 尽可能少的 “时间成本”。即:新策略的实际成本,将是原始间隔复习策略时间成本的最小值。
  • 能与 “听力训练” 可靠融合,不用担心 “先有鸡还是还是先有蛋”。
    • 具体到单词层面来说就是: 先能从句子中听清单词,再记忆此单词;还是先记忆此单词,然后再从句子中听清。
    • 这是一个客观存在的问题。一个更直接的现象是:许多通过N1的人,来到日本,几乎听不懂别人说话。本质上就是:记住了,但是听不出。

核心理论猜想

其实我更想用 思想 这个词,来作为这个小节的标题。但是,客观说,我没有足够的实验证据。即使这个策略在我身上能发挥奇效,也未必有普遍适用性。

所以,我会继续沿用 猜想这个词,以方便后续有意深度阅读此文章的人,能有效地判定哪些是我自己设定的假说,可能不能适用于自己身上。

概括来说,大致有以下几项:

  • 大脑不会真正遗忘。这是一个简单直接的设定。我知道,现在的所谓 研究,有许多关于 记忆 分类的假设和猜想。但是,我现在倾向于认为大脑并不会遗忘。这和我的生活体验,更相符;也能让我把注意力集中到真正需要关注的方面。
  • 间隔复习的目的,不是为了避免 遗忘, 而是为了增大脑对知识的 熟练度。这种说法有点绕。我可以用一种更加体验式的文字来描述:如果,你在既定的频率复习时,心中毫无波澜,几乎没有任何新的波澜。那说明,你的间隔复习的周期太短,或者你没有做够足够多的相关事项,积累足够多的能让大脑进一步理解该知识的素材。我本来以为这是我的错觉,但是我确实在这里,找到了一定程度的佐证:形成长期记忆的方法。某种程度上,这也解答了我的一个困惑:为什么词汇量差不多的两个人,实际的阅读能力,会相差非常多。– 如果你不确定有没有类似的体验,可以想象下过往学校中,大家参次不齐的语文成绩。

长期记忆以意码为主,因此有意义的内容将有助于形成长期记忆。

  • 只有 “心智成本” 足够低的知识,大脑才有可能更高效地调用。影响“心智成本”的一个关键因素,就是熟练度;但是不仅仅是熟练度。比如 すみません,不同的人,不同的场景,是完全很有可能有不同的语调,停顿。这种信息,是不可能单纯靠想象力 臆想出来 的。 如果你不确定我说的是什么意思,那说明你大概率还还没积累足够的关于这个词的用法场景。说实话,怎样又算够呢?肯定越多越好。接触的越多,大脑对这个词,就会越熟练;对它可能的不同的场景的变体有充足的把握。简言之,记住单词本身,知识降低心智成本的各种策略中,最基本的一个,或者说 必要不充分的一个路径条件。
  • 因为采用了 “间隔复习” 的策略,所以能解决先 “听清”还是先“记牢”的矛盾。因为现在间隔复习,两个间隔间的时间段,相对充裕,最终可以做到 “记得越牢,听的越清;听的越清,记得越牢”。原来死锁的问题,现在变成互相促进的亲密伙伴了。

具体策略

我将对现有的闪卡复习策略,做出以下调整。预期未来一周就能快速确认新策略是否符合预期效果。在确认新策略的具体效果前,相关代码暂时放到独立 feature 分支上。

核心变动如下:

  • 每组最多5个Slot位。即如果有5个单词NG了,就要立即开始复习。原来是10个,确实感觉压力有点大,经常重新返回复习时,发现已经彻底忘记了。我昨天刚好也确实看到了相关的描述。短期记忆的阈值大约是 7+/- 2。稳妥起见,我用了 5。相关讨论见: 工作记忆
  • 间隔复习的 Stage 不再倒退。即:NG 的单词,会需要再词每5个一组复习;但是复习完成后,也会进入下一个 Stage。
  • 以 Level 为单位,进行最纯粹最直接的复习。现在每次复习,不会再考虑各种额外的附加概念,比如 假期模式
  • 每次选择大约足够3天集中记忆的数据,来集中记忆。因为我发现,每次记一点,很难立马形成可见的战斗力。要打,就直接拉一个军团过来。我估算,3天我大约能记忆 500 ~ 800 词之间。这大约是 N5核心词汇的数量。换言之:本周我就能完成 N5 核心词汇的初步记忆,我很期待,这800壮士,能给我带来怎样的听力战斗力加成!
  • 为什么选择3天记忆量的数据作为一组数据?首先,是因为是初试,所以不宜投入太大的时间成本;然后,因为 stage 1 目前的配置,刚好是3天后复习。如此:当初始记忆完成后,后一天刚好开始 stage1 的复习。再次,整体时间,相对好估算。我目前推测的各个阶段的整体时间消耗大约是: 9.5天(3 + 2 + 1.5 + 1 + 1 + 1)。当然,这里的 “天”,也不是严格意义上的天,准确地说,是一天中,你能真正预留出来,用于这个记忆任务的时间。
  • 提供一个快速计算复习时间的 JS 函数。现在我的卡组不支持自动提示了。所以暂时手动计算下。如果效果好的话,再交由 Jenkins 或者 JS 来接管下这个手动计算的任务。
// 通常,只修改这里即可.
const baseDateString = "2024-04-09"

let stageGaps = [3, 5, 8, 13, 21]
let baseDate =  new Date(Date.parse(baseDateString));

const result = `stage: ${0} ${baseDate.toISOString().split('T')[0]}`;
console.log(result)

// 注意: 每个间隔,是距离前一个周期的间隔,而不是距离起始时间的间隔.
let totalStageGap = 0;

for(let i = 0; i < stageGaps.length; i++){
    const stageGap = stageGaps[i];
    totalStageGap += stageGap;
    let stageDate = new Date(baseDate);
    stageDate.setDate(baseDate.getDate() + totalStageGap);

    const result = `stage: ${i+1} ${stageDate.toISOString().split('T')[0]}`;
    console.log(result);
}

JS 代码复制到 浏览器 Console 里就能执行:

run js code

当然,上述的好多策略,手动也可以;但是如果能基于程序,自动筛选,会更好。这也侧面佐证,拥有一个自己完全可控,有能力进行自主定制和升级的闪卡系统,是多么有意义。参见:我为什么暂停一周,做了一个Anki替代品?

可行性评估的几个关键节点以及对应措施

按照 4/9 开始初始记忆吧:

  • 4/10 会是第一个节点。着重观察,连续大量记忆同质素材,会不会引起强烈的抵触。
  • 4/12 会是第二个节点。着重观察下,连续记忆后,二次复习,是否能适当降低二次记忆的时间成本。
  • 4/13 ~ 4/14 会是第三个节点。刚好是周六日,着重观察下,看无字幕时,是否能有效辨识出记忆过的单词。

也就是说:如无意外,4/14 本周日就可以得到初步的新策略的效果评估了。如果符合预期的话,下周开始,更在更大范围内应用。万一有未知因素,导致策略不符合预期,可能要暂时按照旧的策略,继续执行,静静等待更靠谱的更高效的策略。

相关