Tín hiệu tiếng nói mang nhiều thông tin, như thông tin ngôn ngữ, thông tin về người nói, thông tin về sắc thái tình cảm khi nói,… Hầu hết các hệ thống xử lý và nhận dạng tiếng nói truyền
Trang 1LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành cảm ơn thầy giáo TS Phùng Trung Nghĩa, người đã trực tiếp hướng dẫn em hoàn thành luận văn Với những lời chỉ dẫn, những tài liệu, sự tận tình hướng dẫn và những lời động viên của thầy
đã giúp em vượt qua nhiều khó khăn trong quá trình thực hiện luận văn này
Em cũng xin cảm ơn quý thầy cô giảng dạy chương trình cao học chuyên ngành "Khoa học máy tính” tại trường ĐH Công nghệ thông tin và truyền thông đã truyền dạy những kiến thức quý báu, những kiến thức này rất hữu ích và giúp em nhiều khi thực hiện nghiên cứu
Cuối cùng, em xin gửi lời cảm ơn tới gia đình và bạn bè đã luôn ủng hộ động viên giúp đỡ em trong suốt những năm học vừa qua
Em xin chân thành cảm ơn!
Thái Nguyên, ngày 10 tháng 05 năm 2016
Học viên
Trần Thị Tuyết
Trang 2LỜI CAM ĐOAN
Tên tôi là: Trần Thị Tuyết
Các số liệu, những kết luận nghiên cứu được trình bày trong luận văn này trung thực và chưa từng được công bố dưới bất cứ hình thức nào
Em xin chịu trách nhiệm về nghiên cứu của mình
Học viên
Trần Thị Tuyết
Trang 3MỤC LỤC
LỜI CẢM ƠN
LỜI CAM ĐOAN
MỤC LỤC i
DANH MỤC BẢNG iii
DANH MỤC HÌNH iv
DANH MỤC CHỮ VIẾT TẮT VÀ KÍ HIỆU vi
MỞ ĐẦU 1
CHƯƠNG I: TỔNG QUAN VỀ TIẾNG NÓI VÀ NHẬN DẠNG NGƯỜI NÓI TRONG TIẾNG NÓI 4
1.1 Tổng quan về tiếng nói 4
1.2 Tổng quan về lý thuyết nhận dạng tiếng nói 6
1.3 Thông tin người nói trong tiếng nói 8
1.4 Vấn đề nhận dạng và xác minh người nói qua giọng nói 9
1.4.1 Phân loại nhận dạng và xác thực người nói dựa vào chức năng của bài toán 9
1.4.2 Phân loại nhận dạng và xác thực người nói dựa theo từ khóa 11
1.5 Đặc trưng tiếng nói liên quan đến thông tin người nói 13
1.5.1 Rút trích đặc trưng 13
1.5.2 Đặc trưng biên độ 14
1.5.3 Đặc trưng cao độ 15
1.5.4 Đặc trưng phổ 16
CHƯƠNG II: MỘT SỐ PHƯƠNG PHÁP PHÂN LỚP TRONG NHẬN DẠNG NGƯỜI NÓI QUA GIỌNG NÓI 20
2.1 Kỹ thuật so khớp mẫu trực tiếp 20
2.1.1 Phương pháp so sánh mẫu trực tiếp cổ điển dùng giải thuật thời gian động (Dynamic time warping - DTW) 20
Trang 42.1.2 Phương pháp phân lớp dùng lượng tử hóa vector (Vector
Quantization - VQ) 23
2.2 Phương pháp sử dụng mô hình pha trộn Gaussian 30
2.2.1 Đặc tả mô hình 30
2.2.2 Ước lượng tham số mô hình GMM 33
2.2.3 Mô hình hóa người nói không phụ thuộc văn bản với mô hình Gaussian Mixture Model - GMM 34
2.2.4 Huấn luyện với mô hình Gaussian Mixture Model - GMM 35
2.2.5 Nhận dạng với mô hình Gaussian Mixture Model - GMM 36
2.3 Phân lớp bằng mô hình GMM-HMM 37
2.3.1 Giới thiệu 37
2.3.2 Đặc tả mô hình GMM-HMM 39
2.3.3 GMM-HMM và bài toán định danh người nói 40
CHƯƠNG III: ĐÁNH GIÁ THỰC NGHIỆM PHƯƠNG PHÁP NHẬN DẠNG NGƯỜI NÓI DÙNG VQ VÀ MÔ HÌNH GMM 44
3.1 Lựa chọn cơ sở dữ liệu 44
3.1.1 Phạm vi của các cơ sở dữ liệu ATR 44
3.1.2 Thu thập dữ liệu tiếng nói trong ATR 46
3.1.3 Gán nhãn trong ATR 48
3.2 Cài đặt các phương pháp trên MATLAB 51
3.2.1 Cài đặt phương pháp VQ 51
3.2.2 Cài đặt phương pháp GMM 53
3.3 Kết quả của các phương pháp 56
3.4 Đánh giá các kết quả 56
KẾT LUẬN 57
TÀI LIỆU THAM KHẢO 58
Trang 5DANH MỤC BẢNG
Bảng 1.1: Một số giá trị của tần số cơ bản ứng với giới tính và độ tuổi 15
Bảng 3.1: Thống kê các thông số của cơ sở dữ liệu 45
Bảng 3.2: Các lớp phiên âm 48
Bảng 3.3: Các ký hiệu âm thanh – âm cho lớp thứ 2 49
Trang 6DANH MỤC HÌNH
Hình 1.1: Các ứng dụng xử lý tiếng nói 6
Hình 1.2: Sơ đồ nhận dạng tổng quát 7
Hình 1.4: Đặc trưng phổ formant đặc trưng cho cơ quan phát âm 9
Hình 1.5: Mô hình chung nhận dạng người nói 10
Hình 1.6: Bài toán định danh người nói 10
Hình 1.7: Bài toán xác thực người nói 11
Hình 1.8: Phân loại bài toán nhận dạng người nói theo từ khóa 12
Hình 1.9: Sơ đồ rút trích vector đặc trưng tổng quát 13
Hình 1.10: Sơ đồ rút trích đặc trưng chi tiết 14
Hình 1.11: Đặc trưng cao độ 16
Hình 1.12: Đặc trưng phổ và đường bao phổ đặc trưng cho cơ quan phát âm17 Hình 1.13: Đồ thị biểu diễn mối quan hệ giữa Mel và Hz 18
Hình 1.14: Các bước trích chọn đặc trưng 18
Hình 1.15: Bộ lọc trên thang Mel 19
Hình 1.16: Bộ lọc trên tần số thật 19
Hình 1.17: Minh họa các bước biến đổi MFCC 19
Hình 2.1: Hai chuỗi dữ liệu trong DTW theo thời gian 21
Hình 2.2: Giãn tín hiệu có độ dài khác nhau: tín hiệu màu đỏ đã được giãn để có độ dài tương ứng với tín hiệu màu xanh 22
Hình 2.3: Khoảng cách Euclidean tính cho 2 mẫu tiếng nói đã giãn để có độ dài bằng nhau 22
Hình 2.4a: Huấn luyện 24
Hình 2.4b: Nhận dạng 25
Hình 2.5: Hàm mật độ Gauss 30
Hình 2.6: Mô hình GMM 31
Hình 2.7: Hàm mật độ của GMM có 3 phân phối Gauss 32
Trang 7Hình 2.8: HMM với 3 trạng thái và trọng số chuyển trạng thái 37
Hình 2.9: Nhận dạng người nói dùng HMM 38
Hình 2.10: Mô hình GMM-HMM 3 trạng thái 39
Hình 3.1: Sơ đồ khối hệ thống thu thập dữ liệu 45
Hình 3.2: Một ví dụ về kết quả phiên âm đa tầng 50
Hình 3.3: Thuật toán huấn luyện VQ 52
Hình 3.4: Thuật toán nhận dạng VQ 53
Hình 3.5: Thuật toán huấn luyện GMM 54
Hình 3.6: Thuật toán nhận dạng GMM 55
Trang 8DANH MỤC CHỮ VIẾT TẮT VÀ KÍ HIỆU
Trang 9MỞ ĐẦU
1 Lý do chọn đề tài
Tiếng nói là phương tiện giao tiếp cơ bản của con người Vì vậy tiếng nói cũng là loại hình thông tin cơ bản và phổ biến nhất trong các hệ thống truyền thông Tín hiệu tiếng nói mang nhiều thông tin, như thông tin ngôn ngữ, thông tin về người nói, thông tin về sắc thái tình cảm khi nói,…
Hầu hết các hệ thống xử lý và nhận dạng tiếng nói truyền thống tập trung vào xử lý các thông tin ngôn ngữ để đảm bảo nhận dạng được nội dung ngôn ngữ hay ngữ nghĩa được nói [5], [11] Tuy nhiên để các ứng dụng xử lý tiếng nói trong máy tính có thể được áp dụng rộng rãi trong thực tế, một trong những vấn đề quan trọng cần đảm bảo là khả năng nhận dạng và xác minh người nói [2], [12]
Trên thế giới đã có nhiều nghiên cứu về nhận dạng người nói qua giọng nói [12], [14] Tại Việt Nam cũng có một số nghiên cứu ban đầu, đặc biệt là một số nghiên cứu tại Viện Công nghệ thông tin [3] và Viện nghiên cứu MICA – Đại học Bách Khoa Hà Nội [1], [2] Tuy nhiên ở Việt Nam vẫn chưa
có nhiều các nghiên cứu đánh giá một cách tổng hợp các phương pháp nhận dạng người nói phổ biến Đặc biệt, hai phương pháp nhận dạng người nói hiện đại dùng phép lượng tử hóa vector – VQ và mô hình pha trộn Gaussian - GMM [10], [12], [13] lại chưa được nghiên cứu nhiều tại Việt Nam Vì vậy, luận văn này nghiên cứu một số phương pháp nhận dạng người nói bằng giọng nói, tập trung vào hai phương pháp dùng phép lượng tử hóa vector và
mô hình pha trộn Gaussian, đánh giá thực nghiệm các phương pháp, và đưa ra những khuyến nghị
Trang 102 Mục tiêu của đề tài
Luận văn nghiên cứu một số phương pháp nhận dạng người nói qua giọng nói bao gồm:
- Một số phương pháp truyền thống dùng so sánh mẫu trực tiếp với giải thuật thời gian động – DTW;
- Phương pháp phân lớp dùng lượng tử hóa vector – VQ;
- Phương pháp sử dụng mô hình pha trộn Gaussian – GMM
Sau đó đánh giá thực nghiệm các phương pháp dùng lượng tử hóa vector và dùng mô hình pha trộn Gaussian GMM với cơ sở dữ liệu tiếng nói
đa người nói, và đưa ra những khuyến nghị
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của luận văn là các phương pháp nhận dạng người nói bằng giọng nói Đây là đối tượng nghiên cứu được nhiều nhà nghiên cứu trên thế giới quan tâm trong thời gian gần đây
Phạm vi của luận văn bao gồm nghiên cứu tổng quan về tín hiệu tiếng nói và thông tin người nói trong tiếng nói, một số phương pháp nhận dạng người nói, bao gồm phương pháp so sánh mẫu trực tiếp dùng giải thuật thời gian động [9], phương pháp phân lớp dùng lượng tử hóa vector [14], và đặc biệt tập trung vào phương pháp sử dụng mô hình pha trộn Gaussian [10], [12], [13] Luận văn cũng nghiên cứu đánh giá thực nghiệm các phương pháp để đưa ra các khuyến nghị
4 Phương pháp nghiên cứu
Phương pháp nghiên cứu của luận văn là nghiên cứu các lý thuyết đã có trên thế giới [1-15] để phân tích, đánh giá về các phương pháp biến đổi thông tin người nói trong tiếng nói
Trang 11Dựa trên các cơ sở lý thuyết và các phân tích, đánh giá, luận văn cũng
sẽ nghiên cứu thực nghiệm một số phương pháp nhận dạng người nói qua
giọng nói
5 Ý nghĩa khoa học và thực tiễn
Như đã trình bày trong phần 1, nghiên cứu về thông tin người nói trong tiếng nói và các phương pháp nhận dạng người nói qua giọng nói có vai trò quan trọng trong các hệ thống xử lý thông tin và truyền thông hiện đại Đây không phải vấn đề nghiên cứu mới trên thế giới nhưng còn khá mới mẻ ở Việt Nam Đặc biệt, nghiên cứu tổng hợp về các phương pháp nhận dạng người nói qua giọng nói dùng phép lượng tử hóa vector - VQ và mô hình Gaussian - GMM chưa được nghiên cứu nhiều ở Việt Nam Do vậy vấn đề nghiên cứu trong luận văn có ý nghĩa khoa học và thực tiễn
Trang 12CHƯƠNG I: TỔNG QUAN VỀ TIẾNG NÓI VÀ NHẬN DẠNG NGƯỜI
NÓI TRONG TIẾNG NÓI 1.1 Tổng quan về tiếng nói
Âm thanh của lời nói cũng như âm thanh trong thế giới tự nhiên xung quanh ta, về bản chất đều là những sóng âm được lan truyền trong một môi trường nhất định (thường là không khí) Khi nói dây thanh trong hầu bị chấn động, tạo nên những sóng âm, sóng truyền trong không khí đến màng nhĩ – một màng mỏng rất nhạy cảm của tai ta, làm cho màng nhĩ cũng dao động, các dây thần kinh màng nhĩ sẽ nhận được cảm giác âm khi tần số dao động của sóng đạt đến một độ lớn nhất định Tai con người chỉ cảm thụ được những dao động có tần số từ khoảng 16Hz đến khoảng 20000Hz Những dao động trong miền tần số này gọi là dao động âm hay âm thanh, và các sóng tương ứng gọi là sóng âm Những sóng có tần số nhỏ hơn 16Hz gọi là sóng hạ
âm, những sóng có tần số lớn hơn 20000Hz gọi là sóng siêu âm nhưng con người không cảm nhận được Sóng âm, sóng siêu âm, sóng hạ âm không chỉ lan truyền trong không khí mà còn có thể lan truyền tốt ở những môi trường như rắn, lỏng, do đó cũng được sử dụng rất nhiều trong các thiết bị hiện đại
Tiếng nói là dạng thông tin tự nhiên và phổ biến nhất đối với con người Từ khi lịch sử con người hình thành, con người đã biết sử dụng tiếng nói làm phương tiện giao tiếp chính, trải qua hàng triệu năm trong quá trình tiến hóa và phát triển của loài người, tiếng nói vẫn luôn giữ vai trò là phương tiện giao tiếp cơ bản nhất Kể từ khi máy tính và các ứng dụng của máy tính được nghiên cứu và ứng dụng rộng rãi, người ta cố gắng để máy tính không chỉ có thể xử lý nhanh, nhiều mà quan trọng hơn nó đủ thông minh để thay thế con người Một trong các tiêu chí quan trọng để đánh giá độ thông minh của máy tính chính là khả năng hiểu được ngôn ngữ tự nhiên của con người
Trang 13trong đó có tiếng nói Do vậy, trong khoảng một thập kỷ lại đây, lĩnh vực xử
lý ngôn ngữ tự nhiên và tiếng nói đã được nghiên cứu rất rộng rãi trên thế giới
Xử lý tiếng nói được hiểu là các thao tác, kỹ thuật xử lý trên máy tính nhằm mục đích đưa tiếng nói vào máy tính, xử lý theo yêu cầu và phát lại cho con người Yêu cầu xử lý ở đây phụ thuộc vào từng ứng dụng cụ thể như trong hình 1.1 Chẳng hạn để có thể truyền tiếng nói tin cậy và hiệu quả trên các hệ thống viễn thông truyền với khoảng cách rất xa, người ta cần nghiên cứu và xây dựng các giải thuật mã hóa nén tiếng nói Để xây dựng các ứng dụng nhận dạng tiếng nói, người ta cần nghiên cứu và xây dựng các giải thuật trích đặc trưng tiếng nói và huấn luyện tiếng nói
Nhận dạng tiếng nói là một lĩnh vực nghiên cứu thu hút được sự quan tâm nghiên cứu của nhiều nhà khoa học Thuật ngữ “nhận dạng tiếng nói” thông thường hay được xem là nhận dạng cái gì được nói trong một ngôn ngữ
cụ thể Ví dụ nhận dạng tiếng Việt tức là biến đổi một câu nói tiếng Việt thành văn bản tiếng Việt xem cái gì thực sự đã được nói ra Tương tự với các ngôn ngữ khác như tiếng Anh, tiếng Thái, tiếng Mandarin, Cantonese,… Tuy nhiên bản thân tín hiệu tiếng nói còn có thể mang nhiều thông tin hơn là nội dung cái gì đã được nói Tiếng nói có thể mang thông tin ai nói, nói bằng ngôn ngữ gì, nói với sắc thái tình cảm như thế nào,… Và do vậy thuật ngữ
“nhận dạng tiếng nói” cần được hiểu như là một lĩnh vực nhận dạng tín hiệu tiếng nói nói chung với các ứng dụng cụ thể như nhận dạng tiếng nói tiếng Anh, tiếng Việt,… nhận dạng người nói, nhận dạng ngôn ngữ nói,…
Bài toán nhận dạng người nói mới được nghiên cứu nhiều trong thời gian gần đây Nhận dạng người nói có nhiều ứng dụng trong công tác điều tra, giám định tội phạm, xác thực người dùng, giao dịch ngân hàng,… Về cơ bản, nhận dạng người nói và nhận dạng tiếng nói nói chung có những điểm chung
Trang 14giống nhau về quá trình xử lý tín hiệu tiếng nói, học mẫu và phân lớp, nhận dạng và so khớp mẫu
Hình 1.1: Các ứng dụng xử lý tiếng nói
1.2 Tổng quan về lý thuyết nhận dạng tiếng nói
Nhận dạng là một quá trình quan sát đối tượng cần nhận dạng, ghi nhận lại những đặc trưng của đối tượng, phân lớp đối tượng và có sử dụng khả năng phán đoán suy luận để phân biệt đối tượng đó với đối tượng khác (trong một tập gần như vô hạn đối tượng)
Trong khi đó, nhận dạng tự động – nhận dạng bằng công cụ máy vi tính chỉ đơn giản là quá trình phân biệt tín hiệu này với tín hiệu khác (trong một tập hữu hạn các tín hiệu), quá trình này được thực hiện theo các bước trong sơ
đồ tổng quát sau (như trong hình 1.2)
Trang 15- Nhận dạng, so khớp mẫu: tìm mối liên hệ giữa tín hiệu cần nhận dạng
và các lớp tín hiệu được tạo ra ở bước trước (bằng cách thông qua quy tắc người láng giềng gần nhất chẳng hạn) Nếu như tín hiệu đó so khớp nhất (và mức độ so khớp thỏa mãn một ngưỡng nào đó) ứng với một lớp tín hiệu nào thì hệ thống nhận dạng xác định tín hiệu đó thuộc vào nhóm tín hiệu đó với một tỉ lệ nhất định gọi là độ chính xác của hệ thống nhận dạng (tỉ lệ này dĩ nhiên là càng cao càng tốt)
Trang 161.3 Thông tin người nói trong tiếng nói
Hầu hết các hệ thống xử lý tiếng nói truyền thông tập trung vào xử lý các thông tin ngôn ngữ để đảm bảo tiếng nói sau xử lý có thể hiểu được [11] Tuy nhiên để các ứng dụng xử lý tiếng nói trong máy tính có thể được áp dụng rộng rãi trong thực tế, các đặc trưng phi ngôn ngữ của tiếng nói cũng đã được quan tâm nghiên cứu trong thời gian gần đây [6] Một trong những vấn
đề quan trọng cần đảm bảo là thông tin về người nói, bao gồm cả các thông tin chung về người nói như giới tính, độ tuổi,… đến các thông tin chi tiết như thông tin nhận danh chính xác người nói Có nhiều yếu tố ảnh hưởng đến thông tin người nói trong tiếng nói như hình dạng, cấu trúc cơ quan phát âm (đặc trưng sinh học), thói quen, cách thức phát âm,
Con người có thể phân biệt được thông tin người nói một cách dễ dàng
do khả năng của cơ quan thính giác tuy nhiên để máy tính có thể phân biệt thông tin người nói, thông tin người nói cần phải được mô hình hóa và việc phân biệt, định danh, biến đổi cần phải được thực hiện thông qua các tham số vector đặc trưng được tính toán từ tín hiệu tiếng nói
Hình 1.3: Người nói khác nhau có cơ quan phát âm và cách phát âm khác
nhau dẫn tới tiếng nói khác nhau
Trang 17Hình 1.4: Đặc trưng phổ formant đặc trưng cho cơ quan phát âm
1.4 Vấn đề nhận dạng và xác minh người nói qua giọng nói
Tiếng nói tự nhiên ngoài thông tin ngữ nghĩa mà người nói cần truyền đạt (thông tin có thể ghi dưới dạng chữ viết) còn chứa các thông tin như trạng thái tình cảm khi nói, hay những thông tin riêng của giọng nói…
1.4.1 Phân loại nhận dạng và xác thực người nói dựa vào chức năng của bài toán
Dựa vào chức năng của bài toán nhận dạng người nói nói chung mô tả trong hình 1.5 người ta chia bài toán nhận dạng người nói thành hai bài toán: bài toán định danh người nói (speaker identification) và bài toán xác thực người nói (speaker verification)
Trang 18Hình 1.5: Mô hình chung nhận dạng người nói
Định danh người nói (speaker identification): Kiểm tra xem người cần kiểm tra là ai hay là không có trong hệ thống
Hình 1.6: Bài toán định danh người nói
Xác thực người nói (speaker verification): Xác minh liệu người đang nói có đúng là người mà máy tính đã được biết trước hay không Đây cũng là bài toán được nghiên cứu trong luận văn này
Trang 19Hình 1.7: Bài toán xác thực người nói
1.4.2 Phân loại nhận dạng và xác thực người nói dựa theo từ khóa
Dựa theo phương pháp thì bài toán nhận dạng được chia thành hai bài toán: bài toán nhận dạng người nói phụ thuộc vào từ khóa (text-dependent speaker recognition) và bài toán nhận dạng người nói không phụ thuộc vào từ khóa (text-independent speaker recognition)
Nhận dạng người nói phụ thuộc vào từ khóa (text-dependent speaker recognition): nhận dạng người nói dựa trên sự kết hợp giữa đặc trưng người nói với nội dung nói
- Đây là kỹ thuật nhận dạng người nói có khả năng ứng dụng rất lớn, như đăng nhập vào các hệ thống an ninh bằng mật khẩu tiếng nói hay truy cập bằng tiếng nói vào hệ thống giao dịch ngân hàng trên mạng điện thoại thông qua mã số cá nhân (số PIN…)
- Do biết trước được nội dung tiếng nói khi huấn luyện và nhận dạng nên độ chính xác là khá cao trong khi thời gian huấn luyện và nhận dạng lại giảm nhiều so với nhận dạng không phụ thuộc vào từ khóa
- Tuy nhiên, kỹ thuật này không có sự thay đổi trong mật khẩu nên hệ thống dễ bị tấn công bởi những kẻ giả mạo bằng cách ghi âm lại mật khẩu Để khắc phục vấn đề này, nhiều hệ thống đã thay đổi cụm từ mật khẩu Ví dụ trong trường hợp cụm từ là các số, hệ thống sẽ sinh ra một cụm từ mật khẩu là một dãy số ngẫu nhiên nào đó và thông báo nó mỗi khi có người đăng nhập vào hệ thống
Trang 20Nhận dạng người nói không phụ thuộc vào từ khóa (text-independent speaker recognition): nhận dạng người nói chỉ dựa vào đặc trưng của người nói
- Kỹ thuật này được áp dụng rộng rãi, đáp ứng được hầu hết các yêu cầu đề ra Nhưng trong thực tế cùng một người cũng có giọng nói khác nhau ở những thời điểm khác nhau Điều này làm ảnh hưởng rất lớn đến việc nhận dạng, nó làm cho độ chính xác của hệ thống nhận dạng giảm xuống
- Để khắc phục hạn chế của kỹ thuật này thì hệ thống nhận dạng không phụ thuộc vào từ khóa cần được thiết kế phức tạp hơn, đòi hỏi lượng dữ liệu huấn luyện nhiều hơn Nhưng với phương pháp này thì không khắc phục được nhiều Do đó trong thực tế vấn đề này được khắc phục bằng cách là bán độc lập người nói Tức là phương pháp này thực hiện bằng cách thu một lượng lớn các mẫu giọng nói khác nhau Khi sử dụng hệ thống sẽ được điều chỉnh cho phù hợp với giọng nói của người dùng, bằng cách nó học thêm một số câu có chứa các từ cần thiết (người dùng trước khi sử dụng hệ thống cần phải qua quá trình huấn luyện hệ thống)
Hình 1.8: Phân loại bài toán nhận dạng người nói theo từ khóa
Phụ thuộc
từ khóa
Không phụ thuộc từ khóa
Trang 211.5 Đặc trưng tiếng nói liên quan đến thông tin người nói
1.5.1 Rút trích đặc trưng
Đối với một hệ nhận dạng tiếng nói, việc rút trích vector đặc trưng của tiếng nói là công việc thiết yếu Điều này giúp giảm thiểu số lượng dữ liệu trong việc huấn luyện và nhận dạng, dẫn đến khối lượng công việc tính toán giảm đáng kể
Hình 1.9: Sơ đồ rút trích vector đặc trưng tổng quát
Bên cạnh đó, việc rút trích đặc trưng còn làm rõ sự khác biệt của tiếng này so với tiếng khác, làm mờ đi sự khác biệt của cùng hai lần phát
âm khác nhau của cùng một tiếng Hình 1.9 minh họa các bước xử lý trong việc rút trích vector đặc trưng tiếng nói
Trang 22Hình 1.10: Sơ đồ rút trích đặc trưng chi tiết
Đơn vị mức cường độ âm là Ben (kí hiệu : B) Mức cường độ âm bằng 1,2,3,4 B có nghĩa là cường độ âm I lớn gấp 10, 10^2, 10^3, 10^4 cường
độ âm chuẩn I0
Trong thực tế người ta thường dùng đơn vị dB, bằng 1/10 ben L(dB)= 10lg(I/I0) Khi L= 1dB, thì I lớn gấp 1.26 lần I0 Đó là mức cường độ âm nhỏ nhất mà tai ta có thể phân biệt được
Năng lượng tín hiệu được thể hiện thông qua mức độ, số lượng tín hiệu có trong một đơn vị thời gian Năng lượng của tín hiệu tiếng nói là một đặc trưng vật lý của tín hiệu, được dùng như là tham số trong vector
Trang 23đặc trưng trong nhận dạng tiếng nói, và còn được để dò tìm khoảng lặng trong tín hiệu tiếng nói Tính toán năng lượng tín hiệu thường dựa trên sự phân khung và lấy cửa sổ, bằng cách lấy tổng các bình phương chuỗi tín hiệu X(n) trong cửa sổ tín hiệu Đặc trưng năng lượng ở đây được tính bằng cách lấy log năng lượng tín hiệu.
1.5.3 Đặc trưng cao độ
Cao độ (pitch): là độ "cao", "thấp" của âm thanh có quan hệ chặt chẽ với tần số dao động Tần số dao động càng lớn thì âm thanh càng "cao" và ngược lại Với âm thanh thực là tổ hợp của nhiều tần số thì tần số dao động ở đây là tần số cơ bản F0
Tần số cơ bản F0 đóng một vai trò quan trọng trong xử lý tiếng nói Từ tần số cơ bản, ta có thể có những phân biệt tiếng nói theo cả các đặc điểm ngôn ngữ như thanh điệu của ngôn ngữ có thanh điệu và phi ngôn ngữ như sắc thái, ngữ điệu, giọng người nói Thông thường F0 của trẻ em cao hơn của người lớn tuổi, của phụ nữ cao hơn của đàn ông
Bảng 1.1: Một số giá trị của tần số cơ bản ứng với giới tính và độ tuổi
Giá trị tần số cơ bản Người nói
Trong tiếng nói, đặc biệt là các ngôn ngữ châu Âu, trường độ (duration)
là đặc tính quan trọng của âm vị, âm tiết liên quan đến ngữ nghĩa của âm vị,
âm tiết Với tiếng Việt, trường độ không mang ngữ nghĩa nhưng trường độ lại
Trang 24đặc trưng cho một số yếu tố phi ngôn ngữ như người nói, cảm xúc ngữ điệu
1.5.4 Đặc trưng phổ
Phổ âm thanh là tính chất vật lý ảnh hưởng chủ yếu đến sự nhận thức
âm sắc âm thanh, trong đó âm sắc là phẩm chất hay màu sắc của tiếng nói hay
âm thanh Âm sắc giúp phân biệt những loại nguồn âm khác nhau như người nói khác nhau hay các loại nhạc cụ khác nhau Ví dụ, âm sắc có thể giúp phân biệt một kèn Saxophone và một kèn trumpet trong một nhóm chơi nhạc Jazz, ngay cả khi cả hai loại nhạc cụ này đang chơi những nốt nhạc có cùng cường
độ và cao độ
Phổ âm thanh ảnh hưởng chính bởi cấu trúc bộ máy cộng hưởng âm thanh, với tiếng nói đó là bộ máy dẫn âm và phát âm vocal tract Khi phân tích tín hiệu âm thanh, người ta có thể dùng phổ âm thanh thời gian ngắn hoặc dùng phiên bản tối giản đường bao phổ hình 1.11
Trang 25Hình 1.12: Đặc trưng phổ và đường bao phổ đặc trưng cho cơ quan phát âm
Có nhiều phương pháp tính toán các hệ số biểu diễn đường bao phổ, trong đó phương pháp phổ biến nhất là phương pháp MFCC
Các nghiên cứu cho ta thấy rằng hệ thống thính giác của con người thu nhận âm thanh với độ lớn các tần số âm thanh không theo thang tuyến tính Do đó, các thang âm thanh đã ra đời cho phù hợp với sự tiếp nhận của thính giác con người
Các thang được xây dựng bằng thực nghiệm, cho nên người ta xây dựng các công thức để xấp xỉ sự chuyển đổi này Trong các thang và công thức dạng đó thì đặc trưng MFCC sử dụng thang Mel Thang Mel được thể hiện thông qua đồ thị sau:
Trang 26Hình 1.13: Đồ thị biểu diễn mối quan hệ giữa Mel và Hz
Hình 1.8: Các bước trích đặc trưng MFCC
Hình 1.14: Các bước trích chọn đặc trưng
Ta dùng phép biến đổi Fourier để chuyển tín hiệu từ miền thời gian sang miền tần số Sau đó ta dùng dãy bộ lọc để lọc tín hiệu, đó là dãy
bộ lọc tam giác có tần số giữa đều nhau trên thang Mel
Biến đổi Fourier
Biến đổi Cosin
Trang 27Hình 1.15: Bộ lọc trên thang Mel
Trang 28CHƯƠNG II: MỘT SỐ PHƯƠNG PHÁP PHÂN LỚP TRONG NHẬN
DẠNG NGƯỜI NÓI QUA GIỌNG NÓI 2.1 Kỹ thuật so khớp mẫu trực tiếp
Một hệ thống so khớp mẫu dựa trên ý tưởng là so khớp lời nói với một
số tập mẫu được lưu trữ, chẳng hạn như một đoạn âm thanh mẫu Thường mỗi mẫu phù hợp với một người nói trong từ điển Người phân lớp sẽ tính toán sự khác nhau về âm thanh giữa lời nói thu vào và từng mẫu đã được lưu trữ trong
cơ sở dữ liệu Sau đó sẽ chọn mẫu so khớp nhất với dữ liệu nhập vào
Kỹ thuật so khớp mẫu được sử dụng rộng rãi trong sản xuất thương mại vào các thập niên 70 và 80 nhưng sau đó được thay thế bởi các phương pháp mạnh hơn Phương pháp so khớp mẫu trực tiếp truyền thống là phương pháp
sử dụng kỹ thuật so khớp thời gian động DTW còn phương pháp so khớp mẫu phổ biến nhất hiện nay là sử dụng kỹ thuật lượng tử hóa vector VQ Đặc biệt,
kỹ thuật lượng từ hóa vector (VQ) là kỹ thuật phổ biến nhất trong các hệ thống nhận dạng phụ thuộc vào từ khóa (text dependent)
2.1.1 Phương pháp so sánh mẫu trực tiếp cổ điển dùng giải thuật thời gian động (Dynamic time warping - DTW)
Phương pháp này áp dụng cho các bài toán nhận dạng người nói phụ
thuộc vào từ khóa Thuật toán DTW dựa trên Dynamic Time Warping, kỹ
thuật được mô tả trong [5], [9], [15] Đây là phương pháp so sánh khoảng cách giữa các chuỗi thời gian để xác định sự giống và khác nhau giữa chuỗi thời gian đầu vào và chuỗi thời gian lưu trong sơ sở dữ liệu Nếu hai chuỗi thời gian là giống nhau thì tất cả những đường cong W sẽ là đường thẳng Độ dài của đường cong W là thước đo của sự khác biệt giữa hai chuỗi thời gian
Trang 29cần so sánh Độ dài của đường cong W được tính theo Euclide là một khoảng cách hiệu quả đo lường được sử dụng trong kỹ thuật này
Cho hai chuỗi thời gian X, Y, độ dài | X | và | Y |,
X = x1, x2, , xi, x|x|
Y = y1, y2, , yi, y|y|
Hình 2.1: Hai chuỗi dữ liệu trong DTW theo thời gian
Với một đường cong W, W = w1, w2, ,wk; max(|X|,|Y|) K |X| +
|Y|, trong đó, K là độ dài của đường cong, wk là phần tử thứ k trong W, wk = (i, j), i là chỉ số trên chuỗi thời gian X và j là chỉ số trên chuỗi thời gian Y Đường cong phải bắt đầu ở mỗi chuỗi thời gian tại w1 = (1,1) và kết thúc ở cuối chuỗi thời gian tại wk = (|X|, |Y|), wk = (i, j), wk+1 = (i’, j’), i i’ i + 1, j’ j + 1 Khoảng cách giữa hai chuỗi thời gian |X|, |Y| được tính theo công thức (2.1)
2 1
D i j d i j D i j D i j D i j (2.2)
Trang 30Hình 2.2: Giãn tín hiệu có độ dài khác nhau: tín hiệu màu đỏ đã được giãn để
có độ dài tương ứng với tín hiệu màu xanh
Hình 2.3: Khoảng cách Euclidean tính cho 2 mẫu tiếng nói đã giãn để có độ
dài bằng nhau
Trang 312.1.2 Phương pháp phân lớp dùng lượng tử hóa vector (Vector
Quantization - VQ)
Khái niệm phép lượng tử hóa vector
Lượng tử hóa vector là một bộ xấp xỉ hóa Ý tưởng của nó giống với
việc làm tròn
Theo toán học việc lượng tử hóa vector k chiều bao gồm hai anh xạ:
quá trình mã hóa được thực hiện bằng hàm y, với mỗi điểm đầu vào x=(x0,
x1, , xk-1) ta có hàm mã hóa là y(x) M là ký hiệu của một tập các kênh; và
một bộ giải mã gán cho mỗi ký hiệu kênh vtrong M một giá trị trong bảng
chữ cái Ví dụ M có thể là một tập 2R (hệ nhị phân) vector R chiều
Nếu M có M phần tử, nếu số lượng R=log2M thì được gọi là tỷ lệ số bit
cho mỗi vector trong bộ lượng tử hóa và r= R/k là tỷ lệ số bit cho một chiều,
khi đầu vào là dạng sóng đã được lấy mẫu thì đó là số bit cho một mẫu
Lượng tử hóa vector là quá trình ánh xạ các vector từ không gian vector
tới một số lượng hữu hạn các vùng trong không gian đó Những vùng này
được gọi là các Cluster (cụm) và được biểu diễn bằng các vector trung tâm
của nó gọi là các trọng tâm Một tập các trọng tâm mà biểu diễn cả không
gian vector được gọi là một bảng mã (codebook)
Lượng tử hóa vector được sử dụng phổ biến trong các hệ thống mã hóa
nén khi chỉ lưu trữ các thông tin quan trọng nhất (codebook) và loại bỏ các
thông tin dư thừa
Trong hệ thống nhận dạng người nói, VQ được áp dụng cho một tập
các đặc trưng từ mẫu tiếng nói được gọi là tập các từ mã (codeword) và tạo ra
một codebook Quá trình tạo ra codebook từ codeword được áp dụng cho từng
mẫu người nói để huấn luyện cho hệ thống Sau khi huấn luyện mỗi một mẫu
Trang 32người nói có một mô hình bằng codebook [14] Codebook có chiều nhỏ hơn rất nhiều so với số chiều của vector trong tập vector đặc trưng trích được
Ưu điểm của lượng tử hóa vector:
- Giảm dung lượng lưu trữ thông tin phân tích phổ;
- Giảm lượng tính toán;
- Đưa ra một biểu diễn rời rạc cho tín hiệu âm tiếng nói Bằng việc đưa
ra một codebook “tốt” , ta có thể gán cho mỗi codevector một nhãn ngữ âm ứng với một frame tín hiệu, và cho ta một hệ nhận dạng tiếng nói khá hiệu quả
Một số hạn chế:
- Mất mát thông tin trong việc phục hồi vector gốc;
- Dung lượng lưu trữ không phải lúc nào cũng nhỏ
Mô hình toán học VQ được định nghĩa như sau:
Cho đầu vào là các vector đặc trưng, phải tìm ra phần của không gian vector trong các vùng được định nghĩa trước mà không che lấp lẫn nhau Mỗi vector trong vùng như vậy được biểu diễn bởi một trọng tâm tương ứng Quá trình lượng tử hóa vector hai người nói được mô tả trong hình 2.4
Hình 2.4a: Huấn luyện
Trang 33Hình 2.4b: Nhận dạng
Vấn đề cần quan tâm trong phương pháp VQ là phương pháp sinh codebook Một số kỹ thuật sinh codebook như thuật toán tự ánh xạ (SOM), thuật toán láng giềng gần nhất (PNN), tìm kiếm cục bộ ngẫu nhiên (RLS), kỹ thuật LBG (Linde, Buzo, and Gray), thuật toán K mean Trong đó thuật toán RLS thì xây dựng đơn giản hơn và sinh ra codebook tốt hơn trong hệ thống nhận dạng người nói Cỡ của codebook sẽ ảnh hưởng đến thời gian thực thi và
độ chính xác Cỡ codebook lớn thì tăng độ chính xác nhưng khối lượng tính toán lớn và ngược lại Kỹ thuật LBG (Linde, Buzo, and Gray) với giải thuật đơn giản nhưng khá hiệu quả với hệ thống nhận dạng người nói
Lỗi lượng tử (VQ – méo) là khoảng cách từ một vector từ mã (codeword) đến một codebook, được tính bằng tổng các bình phương khoảng cách giữa vector và trọng tâm của nó Các khoảng cách phổ biến là Euclid, city block, Euclid có trọng số và Mahalanobis Chúng được biểu diễn theo các công thức sau:
2 1