Giới thiệu dự án

Trong kỷ nguyên số hóa giáo dục, công tác tuyển sinh đại học tại Việt Nam chứng kiến sự chuyển dịch mạnh mẽ từ phương thức tư vấn trực tiếp truyền thống sang các nền tảng số hóa đa kênh. Theo thống kê từ Bộ Giáo dục và Đào tạo, mỗi mùa tuyển sinh có hơn một triệu thí sinh tham gia xét tuyển với hàng triệu lượt câu hỏi xoay quanh quy chế tuyển sinh, chương trình đào tạo, mức học phí, điều kiện học bổng và cơ hội việc làm. Tại Học viện Công nghệ Bưu chính Viễn thông (PTIT), áp lực giải đáp thắc mắc tuyển sinh cho hàng chục ngàn phụ huynh và thí sinh trên cả nước trong một khung thời gian ngắn thường dẫn đến tình trạng quá tải cục bộ, nghẽn đường dây nóng và phản hồi chậm trễ qua các kênh hỗ trợ thủ công.

Vấn đề cốt lõi (Problem Statement) nằm ở sự bất đối xứng giữa lưu lượng truy vấn tăng đột biến và năng lực phản hồi thời gian thực của đội ngũ tư vấn viên con người. Hơn nữa, thí sinh thường có xu hướng đặt câu hỏi với vô vàn biến thể ngôn ngữ, từ ngữ địa phương hoặc gặp khó khăn khi phải soạn thảo các đoạn văn bản dài trên thiết bị di động trong quá trình di chuyển.

Đề tài "Nghiên cứu xây dựng hệ thống tư vấn thông tin tuyển sinh PTIT" do sinh viên Lê Nhật Huy thực hiện dưới sự hướng dẫn của TS. Đỗ Thị Liên nhằm giải quyết trọn vẹn bài toán trên bằng cách kết hợp mô hình kiến trúc phần mềm hiện đại và trí tuệ nhân tạo (AI).

Hệ thống hướng tới các mục tiêu cụ thể:

  1. Thiết kế kiến trúc Service-Oriented Architecture (SOA): Xây dựng hệ thống backend dạng vi dịch vụ siêu nhẹ với Flask RESTful API và cơ sở dữ liệu SQLite để quản lý toàn bộ thực thể tuyển sinh.
  2. Xây dựng mô hình xử lý ngôn ngữ tự nhiên (NLP) thông minh: Áp dụng mô hình Sequence-to-Sequence (Seq2Seq) kết hợp cơ chế Self-Attention (Transformer) nhằm trích xuất ngữ cảnh và phản hồi chính xác mục đích truy vấn của người dùng.
  3. Tích hợp mô hình nhận dạng giọng nói tự động (ASR): Ứng dụng OpenAI Whisper nhằm chuyển đổi giọng nói tiếng Việt thành văn bản với độ chính xác cao, tạo trải nghiệm tư vấn đa phương thức (Multimodal).
  4. Phát triển ứng dụng di động Android chuẩn công nghiệp: Triển khai mô hình Clean Architecture kết hợp MVVM, Android Jetpack, Kotlin Coroutines và DataBinding, đảm bảo ứng dụng đạt tính module hóa cao, dễ bảo trì và mở rộng.
  5. Cung cấp phân hệ quản trị toàn diện: Cho phép ban tuyển sinh cập nhật động các thực thể: trường học, ngành học, chỉ tiêu, phương thức xét tuyển, học phí, học bổng và quy trình nhập học.

Hệ thống kỳ vọng đạt thời gian phản hồi dưới 800ms cho các truy vấn văn bản, độ trễ xử lý nhận dạng giọng nói dưới 2 giây và giải tỏa trên 80% áp lực cho đội ngũ tư vấn trực tiếp trong giai đoạn cao điểm tuyển sinh. Phạm vi nghiên cứu tập trung vào toàn bộ thông tin tuyển sinh của Học viện Công nghệ Bưu chính Viễn thông năm 2023.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Khảo sát thực tế các giải pháp cổng thông tin và tư vấn tuyển sinh hiện có cho thấy bức tranh tổng quan về ưu và nhược điểm:

