Parley promotion mechanism for vocabulary

Hartmut Riesenbeck hartmut.riesenbeck at gmx.de
Wed Aug 16 20:10:43 UTC 2017


Thanks Anša for this good explanation of pregrades!

Meanwhile I found a thread in the kde-edu mailing list archive, which clarifies 
the decision process for vocabulary learning strategy in parley.

https://mail.kde.org/pipermail/kde-edu/2014-March/008187.html

I can understand people who don't like the pregrades. But for some people 
(like me) they are quite helpfull for learning complete unknown words. But 
sometimes even I am a bit frustrated when I "crash" a grade 7 word by a stupid 
typo down to pregrade 1 and have to work up through all the pregrade levels. 

Your suggestion to remove the pregrade levels and increase the number of 
better configurable grade levels instead would brake compatibility with older 
kvhtml files. This could be solved by an import algorithm.

But in my opinion it's better to keep backward compatibility. I would make 
pregrade usage configurable. If someone don't like them, he can switch them off 
and only works with the 7 levels of the Leitner system. The kvhtml file format 
could be left as it is. The pregrade fields could be set to 0, if they are 
don't in use. The blocking time for pregrade levels could be made configurable. 
In practice mode a more eye-catching way of showing that you are in pregrade 
mode could be implemented.

As far as I know parleys source code, I believe that this changes could be 
made with a manageable amount of work. 

I am willing to try it. But I am not sure if it's the right way and if it finds 
general approval.

Comments / Suggestions are welcome  :-)

Best regards
Hartmut

PS. Is parley-devel the right place to discuss this?


