PLRS / README.md
Clementina Tom (via Gemini)
Upgrade to v0.2.0: Modular architecture, skill_encoder_v2 support, and model fallback
a30026f
---
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