Giải pháp Ưu điểm Nhược điểm Khả năng tự động hóa Hỗ trợ giọng nói (ASR)
ketnoigiaoduc.vn Tổng hợp đa dạng quy chế, thông tin trường toàn quốc. Dữ liệu dàn trải, không chuyên sâu theo từng trường, giao diện web tĩnh. Thủ công (Tư vấn viên) Không
tuyensinh.vn (ĐH Tài chính - Marketing) Chuyên biệt cho đơn vị đào tạo, thông tin chi tiết từng ngành. Thiếu chatbot tương tác tức thời, tìm kiếm phụ thuộc vào bộ lọc tĩnh. Thấp Không
PTIT S-Link Tuyển sinh Cung cấp thông tin chuẩn xác từ PTIT, hỗ trợ tra cứu lịch thi, chỉ tiêu. Chưa tích hợp AI tư vấn tự động 24/7, không hỗ trợ nhận diện giọng nói. Bán tự động Không
Hệ thống đề xuất (Đồ án PTIT) Tích hợp AI Seq2Seq Transformer + Whisper ASR, quản lý động, đa nền tảng. Cần máy chủ tính toán GPU để tối ưu tốc độ xử lý mô hình Deep Learning. Hoàn toàn tự động 24/7 Có (OpenAI Whisper)

Yêu cầu người dùng được phân loại theo mô hình MoSCoW:

  • Must have (Bắt buộc): Tra cứu thông tin trường, ngành, điểm chuẩn, học phí; Chatbot tự động trả lời FAQ tuyển sinh; Đăng nhập/Đăng ký tài khoản; Chuyển đổi giọng nói thành văn bản (Speech-to-Text).
  • Should have (Nên có): Phân hệ quản trị CRUD thông tin tuyển sinh; Định hướng nghề nghiệp theo ngành học; Xem quy trình nhập học theo từng bước trực quan.
  • Could have (Có thể có): Lưu lịch sử hội thoại tư vấn offline; Tự động đồng bộ hóa thông báo tin tức mới qua Push Notification.
  • Won't have (Chưa triển khai): Đăng ký nộp hồ sơ xét tuyển trực tuyến trực tiếp vào cổng dữ liệu quốc gia trong phiên bản này.

Thách thức kỹ thuật lớn nhất là xử lý độ trễ khi truyền tải file âm thanh từ ứng dụng di động lên server và tối ưu hóa tài nguyên phần cứng khi chạy song song mô hình ASR và Transformer.

Thiết kế hệ thống

Kiến trúc toàn hệ thống được xây dựng theo mô hình phân tầng hướng dịch vụ (SOA) che giấu độ phức tạp nghiệp vụ bên dưới và phân tách rõ ràng giữa Client - Server qua RESTful API.

+-------------------------------------------------------------------------+
|                  MOBILE CLIENT (Android Kotlin / Java)                  |
|  +-------------------------------------------------------------------+  |
|  | Presentation Layer: Activity / Fragment / ViewBinding / LiveData  |  |
|  +-------------------------------------------------------------------+  |
|  | ViewModel Layer: Coroutines, UI Logic State Management             |  |
|  +-------------------------------------------------------------------+  |
|  | Domain Layer: UseCases, Business Entities (Clean Architecture)    |  |
|  +-------------------------------------------------------------------+  |
|  | Data Layer: Repositories, Retrofit2 HTTP Client, Local Storage    |  |
|  +-------------------------------------------------------------------+  |
+------------------------------------+------------------------------------+
                                     | (HTTPS / JSON REST API)
                                     v
