MỞ ĐẦU Xử lý tiếng nói là một lĩnh vực rộng lớn liên quan tới nhiều vấn đề khác nhau, trong đó có 2 hướng nghiên cứu nổi bật được quan tâm hơn cả: nhận dạng tiếng nói (speech recognition – nhận dạng điều gì đang được nói) và nhận dạng người nói (speaker recognition – nhận dạng ai đang nói). Bài toán nhận dạng người nói có xuất phát điểm chậm hơn nhận dạng tiếng nói, bắt đầu được nghiên cứu từ đầu những năm 1960, tuy nhiên các kết quả nghiên cứu trong nhận dạng người nói cũng đã đạt được nhiều thành tựu vượt bậc. Ví dụ điển hình của nhận dạng người nói như các kỹ thuật nhận dạng và định vị tội phạm thông qua điện thoại, hay xác nhận bảo mật tài khoản ngân hàng sử dụng giọng nói, … Nhận dạng người nói đã và đang được ứng dụng vào thực tin trên nhiều khía cạnh và đem lại nhiều lợi ích to lớn. Một hệ thống nhận dạng người nói thường bao gồm 2 thành phần cơ bản: thành phần ghi nhận người nói làm nhiệm vụ huấn luyện các mô hình người nói và ghi lưu vào cơ sở dữ liệu; thành phần kiểm thử người nói làm nhiệm vụ so sánh đoạn hội thoại với các mô hình trong cơ sở dữ liệu, từ đó đưa ra kết luận về người nói.
Kết luận ở đây có thể là định danh người nói (chỉ ra đó là ai trong tập cơ sở dữ liệu) hoặc xác nhận người nói (chấp nhận / từ chối người nói với định danh tự tuyên bố). Để làm sáng tỏ cơ chế hoạt động của hệ thống nhận dạng người nói, luận văn sẽ đưa ra tổng quan về các kĩ thuật trong nhận dạng người nói, tập trung nhấn mạnh vào bài toán định danh người nói và độc lập nội dung. Luận văn tổng kết một số kĩ thuật cổ điển và mới nhất trong lĩnh vực, bắt đầu với các khái niệm cơ bản về tự động nhận dạng người nói, các kĩ thuật trích xuất đặc trưng và mô hình hóa người nói. Bên cạnh đó luận văn còn cung cấp các so sánh, đánh giá, thực nghiệm các kỹ thuật nhận dạng người nói, đồng thời đi xây dựng một ứng dụng thực tin là hệ thống chấm công dựa trên nhận dạng giọng nói.
Giới thiệu bài toán nhận dạng người nói Nhận dạng người nói (speaker recognition), hay còn được gọi là sinh trắc học người nói (speaker biometrics) là lĩnh vực bao gồm các bài toán định danh, xác nhận, phân loại… các cá nhân dựa trên đặc trưng giọng nói người đó. Đầu những năm 1960, các nghiên cứu đầu tiên về nhận dạng người nói được bắt đầu tại Bell Lab do nhà nghiên cứu Pruzansky khởi xướng bằng việc sử dụng các bộ lọc dải (filter bank) và tương quan hai phổ tín hiệu số để đưa ra một độ đo mức tương đồng (similarity measure). Đến năm 1980, Paul Mermelstein đưa ra lý thuyết về đặc trưng âm thanh MFCC (Mel frequency cepstral coefficient) cho phép trích xuất đặc trưng giọng nói hiệu quả. Ngày này, bên cạnh việc ứng dụng các lý thuyết xác suất để mô hình hóa giọng nói con người, học máy cũng được ứng dụng và chứng tỏ hiệu quả trong việc cải thiện chất lượng các hệ thống nhận dạng người nói.
Nhận dạng người nói là nhận diện người từ tiếng nói của họ. Không có hai giọng nói nào hoàn toàn giống nhau, bởi vì sự khác nhau về hình dạng đường âm thanh, cấu tạo vòm họng, kích thướng khí quản, thanh quản và các bộ phận khác trong các cơ quan sinh tiếng nói. Ngoài các khác biệt thể lý đó, mỗi người lại cũng có những đặc trưng riêng về phong cách nói chuyện, bao gồm chất âm địa phương, nhịp điệu nói chuyện, cách thức phát âm, thói quen lựa chọn từ ngữ… Bên cạnh nhận dạng dựa trên khuôn mặt, nhận dạng dựa trên giọng nói đã được giới nghiên cứu đầu tư quan tâm cũng như ứng dụng thành công trong rất nhiều lĩnh vực của cuộc sống, ví dụ như trong điều tra trinh thám (phát hiện tội phạm trong các cuộc gọi trên mạng vin thông), các hệ thống hỗ trợ khách hàng qua tổng đài thoại (nhận dạng khách hàng hoặc xác thực khách hàng), phân tích nhật kí người nói (xác định người nào nói khi nào). Phân loại bài toán nhận dạng người nói Lý thuyết về nhận dạng người nói có thể phân loại thành các nhánh nghiên cứu như sau (Beigi, 2011): 11 Xác nhận người nói (Speaker verification): Trong hệ thống xác nhận người nói, cá nhân cần đưa ra tuyên bố về định danh của mình thông qua phương thức nhập tên, ID,… từ đó hệ thống truy xuất ra mô hình người nói tương ứng.
Tiếp đó, cá nhân này sẽ nói một đoạn hội thoại (thường theo một nội dung định trước). Tín hiệu tiếng nói của đoạn hội thoại sẽ được so sánh với mô hình người nói, từ đó làm kết quả xác nhận xem người này có đúng là người theo định danh đã được cung cấp hay không. Định danh người nói (Speaker identification): Bài toán định danh người nói bao gồm định danh tập đóng (closed-set) và định danh tập mở (open-set). Trong 2 bài toán con này, định danh tập đóng là bài toán đơn giản hơn: đoạn âm thanh của người nói sẽ được so sánh với tất cả các mô hình người nói và trả về ID người nói có mô hình gần giống nhất.
Định danh tập mở còn cần kiểm tra xem người nói này có nằm trong số những người nói đã được mô hình hóa hay không. Định danh tập mở có thể xem như bài toán kết hợp giữa định danh tập đóng và xác nhận người nói. Phân loại người nói (Speaker classification): Phân loại người nói được ứng dụng nhiều nhất trong phân loại giới tính và phân loại nhóm tuổi dựa trên giọng nói. Bài toán này thường ứng dụng nhiều các đặc trưng thể lý trong việc xây dựng mô hình.
Phân đoạn người nói (Speaker segmentation): Phân đoạn âm thanh thành các phần có chứa giọng nói của người, phần chứa nhạc, phần chứa tiếng thú vật, tiếng tàu xe… Phát hiện người nói (Speaker detection): 12 Phát hiện một hay nhiều cá nhân cụ thể trong một chuỗi âm thanh. Phát hiện người nói ứng dụng cả các kỹ thuật phân đoạn người nói và xác nhận/định danh người nói. Trong các nhánh nghiên cứu này, nhánh về xác nhận người nói và định danh người nói là các nhánh nhận được nhiều sự quan tâm nhất và cũng phát triển nhất cả về lý thuyết cũng như ứng dụng thực tin. Ngoài ra, các hệ thống nhận dạng người nói còn được chia làm hai loại: Hệ thống phụ thuộc nội dung (text-dependence): Trong hệ thống phụ thuộc nội dung thì nội dung nói được cố định hoặc đã biết trước.
Ví dụ người nói sẽ nói một dãy các chữ số cho trước. Hệ thống độc lập nội dung (text-independence): Trong hệ thống độc lập nội dung không có ràng buộc về các từ mà người nói sử dụng. Do đó nội dung các lời nói khi huấn luyện và kiểm tra (training and test) có thể hoàn toàn khác nhau. Hệ thống độc lập nội dung có nhiều thách thức hơn trong hai loại.
Mục tiêu của luận văn Luận văn ngoài việc đi sâu nghiên cứu các lý thuyết nhận dạng người nói còn đi vào ứng dụng thực tin để xây dựng thành một hệ thống chấm công nhân viên tự động dựa trên nhận dạng giọng nói, cụ thể: • Nghiên cứu, cài đặt, so sánh, đánh giá hiệu năng và lựa chọn thuật toán dùng trong định danh người nói. • Xây dựng và thử nghiệm hệ thống chấm công dựa trên cài đặt và tối ưu tham số các thuật toán đã nghiên cứu. Phạm vi luận văn Luận văn đưa ra các đánh giá, thực nghiệm với giả thuyết dữ liệu âm thanh thu thập trong môi trường lý tưởng (phòng kín, người nói nói thẳng vào micro, không có nhiu tạp xung quanh). Bài toán định danh người nói được nghiên cứu và cài đặt theo hướng thỏa mãn 2 yêu cầu: • Định danh dạng tập mở (Open-set identification): cho phép kiểm thử và phát hiện người nằm ngoài tập người nói đã được mô hình hóa.
• Định danh độc lập nội dung (Text independent identification): cho phép kiểm thử với câu nói bất kỳ, không phụ thuộc vào tập câu nói đã đưa vào huấn luyện. Các vấn đề cơ bản của định danh người nói được nghiên cứu trong luận văn bao gồm: • Bài toán trích xuất đặc trưng giọng nói (Voice feature extraction), bao gồm thuật toán MFCC. • Bài toán mô hình hóa người nói (Speaker modelling), bao gồm các thuật toán GMM, UBM, Random Forest và SVM. Cấu trúc luận văn Để giúp người đọc có được cái nhìn từ khái quát đến chi tiết công việc cũng như kết quả của đề tài, phần tiếp theo của luận văn sẽ được trình bày như sau: • Chương II: Cơ sở lý thuyết.
Chương này giới thiệu tổng quan các thành phần trong hệ thống nhận dạng người nói; trình bày các đặc trưng giọng nói và phương pháp trích xuất đặc trưng; trình bày các thuật toán mô hình hóa người nói cơ bản. • Chương III: Các mô hình người nói nâng cao. Chương này trình bày về các thuật toán mô hình hóa người nói nâng cao. 14 • Chương IV: Thực nghiệm và đánh giá kết quả.
Chương này đưa ra thông tin các bộ dữ liệu dùng trong thực nghiệm, các thuật toán và kịch bản thực nghiệm, kết quả của thực nghiệm đi kèm đánh giá. • Chương V: Hệ thống chấm công tự động dựa trên nhận dạng giọng nói. Chương này trình bày về tổng quan hệ thống chấm công dựa trên nhận dạng giọng nói, thiết kế của hệ thống cũng như cách khai thác vận hành hệ thống. • Chương VI: Kết luận và hướng phát triển.
Chương này cung cấp tổng kết về những kết quả đã thu được, phác họa các hướng nghiên cứu phát triển tiếp theo. 15 CHƯƠNG II. CƠ SỞ LÝ THUYẾT NHẬN DẠNG NGƯỜI NÓI Chương này giới thiệu về cơ sở lý thuyết được sử dụng trong phát triển các hệ thống nhận dạng người nói, bao gồm tổng quan của 1 hệ thống nhận dạng người nói, các phương pháp trích xuất đặc trưng và các kỹ thuật mô hình hóa người nói cơ bản. Tổng quan hệ thống nhận dạng người nói Một hệ thống nhận dạng người nói sẽ bao gồm 2 mô-đun chính: • Mô-đun ghi nhận người nói: làm nhiệm vụ xây dựng các mô hình tương ứng với các cá nhân thông qua các đoạn hội thoại do cá nhân đó cung cấp.
• Mô-đun định danh/xác nhận: làm nhiệm vụ định danh/xác nhận cá nhân chưa biết thông qua đoạn hội thoại do người đó nói ra.