open-spaced-repetition/fsrs-rs

FSRS for Rust, including Optimizer and Scheduler

What it solves

它提供了一個高效能的 Rust 實作,用於 Free Spaced Repetition Scheduler (FSRS),這是一種用於優化學習與記憶力保留複習時機的現代演算法。它允許開發者將先進的間隔重複排程整合到自己的應用程式中,而無需依賴 libtorch 等沉重的外部依賴項。

How it works

該函式庫實作了 FSRS 演算法,根據所需的保留率和項目的記憶狀態來計算學習項目的下一次複習日期。它包含以下工具:

  • Schedule reviews: 根據先前的複習歷史和使用者評分來計算間隔和到期日。
  • Optimize parameters: 使用複習日誌來計算 FSRS 模型的最佳權重,以符合特定使用者的記憶模式。
  • Simulate: 執行模擬以評估排程策略,包括一種平衡複習時間成本與保留率的專門 "Cost ADR" 策略。
  • Migrate: 從舊的 SM-2 風格間隔重複系統轉換現有數據。

Who it’s for

開發者正在構建閃卡應用程式、學習管理系統,或任何需要基於記憶的內容複習排程系統的軟體。

Highlights

  • Parameter Optimization: 能夠直接從使用者的複習歷史中訓練並優化 FSRS 參數。
  • Cost ADR Policy: 包含一個針對成本條件下的期望保留率策略的單一使用者優化器。
  • Cross-Language Support: 提供 C, Python, Node.js, Dart, 和 PHP 的綁定。
  • SM-2 Compatibility: 內建將數據從舊有的 SM-2 系統遷移的功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目