Parley promotion mechanism for vocabulary

René Fritz rf-kde at colorcube.de
Mon Aug 14 09:00:19 UTC 2017


I'm currently digging into the repetition algorithm and I have some questions 
about. Let's start with this explanation I found in this mailing list:

> Hartmut Riesenbeck hartmut.riesenbeck at gmx.de :
> I try to bring some light into parleys grade handling as far as I understand
> it from reading the source code.
> 
> There are two levels -  pregrades and grades. If you type in a brand new
> vocable both are 0. If you answer the right translation at the first time,
> it
> is assumed that you know the vocable already ant it is set to grade 2.
> If you fail the first time and enter the correct answer at an later attempt,
> it is set to PREgrade 1. The pregrade blocking times are very short and not
> configurable.
> 
> Pregrade  1 -> 3.5 minutes
> Pregrade  2 -> 7 minutes
> Pregrade  3 -> 15 minutes
> Pregrade  4 -> 1 hour
> Pregrade  5 -> 2 hours
> Pregrade  6 -> 4 hours
> Pregrade  7 -> 8 hours
> 
> After you finish pregrad 7 the vocable elevate to the the grade level. Which
> starts at grade 1 and ends with grade 7. The blocking times for the grade
> levels are configurable in the lessons configuration dialog. If you don't
> practice a vocable for some time, its grade is decreased by one. This time
> period is also configurable in the lessons configuration dialog.
> 
> I think the distinction between grade and pregrade was made to keep
> compatibility with older versions of parley, which only know grades. You can
> find out if are at grade or pregrade level if you look in the upper right
> corner of the practice window. The word "initial" before the grade number
> means pregrade and the words "long term" means grade level. 

1)
To me it seems it is some kind of Leitner system algorithm? Any further 
explanation or resource of this implementation?

2)
What I'm unsure about is the pregrade. I recognized in the statistics that the 
progress is not as visible as I thought it should be after practicing. 
Pregrade handling would explain that. To increase a word one grade you have to 
answer it correctly. if you are in pregrade mode (because you didn't know it) 
you have to answer it 8 times right to get to grade one, which seems to me a 
lot.

As I understand the Leitner system you put a card you don't know in the first 
box (grade 1) and not in seven boxes before (grade -7).

What is the intention of pregrade?
From my understanding it would make sense to remove pregrade completely.

3)
In Practice::AbstractBackendMode::updateGrade

if (hasNoPreviousBadAnswers) {

...has no else, which means nothing happens. In other words, when I don't know 
a word in the current session, every right answer for that word (in the 
current session) has no effect?!

4)
in SessionManagerFixed::initializeTraining()
    // Pick the rest of the words from the already practiced ones.
    // Use higher graded entries before lower graded ones.

This makes no sense to me

There are bug reports which describes that the most often asked words are the 
ones that are most often asked again. 

The opposite would makes sense to me. First learn the words with lowest grade 
(and more often) and higher grades less often.

This is also described here: https://en.wikipedia.org/wiki/Leitner_system

What do you think?


René



More information about the Parley-devel mailing list