--- title: PLRS Logic Engine emoji: 🧠 colorFrom: blue colorTo: indigo sdk: streamlit sdk_version: 1.33.0 app_file: app.py pinned: true license: mit tags: - education - knowledge-tracing - recommendation-system - pytorch - transformers --- # PLRS — Personalized Learning Recommendation System > Constraint-aware personalized learning recommendations powered by Self-Attentive Knowledge Tracing (SAKT) and DAG prerequisite constraints. ## What it does PLRS combines a SAKT transformer model with a curriculum knowledge graph to generate recommendations that are both **personalized** and **pedagogically sound**. Topics are classified into three tiers: - ✅ **Approved** — prerequisites met, ready to learn - ⚠️ **Challenging** — prerequisites partially met - ❌ **Vetoed** — prerequisites not met, blocked ## Key results | Metric | PLRS | Collaborative Filtering | |--------|------|------------------------| | Val AUC | **0.7692** | — | | Prerequisite Violation Rate | **0.0%** | 81.3% | ## Bundled curricula - **Nigerian Secondary School Mathematics** (38 topics, 45 edges, JSS3–SS2) - **CS Fundamentals / Digital Technologies** (31 topics, 39 edges) ## Architecture ``` Student History → SAKT → Mastery Vector → DAG Constraint Layer → Ranker → Recommendations ``` ## Links - 📦 GitHub: [clementina-tom/plrs](https://github.com/clementina-tom/plrs) - 📄 Paper/Report: Final Year Project, Computer Science