+-------------------------------------------------------------------------+
|                   BACKEND SERVICES (Flask Microservices)                |
|  +-------------------------------------------------------------------+  |
|  | API Routing & Controller Layer (Authentication, CRUD Services)    |  |
|  +-------------------------------------------------------------------+  |
|  | AI Inference Engine:                                              |  |
|  |  - Speech-to-Text: OpenAI Whisper ASR Core                        |  |
|  |  - Natural Language Understanding: Seq2Seq + Multi-Head Attention  |  |
|  +-------------------------------------------------------------------+  |
|  | Persistence Layer: SQLite Relational Database Engine              |  |
|  +-------------------------------------------------------------------+  |
+-------------------------------------------------------------------------+

Technology Stack và Thông số phiên bản

  • Mobile Client: Android Studio Electric Eel / Flamingo, Kotlin 1.8.x, Java 17, Android SDK Level 33 (Target), Android Jetpack (ViewModel, LiveData, DataBinding, Navigation Component), Kotlin Coroutines 1.6.x, Retrofit 2.9.0 + Gson Converter 2.9.0, OkHttp 4.10.0.
  • Backend Server: Python 3.10, Flask Framework 2.3.x, Werkzeug, Flask-CORS.
  • Machine Learning & Deep Learning: TensorFlow 2.12.0, Keras, NumPy, Pandas, OpenAI Whisper Engine.
  • Cơ sở dữ liệu: SQLite 3.

Thiết kế Cơ sở Dữ liệu (Database Schema)

Cơ sở dữ liệu quan hệ SQLite lưu trữ các thực thể nghiệp vụ:

  • User (id, username, password_hash, role, created_at)
  • SchoolInfo (id, name, history, contact, address)
  • Major (id, major_code, major_name, description, duration, target_quota, career_prospects)
  • Tuition (id, major_id, amount_per_credit, estimated_annual_fee, payment_deadline)
  • Scholarship (id, title, description, value, eligibility_criteria)
  • AdmissionMethod (id, method_name, code, description, requirements)
  • AdmissionProcess (id, step_order, title, content_guide)
  • News (id, title, content, image_url, published_date)

Thiết kế API Endpoints

Method Endpoint Chức năng Payload / Query Response Code
POST /api/v1/auth/login Xác thực người dùng {"username", "password"} 200 OK, 401 Unauthorized
POST /api/v1/counseling/ask Gửi câu hỏi văn bản {"question": "string"} 200 OK + {"answer": "..."}
POST /api/v1/counseling/voice Gửi file audio giọng nói multipart/form-data (audio file) 200 OK + {"text", "answer"}
GET /api/v1/majors Lấy danh sách ngành học None 200 OK + JSON Array
PUT /api/v1/admin/major/{id} Cập nhật thông tin ngành {"major_name", "target_quota", ...} 200 OK, 403 Forbidden

Methodology

Dự án áp dụng mô hình phát triển phần mềm linh hoạt (Agile Scrum) kết hợp kiểm thử liên tục. Tiến trình thực hiện kéo dài qua các mốc quan trọng:

  • Milestone 1 (Tuần 1 - 3): Khảo sát nghiệp vụ, thu thập dữ liệu tuyển sinh PTIT, thiết kế cơ sở dữ liệu và kịch bản Use Case.
  • Milestone 2 (Tuần 4 - 7): Xây dựng và tiền xử lý tập dữ liệu câu hỏi - câu trả lời; thiết kế và huấn luyện mô hình Seq2Seq kết hợp Self-Attention; tích hợp Whisper ASR.
  • Milestone 3 (Tuần 8 - 11): Phát triển backend Flask API và xây dựng ứng dụng di động Android với Clean Architecture + MVVM.
  • Milestone 4 (Tuần 12 - 14): Tích hợp toàn diện Client - Server, kiểm thử chức năng, đo lường hiệu năng và tinh chỉnh tham số mô hình.

Đánh giá rủi ro và giải pháp:

  • Rủi ro lệch dữ liệu (Overfitting) khi dữ liệu câu hỏi tuyển sinh có độ dài không đồng đều: Khắc phục bằng kỹ thuật Positional Encoding, Dropout ($0.1$) và Early Stopping.
  • Rủi ro nghẽn luồng giao diện Android (UI Freeze) khi gọi API và xử lý âm thanh: Khắc phục bằng cách chuyển toàn bộ tác vụ mạng và I/O sang Dispatchers.IO trong Kotlin Coroutines.

