Chương 2: NHẬN DẠNG CẢM XÚC KẾT HỢP TIẾNG NÓI VÀ VĂN BẢN
2.4 Nhận dạng cảm xúc từ tín hiệu tiếng nói
2.4.1 Trích chọn các đặc trưng của tín hiệu tiếng nói
Để trích xuất được các đặc trưng của tín hiệu tiếng nói như Melspectrogram [4], MFCC [5] thì chúng ta cần phải hiểu tín hiệu tiếng nói là gì? Tín hiệu là sự biến đổi một lượng nhất định theo thời gian. Làm thế nào để chúng ta có thể nắm bắt thông tin bằng kĩ thuật số? Chúng ta có thể lấy mẫu tín hiệu theo thời gian, tốc độ lấy mẫu tín hiệu có thể khác nhau nhưng phổ biến là 44,1 kHz hoặc 44,100 mẫu mỗi giây. Những gì thu được là tín hiệu liên tục được biểu diễn ở dạng sóng theo miền thời gian.
Hình 2.7. Biểu diễn tín hiệu tiếng nói theo miền thời gian
Tiếp theo ta cần tìm hiểu biến đổi Fourier là gì? Biến đổi Fourier là 1 công cụ mạnh mẽ cho phép chúng ta phân tích nội dung tần số của tín hiệu bằng 1 công thức toán học. Nói cách khác nó chuyển tín hiệu từ miền thời gian sang miền tần số. Kết qủa gọi là phổ.
Hình 2.9. Ảnh phổ thu được sau biến đổi Fourier a) Mel Spectrogram
Để hiểu Mel Spectrogram là gì, chúng ta cần hiểu Spectrogram là gì? Fast Fourier Transform (FFT) [4] được tính toán trên các phân đoạn cửa sổ chồng chéo của tín hiệu, và cái thu được gọi là quang phổ (Spectrogram).
Hình 2.10. Quy trình để trích xuất được quang phổ (Spectrogram)
Hình 2.11. Ảnh quang phổ (Spectrogram)
Chúng ta ánh xạ chúng lên thang âm mel để tạo ra Quang phổ Mel (Melspectrogram) [4].
b) Mel Frequency Cepstral Coefficients (MFCC)
MFCC [5] sẽ cho ra kết quả là các hệ số (coefficients) của cepstral từ Mel filter trên phổ lấy được từ các file âm thanh chứa giọng nói được biểu diễn ở 2 chiều. Tiếng nói của con người tổng hợp từ 2 phần: luồng không khí đi lên từ phổi và miệng đóng vai bộ lọc (hốc cộng hưởng), cepstral cho phép ta tách âm thanh lẫn thành phần cơ quan phát âm của con người chỉ lấy hốc cộng hưởng (tức là bỏ đi luồng không khí đi lên từ phổi).
Hình 2.13. Sơ đồ khối của trích xuất đặc trưng MFCC
dựng mô hình nhận dạng cảm xúc từ tín hiệu tiếng nói. Dưới đây là kiến trúc tổng quan của mô hình mạng neuron này.
a) Tổng quan
Hình 2.15. Kiến trúc mô hình tổng quan của nhận dạng cảm xúc từ tiếng nói [1]
Kiến trúc model là 1 mạng nơ-ron tích hợp chập dựa trên 5 convolutions layer. Hình trên cho ta thấy cấu trúc mô hình chi tiết. Đầu tiên, thư viện xử lí âm thanh Librosa được sử dụng để trích xuất các đặc trưng logMelspectrogram được đưa vào hai lớp phức hợp song song để trích xuất các kết cấu từ trục thời gian và trục tần số tương ứng. Kết quả được tổng hợp lại và đưa vào các convolutions [6] tiếp theo để cho ra 80 features đại diện cho tín hiệu âm thanh. Sau đó qua attention layer [7] và gửi kết quả đến fully connected layer [6] để phân loại. Batch normalization [6] được áp dụng sau mỗi convolution layer.
b) Convolution layer
Hình 2.16. Kiến trúc Convolution layer trong deep learning
Convolution [6] là một cửa sổ trượt (kernel) trên một ma trận (ma trận đại diện cho các features của tín hiệu tiếng nói) để trích xuất các đặc trưng.
c) Max pooling layer
Pooling layer [6] thường được dùng giữa các convolutional layer, để giảm kích thước dữ liệu nhưng vẫn giữ được các thuộc tính quan trọng. Kích thước dữ liệu giảm giúp giảm việc tính toán trong model.
d) Fully connect layer
Sau khi ảnh được truyền qua nhiều convolutional layer và pooling layer thì model đã học được tương đối các đặc điểm của logMelspectrogram thì tensor của output của layer cuối cùng, kích thước H*W*D, sẽ được chuyển về 1 vector kích thước (H*W*D)
Hình 2.18. Kiến trúc Fully connect layer [6] trong deep learning e) Area attention
Attention [7] là 1 cơ chế rất quan trọng và được ứng dụng rất nhiều trong lĩnh vực trí tuệ nhân tạo kể cả trên Computer Vision và NLP, nó khắc phục được các nhược điểm của các mô hình RNN, LSTM về bộ nhớ có giới hạn và biểu thị được mối quan hệ giữa các từ với các từ khác trong câu. Trong thực hành chúng ta tính toán hàm attention trên toàn bộ tập các câu truy vấn một cách đồng thời được đóng gói thông qua ma trận Q.
keys và values cũng được đóng gói cùng nhau thông qua matrix K và V. Phương trình Attention [7] như sau:
2.4.3 Các tham số huấn luyện và kiểm thử mô hình
Chúng ta sẽ tiền xử lí dữ liệu dataset IEMOCAP [3]: chỉ lấy 4 cảm xúc: trung tính, vui, buồn, giận dữ từ 9 cảm xúc (bởi vì các cảm xúc còn lại dữ liệu khá ít và các