Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ và thâm nhập vào mọi lĩnh vực của đời sống xã hội, việc ứng dụng công nghệ để số hóa quy trình quản lý và hỗ trợ đào tạo tại các trường đại học trở thành một yêu cầu thực tiễn cấp thiết. Tại nhiều cơ sở giáo dục đại học, công tác hỗ trợ, tư vấn sinh viên về các mặt học tập, điểm rèn luyện, học bổng, thực tập hay hướng nghiệp còn gặp nhiều khó khăn. Kênh trao đổi thông tin chủ yếu vẫn phân tán qua các mạng xã hội như Facebook, Zalo hoặc thư điện tử (Email), dẫn đến tình trạng thông tin bị trôi, khó nắm bắt, thiếu tính tập trung và thống nhất.

Nhằm giải quyết bất cập này, đề tài "Xây dựng website hỗ trợ, tư vấn sinh viên Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh sử dụng Spring Boot, ReactJS và ứng dụng AI" do sinh viên Nguyễn Thái Văn và Ngô Quang Nghĩa thực hiện (ngành Công nghệ thông tin, chuyên ngành Công nghệ phần mềm, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh; dưới sự hướng dẫn của ThS. Nguyễn Hữu Trung và phản biện của TS. Mai Anh Thơ) đã được triển khai với các mục tiêu và nhiệm vụ cụ thể:

  • Mục tiêu nghiên cứu: Xây dựng một nền tảng trực tuyến chính thống nhằm hỗ trợ, tư vấn cho sinh viên, phụ huynh, học sinh phổ thông, cựu sinh viên và nhà tuyển dụng. Nền tảng được thiết kế giao diện trực quan, dễ thao tác, tích hợp hệ thống chatbot thông minh dựa trên dữ liệu Sổ tay sinh viên của nhà trường và áp dụng kỹ thuật gợi ý nội dung (Content-based Recommendation) để hỗ trợ tìm kiếm câu hỏi tương tự cho người dùng cũng như gợi ý câu trả lời cho đội ngũ tư vấn viên.
  • Nhiệm vụ nghiên cứu (theo các khía cạnh đối tượng nghiên cứu):
    1. Xây dựng và hoàn thiện các chức năng nghiệp vụ web cơ bản và nâng cao: xác thực, quản lý hồ sơ, đăng/lọc câu hỏi, đăng tin tuyển dụng, đặt lịch tư vấn trực tuyến.
    2. Nghiên cứu và hiện thực hóa hệ thống chatbot thông minh ứng dụng kiến trúc Tạo sinh có tăng cường truy xuất (Retrieval-Augmented Generation - RAG), khung làm việc LangChain và mô hình ngôn ngữ lớn Gemini 2.0 Flash Lite nhằm truy xuất thông tin từ tài liệu Sổ tay sinh viên.
    3. Nghiên cứu và ứng dụng phương pháp gợi ý dựa trên nội dung (Content-based Recommendation) kết hợp xử lý ngôn ngữ tự nhiên để gợi ý câu hỏi tương tự cho người dùng và gợi ý phản hồi cho tư vấn viên.
    4. Thiết kế và triển khai hệ quản trị cơ sở dữ liệu quan hệ MySQL cho lưu trữ và truy xuất dữ liệu.
    5. Thiết kế và triển khai hệ thống giao diện lập trình ứng dụng (RESTful API) trên nền tảng Spring Boot.
    6. Xây dựng giao diện tương tác người dùng phía giao diện người dùng bằng thư viện ReactJS kết hợp NextUI, Formik, React Router DOM và TanStack Query.
    7. Tích hợp cơ chế bảo mật xác thực phân quyền qua mã thông báo JWT (JSON Web Token) và xác thực giao tiếp hai chiều thời gian thực qua giao thức WebSocket.
  • Đối tượng và phạm vi nghiên cứu:
    • Đối tượng nghiên cứu: Nhu cầu hỗ trợ, tư vấn học đường thường nhật của sinh viên, phụ huynh, học sinh phổ thông, cựu sinh viên, nhà tuyển dụng; các công nghệ phát triển web hiện đại (Spring Boot, ReactJS, Flask); các mô hình trí tuệ nhân tạo, xử lý ngôn ngữ tự nhiên (NLP, RAG, FAISS, Cosine Similarity, SequenceMatcher, LangChain, Gemini).
    • Phạm vi nghiên cứu: Tập trung giải quyết các bài toán tư vấn học vụ và sinh viên trong phạm vi Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh; nguồn ngữ liệu cho hệ thống AI được xây dựng dựa trên Sổ tay sinh viên và tập dữ liệu câu hỏi từ hệ thống tư vấn hiện hành của trường. Thời gian thực hiện trong Học kỳ II năm học 2024–2025.

