Trello 知識小幫手 2.0

2023/07 ~ 2024/07

專案關閉

清華大學學習科學與科技研究所 區國良老師研究室計劃案 (Trello 知識小幫手 2.0)


擔任:教育系統 RD 工程師
負責:軟體架構設計、API 設計、資料庫設計、軟體開發


# 程式開發 # 文本探勘
Trello 知識小幫手 2.0

專案成就

  • TWELF 2024 第十九屆台灣數位學習發展研討會 AIES 組

    最佳論文獎

系統使用說明

技術採用

Flask Icon

Flask

Webhook APIs 建立

rabbit_mq Icon

RabbitMQ

建立任務佇列處理系統

MongoDB Icon

MongoDB

資料庫儲存

Milvus Icon

Milvus

向量資料庫

SBERT Icon

Sentence-BERT

文本向量化技術、模型訓練與微調

Image description

知識文本資料前處理

取得文章的標題、內文與連結後會以純文本的形式儲存至 mongoDB 的文章文本資料庫進行管理,為了滿足 RAG 的文章搜尋需求,標題與內文會合併成索引文本,索引文本會在透過 Sentence-BERT 的 paraphrase-multilingual-mpnet-base-v2 多語言模型轉換成固定長度的向量並儲存至文章向量資料庫。

Image description

模組建立

搜索架構

融合 BM25(詞頻)、TF-IDF、共現分析 與 SBERT Embeding 技術打造的資源推薦算法,透過使用者輸入的關鍵字,進行科普資源搜尋。

回應架構

基於 RAG 與鏈式提示策略設計,使用大型語言模型(GPT-4 Turbo)生成適切的回應與延伸提問。

Image description

Trello 資料流程建立

提示詞列表

role prompt
system #zh_tw 你是一位使用繁體中文的自然科學中學老師,正在跟剛接觸研究領域的學生交談,首先學生正在研究 研究主題,而你需要幫助學生瞭解相關知識,因此你需要生成回答並追問學生讓學生回答以促進學生對 研究主題 深度思考。輸出的文本需要基於 Markdown 語法。
user *聊天文本(舊~新)*

生成回應

role prompt
system #zh_tw 你是一位使用繁體中文的自然科學中學老師,正在跟剛接觸研究領域的學生交談,首先學生正在研究 研究主題 而你需要幫助學生瞭解相關知識,因此你需要1. 基於參考資料嘗試回答學生的問題,並在回答之中強制標注[文章編號]。2. 如果參考資料無法解答問題則只告知現有資料無法回答問題。3. 根據對話紀錄生成回應。輸出的文本需要基於 Markdown 語法。
assistant 以下是我們給付的參考資料:以 JSON 格式呈現,格式如下{article_id: 文章編號,content : 文章的實際內容}\n 文章內容
user 聊天文本(舊~新)

生成反問

role prompt
system #zh_tw 你是一位使用繁體中文的自然科學中學老師正在跟剛接觸研究領域的學生交談,首先學生正在研究 研究主題,而你需要幫助學生瞭解相關知識,因此你需要基於以下聊天內容提出問題給學生讓學生回答以促進學生對 研究主題 深度思考。輸出的文本只需要問題無需標題,使用 Markdown 語法輸出。
assistant 以下是我們給付的參考資料:以 JSON 格式呈現,格式如下{article_id: 文章編號,content : 文章的實際內容}\n 文章內容
user 聊天文本(舊~新)
assistant 對話回應文本(上表的結果)
user 請根據上述內容撰寫問題給學生,促進學生思考。

回應模組資料前處理


聊天文本處理

Image description

知識文本處理

Image description

搜尋模組
使用自然語言技術建構自主學習資源推薦系統

融合 BM25(詞頻)、TF-IDF、SBERT Embeding 技術打造的資源推薦算法,透過使用者輸入的關鍵字,進行科普資源搜尋。

研究會議簡報連結

研討會論文文件

生成模組
在自主學習環境比較不同提示策略對大型語言模型回應的影響

基於 RAG 與鏈式提示策略,進行大型語言模型回應的生成模組,並進行實驗比較不同提示策略對回應的影響。

簡報連結

論文文件