Home
學生控制台
註冊會員/登入
研究知情同意書
UeduGPTs
Aida 優學伴
Uedu Open
支援與訊息

UeduGPTs

--

Jupyters

3

AI 回覆桌面通知

AI 助教回覆完成時顯示桌面通知

聊天訊息通知

同學在討論區發送訊息時通知

聲音通知

每當有新通知時播放提示音

METHODOLOGY

知識圖譜
分析方法論

說明 Uedu 平台如何從教師上傳的教材中萃取知識概念與關聯,並透過學生對話分析知識掌握度的演進。

1. 概述

Uedu 的知識圖譜(Knowledge Graph)模組從兩個面向建構知識結構:

  • 課程知識圖譜:從教師上傳的教材中,自動萃取知識概念(nodes)與概念間的關聯(edges),形成該課程的知識結構
  • 學生知識圖譜:分析學生與 AI 助教的對話,標記學生對各概念的掌握程度,追蹤掌握度的時間演進

此系統讓教師能可視化課程知識結構,並觀察每位學生在各概念上的學習進展。

與 RAG 的關係

知識圖譜的資料來源是 RAG 系統處理後的教材 chunks。教材先經 RAG pipeline 分塊、向量化,再由知識圖譜模組對 chunks 進行概念萃取。兩者的關係見第 7 節

2. 雙層架構

知識圖譜 — 雙層架構 Layer 1:課程知識圖譜 RAG 教材 chunks LLM 概念萃取 gpt-4o-mini · 每次 10 chunks · prompt v1.0 Concepts 名稱 · 英文 · 分類 描述 · 來源 chunk Relationships prerequisite · contains related · applies_to Layer 2:學生知識圖譜 學生 × AI 助教對話 LLM 掌握度分析 gpt-4o-mini · 比對課程概念清單 · prompt v1.0 掌握度標記 mentioned → exploring → understanding → applying → mastered 每筆含 confidence 0.0-1.0 + evidence 每週快照聚合 mastery_score · interaction_count · bloom_level_avg 概念清單 教師儀表板:課程圖譜 + 學生掌握度 + 時間軌跡

3. 教材知識萃取

3.1 資料來源

知識萃取的輸入是 RAG 系統已處理完成的教材 chunks。每個 chunk 已經過分塊(800 tokens / 塊)與向量化。

3.2 LLM 萃取流程

系統使用 gpt-4o-mini 模型,以結構化 Prompt 從教材 chunks 中萃取知識概念與關聯:

  1. 每次呼叫 LLM 處理 10 個 chunks(合併為一次輸入,減少 API 呼叫次數)
  2. LLM 從教材中辨識重要的知識概念(術語、理論、方法),每份教材通常萃取 5-20 個概念
  3. 同時辨識概念間的邏輯關係(先備知識、包含、相關、應用)
  4. 輸出嚴格 JSON 格式,經系統驗證後寫入資料庫

3.3 概念去重

資料庫對 (classroom_id, name) 設有唯一索引。當不同 chunks 萃取出相同概念名稱時,系統僅保留一筆,並將多個來源 chunk IDs 合併追蹤。

3.4 概念欄位

欄位說明範例
name概念名稱(中文,2-8 字)遞迴、光合作用
name_en英文名稱(跨語言對照)Recursion, Photosynthesis
category分類群組基礎語法、資料結構
description一句話描述函數在定義中呼叫自身的程式設計技巧
source_chunk_ids來源 RAG chunk IDs[42, 43, 51]

4. 概念關聯類型

系統定義四種概念間的關聯類型:

類型語意範例
prerequisite A 是 B 的先備知識(學 B 之前需先學 A) 「變數」→「迴圈」
contains A 包含 B 作為子概念 「資料結構」→「陣列」
related A 和 B 相關但無因果 / 包含關係 「堆疊」↔「佇列」
applies_to A 可以應用到 B 的情境 「遞迴」→「樹走訪」

每條關聯邊包含 weight(強度 0.0-1.0)和 evidence(LLM 的判斷依據)。關聯數量不超過概念數量的 3 倍。

5. 學生掌握度分析