Cơ sở lý thuyết và phương pháp

Khóa luận kết hợp phương pháp nghiên cứu tài liệu kỹ thuật, khảo sát thực nghiệm hệ thống hiện hữu và phương pháp thiết kế, xây dựng phần mềm hướng dịch vụ:

Khung lý thuyết và công nghệ nền tảng

  • Công nghệ Front-end:
    • Thư viện ReactJS với kiến trúc dựa trên thành phần (Component-based architecture), luồng dữ liệu một chiều (One-way data binding) và cơ chế Cây phân cấp đối tượng ảo (Virtual DOM) giúp tối ưu hóa hiệu suất kết xuất giao diện.
    • Các thư viện bổ trợ: React Router DOM cho định tuyến ứng dụng đơn trang (Single Page Application - SPA); TanStack Query (React Query) xử lý đồng bộ, lưu đệm (caching) và quản lý trạng thái máy chủ (server state); NextUI, Formik phục vụ quản lý trạng thái biểu mẫu; Shadcn UI (xây dựng trên nền tảng TailwindCSS và Radix).
  • Công nghệ Back-end:
    • Nền tảng Spring Framework và Spring Boot (Java) vận hành trên các nguyên tắc thiết kế Tiêm phụ thuộc (Dependency Injection - DI), Lập trình hướng khía cạnh (Aspect Oriented Programming - AOP), và mô hình Đối tượng Java thuần túy (POJO).
    • Tận dụng cơ chế Tự động cấu hình (Auto Configuration), Annotation, máy chủ nhúng Tomcat, SpringApplication, cấu hình ngoài (Externalized Configuration) và Profiles theo môi trường phát triển.
    • Giao tiếp dữ liệu qua Java Persistence API (JPA), hệ quản trị cơ sở dữ liệu MySQL, bảo mật bằng chuẩn JSON Web Token (JWT) và cơ thức truyền thông hai chiều qua WebSocket.
  • Công nghệ Trí tuệ nhân tạo và Dịch vụ AI (Back-end AI):
    • Vi khung ứng dụng Flask (Python) đóng vai trò microservice phục vụ xử lý ngôn ngữ tự nhiên và tính toán vector.
    • Kiến trúc RAG (Retrieval-Augmented Generation) kết hợp truy xuất vector và mô hình ngôn ngữ lớn (LLM) để khắc phục hiện tượng ảo giác (hallucination), hỗ trợ trả lời dựa trên tài liệu ngữ cảnh chính thống.
    • Thư viện LangChain: Sử dụng các thành phần Agent, Tools, Chains (LLM Chain, Sequential Chain, Router Chain, Transformation Chain) và các cơ chế quản lý bộ nhớ hội thoại (Buffer Memory, Buffer Window Memory, Entity Memory, Conversation Knowledge Graph Memory, Conversation Summary Memory, VectorStore-Backed Memory).
    • Mô hình ngôn ngữ lớn: Google Generative AI (Gemini 2.0 Flash Lite), phục vụ sinh câu trả lời tự nhiên bằng tiếng Việt với độ trễ thấp và tối ưu hóa tài nguyên.
    • Quản lý bộ đệm truy xuất: Thuật toán LRU Cache (Least Recently Used) để lưu trữ và tái sử dụng các cặp giá trị truy vấn phổ biến.

