National Central University
Uedu Main Site
Explore Uedu
Student Console
Register as Member/Login
Research Informed Consent Center
Survey Center
Teacher Console
Course Setup
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

7

Local AI

--

Uedu Code

--

AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

METHODOLOGY

Knowledge Graph
Analytics Methodology

Explain how Uedu extracts knowledge concepts and relationships from materials uploaded by Instructors, and tracks the evolution of Students' knowledge mastery through dialogue analysis.

1. Overview

Uedu's Knowledge Graph module builds knowledge structure from two perspectives:

  • Course knowledge graph: automatically extracts knowledge concepts (nodes) and the relationships between concepts (edges) from teaching materials uploaded by the Instructor, forming the knowledge structure of the Course
  • Student knowledge graph: analyse dialogues between Students and the AI teaching assistant, mark each Student’s mastery of each concept, and track the time course of mastery

This system enables teachers to visualise the course knowledge structure and observe each student's learning progress across concepts.

Relationship to RAG

The data sources for the Knowledge Graph are RAG SystemProcessed teaching materials chunks. The materials are first split into chunks by the RAG pipeline and vectorised, then the knowledge graph module extracts concepts from the chunks. See the relationship between the two inSection 7

2. Two-tier architecture

Knowledge Graph — Dual-layer architecture Layer 1: Course knowledge graph RAG teaching material chunks LLM concept extraction gpt-4o-mini · 10 chunks per run · prompt v1.0 Concepts Name · English · Category Description · source chunk Relationships prerequisite · contains related · applies_to Layer 2: Student knowledge graph Student × AI TA Dialogue LLM mastery analysis gpt-4o-mini · compare Course concept list · prompt v1.0 Mastery marker mentioned → exploring → understanding → applying → mastered Each record includes confidence 0.0-1.0 + evidence Weekly snapshot aggregation mastery_score · interaction_count · bloom_level_avg Concept list Teacher Dashboard: course map + student mastery + time trace

3. Extract knowledge from teaching materials

3.1 Data sources

The input for knowledge extraction is RAG SystemProcessed teaching materials chunks. Each chunk has already been segmented (800 tokens / chunk) and vectorised.

3.2 LLM extraction process

The system uses the gpt-4o-mini model and a structured Prompt to extract knowledge concepts and relationships from textbook chunks:

  1. Each LLM call processes 10 chunks (merged into one input to reduce the number of API calls)
  2. The LLM identifies key knowledge concepts from the teaching materials (terms, theories, methods); each set of materials typically yields 5–20 concepts
  3. Simultaneously identify logical relationships between concepts (prior knowledge, inclusion, relation, application)
  4. Output strict JSON format, write to the database after system validation

3.3 Concept de-duplication

The database has a unique index on (classroom_id, name). When different chunks extract the same concept name, the system keeps only one record and merges multiple source chunk IDs for tracking.

3.4 Concept field

FieldDescriptionExample
nameConcept name (Chinese, 2–8 characters)Recursion, photosynthesis
name_enEnglish name (cross-language comparison)Recursion, Photosynthesis
categoryCategory groupsBasic grammar, data structures
descriptionOne-sentence descriptionA programming technique in which a function calls itself in its definition
source_chunk_idsSource RAG chunk IDs[42, 43, 51]

4. Concept relationship types

The system defines four types of relationships between concepts:

TypeSemanticsExample
prerequisite A is prerequisite knowledge for B (learn A before learning B) "Variables" → "Loops"
contains A includes B as a sub-concept "Data structures" → "Arrays"
related A and B are related but have no causal / inclusion relationship 'Stack' ↔ 'Queue'
applies_to A can be applied to the context of B "Recursion" → "Tree traversal"

