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

Trong các kỳ tuyển sinh đại học hàng năm, nhu cầu tiếp cận thông tin chính xác và kịp thời của thí sinh cũng như phụ huynh là rất lớn. Tại Học viện Công nghệ Bưu chính Viễn thông (PTIT), khối lượng câu hỏi liên quan đến chỉ tiêu xét tuyển, phương thức tuyển sinh, chương trình đào tạo, học phí, chính sách học bổng, quy trình nhập học và định hướng nghề nghiệp gia tăng mạnh mẽ vào các đợt cao điểm. Việc tiếp nhận và giải đáp các thắc mắc này đặt ra áp lực lớn đối với bộ phận tư vấn.

Qua khảo sát thực tế các hệ thống tư vấn tuyển sinh hiện có như cổng thông tin điện tử ketnoigiaoduc.vn (Công ty Cổ phần Cổng thông tin Giáo dục Việt Nam), cổng thông tin tuyensinh.vn (Trường Đại học Tài chính - Marketing) và các ứng dụng nội bộ như PTIT S-Link, tác giả nhận thấy các hệ thống này đã cung cấp thông tin tuyển sinh tương đối đa dạng. Tuy nhiên, hình thức hỗ trợ trực tuyến hiện hành phần lớn vẫn dựa trên sự tham gia của tư vấn viên trực tiếp. Hạn chế nảy sinh khi nhân viên tư vấn không có mặt tức thì để phản hồi, dẫn đến việc gián đoạn hoặc chậm trễ thông tin cho thí sinh. Bên cạnh đó, các hệ thống chưa hỗ trợ phương thức nhập liệu bằng giọng nói, gây bất tiện cho người dùng trong những tình huống không thuận tiện thao tác bàn phím.

Đồ án tốt nghiệp xác định các mục tiêu và nhiệm vụ nghiên cứu cụ thể như sau:

  1. Khảo sát hiện trạng, phân tích các yêu cầu chức năng và phi chức năng của hệ thống tư vấn thông tin tuyển sinh trên nền tảng di động.
  2. Nghiên cứu nguyên lý xử lý ngôn ngữ tự nhiên (NLP) với mô hình chuỗi sang chuỗi (Sequence-to-Sequence) kết hợp cơ chế chú ý (Attention/Self-Attention) và kiến trúc Transformer nhằm xây dựng phân hệ tư vấn tự động.
  3. Nghiên cứu nguyên lý nhận dạng giọng nói tự động (Automatic Speech Recognition - ASR) và ứng dụng mô hình OpenAI Whisper để chuyển đổi âm thanh câu hỏi thành văn bản.
  4. Phân tích, thiết kế hệ thống phần mềm hướng đối tượng kết hợp kiến trúc Clean Architecture và mô hình MVVM cho ứng dụng di động; áp dụng kiến trúc hướng dịch vụ (SOA) cho khối máy chủ API.
  5. Thiết kế cơ sở dữ liệu quan hệ, hiện thực hóa hệ thống phần mềm hoàn chỉnh gồm ứng dụng di động Android và dịch vụ Flask, sau đó tiến hành thực nghiệm huấn luyện và đánh giá.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Hệ thống tư vấn thông tin tuyển sinh tự động tích hợp công nghệ nhận dạng giọng nói và xử lý ngôn ngữ tự nhiên.
  • Phạm vi không gian và dữ liệu: Áp dụng cho dữ liệu thông tin tuyển sinh, chương trình đào tạo, học phí, học bổng và quy trình nhập học của Học viện Công nghệ Bưu chính Viễn thông.
  • Thời gian thực hiện: Đồ án được hoàn thành và bảo vệ trong năm 2023.

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

