Skip to content

thudeptrai218/student_feedback_system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HỆ THỐNG PHÁT HIỆN SỚM TRẠNG THÁI CẢM XÚC TIÊU CỰC CỦA SINH VIÊN TỪ NỘI DUNG TRỰC TUYẾN

AIoTLab Logo AIoTLab Logo DaiNam University Logo

AIoTLab Faculty of Information Technology DaiNam University

💡1. Tổng quan về hệ thống

Hệ thống phát hiện sớm trạng thái cảm xúc tiêu cực của sinh viên từ nội dung trực tuyến là nền tảng giúp nhà trường thu thập, phân loại và phản hồi các ý kiến của sinh viên về môn học, giảng viên và trải nghiệm học tập.

Hệ thống tích hợp mô hình phân tích cảm xúc (Sentiment Analysis) dựa trên trí tuệ nhân tạo (AI) để tự động nhận biết phản hồi tích cực hoặc tiêu cực, đồng thời kích hoạt chatbot hỗ trợ khi phát hiện nội dung tiêu cực nhằm giúp sinh viên được tư vấn, chia sẻ và định hướng kịp thời.

Hệ thống được xây dựng theo mô hình Client–Server, sử dụng FastAPI làm backend và SQLite làm cơ sở dữ liệu, kết hợp giao diện web được phát triển bằng HTML, Bootstrap và AdminLTE. Mô hình học máy được huấn luyện trước bằng XGBoost và SentenceTransformer giúp đảm bảo tốc độ xử lý nhanh, chính xác và có thể mở rộng trong tương lai.

💻 Thành phần chính

Ứng dụng gồm các thành phần chính sau:

  • Frontend (Giao diện web): Cho phép sinh viên đăng nhập, gửi phản hồi, xem lịch sử và trò chuyện với chatbot.
  • Backend (FastAPI): Xử lý logic nghiệp vụ, gọi mô hình AI phân tích cảm xúc, lưu dữ liệu và phản hồi kết quả cho frontend.
  • Mô hình AI (Sentiment Analysis): Phân tích nội dung phản hồi, xác định cảm xúc và ngưỡng tiêu cực để quyết định hiển thị chatbot.
  • Chatbot (Gemini API): Giao tiếp tự nhiên với người dùng, cung cấp lời khuyên, hướng dẫn hoặc hỗ trợ tâm lý cơ bản.
  • Database (SQLite): Lưu trữ thông tin sinh viên, lớp học, học phần, phản hồi và lịch sử hội thoại.

🧰 2. CÔNG NGHỆ SỬ DỤNG

Python FastAPI Server Database ORM Security AI Chatbot Frontend Environment

  • Ngôn ngữ lập trình: Python 3.10
  • Framework Backend: FastAPI – nhanh, gọn, typing rõ ràng.
  • Máy chủ ứng dụng: Uvicorn (ASGI) để chạy FastAPI ổn định.
  • Cơ sở dữ liệu: SQLite (nhẹ, đủ cho demo/triển khai nhỏ).
  • ORM: SQLAlchemy – mô hình hoá bảng và quan hệ, dễ bảo trì.
  • Bảo mật: Passlib/bcrypt – băm mật khẩu an toàn.
  • AI phân tích cảm xúc:
    • SentenceTransformer để mã hoá ngữ nghĩa phản hồi.
    • XGBoost phân loại cảm xúc POS/NEG, xuất ra xác suất.
  • Chatbot hỗ trợ: Google Gemini API (trợ lý đồng cảm, trả lời ≤120 từ).
  • Frontend: HTML5, CSS3, Bootstrap 4AdminLTE (UI quản trị + widget chat nổi).
  • Cấu hình môi trường: python-dotenv đọc biến môi trường (.env).

📸 3. Hình ảnh các giao diện

Giao diện Đăng nhập

Giao diện Đăng nhập
Hình 1: Giao diện Đăng nhập

Giao diện Admin

Giao diện Admin
Hình 2: Giao diện Admin

Giao diện phản hồi sinh viên

Giao diện phản hồi sinh viên
Hình 3: Giao diện phản hồi sinh viên

Giao diện Chatbot trợ lý sinh viên

Giao diện Chatbot trợ lý sinh viên
Hình 4: Giao diện Chatbot trợ lý sinh viên

⚙️ 4. CÁC BƯỚC CÀI ĐẶT & CHẠY ỨNG DỤNG

🧩 4.1. Yêu cầu hệ thống

Thành phần Phiên bản khuyến nghị Ghi chú
Python ≥ 3.10 Đảm bảo đã thêm vào PATH
Pip Mặc định theo Python Dùng để cài thư viện
Git (Tùy chọn) Dùng để clone project
Trình duyệt web Chrome / Edge / Brave Dùng để truy cập giao diện hệ thống
IDE khuyến nghị VSCode / PyCharm Hỗ trợ virtualenv & gợi ý code

🏗️ 4.2. Thiết lập dự án

🔹 Bước 1. Clone hoặc tải dự án

git clone https://github.com/pnguyen13/student_feedback_system.git
cd student_feedback_system

🔹 Bước 2. Tạo môi trường ảo (virtual environment)

python -m venv .venv

🔹 Bước 3. Kích hoạt môi trường ảo

  • Windows (PowerShell):

    .venv\Scripts\Activate.ps1

    ⚠️ Nếu bị lỗi execution policy, chạy lệnh sau rồi thử lại:

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  • macOS / Linux:

    source .venv/bin/activate

🔹 Bước 4. Cài đặt thư viện cần thiết

pip install -r requirements.txt

🔹 Bước 5. Cấu hình file môi trường .env

Tạo file .env tại thư mục gốc (cùng cấp với api/model/) với nội dung ví dụ:

GEMINI_API_KEY=your_google_gemini_api_key_here
DB_URL=sqlite:///./student_feedback.db

🚀 4.3. Chạy ứng dụng

🔸 Khởi động server FastAPI

uvicorn api.main:app --reload --port 8000

✅ Sau khi chạy thành công, terminal hiển thị:

INFO:     Uvicorn running on http://127.0.0.1:8000

🔸 Mở giao diện người dùng (Frontend)

🔸 Tính năng chính khi chạy

  • ✅ Gửi phản hồi → mô hình AI phân tích cảm xúc.
  • ⚠️ Nếu phát hiện phản hồi tiêu cực, hệ thống hiển thị popup chatbot.
  • 💬 Chatbot Gemini sẽ chào sinh viên: “Chào bạn 👋 Mình là trợ lý sinh viên. Mình giúp gì được cho bạn?”

📞 5. Liên hệ

  • 👨‍🎓 Sinh viên thực hiện: Nguyễn Đào Phúc Nguyên, Đoàn Tuấn Nam
  • 🎓 Khoa: Công nghệ thông tin – Đại học Đại Nam
  • 📧 Email: [email protected]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published