Chương 1: Tổng quan – giới thiệu về sự phát triển của công nghệ nhận dạng tiếng nói, tình hình nghiên cứu của thế giới và trong nước. Chương 2: Cơ sở lý thuyết – giới thiệu về nhận dạng tiếng nói, mạng nơ-ron tích chập, mạng nơ-ron hồi quy. Chương 3: Thiết kế mô hình nhận dạng – trình bày kiến trúc mô hình, thu thập, xử lý dữ liệu, huấn luyện mạng, hiệu chỉnh văn bản đầu ra. Chương 4: Huấn luyện mô hình và kết quả đạt được.
Chương 5: Kết luận. Giới thiệu nhận dạng tiếng nói 2. Tổng quan về nhận dạng tiếng nói Âm thanh phát sinh từ nhiều nguồn ví dụ như tiếng nói, tiếng động vật kêu, tiếng trống, tiếng đàn từ các nhạc cụ,. Âm thanh cần vật chất để lan truyền, do đó âm thanh không tồn tại trong môi trường chân không.
Âm thanh được biểu diễn trong miền thời gian và miền tần số. Giả sử gọi t là thời gian, x là biên độ (độ biến thiên), thì ta có thể biểu diễn sự biến thiên biên độ theo thời gian của hàm sóng dạng Sin, với 𝑥(𝑡) = 𝐴𝑠𝑖𝑛(𝜔𝑡 + 𝜃) với A là biên độ, 𝜔 là tần số góc, 𝜃 là pha ban đầu, được minh họa ở Hình 2.1(b) là biểu diễn tín hiệu trong theo tần số. Tương ứng với biên độ A trong miền thời gian là F0 trong miền tần số. Trong thực tế, các tín hiệu có các dạng khác nhau, và để phân tích tính toán, người ta dùng phân tích Fourier.1: Biểu diễn tín hiệu theo thời gian và tần số Tiếng nói – là âm thanh phát ra từ miệng người, lan truyền đi trong không khí đến tai người nghe.
Các nghiên cứu về âm thanh cho thấy âm thanh con người nghe được là âm thanh trong giải tần số 20Hz – 20KHz. Âm thanh có dải tần cao hơn 20KHz gọi là siêu âm, và dưới 20Hz gọi là hạ âm. Lĩnh vực về xử lý tiếng nói được chú trọng nhiều hơn từ khi tốc độ xử lý máy vi tính được tăng lên đáng kể. Từ đó, các kết quả từ việc xử lý tiếng nói được ứng dụng nhiều hơn trong thực tế như: tổng hợp âm thanh (synthesis), nén âm thanh (compression), nhận dạng tiếng nói, nhận dạng người nói, xác định giới tính người đang nói, … (Hình 2.2: Ứng dụng xử lý tiếng nói trong thực tế Quá trình nhận dạng tiếng nói tự động trên máy tính sẽ trải qua các công đoạn khác nhau nhằm xử lý, phân biệt các tín hiệu với nhau, từ đó đưa ra kết quả, từ đó sẽ tiếp tục quá trình xử lý ngôn ngữ mức cao hơn.3: Sơ đồ khối cơ bản về nhận dạng tiếng nói o Quá trình tiền xử lý và rút trích đặc trưng: gồm thu thập tín hiệu tiếng nói, khử nhiễu, điều chỉnh các tín hiệu bị biến dạng, xác định đầu cuối của tín hiệu cần nhận dạng, rút trích vec-tơ các đặc trưng của tín hiệu.
o Quá trình học mẫu và phân lớp: từ các vec-tơ đặc trưng đã rút trích được, được xem là các mẫu được sử dụng để huấn luyện các mô hình, từ đó phân lớp tín hiệu (các giải pháp, thuật toán như Heristic, thuật toán K-means, hay sử dụng mạng nơ-ron nhân tạo, …), mỗi lớp bao gồm những đặc trưng cho từng nhóm tín hiệu. o Quá trình nhận dạng so khớp mẫu: từ dữ liệu là các vec-tơ đặc trưng, xem xét dựa trên các lớp đã được phân ra trong mô hình huấn luyện, sẽ dự đoán tỷ lệ tín hiệu mới thuộc lớp nào, cuối cùng đưa ra kết quả nhận dạng. Hiện nay, có 3 phương pháp được sử dụng phổ biến trong nhận dạng tiếng nói: Ø Phương pháp âm học. Ø Phương pháp nhận dạng mẫu.
Ø Phương pháp ứng dụng trí tuệ nhân tạo. Rút trích đặc trưng tín hiệu tiếng nói MFCC Rút trích đặc trưng của tiếng nói là một trong những khâu quan trọng trong quá trình nhận dạng tiếng nói. Dữ liệu tiếng nói thông thường dưới dạng sóng âm đã lưu trữ trong máy tính là loại dữ liệu khó xử lý huấn luyện, so sánh, vì thế việc rút trích đặc trưng tiếng nói là cần thiết. Mục tiêu của công việc này là phân tích phổ spectral nhằm mục đích xác định các thông tin quan trọng, đặc trưng của tiếng nói.
Kết quả của quá trình rút trích đặc trưng là một hoặc nhiều vector đặc trưng, các vector này chứa các tham số mang giá trị quan trọng của tín hiệu tiếng nói. Có nhiều phương pháp để thực hiện rút trích đặc trưng, hai trong số đó là phương pháp MFCC và LPC.4 mô tả quá trình của việc rút trích đặt trưng tín hiệu tiếng nói, tín hiệu âm thanh lưu trong máy tính là tín hiệu dạng số, mô hình hóa tín hiệu âm thanh trong máy tính dưới dạng toán học là một hàm s(n), trong đó n chỉ thời gian (thông thường là ms) và s(n) là biên độ âm.4: Các công đoạn rút trích đặc trưng v Tiền khuếch đại tín hiệu (Pre-emphasis) Áp dụng bộ lọc tiền khuếch đại (pre-emphasis) vào tín hiệu để khuếch đại tần số cao, làm rõ tín hiệu. Bộ lọc tiền khuếch đại rất hữu ích bởi: Cân bằng tần số phổ vì tần số cao thường có cường độ nhỏ hơn tần số thấp; tránh một số vấn đề trong thao tác biến đổi Fourier; cải thiện giảm thiểu tiếng ồn, bộ lọc áp dụng công thức: 𝒚(𝒕) = 𝒙(𝒕) − 𝜶𝒙(𝒕 − 𝟏) 𝒗ớ𝒊: 𝟎.1) Trong đó 𝛼 là hệ số khuếch đại, thường được lựa chọn 𝛼 = 0.6 minh họa tín hiệu trước và sau khi khuếch đại.5: Tín hiệu trước khi khuếch đại [14] Hình 2.6: Tín hiệu sau khi khuếch đại [14] v Phân đoạn tín hiệu thành các khung Tín hiệu tiếng nói là một đại lượng biến thiên theo thời gian và không ổn định nên không thể xử lý trực tiếp trên đó được. Do đó, tín hiệu được chia ra thành các khung (framing) với chiều dài tương đối nhỏ để lấy được các đoạn tín hiệu tương đối ổn định và xử lý tiếp trong các bộ lọc tiếp theo.
Ở bước này, người ta thường phân tín hiệu thành các khung với kích thước 20-30 (ms). Để tránh mất mát và làm gián đoạn tín hiệu ban đầu, khi phân khung, người ta chồng lấp các khung lên nhau khoảng 10-15(ms). v Lấy cửa sổ khung tín hiệu Trong quá trình xử lý rút trích đặc trưng, để giảm thiểu gián đoạn tín hiệu ở đầu và cuối của mỗi khung, một dãy tín hiệu con được lấy ra từ một tín hiệu dài hơn x(n) gọi là một cửa sổ tín hiệu, việc xem xét một tín hiệu x(n) bằng một đoạn xN(n) trong khoảng n0…(n0 + N – 1) tương đương với việc nhân x(n) với một hàm cửa sổ, kết quả của việc này là làm cho khung tín hiệu mượt hơn, giúp cho các thành phần có tần số cao suất hiện trong phổ. Trong xử lý tín hiệu số, các cửa sổ thường dùng được biểu diễn thông qua cửa sổ Hamming tổng quát: 2𝜋 𝛼 + (1 − 𝛼).2) 0 |𝑛| > 𝑁/2 Tùy theo các giá trị của 𝛼 mà ta có các cửa sổ khác nhau: Với 𝛼 = 0.54, là cửa sổ Hamming (Hamming Window), dạng cửa sổ thường dùng nhất.5, ta có cửa sổ Hanning: 2𝜋𝑛 0.4) 𝑤 (𝑛 ) = A 0 |𝑛| > 𝑁/2 Ngoài ra, còn có các cửa sổ khác: Hình chữ nhật, Cosine, Blackman, Kaiser, tam giác, … Sau công đoạn lấy cửa sổ tín hiệu, đến quá trình rút trích các đặc trưng của tín hiệu.
Luận văn này sẽ trình bày về phương pháp rút trích đặc trưng MFCC, phương pháp áp dụng cho mô hình nhận dạng tiếng nói tiếng Việt. v Rút trích đặc trưng tiếng nói MFCC Các hệ số của phổ tần số Mel được gọi tắt là MFCC (Mel-Frequency Cepstral Coefficients), MFCC sử dụng thang tần số phi tuyến dựa trên sự nhận thức về thính giác, hay Mel Scale được giới thiệu năm 1980. Tóm tắt phương pháp rút trích đặc trưng MFCC qua sơ đồ khối Hình 2.7: Thuật toán rút trích MFCC [15] Ø Biến đổi FFT (Fast Fourier Transform) Biến đổi FFT là một phép biển đổi được cải tiến dựa trên DFT (Discrete Fourier Transform) bằng thuật toán nhanh, đáp ứng nhu cầu về xử lý âm thanh, hình ảnh,… FFT là một phép biến đổi thuận, nghịch có đặc điểm bảo toàn tính tuyến tính bất biến, tuần hoàn và tính trễ, gồm các công thức: + Biến đổi thuận (dùng khi phân tích tín hiệu): (!) 𝑋(𝑘) = S 𝑥(𝑛)𝑒 !"#$%&/( (2.6) %*+ (với n = 0, 1, 2, …, N-1) Kết quả của sau khi thực hiện FFT, sẽ được đưa vào bộ lọc Mel. Ø Bộ lọc Mel Mel là đơn vị đo độ cao của tần số âm điệu.
Năm 1940, Stevens và Volkman đã gán 1000 mels là 1000Hz. Các ngưỡng tần số được đánh dấu, kết quả một mối quan hệ ánh xạ giữa scale tần số (tính bằng Hz) và scale tần số Mel (tính bằng Mel) được chuyển đổi như sau: 𝑓&' (2. là tần số tính bằng mels và 𝑓/0 là tần số tính bằng Hz. Mối quan hệ này, được biểu diễn ở Hình 2.8: Mối quan hệ giữa tần số tính bằng Hz và Mel [14] MFCC thường được tính toán sử dụng một danh sách bộ lọc (Filter Bank) của M bộ lọc (m = 0, 1, …, M-1), mỗi bộ lọc có một hình tam giác và cách đều trên thang mel (mel scale), một bộ lọc cho một tần số – hình 2.
Mỗi bộ lọc được định nghĩa như sau: 0 𝑘 < 𝑓[𝑚 − 1] ⎧ 𝑘 − 𝑓[𝑚 − 1] ⎪ 𝑓[𝑚 − 1] < 𝑘 ≤ 𝑓[𝑚] 𝑓 [𝑚] − 𝑓[𝑚 − 1] 𝐻, [𝑘 ] = (2.8) ⎨ 𝑓 [ 𝑚 + 1] − 𝑘 𝑓[𝑚] ≤ 𝑘 ≤ 𝑓[𝑚 + 1] ⎪ 𝑓[𝑚 + 1] − 𝑓[𝑚] ⎩0 𝑘 ≥ 𝑓[𝑚 + 1] Sử dụng bộ lọc này để áp lên tín hiệu sau khi thực hiện FFT, để đưa tín hiệu vào băng lọc tần số Mel – Hình 2.9: Danh sách 10 bộ lọc sử dụng trong MFCC [14] Hình 2.10: Áp bộ lọc Mel lên tín hiệu [14] Sau quá trình này, sẽ thu được tập hợp các tần số Yt(m) là giao giữa tần số tín hiệu sau khi thực hiện FFT (dãy Xt(k)) với thang tần số Mel. Ø Logarit giá trị năng lượng Tiếp sau quá trình áp tín hiệu lên băng lọc tần số Mel, là nén các giá trị mới với miền giá trị nhỏ hơn để xử lý nhanh bởi lấy Logarit mỗi kênh lọc: (2.9) 𝑙𝑜𝑔{|𝑌! (𝑚)|" } Ø Biến đổi Cosine rời rạc (Discrete Cosine Transform) Tai người nghe được thông tin âm thanh dựa vào tín hiệu trên miền thời gian nên bước cuối cùng là chuyển đổi phổ Mel vào miền thời gian sử dụng biến đổi Cosine rời rạc. Kết quả được gọi là MFCC (Hệ số cepstral tần số Mel). Các hệ số được xác định bởi công thức: 2 𝜋𝑖 (2.