Đồ án xây dựng nền tảng lý thuyết dựa trên các mô hình học sâu phục vụ xử lý chuỗi và tiếng nói, kết hợp các phương pháp luận kỹ thuật phần mềm chuẩn mực:

  • Mô hình Sequence-to-Sequence (Seq2Seq): Cấu trúc mạng giải quyết bài toán ánh xạ từ một chuỗi đầu vào sang một chuỗi đầu ra có độ dài biến đổi thông qua kiến trúc Bộ mã hóa (Encoder), Vector ngữ cảnh trung gian (Context Vector) và Bộ giải mã (Decoder).
  • Cơ chế Attention và Self-Attention: Giải quyết hiện tượng nghẽn cổ chai thông tin của vector ngữ cảnh cố định trong mạng hồi tiếp truyền thống khi xử lý chuỗi dài. Cơ chế Attention tính toán các trọng số dựa trên độ tương quan giữa trạng thái ẩn của Decoder và toàn bộ các trạng thái ẩn của Encoder thông qua hàm Softmax. Cơ chế Self-Attention trong Transformer cho phép các thành phần từ vựng trong cùng một câu tương tác lẫn nhau thông qua ba vector biểu diễn: Query (yêu cầu thông tin), Key (chỉ dẫn thông tin) và Value (giá trị thông tin).
  • Kiến trúc Transformer: Thay thế các lớp tích chập (CNN) và hồi tiếp (RNN) bằng cơ chế Self-Attention toàn phần. Quá trình mã hóa một chuỗi có độ dài $N$ trong Transformer đạt độ phức tạp $O(1)$ đối với bước tương tác từ vựng, giảm thiểu thời gian xử lý so với độ phức tạp $O(N)$ của RNN. Cấu trúc mạng bao gồm các khối mã hóa và giải mã xếp chồng, tích hợp cơ chế mã hóa vị trí (Positional Encoding), chuẩn hóa từng lớp (Layer Normalization - Add & Norm), các kết nối phần dư (Residual Connection) và mạng truyền thẳng (Feed-Forward Network - FFN).
  • Mô hình nhận dạng giọng nói OpenAI Whisper: Mô hình ASR mã nguồn mở được huấn luyện trên 680.000 giờ dữ liệu âm thanh đa ngôn ngữ, có khả năng nhận dạng tiếng nói chính xác trong môi trường có tạp âm và hỗ trợ chuyển đổi trực tiếp sang văn bản tiếng Việt.
Tiêu chí Mô hình Seq2Seq truyền thống Mô hình Seq2Seq kết hợp Transformer
Thành phần Bộ mã hóa (Encoder) Mạng hồi tiếp (RNN) hoặc mạng tích chập (CNN) Các khối Self-Attention và Feed-Forward Network
Thành phần Bộ giải mã (Decoder) Mạng hồi tiếp (RNN) hoặc mạng tích chập (CNN) Các khối Masked Self-Attention và Feed-Forward Network
Tương tác Encoder - Decoder Vector ngữ cảnh cố định hoặc Attention vector Multi-Head Attention vector
Độ phức tạp tính toán tuần tự $O(N)$ phụ thuộc độ dài chuỗi $O(1)$ song song hóa thông qua Self-Attention

Phương pháp nghiên cứu thực nghiệm được tác giả triển khai qua các bước:

  1. Thu thập và tiền xử lý dữ liệu: Dữ liệu được trích xuất từ các văn bản, thông báo và cổng thông tin chính thức của Học viện Công nghệ Bưu chính Viễn thông. Sau đó, dữ liệu được chuẩn hóa thành các cặp mẫu câu hỏi và câu trả lời tương ứng phục vụ bài toán tư vấn tuyển sinh.
  2. Huấn luyện mô hình học sâu: Sử dụng framework TensorFlow và thư viện Keras để thiết lập và huấn luyện mô hình Transformer cho tác vụ hỏi đáp tự động.

Thiết kế và triển khai

Hệ thống được thiết kế theo phương pháp kết hợp giữa kiến trúc hướng dịch vụ (Service-Oriented Architecture - SOA) tại khối máy chủ và lập trình hướng đối tượng (OOP) tại khối ứng dụng di động, kết nối với nhau thông qua chuẩn RESTful API.

1. Kiến trúc phần mềm ứng dụng di động

