Beeminder Forum

Help beeminding intensive language learning

Hi. Whew this is long.

I have my own language learning platform I coded myself, so whatever we think about, I can hook it up with the API.

I need to do four things daily. Thought appreciated on all of these or their solution:

  1. Add 30 new words a day (I’l increase this once I find it “too easy”). This is easy to beemind. I think a do more goal that gets a new +1 datapoint every time I add a word automagically via API would be the cleanest, simplest and most effective solutions.

1.5 would be having to read a lot, to be immersed in the language - but I think it’s fine that we’re going to assume that adding 30 new words required me to go through enough material. If it’s not true yet it will be in a while, as the more words I add, the less new words to add I find while reading.

(wait for the end of the post for my lame backup solution for 2 & 3).

  1. Deal with reviewing “old” words. Technically, these are words with an “interval” greater than 1 day, which means the scheduler thought that after reviewing it some time in the past, I should wait more than one day before reviewing, and that time has finally come. Here comes the first problem. I don’t know how to deal with this, or if there even exists a way I could deal with this automatically via API logically speaking.

I don’t have a fixed amount to do every day, so I can’t use a do more goal. I could very well get these down to 0 at 13:00, but then they will start expiring again from 13:00 to 00:00, so if I just check with a whittle down goal at 00:00, I either account for the possibility of a ton of words accumulated since I “dealt with it for the day”, or I force myself to do this a second time late in the day, or I just accept that I’ll have a big number as the goal, representing what something like a day of buffer might look like numerically, to manually tweak from time to time… but I can’t tweak it more than a week in advance because of the akrasia horizon - which is good in general but here I need the responsivity of changing it instantly. I’d need to be my own calibrating loop.

  1. Dealing with “new words”. This is even worse. I have no idea how I could possibly beemind this. New words are words with an interval lower than 1 day. Basically, I review the word, and the scheduler will make me see it in, say, one hour. I still don’t know the word well, so I need to see it frequently to get it into my mind.

“Dealing” with new words is very arbitrary. I have a tool to spread the new words, due or not, in an arbitrary amount of time. This is because if I get 50 words to the lowest interval by getting them all wrong, I’m never going to be able to put them in my head cycling between 50 words, always hitting “didn’t know”. If I spread these 50 words in the next 6 hours, though, I’ll see one every few minutes. If I keep not knowing it, I’ll see the same word or same couple of words in rapid fire. They will get in my mind by brute force.

Also, it’s not always reasonable to get all the new words into my head in one day. It actually often isn’t. Some day, the words I see will be “easy”; they’ll use Kanji I’ve often seen, they’ll be memorable, and my brain will decide to soak them up right away. I might be able to put into >1day interval, say, 60 words. The next day every word might look the same and sound the same and it won’t get into my head no matter what I do, so I’ll only be able to put 10 words into >1day interval.

And so we come to the “lame” backup solution for 2 & 3. I can subjectively determine whether I’ve done enough 2 and enough 3 and just add a +1 datapoint manually. I could set a slope anywhere from 0.7 to 0.95 per day, such that I accumulate buffer every day I do it and will eventually have the ability to take a day off every once in a while.

If you’ve made it until here I should probably paypal you, like, 20 bucks. Just for the time spent. If I had 20 bucks in my paypal… :stuck_out_tongue:

1 Like

Oh, and here’s a non exhaustive list my platform keeps track on we can use for the platform:

  1. number of words for which the interval was raised compared to yesterday.
  2. same, but only words which had a <1day interval yesterday.
  3. number of words with an interval less than an arbitrary interval.
  4. number of words due.
  5. number of words due at any future point in time.
  6. progress in “vocabulary knowledge score” (which takes into consideration the words I’m studying compared to the words in a corpus, weighted by frequency, weighted by my knowledge (using interval as a proxy))
  7. number of flagged words (words I’ve manually rescheduled to make learning them easier), both their intervals and their due date (or a combination of those)
  8. a very crude lazyness score, which is either just how many words are due at the end of the day or how many hours the oldest due word is overdue. This is easily weaselable by just rescheduling everything, though.
  9. number of intervals I’ve increased.
  10. an estimate of how many weeks are left until my vocabulary knowledge score hits 80%.
  11. number of new words added per day.
  12. cumulative number of words being learned.

Two example charts, just for fun.

Number of words with an interval between 64 days and 128 days (I should change the chart title)
image

Number of words with an interval < 6 minutes (these are the words I don’t know at all):

image

1 Like