3 poin oleh GN⁺ 2024-01-16 | 1 komentar | Bagikan ke WhatsApp
  • Wiki ABC of FSRS milik FSRS untuk mengoptimalkan jadwal tinjauan belajar telah dipindahkan dari fsrs4anki ke wiki baru awesome-fsrs
  • Materi riset MaiMemo yang ditautkan masing-masing membahas optimasi penjadwalan pengulangan berjarak dan pemodelan dinamika memori dalam makalah ACM KDD dan IEEE TKDE
  • Tulisan terpisah memperkenalkan proses penelitian algoritme pengulangan berjarak melalui pengalaman seorang mahasiswa sarjana yang menerbitkan makalah ACM KDD
  • FSRS-Anki-20k dan anki-revlogs-10k juga diperkenalkan sebagai dataset open-source yang mencakup karakteristik deret waktu
  • FSRS adalah proyek open-source independen yang dipimpin komunitas, dan dukungan dari organisasi seperti MaiMemo Inc. menopang partisipasi berkelanjutan para kontributor inti

ABC of FSRS pindah ke wiki baru

Materi riset pengulangan berjarak

Tulisan tentang pengalaman riset

Dataset publik

Proyek komunitas dan dukungan

  • FSRS adalah proyek open-source independen yang dipimpin komunitas
  • Menyampaikan terima kasih atas dukungan dari organisasi seperti 墨墨背单词 (MaiMemo Inc.)
  • Dukungan MaiMemo memungkinkan kontributor inti seperti Jarrett Ye mencurahkan waktu dan keahlian mereka ke FSRS
  • Kolaborasi semacam ini membantu FSRS tetap menjadi algoritme pengulangan berjarak terdepan yang tersedia bebas untuk semua orang