Khối ứng dụng Android áp dụng kiến trúc Clean Architecture gồm 4 tầng độc lập theo nguyên lý vòng tròn đồng tâm, chiều phụ thuộc hướng từ ngoài vào trong:

  • Entities: Tầng trong cùng chứa các đối tượng nghiệp vụ cốt lõi và các quy tắc logic nghiệp vụ nội tại.
  • Use Cases: Tầng chứa các luồng logic nghiệp vụ ứng dụng cho từng chức năng cụ thể của người dùng.
  • Interface Adapters: Tầng chuyển đổi định dạng dữ liệu giữa Use Cases/Entities và các công cụ bên ngoài, bao gồm Presenters, Controllers và ViewModels.
  • Framework & Drivers: Tầng ngoài cùng gồm các công cụ chi tiết như giao diện người dùng (UI), hệ thống cơ sở dữ liệu, mạng và các thành phần phụ thuộc hệ điều hành thiết bị.

Để tối ưu hóa tầng giao diện, kiến trúc Clean Architecture được kết hợp cùng mô hình MVVM (Model - View - ViewModel):

  • Model: Đại diện cho các đối tượng truy xuất và thao tác dữ liệu từ dịch vụ mạng (Remote) hoặc bộ nhớ cục bộ (Local).
  • View: Giao diện người dùng (Activity, Fragment, Custom View) chịu trách nhiệm hiển thị dữ liệu và tiếp nhận tương tác của người dùng. Quan hệ giữa ViewModel và View là quan hệ 1 - nhiều (một ViewModel có thể phục vụ nhiều View).
  • ViewModel: Đóng vai trò trừu tượng hóa trạng thái của View, tiếp nhận dữ liệu từ Model, thực thi logic giao diện và phát tín hiệu dữ liệu qua cơ chế quan sát (Observer pattern) mà không giữ tham chiếu trực tiếp đến View.

2. Công nghệ triển khai hệ thống

  • Nền tảng ứng dụng di động (Frontend):
    • Môi trường phát triển: Android Studio, hỗ trợ ngôn ngữ Kotlin và Java.
    • Bộ thư viện Android Jetpack: Sử dụng AppCompat bảo đảm tương thích phiên bản; ViewModel quản lý trạng thái qua vòng đời ứng dụng; Room quản trị dữ liệu cục bộ; Navigation điều hướng phân đoạn (Fragment); LiveData giám sát và cập nhật giao diện tự động.
    • Xử lý bất đồng bộ: Thư viện Kotlin Coroutines quản lý luồng với các ngữ cảnh điều phối: Dispatchers.Main chạy trên luồng giao diện chính, Dispatchers.IO phục vụ đọc/ghi tệp, cơ sở dữ liệu và truy vấn mạng, Dispatchers.Default phục vụ tính toán nặng và phân tích dữ liệu JSON.
    • Giao tiếp mạng: Thư viện Retrofit kết hợp Gson chuyển đổi các API RESTful thành đối tượng dữ liệu. Cơ chế DataBinding liên kết trực tiếp các thành phần giao diện XML với ViewModel.
  • Nền tảng máy chủ và cơ sở dữ liệu (Backend):
    • Web Framework: Sử dụng micro-framework Flask (ngôn ngữ Python) để xây dựng các API endpoint siêu nhẹ, tiếp nhận yêu cầu HTTP từ ứng dụng di động và trả kết quả về dưới dạng JSON.
    • Hệ quản trị cơ sở dữ liệu: SQLite được triển khai tại khối máy chủ. Đây là hệ quản trị cơ sở dữ liệu quan hệ gọn nhẹ, lưu trữ toàn bộ thông tin dưới dạng một tệp duy nhất, không đòi hỏi cấu hình tài khoản phân quyền phức tạp, phù hợp cho quy mô thử nghiệm và hệ thống vừa.
    • Phân hệ trí tuệ nhân tạo: Mô hình OpenAI Whisper tiếp nhận tệp âm thanh ghi âm từ ứng dụng để chuyển đổi sang văn bản tiếng Việt; mô hình Transformer xây dựng trên TensorFlow/Keras tiếp nhận văn bản câu hỏi và sinh câu trả lời tự động.

3. Cấu hình tham số mô hình thực nghiệm

Mô hình học sâu cho bài toán tư vấn tự động được thiết lập với các siêu tham số thực nghiệm cụ thể như sau:

