open-spaced-repetition/fsrs-rs

FSRS for Rust, including Optimizer and Scheduler

What it solves

学習と記憶保持のための復習タイミングを最適化するために使用される現代的なアルゴリズムである、Free Spaced Repetition Scheduler (FSRS) の高性能な Rust 実装を提供します。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 システムからデータを移行する組み込み機能があります。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト