Skip to content

SkillNet

SkillNet

SkillNet is an experimental skill graph for modeling what students know and how their competencies evolve over time. It treats skills as nodes in a network and uses assessment data, behavioral signals, and LLM-driven extraction to update estimates of student mastery.

Unlike traditional skill taxonomies (a rigid tree like "Programming → Python, JavaScript"), SkillNet uses small-world network theory and Graph Neural Networks (GNNs) to model skills as a flexible, interconnected ontology. This captures realistic relationships — e.g., that Communication is crucial for a Python programmer, or that Data Analysis and Graphic Design connect on a specific project.

The goal is to give instructors and researchers a clearer picture of which skills are strong or weak, and how performance on one concept relates to another.

Where This Project Fits

flowchart LR
  Assessments[Test Forge / Psephos<br/>Assessments] --> Skills[SkillNet<br/>Skill Graph]
  Skills --> Analytics[Analytics & Recommendations]
  Skills --> Teams[Student Team Formation]
  • Test Forge and Psephos can tag questions with skills and send results into SkillNet
  • SkillNet can feed analytics dashboards or recommendations back to instructors
  • Team formation tools can use skill vectors to balance teams and project assignments

Core Concepts

Small-World Networks

SkillNet applies small-world network theory (using the ω metric, the modern successor to σ) to validate that extracted skill graphs exhibit properties of real-world networks: high clustering and short path lengths. This serves as a graph-quality gate — if the extracted skill graph does not show small-world properties, the extraction pipeline is likely missing important edges or introducing noise.

Graph Neural Networks (GNNs) as Inference Layer

GNNs sit on top of the skill graph to:

  • Predict student mastery by propagating assessment signals through prerequisite and similarity edges
  • Suggest learning paths — given a student's current skill vector, recommend the optimal sequence of skills to acquire
  • Enable team formation by embedding students and skills into a shared latent space, balancing complementary competencies

GNN embeddings (via Neo4j GDS or PyTorch Geometric) turn the graph structure into dense vectors that feed downstream analytics and recommendation systems.

LLM-Based Skill Extraction

SkillNet uses a two-phase extraction pattern:

  1. Bootstrapper: An LLM (e.g., via Ollama with partial GPU offloading for 70B models) performs initial skill and edge extraction from heterogeneous data sources — course syllabi, assignment descriptions, assessment rubrics, and student artifacts
  2. Conceptual Extractor: A second pass refines edges with chain-of-thought auditing, producing confidence scores and enabling a human-in-the-loop review process

Extracted edges carry semantic types (prerequisite, similarity, reinforcement) and are normalized against the CSO (Computer Science Ontology) as a seed scaffold.

Orchestration

The full pipeline — crawling, extraction, graph construction, GNN training — is orchestrated via Argo Workflows on Kubernetes, with KEDA autoscaling for crawling tasks. Redis serves as the URL queue and MongoDB as the document store in the crawl pipeline, while Trafilatura over BeautifulSoup handles text extraction from web sources.

What You Could Work On

  • Design representations for skills, relationships, and evidence (assessment events)
  • Prototype graph-based models for estimating student mastery and progression
  • Build small visualizations or APIs for instructors to inspect skill graphs
  • Experiment with using SkillNet to drive targeted practice or team formation
  • Evaluate small-world properties across different extraction strategies
  • Train GNN models for learning path recommendation

Tech Stack

  • Python, graph libraries (NetworkX, Neo4j GDS), LLM inference (Ollama)
  • Graph databases: Neo4j (with GDS library for in-database analytics); ArangoDB, Dgraph under evaluation
  • Pipeline: Argo Workflows, KEDA, Redis, MongoDB
  • Extraction: LLMs with chain-of-thought, Trafilatura, CSO ontology

Early work is happening in the SkillNet GitHub repo; the project is open to new ideas and prototypes.

  • Skill Networks — The research framework behind SkillNet's graph construction and GNN analysis.