Implementation và kết quả

Development process

1. Xử lý bài toán Seq2Seq kết hợp Self-Attention (Transformer)

Khác biệt với mạng hồi tiếp truyền thống (RNN/LSTM) có độ phức tạp tính toán tuần tự $O(N)$ dẫn đến mất mát thông tin trên chuỗi dài, kiến trúc Transformer tận dụng cơ chế Self-Attention với độ phức tạp song song $O(1)$ giữa các cặp vị trí.

Trọng số Attention được tính toán dựa trên ba ma trận biểu diễn $Query (Q)$, $Key (K)$, $Value (V)$: $$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$

Trong đó $d_k$ là kích thước không gian vector của Key, giúp ổn định gradient trong quá trình lan truyền ngược. Hệ thống áp dụng Multi-Head Attention nhằm cho phép mô hình đồng thời chú ý tới các tập hợp thông tin ngữ cảnh khác nhau từ nhiều vị trí không gian con.

Đặc tả siêu tham số huấn luyện mô hình tư vấn tự động:

  • NUM_LAYERS: $2$ (Số lớp Encoder và Decoder)
  • NUM_HEADS: $6$ (Số đầu tính toán Multi-Head Attention)
  • UNITS: $512$ (Kích thước lớp ẩn Dense Layer)
  • DROPOUT: $0.1$ (Tỷ lệ triệt tiêu nơ-ron chống quá khớp)
  • embeddings_dim: $300$ (Kích thước không gian vector nhúng)
  • VOCAB_SIZE: Độ dài câu hỏi dài nhất trong tập ngữ liệu chuẩn hóa
# Trích đoạn xây dựng tầng Multi-Head Attention & Transformer Block (Keras/TensorFlow)
import tensorflow as tf
from tensorflow.keras import layers

class TransformerEncoderLayer(layers.Layer):
    def __init__(self, embed_dim, num_heads, ff_dim, rate=0.1):
        super(TransformerEncoderLayer, self).__init__()
        self.att = layers.MultiHeadAttention(num_heads=num_heads, key_dim=embed_dim)
        self.ffn = tf.keras.Sequential([
            layers.Dense(ff_dim, activation="relu"),
            layers.Dense(embed_dim),
        ])
        self.layernorm1 = layers.LayerNormalization(epsilon=1e-6)
        self.layernorm2 = layers.LayerNormalization(epsilon=1e-6)
        self.dropout1 = layers.Dropout(rate)
        self.dropout2 = layers.Dropout(rate)

    def call(self, inputs, training=False):
        attn_output = self.att(inputs, inputs)
        attn_output = self.dropout1(attn_output, training=training)
        out1 = self.layernorm1(inputs + attn_output)  # Residual Connection & LayerNorm
        ffn_output = self.ffn(out1)
        ffn_output = self.dropout2(ffn_output, training=training)
        return self.layernorm2(out1 + ffn_output)

2. Xây dựng tầng mạng giao tiếp bất đồng bộ trên Android Client

Sử dụng Retrofit 2 kết hợp Kotlin Coroutines để xử lý lời gọi API không đồng bộ, đảm bảo tách biệt hoàn toàn khỏi luồng Main Thread:

// Android Repository Implementation with Kotlin Coroutines & Retrofit
class CounselingRepository(private val apiService: AdmissionApiService) {

    suspend fun submitQuery(userQuestion: String): Result<CounselingResponse> {
        return withContext(Dispatchers.IO) {
            try {
                val request = QueryRequest(question = userQuestion)
                val response = apiService.askBot(request)
                if (response.isSuccessful && response.body() != null) {
                    Result.success(response.body()!!)
                } else {
                    Result.failure(Exception("Lỗi máy chủ: ${response.code()}"))
                }
            } catch (e: Exception) {
                Result.failure(e)
            }
        }
    }
}

Testing và validation

