I will say that GPT-4 is just incredibly expensive. For my app I only use it for advanced translations/corrections, and usually a combination of GPT-3.5+Wiktionary is able to get the more simple stuff done
Sure! I'm building a personalized AI language learning tutor using Open AI's API and ElevenLabs (for Text to Speech).
Right now it's basically a chat bot that you can use to practice conversing with. It provides corrections for the things you type. Eventually I'd like to try adding Whisper as well to allow users to speak out loud.
When you hover over a word, you get a translation. Initially I thought using Open AI for every word translation would be too much, but I've been able to get it down to ~36-40 tokens/request. (3-4 cents/1000 requests). I also began parsing and uploading some of this [Wiktionary data](https://kaikki.org/dictionary/rawdata.html) and am working on a feature that integrates the GPT-3.5 translation with this Wiktionary data.
A lot of these features are still in the works but you can feel free to try it if you like (https://trytutor.app).
what models would you use for translation? I am working on a language learning tutor (trytutor.app, very early) and GPT-3.5 turbo has been working fine, for the most part.
For foreign language corrections ("correct this German sentence and give a reason for the correction"), GPT-3.5 doesn't quite have the horsepower so I use GPT-4
Nice article! This would've been very helpful a few years back when I was attempting to make an Anki clone while teaching myself to code.
I'd still love to create a better open-source SRS algorithm at some point in the future. Mostly to use for language learning.
When I was learning Chinese characters, I did a bit of a deep dive into the Anki algorithm and found that the biggest flaw (imho) was the Ease Factor knocking a card back to 0.
If you mostly know a card, but miss it on one day for some reason - maybe you were tired or distracted, that card's learning progress should not be totally reset (as if you were learning it from scratch). That leads you to have too many cards to review on a daily basis. Instead, you should use some modifier to increase the interval to a reasonable level.
I think it would be awesome to pair SRS with high quality images and audio, which I find most helpful for language learning. I've used Rosetta Stone and Duolingo in the past; Rosetta Stone has great audio and images but lacks a powerful SRS (it also has a number of other flaws in my mind, but I'll save that for another time). Duolingo is great for grammar and explanations, but I can't take the pronunciations and tediousness of it all.
> If you mostly know a card, but miss it on one day [..] that card's learning progress should not be totally reset [..] Instead, you should use some modifier to increase the interval to a reasonable level.
In anki "Deck Options -> Advanced -> New interval -> 0.50" will make it so marking it as "Again" will cut the SRS interval by 50%, so i.e. if "easy" would have been "1 year", it now becomes "6 months" if it's easy the next time.
The above setting is called out in the "Adjust your New Interval" section of the link you provided, so it looks like you may have just missed that you already found the solution.
I've found 0.5 to be a good value, but you can tweak it of course. The default is 0, which gives the behavior you've observed (reset it all the way back).
> I think it would be awesome to pair SRS with high quality images and audio, which I find most helpful for language learning.
Anki cards can include images and audio, and while a little less well, they also support videos.
It's probably worth trying to create a deck within anki that does what you want before building your own system. It'll at least let you find actual issues with anki, rather than the surface-level misunderstandings of it you've got now.
I admit it's been a few years since I've dug really deep into Anki - you are right, I could probably fix the problems with the algorithm by tweaking the advanced options. Still, it'd be nice to have something that works out of the box.
Yes - I'm aware that Anki cards can include images and audio, and I've used those features extensively enough to know they are definitely lacking for my use case! Mostly, I'd like to make it easier to add the images and audio. The way I've done it in the past was googling for a stock image, downloading Forvo/Wiktionary audio files, and then dropping them into the Anki app. I'd appreciate an easier way to add these audio files and images when I add new vocabulary to my decks.
Anki's editing tools are a really generic, and thus tricky to use, tool, agreed!
Like many other anki users, I've ended up writing code that generates my decks.
If you can think of a better UX for editing cards specific to what you're studying, implementing a tool that creates and edits cards outside of anki, and then using anki for the study part, will probably end up being less work in total.
If it's _only_ the editing part, that's solvable without having to rewrite the whole SRS system too.
SuperMemo is proprietary software, and only works on Windows. Anki's algorithm is deemed adequate by most, and the benefits of newer algorithms which introduce more complexity are marginal/questionable.
From experience, my rep load in SuperMemo was half of what it'd have been in Anki for Japanese. over time, gap would've exploded. Being the only people with 30 years of good data makes a pretty big difference
But is your retention the same? These algorithms can be tuned, and obviously the amount of repetition to retain 95% of info is higher than retaining 90%.
Parent post was talking about algorithms. I linked to the site containing articles and research written by the person who created the algorithms.
It’s completely separate from supermemo the app.
If you’re looking at SRS algorithms, it’s worth looking through, for no other reason than to see what the flaws of the SM2 algorithm (used by Anki) are.
I’ve been using SuperMemo for almost 17 years every single day, started using it before Anki even came out. Too invested in my SuperMemo flashcard collection to jumó ship. I am 100% satisfied with SuperMemo 18’s algorithm, I’ve upgraded every single version since this is kind of my thing now. I’m a guy that does flashcards every day and can almost perfectly memorize everything I put in it.
You're describing a separate problem than ease hell, what you are looking for is fixed just by changing the lapses->new interval setting to be from 0% to something higher like 50%. I do agree that the default 0 is pretty bad though.
>That leads you to have too many cards to review on a daily basis.
Anki Review Hell.
I created Memory Hammer to solve this[1], It's an always on E-paper Anki client on a Raspberry Pi Zero. I can now review cards during small breaks from work regularly, Instead of a dedicated review schedule where its easy to get overwhelmed.
That's neat! You'd be having better latency than memory hammer but loosing out on always-on feature which IMO helps is addressing review hell.
I'm planning a companion mobile app for memwory hammer which would help me choose decks, Say if I want to revise a particular subject or language for test.
You might find this app relevant, one of the ideas behind it is that by selecting your own images the concepts stick better: https://fluent-forever.com/index.html
A small SRS system is my go-to project to learn any new programming language, it really helps to already know the problem inside-out when you're learning a new set of tools.
I've experienced what you describe with Anki also. Moreover, I've felt there needs to be a model of the user's current acuity, because it's highly variable. If I make one error, then yeah, apply the SRS algorithm to that card. But if I get 50% more errors than expected, maybe I'm just exhausted and the session should take that into account. I used to use Anki to study Chinese characters on the way home from work, and after a long hard day with poor sleep the night before, I hit the learning wall a lot faster than usual.
tl;dr a bonus effect of regular Anki practice is you can detect when you're in a stupor
Nobody tells this to people who are beginners, and I really wish somebody had told this to me.
All of us who do creative work, we get into it because we have good taste. But it's like there is this gap. For the first couple years that you're making stuff, what you're making isn't so good. It’s not that great. It’s trying to be good, it has ambition to be good, but it’s not that good.
But your taste, the thing that got you into the game, is still killer. And your taste is good enough that you can tell that what you're making is kind of a disappointment to you. A lot of people never get past that phase. They quit.
Everybody I know who does interesting, creative work they went through years where they had really good taste and they could tell that what they were making wasn't as good as they wanted it to be. They knew it fell short. Everybody goes through that.
And if you are just starting out or if you are still in this phase, you gotta know its normal and the most important thing you can do is do a lot of work. Do a huge volume of work. Put yourself on a deadline so that every week or every month you know you're going to finish one story. It is only by going through a volume of work that you're going to catch up and close that gap. And the work you're making will be as good as your ambitions.
I took longer to figure out how to do this than anyone I’ve ever met. It takes awhile. It’s gonna take you a while. It’s normal to take a while. You just have to fight your way through that.