Anki で復習に失敗したカードの復習間隔を一日にリセットするのではなく、一つ前の復習間隔に戻す方法を紹介します。アドオンを利用する方法と学習オプションを利用して iPhone アプリの AnkiMobile と共用する方法を取り上げます。

忘れたカードの学習履歴に応じて処理したい

Anki に慣れてたくさんのカードを処理できるようになると、三か月覚えていたのに更に間隔を伸ばして失敗したカードを、昨日追加して失敗したカードと同じように復習間隔を一日にリセットする処理に疑問を持つようになりました。

間違えたカードでも学習履歴を無視して復習間隔を設定するのは、コストをムダにしているのではないだろうか

三か月も覚えていたらもう十分習熟した特別なカードと考えてよいでしょう。これまでの学習履歴を全く無視して、最初に戻るコストはムダなのではないだろうか。

ある程度習熟しているカードはそれに見合った忘却処理をさせれば、Anki の作業を効率化できるでしょう。 追加したばかりのカードや記憶しにくいカードに集中でき、さらにたくさんのカードを扱えるようになり、Anki の学習時間も圧縮できます。

Anki の仕組み 間違えたらどうなる

Anki のスケジュールアルゴリズムより単純化な SRS のライトナーシステムの図で説明します。 学習するカードは正解するごとに右の箱に移動しますが、忘れると一番左の箱に戻り、文字通り一から出直します。

SRS 学習モデル (Anki 初期状態)
図 1. SRS 学習モデル (Anki 初期状態)

例えば、10 日間空けて覚えることに成功して、次に 25 日に挑戦したら間違えました。 初期設定では、1 日からやり直すのですが、もう一度 10 日に戻ってやり直せないだろうかというのが今回の提案の趣旨です。

ライトナーシステムのモデルでは次のようになります。

SRS 学習モデル (カスタマイズ後)
図 2. SRS 学習モデル (カスタマイズ後)

アドオンを利用

Anki の処理を変更して直前の成功した間隔からやり直しを実現するアドオン Another Retreatを Anki Web に公開しました。

アドオンのダウンロードコードは 1481634779 です。

バージョン 0.3.0 からは単語帳オプション別にこのアドオンの機能を有効にできます。

設定方法

単語帳オプションの [忘却] タブで [Activate Another Retreat Addon] を選択すると このアドオンの機能が有効になります。

注意

Anki のアドオンは、PC 版でのみ動作します、このため AnkiMobile を共用している場合は、スケジュール処理の一貫性が損なわれます。

学習オプションを利用

アドオンによらなくても学習オプションの設定で近い動作が実現できますので、次にその方法を紹介します。この方法であれば、AnkiMobile と同期しながら利用している場合でも、同じ処理が行われます。

忘れたカードの復習間隔

忘れたカードの次回の復習間隔は、カードごとに計算によって決まります。

忘れたカードの次回の復習間隔
[間隔の下限] と 現在の復習間隔 × [新しい間隔] のうち大きい方

Anki の初期設定では、間隔の下限 1、新しい間隔 0 に設定しています。これが忘れたカードの復習時期が翌日になるからくりです。

単語帳オプション
図 3. 単語帳オプション

上の例で言えば、一つ前の値 10 日に戻す [新しい間隔] の値を求めればよいのです。

成功したカードの復習間隔

忘れたカードの復習間隔の一つ前の値は、成功したカードの復習間隔の決まり方から分かります。 復習に成功したカードの次回の復習間隔は、単純化すると次のように決まります。

復習間隔の計算式
現在の復習間隔 × 学習オプションの [易しさ]

「易しさ」の初期値は 250 です。復習で [普通] ボタンを押し続けていればこの値に変化はありません。

Anki は基本的に復習間隔を 2.5 倍にし続ける。

つまり前回の復習間隔に戻すためには 100/250 = 0.4 つまり40 % に [新しい間隔] を設定すればよいのです。

また、現在の単語帳全体の易しさの値を統計情報から調べることもできます。

単語帳全体の易しさの統計
図 4. 単語帳全体の易しさの統計

この単語帳では平均 191 でした。この単語帳では 100/191 = 0.52 つまり、一つ前の復習間隔に戻す [新しい間隔] の値は、52% になります。

単語帳オプションの設定

それでは求めた値を設定しましょう。設定項目 [新しい間隔] は、単語帳オプションの設定画面の [忘却] タブの中にあります。

単語帳オプションの設定
図 5. 単語帳オプションの設定

AnkiMobile ノート

Anki の iOS 版アプリ AnkiMobile Flashcards でも同じ設定ができます。

統計情報の Card Type の中の [Average ease] から単語帳の易しさ (ease) を求めて計算します。

AnkiMobile で易しさを統計から調べる
図 6. AnkiMobile 易しさの統計値

単語帳オプションの設定箇所は、[Tools] -[Study Option] と開き、LAPSES の中の [New interval] です。

AnkiMobile での単語帳オプションの設定
図 7. AnkiMobile 単語帳オプションの設定

まとめ

  • 復習間隔を一つ前の段階に戻すにはアドオンで実現できる。ただし Anki PC 版のみで利用可能。

  • オプション設定で近似的な動作が再現でき、Anki と AnkiMobile 共通に利用できる。

  • 忘却したカードの復習間隔は初期値では一律に一日に設定しているが、学習オプションで変更可能。

  • 設定の計算に使うカードの易しさのデータは、単語帳の統計値で代用する。

参考情報

正確な復習間隔や易しさの値の計算法は、Anki の anki/sched.py を参照ください。

更新情報

2016-04-13: 初出
2016-05-18: 更新: アドオン Another Retreat に基づいて加筆