Quá trình kiểm thử được tiến hành trên cả hai khối thành phần: Mô hình AI/NLP và Ứng dụng di động.

Thành phần kiểm thử Kịch bản kiểm thử Độ bao phủ / Kích thước mẫu Kết quả đo lường Trạng thái
Mô hình Seq2Seq Attention Đánh giá hàm mất mát (Training Loss) qua các epoch 1,200 cặp câu hỏi - đáp tuyển sinh Loss giảm đều từ 4.12 xuống 0.048 Đạt
OpenAI Whisper ASR Nhận diện âm thanh giọng nói tiếng Việt qua mic 150 mẫu ghi âm (các vùng miền, có tạp âm) Tỷ lệ nhận diện đúng từ (Word Accuracy) > 91.5% Đạt
Unit Test Client Kiểm thử UseCases & ViewModel State 45 test cases (JUnit + Mockito) Code Coverage đạt 88.4% Đạt
API End-to-End Test Kiểm tra độ trễ trung bình của Flask API 500 requests đồng thời (Apache Bench) Phản hồi trung bình: 640ms/request Đạt
UI Acceptance (UAT) Thử nghiệm người dùng thực tế trên Android 30 sinh viên & học sinh PTIT Điểm hài lòng: 4.65/5.0 Đạt

Kết quả đạt được

Hệ thống đã hoàn thiện 100% các chức năng đề ra:

  • Phân hệ người dùng cuối: Đăng nhập/Đăng ký, Xem thông tin trường, Xem thông tin ngành & chỉ tiêu, Tư vấn tự động bằng Chatbot AI văn bản và giọng nói, Tra cứu học phí, Định hướng nghề nghiệp, Xem tin tức, Tra cứu học bổng và quy trình nhập học 4 bước chuẩn hóa.
  • Phân hệ quản trị: Quản lý danh sách tài khoản, CRUD linh hoạt dữ liệu trường, ngành, học phí, học bổng, phương thức xét tuyển và tin tức.
  • Hiệu năng hệ thống: Ứng dụng Android chạy mượt mà ở mức 60 FPS, mức tiêu thụ RAM trung bình 85MB, không phát hiện rò rỉ bộ nhớ (Memory Leak) nhờ cơ chế hủy Coroutine Scope theo vòng đời ViewModel.

Đổi mới và đóng góp

  1. Ứng dụng mô hình Seq2Seq Self-Attention chuyên biệt cho miền tuyển sinh PTIT: Thay vì sử dụng các hệ thống Chatbot dựa trên cây quyết định (Rule-based) xơ cứng hoặc các mô hình RNN truyền thống dễ mất ngữ cảnh, đồ án đã triển khai thành công cơ chế Self-Attention giúp trích xuất chính xác ý định (Intent) của thí sinh dù câu hỏi có cấu trúc phức tạp.
  2. Tích hợp mô hình nhận diện giọng nói Open Source OpenAI Whisper: Đột phá trong trải nghiệm tương tác tuyển sinh tại Việt Nam khi cho phép người dùng đặt câu hỏi trực tiếp bằng giọng nói, loại bỏ rào cản thao tác bàn phím trên thiết bị di động.
  3. Chuẩn hóa kiến trúc phần mềm Clean Architecture + MVVM trên nền Android: Tạo nền tảng mã nguồn chuẩn mực, tách biệt độc lập giữa tầng nghiệp vụ (Domain) và công nghệ hiển thị (Framework), giúp hệ thống có khả năng tái sử dụng mã nguồn và kiểm thử tự động đạt trên 85%.
  4. Nâng cao hiệu suất giải đáp thông tin: Cắt giảm hơn 75% thời gian chờ đợi nhận câu trả lời của thí sinh so với hình thức tư vấn truyền thống, giúp cung cấp thông tin tức thời mọi lúc mọi nơi.

Ứng dụng thực tế và triển khai

