PLRS / README.md
Clementina Tom (via Gemini)
Upgrade to v0.2.0: Modular architecture, skill_encoder_v2 support, and model fallback
a30026f
metadata
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
  • πŸ“„ Paper/Report: Final Year Project, Computer Science