1 komentar

 
GN⁺ 2024-01-16
Komentar Hacker News
  • Cara yang sangat diremehkan untuk meningkatkan spaced repetition adalah membuat kartu menjadi lebih mudah. Saya menyadari bahwa kartu yang efektif ternyata boleh saja sangat mudah
    Awalnya, saat menghafal kosakata bahasa Prancis dengan Anki, saya membuat kartu dua arah Inggris↔Prancis, tetapi setelah jumlah kartu mencapai ratusan, terlalu banyak sinonim membuatnya menyiksa
    Setelah itu, mengikuti saran Katzumoto untuk belajar bahasa Jepang, saya menempelkan seluruh paragraf dari e-book atau halaman web dan membuat kartu cloze yang hanya menutupi satu kata; mudah, tetapi efektif
    Lalu saya makin malas: hanya menutupi setengah kata, atau menebalkan kata dan menganggapnya lulus jika saya kira-kira bisa mengingatnya dalam konteks. Justru itu bekerja lebih baik
    Saat sebuah kartu muncul dan saya merasa “ah, kartu itu lagi?”, saya menghapusnya, dan saya mengatur Anki agar menangguhkan permanen kartu yang salah 3 kali. Kalau itu memang kata yang benar-benar perlu saya ketahui, saya akan segera melihatnya lagi dalam konteks yang lebih baik, jadi tidak masalah, dan kosakata bahasa Prancis saya terus bertambah cepat
    Menurut saya, peningkatan terbesar kemungkinan datang dari perbaikan format kartu, bukan dari algoritme spaced repetition yang lebih baik, dan ternyata cukup sulit membuat kartu yang terlalu mudah untuk dianggap berguna. Ini hasil dari lebih dari 35.000 review Anki dalam tiga bahasa

    • Inilah cara memakai SRS dengan benar. Para geek seperti kita mudah mengejar peningkatan 1% lewat algoritme review atau metode input yang lebih pintar, tetapi mode kegagalan sebenarnya jauh lebih biasa: orang menyerah
      Saya sering melihat orang memasukkan ribuan kartu ke Anki pada bulan pertama belajar sesuatu, lalu satu-dua bulan kemudian kewalahan oleh jumlah review, review terasa seperti pekerjaan remeh yang membosankan, dan akhirnya berhenti
      Ada dua nasihat yang membuat perbedaan. Buat kartu sedikit ‘terlalu’ mudah, dan cukup selektif soal kartu apa yang dimasukkan
      Saat pertama membuat kartu, topiknya masih segar karena baru saja dipelajari, sehingga kita ingin membuat kartu yang menarik dan menantang bagi diri kita saat itu. Namun 1–2 minggu kemudian, kartu yang cukup mudah untuk sekadar menyentuh ingatan biasanya lebih baik daripada kartu yang membingungkan
      Alih-alih memasukkan kalimat dari satu buku penuh ke Anki, lebih baik berjalan pelan seperti di kebun buah dan memetik hanya satu-dua apel terbaik. Apel busuk, yaitu kartu yang tidak menarik atau terlalu sulit, akan mencemari seluruh deck dan membuat kita menghindari review itu sendiri
    • Saya melakukan kebalikannya. Saya sudah melakukan 70.000 review Anki dalam satu bahasa, dan menambahkan konteks dengan hati-hati umumnya terasa seperti buang-buang waktu pembuatan kartu
      Review biasanya lewat dengan cepat, jadi waktu pembuatan ternyata mengambil porsi yang cukup besar dari total waktu belajar per kartu. Belakangan saya memasukkan konteks semakin sedikit, dan sering kali kartu sederhana bawaan yang dibuat plugin kamus sudah cukup
      Menambahkan konteks ke sisi depan kartu hampir selalu hanya saya lakukan ketika itu adalah istilah teknis yang hanya muncul dalam konteks tersebut. Artinya ketika kata itu tidak bernilai untuk dipelajari secara mandiri
      Namun saya setuju bahwa bersikap malas dan murah hati kepada diri sendiri itu baik. Saat menilai jawaban pun, saya cukup longgar: patokannya bukan penguasaan sempurna setingkat penutur asli, melainkan apakah saya benar-benar memahaminya cukup untuk menghindari kebingungan
    • 20 aturan penyusunan kartu SRS dari SuperMemo yang asli adalah gudang harta: https://www.supermemo.com/en/blog/twenty-rules-of-formulating-knowledge
      Itu akan sangat meningkatkan kualitas kartu
    • Saya memikirkan hal serupa saat belajar gitar. Bisa jadi bagus jika satu masalah ditangani otak dengan berbagai cara
      Misalnya, kita bisa saja memaksa hafalan nada di fretboard dengan spaced repetition secara kasar, tetapi dalam praktiknya mencampur konteks lebih efektif
      Ada minggu ketika saya malas dan hanya drill nama nada, minggu lain saya mengutak-atik tangga nada aneh seperti Hungarian scale, dan minggu lainnya saya mencoba mereproduksi progresi chord arpeggio atau power chord, atau suara dan feel lagu tertentu
      Seiring waktu, otak mulai membuat koneksi. Muncul pencerahan seperti “ini cuma tangga nada G minor”, “ini G mayor tetapi melewati nada-nada itu”, atau “dengan pola ini, bukankah saya bisa memainkannya seperti itu?”
      Ada juga perasaan aneh bahwa laju saya menyadari apa yang tidak saya ketahui meningkat jauh lebih cepat daripada apa yang saya kira sudah saya ketahui. Meski begitu, saya sedang mempertimbangkan memakai algoritme spaced repetition yang memberi tugas gitar 5–10 menit untuk mengembangkan muscle memory dan koneksi saraf sekaligus
    • Saya sudah lama memakai Anki secara putus-putus untuk belajar bahasa, dan belakangan memakainya untuk belajar kuliah online
      Mungkin karena materinya lebih beragam daripada hanya bahasa, pengaruh format kartu terasa besar. Bahkan pada deck buatan orang lain, saya sering mengubah kata-kata di sisi jawaban, dan ada perbedaan yang terasa pada retensi
      Jawaban yang ringkas dan mengalir alami lebih mudah melekat. Jika ada kartu yang terasa canggung, sebaiknya jangan ragu untuk memperbaikinya
  • Saya menghafal puluhan ribu kata bahasa asing dengan Anki, dan gambar pada kartu selalu membantu saya mengingat kata
    Sekarang saya sedang mengerjakan proyek yang mungkin agak konyol: menghafal 750 kartu permainan kuis bersama keluarga. Semua kartunya berisi pertanyaan yang jawabannya adalah tahun. Contoh: “Coca Cola Light keluar pada tahun berapa?”
    Membuat gambar untuk kartu dengan Midjourney membuatnya jauh lebih mudah diingat
    Saya memakai sistem yang menempatkan tokoh representatif untuk tiap abad. Einstein mewakili 1900–2000, Marie-Antoinette mewakili 1700–1800
    Benda mewakili dekade. Mobil tahun 60-an berarti 60-an, jaket bantalan bahu berarti 80-an, dan seterusnya. Digit terakhir juga diperlakukan dengan cara serupa
    Saya meminta Midjourney membuat elemen-elemen ini menjadi gambar bergaya kartun, lalu menyimpan gambar yang paling lucu atau absurd untuk dimasukkan ke sisi belakang kartu Anki. Gambar sering kali lebih mudah diingat daripada tahunnya sendiri

    • Ada tiga hal. Pertama, coba cari PAO, teknik mnemonik berbasis gambar
      Kedua, karena ingatan dalam situasi nyata tanpa gambar bisa memburuk, sebaiknya uji secara berkala dengan dan tanpa gambar secara terpisah
      Ketiga, saya penasaran apakah kuis itu Trivial Pursuit. Seorang teman sengaja menghafal semua kartu edisi Genus asli
    • Saya sedang melakukan hal yang sama untuk geografi. Bendera, ibu kota, dan semacamnya. Sepertinya itu akan memberi keunggulan sekitar +5 di sebagian besar malam kuis
    • Sistem itu brilian. Tanggal selalu sulit bagi saya, jadi ke depannya saya akan mencuri ide itu
  • Menarik. Menurut benchmark, dengan algoritme ini kita hanya perlu meninjau 20–30% lebih sedikit kartu dibanding algoritme Anki klasik
    Beberapa hari lalu saya merilis implementasi Python dari algoritme SM-2 klasik yang dipakai di https://python.cards, dan mungkin bisa diganti ke FSRS: https://github.com/vlopezferrando/simple-spaced-repetition

    • python.cards terlihat bagus. Akan lebih baik kalau ditambah beberapa contoh
      Saya juga penasaran apakah ada kemungkinan web app-nya dijadikan open source. Sepertinya ini bisa menjadi cara populer untuk menampilkan flashcard di bidang tertentu, seperti siswa yang belajar X
  • Dari penjelasannya, FSRS tampaknya masih memberi tanggal tinjauan yang tepat pada tiap kartu. Fitur inilah yang membuat saya berhenti memakai Anki
    Saya bukan mahasiswa dan tidak sedang mengikuti ujian, jadi saya hanya ingin berlatih saat ingin saja. Mungkin ada jeda panjang antar-sesi, dan saya tidak ingin merasa ada kartu tertunda yang menumpuk
    Anki adalah aplikasi yang hebat, tetapi alih-alih memberi tanggal tinjauan, saya berharap ada algoritme yang mengambil sampel kartu secara acak, namun proporsional terhadap probabilitas bahwa kartu itu perlu segera ditinjau
    Saya berharap pendekatan seperti https://github.com/fasiha/ebisu bisa tersedia sebagai plugin Anki, atau ada aplikasi serupa yang memakai format kartu terbuka

    • Namun ingatan tidak bekerja seperti itu. Kita tidak bisa membiarkan ingatan dalam status ditunda seperti yang Anda usulkan. Ada alasan mengapa FSRS mengikuti kurva ingatan yang dipersonalisasi
    • Berlatih saat ingin, dan mungkin ada jeda panjang antar-sesi, itu sudah merupakan cara kerja SRS
      Hanya saja, kalau semua yang “tertunda” sudah dibereskan, Anda tidak bisa lagi berlatih kapan pun Anda mau, dan harus menunggu beberapa waktu sampai bisa berlatih lagi
    • Saya pernah membuat aplikasi setengah jadi seperti itu, dan hasilnya sangat tidak baik
      Mengulang fakta yang masih diingat terasa menjengkelkan, dan banyak hal yang sudah terlupa ternyata benar-benar terlupakan. Jadi pengulangan hampir tidak ada gunanya dan progresnya sangat lambat
      Intinya adalah mengulang tepat sebelum hampir lupa, dan itu sulit tanpa tenggat dan penjadwalan
    • Di Phrasing.app kami sedang membuat pendekatan seperti itu. Awalnya kami memakai ebisu, tetapi pada akhirnya kami memakai fork FSRS yang dimodifikasi cukup besar
      Dalam praktiknya kami tidak memakai tenggat, dan selain beberapa fitur analitik yang diminta, kami berusaha menjaga pengguna berada di beberapa tingkat kesulitan
      Kami menganggap terus maju lebih penting daripada selalu menghapus 100% yang tertunda. Kalau sebuah kata benar-benar penting, pengguna akan memfavoritkannya atau melihatnya lagi
      Ini bukan aplikasi flashcard publik, dan sangat berfokus pada penambangan kalimat otomatis untuk bahasa asing. Meski begitu, saya dengan senang hati menjawab pertanyaan tentang pengalaman memodifikasi FSRS
      Informasi tentang produknya bisa dilihat di https://blog.phrasing.app/phrasing-first-look/
    • Di Anki, Anda bisa memakai dek terfilter dan mengurutkan kartu berdasarkan tingkat keterlambatan relatif
  • Saya sudah memakai FSRS selama 3 bulan, dan rasa sakit karena harus menyesuaikan algoritme penjadwalan SM2 lama lewat trial-and-error akhirnya terselesaikan
    Isi tiap dek dapat sangat memengaruhi tingkat retensi optimal, dan sekarang jika bobot tiap dek dilatih ulang setiap beberapa bulan, sistem akan beradaptasi dengan baik
    Makalahnya[0] juga layak dibaca jika ingin melihat analisis ketat tentang sains spaced repetition dalam lingkungan nyata berskala besar
    Karena benchmark-nya luas, bagi kebanyakan orang menyesuaikan ulang bobot untuk koleksi sendiri tidak akan memberi banyak manfaat sampai terkumpul ribuan review. Penulis merekomendasikan lebih dari 1.000 kali
    Ini juga bekerja baik ketika kartu dikerjakan terlambat. Probabilitas recall didasarkan pada stabilitas dan waktu tinjauan terakhir, dan jika Anda masih mengingatnya setelah melewati tenggat, stabilitasnya diperbarui menjadi sedikit lebih panjang
    [0] https://dl.acm.org/doi/10.1145/3534678.3539081?cid=99660547150
    [1] https://github.com/open-spaced-repetition/fsrs4anki/wiki/The-Algorithm

  • Karena saya menyukai flashcard sebagai hobi, setiap hari saya memakai beberapa aplikasi spaced repetition untuk bersenang-senang. Saya juga sudah mencoba FSRS dan bagus, tetapi belum setara dengan SuperMemo terbaru
    Kalau memasukkan materi yang sama atau mirip ke dua aplikasi atau lebih, perbedaannya terlihat. Meski begitu, FSRS jauh lebih baik daripada hampir semua yang ada sekarang, dan sepertinya akan segera menjadi lebih baik daripada SuperMemo
    Saya memakai Mochi Cards sekitar 1 tahun; rasanya lumayan saja, sedikit lebih baik daripada instalasi Anki bawaan. Mnemosyne juga mirip. Aplikasi SaaS SuperMemo juga oke, tetapi saya kurang suka cara mereka menyusun materi bahasa
    Untuk kosakata bahasa saya memakai Clozemaster, lalu setelah menjawab benar saya memasukkan kalimat itu ke SuperMemo. Karena algoritma SuperMemo memang jauh lebih baik. Ada juga penjelasan ChatGPT untuk tiap kata, jadi itu juga saya masukkan ke SuperMemo
    Bagian tersulit jelas membuat kartu yang bagus. Untuk mendapat lebih banyak ide, http://arxiv.org/abs/2401.01257 dan https://rust-book.cs.brown.edu membantu
    Saya belum menemukan program flashcard yang memungkinkan membuat kartu secepat SuperMemo. Di SuperMemo, cukup tempelkan blok teks (ctrl-n), pilih kata yang ingin dijadikan cloze deletion, lalu tekan alt-x. Ini bisa dilakukan berkali-kali pada potongan teks yang sama, dan setiap kali, kartu cloze baru masuk ke jadwal ulasan
    Di kebanyakan aplikasi lain, kartu harus dibuat satu per satu. Sepertinya karena mereka terlalu terikat kuat pada metafora kartu dan deck. SuperMemo mengorganisasi semuanya dalam struktur tree, dan itu membuat perbedaan besar. Sebenarnya tidak perlu selalu diorganisasi, tetapi orang-orang bertindak seolah materi yang dipelajari akan terklasifikasi rapi sebagai deck di dalam kepala

    • Di Anki, pada Debian, ini adalah Ctrl-Alt-C
    • Di Mochi juga hampir sama. Buat kartu baru dengan n, tempel teks dengan ctrl-v, pilih kata, buat cloze dengan ctrl-l, lalu buat grup cloze nomor 0–9 dengan ctrl-[n]
      Setiap grup cloze akan memiliki “kartu” sendiri
  • Mengingat pentingnya spaced repetition, saya merasa mungkin diperlukan pendekatan modular, tidak seperti Anki
    Bukankah ada tiga hal yang terpisah?

    1. kartu-kartu atau subset kartu
    2. riwayat interaksi dengan kartu-kartu itu
    3. algoritma yang menyajikan kartu berdasarkan riwayat itu, lalu menambahkan catatan lagi. Secara potensial, ini bisa berupa perhitungan saat dibutuhkan
    • Anki FSRS sudah lebih mendekati algoritma perhitungan tepat waktu yang hanya berbasis input yang diberikan pengguna
      Struktur datanya memang tidak sepenuhnya modular, tetapi dengan tetap menjaga kompatibilitas dengan deck Anki lama dan add-on, ini sedekat yang secara realistis memungkinkan
      Bahkan sekarang ada tombol untuk menghitung ulang sepenuhnya semua interval dan tingkat kesulitan hanya berdasarkan riwayat dan nilai penyesuaian algoritma saat ini. Jika sudah memakai FSRS dan nilai penyesuaiannya tidak berubah, perhitungan ulang tidak menghasilkan efek apa pun, karena sama saja dengan perhitungan inkremental setelah tiap ulasan
      Pada prinsipnya, ini bisa dilihat sebagai pure function yang dihitung tepat waktu, dengan data yang dihasilkan di-cache demi kompatibilitas lama dan performa
  • Sebagai promosi diri tanpa malu-malu yang terkait, saya membuat tool gratis dan open source untuk membuat kartu Anki dari video YouTube: https://youtube2anki.fly.dev/
    Saya ingin mendapat masukan. Kodenya ada di GitHub: https://github.com/vacmar01/youtube2anki

    • Keren. Boleh tanya dipakai untuk video seperti apa?
  • Saya sudah beberapa kali berbicara dengan Xiaojun tentang FSRS dan Anki. Dalam sistem spaced repetition tradisional seperti Anki+FSRS, pelajar sering meninjau pengetahuan selalu dalam konteks yang sama, sehingga bisa memahami pengetahuan sebagai unit terisolasi, bukan sebagai bagian dari jaringan yang lebih besar
    Misalnya, mempelajari kata secara terpisah tidak cukup mempersiapkan seseorang untuk memakai bahasa dalam kehidupan nyata. Dalam situasi nyata, konteks, kolokasi, dan penggunaan sangat berperan
    Cara belajar bahasa yang lebih baik daripada pengulangan terisolasi adalah membuat pelajar menjumpai kata dalam berbagai konteks dan kombinasi, sehingga mereka memahami bagaimana kata terbentuk secara alami menjadi chunk dan kalimat
    Karena itu, untuk pembelajaran bahasa, kami sedang membuat sesuatu yang menampilkan video pendek kehidupan nyata, bukan kartu Anki. Setiap video adalah skenario kecil yang menunjukkan bagaimana bahasa dipakai dalam situasi nyata
    Siswa tidak hanya menghafal kata, tetapi juga melihat penggunaannya dalam konteks alami, termasuk petunjuk visual dan gestur. Pendekatan ini dapat membantu memahami penerapan nyata kata dan ungkapan, sehingga pembelajaran menjadi lebih imersif dan efektif. Karena alasan utama kegagalan belajar bahasa asing adalah tidak bisa bertahan melakukannya
    Hal lain yang kurang dari Anki adalah kuis berbasis situasi nyata, bukan sekadar “ingat tidak?”. Siswa perlu menerapkan apa yang dipelajari dalam lingkungan yang menyenangkan dan rendah tekanan
    Algoritma SRS hanyalah sebagian dari solusi, bukan obat mujarab. Ada banyak faktor dalam ingatan, seperti pengaruh emosi terhadap encoding. Kita tidak perlu SRS untuk mengingat ciuman pertama atau hari kelulusan
    Orang-orang belajar bahasa ibu dengan lancar tanpa SRS apa pun, tetapi untuk bahasa asing, kebanyakan tidak menjadi fasih meskipun memakai SRS

    • Argumen bahwa kita perlu belajar dalam konteks dan memvariasikan konteks memang bernilai, tetapi pernyataan “orang belajar bahasa ibu tanpa Anki atau belajar tata bahasa” selalu terasa mengganggu
      Pemerolehan bahasa pertama dan pemerolehan bahasa kedua itu berbeda seperti apel dan bacon. Otak bayi dan orang dewasa berbeda, begitu pula kebutuhan, kemampuan, dan konteksnya
    • Benar. Saya lebih suka pendekatan yang menggabungkan SRS dan immersion learning, seperti metode Refold