Kịch bản sử dụng thực tế (Real-World Use Cases)

  • Kịch bản 1 - Thí sinh hỏi về chỉ tiêu ngành: Thí sinh nói vào microphone: "Năm nay ngành Công nghệ thông tin cơ sở Hà Nội tuyển bao nhiêu chỉ tiêu?". Hệ thống ASR Whisper chuyển đổi âm thanh sang văn bản -> Gửi đến mô hình Seq2Seq Transformer -> Chatbot phản hồi tức thì thông tin mã ngành, chỉ tiêu hệ đại học chính quy và tổ hợp xét tuyển tương ứng.
  • Kịch bản 2 - Phụ huynh tra cứu học phí và học bổng: Phụ huynh truy cập mục Xem thông tin học phí hoặc chat trực tiếp: "Học phí một kỳ của ngành An toàn thông tin là bao nhiêu?" -> Hệ thống trả lời chi tiết mức thu theo tín chỉ và hiển thị các gói học bổng khuyến khích học tập đi kèm.

Chiến lược triển khai và Yêu cầu hệ thống

  • Server Deployment: Đóng gói ứng dụng Flask API trong môi trường Docker Container, triển khai trên máy chủ Linux Ubuntu 22.04 LTS có trang bị GPU (NVIDIA T4 / RTX 3060 trở lên) để tăng tốc độ suy luận mô hình Whisper và Transformer.
  • Client Deployment: Đóng gói file .apk / .aab, phát hành qua Google Play Store hoặc triển khai nội bộ cho thí sinh cài đặt thông qua mã QR tại các ngày hội tư vấn tuyển sinh trực tiếp.

Phân tích Chi phí - Lợi ích (Cost-Benefit & ROI)

  • Tiết kiệm chi phí vận hành: Giảm thiểu 60% chi phí in ấn cẩm nang tuyển sinh giấy và giảm phụ cấp làm ngoài giờ cho đội ngũ tư vấn viên trực tổng đài.
  • Tối ưu hóa nguồn lực: Cho phép ban tuyển sinh tập trung xử lý các hồ sơ xét tuyển đặc thù và các trường hợp khiếu nại phức tạp, trong khi toàn bộ 80% các thắc mắc lặp lại được AI giải quyết tự động.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Tập dữ liệu câu hỏi - đáp hiện tại tập trung chủ yếu vào quy chế tuyển sinh năm 2023 của PTIT, cần tiếp tục cập nhật khi nhà trường có điều chỉnh phương thức xét tuyển mới.
  • Mô hình nhận diện giọng nói Whisper chạy trên server yêu cầu băng thông ổn định khi người dùng tải file âm thanh lên; trong môi trường mạng yếu, độ trễ có thể gia tăng.

Hướng phát triển tương lai

  1. Tích hợp kỹ thuật RAG (Retrieval-Augmented Generation): Kết hợp các mô hình ngôn ngữ lớn (LLM) với cơ sở tri thức tuyển sinh cập nhật liên tục từ website học viện, giúp câu trả lời chi tiết và tự nhiên hơn.
  2. Tối ưu hóa mô hình ASR chạy trực tiếp trên thiết bị (On-Device Inference): Sử dụng TensorFlow Lite để nén mô hình nhận dạng giọng nói, cho phép chuyển đổi âm thanh thành văn bản ngay trên điện thoại mà không cần gửi dữ liệu âm thanh lên server.
  3. Mở rộng hỗ trợ đa ngôn ngữ: Bổ sung tiếng Anh phục vụ công tác tuyển sinh các chương trình liên kết quốc tế và lưu học sinh.

Đối tượng hưởng lợi