Tên thông số Giá trị thiết lập Chức năng trong mô hình
NUM_LAYERS 2 Số lượng lớp mã hóa và giải mã xếp chồng
NUM_HEADS 6 Số lượng đầu chú ý (Multi-Head Attention) phân tích ngữ cảnh song song
UNITS 512 Số chiều ẩn của các lớp truyền thẳng (Feed-Forward)
DROPOUT 0.1 Tỷ lệ loại bỏ ngẫu nhiên nơ-ron nhằm chống hiện tượng quá khớp (overfitting)
embeddings_dim 300 Kích thước không gian biểu diễn vector nhúng từ
VOCAB_SIZE Độ dài của câu hỏi dài nhất Kích thước từ vựng xác định phạm vi xử lý của mô hình

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

Chương 1: Tổng quan về hệ thống tư vấn thông tin tuyển sinh PTIT

Chương 1 trình bày mục tiêu xây dựng hệ thống nhằm phục vụ công tác tra cứu và hỗ trợ tuyển sinh của Học viện Công nghệ Bưu chính Viễn thông. Tác giả tiến hành khảo sát ba hệ thống tương tự gồm ketnoigiaoduc.vn, tuyensinh.vn và PTIT S-Link, từ đó phân tích các ưu điểm và điểm hạn chế liên quan đến tính sẵn sàng của tư vấn viên và sự thiếu vắng giao tiếp bằng giọng nói.

Chương này xác định đầy đủ các yêu cầu hoạt động của ứng dụng, phân định thành hai nhóm người dùng chính:

  • Người dùng cuối: Tiếp cận 12 chức năng bao gồm Đăng nhập, Đăng ký, Đăng xuất, Xem thông tin trường, Xem thông tin ngành và chỉ tiêu, Tư vấn tuyển sinh tự động (bằng chat hoặc giọng nói), Định hướng nghề nghiệp, Xem thông tin học bổng và hỗ trợ tài chính, Xem tin tức, Xem quy trình nhập học, Xem thông tin học phí, Xem phương thức xét tuyển.
  • Người quản trị: Thực hiện các chức năng xem thông tin tương tự người dùng cuối, đồng thời nắm quyền quản lý danh sách tài khoản (xem, xóa tài khoản) và toàn quyền chỉnh sửa/xóa dữ liệu đối với 8 nhóm thực thể (thông tin trường, thông tin ngành, nghề nghiệp, học phí, học bổng, tin tức, quy trình nhập học, phương thức xét tuyển).

Bên cạnh đó, chương 1 giới thiệu sơ đồ tương tác tổng quát, đề xuất phương pháp hướng dịch vụ (SOA) cho khối server, phương pháp hướng đối tượng (OOP) cho ứng dụng di động, phân tích chi tiết ưu điểm và nhược điểm của Clean Architecture, mô hình MVVM và các công nghệ triển khai (Flask, SQLite, Android Studio, Android Jetpack, Coroutine, Retrofit, DataBinding).

Chương 2: Công nghệ tư vấn thông tin tuyển sinh tự động

Chương 2 đi sâu vào giải pháp kỹ thuật cho bài toán tư vấn tự động. Tác giả đặc tả quy trình hai pha: tiếp nhận âm thanh giọng nói qua mô hình ASR để trích xuất văn bản câu hỏi, sau đó truyền văn bản vào mô hình NLP dựa trên cơ chế Seq2Seq và Attention để đưa ra câu trả lời tương ứng.

Chương này mô tả chi tiết:

  • Quy trình 4 bước của Speech to Text: Thu thập âm thanh, Phân tích âm thanh, Nhận dạng và trích xuất giọng nói, Xử lý và chuyển đổi thành văn bản.
  • Nguyên lý tư vấn tự động dựa trên phân tích từ khóa và vector trọng số, cùng khái niệm huấn luyện trước (pre-training) từ đầu với trọng số khởi tạo ngẫu nhiên.
  • Toán tử và cấu trúc của mô hình Seq2Seq, phân tích hạn chế của Context Vector cố định và quy trình 4 bước của cơ chế Attention (tính điểm tương quan, chuẩn hóa hàm Softmax, tính tổng vector bối cảnh có trọng số).
  • Kiến trúc mạng Transformer, cơ chế Self-Attention với bộ ba vector Query - Key - Value, lớp mã hóa vị trí Positional Encoding, kết nối Residual và lớp chuẩn hóa Normalization. Giới thiệu mô hình OpenAI Whisper và tập dữ liệu huấn luyện 680.000 giờ.
  • Thiết lập thực nghiệm huấn luyện với bộ tham số cụ thể trên framework TensorFlow/Keras và trình bày biểu đồ Training Loss ghi nhận quá trình giảm thiểu sai số của mô hình.