Phương pháp xử lý dữ liệu và thuật toán tìm kiếm tương đồng

  1. Xử lý ngôn ngữ tự nhiên (NLP) và Trích xuất đặc trưng:
    • Sử dụng CountVectorizer để chuyển đổi ngữ liệu thành ma trận tần suất từ (hỗ trợ cấu hình ngram_range, stop_words, max_df, min_df).
    • Kỹ thuật TF-IDF (Term Frequency – Inverse Document Frequency):
      • Chuẩn hóa tần suất thuật ngữ: $$\text{tf}(t, d) = \frac{f(t, d)}{\max({f(w, d) : w \in d})}$$
      • Tần suất nghịch đảo tài liệu: $$\text{idf}(t, D) = \log\left(\frac{|D|}{|{d \in D : t \in d}|}\right)$$
      • Trọng số đặc trưng: $$\text{tfidf}(t, d, D) = \text{tf}(t, d) \times \text{idf}(t, D)$$
  2. Kỹ thuật đo lường độ tương đồng văn bản:
    • SequenceMatcher (thư viện difflib của Python) tính tỷ lệ khớp ký tự tương đối dựa trên độ dài đoạn khớp chung lớn nhất: $$\text{ratio} = \frac{2 \times \text{match_size}}{\text{total_size}}$$
    • Độ tương đồng Cosine (Cosine Similarity) giữa vector biểu diễn câu hỏi truy vấn $A$ và vector tài liệu trong cơ sở dữ liệu $B$: $$\text{Cosine Similarity}(A, B) = \frac{A \cdot B}{|A| |B|}$$
    • Thư viện FAISS (Facebook AI Similarity Search): Áp dụng phân cụm k-means, lượng tử hóa sản phẩm (Product Quantization - PQ, OPQ) để lập chỉ mục và tăng tốc độ tìm kiếm láng giềng gần nhất trên không gian vector nhiều chiều.
  3. Mô hình gợi ý dựa trên nội dung (Content-based Recommendation):
    • Xây dựng hồ sơ thực thể (Item Profile), hồ sơ người dùng (User Profile) từ dữ liệu tương tác tường minh và ngầm định, kết hợp ma trận tiện ích (Utility Matrix) để xếp hạng mức độ phù hợp.

Thiết kế và triển khai

Hệ thống được thiết kế theo kiến trúc phân tầng kết hợp mô hình vi dịch vụ lai (hybrid microservice architecture) giữa Spring Boot và Flask:

Thành phần hệ thống Công nghệ / Nền tảng Chức năng chính
Giao diện người dùng (Front-end) ReactJS, TanStack Query, NextUI, Shadcn UI, Formik Hiển thị giao diện phân quyền, xử lý định tuyến SPA, đồng bộ dữ liệu trạng thái máy chủ, tương tác người dùng.
Dịch vụ nghiệp vụ (Back-end Core) Spring Boot, Spring Data JPA, Tomcat nhúng Xử lý logic nghiệp vụ, quản lý tài khoản, điều phối luồng hỏi - đáp, đặt lịch tư vấn, xác thực JWT, kết nối MySQL.
Giao tiếp thời gian thực WebSocket Cung cấp tính năng nhắn tin tức thời riêng tư (1-1) và nhắn tin nhóm phục vụ các phiên tư vấn.
Dịch vụ Trí tuệ nhân tạo (AI Microservice) Python Flask, LangChain, FAISS, Scikit-learn Xử lý ETL văn bản, vector hóa tài liệu, tính toán độ tương đồng câu hỏi, thực hiện luồng RAG kết nối mô hình Gemini.
Mô hình sinh ngôn ngữ (LLM) Gemini 2.0 Flash Lite API Tổng hợp ngữ cảnh từ tài liệu Sổ tay sinh viên và sinh câu trả lời tự động cho chatbot; hỗ trợ đề xuất câu trả lời cho tư vấn viên.
Cơ sở dữ liệu & Lưu trữ đệm MySQL, LRU Cache Lưu trữ dữ liệu quan hệ (người dùng, phân quyền, câu hỏi, phiên tư vấn); tối ưu hóa thời gian phản hồi của dịch vụ AI bằng bộ đệm LRU.

