Đề tài Xây dựng và khảo sát độ dài từ khóa trong nhận dạng người nói phụ thuộc vào từ khóa Tiếng Việt theo mô hình Markov ẩn

Nhận dạng người nói phụ thuộctừ khóa (text dependent speaker recognition) làkỹ thuật nhậndạng người nói có khảnăng ứngdụngrấtlớn, vídụ như đăng nhập vào cáchệ thống an ninhbằngmật khẩu tiếng nói hay truycậpbằng tiếng nói vào cáchệ thống giaodịch ngân hàng trênmạng điện thoại thông qua mãsố cá nhân (số PIN). Dotậndụng được các thông tin biết trước lànội dung tiếng nói khi huấn luyệncũng như khi nhậndạng nên độ chính xác nhậndạngtăng lên trong khi thời gian huấn luyện và nhậndạnglại giảm nhiều sovới nhândạng người nói không phụ thuộctừ khóa (text independent speaker recognition). Tuy nhiênhạn chếcủakỹ thuật này là không cósự thay đổi trongmật khẩu nênhệ thốngdễbịtấn công bởi nhữngkẻ giảmạobằng cách ghi âmlạimật khẩu vàtấn cônghệ thống. Để chốnglại điều này, nhiềuhệ thống đã thay đổi cáccụmtừmật khẩu. Chẳnghạn trong trườnghợpcụmtừ là cácsố,hệ thốngsẽ sinh mộtcụmtừmật khẩu làmột dãysố ngẫu nhiên nào đó và thông báo nómỗi khi có người đăng nhậphệ thống. Các nghiêncứu chỉ rarằng việcsửdụng các dãysố và mộtsố cáctừcố định trongcụmtừmật khẩu khá hiệu quả khi chốnglạisự giảmạo theo kiểu ghi âmtừ khóa [1]. Trong pha huấn luyện, những người đăng kýsẽ nói cácsố vàmộtsố cáctừcố định. Khi nhậndạng,hệ thốngsẽ thay đổicụmtừmỗilần đăng nhập trongtập cáctừ được huấn luyện.Mặc dù việc nhậndạng này vẫn là phụ thuộctừ khóa song nó làm chosự giảmạo trở nên khó khănhơnrất nhiều vì không biết được chính xáccụmtừmật khẩutự sinhcủahệ thống. Các hệ thống nhưvậy đượcgọi là cáchệ nhậndạng người nói phụ thuộctừ khóa thay đổi (text prompted speaker recognition).