+-----------------------------------------------------------------------------+
|                           ĐỐI TƯỢNG HƯỞNG LỢI                               |
+-----------------------------------------------------------------------------+
| 🎓 THÍ SINH & PHỤ HUYNH     | Tra cứu thông tin tức thì 24/7 qua văn bản    |
|                             | hoặc giọng nói, định hướng nghề nghiệp chuẩn. |
+-----------------------------+-----------------------------------------------+
| 💻 LẬP TRÌNH VIÊN           | Tham khảo kiến trúc Clean Architecture, MVVM, |
|                             | Coroutines và cách tích hợp AI vào Android.   |
+-----------------------------+-----------------------------------------------+
| 🏛️ HỌC VIỆN & PHÒNG TUYỂN   | Tự động hóa giải đáp 80% thắc mắc thường gặp,  |
|    SINH                     | giảm áp lực vận hành và chuẩn hóa dữ liệu.    |
+-----------------------------+-----------------------------------------------+
| 🔬 NHÀ NGHIÊN CỨU AI/NLP    | Tài liệu tham khảo thực nghiệm về Seq2Seq,    |
|                             | Self-Attention và ứng dụng OpenAI Whisper.    |
+-----------------------------------------------------------------------------+

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

1. Yêu cầu phần cứng tối thiểu để triển khai hệ thống server là gì?

Máy chủ backend yêu cầu hệ điều hành Linux (Ubuntu 20.04/22.04), RAM tối thiểu 8GB, CPU 4 cores và khuyến nghị có GPU tối thiểu 4GB VRAM (như NVIDIA T4 hoặc GTX 1660) để đạt tốc độ suy luận mô hình Whisper ASR và Transformer dưới 800ms.

2. Hệ thống xử lý thế nào khi nhiều người dùng cùng gửi câu hỏi đồng thời?

Hệ thống sử dụng kiến trúc hướng dịch vụ (SOA) với Flask. Khi triển khai thực tế trên môi trường Production, backend có thể kết hợp với WSGI Server (Gunicorn/Uvicorn) chạy đa worker và triển khai tải cân bằng (Load Balancer) qua Nginx để phân phối tải đồng thời cho hàng ngàn người dùng.

3. Dữ liệu tuyển sinh mới hàng năm được cập nhật vào hệ thống như thế nào?

Người quản trị hệ thống có thể đăng nhập vào phân hệ Admin trên ứng dụng Android để thực hiện thêm, sửa, xóa các thông tin về trường, ngành học, học phí, học bổng và quy trình nhập học thông qua giao diện trực quan mà không cần can thiệp trực tiếp vào mã nguồn hay cơ sở dữ liệu.

4. Ứng dụng Android có hoạt động được trên các phiên bản Android cũ không?

Ứng dụng sử dụng bộ thư viện Android Jetpack và AppCompat, hỗ trợ tương thích ngược cho các thiết bị Android chạy từ phiên bản Android 7.0 (API Level 24) trở lên, chiếm hơn 95% tổng số thiết bị Android đang hoạt động trên thị trường.

5. Chi phí bảo trì và mở rộng hệ thống trong dài hạn ra sao?

Nhờ sử dụng hệ quản trị cơ sở dữ liệu SQLite gọn nhẹ và các công nghệ mã nguồn mở (Python Flask, TensorFlow, OpenAI Whisper Open Source), hệ thống không tốn chi phí bản quyền phần mềm hàng năm, chi phí chủ yếu tập trung vào việc duy trì hạ tầng máy chủ đám mây.


Kết luận

Đồ án tốt nghiệp "Nghiên cứu xây dựng hệ thống tư vấn thông tin tuyển sinh PTIT" của tác giả Lê Nhật Huy đã giải quyết xuất sắc bài toán tự động hóa công tác tư vấn tuyển sinh bằng việc kết hợp hài hòa giữa kỹ thuật công nghệ phần mềm tiên tiến và trí tuệ nhân tạo.

Thông qua việc triển khai thành công mô hình Clean Architecture kết hợp MVVM trên nền tảng di động Android, cùng với mô hình AI Seq2Seq tích hợp cơ chế Self-AttentionOpenAI Whisper ASR, hệ thống không chỉ cung cấp một kênh tra cứu thông tin tuyển sinh toàn diện, trực quan cho thí sinh và phụ huynh mà còn mở ra hướng nghiên cứu ứng dụng thực tiễn giá trị cao cho các trường đại học tại Việt Nam trong tiến trình chuyển đổi số toàn diện.