\

Show HN: Anki-LLM – Bulk process and generate Anki flashcards with LLMs

54 points - yesterday at 2:04 PM

Source
  • treetalker

    yesterday at 7:03 PM

    I'm always apprehensive about "efficiencies" like this because the process of generating the cards contributes substantially to the learning and memory formation.

    Can anyone help me understand the opposing view better?

      • ATMLOTTOBEER

        today at 6:28 PM

        There’s no opposing view you’re just right. Also having a lot of Anki cards is bad, regardless of the fact that the reviews become less frequent as time goes on. You want as few cards as possible with as high a quality standard as you can get. With a few thousand cards it’s very easy to get into a cycle of spending a half hour or more per day doing reviews.

        • jbstack

          yesterday at 7:10 PM

          I completely agree with your first statement and I try to hand-generate my cards as much as possible.

          On the other hand, hand-generation is very time intensive. Having some kind of Anki card for a topic you need to memorise is better than having nothing at all. If LLMs help you write cards that you wouldn't otherwise get around to writing then it can be worth it.

          As an example, I've always found Anki really effective for my language learning. But the bottleneck was always finding the time to find good quality sentences from sources like grammar books and then creating the cards. Now I ask ChatGPT to generate me a whole bunch of example sentences for a particular topic or grammar point that I want to master, and I bulk import them into Anki in one go then use AwesomeTTS to create the audio. These cards feel less personal to me because I've lost the benefit of having put in the hard work of creating them myself from source materials. But that's more than made up for by the fact that I'm now progressing through the topics I need to learn at a much faster speed. I'd rather know 1000 words reasonably well than 200 words very well.

          After a few repetitions I don't think there's much difference anyway between a card you generated yourself and one you didn't - the SRS algorithm sorts it out for you in the end. The AI generated one might just need a few more reviews/fails/hards to get to the same level of memorisation.

          EDIT: I should add that I don't blindly trust ChatGPT's output. My wife is a native speaker for one of the languages, so I always have her check the cards. For my other language, I run the sentences past several other LLM models and I only keep those that all of them agree are correct and idiomatic.

            • watwut

              yesterday at 8:02 PM

              > But the bottleneck was always finding the time to find good quality sentences from sources like grammar books and then creating the cards.

              I solve that bottleneck be seeking better books, documentaries and movies.

              Then I skip the flashcards step.

                • sn9

                  today at 12:21 AM

                  But then your bottleneck is just how quickly you can learn, which is what flashcards and spaced repetition address.

                    • watwut

                      today at 7:55 AM

                      Spaced repetition works, but I can get that by seeing the same words repeatedly in in books or shows. I do not need precise calculated intervals over which exact word will appear when.

                      I found flashcards super ineffective for making myself to actually learn. And at times contra productive and brain numbing. I now see them as part of the same weird cultural instinct people today have - feeling like everything needs to be made as dry and uninteresting as possible, else it is not sufficient test or will (or something).

                        • jbstack

                          today at 8:34 AM

                          The problem with that approach is that adult second-language learners generally don't put in the same amount of time or access the same breadth of material as a baby learning it's mother tongue. Every word has a frequency with which it appears. A child will come across almost all words a sufficient number of times to eventually memorise them, because they are totally immersed in the language every hour of every day. As an adult learning a second language, unless I'm living in the target country in a fully immersive way (which for me isn't the case), then by consuming 30-60 minutes of media a day (which is my upper limit of what I can realistically achieve) I'm going to get strong exposure to high-frequency words and grammar patterns, and weak exposure to low-frequency ones. Many of those at the bottom end will be so weak that the occasional exposure I get simply isn't enough for me to attain fluency with them. Anki solves this problem: all words you learn via flashcards have a (roughly) equal chance of being remembered, independent of their frequency.

                          Anki also allows you to take long breaks from learning. If I go a year without learning any new material, provided I keep up my reviews (which significantly diminish in duration the longer you go without new cards), I'll pretty much be able to pick things up again where I left off. That doesn't work so well with other methods because you will forget a lot.

                          Flashcards are a lot more efficient in terms of number of minutes spent per word. For example, Skritter tells me that I spend an average of 1.78 minute learning how to write a word with Chinese characters. Aside from the fact that I wouldn't practice writing at all if I just consumed books/films, I'd also spend a lot more time that way as I'd constantly be stopping to look characters up in a dictionary and/or googling the grammar points every time I forget.

                          I take your point that you find Anki boring but that's highly subjective. I actually find it very satisfying and rewarding, almost as if I'm downloading information into my brain Matrix-style (just slower). There's a sense that whatever knowledge I put in Anki is mine to keep forever. In ~10 years of language learning, Anki is the one thing that I've most consistently kept up with. Your claim that it's a "weird cultural instinct [to make everything] as dry and uninteresting as possible" is false consensus bias - you're projecting your own feelings onto others who don't necessarily share those feelings, and therefore assuming everyone else must find it boring too.

                          Anki is also more suitable for beginners than books/shows. Realistically, you can't read a book or watch a movie when you are just starting. Everything will be so incomprehensible that the effort of having to stop to look things up will be overwhelming and tedious. Anki on the other hand can be started from your very first word or sentence.

                          For me personally, I neither like to dismiss nor focus too much on any one method. I've always learnt best when I put effort into multiple different methods: Anki, books, audio, apps, TV, real life practice, etc. This also helps to keep things fresh and interesting.

          • xdfgh1112

            yesterday at 8:02 PM

            I have 15k learned. It's a question of timing. Can time spent making the card outweigh time saved learning it? I would say yes. It's easy to spend too long making a single card. A compromise is to make a small card at first and improve it whenever you fail it.

            Personally I need some context in a card to hook it up to other things. Such as the sentence where I first encountered it. Without that I will often fail the card over and over and waste time - it would have been quicker to put some effort upfront making a decent card.

              • xdfgh1112

                yesterday at 8:07 PM

                There is also a meta level investment in your deck that comes from curating it by hand, and that pays off in long term motivation AND improves recall.

                I'm sure some people can knuckle down and learn an LLM deck with random words, but they'd be a minority.

                  • atahanacar

                    yesterday at 10:15 PM

                    >improves recall

                    Citation needed.

                      • today at 6:45 AM

            • atahanacar

              yesterday at 10:13 PM

              > the process of generating the cards contributes substantially to the learning and memory formation.

              How is creating a card anything different than reviewing the card once? Anki is a long term tool, writing something down once isn't. The time spent creating cards is better spent on doing more reviews.

                • jbstack

                  today at 8:43 AM

                  There is actually scientific evidence that direct engagement with material (e.g. making notes, re-writing in your own words, completing exercises, explaining it to others, etc.) is very beneficial to memory formation.

                  So, although creating a card is similar to reviewing it once (in that they will both help you remember it for a while), the former is worth more than the latter as a "unit" of memorisation. This means that you'll likely have longer review intervals, and therefore spend less time on reviews, if you wrote the card yourself, because the memory starts out stronger.

                  That has to be balanced of course with the amount of time you spend writing the card vs the gains you make in saved review time from having done so.

                    • rsanek

                      today at 9:58 AM

                      Making notes and re-writing in your own words have actually been found to not be very useful to memory formation [1]. Completing exercises works great: this corresponds to reviewing cards. Explaining it to others also works OK, but I'm not sure if creating cards is analagous to that.

                      [1] https://www.whz.de/fileadmin/lehre/hochschuldidaktik/docs/du...

                  • siva7

                    today at 7:51 AM

                    Try it and you will see why ;) This is a classic beginner mistake. In most cases, you are not only reviewing the card but also trying to learn something new in a random nonsensical order which you haven't mastered yet - that doesn't work.

                    • treetalker

                      yesterday at 11:44 PM

                      At the risk of sounding glib, the first way that comes to mind is that the learner is using their own intellect and (short-term) memory to code the information into their own words (often or usually entailing at least some self-checking and critique) instead of merely "reviewing" (really, seeing for the first time) an unfamiliar association of prompt and response, which was generated by a stochastic program, and which may not be correct at all.

                  • sn9

                    today at 12:00 AM

                    This only works if you actually check the Anki cards against the source material.

                    So if you wanted to learn the contents of a book without reading it, you're doing it wrong.

                    If you want to read a book and then test yourself on what you've read, it's totally fine.

                    • fledgexu

                      today at 12:56 AM

                      I totally agree with you.

                      • utopiah

                        yesterday at 7:12 PM

                        100%, in fact it's like when you write a "cheatsheet" only to realize that now that you did dedicate some time to

                        - write down what is important

                        - present it in a condensed manner

                        - verify that it does indeed cover only the topic you need

                        ... then ironically enough you probably do not need it anymore.

                          • arcanemachiner

                            yesterday at 7:35 PM

                            In that case, you may be able to upload the deck for others to benefit from.

                    • rahimnathwani

                      yesterday at 6:19 PM

                      I love this. Two things I noticed and liked:

                      - the README is extremely detailed and clear: all the commands are explained with examples and the why to use each one

                      - you're using Anki Connect to edit decks in-place, instead of trying to edit or generate an apkg file. This simplifies things and avoids issues such as needing to create custom note types or avoiding creating two note types with the same field

                      When my son and I have discussed a topic in response to a question, ideally I would evaluate whether there's something he should remember forever and, if so, I would create one or more Anki notes for that piece of knowledge. But right now it's too much effort, unless I'm at my desk. Even then, I need to copy and paste card fields from a chat interface into the Anki UI. That means I rarely do it.

                      • nobs_bs

                        today at 12:23 PM

                        Awesome, I was thinking of building something like this for myself but less automated. Basically, generate language flashcards for a given set of words and phrases. The automation part is the translation and the upload. It this might do it.

                        • thomascountz

                          yesterday at 10:29 PM

                          I'm curious about the effect of "hand writing" a card for spaced repetition. It sure feels like it helps me learn more effectively when I write high-quality cards myself, but n=1 in this case. Even when I use an LLM to help, I have never find the cards to be useful by default—same goes for trying to use other's decks.

                          That said, what I'd really love is a better card writing UI. If I could simply edit the table when in the browse view instead of opening the form view, that'd be a big step up!