File size: 1,463 Bytes
a30026f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
---
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