TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT HƢNG YÊN
KHOA CÔNG NGHỆ THƠNG TIN
BÁO CÁO TĨM TẮT
ĐỀ TÀI KHOA HỌC VÀ CƠNG NGHỆ CẤP TRƢỜNG
PHƢƠNG PHÁP NHẬN DẠNG NGƢỜI NĨI PHỤ THUỘC
TỪ KHĨA TIẾNG VIỆT VÀ XÂY DỰNG CHƢƠNG TRÌNH
ỨNG DỤNG NHẬN DẠNG NGƢỜI NÓI
Chủ nhiệm đề tài: CN. Đào Thị Thu Diệp
Hƣng Yên, tháng 10 năm 2012
DANH SÁCH NHỮNG THÀNH VIÊN
THAM GIA NGHIÊN CỨU ĐỀ TÀI
Họ và tên
Học hàm, học vị
Đơn vị công tác
Đào Thị Thu Diệp
Cử nhân
Khoa CNTT
DANH SÁCH ĐƠN VỊ PHỐI HỢP
Tên đơn vị
Khoa CNTT
Địa chỉ
Trƣờng ĐHSPKT Hƣng Yên
2
Điện thoại
03213767188
MỤC LỤC
PHẦN I: MỞ ĐẦU .................................................................................. 6
1. TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU THUỘC LĨNH VỰC ĐỀ
TÀI Ở TRONG VÀ NGOÀI NƢỚC ....................................................... 6
1.1. Thế giới............................................................................................. 6
1.2. Trong nƣớc ....................................................................................... 6
2. TÍNH CẤP THIẾT .............................................................................. 6
3. MỤC TIÊU .......................................................................................... 7
4. CÁCH TIẾP CẬN CỦA ĐỀ TÀI ........................................................ 7
5. ĐỐI TƢỢNG VÀ PHẠM VI NGHIÊN CỨU .................................... 7
6. NỘI DUNG NGHIÊN CỨU................................................................ 7
7. PHƢƠNG PHÁP NGHIÊN CỨU ....................................................... 7
PHẦN II: CÁC KẾT QUẢ ĐẠT ĐƢỢC ................................................ 9
CHƢƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG NGƢỜI NĨI .............. 9
1.1. Nhận dạng ngƣời nói ........................................................................ 9
1.1.1. Phân loại các bài toán nhận dạng ngƣời nói ......................... 9
1.1.2. Ứng dụng của nhận dạng ngƣời nói ...................................... 9
1.2. Nhận dạng ngƣời nói phụ thuộc từ khóa .......................................... 9
1.2.1. Các thành phần của một hệ thống nhận dạng ngƣời nói phụ
thuộc từ khóa .................................................................................. 9
1.2.2. Các giai đoạn xử lý của một hệ thống nhận dạng ngƣời nói
phụ thuộc vào từ khóa ................................................................... 10
CHƢƠNG 2: TRÍCH CHỌN TÍN HIỆU TIẾNG NĨI ......................... 12
2.1. Trích chọn đặc trƣng MFCC .......................................................... 12
2.1.1. Sơ đồ khối của q trình tính MFCC .................................. 12
2.1.2. Nhấn mạnh tín hiệu ............................................................. 12
2.1.3. Tạo khung tín hiệu .............................................................. 12
2.1.4. Làm khung cửa sổ ............................................................... 12
2.1.5. Biến đổi Fourier rời rạc....................................................... 12
3
2.1.6. Lọc qua các bộ lọc mel-scale .............................................. 13
2.1.7. Logarit và biến đổi Fourier ngƣợc ...................................... 13
2.1.8. DCT (Discrete Cosin Transform) ....................................... 13
2.1.9. Chỉnh các giá trị Cepstral .................................................... 13
2.2. Toolbox Voicebox trong Matlab .................................................... 13
CHƢƠNG 3: CÁC MƠ HÌNH ỨNG DỤNG XÁC THỰC NGƢỜI NÓI
PHỤ THUỘC TỪ KHÓA ..................................................................... 14
3.1. Lƣợng tử hóa vector ....................................................................... 14
3.1.1.Khái niệm phép lƣợng tử hóa............................................... 14
3.1.2.Thiết kế codebook theo phƣơng pháp LBG ......................... 14
3.2. Mơ hình Markov ẩn ........................................................................ 15
3.3. Mơ hình nhận dạng tiếng nói bằng Markov ẩn .............................. 19
CHƢƠNG 4: CẤU HÌNH VÀ KẾT QUẢ THỰC NGHIỆM ............... 20
4.1. Xây dựng hệ nhận dạng ngƣời nói.................................................. 20
4.1.1. Cấu trúc tổng quát của hệ thống.......................................... 20
4.1.2. Trích chọn đặc trƣng MFCC ............................................... 20
4.1.3. Mơ hình lƣợng tử hóa Vector.............................................. 21
4.1.4. Mơ hình huấn luyện ............................................................ 21
4.1.5. Mơ hình nhận dạng ............................................................. 22
4.2. Dữ liệu tiếng nói ............................................................................ 23
4.3. Tỷ lệ lỗi (Error rate) ....................................................................... 23
4.4. Kết quả............................................................................................ 23
PHẦN III: KẾT LUẬN VÀ KIẾN NGHỊ ............................................. 26
1. Kết luận ............................................................................................. 26
2. Kiến nghị ........................................................................................... 26
4
DANH MỤC BIỂU ĐỒ HÌNH VẼ
Hình 1.1 Các thành phần của một hệ thống nhận dạng người nói........ 10
Hình 1.2 Các giai đoạn của một hệ thống nhận dạng ng ười nói .......... 10
Hình 2.1 Sơ đồ khối q trình trích chọn đặc trưng.............................. 12
Hình 3.1 Ví dụ VQ một chiều ................................................................. 14
Hình 3.2 Ví dụ VQ 2 chiều .................................................................... 14
Hình 3.3 Sơ đồ khối cấu trúc VQ huấn luyện và phân lớp. ................... 15
Hình 3.4 Ví dụ một mơ hình Markov ẩn với sáu trạng thái ................... 17
Hình 3.5 Sơ đồ khối mơ hình nhận dạng Markov ẩn ............................. 18
Hình 3.6 Sơ đồ khối hệ thống nhận dạng tiếng nói ............................... 19
Hình 4.1 Cấu trúc tổng qt của hệ thống ............................................ 20
Hình 4.2 Lưu đồ trích đặc trưng............................................................ 21
Hình 4.3 Lưu đồ lượng tử hóa vector .................................................... 21
Hình 4.4 Giải thuật nhận dạng .............................................................. 23
Hình 4.5 Xử lý tín hiệu nhiễu ................................................................ 24
Hình 4.6 Q trình trích chọn đặc trưng............................................... 24
Hình 4.7 Cách thức tổ chức dữ liệu....................................................... 25
Hình 4.8 Giao diện chính của chương trình ứng dụng .......................... 25
5
PHẦN I: MỞ ĐẦU
1. TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU THUỘC LĨNH VỰC
ĐỀ TÀI Ở TRONG VÀ NGOÀI NƢỚC
1.1. Thế giới
Hiện nay trên thế giới đã có nhiều nghiên cứu và thử nghiệm về
hệ thống nhận dạng tiếng nói và đã đạt đƣợc những thành tƣu nhƣ: Via
Voice Mellennium (IBM), Via Voice Standard (IBM), CSLU (Center of
Spoken Language Language Understanding), HTK Toolkit..những hệ
thống này đƣợc xây dựng để nhận dạng tiếng Anh, ngồi ra cịn có một
số hệ thống nhận dạng tiếng nói của các ngơn ngữ khá nhƣ: Trung Quốc,
Ý, Đức…
1.2. Trong nƣớc
Ở Việt Nam, có 2 trung tâm lớn nghiên cứu lĩnh vực xử lý tiếng
nói và tiếng Việt là: Viện Công nghệ thông tin và Trung tâm nghiên cứu
quốc tế Thông tin đa phƣơng tiện, truyền thông và ứng dụng (MICA) –
Đại học Bách khoa Hà Nội. Ngồi ra, cịn có các luận án tiến sĩ, thạc sĩ
liên quan đển vấn đề xử lý tiếng nói ở các trƣờng Đại học trong nƣớc.
2. TÍNH CẤP THIẾT
Vấn đề nghiên cứu các phƣơng pháp nhận dạng tiếng nói đã và
đang thu hút rất nhiều sự đầu tƣ nghiên cứu của các nhà khoa học trên
khắp thế giới. Tuy nhiên cho đến nay kết quả mang lại vẫn chƣa hoàn
toàn làm hài lịng những ngƣời nghiên cứu do tính chất quá phức tạp và
không cố định của đối tƣợng nhận dạng là tiếng nói con ngƣời. Đặc biệt,
đối với tiếng việt thì kết quả cịn nhiều hạn chế. Đề tài nghiên cứu có
tính thực tiễn trong chứng thực giao dịch bằng giọng nói, điều khiển
đăng nhập bằng giọng nói... việc xây dựng các hệ thống thanh tốn thẻ
tín dụng qua điện thoại, đăng nhập vào các hệ thống, giám định tƣ pháp
tiếng nói…
6
3. MỤC TIÊU
- Nghiên cứu các cơ sở lý thuyết, các bài tốn của nhận dạng ngƣời nói:
Tìm hiểu các kỹ thuật trong nhận dạng tiếng nói, trong đó tập trung vào
hai phần chính là kỹ thuật trích chọn đặc trƣng MFCC và kỹ thuật nhận
dạng sử dụng mơ hình Markov ẩn.
- Xây dựng và thử nghiệm chƣơng trình nhận dạng ngƣời nói: cài đặt hệ
thống nhận dạng tiếng nói trên tập số đếm tiếng Việt từ 0 đến 9 bằng mơ
hình Markov ẩn dựa trên phƣơng pháp trích chọn đặc trƣng MFCC.
4. CÁCH TIẾP CẬN CỦA ĐỀ TÀI
Nghiên cứu về các cách xử lý tiếng nói, các cơ sở nhận dạng
ngƣời nói, các phƣơng pháp nhận dạng ngƣời nói phụ thuộc từ khóa
Tiếng việt. Cụ thể nhƣ sau:
- Thu thập tập cơ sở dữ liệu ngƣời nói đƣa vào dữ liệu huấn luyện
- Xử lý tín hiệu tiếng nói đƣa ra trích chọn đặc trƣng của từng ngƣời nói
để nhận dạng ngƣời nói
5. ĐỐI TƢỢNG VÀ PHẠM VI NGHIÊN CỨU
- Đề tài xây dựng hệ thống thử nghiệm nhận dạng ngƣời nói phụ thuộc
từ khóa tiếng việt với các dữ liệu đƣa vào là dãy số ngẫu nhiên từ 0-9.
- Số ngƣời nói đƣa vào thử nghiệm trong hệ thống từ 20-30 ngƣời.
6. NỘI DUNG NGHIÊN CỨU
Xây dựng hệ thống nhận dạng ngƣời nói phụ thuộc từ khóa tiếng việt:
- Tổng quan về nhận dạng ngƣời nói
- Trích chọn đặc trƣng ngƣời nói
- Các mơ hình ứng dụng nhận dạng ngƣời nói phụ thuộc từ khóa
- Cấu hình hệ thống và kết quả thử nghiệm
7. PHƢƠNG PHÁP NGHIÊN CỨU
7.1. Nhóm các phƣơng pháp nghiên cứu lý thuyết
A. Phƣơng pháp đọc và nghiên cứu tài liệu
7
Nghiên cứu về xử lý tiếng nói tiếng việt
Tìm hiểu về ngơn ngữ lập trình Matlab trong xử lý tiếng nói.
B. Phƣơng pháp phân tích, tổng hợp
Phƣơng pháp phân tích, tổng hợp lý thuyết đƣợc sử dụng trong việc
nghiên cứu tài liệu bằng cách tách ra từng phần, từng nội dung nhỏ để
xem xét và tổng hợp tất cả những nội dung đó xây dựng nên đề cƣơng
nghiên của ứng dụng mới đƣợc đề xuất.
7.2. Phƣơng pháp thực nghiệm
Thiết kế, thử nghiệm một số module:
Module tiền xử lý tín hiệu
Module trích chọn đặc trƣng
Module mơ hình hóa ngƣời nói sử dụng mơ hình HMM
Module nhận dạng ngƣời nói
8
PHẦN II: CÁC KẾT QUẢ ĐẠT ĐƢỢC
CHƢƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG NGƢỜI NĨI
1.1. Nhận dạng ngƣời nói
1.1.1. Phân loại các bài tốn nhận dạng người nói
1.1.1.1. Phân loại dựa vào chức năng của bài toán
Phân loại dựa vào chức năng của bài toán ngƣời ta chia bài toán
nhận dạng ngƣời nói thành hai bài tốn:
- Đị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.
- Xác thực ngƣời nói (speaker verification): xác định xem ID của ngƣời
cần kiểm tra có chính xác là ngƣời đó hay khơng?
1.1.1.2. Phân loại dựa theo phƣơng pháp
Phân loại dựa theo phƣơng pháp thì ngƣời ta chia bài tốn nhận
dạng ngƣời nói thành hai bài tốn:
- Nhận dạng ngƣời nói phụ thuộc vào từ khố (text dependent speaker
recognition):
- Nhận dạng ngƣời nói khơng phụ thuộc vào từ khố (text independent
speaker recognition)
1.1.2. Ứng dụng của bài tốn nhận dạng người nói
- Chứng thực giao dịch
- Điều khiển truy cập
- Nhận dạng tội phạm
- Hệ thống bán hàng gián tiếp
1.2. Nhận dạng ngƣời nói phụ thuộc từ khóa
1.2.1. Các thành phần của một hệ thống nhận dạng người nói phụ thuộc
từ khóa
9
Hình 1.1.Các thành phần của một hệ thống nhận dạng người nói
Hình 1.1 cho ta thấy các hệ thống nhận dạng ng ƣời nói phụ thuộc vào từ
khóa gồm các thành phần sau:
- Trích chọn đặc trƣng: biến đổi từ giọng nói thơ thành những
đặc trƣng của ngƣời nói.
- Xây dựng mơ hình ngƣời nói: huấn luyện ngƣời nói dựa vào
một phƣơng pháp cụ thể.
- Tính xác xuất: tính tốn xác xuất của tiếng nói đƣa vào với mơ
hình đã huấn luyện cho từng ngƣời.
- Tạo quyết định: xác định và đƣa ra quyết định dựa vào việc tính
xác xuất ở trên.
1.2.2. Các giai đoạn xử lý của một hệ thống nhận dạng người nói phụ
thuộc vào từ khóa
Hình 1.2. Các giai đoạn của một hệ thống nhận dạng ng ười nói
Hình 1.2 cho ta thấy q trình xử lý của các hệ thống nhận dạng ng ƣời
nói phụ thuộc vào từ khóa gồm hai giai đoạn:
Giai đoạn huấn luyện:
10
-
Ghi âm giọng nói những ngƣời mà hệ thống cần huấn luyện.
Trích chọn đặc trƣng giọng nói của mỗi ngƣời nói.
Huấn luyện mẫu.
Lƣu lại các đặc trƣng của mỗi ngƣời nói sau khi đã đƣợc
huấn luyện.
11
CHƢƠNG 2: TRÍCH CHỌN TÍN HIỆU TIẾNG NĨI
- Có nhiều phƣơng pháp trích chọn đặc trƣng đã và đang đƣợc sử dụng
(FBA, MFCC, LPC, PLP...). Mỗi phƣơng pháp có những ƣu điểm và
nhƣợc điểm riêng. Hiện nay MFCC (Mel-scale Frequency Cepstral
Coefficient) đƣợc sử dụng phổ biến nhất. Vì vậy chúng tôi sử dụng
MFCC làm đặc trƣng của hệ nhận dạng đƣợc trình bày trong đề tài này.
Nội dung tiếp theo của chƣơng này trình bày về phƣơng pháp tính đặc
trƣng MFCC và toolbox VoiceBox của Matlab dùng trong xử lí tiếng
nói.
2.1. Trích chọn đặc trƣng MFCC
2.1.1. Sơ đồ khối của q trình tính MFCC
Đối với phƣơng pháp MFCC, việc tính đặc trƣng có sơ đồ nhƣ sau:
Hình 2.1. Sơ đồ khối q trình trích chọn đặc trưng
2.1.2. Nhấn mạnh tín hiệu
Hpre(z)=1+aprez-1
Trong đó apre là hệ số nhấn mạnh, thƣờng có giá trị là 0,9700002861.
2.1.3. Tạo khung tín hiệu
Tín hiệu thƣờng đƣợc chia thành các khung kích thƣớc 20-30ms
với vùng gối lên nhau khoảng 10-15 ms.
2.1.4. Làm khung cửa sổ
s’n ={0.54 - 0.46cos
)}sn
Trong đó N là số mẫu dữ liệu (sample) của cửa sổ
2.1.5. Biến đổi Fourier rời rạc
12
DFT (Discrete Fourier Transform). Tại bƣớc này với mỗi
khung tín hiệu, biến đổi Fourier đƣợc áp dụng để chuyển tín hiệu về
miền tần số. Cơng việc tính tốn đƣợc thực hiện bằng thuật toán FFT
(Fast Fourier Transform).
2.1.6. Lọc qua các bộ lọc mel-scale
Mel(f ) = 2595 * log10(1 + f/700)
2.1.7. Logarit và biến đổi Fourier ngược
Logarit giá trị năng lƣợng (logarit of filter energies). Các giá trị
năng lƣợng thu đƣợc tại mỗi kênh lọc đƣợc lấy logarit để “nén” các giá
trị này vào một miền giá trị hẹp hơn.
2.1.8. DCT (Discrete Cosin Transform)
Biến đổi các giá trị năng lƣợng thành các hệ số ít tƣơng quan với
nhau hơn, các hệ số này đƣợc gọi là hệ số cepstral.
Cj = ∑
Trong đó N là số kênh lọc, mj là giá trị logarit năng lƣợng của
mạch lọc thứ j, i là bậc của hệ số cepstral.
2.1.9. Chỉnh các giá trị Cepstral
c’n = exp(n*k)cn
Sau bƣớc hiệu chỉnh này ta thu đƣợc các giá trị MFCC.
2.2. Toolbox Voicebox trong Matlab
VoiceBox là một toolbox của Matlab chun về xử lí tiếng nói
do Mike Brookes phát triển. VoiceBox yêu cầu Matlab phiên bản 5 trở
lên. VoiceBox gồm các hàm có thể chia thành một số nhóm chức năng
sau:
Xử lí file âm thanh (đọc, ghi file wav và một số định dạng file
âm thanh khác)
Tính toán MFCC, chuyển đổi spectral - cepstral
Chuyển đổi tần số (mel-scale, midi,...)
Biến đổi Fourier, Fourier ngƣợc, Fourier thực...
Tính khoảng cách (sai lệch) giữa các vector và dãy vector.
Loại trừ nhiễu trong tín hiệu tiếng nói.
Tuy nhiên chức năng quan trọng nhất là trích đặc trƣng tín hiệu
tiếng nói, mà ở đây là 2 loại phổ biến nhất LPC và MFCC.
Hàm tính MFCC của tín hiệu trong VoiceBox là hàm melcepst:
13
CHƢƠNG 3: CÁC MƠ HÌNH ỨNG DỤNG XÁC THỰC NGƢỜI
NĨI PHỤ THUỘC TỪ KHĨA
3.1. Lƣợng tử hóa vector
3.1.1.Khái niệm phép lượng tử hóa
Lƣợng tử hóa là một bộ xấp xỉ hóa
Hình 3.1.Ví dụ VQ một chiều
Ở hình trên, mỗi số nhỏ hơn -2 đều đƣợc xấp xỉ thành -3. Mọi số
nằm giữa -2 và 0 đƣợc xấp xỉ thành -1. Mọi số nằm giữa 0 và 2 đƣợc
xấp xỉ thành 1. Mọi số lớn hơn 2 đƣợc xấp xỉ thành 3.
Hình 3.2.Ví dụ VQ 2 chiều
Ở hình trên mọi điểm nằm trong một phân vùng đƣợc xấp xỉ
bằng một điểm * nằm trong vùng đó.
3.1.2.Thiết kế codebook theo phương pháp LBG
3.1.2.1. Vấn đề thiết kế Codebook:
Để xây dựng codebook VQ và tổ chức thuật tốn phân tích VQ,
ta cần các yếu tố sau:
Một tập lớn vector phổ
là tập huấn luyện cho
VQ. Nếu kích thƣớc codebook VQ là M= (codebook B bít) thì chúng
ta cần L>>M để tìm đƣợc M vector tối ƣu nhất. Thƣờng chọn L=10M.
Độ đo d giữa các cặp phổ để phân nhóm vector trong khâu huấn
luyện hay phân lớp vector trong khâu đánh nhãn.
Phƣơng pháp xác định nhân để phân hoạch L vector phổ thành
M nhóm.
14
Phƣơng pháp phân lớp các vector ngõ vào. Một vector sau khi
qua khâu phân lớp thì sẽ đƣợc đại diện bằng một nhãn(mã).
Hình 3.3 Sơ đồ khối cấu trúc VQ huấn luyện và phân lớp.
3.1.2.2 Tập huấn luyện VQ:
Trong đề tài này, tập huấn luyện cho VQ là tất cả các vector phổ
sau khi qua khâu trích chọn đặc trƣng MFCC của tất cả các từ cần nhận
dạng. Mỗi vector phổ là 24 hệ số MFCC của một Frame tiếng nói. Các
từ nói đƣợc ghi âm trong điều kiện phịng yên tĩnh.
3.1.2.3. Thiết kế thuật toán LBG
Thuật toán đƣợc tổng kết nhƣ sau:
1. Chọn ngẫu nhiên M vector trong tập huấn luyện L làm tập từ mã
codeword.
2. Tìm lân cận gần nhất: Với mỗi vector huấn luyện v, tìm
codeword trong codebook hiện tại có khoảng cách gần nhất với
vector này (dựa vào độ đo méo) và gán nó thuộc về cell của
codeword đó.
3. Cập nhật nhân: với mỗi cell, cập nhật codeword sử dụng trọng
tâm của tất cả các vector huấn luyện trong cell này.
4. Đệ quy: lặp lại bƣớc 2 và 3 đến khi sai số lƣợng tử nhỏ hơn
ngƣỡng giá trị cho phép.
3.2. Mơ hình Markov ẩn
3.2.1. Mơ hình Markov ẩn
Mơ hình Markov ẩn đƣợc mở rộng khái niệm từ mơ hình
Markov bằng cách mỗi trạng thái đƣợc gắn với một hàm phát xạ quan
sát (observation distribution). Ngoài quá trình ngẫu nhiên chuyển giữa
15
các trạng thái, tại mỗi trạng thái cịn có một quá trình ngẫu nhiên sinh ra
một quan sát. Nhƣ vậy trong Mơ hình Markov ẩn có một q trình ngẫu
nhiên kép, trong đó có một q trình ngẫu nhiên khơng quan sát đƣợc.
Tập các quan sát O đƣợc sinh ra bởi dãy các trạng thái S1, S2, ..., SN
của mô hình mà dãy các trạng thái này là khơng thấy đƣợc, đó chính là
lý do mơ hình đƣợc gọi là mơ hình Markov ẩn (hidden) .
Một mơ hình Markov ẩn đƣợc đặc trƣng bởi các thành phần cơ bản sau :
- N, số trạng thái (state) trong mơ hình Markov. Các trạng thái thƣờng
đƣợc ký hiệu bằng S= {S1, S2, S3, ...} và trạng thái của mơ hình tại thời
điểm t đƣợc kí hiệu là qt.
- M, số ký hiệu quan sát (observation symbol), đây là kích thƣớc của
bảng từ vựng của mơ hình. Các ký hiệu quan sát đƣợc biểu diễn bằng
V= {v1, v2, ...}.
- A = {aij}, xác suất chuyển trạng thái (state transition probability
distribution). Trong đó aij là xác suất để trạng thái j xuất hiện tại thời
điểm t+1 khi trạng thái i đã xuất hiện tại thời điểm t .
{
∑
- B={bj(k)} xác suất phát xạ quan sát trong mỗi trạng thái (observation
symbol probability distribution in state). bj(k) là xác suất của quan sát
vk tại trạng thái j tại thời điểm t.
{
distribution).
∑
xác xuất trạng thái khởi đầu (initial state
là xác xuất để trạng thái I đƣợc chọn tại thời điểm t=1
16
{
∑
Với các gía trị thích hợp A,B, ,M,N một mơ hình Markov ẩn đƣợc dùng
để sinh ra một dãy các quan sát: O= {O1, O2, O3, ...}
Trong đó Oi lấy một trong các giá trị trong V. Hoạt động của HMM
đƣợc mô tả nhƣ sau:
Chọn một trạng thái khởi đầu q1 tƣơng ứng với xác suất trạng thái khởi
đầu
- Gán t=1.
- Chọn Oi = vk tƣơng ứng với xác suất quan sát tại trạng thái Si:
bi(k).
- Chuyển sang trạng thái mới qt+1 = Sj tƣơng ứng với xác suất
chuyển trạng thái aij.
- Gán t=t+1 và quay lại lại bƣớc 3) nếu t
- Ngƣời ta thƣờng dùng bộ ba λ=(A,B,п) đƣợc coi là bộ ký pháp gọn
để biểu diễn một mơ hình Markov ẩn. A, B và п đƣợc gọi là các
tham số (parameters) của mơ hình λ
Hình 3.4 Ví dụ một mơ hình Markov ẩn với sáu trạng thái
Hình 3.4 cho ta một ví dụ về một mơ hình Markov ẩn gồm có
sáu trạng thái, trong đó có một trạng thái khởi đầu và một trạng thái kết
thúc. Sáu quan sát {O1, O2, ..., O6} đƣợc sinh ra từ bốn trạng thái từ 2
đến 5. Mỗi trạng thái có thể chuyển sang trạng thái bên phải của nó,
17
hoặc chuyển sang chính nó. Riêng trạng thái khởi đầu chỉ có một khả
năng duy nhất chuyển sang trạng thái thứ 2, tức là a12=1.
Hình 3.5 Sơ đồ khối mơ hình nhận dạng Markov ẩ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:
[ ]
∑
i=
Trong đó:
: điểm số đối sánh của ngƣời thứ n trong tập dữ liệu N ngƣời nói
(
)
M :độ dài từ khóa
: xác xuất của mơ hình Markov ẩn
của âm tiết
thứ m của ngƣời thứ n với chuỗi quan sát x .
3.2.1. Ba bài toán cơ bản của mơ hình Markov ẩn
Có ba bài tốn cơ bản của mơ hình Markov ẩn đƣợc đặt ra trong
ứng dụng nhận dạng tiếng nói.
Bài tốn 1: Với dãy quan sát O= {O1, O2, O3, ...} và mơ hình
Markov ẩn =(A, B, π) đã đƣợc huấn luyện, chúng ta cần tính xác suất
P(O ).
Bài tốn 2: Với dãy quan sát O= {O1, O2, O3, ...} và mơ hình
Markov ẩn =(A, B, π) làm thế nào chúng ta có thể tìm đƣợc dãy trạng
18
thái tƣơng ứng q={q1, q2, q3, ...} tối ƣu nhất theo một tiêu chuẩn nào
đó.
Bài tốn 3: Làm thế nào chúng ta điều chỉnh các tham số A, B, π
để có đƣợc xác suất P(O) lớn nhất.
3.3. Mơ hình nhận dạng tiếng nói bằng Markov ẩn
Hình 3.6. Sơ đồ khối hệ thống nhận dạng tiếng nói
19
CHƢƠNG 4: CẤU HÌNH VÀ KẾT QUẢ THỰC NGHIỆM
4.1. Xây dựng hệ nhận dạng ngƣời nói
4.1.1. Cấu trúc tổng quát của hệ thống
Hình 4.1. Cấu trúc tổng quát của hệ thống
4.1.2. Trích chọn đặc trưng MFCC
Trong đề tài này chọn phƣơng pháp MFCC để trích chọn tiếng nói.
Sơ đồ trích chọn đặc trƣng tiếng nói dùng MFCC nhƣ sau:
20
Hình 4.2 Lưu đồ trích đặc trưng
Kết quả sau khi qua phần trích chọn đặc trƣng: ma trận PxT
,trong đó P là hệ số MFCC,T là số Farme tiếng nói đƣợc thu vào mỗi
Farme có P hệ số MFCC
4.1.3. Mơ hình lượng tử hóa Vector
Sau khi trích chọn đặc trƣng, mỗi từ cho một dãy vector phổ.
Dùng phƣơng pháp LBG lƣợng tử hóa vector .
Giải thuật lƣợng tử hóa vector:
Hình 4.3 Lưu đồ lượng tử hóa vector
4.1.4. Mơ hình huấn luyện
Mơ hình HMM đƣợc sử dụng là mơ hình rời rạc với 6 trạng thái,
bƣớc nhảy là 2. Mỗi ngƣời với mỗi âm vị đƣợc xây dựng mơ hình
Markov ẩn riêng.
Quá trình huấn luyện thực hiện nhƣ sau:
21
Hình 4.4. Lưu đồ huấn luyện HMM
4.1.5. Mơ hình nhận dạng
Giải thuật nhận dạng HMM nhƣ sau:
22
Hình 4.4 Giải thuật nhận dạng
4.2. Dữ liệu tiếng nói
Mỗi ngƣời trải qua hai giai đoạn thu âm:
- Giai đoạn cung cấp dữ liệu cho huấn luyện : mỗi ngƣời đƣợc tiến hành
10 lần thu âm với khoảng thời gian 30s-40s
- Giai đoạn cung cấp dữ liệu cho kiểm thử: ngƣời đƣợc nhận dạng đọc
rời rạc từng số vào hệ thống theo dãy số hệ thống sinh ra.
Tiếng nói đƣợc thu âm với tần số lấy mẫu 16000 Hz, 16bit và
sau khi thu âm tín hiệu tiếng nói đƣợc tiền xử lý để nâng cao chất lƣợng
trƣớc khi đƣợc đƣa vào cho giai đoạn trích chọn đặc trƣng.
4.3. Tỷ lệ lỗi (Error rate)
Các hệ thống xác ngƣời nói đƣợc đánh giá dựa trên tỷ lệ chấp nhận lỗi
(false acceptance rate – FA%) và tỷ lệ từ chối lỗi (false rejection rate –
FR%):
FA=
.100
Trong đó:
- IA là số ngƣời bị từ chối, nhƣng thực tế họ phải đƣợc chấp nhận
- IT là tổng số ngƣời kiểm tra
FR=
.100
Trong đó:
- CA là số ngƣời đƣợc chấp nhận, nhƣng thực tế họ phải bị từ chối.
- CT là tổng số ngƣời kiểm tra.
Khi đó tổng lỗi của hệ thống xác thực đƣợc tính nhƣ sau
EER= FR+FA
4.4. Kết quả
- Từ cơ sở lý thuyết đã trình bày, tác giả đã xây dựng chƣơng trình ứng
dụng nhận dạng ngƣời nói. Một số hình ảnh của ứng dụng:
23
Tín hiệu bị nhiễu khi thu âm
Tín hiệu xử lý
Hình 4.5. Xử lý tín hiệu nhiễu
Hình 4.6 Q trình trích chọn đặc trưng
24
Hình 4.7 Cách thức tổ chức dữ liệu
Hình 4.8 Giao diện chính của chương trình ứng dụng
25