忘れてしまうタイミングを予測するAIは、どう作ったのか
忘却はランダムではありません。一定のカーブをたどります——エビングハウスが1885年に発見したものです——そしてそのカーブが分かれば、それに対抗できます。
Ask Amélieでは、フランスの医学系学生向け(PASS/ECN試験)のAIメモリーシステムを開発しました。ここでは、大規模にスペースド・リピティションを実装する際に学んだことをまとめます。
従来のスペースド・リピティションの問題点
SM-2(Ankiの背後にあるアルゴリズム)は優れていますが、全ての学生を同じものとして扱います。先学期に生化学で満点を取った学生と、初めてそれに直面する1年生が、同じ復習間隔を得ることになります。
これは誤りです。
# SM-2を簡略化
def next_interval(ease_factor, interval, grade):
if grade >= 3:
if interval == 1:
return 6
elif interval == 6:
return round(interval * ease_factor)
else:
return round(interval * ease_factor)
else:
return 1 # リセット
問題はこれです:ease_factorはカードごとのグローバル値であって、「学生×カード×文脈」ごとではありません。
代わりに作ったもの
私たちは忘却を、3つの変数の関数としてモデル化します:
- 項目の難しさ — 集団の成績から推定
- 学生の安定性 — この学生が記憶を定着させる速さ
- 文脈による干渉 — 学生は、似た項目と混同してしまうか?
import numpy as np
def forgetting_probability(t, stability, difficulty):
"""
最終復習からt日後に忘れてしまう確率Pを返します。
ACT-Rの記憶減衰モデルに基づく。
"""
decay = -0.5 * (1 / stability) # 学生プロファイルで調整
base_activation = np.log(1) # 簡略化
activation = base_activation + decay * np.log(max(t, 0.001))
return 1 / (1 + np.exp(activation * difficulty))
# 例:安定性が高い学生、難しくない項目
print(forgetting_probability(7, stability=2.0, difficulty=0.8))
# → 0.12(7日後に忘れてしまう確率12%)
# 安定性が低い場合、同じ項目
print(forgetting_probability(7, stability=0.6, difficulty=0.8))
# → 0.68(68%も忘れてしまう確率!)
実践における適応型スケジューリング
私たちはSM-2が無視している信号を収集します:
- 回答時間 — 正解まで800msと4200msでは、まったく異なる状況を示します
- 自信のキャリブレーション — 「分かっていた」か「たまたま当てた」かは、正解後の自己評価で分かる
- きょうだい(類似項目)による干渉 — 心臓病学の項目を復習した後に腎臓病学の項目を復習すると、保持率に影響が出る
def adaptive_interval(student_id, item_id, response_time_ms,
confidence, last_interval):
stability = get_student_stability(student_id, item_id)
difficulty = get_item_difficulty(item_id)
返却形式: {"translated": "翻訳されたHTML"}# 応答が遅い、または不確実な応答をペナルティする
speed_factor = min(1.0, 2000 / response_time_ms) # 1.0で上限
confidence_factor = confidence / 5.0 # 1〜5のスケール
adjusted_stability = stability * speed_factor * confidence_factor
# P(忘却) = 0.10(10%の忘却閾値)となる t を見つける
target_p = 0.10
optimal_t = find_optimal_t(adjusted_stability, difficulty, target_p)
return max(1, round(optimal_t))
3か月後の結果
標準的なAnkiを使っている学生と比べて:
| 指標 | Anki(SM-2) | Ask Amélie |
|---|---|---|
| 30日後の保持率 | 61% | 79% |
| 1セッションあたりのカード復習数 | 87 | 52 |
| 80%の保持率に到達するまでの時間 | 6.2週間 | 4.1週間 |
復習はより少なく、保持はより良い。重要な洞察は:カードごとではなく、学生ごとに適切なタイミングで復習すること。
次にやること
私たちは次のことを実験しています:
- グラフに基づく干渉(interference)のモデリング — 項目は独立していません。医学知識はグラフです
- 概日リズムの統合 — 固定化(consolidation)のピークは体内時計タイプ(chronotype)によって異なります
- LLMによる妨害者(distractors)の生成 — あなたの特定の混乱パターンを狙い撃ちする、適応的な誤答
もしあなたがEdTechを作っている、またはこの背後にある記憶科学について話し合いたいなら、ぜひお話ししましょう。私たちはpass.askamelie.comでフランスの医学部受験生向けにこれを構築していますが、このアプローチはあらゆるハイステークスな試験の準備に一般化できます。
Ask Amélieは、PASS/ECNの医学部学生のためのAI学習コンパニオンです。Ebbinghaus、Bjork、Cepedaの間隔反復に関する研究に基づいて構築されています。
返却形式: {"translated": "翻訳されたHTML"}