Am Mittwoch, 16. August 2017, 16:51:21 CEST schrieben Sie:
> Hi all,
> 
> maybe Inge will reply himself, but if not, here is my understanding of what
> pregrades were meant for:
> 
> The idea is that a new word, or a word that has been forgotten, needs be
> practiced intensively within the first 24 hours, and that is what pregrades
> are for.
> Words that are never answer wrongly skip this stage; they may be words that
> the user has learnt in a lesson outside of parley but wants to include them
> in parley for spaced repetition, so that the intensive practice in the
> first 24 hours in unnecessary.
> But if you ever answer a word wrongly, you will have to go through all of
> the pregrades. (Even if you dropped from grade 7; and even if you then
> answer it correctly when you are on "pregrade 0 grade 0".) It is assumed
> that you have to practice it properly.
> 
> I remember some negative reactions from parley users when pregrades were
> introduced - there definitely are too many of them and the fact that they
> are not configurable (unless one is willing to go directly into the code
> and compile parley themselves) makes parley unusable for anyone who does
> not want to answer a word so many times before getting to grade 1.
> 
> 
> My own suggestion is to
> - completely remove pregrades from the code
> - increase the total number of levels (with configurable timing) to 10 or
> even 14
> - let the user set one new parameter: the level that a NEW word goes to
> when answered correctly (with this new parameter set to 8 and proper
> setting of the timings for the first seven levels, this would exactly
> simulate the current pregrades)
> - shorter timing values must be available for the levels (so that times in
> minutes or hours can be configured for the lowest levels)
> 
> However, note that if you remove pregrades, you have to somehow take care
> of the users who will update to a new version of parley but want to
> maintain the current behaviour of parley (with 7 levels timed within the
> first 24 hours) and their files contain the <pregrade> elements.
> 
> Other issue is that of choosing words for practice. Several years ago, we
> had an e-mail conversation about this with Inge (I have not been following
> parley development in detail, so I am not sure if anything has changed
> 
> since then), here is the relevant excerpt:
> > > What happens when you practice so little time that you don't have time
> > 
> > to
> > 
> > > > exhaust all the words is a question of strategy. Right now the
> > 
> > strategy is
> > 
> > > > to choose words with higher grades first, protecting your investment
> > > > in
> > > > training these words, so to speak. But we have discussed other
> > 
> > strategies
> > 
> > > > too.
> > > 
> > > I think the words with highest grades are less likely to be forgotten
> > > if they are delayed a little. If the interval between trainings should
> > > be four months, you are likely to remember it even after five months;
> > > while a word that has been scheduled for four minutes since the last
> > > practice will be fine after five minutes instead. The ratio is the
> > > same in both cases.
> > > 
> > > So my preferred strategy  for choosing words for practice would be to
> > > 
> > > prioritize words with high ratio between the following two numbers:
> > >     let t = time since last training
> > >     
> > >          s = the time between the last training and the last but one
> > > 
> > > training; or the time interval between the current level and the
> > > previous level
> > 
> > Yes, the other strategy I was talking about is what I called "most
> > overdue".
> > It's much like you describe above except I'm using t/u instead of t/s
> > where u
> > = the time between when the word was last practiced and when it became
> > due.
> > So a word that should be practiced after 5 minutes but is not yet after an
> > hour has the value 12 and a word that should be practiced again after 5
> > months
> > but is not yet after 6 month has the value 1.2.  This clearly favours new
> > words instead of old ones so I guess it should be combined with some
> > limits on
> > the new words.
> 
> Also related is this issue:
> > What I had on my mind was the situation when I answer a word correctly
> > 
> > > long after it has been scheduled. If the word has been on intial level
> > > 2, scheduled for a couple of minutes after the last practice, but I
> > > only see it on the next day and I am still able to recall it
> > > correctly, I think that is a convincing argument for skipping all the
> > > remaining "initial" levels and going to level 1. Similarly, if the
> > > word was on level 1 but for whatever reason I only see it after a
> > > month, it should skip levels 2 and 3 (or however many) and go directly
> > > to the level that comes closest after the 1 month interval.
> 
> Anša
> 
> 2017-08-14 22:31 GMT+02:00 Hartmut Riesenbeck <hartmut.riesenbeck at gmx.de>:
> > Hi René
> > 
> > Last year I was in a similar situation like you now. I tried to fix some
> > bugs
> > in parley and started to dig into parleys code. But this year I became
> > very
> > busy with another project and had no time to work on parley. But I
> > appreciate
> > that you do. So may I can give some hints.
> > 
> > > 1)
> > > To me it seems it is some kind of Leitner system algorithm? Any further
> > 
> > I agre! Looks the same to me.
> > 
> > > 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.
> > The only place you can see if a word is pregrade, is the second line at
> > the
> > upper right corner in practice mode. For pregrade words the line starts
> > with
> > "Initial" (in German translation "Anfangs") and for grade words it starts
> > with
> > "Long term" (in German translation "Langfristig").
> > 
> > > What is the intention of pregrade?
> > 
> > I dug a bit in git and found out that Inge Wallin did development on this.
> > Here is a log entry in libkeduvocdocument. But that was before I started
> > with
> > parley. I don't now the intention for introducing pregrades. May someone
> > else
> > do?
> > 
> > ------------------------------------------------------------
> > ----------------------
> > commit f7769a8aace03445059577dafafd88db44f056e4
> > Author: Inge Wallin <inge at lysator.liu.se>
> > Date:   Fri Apr 25 07:57:17 2014 +0200
> > 
> >     Implement new fields: pregrade and interval
> >     
> >     This patch implements two new fields in a kvtml file:
> >      - pregrade, which is equal to grade but used in the interval 0-1 days
> >      
> >        as opposed to grade which is used for intervals 1 day and up.
> >      
> >      - interval, which is used to indicate how long since a word was last
> >      
> >        trained it is due for training again.
> >     
> >     This is prerequisite to the implementation in Parley of the initial
> >     training. The reason for implementing these two fields instead of
> >     changing old ones is that it will still be backward compatible. I
> >     think this is important, especially in the light of the ktouch issue
> >     that we saw on the mailing list a few days ago.
> >     
> >     REVIEW: 117730
> > 
> > ------------------------------------------------------------
> > ---------------------------------
> > 
> > > From my understanding it would make sense to remove pregrade completely.
> > 
> > For my personal type of vocabulary learning, it's more effective with
> > pregrades. But that's my personal feeling - not representative. May it's a
> > good idea to make pregrade use configurable.
> > 
> > 
> > May I find some time in the next days to look for your other questions.
> > 
> > Cheers!
> > Hartmut




More information about the Parley-devel mailing list