Each association edge includes weight (strength 0.0-1.0) and evidence (the LLM's grounds for judgement). The number of associations does not exceed three times the number of concepts.

5. Student mastery analysis

5.1 Analysis trigger

and Bloom's analysisLike this, after the Student submits a message, the system automatically performs a knowledge mastery analysis in a background thread. During analysis, it will refer to:

  • The knowledge concept list for this Course (extracted by Layer 1)
  • The Student's current message and previous dialogue context

5.2 Mastery levels

The LLM determines each concept involved in the Student's dialogue for mastery, in five levels:

LevelDefinitionReasoning
mentionedThe Student only mentions the conceptUnable to determine whether understood
exploringStudent is exploringAsk basic questions
understandingThe Student can explain the concept correctlyPrecise language, clear logic
applyingThe Student can use it in new situationsTry applying concepts to problems
masteredThe Student can integrate, evaluate or use it creativelyCross-concept integration and proposing improvements

5.3 Output format

Each tag includes:

  • concept_name: name of the concept involved
  • mastery_level: one of five levels
  • confidence: the LLM's confidence in the judgement (0.0-1.0)
  • evidence: brief explanation of the basis for the judgement

If the Student's message does not involve any known concept (for example, casual chat), return an empty array and do not generate any tags.

6. Mastery snapshot and time progression

The system periodically aggregates Students' knowledge mastery labels into weekly snapshots, stored in the kg_student_snapshot table. Each snapshot includes:

  • mastery_score: composite mastery score (0.0-1.0), calculated by weighting the labels for that week
  • interaction_count: number of interactions with this concept in that week
  • bloom_level_avg: Average Bloom's cognitive level of related conversations (integrated Bloom's analysisdata)

Instructors can use the dashboard to view the time trajectory of Students’ knowledge mastery, observing which concepts are gradually mastered during the semester and which remain in the exploratory stage.

7. Integration with RAG

Knowledge Graph and RAG SystemTightly integrated:

7.1 Data flow

  1. Teacher uploads course materials → RAG pipeline chunking + vectorisation
  2. After RAG processing is complete → automatically trigger knowledge graph extraction (in GraphRAG mode)
  3. Each concept records its source source_chunk_ids, traceable back to the original teaching material fragments

7.2 GraphRAG retrieval augmentation

When the Instructor enables GraphRAG mode, the retrieval process for Student questions will additionally use the knowledge graph:

  1. Standard vector retrieval hits chunks → find the corresponding concept
  2. Expand along the graph edges (1-hop) to adjacent concepts
  3. Supplement the retrieval results with teaching material chunks from adjacent concepts

See detailed explanation RAG Methodology Section 6

8. APIs available to Instructors

API endpointDescription
GET /api/kg/classroom/{id}/graphComplete Course knowledge graph (nodes + edges)
GET /api/kg/classroom/{id}/conceptsConcept list (including category statistics)
POST /api/kg/classroom/{id}/generateGenerate / regenerate a knowledge graph from teaching materials
GET /api/kg/classroom/{id}/studentsOverview of conceptual mastery for the class
PUT /api/kg/concepts/{id}Instructor manually edits concept names / categories
DELETE /api/kg/concepts/{id}Soft-delete inappropriate concepts

After extraction, Instructors can manually edit or delete inappropriate concepts to ensure the quality of the knowledge graph.

9. Suggested research citation

Methodology description template

The Course knowledge structure is automatically built through Uedu platform's knowledge graph module. The system uses a large language model (LLM; OpenAI gpt-4o-mini, prompt v1.0) to extract knowledge concepts and the relationships between concepts (four types: prerequisite, contains, related, applies_to) from teacher-uploaded materials (chunked by the RAG pipeline). Dialogues between Students and the AI TA are then matched by the same LLM against the Course concept list to determine each Student's grasp of each concept (five levels: mentioned → exploring → understanding → applying → mastered), with an accompanying confidence score. Mastery labels are aggregated weekly into snapshots for time-series analysis. See https://uedu.tw/doc/knowledge-graph for a detailed methodology description.

It is recommended to provide the following information as well:

  • Number of teaching materials uploaded to the Course and total number of chunks
  • Number of concepts and number of relationships extracted
  • Whether manual edits were made by the instructor (concept changes / deletions)
  • LLM model name used and Prompt version number
  • Time range and sample size for the student mastery analysis