Hệ thống hỗ trợ phân quyền chi tiết cho 6 nhóm tác nhân:

  1. Người dùng / Sinh viên: Đặt câu hỏi, xem câu trả lời công khai, tra cứu chatbot AI, tham gia phiên tư vấn, nhắn tin trao đổi, nhận câu hỏi gợi ý tương tự.
  2. Tư vấn viên: Tiếp nhận câu hỏi thuộc lĩnh vực phụ trách, sử dụng tính năng gợi ý câu trả lời do AI hỗ trợ, phản hồi câu hỏi, tạo và điều hành buổi tư vấn.
  3. Kiểm duyệt viên: Xem xét, hiệu chỉnh nội dung câu trả lời và tài liệu đính kèm trước khi phát hành công khai.
  4. Giảng viên: Thực hiện vai trò cố vấn, tương tác học vụ và giải đáp vướng mắc cho sinh viên.
  5. Trưởng ban tư vấn: Giám sát quy trình tư vấn, phê duyệt các nội dung phản hồi, phân công nhiệm vụ.
  6. Quản trị viên (Admin): Quản lý tài khoản, phân quyền hệ thống, theo dõi tổng thể hoạt động website.

Nội dung chính theo từng chương

Chương 1: Khảo sát hiện trạng

Chương 1 tiến hành phân tích, so sánh các hệ thống tư vấn và cố vấn học tập đang vận hành tại một số trường đại học tại Việt Nam, làm cơ sở xác định yêu cầu nghiệp vụ cho đề tài:

  • Trang Tư vấn sinh viên – Trường Đại học Sư phạm Kỹ thuật TP.HCM (UTE): Cho phép đặt câu hỏi trực tuyến và phân loại câu hỏi theo từng khoa, phòng ban chức năng; giao diện đơn giản. Tuy nhiên, mật độ bố trí câu hỏi quá dày đặc gây khó khăn khi theo dõi; phạm vi dịch vụ hẹp, chưa mở rộng ra các mảng hướng nghiệp và kỹ năng sống.
  • Trang Tư vấn học đường – Trường Đại học Tôn Đức Thắng (TDT): Cung cấp thông tin phong phú về chương trình học, học bổng, hoạt động ngoại khóa; hỗ trợ đa ngôn ngữ. Tuy nhiên, hệ thống bắt buộc người dùng phải đăng nhập mới được xem nội dung câu hỏi, hạn chế sự tiếp cận của phụ huynh và học sinh phổ thông.
  • Hệ thống Cố vấn học tập – Trường Đại học Kinh tế TP.HCM (UEH): Thiết kế phân quyền tường minh (Sinh viên, Cố vấn học tập, Đơn vị chức năng); quản lý lịch trình và đánh giá cố vấn chặt chẽ. Tuy nhiên, hệ thống thiếu kênh nhắn tin trực tiếp đến cố vấn học tập và không công khai các câu hỏi phổ biến, dẫn đến việc người dùng gửi lặp lại các thắc mắc chung nhiều lần.

Từ việc phân tích ưu và nhược điểm của các hệ thống trên, nhóm tác giả đã xác lập các tiêu chí thiết kế mới: cho phép xem câu hỏi công khai không cần tài khoản, tích hợp nhắn tin trực tuyến thời gian thực, mở rộng kênh thông tin và tích hợp công nghệ AI nhằm giải tỏa tải công việc cho đội ngũ tư vấn viên con người.

Chương 2: Cơ sở lý thuyết

