This is a repository containing code and data for the paper:
B. Tabibian, U. Upadhyay, A. De, A. Zarezade, Bernhard Schölkopf, and M. Gomez-Rodriguez. Enhancing Human Learning via Spaced Repetition Optimization. To appear at the Proceedings of the National Academy of Sciences (PNAS), 2019.
An in a nutshell description of our algorithm is available in this supporting website: http://learning.mpi-sws.org/memorize/.
This code depends on the following packages:
Apart from this, the instructions assume that the Duolingo dataset has been downloaded, extracted, and saved at
memorize.pycontains the memorize algorithm.
preprocesed_weights.csvcontains estimated model parameters for the HLR model, as described in section 8 of supplementary materials.
observations_1k.csvcontains a set of 1K user-item pairs and associated number of total/correct attempts by every user for given items. This dataset has been curated from a larger dataset released by Duolingo, available here.
The code can by executed as follows:
The code will use default parameter value (q) used in the code.
Experiments with Duolingo data
Convert to Python
user_id, lexeme_id and pruning it for reading it:
python dataset2dict.py ./data/raw/duolingo.csv ./data/duo_dict.dill --success_prob 0.99 --max_days 30 python process_raw_data.py ./data/raw/duolingo.csv ./data/duolingo_reduced.csv
See the notebook