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

UeduGPTs

--

Jupyters

14

AI 回覆桌面通知

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

聊天訊息通知

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

聲音通知

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

METHODOLOGY

校版
University-Scoped Community Board

以大學為單位、獨立於單堂課程之外的學生社群討論板。採用匿名雙模式、顯示名稱快照、編輯歷史與版主審核機制,兼顧學生言論自由與學術社群的可追責性。

1. 設計理念

台灣學生有 Dcard、PTT 表特等匿名社群文化,但這些平台缺乏學術脈絡:一篇「想找線代老師」的匿名文章,回應者可能是路人、補習班業者、甚至 AI spam。而在 Uedu 校版,所有參與者都必須是該校已認證的師生,既保有匿名發言的安全感,也能確保對話的相關性。

與 Dcard / PTT 的差異

身份認證:Uedu 校版的參與者已透過課程選課紀錄綁定學校身份,不需公開學號即可確保「同校人」。學術優先:版主由 Uedu 系統管理員指派,通常為助教或系辦成員,審核標準偏學術倫理而非純網路規範。資料治理:所有發文與反應資料可匯入 Educational Data Lake 作為 Sociomics 維度的研究素材。

2. 系統架構

主要實作於 app_school_forum.py,包含 UI 與 API 兩組 blueprint。資料模型集中於 sql/school_forum.sql 及多份 incremental migration 檔案。

訪問控制

  • 使用者必須在該大學有任一門選課紀錄(透過 classroomgpt.school 欄位判斷)
  • 系統管理員可存取所有學校校版,用於跨校趨勢觀察
  • 網站在 {subdomain}.uedu.tw(如 ntu.uedu.tw)呈現時,預設綁定該 subdomain 對應的校版

路由前綴

  • UI:/school-forum/<university_code>/
  • API:/api/school-forum/<university_code>/

3. 資料模型

校版共有 10 張核心資料表:

資料表用途
school_forum_profiles每人每校的暱稱設定,帶階梯式改名冷卻(首次→1 天→7 天→30 天)
school_forum_boards看板分類(例如「一般討論」「選課經驗」「系版公告」),依大學區分
school_forum_threads主文,含匿名旗標、author_display_name(快照)
school_forum_replies兩層留言(主文回覆 + 子回覆)
school_forum_likes16 種 emoji 反應紀錄
school_forum_bookmarks使用者收藏
school_forum_reports違規檢舉,狀態:pending → dismissed / hidden / deleted
school_forum_moderators版主指派,由系統管理員授權
school_forum_citations教師將校版內容引用到課程論壇的稽核紀錄
school_forum_edit_history編輯前的原始版本存檔

內容長度限制

欄位上限
主文標題200 字元
主文內容100 KB
回覆內容50 KB
附件大小10 MB

防 spam:同一人同一看板發文間隔 10 秒

4. 匿名雙模式

校版允許使用者在每次發文時選擇具名匿名,但兩種模式的實作細節均經過設計,避免常見的匿名漏洞:

具名模式:顯示名稱快照

發文時,使用者當時的 school_forum_profiles.display_name 會以 snapshot 方式寫入 school_forum_threads.author_display_name。之後即使使用者改暱稱,歷史發文仍顯示當時的名字。

為什麼要快照

若直接關聯 profile 即時 join,使用者改暱稱後所有歷史發文會同步變化,等同於「可追溯的時光旅行」,易被濫用(例如為避責任改名後又改回)。快照方式確保發言時的署名是永久可稽核的

匿名模式:討論串內固定代號

匿名發文在同一討論串內,會分配一致的匿名代號(如「匿名 1」「匿名 2」)。計算方式:

  1. 取該討論串(thread_id)內所有匿名 user_id 的出現順序
  2. 第 N 個匿名者編為「匿名 N」
  3. 同一 user_id 在同一 thread 內永遠是同一代號,不論發了幾次

這樣的設計讓讀者能判斷「回文是同一人」vs.「不同人各自回」,又不會跨 thread 累積足以去匿名的指紋。

暱稱改名冷卻

  • 首次設定:立即生效
  • 第 1 次改名:下次改名需等 1 天
  • 第 2 次改名:下次改名需等 7 天
  • 第 3 次以後:每次改名需等 30 天

目的:防止短時間內頻繁改名造成的身份混淆,同時允許新手試錯。

5. Emoji 反應系統

