Michael Thelen ([info]saganist) wrote,
@ 2006-09-05 10:11:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Current mood: excited
Current music:Final Fantasy Symphonic Suite
Entry tags:scrabble, zyzzyva

Automatic Spaced Repetition functional in Zyzzyva
Last night I finally made functional what I'm calling the Automatic Spaced Repetition (ASR) feature in Zyzzyva. The main idea is an implementation of the Leitner cardbox system, which is a method of reviewing flash cards for maximum long-term retention. All flash cards (in this case, alphagrams) start out in cardbox 0, and the contents of cardbox 0 are reviewed every day. When you get a question right, it goes into cardbox 1. Periodically you will review the contents of cardboxes other than 0... if you get a question from cardbox 1 right, then it goes into cardbox 2. Then into cardbox 3, etc. Anytime you get a question wrong, it goes back into cardbox 0.

The magic of ASR is that it will keep track of where all your flash cards are, and will automatically present them to you at appropriate intervals. As I mentioned, cardbox 0 is reviewed every day, and higher cardboxes are scheduled for review at increasingly longer intervals. For example, when a question is placed into cardbox 1, it's scheduled for review after 4 days. In cardbox 2, after 7 days; cardbox 3, 12 days; cardbox 4, 20 days... and so on, until cardbox 10 and above, which are reviewed every 480 days. All questions in the cardbox system will be reviewed at some point, but the ones you tend to get wrong will be reviewed more often. I gather that it's a lot like SuperMemo, though I've never used that program.

Anyway, it's functional, and I've started trying it out. Last night I imported all the 4s into the system, and a few thousand 7s and 8s. As I test it, I plan to continue adding more 5s, 7s, and 8s to get a feel for about how quickly I'll want to introduce new material. I'm excited to see how it does. I think this will be a big step forward for word study using Zyzzyva.

Unfortunately, the next release of Zyzzyva won't be for a while yet, because this feature needs a lot of polish and probably a fair amount of work yet before it's done, and I also have more features and bug fixes to complete before the next release. I'm hoping the next version will be 1.0. But if you'd like to start trying out the ASR feature right now (and can build Zyzzyva yourself from source code), you can do so by looking behind the cut...


First, check out the Zyzzyva trunk from its Subversion repository, here:

http://svn.pietdepsi.com/repos/projects/zyzzyva/trunk

WARNING: You do so at your own risk, and I provide no official support for anything other than official releases. If you get the latest trunk, you might want to make a backup of the .zyzzyva directory in your home directory before running it... just in case. If you're still interested, then do the following to get the cardbox system started:


  • Find some words you'd like to add to the system, by doing a search.

  • Right-click the search result list, and choose "Add list to Cardbox".

  • A confirmation window will appear, with a checkbox labeled "Estimate cardbox based on past performance". Since 0.14.0, Zyzzyva has been tracking your performance on every quiz question, and leaving this box checked will allow it to place questions directly into cardboxes other than 0. For example, if Zyzzyva has recorded that you've gotten a question correct the last 3 times you've tried it, it will go directly into cardbox 3. Uncheck this box if you want all the questions to go into cardbox 0.

  • Click OK, and the words will be added to the cardbox system. If you've selected a lot of words, this may take a minute or two.

  • Click the Quiz button to start a new quiz. Change the Quiz Method to "Cardbox". This will cause the quiz to present only alphagrams that are in the cardbox system, and that are ready for review. For this reason, you can make the search specification extremely wide, such as "Length: Max 7, Min 7". This will find all the 7s, but the quiz will only consist of 7s that are in the system and ready for review.

  • That's it! If you will want to take this quiz regularly, you can save the quiz using the Save Quiz button. But you cannot save your progress on a Cardbox quiz, because your progress is automatically tracked in the cardbox system, not in the quiz save file.




