Anki - 強力で賢いフラッシュカード
(apps.ankiweb.net)- Ankiは、よく知っている項目よりも 難しい学習項目 により多くの時間を使えるようにして、反復学習の時間を減らすのに役立つフラッシュカードプログラム
- 無料の AnkiWeb同期 により、複数のデバイス間でカードを同期でき、カードには音声・画像・動画・科学表記法を入れられる
- デッキ単位で学習範囲を分け、復習時に記憶の度合いを評価すると、Ankiが忘れやすいタイミングに合わせて 次回の復習 を予約する
- デスクトップ版の現在のバージョンは 26.05 で、Windows 10+ x64、Windows 11 ARM、macOS 13+ Apple Silicon/Intel、Linux x64 2022+、Linux ARM 2024+ をサポート
- オープンソースへの貢献、共有デッキ、翻訳への参加が可能な コミュニティプロジェクト であり、公式iOSアプリ AnkiMobile の購入は開発資金に充てられる
反復学習を減らすカードシステム
- Ankiは、ユーザーがすでに知っている内容よりも 難しい教材 により多くの時間を使えるようにするフラッシュカードプログラム
- 無料の AnkiWeb同期サービス を通じて、複数のデバイス間でカードを同期できる
- フラッシュカードには 音声、画像、動画、科学表記法 を使える
- カードのレイアウトと復習のタイミングは、ユーザーが簡単に変更できる
- 100,000枚以上のカードがある デッキ も処理できる
- アドオンをインストールして新機能を追加できる
デッキベースの復習とプラットフォーム対応
- デッキ はフラッシュカードのグループであり、コレクション全体を一度に学習するのではなく、特定の範囲だけを学べるようにする
- 復習中にユーザーが記憶の度合いに合ったオプションを選ぶと、Ankiが情報を忘れやすい時点に合わせて次回の復習を予約する
- デスクトップ無料版の現在のバージョンは 26.05 で、主要プラットフォーム向けのダウンロードを提供している
- Windows: Windows 10+ x64, Windows 11 ARM
- macOS: macOS 13+ Apple Silicon, macOS 13+ Intel
- Linux: Linux x64 2022+, Linux ARM 2024+
- モバイルアプリとして、iOS向け AnkiMobile と Android向け AnkiDroid が提供されている
コミュニティ参加の方法
- Ankiは コミュニティプロジェクト であり、コードのメンテナンスやアドオン・機能開発、共有デッキの公開、翻訳への参加が可能
- オープンソースへの貢献: contributing guide
- 共有デッキ: sharing decks publicly
- 翻訳: translate Anki
- 公式iOSアプリ AnkiMobile の購入は、Ankiの開発資金に使われる
1件のコメント
Hacker Newsのコメント
息子はいま11歳だが、5歳くらいの頃から毎日一緒に Anki を使ってきた
楽しみで覚えたものとしては、地図上でラベルのない形だけを見てすべての国を当てること、スペル、絵を見て体の部位・骨・臓器の名前を言うこと、Na/Fe/Zn のような元素記号、Unixファイルシステムのコマンド、ここから日本までの距離や地球と太陽の距離のような数感覚の基準、生まれてから行った場所の写真を見分けること、楽器や曲を聴いて区別すること、ピアノの音、宗教に関する事実、読んだ本の登場人物の名前、賢い格言など
子どもは楽しんでいて、答えながら踊ったりもして、自分を誇らしく思っている。ときどきYouTubeで一人で新しく学んだものを見て、「お父さん、これAnkiに入れられる?覚えておきたい」と言う
子どもの忘却曲線は予測が難しすぎる、少なくとも大人とは違う、という趣旨
https://supermemo.guru/wiki/SuperMemo_does_not_work_for_kids
間隔反復フラッシュカードソフトウェアの要は、忘却曲線の予測に合わせてカードをスケジュールすることで、AnkiとSuperMemoは大人の忘却曲線に合わせて設計されている
簡単にググれるのになぜ覚えるのかという人も多いが、実際にはそうは機能しない。頭の中に事実が多いほど、それらをつなぐ経路が増え、洞察も生まれる。結局、その脳こそが元祖 ニューラルネットワーク なのだから
こうした子育てのやり方を大いに尊敬するし、自分にも子どもができたら似たようにやってみたい。コメントを投稿してからDerek Siversだったと気づき、ずっと前からブログを読んでいた
自分も親で、子どもが自分で問題を解けるように 批判的思考 を教える活動を優先してきた
こういう暗記活動も加えるべきなのか知りたくて聞いている。判断したいわけではなく、実際に役立ったなら真似してみることもできるので聞いている。長年書かれてきた文章には大きな敬意を持っている
もう一つ気になるのは、この中の多くが雑学のように見えるが、教育、たとえば学校の勉強に役立ったのか、それとも半分くらいは日常的に使う知識にも役立ったのかということ。UNIXコマンドはよい例になりそう
個人的には2018年末から 間隔反復システム を使ってきて、潜在的な超能力が解放されるように感じるほど有用だったが、正規の学校の勉強には適用したことがない
Ankiを使うときの一つのコツは、既存のデッキを使うより カードを自分で作成 したほうが、よりよく学べて復習も長続きするということ
講義や教材に沿って紙にノートを取り、重要な概念をAnkiのフラッシュカードにし、毎日復習する流れは非常に効果的
既存のデッキでもうまくいくことはある。アマチュア無線の免許勉強では既存デッキで成功したが、それは覚えるべき特定の問題演習が決まっている場合で、普通の科目を学ぶ方法とは違う
学ぼうとしているテーマに高品質なデッキがあるなら、それを使うほうがよく、これは試行錯誤で学んだ
医学や語学学習には優れたデッキがたくさんある。文の採集用に自分のデッキを作る必要はあるかもしれないが、それは時間の無駄とは別の問題。本当にニッチなテーマなら自分でデッキを作るしかない
自分でデッキを作る人は、Ankingデッキを見て優れたカードの作り方を参考にするとよい
学習効果が2倍になるとしても労力が5倍かかるなら、学びたいが全力を注ぐ時間はないものには、既製のカードを使うほうが何もしないよりよい
たとえばDuolingoは最速で最も効果的な方法ではなかったが、労力が少なくて済んだので、Duolingoと友人たち、ドイツ滞在の時間を通じてドイツ語をB1レベルまで学べた
仕事・学校・強い理由が絡んでいないなら、たいていの学習はこういうものだと思う。完璧はしばしば、そこそこ良いものの邪魔をする
宣伝になるが、自分が見ている教育系YouTube動画やポッドキャストから 間隔反復の質問 を作ってくれるツールを作った。普通は全部忘れてしまうし、見るものすべてについてデッキを作るほど投資はしないので、この方式に行き着いた — https://www.platoedu.org
残念ながら、公開されているAnkiデッキの大半は自分の基準ではそのレベルではない
ときどき手直しは必要だが、カード内容と書式を整える退屈な作業をChatGPTに任せ、いくつもの試験でよい結果を出せた
.vimrcでvimを使うようなもの間隔反復、特に Anki のようなツールは、実際に暗記に効果的です。ただし暗記は学習目標の最も基礎的な段階に当たります。
関係の分析、統合、批判的評価のような、より高次の知識を練習するためのおすすめツールがあるのか気になります。
[1] https://en.m.wikipedia.org/wiki/Bloom%27s_taxonomy
[2] https://en.m.wikipedia.org/wiki/Structure_of_observed_learni...
あるテーマを深く完全に理解するには、そのテーマの基礎的な構成要素と概念を深く完全に理解するほうがずっと簡単で、その出発点が暗記です。
たとえば語学学習では、記憶強化戦略の骨格は普通の紙のノートとペンで、Anki は特定の対象を狙った補強用としてだけ使っています。
最近 Anki を使う時間の大半は漢字学習に費やしています。これは間隔反復で押し進めるにはかなり理想的なケースで、実際に人気のある方法でもありますが、ここでもまず手書きのノートを好みます。
新しい字を書き、その構成、語源、似た形の字や構成要素として含まれる別の字との関係をメモするノートを維持しています。买 と 卖、找 と 我を混同しないよう手で書いておくという単純な行為だけでも、数多くのフラッシュカード反復と同じくらい価値があると感じます。
Anki にも漢字カードを作りますが、たいていは読んでいるうちに何度か出会い、ある程度なじんでから追加します。大きなテーマを扱うときに何度も間違えるカードはものすごい時間の無駄なので、「again」を1〜2回以上押すことはないとかなり確信できるまで、デッキには入れたくありません。
慣れてくると、学習に対する見方が変わります。
[1] https://supermemo.guru/wiki/Michael_Nielsen_re-discovers_inc...
間隔反復システムで量子物理学を学ぼうとする実験的な取り組みが参考になります: https://quantum.country/
少なくとも語学学習では、インプットに十分身を浸せば、脳は言語使用に必要な深い関係の地図を作れますし、任意の文法や語彙を機械的に覚えるだけではその過程を代替できません。
数年ごとに Anki を語学学習にかなり集中的に使っています。ドイツ語、最近ではラテン語と古典中国語で、1日最大90分まで使いましたが、作業量をコントロールできなかったり習慣が変わったりして、結局やめることになります。
1年間訓練した成果はまだ残っていますが、間隔反復のロングテール区間は私にはまったく合わないようです。それでも、読んだりテレビを見たりできる水準まで到達すれば、カードを作って復習したかなりの労力には価値がありました。
他人に合う必要のない高度に個人化されたシステムを、時間をかけて作るのも楽しいものです。アクセシビリティ設計とは正反対の利己性を許し、その結果としてかなり新しく満足度の高い設計判断が生まれることもあります。
オンラインには共有デッキがたくさん上がっていますが、ホスティング費用や著作権のためなのか、定期的にダウンロードされないデッキは削除しているようで、その結果ニッチなデッキが多く消えています。ドイツ語デッキをいくつか上げましたが、英語デッキほどのトラフィックが出るはずもなく、削除されました。少し残念で、逆だったらエコシステムがどうなっていたのか気になります。
私の基準では、復習時間が5分を超えたら、しばらくカード追加を止めるタイミングです。
生きていると2〜3日飛ばさざるを得ない時が来て、そのときに積み上がった膨大な未処理分に圧倒されて諦めてしまいます。
HN のコメントをいくつか見て、最近 SuperMemo を使い始めましたが、今のところかなりうまくいっています。休む必要があるときに圧倒されにくい感じがあり、アルゴリズムのせいなのかデフォルト設定が良いからなのか、ずっと容赦がありません。
まだ初期段階ですし、過去の間隔反復経験から得た知識があるので、今 Anki と比較するのは公平ではありません。それでも暗記への情熱を取り戻してくれましたし、今のところ投資する価値はありました。
一度にジャグリングできることには限界があり、すべてが滑らかに流れていないと、長いデッキを処理し続けるのはさらに難しくなります。他のすべてを一時停止できるなら問題はなさそうです。
それでも定着率が高いので、デッキを使う期間の間の進歩は維持されるほうです。
統計を見ると、ほぼ1年間勉強していて、1日の平均学習時間は2分未満、平均の復習1回は2秒もかかっていませんでした。合計ではおよそ10時間です。
効果は信じられないほど良かったです。HN のどこかで、とても簡単なカードを作ると役に立つと読んだのですが、習慣を維持するのに確実に役立ちました。
Anki には使用量を制限する簡単な方法があります。1日の最大カード数を5枚のようにばかばかしいほど小さく設定すればいいのです。5枚ならできますし、たいてい1分もかかりません。
それで大丈夫になったら、少しずつ増やせばいいです。Anki を唯一の練習経路にするのではなく、既存の学習ルーティンの補助手段として使うのがよいです。
最適でなくてもやる習慣は、完璧にやろうとして取り逃すよりずっと良いです。一般に、頻度が品質に先立ち、前者を得てから後者を高めればよいのです。
ドイツでの Erasmus 期間中に Duolingo、Babbel、Seedlang、Anki など上位の語学学習アプリをほぼ全部試したが、どれもしっくりこなかった。
欲しかったのは、文脈の中で学ぶこと、カードごとの音声、1セッションで多くのカードをめくる高い密度、プレースメントテストなしでスキップできること、自分が消費しているドイツ語のポッドキャスト・YouTube・Webサイトから単語を取り込んで学ぶことだった。
ドイツ語の単語のかなりの部分は英語・チェコ語と1対1で対応しないので、単語対単語の翻訳はあまり合わず、Duolingo は簡単な子ども向け練習に時間がかかりすぎて最悪だった。
Anki がいちばん合っていたが、文と音声のあるカードを作る過程が面倒で、カードを “well”、“good”、“easy” のどれで評価するか考えているうちに流れが途切れた。間隔反復は維持しつつ、“分かった/分からなかった” の単純な選択のほうがよかった。
そこでこの1年ほど、つけたり消したりしながら語学学習アプリを作っている。現時点ではドイツ語のみ対応で、YouTube・Web・テキストから単語を抽出し、複数の語形を処理し、GPT-4で無限に多くの例文カードを作り、最新の GCP モデルの良い音声を付けている。
Android と iOS のリンクがあるプロジェクトサイト: https://vokabeln.io/ Webデザインは古く、アプリは今ではかなり違う見た目になっている。
それでも間隔反復アルゴリズムは動くはず。“well” はカードを非常に長い間見直さないことになるのでおすすめしない。
特定のドイツ語単語に合う例文を得るのはより難しいかもしれないが、ドイツ語の品質は良くなる可能性がある。スウェーデン語とポーランド語の専門学習ポッドキャストを作ったときに似た問題があり、GPT-4の出力には英語的な表現が多かった。
Der Fußballspieler schießt auf das _____.が見えるが、答えは “Tor” であるべき。誰も “Ziel” とは言わない。
名詞の冠詞と複数形、そして資格試験を準備している人向けの A1・A2・B1 単語リスト。来月実装するつもり。
たとえば1分とスケールされた最大時間だけ使い、真ん中の2つのボタンは無視するやり方。
Anki はピアノ練習に集中するのに役立った。
何年も練習してきた各曲には難しい数小節があるが、Anki を使う前はどの曲のどの小節が弾けないのかをあまり覚えておらず、すでに弾ける楽しい部分ばかり練習しがちだった。
今は、これまで扱ったすべての曲の難しい小節のまとまりごとにフラッシュカードが1枚ずつあるデッキを持っている。ピアノの前に座ったらそのデッキを開き、出てきた小節を練習してから、自己評価でその小節をどれくらい早くまた練習すべきかを示す。
5年以上こうしていて、基本アルゴリズムがピアノ練習セッションを効果的に並べてくれるのを見て感心している。
ピアノカードのサンプルを1つ共有してもらえる?
間隔反復で学ぶ身体スキルには何かありそう。
Anki が本当に好きで、ヘビーユーザー。
朝のフラッシュカードには、結び目、地理、言語、
tarのコマンドラインフラグ、論文、統計の宿題まで全部入っている。好きなもので埋めるのをおすすめしたい。朝に記憶の端にある趣味たちへ挨拶する感じが楽しい。鳥の声も学んでいる。視力がよくなく目で学ぶのが難しいので、身近な鳥のリストを eBird から取り、Macaulay Library から鳴き声の mp3 をダウンロードして個人用フラッシュカードとして一括インポートした。外で鳥の声を聞いて「これが何か分かる気がする!」と感じると、いつもやりがいがある。Merlin Sound ID とも相性がよい。
もう1つの良い使い道は、記憶補助用の Rolodex。友人に連絡して様子を尋ねるのをよく忘れるので、挨拶したい人の名前だけが入ったデッキを作った。誰かが出てきたら挨拶し、適切だと思う間隔でカードに回答する。こうすると、間隔反復システムが誰かをあまり長く忘れないようにしてくれる。
tarのコマンドラインフラグ?プログラミングを学んでいた頃は、言語の文法、フレームワーク機能、コマンドラインフラグのように簡単に調べられるものは暗記せず、自然に身につければよいという助言が一般的だった。
自分も最近、Nest.js プロジェクトを始める前からドキュメントを読みながら使い方カードを作っている自分に気づき、生産的なのではなく先延ばししているだけのように感じた。
Anki が暗記に効果的だということは否定しない。それは間隔反復の原理の効果を否定するのと同じだから。ただ、“vim キーバインド” のようなものを入れる価値があるのかは気になる。John Carmack も Vim がなぜ話題なのか見ようとしてそれをやったことで知られている。
こうした別々のテーマを1つの巨大なデッキに全部入れているのか、新しいテーマ領域を追加するときはどうしているのか気になる。
以前 Anki を試したときの問題の一部は、1) デッキ間で時間をどう分けるか決めるオーバーヘッドと、2) 情報をどれくらいよく覚えていたかを1〜5で評価しなければならない負担だった。2つ目が特に大きく、そういう作業がとても消耗するように感じる。これを乗り越えるコツがあれば聞きたい。
医学部で Anki をかなり使ったし、医学部ではとても人気がある。
もともとの専攻がコンピュータサイエンスだったので、実のところ暗記を高速で大量に行う文化ではなく、何百もの事実を一夜漬けする道具として完全に受け入れるまでに数年かかった。
しかししばらく使ってみると、システムが促す素早い想起は、概念のより深い理解に取って代わるというより、むしろそれを強化しているように感じた。数年前にこの関係について短く書いたこともある。
[0] https://samrawal.substack.com/p/on-the-relationship-between-...
Ankiは素晴らしい。英語の語彙を増やすために数年使ったが、いくつかの理由で結局Airtableのようなスプレッドシートを使うようになった
まず、ChatGPTから受け取ったリストのようにフラッシュカードを一括作成したいとき、インポート・エクスポートに制限がある
次に、毎日こつこつ続けるのが難しく、モチベーションが上がる形で進捗を見せてくれるとよい。私たちがTODOリストを使うのも、進捗を見たいからだ。Pop Itゲームやプチプチのような、つい触りたくなる楽しさも入るとよい
そこでAirtableに
Word、Translation、Days、Repeat、Attachment、Edited_atフィールドを作った。RepeatはDATEADD(Edited, Days, 'days')関数フィールドでフィルタリングに使い、Daysは1・4・10・25・55・90・200日のいずれかを選ぶ単一選択フィールドだ面倒に聞こえるが、そうではない。クリックするたびにテーブルの行が減るので進捗が見える。理想的でも、本物の間隔反復システムでもないが、自分には機能していて、なぜかより継続しやすい
それでもほとんどの場合、Ankiは素晴らしい
Anki内でGitHub風のグラフを表示し、コミット頻度の代わりに復習回数を数える
誰かがAnkiの名前を横取りしたことは、みんな知っておくべきだ
本物のAnkiプロジェクトがあり、同じ名前を使う模倣SaaSのAnkiサービスとモバイルアプリがアプリストアにある
どういう意味でAnkiが横取りされたのか分からない
[1] https://github.com/ankitects/anki
[2] https://apps.ankiweb.net/
これでずっと腑に落ちた