5 ms·
Frustration with Duolingo and Memrise when learning German led me to build a tool that could generate sentences in German and English simultaneously, while obey
by reitzensteinm 8y ago
Frustration with Duolingo and Memrise when learning German led me to build a tool that could generate sentences in German and English simultaneously, while obeying the grammar rules.
In my opinion, the handful of hand crafted sentences they provide bundles way too much complexity together at random.
In a traditional text book, you'd get a dozen questions that are very similar, changing one or two aspects of a sentence.
Ich habe ein Buch.
Sie haben ein Buch.
Ich habe zwei Bücher.
So, I built a ClojureScript app that did just that. Sitting down and churning through hundreds of those allowed me to build an intuition for grammar rules that I knew on paper but would mess up when attempting to use them.
But it took quite a bit of time to write, especially when the sentences became complicated, so was almost certainly a net negative to my personal learning.
I had thought about building it out further, but I don't speak German so would need a partner, and ended up getting funding for something else so life took me in a different direction.
I do wish there were a product like it though, if anyone knows of anything similar I'd love to know. It's not that exotic, just a digitized textbook!
- thescriptkiddie 8y agoYou may be interested in Seedlang. It's not exactly an online textbook, but it does have a greater focus on grammar than Duolingo. It also has video lessons, worksheets, and a multi player "quiz show".
- wallflower 8y ago> So, I built a ClojureScript app that did just that. Sitting down and churning through hundreds of those allowed me to build an intuition for grammar rules that I knew on paper but would mess up when attempting to use them. If you did not use an existing rules engine, would you please consider open sourcing what you have done to help others who are considering building something similar? Or describe more in depth how you did it? The current tools I see out there like LanguageTool are quite horrid when it comes to expressing the rules. https://github.com/languagetool-org/languagetool https://github.com/languagetool-org/languagetool
- reitzensteinm 8y agoI had a bunch of helper functions, but my view was that there's no way to solve it in general; building exercises would always involve writing annotations via a DSL. You wouldn't be able to avoid hand crafting each sentence structure (like you were writing a textbook), but the advantage comes from being able to parameterize the generation of tests. You define where the holes are and what can go in them for a particular exercise, and the combinatorial nature of it yields thousands of examples, with tunable complexity, allowing you to crunch on a topic with enough variation that you still have to think and not get bored. Ich mag rote Bücher, aber er grüne besser ist denkt. It's been two years so es ist viellicht nicht richtig! I don't think if you solve it this way, my solution would really be a helpful starting point. I didn't have a plan for moving past the first year or two of learning, I think you could learn a ton of basics this way, but once language gets more subtle and varied you'd probably need to do something else entirely. Also I don't know if this would work with other languages. German is extremely regular.
- wallflower 7y agoThank you! Yes, German is very regular. I’ve also heard Russian is where you construct a cathedral of grammar so that you can begin speaking.
- popinman322 8y agoYou might be interested in Grammatical Framework[0]. You specify an abstract grammar, and then implement it for particular languages. The system automatically conjugates verbs based on context. It's not terrible, though the documentation isn't great. Used it at my research job to convert English sentences to modal logic formulae and it was an alright experience. [0] https://www.grammaticalframework.org/ https://www.grammaticalframework.org/
- barry-cotter 8y agoOnce you’re past a basic level you’re at least as well off using Anki cloze deletion cards for this. You take a news article or short story and break it into chunks and the app will show it to you with bits missing and you have to guess/remember what’s in the missing parts. So this is the source card with four possible deletions. [Alle glücklichen Familien_c1] [sind einander ähnlich_c2]; [aber jede unglückliche Familie_c3] [ist auf ihre besondere Art unglücklich._c4] And this is one question generated from that card. [...] sind einander ähnlich; aber jede unglückliche Familie ist auf ihre besondere Art unglücklich. You could do the same with a grammar textbook but if you use authentic texts I find it more enjoyable. If you want known good translations project Gutenberg has many different translations of classic works and aligning parallel corpora is a solved problem in natural language processing. If you want simple sentence structures you could start with children’s books.
- reitzensteinm 8y agoYeah, I was always sure it would run out of steam eventually (as I said in another comment), but I do think that point is well beyond where e.g. Duolingo reaches. What I described is basic, but once you're generating sentences from data there is quite a lot you can do with it. I also used clozes; once you're reading newspapers with high retention I doubt there's much use to what I'd build. I can tell you that clozing children's books does not at all fulfill the same role having done both.