I'm very excited about how cool this might be. If you're able and willing to be a guinea pig, I would greatly appreciate feedback. The nature of the system means that it might take a fairly long time (weeks, I'd guess) to get a feel for how well it's doing, and for you to see personal improvement because of it. But as far as long-term studying and retention go, I think it will be incredible.


(Post a new comment)


[info]olaugh
2006-09-05 05:33 pm UTC (link)
Very cool. I'll give it a shot tonight. If I like it I might try to do about an hour a day until the WI Dells tourney.

I spent a few hours on Sowpods(2000) defs last week and I think I've mostly got the # plurals of OWL2 words worked out, but I need to hand-check the list.

(Reply to this)(Thread)


[info]saganist
2006-09-05 06:57 pm UTC (link)
Cool! Oh yeah, another thing that's sorely lacking at this point is visibility into the system. There's no visibility whatsoever via Zyzzyva yet... however, you can access the database with a regular SQLite client. The database is located at $HOME/.zyzzyva/quiz/data/OWL2+LWL/Anagrams.db. You'll have to use SQLite if you want to see which questions are in which cardbox, or move questions around manually, or do anything more complicated than described above.

Thanks for the work on the Sowpods definitions! I have also received an incomplete file of definitions from Mohan Chunkath, and there's another person who said he had a complete list of definitions and would be willing to share them, too. Hopefully with all of this work, we may have a complete list of definitions before the next release. (crossing my fingers...)

(Reply to this)(Parent)


[info]waystar
2006-09-05 06:21 pm UTC (link)
This is so exciting! I can't wait to get home and compile it.

(Reply to this)


[info]wildkarrde
2006-09-05 08:18 pm UTC (link)
"I'm very excited about how cool this might be."

Dude, you wrote a program to quiz you on letter combinations in preparation for competitive Scrabble tournaments. That's not even on the same continent as the universally-accepted definition of 'cool'.

:-P

(Reply to this)(Thread)


[info]saganist
2006-09-05 08:33 pm UTC (link)
Ha! That's a good point. :-)

(Reply to this)(Parent)


[info]basophil
2006-09-05 11:16 pm UTC (link)
I've been trying to use systems like this by "hand" for a while now, and it's frequently annoying and error-prone. Can't wait to give this a shot.

(Reply to this)


[info]olaugh
2006-09-06 12:14 am UTC (link)
I haven't gotten it to work yet. Where exactly should I see the "Add list to Cardbox" option? The search list's context menu is just

Word >
Save list...
Quiz from list...

I'm using revision 1671.

(Reply to this)(Thread)


[info]saganist
2006-09-06 03:37 am UTC (link)
Hmm, that's very strange... is it a fresh checkout? If not, try doing a make clean, then make. r1671 is the latest revision, and it should definitely have "Add to Cardbox" in the context menu.

(Reply to this)(Parent)(Thread)


[info]olaugh
2006-09-06 06:33 am UTC (link)
Many times I have wished that make or I were smarter. I have it working now. Putting Anagram Match [AEIOU][AEIOU][AEIOU][AEIOU][AEIOU]???? in the Cardbox and I'll see what happens.

(Reply to this)(Parent)


[info]cesarsalad
2006-09-06 01:21 am UTC (link)
i am no doubt giving it a try sometime soon. i've been waiting for this.. heh

(Reply to this)


[info]vavaverity
2006-09-12 04:31 pm UTC (link)
Zyzzyva totally rocks!

And, I was talking to [info]crosstables today and he said:

Write Michael Thelen a nice note and tell him that you, too, would
"like Zyzzyva to have the capability of saving search results as
QA-format text files". With hooks. And tell him I sent you. :-)


I hope this qualifies as "a nice note". Heh.

(Reply to this)(Thread)


[info]saganist
2006-09-12 04:43 pm UTC (link)
Heheh, you bet! Okay, now it's even higher priority than it was before. In fact, somehow I hadn't added it to Bugzilla yet, but I've now created an issue for it. You can sign up to be emailed when any updates happen. Here's the issue:

http://pietdepsi.com/issues/show_bug.cgi?id=219

(Reply to this)(Parent)(Thread)


[info]vavaverity
2006-09-12 04:49 pm UTC (link)
Schweet! Thanks!

Yeah, I am just getting into Super Memo, so the ability to create my own customized databases would be uber-cool. And I'm not typing everything manually LOL!

(Reply to this)(Parent)


Create an Account
Forgot your login?
Login w/ OpenID
English • Español • Deutsch • Русский…