Chương này trình bày chi tiết nền tảng công nghệ và lý thuyết toán học áp dụng trong đồ án:

  • Phân tích cơ chế hoạt động của ReactJS (Virtual DOM so sánh đối chiếu phiên bản thay đổi trước khi cập nhật DOM thực; One-way data binding; Component-based) và các thư viện điều phối client-state, server-state.
  • Phân tích kiến trúc Spring Boot, cơ chế Inversion of Control (IoC), Dependency Injection, và các thuộc tính quản trị tiến trình qua SpringApplication.
  • Trình bày kiến trúc vi dịch vụ Python Flask và cơ chế triển khai RESTful API cho tác vụ học máy.
  • Trình bày chi tiết lý thuyết Content-based Recommendation (Item Profile, User Profile, Utility Matrix).
  • Hệ thống hóa các bài toán xử lý ngôn ngữ tự nhiên: CountVectorizer, TF-IDF (chi tiết công thức tần suất thuật ngữ và tần suất nghịch đảo tài liệu).
  • Nguyên lý đo độ tương đồng chuỗi bằng SequenceMatcher, khoảng cách góc Cosine Similarity và chỉ mục vector với thư viện FAISS.
  • Nguyên lý hoạt động 2 pha (Truy xuất – Retrieval và Sinh phản hồi – Generation) của kiến trúc RAG, các khối chức năng của LangChain, đặc tính kỹ thuật của Gemini 2.0 Flash Lite, và mô phỏng chu trình hoạt động của thuật toán thay thế bộ nhớ đệm LRU Cache qua các thao tác put và get.

Chương 3: Tài liệu mô tả hệ thống chức năng

Chương 3 là tài liệu đặc tả yêu cầu và thiết kế chi tiết các chức năng phần mềm:

  • Đặc tả nghiệp vụ xác thực (Authentication): Đăng ký tài khoản, gửi và xác thực mã OTP qua email, cơ chế cấp lại mã xác thực, cập nhật thông tin cá nhân, đổi mật khẩu và quy trình khôi phục mật khẩu khi quên.
  • Đặc tả luồng nghiệp vụ quản lý câu hỏi và câu trả lời:
    • Quy trình sinh viên/người dùng tạo câu hỏi, xem chi tiết câu hỏi, đính kèm tập tin.
    • Quy trình tư vấn viên tạo câu trả lời, gắn tệp tin đính kèm và gửi yêu cầu phê duyệt.
    • Quy trình trưởng ban tư vấn/quản trị viên kiểm duyệt, chỉnh sửa hoặc phê duyệt công khai câu trả lời.
    • Quy trình người dùng đánh giá chất lượng câu trả lời.
  • Đặc tả các phiên tư vấn và tương tác thời gian thực:
    • Lập lịch và khởi tạo buổi tư vấn; quy trình sinh viên tham gia buổi tư vấn.
    • Hệ thống nhắn tin trực tiếp riêng tư (1-1) và nhắn tin nhóm thời gian thực qua kênh WebSocket.
  • Đặc tả chức năng Trí tuệ nhân tạo (AI):
    • Chức năng Chatbot tự động: Truy xuất tài liệu từ vector store Sổ tay sinh viên thông qua RAG và LangChain, sinh câu trả lời trực tiếp cho người dùng theo biểu đồ tuần tự (Sequence diagram) và quy tắc nghiệp vụ chặt chẽ.
    • Chức năng gợi ý câu hỏi tương tự: Tính toán độ tương đồng giữa câu hỏi người dùng nhập vào với kho câu hỏi đã có bằng TF-IDF và Cosine Similarity / SequenceMatcher.
    • Chức năng gợi ý câu trả lời: Hỗ trợ tư vấn viên soạn nội dung phản hồi nhanh chóng bằng cách tổng hợp dữ kiện liên quan từ cơ sở tri thức thông qua Gemini.
  • Toàn bộ các use case được mô hình hóa đầy đủ qua: Danh mục Use Case, Biểu đồ tuần tự (Sequence Diagram), Bảng mô tả chi tiết use case, Bảng quy tắc nghiệp vụ (Business Rules), và Thiết kế giao diện (UI Mockup/Screenshots).

Chương 4: Kiểm thử phần mềm