校版支援 16 種 emoji 反應,與 Uedu 課程論壇保持一致的詞彙表。採 toggle 機制,同一使用者對同一貼文同一 emoji 只能按或取消。

類別Emoji常見用途
正向heart, thumbsup, eyes, rocket, confetti, fire, lightbulb, thinking, check同意、精彩、啟發、被看見
其他angry, question, zzz, smile, grin, joy, clown質疑、幽默、不以為然
為什麼不直接 like / dislike

單一 like 無法表達「這個貢獻有建設性」vs.「這個有趣」vs.「這個令人質疑」的差別。細緻的 emoji 詞彙讓社群情緒可以被量化研究(例如「哪些主題容易收到 thinking vs. clown」)。校版不採用「按讚總分」排序,所有 emoji 平等記錄,由前端選擇呈現方式。

6. 編輯歷史

使用者可以編輯自己的主文與回覆,但所有修改會被完整記錄:

  • 主文 / 回覆表新增 is_edited 旗標,UI 顯示「已編輯」badge
  • 修改前的原始內容(標題 + markdown / HTML)寫入 school_forum_edit_history,含修改者與時間戳
  • 一般使用者只看到「已編輯」標記,不能看到歷史內容
  • 版主可讀取完整編輯歷史,供審核時參考(例如檢舉當下內容是否已被修改)
研究倫理觀點

編輯歷史的設計兼顧個人修正權(如修正錯字、誤植)與社群問責(如不能悄悄修改引戰言論)。這與 GDPR 的「更正權」與學術社群的「版本可追溯」都相容。

7. 版主審核流程

檢舉

任何認證使用者可對單一主文或回覆提出檢舉,附上理由。檢舉寫入 school_forum_reports,初始狀態為 pending

版主處理

該校版主(由系統管理員指派,存於 school_forum_moderators)可於 /api/school-forum/<code>/reports?status=pending 取得待審清單,處理方式有三:

動作效果
dismissed認定為誤檢舉,不改變內容
hidden軟刪除,一般人看不到,版主後台可還原
deleted硬刪除,同步更新父貼文的 reply_count

所有處理動作都會寫入 handle_note 供稽核。版主指派為系統管理員手動進行,保證權力不濫用。

Email 通知

校版目前只針對個人檔案建立 / 改名發送確認 email(透過 email_queue 非同步寄出,內附網路禮儀提醒)。其他動作(檢舉處理、回覆通知)未納入 email,避免過量打擾。

8. 與課程論壇的差異

面向校版(School Forum)課程論壇(Course Forum)
範圍全校師生單一課程
匿名支援(雙模式)不支援(強制具名)
身份學校身份即可課堂選課身份
評分不計入成績可計入成績(透過 forum_scoring 方法論)
BERT 品質評估不使用使用
教師覆核 emoji有(eyes = 已看過)
檢舉審核版主(學校層級)教師與助教(課堂層級)
為什麼不共用同一方法論

課程論壇的「評分」與「BERT 品質評估」前提是師生關係:教師有權對學生發言給予學術評價。校版是同儕社群,若引入評分,會扭曲發言動機、扼殺匿名文化。兩者需要不同的激勵與治理設計。

9. 研究應用

校版為 Uedu Educational Omics 框架中的 Sociomics 維度提供寶貴素材:

  • 校園議題熱點分析:跨大學比較不同時期的討論主題分佈
  • 匿名 vs. 具名言論差異:同一大學內兩種模式下的用詞特徵、認知層次、情緒分佈對比
  • Emoji 反應模式:不同議題收到的 emoji 組合,反映社群對該議題的集體態度
  • 編輯行為研究:哪些內容容易被事後修改?修改後語意漂移程度為何?
  • 版主審核負載與決策一致性:跨大學版主處理相同類型檢舉的差異
隱私與研究倫理

所有對外發表的研究必須:(1) 去識別化(不揭示個人 user_id);(2) 匿名發言維持匿名,不反向解構代號對應;(3) 涉及敏感主題(心理健康、歧視控訴)的內容不得逐字引用。研究者須通過 IRB 審核(NTU-REC 202507EM058 為參考範例)並取得 Uedu 匯出同意書。

引用建議

引用本系統時,請標註:「Uedu School Forum: a university-scoped community board with dual-mode anonymity and snapshot display names (https://uedu.tw)」並說明使用資料的大學、期間與去識別化方法。