ĐỊNH DANH NGƯỜI NÓI ĐỘC LẬP VĂN BẢN BẰNG MÔ HÌNH THỐNG KÊ
PHẠM MINH NHỰT
Trang nhan đề
Lời cảm ơn
Mục lục
Danh mục chữ viết tắt và thuật ngữ
Danh mục bảng
Danh mục hình ảnh
Tóm tắt luận văn
Chương_1: Giới thiệu
Chương_2: Hệ thống định danh người nói
Chương_3: Mô hình Markov ẩn hợp Gauss
Chương_4: Thực nghiệm
Chương_5: Kết luận và phương hướng phát triển
Tài liệu tham khảo
MỤC LỤC
Trang
MỤC LỤC . i
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ v
DANH MỤC BẢNG . viii
DANH MỤC HÌNH ẢNH ix
TÓM TẮT LUẬN VĂN . xi
Chương 1 – GIỚI THIỆU . 1
1.1. Dẫn nhập . 1
1.2. Sinh trắc học 2
1.2.1. Khái quát 2
1.2.2. Kiến trúc cơ bản của một hệ thống sinh trắc . 3
1.3. Bài toán nhận dạng người nói . 4
1.4. Các hướng tiếp cận 7
1.4.1. Nhóm phụ thuộc văn bản . 7
1.4.2. Nhóm độc lập văn bản . 8
1.5. Tiếp cận của đề tài 8
Chương 2 – HỆ THỐNG ĐỊNH DANH NGƯỜI NÓI 11
2.1. Mô hình tổng quát . 11
ii
2.2. Lấy mẫu tiếng nói . 12
2.3. Rút trích đặc trưng 12
2.3.1. Chia frame . 14
2.3.2. Biến đổi Fourier rời rạc . 16
2.3.3. Mel filter bank . 18
2.3.4. Biến đổi Cosine rời rạc 20
2.4. Dò tìm năng lượng 21
2.5. Chuẩn hóa đặc trưng . 21
2.6. Xây dựng mô hình người nói 21
2.7. Nhận dạng . 22
2.7.1. Identification 23
2.7.2. Verification 24
2.8. Score normalization 25
2.8.1. World Model Normalization . 25
2.8.2. Cohort Normalization 26
2.8.3. Unconstraint Cohort Normalization 26
2.9. Một số hệ thống định danh người nói . 27
2.9.1. Hệ thống Vector Quantization . 27
2.9.2. Hệ thống GMM 28
2.9.3. Các hệ thống khác 29
Chương 3 – MÔ HÌNH MARKOV ẨN HỢP GAUSS . 30
3.1. Gaussian Mixture Model . 30
3.1.1. Đặc tả mô hình . 30
3.1.2. Ước lượng tham số 33
iii
3.2. Hidden Markov Model 34
3.2.1. Mô hình Markov 34
3.2.2. Mô hình Markov ẩn . 36
3.2.3. Ba bài toán cơ bản của HMM 39
3.2.3.1. Bài toán 1 – evaluation problem 40
3.2.3.2. Bài toán 2 – decoding problem 42
3.2.3.3. Bài toán 3 – learning problem . 44
3.3. Mixture of Gaussians Hidden Markov Model 46
3.3.1. Đặc tả mô hình . 46
3.3.2. Huấn luyện tham số . 48
3.3.3. Khởi tạo tham số 51
3.3.3.1. Thuật toán k-means . 51
3.3.3.2. Khởi tạo mô hình MGHMM . 52
3.4. MGHMM và bài toán định danh người nói 53
3.4.1. Xây dựng mô hình . 53
3.4.2. Identification 54
3.4.3. Verification 55
Chương 4 – THỰC NGHIỆM 57
4.1. Dữ liệu thực nghiệm 57
4.2. Các độ đo đánh giá 59
4.3. Tham số mô hình . 61
4.3.1. Số vòng lặp huấn luyện 62
4.3.2. Kích thước nhóm K của phương pháp UCN . 63
4.3.3. Cấu hình MGHMM . 64
4.4. Hiệu suất hệ thống . 65
iv
Chương 5 – KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 66
5.1. Kết luận . 66
5.2. Hướng phát triển . 66
TÀI LIỆU THAM KHẢO 67
19 trang |
Chia sẻ: maiphuongtl | Lượt xem: 2065 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Luận văn Định danh người nói độc lập văn bản bằng mô hình thống kê, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
11
Chương 2: HỆ THỐNG ĐỊNH DANH NGƯỜI NÓI
2.1. Mô hình tổng quát
Tùy theo phương pháp tiếp cận giải quyết bài toàn, hệ thống định danh người nói có
thể gồm các thành phần và cơ chế hoạt động khác nhau, tuy nhiên vẫn có một số
điểm chung nhất định. Hình 2.1 minh họa cơ chế hoạt động tổng quát của một hệ
thống định danh người nói trên tập mở. Trong phạm vi đề tài này, hệ thống định
danh người nói sẽ được trình bày theo hướng tiếp cận của mô hình Markov ẩn hợp
Gauss (MGHMM).
Hình 2.1: Cơ chế hoạt động của một hệ thống định danh người nói trên tập mở.
Trained
Models
Score
K-means
Reject
Confirmed ID
UCN θ Threshold
Initialized
Models
Normalized
Features
Score Score Score Score
EM
non-speech
segments are
ignored
MFCC
Feature
Vectors
Digital
Speech Audio
Sampling
Feature
Extraction
Energy
Detecting
Feature
Normalization
Init Models
Train Models
Speaker
Model 1
… Speaker
Model 2
Speaker
Model n
Score Normalization
Input Transformation
Modelization
Decision
Classification
12
2.2. Lấy mẫu tiếng nói (audio sampling)
Tiếng nói trong thế giới thực thu được từ các thiết bị thu âm như microphone,
mobile device… sẽ được số hóa thành các tín hiệu rời rạc. Tín hiệu thu được sau đó
là dữ liệu tiếng nói ở mức thô (raw).
Dữ liệu biểu diễn ở giai đoạn này chưa thể hiện được các thông tin ngữ nghĩa/đặc
trưng và thường chứa nhiễu từ môi trường. Do vậy, trước khi có thể được đưa vào
huấn luyện mô hình hay nhận dạng, dữ liệu tiếng nói thô cần phải trải qua các bước
tiền xử lý nhằm loại bỏ nhiễu cũng như rút trích ra các đặc trưng cần thiết cho quá
trình huấn luyện và nhận dạng.
2.3. Rút trích đặc trưng (feature extraction)
Rút trích đặc trưng được hiểu như là một quá trình biến đổi từ vector có kích thước
lớn sang vector có kích thước nhỏ hơn. Như vậy, về mặt hình thức, rút trích đặc
trưng có thể được định nghĩa như một ánh xạ f:
f : RN → Rd, trong đó d << N.
Thông thường, để các mô hình người nói có khả năng mô hình hóa tốt, số lượng các
vector huấn luyện phải đủ lớn. Như vậy, việc giảm kích thước của từng vector huấn
luyện thông qua bước rút trích đặc trưng sẽ giúp làm giảm độ phức tạp tính toán của
bước huấn luyện và nhận dạng.
Đối với bài toán nhận dạng người nói, một đặc trưng được cho là tốt cần phải có các
tính chất sau:
- Sai biệt giữa các vectors đặc trưng của những người nói khác nhau phải lớn.
- Sai biệt giữa các vectors đặc trưng của cùng một người nói phải nhỏ.
- Kháng nhiễu tốt.
- Phân biệt được giả mạo tốt.
- Độc lập với các đặc trưng khác.
13
Hai tính chất đầu đòi hỏi đặc trưng phải mang tính tách biệt càng nhiều càng tốt.
Một ví dụ minh họa thể hiện trong hình 2.2 cho thấy tính tách biệt của 2 đặc trưng
khác nhau. Dễ dàng thấy được đặc trưng 2 tốt hơn hẳn đặc trưng 1 trong việc phân
biệt giữa những người nói.
Hinh 2.2: Ví dụ về tính tách biệt của 2 đặc trưng khác nhau.
Một đặc trưng được gọi là tốt cũng cần phải có tính kháng nhiễu và phân biệt giả
mạo tốt (đặc tính thứ 3 và thứ 4). Cuối cùng, nếu một hệ thống sử dụng nhiều hơn 1
đặc trưng, thì các đặc trưng này phải độc lập với nhau (tính chất 5); việc sử dụng
các đặc trưng phụ thuộc lẫn nhau thường không đem lại kết quả tốt.
Một đặc trưng lý tưởng (có tất cả 5 tính chất tốt nêu trên) thường không tồn tại
trong thực tế. Trong lĩnh vực nhận dạng người nói, các đặc trưng thường được sử
dụng là MFCC (Mel-Frequency Cepstral Coefficients), LSP (Line Spectral Pairs)…
Đề tài này chỉ tập trung vào đặc trưng MFCC cho bài toàn định danh người nói.
Hình 2.3 thể hiện các bước rút trích đặc trưng MFCC. Tín hiệu thô sẽ trải qua các
bước xử lý chính: chia frame, biến đổi Fourier, áp dụng các Mel filter-banks, lấy log
và biến đổi cosin rời rạc.
14
Hình 2.3: Các bước rút trích đặc trưng MFCC.
2.3.1. Chia frame (enframing)
Hình 2.4: Tín hiệu wave trước và sau khi lọc thông cao.
Trước khi tiến hành quá trình rút trích đặc trưng, dữ liệu liệu tiếng nói được đưa qua
bước xử lý pre-emphasis bằng bộ lọc thông cao (high-pass filter):
Voice
Signal
Voice
Frames
Power
Spectrum
FFTChia Frames
Hamming
Window
Apply Mel Filter Banks
Lấy log DCT
MFCC
Vectors
15
s2(n) = s(n) – a * s(n - 1)
Trong đó s(n) là tín hiệu input, s2(n) tín hiệu kết quả, hằng số a ∈ [0.9, 1]. Mục tiêu
của bước pre-emphasis củng cố các tần số cao bị mất trong quá trình thu nhận tín
hiệu. Hình 2.4 minh họa kết quả lọc pre-emphasis.
Dữ liệu tiếng nói thường không ổn định, nên thông thường phép biến đổi Fourier
được thực hiện trên từng đoạn tín hiệu ngắn. Mục tiêu của bước chia frame là chia
dữ liệu tiếng nói thành từng frame nhỏ có kích thước khoảng từ 20ms đến 30ms.
Các frame liền kề được xếp chồng lên nhau khoảng từ 10ms đến 15ms để tránh mất
mát thông tin. Cơ chế chia frame này được minh họa trong hình 2.5.
Hình 2.5: Cơ chế chia frame.
Sau đó, mỗi frame sẽ được nhân với một hàm cửa sổ (window function):
s(n) = s(n) * w(n) , n ∈ [0, N-1]
Trong đó, s(n) là tín hiệu trong frame, N là kích thước của frame, w(n) là hàm cửa
sổ. Một số window functions thường được dùng là:
16
- Hamming: ⎟⎠
⎞⎜⎝
⎛
−−= 1
2cos46164.053836.0)(
N
nnw π
- Hann: ⎟⎟⎠
⎞⎜⎜⎝
⎛ ⎟⎠
⎞⎜⎝
⎛
−−= 1
2cos15.0)(
N
nnw π
- Cosine: ⎟⎠
⎞⎜⎝
⎛
−=⎟⎠
⎞⎜⎝
⎛ −−= 1sin21cos)( N
n
N
nnw πππ
Việc nhân mỗi frame với hàm cửa sổ sẽ giúp củng cố tính liên tục ở 2 biên của
frame và tạo tính chu kỳ cho toàn bộ tín hiệu trong frame. Hình 2.6 minh họa kết
quả nhân một frame với Hamming window.
Hình 2.6: Tín hiệu trước và sau khi nhân với cửa sổ Hamming.
2.3.2. Biến đổi Fourier rời rạc (Discrete Fourier Transform - DFT)
Phép biến đổi Fourier rời rạc (DFT) chuyển tín hiệu âm thanh từ miền thời gian
sang miền tần số. Một tín hiệu X có chiều dài N khi qua biến đổi DFT sẽ thu được
tín hiệu phức có chiều dài N/2+1 ở miền tần số gồm 2 phần: ReX (kết quả phần
thực) và ImX (kết quả phần ảo). Phương trình của phép biến đổi DFT:
∑−
=
=
1
0
)2cos(][][Re
N
i N
kiixkX π
∑−
=
−=
1
0
)2sin(][][Im
N
i N
kiixkX π
17
trong đó, i ∈ [0, N-1], k ∈ [0, N/2].
Trong không gian số phức (tọa độ Descartes), ReX và ImX còn có thể được biểu
diễn dưới dạng độ lớn r của vector phức và góc quay φ (tọa độ cực) như trong hình
2.7.
Hình 2.7: Tương quan giữa tọa độ Descartes và tọa độ cực.
Như vậy, với phần thực ReX và phần ảo ImX, ta có thể tính độ lớn MagX
(magnitude spectrum) và pha PhaseX theo công thức:
22 )(Im)(Re XXrMagX +==
⎟⎠
⎞⎜⎝
⎛==
X
XPhaseX
Re
Imarctanϕ
Công thức biến đổi nghịch:
( )PhaseXMagXX cosRe =
( )PhaseXMagXX sinIm =
Trong phép rút trích đặc trưng MFCC, kết quả của bước biến đổi Fourier là PowX -
Power Spectrum (bình phương độ lớn vector phức):
( )2MagXPowX =
PowX thể hiện mức tập trung năng lượng của tín hiệu âm thanh vào các vùng tần số.
18
2.3.3. Mel filter bank
Mel là viết tắt của từ melody. Tần số mel (mel-frequency) tương ứng với logaric
của tần số thông thường/tuyến tính (linear-frequency). Tần số mel phản ánh cách
thức tiếp nhận âm thanh của tai người. Phương trình tương quan giữa mel-frequency
và linear-frequency:
mel = 1127.01048 * ln(1 + f/700) (2.1)
f = 700(em/1127.01048 - 1) (2.2)
Hình 2.8: Tương quan giữa tần số mel và tần số tuyến tính.
Mel filter banks là các bộ lọc band-pass hình tam giác. Lọc band-pass là lọc thông
các tần số trong khoảng mong muốn. Mục tiêu của bước áp dụng các bộ lọc Mel
filter bank là để lọc lấy các tần số mà tai người có thể nghe được, đồng thời rút ngắn
kích thước của vector đặc trưng.
Các bộ lọc này được đặt sao cho các tần số trung tâm tăng đều trên miền mel, và
logaric trên miền tần số (linear frequency), đồng thời hai cạnh của một bộ lọc phải
được đặt trùng vào tần số trung tâm của hai bộ lọc lân cận. Hình 2.9 minh họa các
bộ lọc trên miền mel và miền tẩn số.
19
Hình 2.9: Mel filter banks trên miền mel và miền tần số.
Xét các mel filter banks trên miền tần số trong hình 2.10. Trong đó, fc(m) là tần số
trung tâm của bộ lọc thứ m, Fs là sampling rate của tín hiệu âm thanh.
Hình 2.10: Mel filter banks trên miền tần số tuyến tính.
Các bộ lọc được cho bởi công thức:
⎪⎪
⎪
⎩
⎪⎪
⎪
⎨
⎧
+≥
+<≤+−
+−
<≤−−−
−−
−<
=
)1()(0
)1()()(
)1()(
)1()(
)()()1(
)1()(
)1()(
)1()(0
)(
mfkffor
mfkfmffor
mfmf
mfkf
mfkfmffor
mfmf
mfkf
mfkffor
kH
c
cc
cc
c
cc
cc
c
c
m
với Hm là bộ lọc thứ m và f(k) = kFs/N. Tần số trung tâm fc(m) được tính theo tần số
trung tâm tương ứng trên miền mel φc(m) theo công thức (2.2):
fc(m) = 700(eφc(m)/1127.01048 - 1)
Do các tần số trung tâm φc(m) tăng đều trên miền mel nên ta luôn có:
φc(m) = mΔφ
và Δφ = (φmax − φmin)/(M + 1)
20
trong đó, M là số bộ lọc, m ∈ [1, M], φmax và φmin có thể được tính từ fmax và fmin
theo công thức (2.1) với fmin = 0 và fmax = Fs/2.
Power spectrum từ bước biến đổi Fourier khi đưa qua các Mel filter banks sẽ được
kết quả:
⎟⎠
⎞⎜⎝
⎛ ⋅= ∑−
=
)()(ln)(
1
0
kHkPowXme
N
k
m
Bước cuối cùng là áp dụng phép biến đổi cosine rời rạc lên e.
2.3.4. Biến đổi Cosine rời rạc (Discrete Cosine Transform - DCT)
Biến đổi cosine rời rạc được cho bởi công thức:
∑
=
⎟⎟⎠
⎞⎜⎜⎝
⎛ ⎟⎠
⎞⎜⎝
⎛ −=
M
m
m
M
lmelc
1 2
1cos)()( π
trong đó, c(l) là hệ số MFCC thứ l, l ∈ [1, L], L là số hệ số MFCC mong muốn, M
là số bộ lọc. Thông thường M được chọn giá trị 24 và L là 12.
Như vậy, vector c là kết quả của toàn bộ quá trình rút trích đặc trưng MFCC cho
một frame. Từ các vector c, các đạo hàm bậc một (delta-cepstrum) và bậc hai (delta-
delta cepstrum) có thể được tính như sau:
( )112
1
−+ −=Δ nnn ccc
( )112
1
−+ Δ−Δ=ΔΔ nnn ccc
Các đạo hàm này được xem là đặc trưng động (dynamic features) thể hiện thay đổi
giữa các frame. Ngoài ra, một đặc trưng khác cũng thường được quan tâm là mức
năng lượng của frame:
∑
=
=
2
1
2 )(
t
tt
txEnergy
21
Trong các hệ thống nhận dạng lời thoại, thông thường vector đặc trưng được chọn
gồm 39 thành phần: 12 MFCC, 1 MFCC-energy, 12 delta-cepstrum, 1 delta-energy,
12 delta-delta cepstrum, 1 delta-delta-energy. Tuy nhiên, hệ thống định danh người
nói trong đề tài này chỉ sử dụng vector đặc trưng gồm 12 hệ số MFCC.
2.4. Dò tìm năng lượng (energy detection)
Mục tiêu của bước dò tìm năng lượng là nhằm loại bỏ những đoạn âm thanh không
có lời thoại. Công việc này được thực hiện thông qua việc so sánh năng lượng của
mỗi vector đặc trưng với một ngưỡng T, nếu mức năng lượng nhỏ hơn T, vector đặc
trưng đó sẽ bị loại ra.
Sau bước dò tìm năng lượng, các vector đặc trưng có lời thoại sẽ được chuẩn hóa ở
bước tiếp theo.
2.5. Chuẩn hóa đặc trưng (feature normalization)
Thông thường, để giảm các ảnh hưởng phụ từ môi trường thu âm, các vector đặc
trưng sẽ được chuẩn hóa thông qua 2 tham số là vector trung bình (mean) và
phương sai (covariance) tính từ toàn bộ các vector đặc trưng. Khi đó, mỗi vector
đặc trưng sẽ được chuẩn hóa như sau:
2' σ
μ−= xx
Đây cũng là bước cuối cùng của quá trình tiền xử lý dữ liệu. Các vector đặc trưng
sau khi chuẩn hóa sẽ được đưa vào huấn luyện mô hình (ở giai đoạn enrollment)
hoặc nhận dạng (ở giai đoạn test).
2.6. Xây dựng mô hình người nói
Hạt nhân của một hệ thống nhận dạng/định danh người nói chính là các speaker
models (mô hình người nói) đại diện cho từng người nói riêng biệt. Các speaker
22
models này được xây dựng bằng cách tổng quát hóa dữ liệu mẫu của speaker tương
ứng. Điều này có nghĩa là ta phải huấn luyện sao cho mỗi speaker model thích nghi
nhất với dữ liệu mẫu của nó. Mục tiêu của việc xây dựng các speaker models là tạo
nền tảng cho bước nhận dạng các mẫu tiếng nói về sau.
Hình 2.11: Các mô hình người nói.
Tùy theo từng phương pháp tiếp cận mà speaker models sẽ được đại diện bằng các
mô hình cụ thể. Chẳng hạn như trong phương pháp Vector Quantization, mỗi
speaker model sẽ được đại diện bởi một codebook; đối với phương pháp GMM, mỗi
speaker model tương ứng với một mô hình GMM; còn trong phương pháp Dynamic
Time Warping, speaker model chỉ đơn thuần là tập các vector đặc trưng của người
nói tương ứng mà không cần đến một cơ chế mô hình hóa nào cả.
Như đã đề cập trong chương 1, hệ thống định danh người nói trong đề tài này được
xây dựng theo hướng tiếp cận MGHMM. Mỗi speaker sẽ được mô hình hóa bằng
một speaker model đại diện bởi một MGHMM riêng biệt. Định nghĩa và chi tiết các
bước xây dựng MGHMM sẽ được trình bày cụ thể trong chương 3.
2.7. Nhận dạng
Trong hệ thống định danh người nói trên tập dữ liệu mở (open-set test data), giai
đoạn nhận dạng gồm 2 bước chính:
Training Data
of Speaker 1
Speaker
Model 1
Modelization
Method
Training Data
of Speaker 2
Speaker
Model 2
Modelization
Method
Modelization
Method
Training Data
of Speaker n
Speaker
Model n
.
.
.
.
.
.
.
.
.
23
- Bước 1: chỉ ra identity (định danh người nói) của mẫu test. Nghĩa là cho biết
ai trong số các thành viên hệ thống đã phát âm mẫu test đó. Bước này được
gọi là identification.
- Bước 2: xác minh lại xem mẫu test đó có thật sự thuộc về người nói đã xác
định ở bước 1 hay thuộc về một người nói nào đó chưa biết. Bước này được
gọi là verification.
2.7.1. Identification
Sau khi các speaker model (MGHMM) đã được huấn luyện, mỗi speaker model λi
sẽ thích nghi nhất với dữ liệu huấn luyện Xi của nó (λi được huấn luyện theo hướng
cực đại hóa likelihood p(Xi | λi)).
Khi cho một vector đặc trưng X vào speaker model bất kỳ λ, kết xuất nhận được sẽ
là độ tương tự (likelihood) của X đối với λ: p(X | λ). Tuy nhiên, theo luật quyết định
Bayes phân lớp theo tỉ lệ lỗi nhỏ nhất, mẫu X sẽ được phân vào lớp λi có p(λi | X)
lớn nhất.
)|(maxarg XpIdentity i
i
λ= (2.3)
Theo công thức Bayes, ta có:
)(
)()|(
)|(
Xp
pXpXp iii
λλλ =
trong đó, p(X) là xác suất xuất hiện vector X trong toàn không gian dữ liệu. Tuy
nhiên p(X) độc lập và giống nhau với mọi λi nên sẽ không được xét. Xác suất p(λi)
chính là tần xuất xuất hiện của người nói thứ i; thông thường những người nói này
được xem là có tần suất xuất hiện như nhau nên
n
p i
1)( =λ với n là số lượng người
nói trong hệ thống. Như vậy, công thức (2.3) có thể được quy về:
)|(maxarg i
i
XpIdentity λ= với i ∈ [1, n]
Likelihood p(X | λi) đóng vai trò như điểm (score) của mô hình λi cho vector đặc
trưng X, và X sẽ được phân vào lớp của người nói có mô hình cho điểm cao nhất.
24
2.7.2. Verification
Kết thúc bước identification, định danh (identity) của mẫu test đã được xác định là
người nói có score cao nhất. Mục tiêu của bước verification là xác minh trở lại xem
mẫu test có đúng thật là của người nói đó hay thuộc về một người nói chưa biết
(unknown speaker/impostor).
Hình 2.12: Các bước nhận dạng.
Cơ chế xác minh thông qua việc so sánh score (có được từ bước identification) với
một ngưỡng θ cho trước. Nếu score vượt ngưỡng θ, kết quả định danh ở bước trước
sẽ được chấp nhận (confirmed); ngược lại, mẫu test sẽ được xem như thuộc về một
người nói chưa biết. Hình 2.12 minh họa các bước của giai đoạn nhận dạng.
Đối với bước verification, việc chọn ngưỡng thích hợp là rất quan trọng. Có 2 loại
ngưỡng:
- Ngưỡng toàn cục: một ngưỡng duy nhất được áp dụng cho tất cả các speaker.
- Ngưỡng cục bộ: mỗi speaker sẽ có một ngưỡng riêng.
Thông thường, ngưỡng tốt nhất được chọn tại điểm cân bằng lỗi trên đường DET
(Detection Error Trade-off). Ngoài ra, chuẩn hóa score (score normalization) sẽ
giúp cho việc chọn ngưỡng có hiệu quả hơn và giảm đáng kể tỉ lệ lỗi.
Speaker Model 1
Speaker Model 2
Speaker Model n
Test Data
…
P1
P2
…
Pn
Max → Pk > Ө ?
ID = k
Impostor
25
2.8. Score normalization
Mục đích chính của việc chuẩn hóa score là tạo sự tách biệt giữa phân bố score của
những speaker trong hệ thống và những speaker chưa biết, nghĩa là tăng cường
score cho speaker trong hệ thống và giảm thiểu score của speaker chưa biết.
Có 2 nhóm giải pháp chính cho vấn đề này:
- Chuẩn hóa phân phối score (standardization of score distributions): bao gồm
các kỹ thuật được sử dụng phổ biến của lĩnh vực xác minh người nói
(speaker verification) như T-norm (test normalization), Z-norm (zero
normalization) và H-norm (handset normalization).
- Giải pháp Bayes: là một kỹ thuật trong Bayesian framework, áp dụng chuẩn
hóa score cho hệ thống định danh người nói.
Đề tài này sử dụng giải pháp Bayes cho bước chuẩn hóa score theo biểu thức:
L(O) = log p(O | λML) – log p(O | λU)
trong đó, λML = λi, )|(maxarg i
i
Opi λ= (λML là mô hình có điểm cao nhất ở bước
identification), λU là mô hình đại diện cho một số unknown speaker có khả năng bị
nhận nhầm vào speaker của mô hình λML. Trong thực tế, ta không thể xác định được
λU, một lựa chọn tốt là tìm một đại lượng xấp xỉ gần đúng cho p(O | λU). Có 3
phương pháp giải quyết cho vấn đề này: World Model Normalisation (WMN),
Cohort Normalisation (CN) và Unconstraint Cohort Normalisation (UCN).
2.8.1. World Model Normalization (WMN)
Phương pháp này xấp xỉ p(O | λU) bởi p(O | λWM) với λWM là mô hình được tổng
quát hóa từ một số lượng lớn các speaker. λWM thường được gọi là world model hay
universal background model.
26
Để huấn luyện mô hình λWM, cần phải có một lượng lớn dữ liệu của rất nhiều
speaker.
2.8.2. Cohort Normalization (CN)
Trong phương pháp này, mỗi speaker model sẽ được liên hệ với một nhóm các
speaker model gần nó nhất trong không gian speaker (thể hiện bởi bộ tham số λ).
Khi đó, p(O | λU) sẽ được xấp xỉ bởi pCN(O, λML, K):
∑
=
=
K
k
kf
ML
CN MLOpK
KOp
1
),(
)|(log1),,( λλλ
trong đó, f (λML, i) ≠ f (λML, j) với i ≠j.
),()2,()1,(
,...,, Kfff MLMLML λλλ λλλ là các speaker model gần nhất với λML trong không
gian speaker. Các speaker model này được chọn ra từ tập speaker model trong hệ
thống trước giai đoạn test, và được gọi là nhóm “competitive speaker models”
2.8.3. Unconstraint Cohort Normalization (UCN)
Phương pháp này giống với phương pháp Cohort Normalization, tuy nhiên nhóm
“competitive speaker models” sẽ được chọn ra ngay trong giai đoạn test để xấp xỉ
p(O | λU) bởi pUCN(O, λML, K) theo biểu thức:
∑
=
=
K
k
k
ML
UCN OpK
KOp
1
)( )|(log
1),,( φλλ
trong đó, Ф(i) ≠ Ф(j) với i ≠ j, và λФ(1), λФ(2), …, λФ(K) là các speaker models có
score cao nhất sau λML. Các speaker models này có thể được chọn trực tiếp ngay sau
bước identification mà không cần phải tốn chi phí phát sinh thêm mô hình (phương
pháp World Model Normalization) hay tốn chi phí lựa chọn mô hình trong không
gian speaker (phương pháp Cohort Normalization).
27
Trong [1], các phương pháp chuẩn hóa score được trình bày, phân tích và so sánh
thực nghiệm. Kết quả cho thấy phương pháp Unconstraint Cohort Normalization
đem lại hiệu quả tốt nhất cho việc chuẩn hóa score trong hệ thống định danh người
nói trên tập mở.
Đề tài này sử dụng giải pháp Bayes chuẩn hóa score theo phương pháp Unconstraint
Cohort Normalization.
2.9. Một số hệ thống định danh người nói
Một số hệ thống định danh người nói độc lập văn bản thường gặp được xây dựng
theo hướng tiếp cận của Vector Quantization hoặc GMM (Gaussian Mixture
Model)…
2.9.1. Hệ thống Vector Quantization
Trong hệ thống định danh người nói xây dựng theo phương pháp Vector
Quantization, mỗi người nói sẽ được mô hình hóa bằng một codebook. Một
codebook có kích thước M sẽ gổm M codevectors – còn gọi là các vectors mẫu
(prototype vectors).
Hình 2.13: Vector Quantization với codebook có M = 3.
Trên không gian vector của dữ liệu mẫu, M codevectors sẽ chia tập dữ liệu ra thành
M cụm con mà mỗi codevector sẽ là trọng tâm (vector trung bình) của cụm con
tương ứng. Hình 2.13 minh họa một không gian dữ liệu được phân cụm bởi 3
codevectors (prototype vectors).
28
Từ tập dữ liệu ban đầu, có một số thuật toán khác nhau cho việc xác định các
codevectors này. Hai thuật toán phổ biến nhất thường dùng là thuật toán Lloyd –
còn gọi là thuật toán k-means – được trình bày ở mục 3.3.3.1, và thuật toán học
cạnh tranh không giám sát.
Như vậy, ở bước xây dựng mô hình, hệ thống Vector Quantization sẽ ước lượng
codebook cho từng người nói từ tập dữ liệu huấn luyện của người nói đó. Trong
bước nhận dạng, sai số quantization error (khoảng cách euclid) giữa mẫu test với
codevector gần nó nhất trong codebook của từng người nói sẽ được tính; và mẫu
test sẽ được phân vào lớp của người nói có sai số quantization error thấp nhất.
Trong [19], hệ thống VQ-100 (Vector Quantization với codebook có M = 100) và
VQ-50 đạt lần lượt 92.9% và 90.7% hiệu suất phân lớp trên tập dữ liệu tiếng nói
telephone gồm 16 người nói, mỗi đoạn test có độ dài 5 giây.
2.9.2. Hệ thống GMM
Đối với hệ thống định danh người nói xây dựng theo phương pháp GMM, mỗi
người nói sẽ được mô hình hóa bằng một GMM. Một mô hình GMM có kích thước
M sẽ gồm M mật độ Gauss với các tham số là vector trung bình µ và ma trận hiệp
phương sai Σ. Chi tiết về mô hình GMM và thuật toán huấn luyện GMM từ dữ liệu
học sẽ được trình bày cụ thể hơn trong mục 3.1.
Hệ thống GMM được xây dựng trong [19] đạt được 96.8% hiệu suất phân lớp trên
tập dữ liệu tiếng nói rõ (clean speech – âm thanh thu được từ micro chất lượng tốt)
gồm 49 người nói, mỗi đoạn test có độ dài 5 giây; và đạt 94.5% hiệu suất phân lớp
trên tập dữ liệu tiếng nói telephone gồm 16 người nói, mỗi đoạn test dài 5 giây.
Một dạng đặc biệt của GMM khi M = 1 được gọi là mô hình Gauss (Gaussian
Model - GM). Mô hình này đạt 67.1% hiệu suất phân lớp trên tập dữ liệu tiếng nói
telephone gồm 16 người nói, mỗi đoạn test có độ dài 5 giây [19].
29
Bảng 2.1 tóm tắt hiệu suất nhận dạng của các hệ thống định danh người nói đã trình
bày trong mục 2.9.1 và 2.9.2 trên cùng tập dữ liệu tiếng nói telephone gồm 16 người
nói, mỗi đoạn test có độ dài 5 giây [19].
Bảng 2.1: So sánh các hệ thống định danh người nói trên cùng tập dữ liệu.
Hệ thống Hiệu suất định danh
(Identification accuracy)
Gaussian Mixture Model 94.5 %
Vector Quantization – 100 92.9 %
Vector Quantization – 50 90.7 %
Gaussian Model 67.1 %
2.9.3. Các hệ thống khác
Ngoài hai phương pháp truyền thống là GMM và Vector Quantization, các công
trình nghiên cứu gần đây đã tiếp cận bài toán theo một số hướng khác như Support
Vector Machine (SVM) [24], mạng Neuron (Neural Network) [21], …
Bảng 2.2: Hiệu suất của một số hệ thống trên các tập dữ liệu khác nhau.
Hệ thống Hiệu suất định danh
(identification accuracy)
Hiệu suất xác minh
(verification accuracy)
Gaussian Mixture Model 96.8 % 92.6 %
Support Vector Machine 95.6 % 95.9 %
Neural Network 94.7 % 95.1 %
Vector Quantization cải tiến 94.4 % 89.2 %
Bảng 2.2 so sánh hiệu suất nhận dạng của một số hệ thống được xây dựng theo
phương pháp: GMM, Support Vector Machine, mạng Neuron, Vector Quantization
cải tiến. Các kết quả này được tóm tắt từ [9, 15, 19, 21, 22, 23, 24, 25]. Tuy nhiên,
việc so sánh ở đây chỉ mang tính tương đối vì những hệ thống này được thực
nghiệm trên các tập dữ liệu tiếng nói khác nhau.