Chương 4 ghi nhận quá trình kiểm thử phần mềm để đảm bảo tính ổn định và chính xác của hệ thống:

  • Thiết lập môi trường kiểm thử tương ứng cho từng thành phần (Front-end, Back-end Spring Boot, Microservice Flask, CSDL MySQL).
  • Xác định danh mục công cụ kiểm thử: Kết hợp kiểm thử tự động (automated testing) và kiểm thử thủ công (manual testing).
  • Kiểm tra toàn diện các kịch bản kiểm thử (test cases) cho từng phân hệ chức năng: xác thực tài khoản, phân quyền truy cập, luồng tạo và duyệt câu hỏi/câu trả lời, hiệu năng tải trang, kiểm thử chức năng chatbot RAG và tính chính xác của các đề xuất câu hỏi tương tự.

Chương 5: Hướng dẫn cài đặt

Chương 5 cung cấp tài liệu kỹ thuật về các bước cấu hình, biên dịch và triển khai hệ thống:

  • Hướng dẫn thiết lập môi trường và chạy mã nguồn Front-end: Cài đặt Node.js, cài đặt phụ thuộc qua npm/yarn, khởi chạy dự án ReactJS.
  • Hướng dẫn chạy mã nguồn Back-end Spring Boot: Cấu hình Maven, cài đặt JDK, thiết lập biến môi trường và chạy ứng dụng từ file JAR hoặc qua IDE.
  • Hướng dẫn cấu hình và thực thi cơ sở dữ liệu: Tạo cơ sở dữ liệu trên MySQL Server, chạy tệp mã lệnh SQL khởi tạo bảng và dữ liệu mẫu.
  • Hướng dẫn cấu hình và chạy mã nguồn Python (phần ứng dụng AI): Thiết lập môi trường ảo Python, cài đặt các thư viện phụ thuộc (flask, faiss, langchain, scikit-learn...), cấu hình khóa API cho Gemini và khởi chạy dịch vụ Flask.
  • Tổng kết các kết quả kỹ thuật đạt được và định hình các hướng mở rộng trong tương lai.

Kết quả và đóng góp

Khóa luận đã hoàn thành các mục tiêu đề ra về mặt kỹ thuật và ứng dụng thực tiễn:

  • Kết quả phần mềm và công nghệ:
    • Hoàn thiện website hỗ trợ, tư vấn sinh viên với đầy đủ giao diện người dùng cho 6 phân quyền: Người dùng, Kiểm duyệt viên, Giảng viên, Tư vấn viên, Trưởng ban tư vấn và Quản trị viên (Admin).
    • Triển khai thành công kiến trúc RAG tích hợp LangChain, FAISS và mô hình Gemini 2.0 Flash Lite, cho phép chatbot truy xuất ngữ cảnh từ dữ liệu Sổ tay sinh viên của Trường ĐH Sư phạm Kỹ thuật TP.HCM và tạo câu trả lời tự động, chính xác.
    • Xây dựng mô-đun Content-based Recommendation kết hợp TF-IDF, Cosine Similarity và Gemini, hỗ trợ hiển thị danh sách câu hỏi tương tự cho sinh viên và đề xuất bản nháp câu trả lời cho tư vấn viên.
    • Hoàn thiện bộ RESTful API trên Spring Boot, bảo mật bằng JWT và hỗ trợ trao đổi thời gian thực qua giao thức WebSocket.
    • Thực hiện kiểm thử toàn diện thông qua cả kiểm thử tự động lẫn kiểm thử thủ công; hoàn thành việc đóng gói và triển khai (deploy) sản phẩm.
  • Đóng góp so với các hệ thống trước:
    • Khắc phục nhược điểm hạn chế truy cập của các trang web hiện có (như hệ thống của TDT) bằng cách cho phép người dùng ngoài (học sinh phổ thông, phụ huynh) tra cứu thông tin mà không bắt buộc có tài khoản nội bộ ngay từ đầu.
    • Tự động hóa quá trình giải đáp các thắc mắc phổ biến nhờ chatbot RAG, giảm thiểu tình trạng tư vấn viên con người phải trả lời lặp đi lặp lại cùng một nội dung (vấn đề đang tồn tại ở hệ thống của UTE và UEH).
    • Tích hợp tính năng giao tiếp thời gian thực (nhắn tin riêng 1-1 và tạo phòng tư vấn nhóm), bổ khuyết cho các thiếu sót chức năng ở các hệ thống cố vấn học tập truyền thống.

