ssp-mmc

A Stochastic Shortest Path Algorithm for Optimizing Spaced Repetition Scheduling

https://github.com/maimemo/ssp-mmc

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.9%) to scientific vocabulary

Keywords

optimal-control research-paper spaced-repetition spaced-repetition-algorithm
Last synced: 6 months ago · JSON representation ·

Repository

A Stochastic Shortest Path Algorithm for Optimizing Spaced Repetition Scheduling

Basic Info
Statistics
  • Stars: 175
  • Watchers: 7
  • Forks: 18
  • Open Issues: 0
  • Releases: 0
Topics
optimal-control research-paper spaced-repetition spaced-repetition-algorithm
Created about 4 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

SSP-MMC

Copyright (c) 2022 MaiMemo, Inc. MIT License.

Stochastic-Shortest-Path-Minimize-Memorization-Cost (SSP-MMC) is a spaced repetition scheduling algorithm used to help learners remember more words in MaiMemo, a language learning application in China.

This repository contains a public release of the data and code used for several experiments in the following paper (which introduces SSP-MMC):

Junyao Ye, Jingyong Su, and Yilong Cao. 2022. A Stochastic Shortest Path Algorithm for Optimizing Spaced Repetition Scheduling. In Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. ACM, 4381–4390.

You can access this paper at: https://www.maimemo.com/paper/

When using this data set and/or software, please cite this publication. A BibTeX record is:

@inproceedings{10.1145/3534678.3539081, author = {Ye, Junyao and Su, Jingyong and Cao, Yilong}, title = {A Stochastic Shortest Path Algorithm for Optimizing Spaced Repetition Scheduling}, year = {2022}, publisher = {ACM}, doi = {10.1145/3534678.3539081}, pages = {4381–4390}, numpages = {10} }

Software

The file data_preprocessing.py is used to preprocess data for the DHP model.

The file cal_model_param.py contains the DHP model and HLR model.

The file model/utils.py saves the parameters of the DHP model for training and simulation.

The file algo/main.cpp contains a Cpp implementation of SSP-MMC, which aims at finding the optimal policy.

The file simulator.py provides an environment for comparing different scheduling algorithms.

Workflow

  1. Run data_preprocessing.py -> halflife_for_fit.tsv
  2. Run cal_model_param.py -> intercept_ and coef_ for the DHP model
  3. Save the parameters to the function cal_recall_halflife and cal_forget_halflife in model/utils.py and the function cal_next_recall_halflife in algo/main.cpp
  4. Run algo/main.cpp -> optimal policy in algo/result/
  5. Run simulator.py to compare the SSP-MMC with several baselines.

Data Set and Format

The dataset is available on Dataverse (1.6 GB). This is a 7zipped TSV file containing our experiments' 220 million MaiMemo student memory behavior logs.

The columns are as follows:

  • u - student user ID who reviewed the word (anonymized)
  • w - spelling of the word

  • i - total times the user has reviewed the word

  • d - difficulty of the word

  • t_history - interval sequence of the historic reviews

  • r_history - recall sequence of the historic reviews

  • delta_t - time elapsed from the last review

  • r - result of the review

  • p_recall - probability of recall

  • total_cnt - number of users who did the same memory behavior

Owner

  • Name: MaiMemo
  • Login: maimemo
  • Kind: organization
  • Email: admin@maimemo.com
  • Location: Qingyuan, GD, P.R.China

墨墨背单词

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: "Ye"
    given-names: "Junyao"
    orcid: "https://orcid.org/0000-0001-7475-0718"
  - family-names: "Su"
    given-names: "Jingyong"
    orcid: "https://orcid.org/0000-0003-3216-7027"
  - family-names: "Cao"
    given-names: "Yilong"
    orcid: "https://orcid.org/0009-0006-5605-0092"
title: "SSP-MMC"
version: 1.0.0
url: "https://github.com/maimemo/SSP-MMC"
preferred-citation:
  type: conference
  authors:
  - family-names: "Ye"
    given-names: "Junyao"
    orcid: "https://orcid.org/0000-0001-7475-0718"
  - family-names: "Su"
    given-names: "Jingyong"
    orcid: "https://orcid.org/0000-0003-3216-7027"
  - family-names: "Cao"
    given-names: "Yilong"
    orcid: "https://orcid.org/0009-0006-5605-0092"
  doi: "10.1145/3534678.3539081"
  booktitle: "Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining"
  start: 4381 # First page number
  end: 4390 # Last page number
  title: "A Stochastic Shortest Path Algorithm for Optimizing Spaced Repetition Scheduling"
  year: 2022

GitHub Events

Total
  • Issues event: 9
  • Watch event: 41
  • Delete event: 1
  • Issue comment event: 21
  • Push event: 1
  • Pull request event: 1
  • Fork event: 3
Last Year
  • Issues event: 9
  • Watch event: 41
  • Delete event: 1
  • Issue comment event: 21
  • Push event: 1
  • Pull request event: 1
  • Fork event: 3