Chương 3: Phân tích thiết kế hệ thống

Chương 3 tập trung mô hình hóa hệ thống thông qua các sơ đồ UML chuẩn mực. Tác giả phân loại các khái niệm trong hệ thống thành hai nhóm chính:

  • Nhóm khái niệm liên quan đến con người (Actor): Gồm 3 tác nhân là Người dùng, Người quản lý và Sinh viên.
  • Nhóm khái niệm liên quan đến đối tượng cần xử lý (Entity): Gồm 9 thực thể là Trường, Ngành học, Chương trình học, Chỉ tiêu, Ngành nghề, Học bổng, Học phí, Quy trình nhập học và Tin tức.

Chương này xây dựng biểu đồ Use Case tổng quan và 18 biểu đồ Use Case phân rã cho từng tác vụ xem, chỉnh sửa, xóa của người dùng và quản trị viên. Tác giả đặc tả kịch bản Use Case chi tiết (bao gồm Actor, Precondition, Post-condition, kịch bản chính và ngoại lệ lỗi kết nối hoặc chatbot không tìm thấy dữ liệu) cho các chức năng: Xem thông tin trường, Xem thông tin ngành, Tư vấn tuyển sinh tự động, Xem thông tin học bổng, Xem định hướng nghề nghiệp, Xem tin tức và Xem quy trình nhập học.

Đồng thời, chương 3 cung cấp hệ thống biểu đồ tương tác gồm 15 biểu đồ tuần tự (Sequence Diagram từ Hình 3.20 đến Hình 3.34) cho các luồng nghiệp vụ xem và cập nhật dữ liệu, đi kèm Biểu đồ lớp phân tích (Hình 3.19), Biểu đồ lớp thực thể (Hình 3.35) và Biểu đồ lớp thiết kế (Hình 3.36).

Chương 4: Thiết kế cơ sở dữ liệu

Chương 4 hoàn thiện thiết kế cơ sở dữ liệu quan hệ cho toàn bộ hệ thống (minh họa tại Hình 3.37). Cấu trúc các bảng dữ liệu được chuẩn hóa để lưu trữ đầy đủ các thuộc tính của các thực thể đã phân tích: thông tin chung về trường PTIT, danh mục ngành học và chỉ tiêu tuyển sinh, các chương trình đào tạo, danh mục ngành nghề định hướng, biểu mức học phí và kỳ hạn thanh toán, thông tin gói học bổng và điều kiện nhận hỗ trợ tài chính, các bước quy trình nhập học, tin tức thông báo và bảng tài khoản người dùng.

Kết luận chung và Phụ lục

  • Kết luận chung (Trang 71): Tổng kết các kết quả đạt được về mặt lý thuyết và ứng dụng thực tiễn của đề tài trong việc hỗ trợ tuyển sinh cho PTIT.
  • Phụ lục: Cài đặt và triển khai (Trang 72): Cung cấp tài liệu hướng dẫn cấu hình môi trường lập trình Android Studio, thiết lập máy chủ Flask, nạp cơ sở dữ liệu SQLite và tích hợp mô hình học sâu để chạy ứng dụng trên thiết bị di động.

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