Hạn chế và hướng nghiên cứu tiếp

Dựa trên nội dung khóa luận và phạm vi triển khai thực tế của đề tài:

  • Hạn chế:
    • Nguồn dữ liệu tri thức của chatbot và hệ thống gợi ý hiện tập trung chủ yếu vào tài liệu Sổ tay sinh viên và tập dữ liệu câu hỏi từ website hiện có của Trường Đại học Sư phạm Kỹ thuật TP.HCM, chưa mở rộng ra các cơ sở dữ liệu học vụ biến động theo thời gian thực (như cổng điểm cá nhân, hệ thống đăng ký môn học trực tiếp).
    • Một số chức năng chuyên sâu ở các phân hệ mở rộng vẫn đang trong quá trình tiếp tục hoàn thiện theo các góp ý chuyên môn từ hội đồng phản biện.
  • Hướng phát triển:
    • Tiếp thu các đóng góp từ giảng viên hướng dẫn và giảng viên phản biện để hoàn thiện triệt để các chức năng nâng cao còn dang dở.
    • Tối ưu hóa hiệu năng giao diện người dùng, cải thiện tốc độ tải trang, tinh chỉnh bố cục hiển thị và tăng cường tính tương tác.
    • Bổ sung hỗ trợ đa ngôn ngữ để phục vụ sinh viên quốc tế.
    • Mở rộng thêm các dịch vụ hỗ trợ toàn diện cho sinh viên như module hướng nghiệp, rèn luyện kỹ năng mềm và kết nối thông tin tuyển dụng việc làm chuyên sâu.

Giá trị tham khảo

Báo cáo khóa luận và sản phẩm phần mềm mang lại giá trị tham khảo rõ ràng cho các đối tượng:

  • Sinh viên ngành Công nghệ thông tin và Công nghệ phần mềm: Tài liệu là nguồn tham khảo hữu ích cho các đề tài đồ án chuyên ngành và khóa luận tốt nghiệp có định hướng xây dựng ứng dụng web kết hợp trí tuệ nhân tạo. Đặc biệt là mô hình tích hợp hệ sinh thái đa ngôn ngữ: giao diện ReactJS, nghiệp vụ chính bằng Java Spring Boot và phân hệ AI bằng Python Flask.
  • Nhà phát triển quan tâm đến kiến trúc RAG và LLM: Báo cáo cung cấp các chi tiết kỹ thuật thực tế về việc áp dụng LangChain, FAISS, kỹ thuật tiền xử lý văn bản (TF-IDF, CountVectorizer), độ đo Cosine Similarity và mô hình Gemini 2.0 Flash Lite để xây dựng giải pháp hỏi đáp thông minh dựa trên tài liệu nội bộ.
  • Tài liệu tham khảo về quy trình công nghệ phần mềm: Chương 3 và Chương 4 của khóa luận là biểu mẫu chuẩn mực về việc xây dựng tài liệu đặc tả yêu cầu, thiết kế biểu đồ tuần tự (Sequence Diagram), quy tắc nghiệp vụ (Business Rules), thiết kế giao diện và xây dựng ca kiểm thử phần mềm.

Câu hỏi thường gặp

1. Khóa luận giải quyết tình trạng thiếu chính xác và nguy cơ sinh thông tin sai lệch (hallucination) của mô hình ngôn ngữ lớn khi tư vấn học vụ bằng phương pháp nào?
Hệ thống áp dụng kiến trúc RAG (Retrieval-Augmented Generation) kết hợp khung làm việc LangChain. Thay vì để mô hình Gemini 2.0 Flash Lite tự suy diễn, hệ thống sử dụng thư viện FAISS để lập chỉ mục và truy xuất các đoạn văn bản chính xác từ Sổ tay sinh viên của trường làm ngữ cảnh (context), sau đó đưa ngữ cảnh này vào mô hình để tổng hợp câu trả lời có căn cứ thực tế.