5.1 分析觸發

Bloom's 分析類似,學生送出訊息後,系統在背景 thread 中自動進行知識掌握度分析。分析時會參考:

  • 該課程的知識概念清單(由 Layer 1 萃取)
  • 學生的當前訊息前幾輪對話脈絡

5.2 掌握度等級

LLM 對學生在對話中涉及的每個概念判定掌握程度,共五個等級:

等級定義判斷依據
mentioned學生僅提及該概念無法判斷是否理解
exploring學生正在探索提出基礎問題
understanding學生能正確解釋概念用語準確、邏輯清晰
applying學生能在新情境中使用嘗試將概念應用到問題
mastered學生能整合、評價或創造性使用跨概念整合、提出改進

5.3 輸出格式

每筆標記包含:

  • concept_name:涉及的概念名稱
  • mastery_level:五個等級之一
  • confidence:LLM 的判斷信心度(0.0-1.0)
  • evidence:判斷依據的簡短說明

若學生的訊息不涉及任何已知概念(如閒聊),則回傳空陣列,不產生標記。

6. 掌握度快照與時間演進

系統定期將學生的知識掌握度標記聚合為每週快照,儲存於 kg_student_snapshot 資料表。每筆快照包含:

  • mastery_score:綜合掌握分數(0.0-1.0),基於該週的標記加權計算
  • interaction_count:該週與此概念的互動次數
  • bloom_level_avg:相關對話的平均 Bloom's 認知層次(整合 Bloom's 分析的數據)

教師可透過儀表板檢視學生知識掌握度的時間軌跡,觀察哪些概念在學期中逐漸掌握、哪些仍停留在探索階段。

7. 與 RAG 的整合

知識圖譜與 RAG 系統緊密整合:

7.1 資料流

  1. 教師上傳教材 → RAG pipeline 分塊 + 向量化
  2. RAG 處理完成後 → 自動觸發知識圖譜萃取(GraphRAG 模式下)
  3. 每個概念記錄其來源 source_chunk_ids,可追溯到原始教材片段

7.2 GraphRAG 檢索增強

當教師開啟 GraphRAG 模式時,學生提問的檢索流程會額外利用知識圖譜:

  1. 標準向量檢索命中 chunks → 找到對應概念
  2. 沿圖譜的邊(1-hop)擴展到相鄰概念
  3. 將相鄰概念的教材 chunks 補充進檢索結果

詳細說明見 RAG 方法論第 6 節

8. 教師可用的 API

API 端點說明
GET /api/kg/classroom/{id}/graph課程完整知識圖譜(nodes + edges)
GET /api/kg/classroom/{id}/concepts概念清單(含分類統計)
POST /api/kg/classroom/{id}/generate從教材生成 / 重新生成知識圖譜
GET /api/kg/classroom/{id}/students全班各概念的掌握概覽
PUT /api/kg/concepts/{id}教師手動編輯概念名稱 / 分類
DELETE /api/kg/concepts/{id}軟刪除不適當的概念

教師可在萃取後手動編輯或刪除不適當的概念,確保知識圖譜的品質。

9. 研究引用建議

方法論描述範本

課程知識結構透過 Uedu 平台的知識圖譜模組自動建構。系統使用大型語言模型(LLM; OpenAI gpt-4o-mini, prompt v1.0)從教師上傳的教材(經 RAG pipeline 分塊處理)中萃取知識概念及概念間的關聯(prerequisite、contains、related、applies_to 四種類型)。學生與 AI 助教的對話則由同一 LLM 比對課程概念清單,判定學生對各概念的掌握程度(mentioned → exploring → understanding → applying → mastered 五個等級),並附帶信心度分數。掌握度標記每週聚合為快照,供時間序列分析。詳細方法論說明見 https://uedu.tw/doc/knowledge-graph。

建議同時提供以下資訊:

  • 課程上傳的教材數量與總 chunk 數
  • 萃取出的概念數量與關聯數量
  • 教師是否進行過手動編輯(概念修改 / 刪除)
  • 使用的 LLM 模型名稱與 Prompt 版本號
  • 學生掌握度分析的時間範圍與樣本量