1. Kết quả kỹ thuật đạt được

  • Xây dựng thành công ứng dụng di động Android hoàn chỉnh tích hợp mô hình tư vấn tự động qua hai kênh nhập liệu: văn bản (text chat) và âm thanh giọng nói (speech-to-text).
  • Hiện thực hóa mô hình xử lý ngôn ngữ tự nhiên dựa trên cấu trúc Transformer (NUM_LAYERS = 2, NUM_HEADS = 6, UNITS = 512, DROPOUT = 0.1, embeddings_dim = 300) trên tập dữ liệu tuyển sinh PTIT; kết quả huấn luyện ghi nhận qua biểu đồ Training Loss cho thấy giá trị hàm mất mát giảm dần và đạt trạng thái hội tụ ổn định.
  • Tích hợp mô hình nhận dạng giọng nói tự động OpenAI Whisper, cho phép xử lý âm thanh từ micro điện thoại và chuyển đổi thành văn bản phục vụ phân hệ hỏi đáp.
  • Xây dựng hệ thống máy chủ dịch vụ nền tảng Flask kết nối cơ sở dữ liệu SQLite, đáp ứng đầy đủ các giao thức RESTful API cho toàn bộ các chức năng tra cứu và quản trị thông tin.
  • Hoàn thiện hệ thống phân quyền rõ ràng giữa sinh viên/học sinh và quản trị viên, cung cấp bộ công cụ cập nhật, chỉnh sửa và xóa bỏ dữ liệu tuyển sinh trực tiếp trên giao diện.

2. Đóng góp của đề tài

  • Khắc phục hạn chế phụ thuộc vào nhân viên tư vấn trực tiếp của các hệ thống tư vấn tuyển sinh truyền thống, giúp phản hồi tức thì các câu hỏi thường gặp của thí sinh về kỳ tuyển sinh PTIT.
  • Bổ sung phương thức tương tác bằng giọng nói, mang lại giải pháp thay thế thuận tiện trong các trường hợp người dùng gặp khó khăn hoặc không tiện gõ văn bản trên bàn phím điện thoại.
  • Cung cấp mô hình kiến trúc phần mềm chuẩn mực cho ứng dụng di động thông qua sự kết hợp giữa Clean Architecture và MVVM, giúp mã nguồn ứng dụng phân tách lớp rõ ràng, dễ bảo trì và có khả năng mở rộng.

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

Theo phạm vi và nội dung được tác giả trình bày trong văn bản:

  • Hạn chế về dữ liệu và kịch bản tư vấn: Bộ dữ liệu thực nghiệm được xây dựng từ các thông tin tổng hợp trên website của Học viện Công nghệ Bưu chính Viễn thông nên phạm vi câu hỏi và câu trả lời còn giới hạn. Đối với các câu hỏi nằm ngoài phạm vi dữ liệu đã chuẩn bị, chatbot chưa thể cung cấp thông tin (kịch bản ngoại lệ 5.2 ghi nhận chatbot không thể đưa ra phản hồi).
  • Hạn chế về kiến trúc lưu trữ: Hệ quản trị cơ sở dữ liệu SQLite có ưu điểm nhỏ gọn, không cần cấu hình phức tạp nhưng chủ yếu phù hợp với quy mô thử nghiệm hoặc hệ thống vừa và nhỏ; chưa được kiểm thử trong điều kiện tải lớn với hàng nghìn truy cập đồng thời trong các ngày cao điểm tuyển sinh.
  • Hướng nghiên cứu tiếp:
    • Mở rộng tập dữ liệu hỏi đáp tuyển sinh với độ đa dạng cao hơn về cấu trúc ngữ pháp và từ vựng để nâng cao khả năng khái quát hóa của mô hình NLP.
    • Tối ưu hóa thời gian xử lý và độ chính xác của phân hệ nhận dạng giọng nói khi hoạt động trong môi trường có nhiều tạp âm phức tạp.
    • Nghiên cứu nâng cấp hạ tầng lưu trữ và dịch vụ máy chủ nhằm đáp ứng yêu cầu tải cao khi số lượng người dùng đồng thời tăng đột biến.

Giá trị tham khảo

Đồ án tốt nghiệp là tài liệu tham khảo có giá trị thực tiễn và học thuật cho:

  • Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Cung cấp tài liệu mẫu mực về quy trình xây dựng ứng dụng di động hoàn chỉnh từ khâu khảo sát, phân tích yêu cầu, thiết kế UML (Use Case, Sequence Diagram, Class Diagram) đến lập trình thực tế trên hệ điều hành Android.
  • Lập trình viên phát triển ứng dụng di động: Cung cấp hướng dẫn chi tiết về cách tổ chức mã nguồn theo Clean Architecture kết hợp mô hình MVVM, sử dụng các thư viện Android Jetpack hiện đại (ViewModel, LiveData, Room, Navigation) và xử lý bất đồng bộ bằng Kotlin Coroutines kết hợp Retrofit và DataBinding.
  • Người nghiên cứu ứng dụng Trí tuệ nhân tạo (AI/NLP): Cung cấp các bước triển khai cụ thể bài toán hỏi đáp nghiệp vụ hẹp bằng kiến trúc mạng Transformer kết hợp mô hình nhận dạng giọng nói OpenAI Whisper.

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