pdf7 trang | Chia sẻ: vietpd | Lượt xem: 2363 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Đề tài Xây dựng và khảo sát độ dài từ khóa trong nhận dạng người nói phụ thuộc vào từ khóa Tiếng Việt theo mô hình Markov ẩn, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tạp chí BCVT & CNTT kỳ 3 10/2007 - 93 - Abstract: A text-dependent speaker identification system for Vietnamese language was proposed. Vietnamese isolated digits 09 and their concatenations were used for speaking text. Well-known Hiden Markov Model (HMM) was conducted for recognition engine. The problem is that how many word of the Vietnamese text so that the system is most effective. Studying the identification rate shows optimum number of words of the text for the system. I. GIỚI THIỆU Nhận dạng người nói phụ thuộc từ khóa (text dependent speaker recognition) là kỹ thuật nhận dạng người nói có khả năng ứng dụng rất lớn, ví dụ 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 các 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 tận dụng được các thông tin biết trước là nội dung tiếng nói khi huấn luyện cũng như khi nhận dạng nên độ chính xác nhận dạng tăng lên 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 người nói không phụ thuộc từ khóa (text independent speaker recognition). Tuy nhiên hạn chế của kỹ thuật này là 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 và tấn công hệ thống. Để chống lại điều này, nhiều hệ thống đã thay đổi các cụm từ mật khẩu. Chẳng hạn trong trường hợp cụm từ là các số, hệ thống sẽ sinh 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 hệ thống. Các nghiên cứu chỉ ra rằng việc sử dụng các dãy số và một số các từ cố định trong cụm từ mật khẩu khá hiệu quả khi chống lại sự giả mạo theo kiểu ghi âm từ khóa [1]. Trong pha huấn luyện, những người đăng ký sẽ nói các số và một số các từ cố định. Khi nhận dạng, hệ thống sẽ thay đổi cụm từ mỗi lần đăng nhập trong tập các từ được huấn luyện. Mặc dù việc nhận dạng này vẫn là phụ thuộc từ khóa song nó làm cho sự giả mạo trở nên khó khăn hơn rất nhiều vì không biết được chính xác cụm từ mật khẩu tự sinh của hệ thống. Các hệ thống như vậy được gọi là các hệ nhận dạng người nói phụ thuộc từ khóa thay đổi (text prompted speaker recognition). Trên phương diện ngữ âm, tiếng Việt là một ngôn ngữ đơn âm tiết do vậy độ dài từ khóa ở đây được xác định là số âm tiết trong từ khóa. Trong trường hợp cụm từ khóa là các số tự nhiên từ 0 đến 9, từ khóa (tức mật khẩu từ sinh của hệ thống) sẽ là một dãy số ngẫu nhiên nào đó, ví dụ 5372693 là một từ khóa có độ dài là 7 âm tiết. Vấn đề đặt ra ở đây là độ dài từ khóa tự sinh của hệ thống bằng bao nhiêu thì hợp lý. Nếu quá ngắn độ chính xác nhận dạng sẽ khó được đảm bảo, ngược lại nếu quá dài thời gian nhận dạng sẽ tăng lên nhưng độ chính xác nhận dạng liệu có tăng như mong muốn hay chỉ tiêu tốn thêm thời gian nhận dạng. Với các ngôn ngữ khác vấn đề này cũng đã được đặt ra. Ví dụ như với tiếng Thái, cũng là một ngôn ngữ đơn âm tiết và có thanh điệu như tiếng Việt, các tác giả trong [6] đã sử dụng các đặc trưng là các hệ số LPCC và mạng nơron perception nhiều lớp (MLP) để phân lớp người nói các con số bằng tiếng Thái, kết quả cho thấy khi độ dài từ khóa lớn hơn 4 độ chính xác nhận dạng hầu như không tăng hoặc tăng không đáng kể. Bài viết này trình bày các kết quả khảo sát độ chính xác nhận Xây dựng và khảo sát độ dài từ khóa trong nhận dạng người nói phụ thuộc vào từ khóa tiếng Việt theo mô hình Markov ẩn Developing and Studying the Length of the Text in Vietnamese Text Dependent Speaker Recognition by HMM Ngô Minh Dũng, Đặng Văn Chuyết Tạp chí BCVT & CNTT kỳ 3 10/2007 - 94 - dạng người nói với các độ dài cụm từ mật khẩu khác nhau của một hệ thống nhận dạng người nói phụ thuộc từ khóa thay đổi theo mô hình Markov ẩn (HMM) với tập từ khóa huấn luyện là các âm tiếng Việt từ số 0 đến số 9 . Bài viết gồm 5 phần. Ngoài phần giới thiệu này, phần 2 sẽ trình bày về lựa chọn vector đặc trưng và mô hình phân lớp cho người nói khi xây dựng hệ nhận dạng người nói phụ thuộc từ khóa là các âm tiết tiếng Việt. Phần 3 trình bày cơ sở dữ liệu tiếng nói để huấn luyện, kiểm tra hệ thống và lựa chọn phương pháp nghiên cứu. Phần 4 xây dựng một hệ nhận dạng người nói phụ thuộc từ khóa thay đổi theo mô hình HMM. Phần 5 là kết quả khảo sát mô hình được đề xuất theo độ dài từ khóa và kết luận đánh giá. II. LỰA CHỌN VECTOR ĐẶC TRƯNG VÀ MÔ HÌNH PHÂN LỚP NGƯỜI NÓI Cũng giống như khi xây dựng các hệ nhận dạng tự động, hai vấn đề luôn được đặt ra khi xây dựng hệ nhận dạng người nói đó là trích chọn đặc trưng nào và lựa chọn mô hình phân lớp như thế nào cho nhận dạng người nói. 1. Trích chọn các đặc trưng người nói Việc trích chọn đặc trưng người nói có một ý nghĩa hết sức quan trọng, tác dộng trực tiếp tới độ chính xác nhận dạng của hệ nhận dạng người nói. Với các hệ nhận dạng người nói nói chung, các đặc trưng về người nói được trích chọn có thể chia ra 2 nhóm. Nhóm một bao gồm các loại đặc trưng mang thông tin về tiếng nói như các tần số formant, tần số âm cơ bản, hay năng lượng… Nhóm hai gồm các loại đặc trưng mang thông tin về đường bao phổ như các hệ số dự đoán tuyến tính (LPC), các hệ số cepstrum, các hệ số cepstrum dự đoán tuyến tính (LPCC) hay các hệ số ceptrum tần số Mel (MFCC).... Các nghiên cứu về nhận dạng người nói đều chỉ ra rằng, các đặc trưng thuộc nhóm hai hiệu quả hơn so với nhóm một. Trong số các loại đặc trưng mang thông tin về đường bao phổ, họ các hệ số ceptrum có khả năng phân biệt người nói tốt hơn so với các đặc trưng khác do các hệ số này khai thác khá tốt các đặc tính của tuyến âm, một trong các đặc tính quan trọng nhất phân biệt giọng nói người này với người khác. Để xây dựng hệ nhận dạng người nói phụ thuộc từ khóa cho tiếng Việt chúng tôi chọn các hệ số MFCC làm đặc trưng trích chọn vì so với các đặc trưng khác việc tính toán MFCC không quá phức tạp. Và một thực tế là rất nhiều hệ nhận dạng người nói hiện nay trên thế giới sử dụng các hệ số MFCC làm đặc trưng trích chọn. Việc lựa chọn số hệ số MFCC dựa trên những yêu cầu khác nhau về độ chính xác nhận dạng hay tốc độ tính toán, tùy theo từng tác giả, có thể chọn bằng 12 như tác giả J.E. Higgins and R.I.Damper trong [2], bằng 15 như Chai Wutiwiwachai và các cộng sự trong [3] hay thậm chí là 20 như tác giả Minh N Do trong [4]. Với hệ thống nhận dạng khảo sát ở đây chúng tôi đã chọn số hệ số MFCC bằng 19 sau khi đã bỏ đi hệ số đầu tiên. Việc lựa chọn số hệ số MFCC này dựa trên kết quả khảo sát độ chính xác nhận dạng người nói của các âm tiết tiếng Việt đã được chúng tôi trình bày trong [12]. Còn việc loại bỏ hệ số MFCC đầu tiên do hệ số này mang thông tin về thành phần một chiều, một thông tin không có ý nghĩa phân biệt người nói [5]. Tất cả các đặc trưng người nói trên được gọi chung các đặc trưng tĩnh. Bên cạnh đó còn có các đặc trưng động biểu diễn tốc độ cũng như gia tốc thay đổi của các đặc trưng tĩnh. Các đặc trưng động này còn được gọi là các tham số Delta và Delta-Delta của các đặc trưng nguyên mẫu (tức các đặc trưng tĩnh). Rất nhiều hệ nhận dạng người nói được xây dựng dựa trên các đặc trưng nguyên mẫu kết hợp với các tham số Delta cũng như các tham số Delta-Delta của chúng như trong [2] chẳng hạn và kết quả nhận dạng thực sự đã tăng lên so với khi chỉ dùng các đặc trưng nguyên mẫu. Một khảo sát nhận dạng người nói dựa trên mô hình HMM và các đặc trưng MFCC trong [11] đã chỉ ra sai số nhận dạng người nói giảm từ 11.22% xuống còn 10.33% khi các đặc trưng là các hệ số MFCC được kết hợp với tham số Delta và xuống còn 10.05% khi kết hợp thêm cả với tham số Delta-Delta. Tuy nhiên, việc kết hợp này cũng có một số nhược điểm. Thứ nhất, việc kết hợp này sẽ làm không gian Tạp chí BCVT & CNTT kỳ 3 10/2007 - 95 - vector đặc trưng tăng lên 2 đến 3 lần so với không gian vector đặc trưng nguyên mẫu, và do vậy sẽ phải đòi hỏi nhiều dữ liệu hơn cho huấn luyện cũng như khi nhận dạng người nói, và hệ lụy là thời gian tính toán cũng phải tăng lên. Hơn nữa, do phạm vi thay đổi của các tham số Delta và các đặc trưng nguyên mẫu là không như nhau do vậy cần phải chuẩn hóa trước khi kết hợp chúng vào trong một không gian vector đặc trưng duy nhất và điều đó cũng làm tiêu tốn thêm thời gian xử lý. Bên cạnh đó là việc xác định giá trị tối ưu cho kích thước cửa sổ hồi quy khi xác định các tham số Delta và Delta-Delta là không dễ dàng khi mà tốc độ cũng như gia tốc thay đổi của các hệ số của đặc trưng nguyên mẫu là không như nhau. Cuối cùng, một số khảo sát cho thấy nếu chỉ sử dụng các tham số Delta thì độ chính xác nhận dạng người nói thấp hơn nhiều so với khi chỉ sử dụng các đặc trưng nguyên mẫu [5]. Điều này chứng tỏ các đặc trưng tĩnh mang thông tin về người nói nhiều hơn so với các đặc trưng động. Đứng trước sự lựa chọn giữa độ chính xác và tốc độ xử lý, trong nghiên cứu ở đây chúng tôi chỉ sử dụng các đặc trưng nguyên mẫu là 19 hệ số MFCC. 2. Mô hình phân lớp người nói Do trong các hệ nhận dạng người nói phụ thuộc từ khóa, số lượng từ khóa thường bị giới hạn trong một số từ (word) hoặc một số cụm từ/câu cố định (phrase), nên mô hình người nói của các hệ này thường dựa trên chính các từ hoặc các cụm từ cố định đó. Việc xác định từ hay cụm từ hay một đơn vị ngôn ngữ nào đó để xây dựng mô hình người nói cần phải được đặt ra trước khi lựa chọn mô hình thích hợp. Thông thường các đơn vị ngôn ngữ dùng để xây dựng mô hình người nói là các cụm từ, từ và dưới mức từ (âm tiết (syllable) hay âm vị (phoneme) …). Các mô hình người nói dựa trên các đơn vị ngôn ngữ khác nhau có các ưu nhược điểm khác nhau và việc lựa chọn đơn vị nào là tùy thuộc vào từng ứng dụng cụ thể. Một khảo sát hệ nhận dạng người nói tiếng Anh trong [9] cho thấy mô hình người nói dựa trên các cụm từ có khả năng nhận dạng người nói tốt nhất, tiếp đến là mô hình dựa trên các từ, trong khi các mô hình dựa trên âm vị cho kết quả kém nhất. Tuy nhiên, nhược điểm chính của các mô hình cụm từ là từ khóa bị cố định hoàn toàn và vì thế tính bảo mật không cao. Ngược lại mô hình dựa trên âm vị rất linh hoạt, chỉ với một số nhỏ các âm vị cũng có thể tạo ra vô số các từ khóa khác nhau. Dung hòa giữa 2 loại này chính là các mô hình dựa trên các từ. Về tính khả thi, việc dán nhãn tự động cho các âm vị là một bài toán rất khó trong khi đó với mức từ, bài toán dán nhãn vẫn có tính khả thi hơn nhiều đặc biệt với lối nói rời rạc. Còn với tiếng Việt thì sao? Khác với tiếng Anh là ngôn ngữ đa âm tiết (mỗi từ gồm nhiều âm tiết), tiếng Việt là ngôn ngữ đơn âm tiết và ranh giới giữa đơn vị phát âm nhỏ nhất (âm tiết) trùng với ranh giới giữa đơn vị ngôn ngữ có nghĩa nhỏ nhất (hình vị ) [13], do vậy không như tiếng Anh, vai trò của âm tiết trong ngữ âm tiếng Việt lớn hơn rất nhiều. Rõ ràng việc xây dựng các mô hình người nói cho tiếng Việt dựa trên đơn vị ngôn ngữ là âm tiết / hình vị sẽ giúp làm dễ dàng hơn khi dán nhãn tự động các âm tiết cũng như khi tổ hợp chúng để tạo ra các từ khóa khác nhau. Hiện có nhiều mô hình phân lớp nhận dạng cho hệ nhận dạng người nói phụ thuộc từ khóa đã được nghiên cứu như phương pháp đối sánh mẫu áp dụng thuật toán gói thời gian động (DTW) [5], nhận dạng bằng mạng nơron perception nhiều lớp (MLP) [7], hay sử dụng mô hình thống kê như mô hình Markov ẩn (HMM) [2] [8]…. Trong đó nhận dạng bằng mô hình HMM được đánh giá là có tính hiện thực cao, do mô hình này còn đề cập đến yếu tố thay đổi theo thời gian của tiếng nói. Trong một khảo sát so sánh khả năng nhận dạng người nói phụ thuộc từ khóa của cả 3 loại mô hình DTW, MLP và HMM các tác giả trong [10] cũng chỉ ra mô hình HMM cho độ chính xác cao nhất. Nhìn chung một mô hình HMM có thể coi như bộ sinh trạng thái hữu hạn, áp dụng trong nhận dạng người nói thì mỗi trạng thái của mô hình này có thể biểu diễn một âm vị hay một vị trí tương đối tĩnh của cơ quan cấu âm, còn chuỗi quan sát là chuỗi các vector đặc trưng được trích chọn. Thông tin thời gian được mã hóa bằng việc chuyển từ trạng thái này sang trạng thái khác theo chuỗi chuyển tiếp. Thời gian tiêu tốn trên mỗi trạng thái không giống nhau tùy thuộc vào tiếng nói mỗi người. Do vậy chúng tôi đã chọn mô hình Tạp chí BCVT & CNTT kỳ 3 10/2007 - 96 - Markov ẩn có hàm mật độ xác suất liên tục (continue density HMM) với các trạng thái chuyển đổi từ trái qua phải để biểu diễn các âm tiết của người nói tiếng Việt Do cấu tạo của mỗi âm tiết tiếng Việt có ít nhất là 1 âm vị và nhiều nhất là 5 âm vị [13], nên việc chọn số trạng thái cho mô hình HMM biểu diễn một âm tiết tiếng Việt có thể thay đổi từ 3 cho đến 7 trạng thái tùy thuộc từng âm tiết. Tuy nhiên, nếu chúng ta coi mỗi trạng thái chỉ đơn giản là tương ứng với một vị trí tương đối tĩnh của cơ quan cấu âm thì việc chọn số trạng thái bằng 7 cho mô hình HMM biểu diễn mỗi âm tiết tiếng Việt là hợp lý nhất. Thực tế với hệ thống nhận dạng khảo sát ở đây chúng tôi đã chọn mô hình Markov ẩn có hàm mật độ xác suất liên tục (CDHMM) với 7 trạng thái chuyển đổi từ trái qua phải (bao gồm cả 2 trạng thái bắt đầu và kết thúc) để xây dựng mô hình cho từng người nói trong hệ nhận dạng này. Một nghiên cứu khảo sát độ chính xác nhận dạng người nói dựa trên âm tiết tiếng Việt trước đây của chúng tôi [12] cũng chỉ ra rằng việc lựa chọn số trạng thái bằng 7 cho loại mô hình này là giá trị tối ưu. So với tiếng Hán, một ngôn ngữ cũng có đặc trưng đơn âm tiết và có thanh điệu như tiếng Việt, khi sử dụng mô hình HMM chuyển đổi trạng thái từ trái qua phải với các đặc trưng là các hệ số LPCC để xây dựng mô hình người nói cho từng âm tiết tiếng Hán, các tác giả trong [10] đã chỉ ra số trạng thái bằng 6 cho độ chính xác nhận dạng người nói tốt nhất. III. CƠ SỞ DỮ LIỆU TỪ KHÓA VÀ LỰA CHỌN PHƯƠNG PHÁP NGHIÊN CỨU Như đã nói ở trên, để nghiên cứu khả năng nhận dạng người nói theo độ dài từ khóa chúng tôi chọn cụm từ khóa là các số và hệ thống sẽ sinh một cụm từ mật khẩu là một dãy số ngẫu nhiên. Tập từ khóa huấn luyện là các âm tiếng Việt từ số 0 đến số 9, đó là các âm tiết: “Không”, “Một”, “Hai”, “Ba”, “Bốn”, “Năm”, “Sáu”, “Bẩy”, “Tám”, “Chín”. Cơ sở dữ liệu gồm 140 người nói (61 nam, 79 nữ độ tuổi từ 20 đến 55 và đều nói giọng Bắc bộ), mỗi người nói 15 lần các âm tiết trên trực tiếp vào micro của máy tính trong những khoảng thời gian khác nhau, trong môi trường văn phòng. Một chương trình cho phép thu và ghi tự động tín hiệu âm thanh của mỗi âm tiết trong khoảng thời gian 1 giây. Với từng âm tiết, mỗi lần phát âm của mỗi người được lấy mẫu ở tần số 11025 Hz, mã hóa PCM, 16 bit, mono và lưu dưới một file wav riêng. Với mỗi người nói, các file âm thanh dữ liệu của 10 lần phát âm đầu được dùng để huấn luyện hệ thống, còn các file của 5 lần sau được dùng để kiểm tra. Với một cơ sở dữ liệu là các âm tiết rời rạc thuộc từng file âm thanh khác nhau như vậy, việc nghiên cứu khả năng nhận dạng người nói theo độ dài từ khóa có thể được thực hiện bằng một trong hai phương pháp sau. Phương pháp thứ nhất, thực hiện việc sinh ra dãy số ngẫu nhiên trong miền thời gian bằng cách kết hợp ngẫu nhiên các âm tiết rời rạc từ các file dữ liệu âm thanh của các số từ 0 đến 9. Với mỗi dãy số sinh ra, xây dựng một hệ nhận dạng người nói phụ thuộc từ khóa và đánh giá độ chính xác nhận dạng của nó. Khảo sát so sánh độ chính xác nhận dạng của các hệ nhận dạng người nói phụ thuộc từ khóa này theo độ dài từ khóa. Phương pháp này khá tốn kém do số lượng dãy số ngẫu nhiên sinh ra rất lớn nên chỉ có thể khảo sát trên một số hệ nhận dạng người nói đại diện nào đó mà thôi. Phương pháp thứ hai, thực hiện việc sinh ra dãy số ngẫu nhiên trong miền tham số. Cách này thay vì phải xây dựng rất nhiều các hệ nhận dạng người nói phụ thuộc từ khóa như trên, trong pha huấn luyện ta chỉ xây dựng 10 hệ nhận dạng người nói ứng với các 10 từ khóa lần lượt là các âm tiết từ “không” đến “chín”. Quyết định đầu ra của hệ thống sẽ là sự kết hợp đầu ra của 10 hệ nhận dạng người nói phụ thuộc từ khóa này. Việc khảo sát độ chính xác nhận dạng người nói theo độ dài từ khóa sẽ được thực hiện bằng cách thay đổi số lượng kết hợp đầu ra của các hệ nhận dạng này. Như vậy về bản chất phương pháp này chính là xây dựng một hệ nhận dạng người nói phụ thuộc từ khóa thay đổi không chỉ nội dung mà cả độ dài từ khóa. Rõ ràng phương pháp thứ hai này tỏ ra khả thi hơn phương pháp đầu và chúng tôi đã quyết định chọn phương Tạp chí BCVT & CNTT kỳ 3 10/2007 - 97 - pháp này để nghiên cứu khảo sát. IV. XÂY DỰNG HỆ NHẬN DẠNG NGƯỜI NÓI PHỤ THUỘC TỪ KHÓA THAY ĐỔI Như mọi hệ nhận dạng tự động khác, nhận dạng người nói phụ thuộc từ khóa thay đổi cũng bao gồm hai pha, pha huấn luyện (hay pha học) và pha nhận dạng. Để xây dựng hệ nhận dạng người nói phụ thuộc từ khóa thay đổi là các chuỗi số khác nhau trước hết hệ thống phải được huấn luyện tập từ khóa là các âm tiết từ số 0 đến số 9 như đã nói ở trên (pha huấn luyện). Trong pha này, hệ thống được huấn luyện như khi xây dựng các hệ nhận dạng người nói phụ thuộc từ khóa là các âm tiết rời rạc từ 0 đến 9 (hình 1a). Đầu tiên tín hiệu tiếng nói từ các file âm thanh dữ liệu được loại bỏ các khoảng lặng. Sau đó tín hiệu này được phân khung, mỗi khung khoảng 25ms với độ chồng khung 50% và được hiệu chỉnh (bù suy giảm vùng tần số cao) bằng một bộ lọc thông cao. Sử dụng hàm cửa sổ Hamming để tối thiểu hóa sự ngắt quãng của tín hiệu tại điểm đầu và cuối của mỗi khung. Tiếp đến các hệ số MFCC (vector đặc trưng) sẽ được trích chọn trên mỗi khung tín hiệu. Trong quá trình huấn luyện, với mỗi người nói, chuỗi các vector đặc trưng của 10 lần phát âm đầu ứng với từng âm tiết nói trên sẽ được đưa vào huấn luyện. Áp dụng thuật toán vọng số cực đại EM (Expectance Maximization) cho quá trình huấn luyện để tính toán các tham số của các mô hình HMM cho từng người nói. Trong pha nhận dạng, nguyên lý làm việc của hệ nhận dạng người nói.phụ thuộc từ khóa có độ dài không đổi được xây dựng từ các hệ nhận dạng người nói phụ thuộc từ khóa đơn âm tiết như trên sơ đồ (hình 1b). Đầu tiên bộ tạo số ngẫu nhiên tạo chuỗi số bất kỳ có độ dài M. Người được nhận dạng sẽ phải phát âm chuỗi số này một cách rời rạc từng số một vào hệ thống. Ở đây, để tiện việc kiểm tra, bất kỳ lần nào trong số 5 lần phát âm còn lại của mỗi âm tiết từ 0 đến 9 của mỗi người nói có trong cơ sở dữ liệu sẽ được dùng để Hình 1a: Pha huấn luyện hệ nhận dạng người nói phụ thuộc từ khóa thay đổi Hình 1b: Pha nhận dạng hệ nhận dạng người nói phụ thuộc từ khóa thay đổi Tạp chí BCVT & CNTT kỳ 3 10/2007 - 98 - kiểm tra. Quá trình trích chọn đặc trưng (các hệ số MFCC) được tiến hành như trong pha huấn luyện. Chuỗi vector đặc trưng trích chọn từ mỗi âm tiết được coi là chuỗi quan sát, áp dụng thuật toán Viterbi để tính xác suất tích lũy của chuỗi quan sát phù hợp nhất với mỗi mô hình trong quá trình nhận dạng của hệ thống. Tổ hợp xác xuất tích lũy từ các âm tiết được thực hiện theo phương pháp tổng logarit các xác suất thành phần Quyết định nhận dạng người thứ i trong cơ sở dữ liệu N người nói được thực hiện theo hàm quyết định sau: ( )( )arg max arg max log , M n m i y p x ω m n = é ù= =ë û å 1 Trong đó: yn: điểm số đối sánh của người thứ n trong tập dữ liệu N người nói (1 £ n £ N) M: độ dài từ khóa p(x|w(m,n)): xác suất của mô hình markov ẩn (w(m,n)) của âm tiết thứ m của người thứ n với chuỗi quan sát x. Như vậy, nếu lấy thời gian phát âm trung bình của một âm tiết tiếng Việt vào khoảng 300ms thì hệ nhận dạng người nói này có thời gian tín hiệu tiếng nói dùng cho pha huấn luyện là