---
# System prepended metadata

title: 可生成摘要與輔助教學的 Chatbot 及高效學習平台

---

# 可生成摘要與輔助教學的 Chatbot 及高效學習平台 (Advanced Learning Video Platform Integrating Automated Summary Generation and Tutoring Chatbot Support)

參考：大學科系探索共創平台[簡介](https://oldsite.www.csie.ncku.edu.tw/csie-project-2022/asset/intro/1-9.pdf)、[簡報](https://oldsite.www.csie.ncku.edu.tw/csie-project-2022/asset/ppt/1-9.pdf)；結合智能合約之遊戲驅動室友媒合系統[影片](https://youtu.be/6uC2QX-cQr0?si=mw3tCGPeND1M834I)

 
指導教授：郭耀煌
專題成員：潘駿諺、吳仲倫、臣韞儒、曾奕程
開發工具：React, FastAPI, SQLite, llama_index, tloen/alpaca-lora, OpenAI API, lm-sys/FastChat, OpenAI Whisper
測試環境：Linux Ubuntu 20.04.6 LTS x86_64

[Coursera 參考資料](https://theworldmaths.com/posts/%E7%B7%9A%E4%B8%8A%E5%AD%B8%E7%BF%92%E5%B7%B2%E6%88%90%E7%82%BA%E4%B8%BB%E6%B5%81%E4%B8%80%E7%AF%87%E6%96%87%E8%AE%93%E4%BD%A0%E4%BA%86%E8%A7%A3%E7%82%BA%E4%BD%95%E8%A6%81%E9%81%B8%E6%93%87%E7%B7%9A%E4%B8%8A%E5%AD%B8%E7%BF%92-629b5c4c10338730.html)、[參考2](https://www.waker.org.tw/opinion/10526)

Coursera 統計出 2016 年至 2021 年使用此平台學習的人數從... 21M ~ 92M (TODO: 找普及率，避免被ㄉㄧㄤ「不可或缺」題目的價值就會出來)

簡介就是動機 --> 痛點
目的 --> 解決到什麼程度
量化**指標** (大海報上) 會看目的有沒有達到 給證據 不要被說「結果跟目標又不一樣」

[canva 簡報](https://www.canva.com/design/DAGGbQ6TEiw/dk11IYyn78kXVWTH3Bkp_A/edit?utm_content=DAGGbQ6TEiw&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton)

## ㄧ、簡介
近年來，隨著像 Coursera、Udemy 等線上教學平台如的蓬勃發展，以及網路基礎建設的持續升級，線上學習已成為現代人**不可或缺**的學習方式。Coursera 統計出 2016 年至 2021 年使用此平台學習的人數從 21M 成長到 92M。然而，學生在使用線上教學平台時常面臨**資料查找效率低下**、**沒有助教可以討論**和**遺忘影片內容**等問題，導致浪費寶貴時間。為此，我們利用 AI 技術打造一個專門解決上述問題的影音學習平台，主要包括以下的改進：
1.	資料查找效率提升
由於語言模型先天的 token 限制，我們用長文本摘要方法來濃縮課程影片精華；並在搜尋時提供基於 RAG (Retrieval-Augmented Generation) 的文字摘要以及關鍵字；最後，用模糊搜尋來尋找課程，搜尋結果標記出與關鍵字相關的時間戳記，讓學生能夠立即找到所需內容。
2.	數位化助教服務以及遺忘內容補充
利用 OpenAI whisper 將所有課程語音轉文字，透過 OpenAI 的 API 使用 Prompt engineering 技術自動產生問答集資料，將資料透過 LoRA (Low-Rank Adaptation) 方法微調，如此一來就能在本地端用低成本為每個課程訓練專屬模型 (Adapter)，讓學生在遇到問題時能夠提問；並紀錄學生最後一次觀看影片的時間戳記，並摘要先前的學習內容，加快複習腳步、提高學習效果。

以下為功能架構圖、資料處理流程長文本摘要流程圖：
![image](https://hackmd.io/_uploads/Sy08mcJX0.png)

![image](https://hackmd.io/_uploads/BJSiT5km0.png)

## 二、測試結果

TODO: 提供平台使用截圖

1.	學生搜尋關鍵字，看到 RAG 檢索結果。
2.	直接從與關鍵字相關之時間戳記進入課程觀看影片。
3.	在影片課程右下角開啟聊天泡泡，向課程助教模型問問題 (同問題不同回覆)。


# 當天報告 Demo 的準備

### ChatBot demo

在聊天室輸入「生產者是什麼？」。同樣的問題交給公民助教與生物助教會得到截然不同的答案，這部分可以**驗證微調的效果**，以及前端介面的操作流暢度。由於使用 Adapter 的速度會比較快，效果會很好，一定要講到這部分。

:::spoiler 公民助教的回覆
![image](https://hackmd.io/_uploads/S1XGaRjMA.png)
:::
:::spoiler 生物助教的回覆
![截圖 2024-05-11 上午1.45.07](https://hackmd.io/_uploads/S1_V60iz0.png)
:::

## 關於 LoRA

LoRA 的目的是在不改變大模型大部分參數的情況下，通過引入少量的新參數來實現模型的微調。這樣可以大大減少訓練所需的計算資源和時間。

### 低秩近似：

想像我們有一個巨大的表格，這個表格記錄了模型中的所有參數。
LoRA 的方法是用兩個較小的表格（矩陣）來近似這個大的表格。這兩個小表格相乘後，結果接近於原始的大表格。
這樣的分解方式稱為「低秩近似」，因為這兩個小表格的維度要遠小於原始的大表格。

### 訓練小表格：

在微調過程中，我們只訓練這兩個小表格的參數，而不是整個大表格的參數。
這樣可以保證大部分原始模型的知識保留，只是通過調整這兩個小表格來適應新的任務。

### 整合到大模型中：

在實際應用時，這兩個小表格會與原始模型的參數一起使用，最終的輸出結果就像我們直接訓練了整個大模型一樣，但計算效率大大提高。

## 遇到的困難
- TODO

## 未來期待

- 更好的評估方式
- 自動調整超參數
- etc.

## 比賽紀錄

說比賽有進決賽，簡單的東東就有了，很厲害，應該要得獎