Show HN: Personalized Duolingo (kind of) for vocabulary building
119 points ·
arbayi
·
My English is not the best but not the worst either. But I realized I can't boost it up after a certain level! In my belief, in order to truly learn a language, you need to be exposed to that language often. Vocabulary is the key factor here if you really want to improve in any language.
My experience is that when I read a book to improve my English vocabulary, I encounter words that I don't know so often and my reading gets disturbed. I go look for the meaning, come back, put it in context, re-read it, etc. It didn't work for me. So I tried listening to audiobooks - I listen to the book and read along, and whenever I encounter a word, I write it down. I get these 50 words in 2-3 pages and I ask ChatGPT to give me their meanings. I read them, take the book, and now read it myself. That helps for sure, but still after a while I lose those words because I never encounter them again. Well then, in order to not forget those words, I need some kind of exercise, right? A flashcard app maybe? Well, I still need to go out there, ask ChatGPT to create questions, put them in a flashcard app, etc. It's still time-consuming and this is supposed to be fun!
I need to be exposed to English in my daily life. I just need to save the words somewhere and whenever I want, I need to be able to practice them in a fun way, in Duolingo style maybe? So then I realized would it be better to store words in their own context? I mean, say I read Harry Potter and have a list of words I encountered in it, say I watch Breaking Bad and have a list of words I encountered watching it. I believe seeing those words together and practicing together makes it easier to remember them.
But I shouldn't be the one adding the meaning of the word and the one to generate exercises, right? It all should be automated. The exercise part will be handled by LLM for sure, but for the meaning of the word, I can fetch from a dictionary? But I really don't like the dictionary definitions and one word can have multiple meanings in their own context. So then I need to use LLM for this task too and have the word's meaning in its own context.
You create a list for your context, you add words, meanings get added automatically, and I see the word added in a different color (coloring is also a method used to remember words). It all takes seconds. And whenever I want to practice these lists, I can use learn mode to learn and test my knowledge in quiz mode. So I basically built this app ((thanks to Claude 3.5 Sonnet)). I want it to be like Duolingo, but of course I still have a way ahead to go, but wanted to share it in hopes of getting contributors.
You can read more in the repository. I would love to get your thoughts on this.
cat_multiverse ·13 hours ago
The best way I've found to identify vocabulary most important to my life is through journaling in the language I'm trying to learn. Describing exactly what I did that day, my thoughts, etc, as best I can.
I had thought of doing the journal entries digitally and gathering dictionary headwords from such journal entries, whether they're written in my mother tongue (English) or not, and use the built dictionary lists to drill vocab.
Traditionally you'd use a lemmatizer with a morphosyntactic tagger for the language to identify the dictionary words, but AI is serviceable these days to easily identify dictionary words from long-form text in many languages, though honestly would be surprised if AI outperforms the traditional methods already.
Good luck and have fun :)
Show replies
tkgally ·10 hours ago
Somebody has already suggested adding spaced repetition and audio, which I agree with completely.
One more suggestion: In addition to having the LLM give you the meaning and example for the context in which you originally saw the word, also ask it to provide the word’s other main meanings and examples of it being used in those senses. You might encounter a word first in a slang or technical sense; while it’s useful to learn that meaning, it’s also important to learn other, more common meanings.
Below are some examples of words you might encounter first in technical contexts but would also be worth knowing in their more general meanings. (Examples suggested and defined by ChatGPT o1.)
canonical
Religious/General: Relating to a canon (e.g., church law) or a recognized body of works.
Math/Computing: Conforming to a standard or simplest form (e.g., “canonical form” of an equation).
resolution
General: A firm decision or determination (often heard in “New Year’s resolution”).
Tech/Imaging: The detail an image holds, typically measured in pixels, dots per inch (DPI), etc.
protocol
Diplomatic/General: The official procedure or set of rules governing state or ceremonial events.
Computing: A set of conventions and rules for transmitting data between electronic devices.
flux
General: Continuous movement or change, often implying instability.
Physics/Engineering: The amount of some quantity (e.g., heat, magnetism) passing through a given area over time.
flemhans ·1 hours ago
kebsup ·3 hours ago
My app [1] is basically a combination of SRS flashcards with an ebook/YouTube/Website reader. Unlike Anki though, AI creates example sentences, definitions, images and audio.
I find it interesting that you want to get inspired by Duolingo. My approach is to have the most efficient grind possible - no gamification. I've found Duolingo was wasting so much of my time with exercises that did not really teach me anything and took a long time to complete + the XP points/levels etc. were quite distracting.
[1] https://vocabuo.com
sebnun ·17 hours ago
I originally planned to add some kind of SRS to it, but I found that I learned much better just reading things in context instead of explicitly using SRS to memorize them. Steve Kaufmann (creator of LingQ) explains this better here [2]
[1] https://www.langturbo.com
[2] https://www.youtube.com/watch?v=t26IPxExmzs
Show replies