忘却曲線を意識した学習をEvernoteで快適に実施するためのJXAスクリプトを書いた

  • 19
    いいね
  • 5
    コメント
この記事は最終更新日から1年以上が経過しています。

エビングハウスの忘却曲線というグラフがあります。
Ebbinghaus’s_Forgetting_Curve_(Figure_1).jpg
Ebbinghaus’s Forgetting Curve (Figure 1) by Educ320 / CC BY 4.0

これはドイツの心理学者であるエビングハウスが、
ある事柄を記憶した後、時間をおいたらどの程度思い出せるか、についての実験結果を図示したもの。
です。
忘却曲線

そのグラフからは以下のような事が読み取れます。

  1. 忘れる速度は一定ではない
  2. 覚えた直後が最も忘れやすい
  3. 2を生き延びた記憶は割りと長持ちする

そして、その忘却曲線を踏まえて考案された復習タイミングが以下の4回です。

  1. 学習した翌日に1回目
  2. その1週間後に2回目
  3. 2回目の復習から2週間後に3回目
  4. 3回目の復習から1ヶ月後に4回目

全部で4回の復習を少しづつ間隔をあけながら、2ヶ月かけて行います。
このように繰り返せば海馬は、その情報を必要な記憶だと判断するようです。
逆に、これ以上に復習回数を増やす必要はないみたいです。

私は、これらの内容を 最新脳科学が教える 高校生の勉強法 東進ブックス を読むことによって知りました。

最新脳科学が教える 高校生の勉強法 東進ブックス

今回の投稿では触れないですが 最新脳科学が教える 高校生の勉強法 東進ブックス は他にも

・記憶には、どれくらいの睡眠時間が必要か? 
・勉強の教材はどのように使えばよいか? 
・記憶力を最大限に高めるためには、どうすればよいか? 
・暗記がきかない科目は、どうすれば攻略できるか?

Amazon.co.jp:最新脳科学が教える 高校生の勉強法 東進ブックスの 兵卒さんのレビュー

などなど、海馬の研究で博士号を取られた著者による、勉強する上で知っておくべき具体的な方法論が満載で、学生はもちろん、社会人でも、何かしら学習する機会のある人にはオススメできる本だと思います。

Evernoteで忘却曲線を意識した学習をする

私は普段、覚えておきたい事柄などをEvernoteにpostする習慣があったため、Evernoteのリマインダー機能を使えば、手軽に忘却曲線を意識した記憶が実践できそうと考えました。

Evernoteはリマインダーを登録しておくと指定した日時に通知してくれるので、そのタイミングで復習します。
復習したら次の復習日時をリマインダーに登録し、通知が来たらまた復習します。その繰り返しです。

ただ、実際にやっていると、4回の復習タイミングを、リマインダーとして都度登録するのが段々と面倒になってきた(ex.今日は2回目の復習をしたので次は2週間後で、それはx月x日だっけ?みたいな状況に度々なる)ので、リマインダーを自動登録するためのJXAスクリプトを書いてみました。

ちなみにJXAについてですが、JXAとは、JavaScript for Automationの頭文字から来ているように、Mac上でアプリケーションの操作などをJavaScriptで自動化するための技術です。以下の記事が詳しいです。
知らないうちにMacがシステム標準でJavaScriptで操作できるようになってた (JXA)

私も以前にJXAを使ったVimプラグインを書いたりもしました。
ブラウザのVim体験向上施策について

FCEvernoteReminder

今回の要件としては「忘却曲線を踏まえた復習タイミングをEvernoteのリマインダーに自動登録する」なので、JXAで以下のような処理を書きました。※1

  • 復習タイミングを示す指定のタグ(fc0〜fc5※2 のいずれか)が付与されたノートを取得
  • 取得したノートのリマインダーが完了済かどうかチェック
    • fc0(初回タグ)はリマインダー未登録なのでチェックしない
  • 完了済なら次の復習タイミングを示すタグに置き換え + そのタグが示す日時のリマインダーを登録
    • ex.
    • fc0タグならfc1タグに置き換え + 1日後のリマインダーを登録
    • fc1タグならfc2タグに置き換え + 1週間後のリマインダーを登録

※1 実際にはオンライン/オフラインチェックやEvernoteとのsync処理などもしています。
※2 fcはforgetting curveの略です。

そしてこのJXAスクリプトを、launchdを使って定期的に実行されるようにします。
こうしておけば、Evernoteに記憶したい事柄をメモする際にfc0タグを付与すると、後は自動的に、それぞれ4度の復習タイミングで通知が来るようになります。

以下が今回の成果物です。

FCEvernoteReminder

JXAスクリプトとlaunchdの設定ファイル(plistファイル)に加え、それらを簡単にinstallするためのシェルスクリプトなどが含まれているので、是非使ってみてください:octocat:

FCEvernoteReminderはMacでのみ使用できます。

さいごに

何だか技術的なtipsというよりもライフハックな投稿になってしまったかもですが、効率良く学習できるに越したことはないので、今回の成果物を活用して効果的な記憶を実践していければと思っています。