1. Hệ thống tư vấn tuyển sinh PTIT giải quyết bài toán nhập liệu câu hỏi bằng những hình thức nào?

Hệ thống hỗ trợ hai phương thức nhập liệu: người dùng có thể nhập câu hỏi trực tiếp bằng văn bản thông qua giao diện chat hoặc sử dụng giọng nói thông qua micro của thiết bị di động. Âm thanh giọng nói được xử lý bằng mô hình ASR OpenAI Whisper để chuyển đổi thành văn bản trước khi đưa vào mô hình ngôn ngữ xử lý.

2. Khối ứng dụng di động Android áp dụng kiến trúc phần mềm nào và gồm các tầng nào?

Ứng dụng di động áp dụng kiến trúc Clean Architecture kết hợp với mô hình MVVM. Clean Architecture bao gồm 4 tầng đồng tâm: Entities (thực thể nghiệp vụ), Use Cases (logic nghiệp vụ ứng dụng), Interface Adapters (chuyển đổi định dạng dữ liệu, gồm ViewModel và Presenter), và Framework & Drivers (giao diện người dùng, cơ sở dữ liệu, mạng). Mô hình MVVM được dùng để tách biệt logic giao diện và logic dữ liệu.

3. Các siêu tham số được thiết lập để huấn luyện mô hình Transformer cho phân hệ tư vấn tự động là gì?

Mô hình Transformer được huấn luyện trên TensorFlow/Keras với 6 tham số cấu hình chính: NUM_LAYERS = 2, NUM_HEADS = 6, UNITS = 512, DROPOUT = 0.1, embeddings_dim = 300, và VOCAB_SIZE được xác định theo độ dài của câu hỏi dài nhất trong tập dữ liệu thực nghiệm.

4. Khối máy chủ và cơ sở dữ liệu của hệ thống được xây dựng bằng công nghệ nào?

Khối máy chủ được phát triển theo kiến trúc hướng dịch vụ (SOA) sử dụng web framework Flask (Python) để cung cấp các RESTful API. Hệ thống cơ sở dữ liệu sử dụng SQLite đặt tại khối API Service, lưu trữ dữ liệu dưới dạng tệp đơn lẻ phục vụ việc truy vấn và cập nhật thông tin thực thể.

5. Hệ thống xử lý như thế nào trong trường hợp người dùng đưa ra câu hỏi mà dữ liệu hệ thống chưa có?

Theo đặc tả kịch bản Use Case tư vấn tự động (ngoại lệ bước 5.2), khi câu hỏi của người dùng vượt ngoài khả năng nhận diện hoặc cơ sở dữ liệu chưa có câu trả lời phù hợp, chatbot sẽ kích hoạt nhánh ngoại lệ và thông báo không thể cung cấp thông tin yêu cầu cho người dùng.


Kết luận

Đồ án tốt nghiệp của sinh viên Lê Nhật Huy đã nghiên cứu và xây dựng thành công hệ thống tư vấn thông tin tuyển sinh PTIT trên nền tảng Android, kết hợp máy chủ Flask và cơ sở dữ liệu SQLite. Điểm cốt lõi của hệ thống là việc ứng dụng kiến trúc mạng Transformer cho bài toán tư vấn tự động và tích hợp mô hình OpenAI Whisper để hỗ trợ nhận dạng câu hỏi bằng giọng nói. Mặc dù dữ liệu còn giới hạn trong phạm vi thông tin nội bộ của Học viện và cơ sở dữ liệu cần tối ưu hóa cho quy mô tải lớn hơn, đồ án đã hoàn thành toàn diện các mục tiêu phân tích, thiết kế phần mềm theo chuẩn Clean Architecture và thực nghiệm mô hình học sâu.