Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh trí tuệ nhân tạo (AI) và xử lý ngôn ngữ tự nhiên (NLP) phát triển nhanh chóng, việc đưa các công nghệ tương tác người - máy vào ứng dụng thực tế đang trở thành xu hướng tất yếu. Công nghệ điều khiển bằng giọng nói đem lại phương thức tương tác rảnh tay, hỗ trợ trực tiếp cho người dùng gặp rào cản trong việc thao tác với chuột và bàn phím truyền thống, điển hình là người cao tuổi và người khiếm thị. Đồ án tốt nghiệp kỹ sư Công nghệ thông tin (chuyên ngành Hệ thống thông tin) của sinh viên Nguyễn Quỳnh Nhi và Trần Ngọc Nhựt Thanh, dưới sự hướng dẫn của TS. Nguyễn Thành Sơn tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (khóa 2021 – 2025), tập trung giải quyết bài toán xây dựng nền tảng đọc truyện trực tuyến có thể điều hướng, chọn truyện, đọc nội dung và tương tác hoàn toàn bằng khẩu lệnh tiếng Việt.
Mục tiêu chính của đề tài là ứng dụng công nghệ nhận dạng giọng nói (Speech-to-Text) và chuyển đổi văn bản thành giọng nói (Text-to-Speech) để xây dựng website đọc truyện trực quan, tích hợp thuật toán gợi ý cá nhân hóa và trợ lý ảo giải đáp thắc mắc. Đề cương luận văn xác định cụ thể 6 nhiệm vụ nghiên cứu:
- Tìm hiểu các khái niệm nhận dạng giọng nói và tổng hợp giọng nói thành văn bản.
- Nghiên cứu cơ sở lý thuyết về hệ thống gợi ý (Recommender System).
- Tích hợp công nghệ nhận dạng giọng nói và chuyển đổi văn bản thành giọng nói vào trang web thông qua Web Speech API.
- Xây dựng hệ thống gợi ý truyện dựa trên sở thích và hành vi của người dùng.
- Tích hợp chatbot hỗ trợ người dùng giải đáp thắc mắc liên quan đến truyện.
- Thực hiện kiểm thử toàn bộ hệ thống phần mềm.
Đối tượng nghiên cứu của đồ án bao gồm: công nghệ nhận dạng và tổng hợp tiếng nói; các thuật toán hệ thống gợi ý (Lọc dựa trên nội dung, Lọc cộng tác, Mô hình lai); mô hình chatbot xử lý ngôn ngữ tự nhiên; và độc giả đọc truyện trực tuyến có nhu cầu tương tác bằng giọng nói. Phạm vi nghiên cứu về mặt công nghệ giới hạn ở ứng dụng nền tảng web chạy trên trình duyệt máy tính, nhận diện và phát âm tiếng Việt (vi-VN). Về mặt nội dung, hệ thống cung cấp thư viện truyện trực tuyến phân loại theo thể loại, hỗ trợ thao tác tìm kiếm, chuyển chương, lật trang bằng lệnh thoại. Về mặt kiểm thử, đồ án thực hiện đánh giá chức năng và đo lường hiệu năng gợi ý trên trình duyệt Google Chrome trong khoảng thời gian từ ngày 06/01/2025 đến ngày 10/05/2025.
Cơ sở lý thuyết và phương pháp
Đồ án tổng hợp cơ sở lý thuyết chuyên sâu trên ba mảng công nghệ cốt lõi: xử lý tiếng nói, hệ thống gợi ý và trợ lý ảo tương tác.
Về xử lý tiếng nói, hệ thống nhận dạng giọng nói (Speech-to-Text) được phân tích qua cấu trúc 4 khối chuẩn:
- Khối tiền xử lý và trích xuất đặc trưng âm học (Acoustic Front-end): Trích xuất vector đặc trưng bằng phương pháp MFCC (Mel-Frequency Cepstrum Coefficients) qua các bước Pre-emphasis, Frame blocking và Windowing, Biến đổi Fourier nhanh (FFT), Lọc dải tần Mel (Mel Filter Bank), lấy Logarit và Biến đổi Cosine rời rạc (DCT) tạo vector 13 chiều kết hợp các đạo hàm động bậc 1 và bậc 2.
- Mô hình âm học (Acoustic Model): Mô hình hóa xác suất âm vị dựa trên mô hình Markov ẩn (HMM), mạng nơ-ron hoặc trường ngẫu nhiên có điều kiện (CRF).
- Mô hình ngôn ngữ (Language Model): Xác định ràng buộc chuỗi từ ngữ bằng mô hình thống kê N-gram (bigram, trigram) nhằm tối ưu hóa độ rối (perplexity).
- Bộ giải mã (Decoder): Sử dụng thuật toán Viterbi kết hợp kỹ thuật tìm kiếm chùm (Beam Search) để xác định chuỗi từ có xác suất cao nhất.
Đối với tổng hợp tiếng nói (Text-to-Speech), tác giả hệ thống hóa các kỹ thuật tổng hợp mô phỏng hệ thống phát âm, tổng hợp formant, tổng hợp ghép nối (gồm chọn đơn vị Unit Selection, âm kép Diphone, chuyên biệt ngữ cảnh Domain-Specific), tổng hợp dựa trên học sâu (DNN vocoder) và mô hình học sâu toàn diện End-to-End (Seq2Seq Tacotron). Hiệu năng tổng hợp được đo lường bằng phương pháp khách quan (ảnh phổ, đường bao cao độ pitch contour, sai số RMSE của logF0) và phương pháp chủ quan thông qua thang điểm đánh giá trung bình MOS (Mean Opinion Score).
Về hệ thống gợi ý (Recommender System), đề tài xem xét ba phương pháp toán học:
- Lọc dựa trên nội dung (Content-Based Filtering): Xây dựng hồ sơ truyện và người dùng qua vector hóa văn bản bằng kỹ thuật TF-IDF (Term Frequency - Inverse Document Frequency) và đo khoảng cách bằng độ tương đồng Cosine (Cosine Similarity).
- Lọc cộng tác (Collaborative Filtering): Phân tích ma trận đánh giá người dùng - sản phẩm (User-Item Matrix), xác định người dùng lân cận thông qua hệ số tương quan Pearson hoặc Cosine Similarity, dự đoán điểm đánh giá dựa trên kỹ thuật K-Nearest Neighbors (KNN) hoặc phân rã ma trận (SVD, FunkSVD). Tác giả cũng chỉ rõ các thách thức kỹ thuật như vấn đề khởi tạo lạnh (cold start), ma trận thưa dữ liệu (data sparsity), năng lực mở rộng tính toán (scalability) và dữ liệu nhiễu.
- Lọc lai (Hybrid Filtering): Kết hợp có trọng số (weighted sum) giữa lọc nội dung và lọc cộng tác theo các cơ chế tuần tự (sequential), song song (parallel) hoặc kết hợp mô hình (model-based) nhằm triệt tiêu nhược điểm của từng phương pháp đơn lẻ.
Phương pháp nghiên cứu thực nghiệm được áp dụng để giải quyết bài toán: tác giả thu thập dữ liệu lưu trữ trên cơ sở dữ liệu phi quan hệ MongoDB, thiết kế pipeline huấn luyện và đánh giá trên tập kiểm tra thực tế bằng ba chỉ số chuẩn: Độ chính xác (Precision), Độ bao phủ (Recall) và Điểm F1-score.
Thiết kế và triển khai
Hệ thống được thiết kế theo kiến trúc phân tách Client - Server rõ ràng, kết nối qua giao thức HTTP RESTful API. Hệ thống áp dụng ngăn xếp công nghệ (tech stack) chi tiết như sau:
- Phía máy khách (Frontend): Xây dựng trên nền tảng React (phiên bản ~18.x) theo cấu trúc component tái sử dụng (App.jsx, StoryCard, VoiceControlButton); sử dụng react-router-dom (phiên bản ~6.x) để điều hướng các trang chức năng (trang chủ, tìm kiếm, chi tiết truyện); sử dụng thư viện axios (phiên bản ~1.x) để giao tiếp dữ liệu với máy chủ.
- Phía máy chủ (Backend): Xây dựng bằng framework Express (phiên bản ~4.x) trên nền tảng Node.js; sử dụng thư viện Mongoose (phiên bản ~8.x) để ánh xạ đối tượng dữ liệu (ODM) với cơ sở dữ liệu MongoDB; sử dụng multer (phiên bản ~1.x) xử lý tải tệp hình ảnh; sử dụng node-cache (phiên bản ~5.x) tối ưu bộ nhớ đệm cho danh mục và kết quả gợi ý.
- Xử lý ngôn ngữ tự nhiên và AI: Sử dụng mô hình nhúng câu đa năng Universal Sentence Encoder (USE) thông qua thư viện
@tensorflow-models/universal-sentence-encoder (phiên bản ~1.x) và @tensorflow/tfjs của Google, kết hợp thư viện Natural để trích xuất đặc trưng TF-IDF.
- Tương tác giọng nói: Tận dụng trực tiếp Web Speech API có sẵn trên trình duyệt (hỗ trợ tối ưu trên Google Chrome và Microsoft Edge), bao gồm giao diện
SpeechRecognition để giải mã âm thanh tiếng Việt (vi-VN) thành văn bản và giao diện SpeechSynthesis để đọc nội dung truyện hoặc thông báo trạng thái.
Quy trình tích hợp điều khiển giọng nói vào trang web được đóng gói chặt chẽ trong custom hook useVoiceControl.js:
- Kích hoạt phần cứng micro: Lắng nghe sự kiện bàn phím khi người dùng nhấn phím
Ctrl, giao diện lập tức chuyển trạng thái sang "Đang lắng nghe" và bắt đầu thu nhận luồng âm thanh.
- Chuẩn hóa đầu vào (
normalizeInput): Xử lý văn bản nhận dạng về chữ thường, chuyển đổi các từ đồng âm sai lệch trong ngữ cảnh tiếng Việt (ví dụ thay "chuyện" bằng "truyện"), đồng thời kiểm tra danh sách từ khóa hợp lệ (storyRelatedKeywords) để loại bỏ các khẩu lệnh không liên quan.
- Nhận diện ý định (Intent Classification): Lệnh sau chuẩn hóa được mô hình USE mã hóa thành vector nhúng ngữ nghĩa 512 chiều. Hệ thống tính độ tương đồng Cosine (
cosineSimilarity) giữa vector lệnh với hơn 70 mẫu lệnh định sẵn (commandTemplates). Nếu độ tương đồng vượt ngưỡng 0.8, ý định tương ứng sẽ được kích hoạt; nếu dưới ngưỡng, hệ thống kích hoạt cơ chế dự phòng so khớp từ khóa chính - phụ (keywordMatch).
- Trích xuất tham số (
extractParameters): Phân tích cú pháp văn bản để lấy các trường thông tin cụ thể như tên truyện (storyName), họ tên (fullname), danh mục (preferred_categories), điểm đánh giá số (rating), tên chương (chapterName) và nội dung bình luận (comment).
- Quản lý ngữ cảnh (
sessionContext): Lưu trữ phiên tương tác với tham số lastIntent và lastParameters. Kỹ thuật contextBoost cộng thêm 0.15 điểm trọng số tương đồng cho các hành động logic tiếp theo (như mở chương, đọc tiếp sau lệnh mở thư viện). Trường hợp người dùng đặt câu hỏi mở không có trong kịch bản điều hướng, hàm isQuestion sẽ gắn nhãn story_related_unknown, lưu câu hỏi vào phiên để quản trị viên phản hồi qua thư điện tử.
- Phản hồi âm thanh (
speak): Hook liên tục theo dõi vị trí trang (location.pathname), kích hoạt hàm getPageName() và phát âm thanh thông báo trạng thái hệ thống tới người dùng qua bộ tổng hợp giọng nói.
Nội dung chính theo từng chương
Chương 1: Cơ sở lý thuyết xử lý tiếng nói
Chương 1 trình bày hệ thống lý thuyết toàn diện về hai bài toán nhận dạng giọng nói (STT) và tổng hợp giọng nói từ văn bản (TTS). Tác giả phân tích cấu tạo âm học, toán học đằng sau quá trình trích xuất đặc trưng MFCC 13 chiều, vai trò của mô hình âm học HMM và mô hình ngôn ngữ thống kê n-gram trong việc giải mã tín hiệu giọng nói. Đối với nhánh TTS, chương này phân loại chi tiết các thế hệ công nghệ từ mô phỏng tuyến âm, bộ lọc formant, kỹ thuật ghép nối âm thanh mẫu (chọn đơn vị, diphone) cho đến các kiến trúc hiện đại sử dụng mạng nơ-ron sâu (DNN) và học sâu End-to-End Seq2Seq (tiêu biểu là mô hình Tacotron). Tác giả cũng thiết lập các tiêu chuẩn kiểm chuẩn âm thanh bằng cả phương pháp định lượng kỹ thuật (phổ âm tần, RMSE logF0) lẫn đánh giá định tính cảm nhận MOS từ con người.
Chương 2: Hệ thống gợi ý
Chương 2 tập trung vào các phương pháp xây dựng hệ thống gợi ý truyện trực tuyến. Tác giả phân tích sâu cơ chế hoạt động của thuật toán lọc dựa trên nội dung sử dụng không gian vector TF-IDF và thuật toán lọc cộng tác ma trận người dùng - truyện thông qua hệ số tương quan Cosine và Pearson. Đồng thời, chương trình bày chi tiết công thức kết hợp tuyến tính có trọng số trong mô hình Hybrid Filtering nhằm giải quyết tình trạng thiếu hụt dữ liệu ban đầu. Chương này cũng phân tích cụ thể cấu trúc cơ sở dữ liệu MongoDB phục vụ gợi ý, quy trình tiền xử lý vector văn bản bằng thư viện Natural, thiết kế kịch bản thử nghiệm đánh giá qua ba chỉ số Precision, Recall và F1-score trên tập dữ liệu người dùng thật.
Chương 3: Tổng quan về chatbot
Chương 3 trình bày giải pháp xây dựng trợ lý ảo hỗ trợ tìm kiếm và giải đáp câu hỏi của người đọc. Tác giả phân loại ba nhóm chatbot (theo quy tắc, theo AI và dạng lai), từ đó đề xuất mô hình chatbot nhúng ngữ nghĩa chuyên biệt cho website đọc truyện. Nội dung trọng tâm đi sâu vào quy trình xử lý tín hiệu ngôn ngữ tự nhiên: hàm chuẩn hóa văn bản đầu vào, phương pháp vector hóa câu bằng mô hình Universal Sentence Encoder của Google tạo biểu diễn không gian 512 chiều, thuật toán so khớp độ tương đồng Cosine kết hợp bộ quy tắc từ khóa dự phòng với hơn 70 mẫu câu lệnh. Chương này cũng làm rõ cơ chế phát hiện câu hỏi mở (isQuestion), logic trích xuất tham số nghiệp vụ và cơ chế tăng trọng số ngữ cảnh phiên làm việc (contextBoost).
Chương 4: Tích hợp các thành phần vào website
Chương 4 mô tả chi tiết quá trình ghép nối các module công nghệ vào hệ thống website hoàn chỉnh. Tác giả cung cấp danh mục các thư viện giao diện frontend (React 18, react-router-dom 6, axios 1), các thư viện backend (Express 4, Mongoose 8, TensorFlow.js, node-cache 5) và giao diện lập trình Web Speech API. Điểm nhấn của chương là quy trình triển khai custom hook useVoiceControl.js, kỹ thuật lắng nghe sự kiện phím tắt Ctrl để bật tắt micro, giải pháp liên kết callback cập nhật trạng thái gợi ý truyện trên giao diện (setSelectedRecommendation), cùng cơ chế phản hồi giọng nói tự động thông báo vị trí trang và trạng thái xử lý tác vụ của người dùng.
Chương 5: Giao diện hệ thống
Chương 5 giới thiệu chi tiết sơ đồ thiết kế và bố cục giao diện thực tế của hệ thống sau khi hoàn thiện, phân chia theo hai phân hệ người dùng độc lập:
- Giao diện người dùng (User): Bao gồm trang chủ hiển thị danh sách truyện mới và truyện nổi bật, thanh công cụ tìm kiếm tích hợp nút kích hoạt giọng nói, trang chi tiết truyện hiển thị thông tin tác giả và thể loại, giao diện đọc truyện hỗ trợ tự động cuộn trang và đọc thành tiếng, khu vực hiển thị danh sách truyện gợi ý cá nhân hóa và khung bình luận tương tác.
- Giao diện quản trị viên (Admin): Cung cấp bảng điều khiển quản lý toàn diện cơ sở dữ liệu hệ thống, cho phép thực hiện các thao tác thêm, sửa, xóa danh mục truyện, quản lý danh sách tác giả, kiểm duyệt bình luận của độc giả, theo dõi thông tin tài khoản người dùng và xem báo cáo thống kê số lượt xem, đánh giá.
Chương 6: Xác định các yêu cầu kiểm thử và thực hiện kiểm thử phần mềm
Chương 6 thiết lập kế hoạch và báo cáo kết quả kiểm thử chức năng cho toàn bộ hệ thống phần mềm. Các kịch bản kiểm thử bằng giọng nói được xây dựng bao quát mọi luồng tương tác:
- Phân hệ người dùng: Kiểm thử đăng nhập và đăng ký bằng giọng nói, tìm kiếm truyện theo tên, ra lệnh đọc truyện/chuyển chương, thêm truyện vào danh sách yêu thích, thêm truyện vào danh sách đang đọc, nhập nội dung bình luận và yêu cầu thay đổi chế độ gợi ý truyện bằng khẩu lệnh.
- Phân hệ quản trị: Kiểm thử quản lý truyện, kiểm duyệt bình luận, quản lý thể loại, quản lý tác giả, quản lý tài khoản người dùng bằng lệnh thoại và kiểm tra tính chính xác của màn hình thống kê dữ liệu. Toàn bộ các ca kiểm thử đều được thực hiện thực tế trên môi trường trình duyệt Chrome máy tính để xác nhận độ ổn định của hệ thống.
Kết quả và đóng góp
Đồ án đã thiết lập thực nghiệm đánh giá hiệu năng thuật toán gợi ý trên tập dữ liệu thực tế lưu trữ tại MongoDB, bao gồm 55 tài liệu người dùng (vai trò user), 20 tài liệu truyện, 111 tài liệu đánh giá điểm và hệ thống danh mục thể loại. Thử nghiệm tiến hành trên các nhóm người dùng với tập danh mục ưa thích khác nhau, thiết lập số lượng gợi ý tối đa topN = 5 (riêng Content-based thử nghiệm mở rộng topN = 10) và số láng giềng k = 5 cho lọc cộng tác. Kết quả đo lường trung bình được tổng hợp trong bảng số liệu sau:
| Phương pháp gợi ý |
Độ chính xác (Precision) |
Độ bao phủ (Recall) |
Điểm F1-score |
| Lọc dựa trên nội dung (Content-based) |
0.687 |
0.854 |
0.761 |
| Lọc cộng tác (Collaborative Filtering) |
Thấp |
Thấp |
Thấp (do thưa dữ liệu) |
| Lọc lai kết hợp (Hybrid Filtering) |
0.688 |
0.854 |
0.763 |
Dữ liệu thực nghiệm chứng minh rằng phương pháp lọc lai (Hybrid Filtering) mang lại hiệu quả cao nhất với F1-score đạt 0.763, nhỉnh hơn phương pháp Content-based đơn lẻ (0.761). Phương pháp Content-based chứng minh tính ổn định cao và độ bao phủ tốt trong điều kiện dữ liệu thưa thớt, trong khi phương pháp Collaborative Filtering gặp hạn chế lớn do quy mô số lượng đánh giá còn nhỏ (111 đánh giá trên 55 người dùng).
Về mặt sản phẩm phần mềm, đồ án đã xây dựng thành công website đọc truyện hoàn chỉnh có khả năng điều khiển toàn diện bằng giọng nói tiếng Việt. Người dùng có thể tìm kiếm, chọn truyện, lật trang, nghe đọc truyện tự động bằng Web Speech API mà không cần dùng đến thiết bị chuột hay bàn phím. Hệ thống tích hợp thành công mô hình chatbot sử dụng Universal Sentence Encoder chạy trực tiếp trên nền Node.js, nhận diện chính xác các khẩu lệnh điều hướng phức tạp dựa trên vector ngữ nghĩa 512 chiều. Đóng góp nổi bật của đề tài là việc ứng dụng công nghệ hỗ trợ tiếp cận tri thức số cho đối tượng người khiếm thị và người khuyết tật vận động, kết hợp hài hòa giữa xử lý ngôn ngữ tự nhiên, gợi ý nội dung và điều khiển rảnh tay trong một hệ thống web duy nhất.
Hạn chế và hướng nghiên cứu tiếp
Dựa trên các kết quả và thử nghiệm được trình bày trong văn bản khóa luận, hệ thống còn tồn tại một số hạn chế kỹ thuật:
- Quy mô dữ liệu thử nghiệm còn khiêm tốn với 55 người dùng, 20 đầu truyện và 111 lượt đánh giá, khiến phương pháp lọc cộng tác (Collaborative Filtering) chưa phát huy được thế mạnh do vấn đề ma trận thưa.
- Tập kiểm tra thực nghiệm trong một số kịch bản chỉ bao gồm từ 1 đến 3 truyện chưa đọc của người dùng, chưa phản ánh toàn diện các tình huống tương tác thực tế ở quy mô lớn.
- Mô hình chatbot hiện tại chỉ xử lý tự động đối với các lệnh điều hướng và câu hỏi khớp với kịch bản; các câu hỏi mở chuyên sâu chưa được giải đáp tức thì mà phải chuyển hướng lưu vào ngữ cảnh phiên để quản trị viên trả lời thủ công qua email.
- Khả năng nhận diện giọng nói của Web Speech API phụ thuộc nhiều vào trình duyệt (hoạt động tối ưu trên Chrome) và chất lượng đường truyền mạng, chưa hỗ trợ hoàn toàn cơ chế xử lý ngoại tuyến độc lập.
Các hướng mở rộng và nghiên cứu tiếp theo được tác giả xác định bao gồm:
- Mở rộng quy mô cơ sở dữ liệu truyện và thu thập thêm lượng tương tác đánh giá từ người dùng để tối ưu hóa giải thuật lọc cộng tác.
- Tích hợp thêm các chỉ số đánh giá xếp hạng nâng cao như Mean Average Precision (MAP) và Normalized Discounted Cumulative Gain (NDCG) nhằm tối ưu thứ tự ưu tiên của danh sách truyện gợi ý.
- Nâng cấp mô hình chatbot để có khả năng tự động truy vấn cơ sở tri thức và trả lời trực tiếp các câu hỏi mở của độc giả.
- Tối ưu hóa giao diện và mở rộng khả năng tương thích của hệ thống điều khiển giọng nói trên nhiều nền tảng trình duyệt và thiết bị di động khác nhau.
Giá trị tham khảo
Báo cáo khóa luận là tài liệu tham khảo có giá trị học thuật và ứng dụng thực tiễn cao cho sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm và Hệ thống thông tin đang thực hiện các đề tài về xử lý ngôn ngữ tự nhiên và hệ thống gợi ý. Tài liệu cung cấp quy trình triển khai chi tiết cho các lập trình viên muốn tích hợp Web Speech API vào các ứng dụng web hiện đại xây dựng trên React.
Đặc biệt, phần phân tích kiến trúc chatbot sử dụng mô hình Universal Sentence Encoder (@tensorflow-models/universal-sentence-encoder) kết hợp với cơ chế quản lý ngữ cảnh phiên (sessionContext) và thuật toán so khớp độ tương đồng Cosine trong môi trường Node.js/Express là tài liệu tham khảo mẫu mực cho các bài toán nhận diện ý định khẩu lệnh tiếng Việt mà không cần phụ thuộc vào các dịch vụ đám mây trả phí. Ngoài ra, phần thực nghiệm so sánh ba phương pháp gợi ý (Content-based, Collaborative Filtering, Hybrid) trên cơ sở dữ liệu MongoDB cung cấp phương pháp luận rõ ràng cho các bài toán phân tích hành vi người dùng trong các hệ thống thương mại điện tử hoặc xuất bản nội dung số.
Câu hỏi thường gặp
Hệ thống sử dụng công nghệ nào để thực hiện nhận dạng giọng nói và chuyển đổi văn bản thành giọng nói?
Hệ thống sử dụng trực tiếp Web Speech API tích hợp sẵn trong trình duyệt web (hoạt động tối ưu trên Google Chrome và Microsoft Edge). Giao diện SpeechRecognition được cấu hình với mã ngôn ngữ vi-VN để chuyển đổi lời nói tiếng Việt thành văn bản, và giao diện SpeechSynthesis kết hợp với giọng đọc tiếng Việt của trình duyệt được sử dụng để phát âm thanh đọc truyện tự động và thông báo phản hồi trạng thái.
Mô hình trí tuệ nhân tạo nào được áp dụng cho chatbot và cơ chế nhận diện ý định lệnh thoại hoạt động ra sao?
Chatbot sử dụng mô hình Universal Sentence Encoder (USE) thông qua thư viện @tensorflow-models/universal-sentence-encoder và @tensorflow/tfjs trên nền Node.js. Lệnh thoại sau khi chuẩn hóa được mô hình USE mã hóa thành vector nhúng ngữ nghĩa 512 chiều, sau đó tính toán độ tương đồng Cosine với hơn 70 mẫu câu lệnh định sẵn. Nếu độ tương đồng vượt ngưỡng 0.8, ý định điều hướng sẽ được xác lập; trường hợp điểm số thấp hơn, hệ thống áp dụng cơ chế so khớp từ khóa chính - phụ làm phương án dự phòng.
Hiệu suất của các phương pháp gợi ý truyện trong đồ án đạt kết quả như thế nào?
Thực nghiệm trên tập dữ liệu MongoDB (55 người dùng, 20 truyện, 111 đánh giá) cho thấy phương pháp lọc lai (Hybrid Filtering) đạt kết quả tổng thể cao nhất với điểm F1-score là 0.763 và độ chính xác Precision là 0.688. Phương pháp lọc dựa trên nội dung (Content-based) đạt F1-score 0.761 và Precision 0.687 với độ bao phủ Recall tốt. Phương pháp lọc cộng tác (Collaborative Filtering) đạt hiệu suất thấp nhất do ảnh hưởng của hiện tượng thưa thớt dữ liệu đánh giá.
Hệ thống xử lý thế nào đối với các câu hỏi mở không nằm trong kịch bản điều hướng của chatbot?
Khi người dùng phát âm lệnh chứa các từ để hỏi (như "ai", "thế nào", "tại sao", "cái gì") hoặc có dấu chấm hỏi mà không khớp với các mẫu lệnh điều hướng, hàm isQuestion sẽ phân loại yêu cầu vào ý định story_related_unknown. Hệ thống sẽ phản hồi bằng giọng nói thông báo ghi nhận câu hỏi, đồng thời lưu nội dung vào biến ngữ cảnh phiên (sessionContext) để quản trị viên có thể truy xuất và gửi câu trả lời phản hồi sau qua thư điện tử của người dùng.
Người dùng kích hoạt tính năng điều khiển bằng giọng nói trên giao diện web bằng cách nào?
Người dùng kích hoạt micro thu âm bằng cách nhấn phím Ctrl trên bàn phím máy tính. Khi phím được nhấn, custom hook useVoiceControl sẽ kích hoạt giao diện trình duyệt chuyển sang trạng thái hiển thị "Đang lắng nghe" và bắt đầu tiếp nhận khẩu lệnh tiếng Việt từ người dùng.
Kết luận
Đồ án tốt nghiệp "Xây dựng website đọc truyện điều khiển bằng giọng nói" của nhóm tác giả Nguyễn Quỳnh Nhi và Trần Ngọc Nhựt Thanh đã giải quyết trọn vẹn bài toán xây dựng nền tảng giải trí trực tuyến rảnh tay, hỗ trợ tích cực cho người khiếm thị và người hạn chế khả năng thao tác vận động. Nghiên cứu đã tích hợp thành công Web Speech API cho tương tác âm thanh tiếng Việt hai chiều, ứng dụng mô hình nhúng câu Universal Sentence Encoder để nhận diện khẩu lệnh chính xác và xây dựng hệ thống gợi ý lai kết hợp giữa TF-IDF với lọc cộng tác đạt F1-score 0.763. Kết quả thực nghiệm và sản phẩm phần mềm hoàn thiện trên nền tảng React và Node.js khẳng định tính khả thi cao, mở ra hướng ứng dụng thiết thực của trí tuệ nhân tạo trong việc nâng cao khả năng tiếp cận công nghệ số cho cộng đồng.