2. Cơ chế gợi ý câu hỏi tương tự và gợi ý phản hồi cho tư vấn viên được xây dựng dựa trên những thuật toán nào?
Mô-đun gợi ý sử dụng kỹ thuật lọc dựa trên nội dung (Content-based Recommendation). Hệ thống trích xuất đặc trưng văn bản bằng kỹ thuật TF-IDF và CountVectorizer, sau đó đo độ tương đồng giữa câu hỏi mới và kho câu hỏi sẵn có thông qua chỉ số tương đồng góc Cosine (Cosine Similarity) hoặc tỷ lệ khớp ký tự của thuật toán SequenceMatcher. Kết hợp với mô hình Gemini để đưa ra nội dung gợi ý trả lời nhanh cho tư vấn viên.

3. Khác biệt cốt lõi giữa hệ thống trong đề tài và trang tư vấn hiện hành của Trường ĐH Sư phạm Kỹ thuật TP.HCM (UTE) là gì?
Trang web hiện tại của UTE chủ yếu hiển thị danh sách câu hỏi với giao diện mật độ dày đặc, phụ thuộc hoàn toàn vào tư vấn viên trả lời thủ công và chưa có chức năng thông minh. Hệ thống mới được thiết kế lại giao diện trực quan, bổ sung tính năng chatbot RAG tự động giải đáp 24/7 từ Sổ tay sinh viên, gợi ý câu hỏi trùng lặp cho người dùng và tích hợp kênh trao đổi thời gian thực qua WebSocket.

4. Kiến trúc kỹ thuật của hệ thống được phân chia giữa Spring Boot, ReactJS và Python Flask như thế nào?
Hệ thống sử dụng mô hình dịch vụ lai: ReactJS đóng vai trò giao diện tương tác người dùng (Front-end); Spring Boot đóng vai trò máy chủ nghiệp vụ chính (Back-end Core), quản lý CSDL MySQL, xử lý xác thực bảo mật JWT và kết nối WebSocket; trong khi Python Flask đóng vai trò một microservice chuyên biệt xử lý các tác vụ tính toán vector, NLP, LangChain, FAISS và kết nối API của mô hình Gemini.

5. Hệ thống hỗ trợ những vai trò người dùng (phân quyền) nào và quy trình kiểm duyệt câu trả lời diễn ra ra sao?
Hệ thống phân quyền cho 6 đối tượng: Người dùng, Kiểm duyệt viên, Giảng viên, Tư vấn viên, Trưởng ban tư vấn và Admin. Khi tư vấn viên tạo một câu trả lời cho câu hỏi của sinh viên, câu trả lời sẽ ở trạng thái chờ duyệt; Trưởng ban tư vấn hoặc Quản trị viên/Kiểm duyệt viên sẽ tiến hành kiểm tra, chỉnh sửa nội dung hoặc tệp đính kèm trước khi phê duyệt công khai và thông báo tự động đến người hỏi.


Kết luận

Đồ án tốt nghiệp của sinh viên Nguyễn Thái Văn và Ngô Quang Nghĩa đã nghiên cứu và phát triển thành công hệ thống website hỗ trợ, tư vấn sinh viên cho Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh. Bằng việc kết hợp hài hòa giữa kiến trúc giao diện ReactJS, nền tảng dịch vụ Spring Boot và phân hệ trí tuệ nhân tạo dựa trên kiến trúc RAG, LangChain cùng mô hình Gemini 2.0 Flash Lite, sản phẩm đã số hóa toàn diện quy trình tư vấn học đường. Đề tài không chỉ giải quyết hiệu quả các nhược điểm của các cổng tư vấn sinh viên hiện hữu mà còn là một tài liệu tham khảo có giá trị kỹ thuật cao về phương pháp tích hợp mô hình ngôn ngữ lớn vào các hệ thống phần mềm doanh nghiệp và giáo dục.