Bối cảnh và vấn đề nghiên cứu
Nhận dạng giọng nói tự động (Automatic Speech Recognition - ASR) là phân ngành giao thoa giữa trí tuệ nhân tạo, xử lý ngôn ngữ tự nhiên và xử lý tín hiệu số, đóng vai trò nền tảng trong tương tác người - máy. Mặc dù các mô hình học sâu hiện đại đã tạo ra bước tiến lớn cho ASR ở các ngôn ngữ phổ biến trên thế giới, việc áp dụng công nghệ này vào tiếng Việt vẫn gặp nhiều rào cản kỹ thuật xuất phát từ đặc trưng ngữ âm học. Tiếng Việt là ngôn ngữ đơn lập và có thanh điệu, sở hữu hệ thống ngữ điệu phong phú, nhiều từ đồng âm khác nghĩa cùng sự phân hóa phương ngữ, giọng địa phương sâu sắc giữa ba miền Bắc - Trung - Nam. Bên cạnh đó, việc tiếp cận các giải pháp ASR thương mại chất lượng cao thường đi kèm chi phí bản quyền lớn, trong khi các bộ dữ liệu tiếng Việt có gán nhãn chuẩn hóa còn hạn chế.
Từ thực tiễn đó, tác giả Nguyễn Văn Vũ đã thực hiện đồ án tốt nghiệp ngành Khoa học máy tính tại Trường Đại học Công nghiệp Hà Nội (năm 2024), dưới sự hướng dẫn của ThS. Vũ Duy Giang, với đề tài: "Xây dựng ứng dụng chuyển giọng nói thành văn bản xử dụng wav2vec". Đồ án tập trung nghiên cứu cơ chế học tự giám sát của kiến trúc Wav2Vec 2.0, kết hợp các giải pháp tiền xử lý tín hiệu âm thanh nhằm xây dựng một phần mềm chuyển đổi giọng nói tiếng Việt thành văn bản phục vụ nhu cầu nhập liệu tự động.
Nhiệm vụ nghiên cứu của đồ án được xác định gồm các nội dung:
- Khảo sát cơ sở sinh âm học lời nói con người, lịch sử phát triển của các hệ thống ASR từ mô hình thống kê truyền thống đến kiến trúc học sâu E2E (End-to-End).
- Nghiên cứu cơ sở lý thuyết của các thuật toán tiền xử lý âm thanh bao gồm khử nhiễu (Noise Reduction), cổng nhiễu (Noise Gate), nhận diện hoạt tính giọng nói (Voice Activity Detection - VAD) và các hàm mất mát, tiêu chuẩn đánh giá mô hình (CTC, WER, CER).
- Phân tích chi tiết kiến trúc mô hình học tự giám sát Wav2Vec, kỹ thuật lượng tử hóa vector bằng Gumbel-Softmax, cơ chế mặt nạ dữ liệu, hàm mục tiêu đối lập (Contrastive Loss) kết hợp hàm mất mát đa dạng (Diversity Loss) và các giải thuật giải mã (Greedy Search, Beam Search kết hợp mô hình ngôn ngữ N-gram).
- Tiến hành thực nghiệm đánh giá hiệu quả của module giảm nhiễu trên các tập dữ liệu tiếng Việt chuẩn hóa khi có tác động của tạp âm môi trường.
- Thiết kế và triển khai hoàn chỉnh phần mềm ứng dụng đa nền tảng bằng ngôn ngữ Python sử dụng thư viện giao diện Flet (Flutter for Python).
Đối tượng nghiên cứu của đồ án là tín hiệu tiếng nói tiếng Việt, mô hình biểu diễn âm học tự giám sát Wav2Vec 2.0 và các kỹ thuật xử lý tín hiệu âm thanh miền thời gian - tần số. Phạm vi nghiên cứu giới hạn trên các tập dữ liệu giọng nói tiếng Việt công khai (VLSP, VIVOS, Common Voice), mô hình tiền huấn luyện mã nguồn mở cho tiếng Việt và phạm vi ứng dụng tập trung vào chức năng thu âm trực tiếp qua microphone hoặc tải tệp âm thanh để nhận dạng văn bản trên máy tính cá nhân.
Cơ sở lý thuyết và phương pháp
Đồ án xây dựng khung lý thuyết toàn diện từ cơ chế phát âm sinh học đến các mô hình tính toán hiện đại:
- Cơ chế âm học: Tác giả phân tích quá trình tạo âm bắt đầu từ hệ hô hấp đẩy luồng khí qua khí quản vào thanh quản. Sự rung động theo chu kỳ của hai nếp thanh quản tạo ra "âm hữu thanh", trong khi luồng khí đi qua nếp thanh quản không rung tạo ra "âm vô thanh". Các khoang cộng hưởng (họng, miệng, mũi) cùng vị trí các khớp nối (hàm, lưỡi, môi, răng, vòm miệng) điều chỉnh âm học để hình thành âm vị.
- Tiến trình mô hình hóa ASR: Khảo sát các kỹ thuật thống kê cổ điển gồm Dynamic Time Warping (DTW), mô hình Markov ẩn (Hidden Markov Models - HMM), mô hình hỗn hợp Gaussian kết hợp HMM (GMM-HMM), mô hình n-gram; chuyển tiếp qua các kiến trúc mạng nơ-ron hồi quy (RNN), bộ nhớ dài-ngắn hạn (LSTM) xử lý triệt tiêu đạo hàm qua cổng quên (forget gate), cổng vào (input gate), cổng ra (output gate); mạng nơ-ron tích chập (CNN) trích xuất đặc trưng không gian trên biểu đồ phổ (spectrogram); và kiến trúc Transformer xử lý song song.
- Kỹ thuật xử lý tín hiệu:
- Cổng nhiễu (Noise Gate): Cơ chế ngắt tín hiệu khi biên độ âm thanh rơi xuống dưới ngưỡng thiết lập nhằm loại bỏ âm thanh nền không mong muốn.
- Khử nhiễu phổ (Spectral Gating): Áp dụng biến đổi Fourier ngắn hạn (STFT) để phân tích năng lượng tín hiệu trên từng dải tần. Giảm nhiễu tĩnh (Stationary Noise Reduction) xác định ngưỡng cố định dựa trên giá trị trung bình cộng 3 lần độ lệch chuẩn ($\mu + 3\sigma$) của từng kênh tần số. Giảm nhiễu động (Non-stationary Noise Reduction) liên tục cập nhật ngưỡng biến đổi thích nghi theo thời gian thực thông qua bộ lọc làm mịn thời gian IIR (Infinite Impulse Response) tiến và lùi.
- Voice Activity Detection (VAD): Phân đoạn và cô lập chính xác các khoảng thời gian xuất hiện tiếng nói con người thông qua khử nhiễu, trích xuất đặc trưng và phân loại tín hiệu.
- Hàm mất mát và độ đo đánh giá:
- Connectionist Temporal Classification (CTC Loss): Cho phép huấn luyện mô hình ASR khi chuỗi tín hiệu đầu vào $X = [x_1, \dots, x_n]$ và chuỗi nhãn đầu ra $Y = [y_1, \dots, y_m]$ có độ dài lệch nhau và không rõ liên kết từng bước thời gian, tối ưu hóa xác suất có điều kiện khả vi $P(Y|X)$.
- Word Error Rate (WER) và Character Error Rate (CER): Xác định tỷ lệ lỗi dựa trên tổng số thao tác chèn (Insertion - $I$), xóa (Deletion - $D$), thay thế (Substitution - $S$) trên tổng số từ/ký tự tham chiếu chuẩn ($N$): $\text{WER/CER} = \frac{S + D + I}{N}$.
| Mức độ chính xác theo CER |
Khoảng tỷ lệ lỗi (CER) |
Độ chính xác nhận dạng tương ứng |
| Tốt |
1% – 2% |
98% – 99% |
| Trung bình |
2% – 10% |
90% – 98% |
| Kém |
> 10% |
< 90% |
- Mô hình Wav2Vec 2.0: Mô hình hoạt động theo cơ chế học tự giám sát gồm 3 thành phần chính:
- Bộ mã hóa đặc trưng (Feature Encoder): Mạng tích chập nhiều tầng (CNN) chuẩn hóa sóng âm thô $X$ (về trung bình 0, phương sai đơn vị) thành các vector biểu diễn tiềm ẩn $Z = [z_1, \dots, z_T]$ với hàm kích hoạt GELU.
- Mạng ngữ cảnh (Context Network): Mạng Transformer biến đổi $Z$ thành các vector ngữ cảnh $C = [c_1, \dots, c_T]$, sử dụng lớp tích chập để mã hóa thông tin vị trí tương đối. Quá trình che giấu dữ liệu thực hiện ngẫu nhiên với xác suất bắt đầu $p = 0{,}065$ và che liên tiếp $M = 5$ bước thời gian.
- Lượng tử hóa vector (Vector Quantization): Chuyển đổi vector liên tục $z_t$ thành biểu diễn rời rạc $q_t$. Cấu trúc gồm $G$ nhóm mã lượng tử (codebooks), mỗi nhóm chứa $V$ vector mã. Việc lựa chọn mã lượng tử khả vi được thực hiện qua hàm Gumbel-Softmax:
$$p_{g,v} = \frac{\exp((l_{g,v} + n_v)/\tau)}{\sum_{k=1}^V \exp((l_{g,k} + n_k)/\tau)}$$
Trong đó $l_{g,v}$ là logits từ bộ mã hóa, $n_v = -\log(-\log(u_v))$ là nhiễu lấy từ phân phối đều $u_v \sim U(0,1)$, và $\tau$ là tham số nhiệt độ kiểm soát độ sắc nét.
- Hàm mục tiêu hỗn hợp: Tối ưu hóa đồng thời hàm mất mát đối lập $L_m$ (sử dụng độ đo tương đồng cosine có phạt nhiệt độ để phân biệt biểu diễn lượng tử hóa thực $q_t$ với $K$ biểu diễn nhiễu lấy mẫu từ các bước che khác) và hàm mất mát đa dạng $L_d$ (tối đa hóa entropy của phân phối softmax trung bình trên các codebooks nhằm ngăn chặn hiện tượng sụp đổ mã lượng tử và chống quá khớp).
$$\mathcal{L} = \mathcal{L}_m + \alpha \mathcal{L}_d$$
- Giải thuật giải mã (Decoding): Đồ án so sánh giữa giải thuật tìm kiếm tham lam (Greedy Search - chỉ chọn token có xác suất cao nhất tại từng bước, dễ rơi vào cực trị địa phương) và Beam Search (duy trì $k$ chuỗi ứng viên có xác suất tích lũy cao nhất). Beam Search kết hợp mô hình ngôn ngữ N-gram (ước lượng hợp lý cực đại MLE trên không gian log xác suất, tuân theo giả định Markov) và áp dụng cơ chế phạt độ dài chuỗi $L^\alpha$ ($\alpha = 0{,}75$) để cân bằng độ dài câu đầu ra với độ phức tạp tính toán $\mathcal{O}(k \cdot |\mathcal{Y}| \cdot T')$.
Thiết kế và triển khai hệ thống
Hệ thống được thiết kế theo luồng kiến trúc xử lý từ tín hiệu đầu vào đến kết quả văn bản hiển thị:
- Khối tiếp nhận âm thanh: Thu nhận tín hiệu sóng âm thô trực tiếp từ microphone phần cứng của thiết bị người dùng hoặc nhận tệp âm thanh ghi âm sẵn được tải lên từ bộ lưu trữ cục bộ.
- Khối tiền xử lý và lọc nhiễu: Tín hiệu âm thanh thô được đưa qua module giảm nhiễu (Noise Reduction) áp dụng thuật toán cổng quang phổ và cổng nhiễu để triệt tiêu các thành phần tạp âm tĩnh/động trước khi đưa vào mô hình học sâu.
- Khối nhận dạng âm học (Acoustic Model): Sử dụng mô hình Wav2Vec 2.0 Base đã được tiền huấn luyện và tinh chỉnh cho tiếng Việt, trích xuất đặc trưng âm thanh và tính toán ma trận phân phối xác suất âm vị qua hàm mất mát CTC.
- Khối giải mã ngôn ngữ (Decoding & Language Model): Áp dụng thuật toán Beam Search kết hợp mô hình ngôn ngữ 4-gram để hiệu chỉnh ngữ cảnh từ vựng, lựa chọn chuỗi câu có điểm đánh giá log xác suất tối ưu nhất.
- Khối giao diện người dùng: Phần mềm được xây dựng bằng Python kết hợp thư viện Flet, quản lý môi trường thông qua Anaconda. Flet cho phép xây dựng ứng dụng đa nền tảng bằng mã nguồn Python thuần túy mà không cần can thiệp trực tiếp vào HTML/CSS/JavaScript.
| Tên Use Case |
Mô tả chi tiết chức năng |
Tác nhân chính |
| Cài đặt hệ thống |
Cấu hình các tham số nhận dạng, thiết bị thu âm đầu vào và các ngưỡng lọc nhiễu |
Người dùng |
| Bắt đầu thu âm |
Kích hoạt luồng thu nhận tín hiệu âm thanh trực tiếp từ Microphone |
Người dùng |
| Dừng thu âm |
Kết thúc quá trình thu âm, chuyển dữ liệu sóng âm sang pipeline tiền xử lý và nhận dạng |
Người dùng |
| Tải tệp âm thanh |
Đọc tệp âm thanh từ bộ nhớ máy tính vào hệ thống để xử lý ngoại tuyến |
Người dùng |
| Xem danh sách âm thanh |
Hiển thị danh mục các bản ghi, lịch sử các tệp âm thanh đã xử lý |
Người dùng |
| Hiển thị kết quả |
Xuất chuỗi văn bản đã giải mã lên giao diện màn hình chính |
Hệ thống |
Nội dung chính theo từng chương
Chương 1. Giới thiệu tổng quan về bài toán
Chương 1 trình bày nền tảng lý thuyết âm học về sự tạo âm của con người, phân tích chức năng của thanh quản, nếp thanh quản, đường dẫn khí và các khớp nối tạo âm hữu thanh/vô thanh. Tác giả khái quát hóa lịch sử phát triển của nhận dạng giọng nói từ thập niên 1970 (mô hình HMM, DTW, dự án DARPA HARPY với khả năng nhận diện 1.000 từ), thập niên 1990 (mô hình GMM-HMM, mô hình ngôn ngữ n-gram), thập niên 2000 (các dự án EARS, GALE, mạng LSTM huấn luyện bằng CTC) đến giai đoạn từ năm 2010 đến nay (sự chiếm ưu thế của học sâu CNN, RNN, mô hình Transformer, BERT và Wav2Vec giúp giảm hơn 50% tỷ lệ lỗi so với hệ thống truyền thống). Chương này phân tích chi tiết cơ chế hoạt động của chuỗi Markov, mạng RNN, các cổng của khối LSTM và mạng CNN xử lý spectrogram. Đồng thời, tác giả nêu rõ các ứng dụng thực tế (nhập liệu văn bản, điều khiển nhà thông minh), chỉ ra 4 thách thức kỹ thuật lớn của ASR (tiếng ồn môi trường, sự đa dạng giọng nói địa phương, chi phí/thời gian triển khai, thiếu dữ liệu huấn luyện chất lượng cao) và thiết lập lý do chọn đề tài.
Chương 2. Các kĩ thuật xử lý bài toán
Chương 2 tập trung vào các giải pháp toán học và xử lý tín hiệu giải quyết các bài toán con trong ASR:
- Phân tích nguyên lý thuật toán Noise Reduction trên miền thời gian, chia thành hai nhóm: giảm nhiễu tĩnh (Stationary Noise Reduction) xử lý tạp âm có phổ năng lượng ổn định bằng cách thiết lập ngưỡng biên độ trên biểu đồ phổ STFT ($\mu + 3\sigma$) và giảm nhiễu động (Non-stationary Noise Reduction) sử dụng bộ lọc IIR tiến/lùi làm mịn thời gian để thích ứng với tạp âm thay đổi.
- Cơ chế cổng nhiễu (Noise Gate) đóng/mở luồng âm thanh tự động theo ngưỡng biên độ.
- Kỹ thuật Voice Activity Detection (VAD) với quy trình 3 giai đoạn: giảm nhiễu, trích xuất đặc trưng toán học và phân loại tín hiệu giọng nói.
- Định nghĩa các hàm mất mát cơ bản (MSE, MAE, Binary Cross Entropy) và đi sâu vào hàm mất mát Connectionist Temporal Classification (CTC) - giải pháp ánh xạ chuỗi đầu vào $X$ và chuỗi nhãn $Y$ khác độ dài thông qua xác suất khả vi $P(Y|X)$.
- Thiết lập công thức và tiêu chuẩn định lượng tỷ lệ lỗi từ (WER) và tỷ lệ lỗi ký tự (CER).
Chương 3. Mô hình chuyển giọng nói thành văn bản Wav2Vec
Chương 3 đi sâu vào cơ chế tự giám sát của mô hình Wav2Vec 2.0 phát triển bởi Facebook AI Research (FAIR):
- Phân tích quy trình huấn luyện hai giai đoạn: giai đoạn 1 học tự giám sát trên dữ liệu không gán nhãn để trích xuất biểu diễn âm thanh tiềm ẩn; giai đoạn 2 tinh chỉnh (fine-tuning) trên lượng nhỏ dữ liệu có gán nhãn kết hợp hàm CTC. Bằng chứng thực nghiệm quốc tế cho thấy mô hình huấn luyện trên tập LV-60K và chỉ tinh chỉnh 10 phút dữ liệu gán nhãn (tương ứng 48 bản ghi dài 12,5 giây) đạt WER 5,2% trên tập clean và 8,6% trên tập test.
- Kiến trúc 3 tầng: Bộ mã hóa tích chập trích xuất vector đặc trưng $Z$, Transformer mã hóa ngữ cảnh $C_t$ với cơ chế nhúng vị trí tương đối bằng lớp tích chập, và module lượng tử hóa vector (Vector Quantization).
- Cơ chế lượng tử hóa sử dụng $G$ nhóm codebooks, mỗi nhóm có $V$ vector mã, kết hợp hàm Gumbel-Softmax và bổ sung nhiễu Gumbel $n_v$ để đảm bảo tính khả vi khi chọn mã rời rạc.
- Quy trình tạo mặt nạ (masking) ngẫu nhiên các đoạn liên tiếp ($p = 0{,}065$, $M = 5$).
- Hàm mục tiêu kết hợp: hàm đối lập $\mathcal{L}_m$ (cosine similarity có nhiệt độ $\tau$) và hàm đa dạng $\mathcal{L}_d$ (tối đa hóa entropy trên phân phối softmax trung bình để tận dụng toàn bộ không gian biểu diễn, ví dụ $G=2, V=320$ tạo ra 102.400 trạng thái).
- Khảo sát mô hình ngôn ngữ N-gram (ước lượng hợp lý cực đại MLE, lưu trữ dưới dạng log xác suất) và giải thuật giải mã Beam Search có hàm phạt độ dài câu đầu ra $L^\alpha$ ($\alpha = 0{,}75$).
Chương 4. Xây dựng ứng dụng phần mềm chuyển giọng nói thành văn bản xử dụng Wav2Vec
Chương 4 hiện thực hóa toàn bộ quy trình nghiên cứu thành chương trình thực nghiệm và phần mềm hoàn chỉnh:
- Giới thiệu các bộ dữ liệu huấn luyện và kiểm thử tiếng Việt: VLSP (250 giờ), VIVOS (hơn 15 giờ ghi âm chuẩn phòng thu từ 46 người nói), Common Voice Mozilla (khoảng 20.000 giờ đa ngôn ngữ).
- Mô hình âm học sử dụng kiến trúc Base của tác giả Nguyễn Vũ Lê Bình huấn luyện trên 13.000 giờ dữ liệu và tinh chỉnh trên dữ liệu tiếng Việt (gồm 95 triệu tham số ở bản Base và 317 triệu tham số ở bản Large), kết hợp mô hình ngôn ngữ 4-gram huấn luyện trên 2GB dữ liệu văn bản.
- Tiến hành thực nghiệm tiền xử lý giảm nhiễu: kiểm thử trực tiếp trên mẫu câu âm thanh "Thời tiết hôm nay thế nào". Tác giả chứng minh khi chưa giảm nhiễu mô hình giải mã thiếu thành "Thời tiết hôm này", nhưng khi áp dụng module giảm nhiễu hệ thống nhận dạng chính xác "Thời tiết hôm này thế nào".
- Đánh giá định lượng trên các tập dữ liệu tiếng Việt được thêm tạp âm nhân tạo, khẳng định mô hình có tích hợp tiền xử lý giảm nhiễu đạt tỷ lệ lỗi WER vượt trội so với các mô hình Wav2Vec giữ nguyên tín hiệu nhiễu thô.
- Cài đặt phần mềm bằng Python trong môi trường Anaconda, giao diện đa nền tảng viết bằng thư viện Flet, bao gồm các màn hình chính, màn hình cài đặt tham số và màn hình hiển thị kết quả nhận dạng.
Kết quả và đóng góp
Đồ án đã đạt được các kết quả kỹ thuật và đóng góp thực tiễn cụ thể:
| Thành phần nghiên cứu |
Cấu hình / Dữ liệu thực nghiệm |
Kết quả ghi nhận trong văn bản |
| Bộ dữ liệu tiếng Việt |
VLSP (250 giờ), VIVOS (15 giờ, 46 người nói: 22 nam, 24 nữ), Mozilla Common Voice |
Chuẩn hóa quy trình đánh giá thực nghiệm trên các nguồn dữ liệu tiếng Việt đa dạng |
| Mô hình âm học |
Kiến trúc Wav2Vec 2.0 Base (95M tham số) của Nguyễn Vũ Lê Bình |
Mô hình được huấn luyện trên 13.000 giờ dữ liệu và tinh chỉnh trên tiếng Việt |
| Mô hình ngôn ngữ |
N-gram (4-gram) huấn luyện trên 2GB dữ liệu văn bản |
Giảm tỷ lệ lỗi từ (WER) đáng kể so với việc chỉ sử dụng mô hình âm học đơn lẻ |
| Module tiền xử lý |
Khử nhiễu phổ (Spectral Gating) + Cổng nhiễu (Noise Gate) |
Khắc phục hiện tượng mất từ do nhiễu môi trường (mẫu thử "Thời tiết hôm nay thế nào") |
| Đánh giá có nhiễu |
Thử nghiệm trên các tập dữ liệu tiếng Việt có pha trộn tạp âm |
Mô hình có giảm nhiễu đạt hiệu quả nhận dạng vượt trội so với mô hình Wav2Vec tương đương không khử nhiễu |
| Phần mềm ứng dụng |
Ngôn ngữ Python, giao diện Flet, quản lý gói Anaconda |
Triển khai thành công ứng dụng chuyển đổi giọng nói đa nền tảng phục vụ nhập liệu tự động |
Về mặt đóng góp học thuật và ứng dụng, đồ án đã tổng hợp hệ thống cơ sở toán học chi tiết của kiến trúc Wav2Vec 2.0 và chứng minh tính cần thiết của việc kết hợp tầng tiền xử lý giảm nhiễu tín hiệu âm thanh trước khi đưa vào các mô hình học sâu E2E tại Việt Nam. Về mặt sản phẩm, tác giả đã đóng gói mô hình học sâu vào một ứng dụng máy tính hoàn chỉnh bằng Flet, cung cấp công cụ nhập liệu văn bản hỗ trợ người dùng và người khiếm thị mà không phải chịu chi phí dịch vụ thương mại đắt đỏ.
Hạn chế và hướng nghiên cứu tiếp
Căn cứ trên các nội dung được tác giả trình bày và phạm vi thực nghiệm của đồ án, một số hạn chế và định hướng phát triển được xác định:
- Hạn chế:
- Mô hình nhận dạng vẫn chịu ảnh hưởng nếu gặp môi trường âm học có tiếng vang quá lớn hoặc tạp âm phi tuyến phức tạp vượt ngoài khả năng ước lượng của cổng phổ tĩnh/động.
- Sự đa dạng về phương ngữ nặng hoặc từ ngữ địa phương đặc thù giữa các vùng miền vẫn là thách thức lớn đối với độ chính xác của mô hình ngôn ngữ 4-gram.
- Việc triển khai mô hình học sâu có kích thước tham số lớn (95 triệu tham số ở bản Base) đòi hỏi thiết bị phải có cấu hình phần cứng tương đối mạnh để đảm bảo tốc độ suy luận thời gian thực.
- Hướng nghiên cứu tiếp:
- Nâng cấp mô hình ngôn ngữ kết hợp các kiến trúc ngữ cảnh lớn hơn để xử lý tốt hơn các từ đồng âm và cấu trúc câu phức tạp trong tiếng Việt.
- Tối ưu hóa kích thước mô hình âm học (thông qua kỹ thuật lượng tử hóa trọng số hoặc nén mô hình) nhằm giảm thiểu thời gian xử lý và triển khai mượt mà trên các thiết bị nhúng hoặc thiết bị di động cấu hình thấp.
- Mở rộng thu thập và tinh chỉnh mô hình trên các tập dữ liệu tiếng nói đa dạng hơn về giọng vùng miền, lứa tuổi và môi trường giao tiếp thực tế.
Giá trị tham khảo
Đồ án tốt nghiệp của tác giả Nguyễn Văn Vũ là tài liệu tham khảo học thuật có giá trị cho:
- Đối tượng thụ hưởng: Sinh viên, học viên chuyên ngành Khoa học máy tính, Công nghệ thông tin, Trí tuệ nhân tạo và Kỹ thuật dữ liệu đang nghiên cứu bài toán xử lý tín hiệu tiếng nói tiếng Việt, nhận dạng giọng nói tự động hoặc xây dựng ứng dụng Python đa nền tảng.
- Nội dung tham khảo trọng tâm:
- Phần phân tích toán học chi tiết tại Chương 3 về cơ chế lượng tử hóa vector, hàm phân phối Gumbel-Softmax, phép biến đổi không gian rời rạc khả vi và việc cân bằng hàm mất mát đối lập - đa dạng trong kiến trúc Wav2Vec 2.0.
- Phương pháp luận kết hợp thuật toán xử lý tín hiệu cổ điển (Spectral Gating, Noise Gate, VAD) với mô hình E2E hiện đại tại Chương 2 và Chương 4 để cải thiện độ bền vững của mô hình học máy trước tạp âm môi trường.
- Kiến trúc tích hợp mô hình ngôn ngữ N-gram vào giải thuật Beam Search và cách tổ chức một ứng dụng desktop hoàn chỉnh sử dụng Flet (Flutter for Python).
Câu hỏi thường gặp
1. Mô hình Wav2Vec 2.0 giải quyết thách thức thiếu dữ liệu gán nhãn trong nhận dạng giọng nói bằng cách nào?
Wav2Vec 2.0 sử dụng mô hình học tự giám sát (Self-supervised Learning) theo 2 giai đoạn. Ở giai đoạn đầu, mô hình học các biểu diễn âm thanh tiềm ẩn trên hàng nghìn giờ dữ liệu tiếng nói thô không cần gán nhãn thông qua nhiệm vụ học đối lập (dự đoán biểu diễn lượng tử hóa tại các bước thời gian bị che giấu). Ở giai đoạn hai, mô hình chỉ cần một lượng rất nhỏ dữ liệu có gán nhãn (trong văn bản dẫn chứng: chỉ 10 phút dữ liệu gán nhãn) để tinh chỉnh thông qua hàm mất mát CTC, vẫn đạt được tỷ lệ lỗi từ thấp (WER 5,2% trên tập clean của nghiên cứu quốc tế).
2. Vai trò của phân phối Gumbel-Softmax trong module lượng tử hóa của Wav2Vec là gì?
Trong module lượng tử hóa vector, mô hình cần ánh xạ các vector đặc trưng liên tục $z$ thành các mã rời rạc trong codebooks. Thao tác chọn mã rời rạc thuần túy (như hàm argmax) không có đạo hàm, khiến mạng nơ-ron không thể huấn luyện bằng giải thuật lan truyền ngược (Backpropagation). Gumbel-Softmax giải quyết vấn đề này bằng cách đưa nhiễu Gumbel $n_v$ vào logits và dùng hàm softmax có tham số nhiệt độ $\tau$, tạo ra phân phối xác suất xấp xỉ liên tục có thể tính toán đạo hàm được, đồng thời hỗ trợ lấy mẫu ngẫu nhiên để kích hoạt đa dạng các mã lượng tử.
3. Kỹ thuật giảm nhiễu tĩnh và giảm nhiễu động được tác giả sử dụng hoạt động khác nhau như thế nào?
Giảm nhiễu tĩnh (Stationary Noise Reduction) ước tính ngưỡng nhiễu cố định dựa trên trung bình và độ lệch chuẩn của phổ tần số (STFT) trên toàn bộ bản ghi, áp dụng hiệu quả cho các loại tạp âm có cường độ và phổ ổn định như tiếng ù thiết bị điện tử. Ngược lại, giảm nhiễu động (Non-stationary Noise Reduction) liên tục cập nhật ngưỡng nhiễu thích nghi theo thời gian thực thông qua bộ lọc làm mịn thời gian IIR (tiến và lùi), cho phép phát hiện và loại bỏ các nguồn tạp âm biến thiên bất thường không cố định trong môi trường.
4. Vì sao hệ thống nhận dạng trong đồ án phải kết hợp thêm mô hình ngôn ngữ 4-gram và giải thuật Beam Search thay vì sử dụng tìm kiếm tham lam (Greedy Search)?
Tìm kiếm tham lam chỉ chọn token có xác suất cao nhất tại từng bước thời gian riêng lẻ một cách cục bộ, dễ dẫn đến lỗi ngữ nghĩa nghiêm trọng trên toàn bộ câu dài. Beam Search khắc phục điều này bằng cách duy trì $k$ chuỗi ứng viên có xác suất tích lũy cao nhất qua từng bước. Khi kết hợp với mô hình ngôn ngữ 4-gram (được huấn luyện trên 2GB văn bản), hệ thống đánh giá được xác suất xuất hiện của từ dựa trên ngữ cảnh các từ phía trước, giúp sửa các lỗi nhận diện âm học đồng âm và giảm đáng kể tỷ lệ lỗi từ (WER).
5. Cấu hình mô hình âm học và các bộ dữ liệu tiếng Việt được tác giả sử dụng cho thực nghiệm gồm những nguồn nào?
Tác giả sử dụng mô hình Wav2Vec 2.0 Base tiếng Việt của tác giả Nguyễn Vũ Lê Bình (huấn luyện trên 13.000 giờ dữ liệu và tinh chỉnh trên tiếng Việt với 95 triệu tham số). Các bộ dữ liệu thực nghiệm gồm: VLSP (250 giờ tiếng Việt từ cuộc thi năm 2021), VIVOS (hơn 15 giờ ghi âm chuẩn từ 46 người nói gồm 22 nam và 24 nữ) và bộ dữ liệu đa ngôn ngữ Common Voice của Mozilla.
Kết luận
Đồ án tốt nghiệp của sinh viên Nguyễn Văn Vũ đã hoàn thành việc nghiên cứu kiến trúc học tự giám sát Wav2Vec 2.0 và hiện thực hóa thành công ứng dụng chuyển giọng nói tiếng Việt thành văn bản. Bằng việc tích hợp các thuật toán tiền xử lý khử nhiễu tín hiệu và kết hợp mô hình ngôn ngữ 4-gram với giải thuật giải mã Beam Search, hệ thống đã chứng minh được sự cải thiện rõ rệt về độ chính xác nhận dạng khi hoạt động trong môi trường có tạp âm. Sản phẩm phần mềm xây dựng bằng Python và Flet mang tính ứng dụng thực tiễn cao, đóng góp một giải pháp mã nguồn mở hữu ích cho nhu cầu nhập liệu văn bản tự động bằng tiếng Việt.