Allowing different mechanisms for "Automatically Known" ? #368
Replies: 3 comments 1 reply
-
Beta Was this translation helpful? Give feedback.
-
there is definitely some undesirable "known" creep/poisoning.
that is the current behavior, it only adds the tag if it doesn't have fresh morphs: if not has_learning_morphs:
note.tags.append(am_config.tag_known_automatically)
we don't track the difference in known threshold, only what it currently is, so this isn't really feasible.
this is definitely doable. We also have the "reset tag" option in the ankimorphs tool mnu, which one can run periodically to reduce creep/poisoning. |
Beta Was this translation helpful? Give feedback.
-
Indeed, I was not considering resetting all tags before doing a recalc to be able to handle those changes of states at review time, but as a first workaround, I could see :
Doing so, the "Automatically recalc before Anki sync" could do a reset+recalc at least after each session, which would be good enough to prepare the next session. The overhead wouldn't be noticeable since we were already talking of a recalc+sync before that. I think that as a first step, could already solve most of the issue. What do you think ? On a side note, I'm trying to think about what is the main point of having a tag_known_automatically in the first place. From what I see, it's mostly about "do we have to skip it or not ?", but I wonder if this question couldn't not be answered quickly anyway at review time based on the highest_lemma_learning_interval of each morpheme. For example, if the minimum of all morphemes highest_lemma_learning_interval is above the threshold, then just skip it for today. So the next day, if one of those drop, then it can be considered to be reviewed. We could tag it with that tag to mean "we skipped it", but not use that tag to actually make the decision, if you see what I mean. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Today I was confused because many cards had the default highest_lemma_learning_interval in DB.
To explain it very simply, let's say you have a card with the 3 cards : "love" "chocolate" "love chocolate".
If "love" and "chocolate" are not "unknown" anymore (but learning is sufficient), "love chocolate" will get the tag TAG_SUSPENDED_AUTOMATICALLY.
If, the cards "love" and "chocolate" drop below the "known" threshold, they won't also remove the TAG_SUSPENDED_AUTOMATICALLY from the "love chocolate".
But now, the card "love" and "chocolate", for the tool, will have a "highest_lemma_learning_interval" that will be equal to the default value (in my case : 60).
If "Chocolate" was the last word to be required to mark "Love Chocolate" as "known", then suddenly all other morphs from that card will be consider as "known" because they all have the card that has the default score for "highest_lemma_learning_interval"
I find it problematic because it can means that a lemma can be considered "known" when in fact not a single card has an interval greater than the threshold anymore. It also lead to "known cards" creeping up very fast and potentially never re-adjusting to things forgotten.
I have a few ideas like :
What do you think about this ? I feel the current
if unknows == 0 -> mark as automatically-known
might have some kind of "creeping up", since once a very long sentence is marked as such, it "poison" all other words to be consider as known, which will then poison other longer sentences, and so on !Beta Was this translation helpful? Give feedback.
All reactions