jzohrab / lute

DEPRECATED: LUTE (Learning Using Texts) is a self-hosted web app for learning language through reading, based on Learning with Texts (LWT)
The Unlicense
118 stars 10 forks source link

Consider reducing number of term ratings #23

Closed jzohrab closed 1 year ago

jzohrab commented 1 year ago

Currently, Lute uses the ratings from LWT (unknown, 1 to 5, then Well Known or Ignore). That's 7 choices, which I think is way too many.

Personally, when I'm reading, I'm really only thinking like this:

The current statuses are as follows:

(StID, StAbbreviation, StText)
(0, '?', 'Unknown'),
(1, '1', 'New (1)'),
(2, '2', 'New (2)'),
(3, '3', 'Learning (3)'),
(4, '4', 'Learning (4)'),
(5, '5', 'Learned'),
(99, 'WKn', 'Well Known'),
(98, 'Ign', 'Ignored');

I think these should be mapped as follows:

Changes needed:

There may be other places too. I think the numbers are hardcoded in a few places, but there are some predefined constants in src/Entity/Status.php.

NOTE: I don't know why I was so hung up on this at the time ... I could just choose to ignore the values I don't use :-)

Optophonic commented 1 year ago

I think the idea behind the current stages is that you need to see a term multiple times to actually learn it. The different stages look like a simple spaced repetition or Leitner system. So I think they are not choices like you put it but states in a learning state machine.

Compared to your proposal I would favour to stick to the Leitner system or enhance it by implementing a spaced repetition algorithm like SuperMemo.

Related links:

jzohrab commented 1 year ago

Good input @Optophonic, thanks very much for taking the time. :-)

I wrote Lute based off of LWT, but dropped the SRS feature of LWT: the code was brutal, and for the initial MVP (minimal viable product) release of Lute I didn't feel that it was a necessary feature. I still don't :-) for a few reasons:

  1. A brute-force approach of "just test everything" isn't the best. In some cases like verb inflections, I don't need to test every permutation -- perhaps I should only see the parent, and a few child examples. Also, there are many words that I've only seen once so far in my reading, and may never see again (I know that's partly what an SRS is for :-) ). I think I should be able to select the terms I want/need to test, to focus on the important stuff first.
  2. I question whether Anki testing falls within the primary use-case of Lute, which is just to get you reading, and to hopefully encourage you to keep reading. I read a lot with Lute, and would vastly prefer to focus on reading, rather than testing.
  3. Testing by seeing sentences I've read, and then regurgitating those (or similar), isn't very fun for me!
  4. Updating statuses of terms in Lute can be done with a hotkey click, if they even feel it's necessary :-) In my usage so far of Lute, I have rarely updated my term statuses, it really doesn't feel useful.

Even Steve Kaufmann of LingQ doesn't really recommend using their testing feature, probably for the same reasons as I have above. :-) (He does recommend their "sentence mode" for building sentences, I believe.)

I believe that a simple export of selected terms and images to a file/folder to be used by something like Anki is best, as detailed in jzohrab/lute-v3#3 .

Cheers and thanks again!

jzohrab commented 1 year ago

Closing this for now, as it's really not necessary at the moment. Who cares if there are too many? Not me, not yet.