Định danh người nói độc lập văn bản bằng mô hình thống kê
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
10 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2892 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Đị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
1
Chương 1: GIỚI THIỆU
1.1 Dẫn nhập
Đề tài nghiên cứu của luận văn này xoay quanh bài toán định danh người nói – một
bài toán con trong lĩnh vực nhận dạng người nói, vốn là một nhánh của sinh trắc học
(biometrics).
Nhận dạng người nói tự động (Automatic Speaker Recognition – ASR) là tiến trình
nhận dạng tự động một người dựa trên tiếng nói của người đó. Một hệ thống ASR
gồm hai giai đoạn chính là đăng ký (enrollment) và nhận dạng (test):
- Trong giai đoạn đăng ký, dữ liệu tiếng nói của mỗi người sẽ được thu nhận
và rút trích đặc trưng trước khi đưa vào huấn luyện/xây dựng mô hình. Bước
rút trích đặc trưng thực hiện thu gọn và biến đổi dữ liệu tiếng nói thành các
vector đặc trưng mang thông tin phân biệt giữa những người nói khác nhau.
Sau đó, các vector đặc trưng sẽ được đưa vào xây dựng mô hình tùy theo
phương pháp cụ thể của hướng tiếp cận giải quyết bài toán.
- Trong giai đoạn nhận dạng, vector đặc trưng của mẫu test sẽ được đánh giá
qua các mô hình đã xây dựng ở bước đăng ký và rút ra kết luận.
Về mặt ý nghĩa khoa học và thực tiễn, các hệ thống ASR có nhiều ứng dụng trong
các tác vụ liên quan đến bảo mật. Ví dụ như nó có thể giúp cho việc xác thực các
giao dịch từ xa thông qua điện thoại, hay kiểm soát truy cập các hệ thống mạng và
máy tính. Ngoài ra, hệ thống ASR còn giúp hỗ trợ công tác điều tra tội phạm, hay
phối hợp với các lĩnh vực khác như: truy tìm thông tin (information retrieval), nhận
dạng lời thoại (speech recognition).
Các mục còn lại của chương này sẽ trình bày chi tiết hơn về bài toán nhận dạng
người nói mà cụ thể là định danh người nói – đối tượng nghiên cứu của đề tài –
cùng với các lĩnh vực liên quan.
2
1.2. Sinh trắc học
1.2.1. Khái quát
Sinh trắc học (biometrics) là lĩnh vực nghiên cứu các phương pháp toán học và
thống kê áp dụng trên các bài toán phân tích dữ liệu sinh học. Cụm từ “biometrics”
xuất phát từ chữ “bio” (life) và “metrics” (measure) trong tiếng Hy Lạp.
Sinh trắc học gồm các phương pháp nhận diện một người dựa trên các đặc điểm
sinh lý học (physiological) hay các đặc điểm hành vi (behavioral) của người đó. Các
hệ thống sinh trắc đã và đang được phát triển trong các ứng dụng thực tế như hệ
thống bảo mật giao tác, quản lý truy xuất, các hệ thống điều phối.
Sinh trắc học đem lại một số ưu điểm so với các phương pháp bảo mật truyền thống
(card, password…) như: không thể hoặc rất khó giả mạo, không bị đánh cắp hay bị
mất... Tuy nhiên, kết quả của các công trình nghiên cứu trên lĩnh vực này vẫn chưa
đủ hoàn thiện để có thể thay thế hẳn các phương pháp truyền thống. Hiện nay, kỹ
thuật sinh trắc thường được sử dụng kết hợp với password hay card để tăng cường
khả năng bảo mật cũng như tính an toàn của dữ liệu.
Về phân loại, sinh trắc học có thể được chia thành hai nhóm chính là sinh trắc thể
(physiological) và sinh trắc hành vi (behavioral):
- Physiological: bao gồm các đặc điểm sinh học trên cơ thể như khuôn mặt
(face), DNA, vân tay (fingerprint), tròng mắt (iris), giọng nói (voice)…
Trong đó, vân tay là đặc điểm được nghiên cứu và sử dụng từ khá lâu.
- Behavioral: các đặc điểm về hành vi của con người như thói quen gõ phím
(keystroke), chữ ký (signature), giọng nói (voice)…
Nếu xét theo độ cao thấp (pitch), giọng nói có thể được phân loại vào nhóm đặc
điểm sinh trắc thể. Tuy nhiên, giọng nói còn được xem là một đặc điểm hành vi nếu
ta xét về cách nói.
3
Hình 1.1: Phân loại sinh trắc học.
Sinh trắc học được sử dụng theo hai thể thức chính là định danh (identification) và
xác minh (verification):
- Identification: xác định cụ thể mẫu sinh trắc thuộc về ai. Cơ chế định danh
thông qua việc tìm một bộ khớp nhất trong database so với mẫu test. Phương
pháp này đòi hỏi rất nhiều chi phí tính toán nếu kích thước database lớn.
- Verification: xác định xem mẫu sinh trắc có phải thuộc về một chủ thể cho
trước hay không. Cơ chế xác minh thông qua việc so khớp giữa mẫu test với
các mẫu thuộc chủ thể đó trong database. Do vậy, phương pháp này đòi hỏi
ít năng lực xử lý và thời gian tính toán hơn phương pháp định danh.
1.2.2. Kiến trúc cơ bản của một hệ thống sinh trắc
Các thành phần chính của một hệ thống sinh trắc (biometric system):
- Bộ cảm biến (sensor): thường là các đầu đọc hay thiết bị scan. Bộ phận này
đảm nhận vai trò thu nhận các thông tin sinh trắc từ người trong thế giới thực.
- Bộ số hóa (digitalizing module): thực hiện việc chuyển đổi thông tin thu
được từ bộ cảm biến sang tín hiệu số và phân tích, rút trích đặc trưng từ tín
hiệu đó. Đầu ra của bộ phận này sẽ được truyền sang bộ so khớp (matcher) ở
bước nhận dạng (test) hoặc lưu vào database ở bước đăng ký (enrollment).
Sinh trắc học
Đặc điểm Cơ thể Đặc điểm Hành vi
Khuôn
mặt DNA
Tròng
mắt
Vân
tay
Giọng
nói Chữ ký
Thói quen
Gõ phím
4
Hình 1.2: Các thành phần chính của một hệ thống sinh trắc.
- Bộ lưu trữ (database): lưu trữ các thông tin sinh trắc của người dùng.
- Bộ so khớp (matcher): thực hiện đối sánh giữa mẫu test với các mẫu đã được
đăng ký (enrolled) trong database. Kết quả đối sánh sẽ được truyền đến bộ
ứng dụng.
- Bộ ứng dụng (application device): bộ phận ứng dụng của hệ thống sinh trắc.
Tùy từng ứng dụng cụ thể mà thành phần này sẽ thực hiện các chức năng
tương ứng với quyết định của bộ so khớp.
1.3. Bài toán nhận dạng người nói
Trong các đặc tính sinh học trên cơ thể người, tiếng nói là một đặc điểm mang tính
phổ thông, dễ phát sinh và không cần đến các thiết bị thu phức tạp. Nhiều công trình
đã được nghiên cứu trên tiếng nói nhằm khai thác các thông tin từ tiếng nói. Hình
1.3 minh họa các lĩnh vực nghiên cứu trên tiếng nói, tập trung vào bài toán nhận
dạng tiếng nói.
Nhận dạng tiếng nói (voice recognition) bao gồm: nhận dạng lời thoại (speech
recognition), nhận dạng người nói (speaker recognition), nhận dạng ngôn ngữ nói
(language recognition), nhận dạng phương ngữ nói (dialect recognition)… Trong đó,
bài toán nhận dạng người nói lại bao gồm 2 loại là nhận dạng độc lập văn bản (text-
đăng ký
test
testBộ cảm biến Bộ số hóa
Database
Bộ so khớp
Bộ
ứng dụng
5
independent) và nhận dạng phụ thuộc văn bản (text-dependent). Theo thể thức nhận
dạng thì nhận dạng người nói gồm dạng xác minh (verification) và dạng định danh
(identification).
Hình 1.3: Các lĩnh vực về nhận dạng tiếng nói.
Trong bài toán xác minh người nói tự động (Automatic Speaker Verification –
ASV), máy tính chỉ việc xác định xem một mẫu tiếng nói có phải thuộc về một
người nói cho trước hay không mà thôi (so sánh 1:1). Còn đối với bài toán định
danh người nói tự động (Automatic Speaker Identification – ASI), máy tính sẽ phải
Tiếng nói
Nhận dạng
Lời thoại
Nhận dạng
Người nói
Nhận dạng
Ngôn ngữ
N.N. Phụ thuộc Văn bản
(theo thể thức lời thoại)
N.N. Độc lập Văn bản
(theo thể thức lời thoại)
Xác minh Người nói
(theo thể thức nhận dạng)
Định danh Người nói
(theo thể thức nhận dạng)
- N.N. : Nhận dạng Người nói
Xử lý
Tiếng nói
Nhận dạng
Tiếng nói
Miền
Thời gian
Miền
Tần số
…
…
Nhận dạng
Phương ngữ
6
chỉ ra cụ thể mẫu tiếng nói đó thuộc về ai trong số n người nói đã biết (so sánh 1:n).
Định danh người nói còn được chia thành 2 loại:
- Định danh người nói trên tập đóng (Closed-set speaker identification): tập dữ
liệu test là tập đóng, tất cả các mẫu đều thuộc về những người nói đã biết.
- Định danh người nói trên tập mở (Open-set speaker identification): tập dữ
liệu test là tập mở, mẫu test có thể thuộc về một trong những người nói đã
biết hoặc một người nói bất kỳ chưa biết.
Hình 1.4: Phân biệt ASV và ASI.
Hình 1.5: Phân biệt open-set ASI và closed-set ASI.
Trong nhận dạng người nói phụ thuộc văn bản (text-dependent speaker recognition)
hệ thống sẽ quy định trước một câu hay một cụm từ mà người nói cần phải phát âm.
7
Ngược lại, nhận dạng người nói độc lập văn bản (text-independent speaker
recognition) không cần quy ước trước câu hay cụm từ cần phát âm; người nói có thể
phát âm bất kỳ.
Đề tài này tập trung vào bài toán định danh người nói độc lập văn bản trên tập dữ
liệu mở (open-set text-independent speaker identification).
1.4. Các hướng tiếp cận
Tùy thuộc vào từng bài toán nhận dạng người nói, các phương pháp thích hợp sẽ
được áp dụng. Ở đây, các hướng tiếp cận sẽ được phân loại theo 2 nhóm: nhóm phụ
thuộc văn bản và nhóm độc lập văn bản.
1.4.1. Nhóm phụ thuộc văn bản
Đối với bài toán nhận dạng người nói phụ thuộc văn bản, các phương pháp thường
được áp dụng là Dynamic Time Warping (DTW) và mô hình Markov ẩn (Hidden
Markov Model – HMM):
- Dynamic Time Warping (DTW): các training vectors sẽ được lưu trực tiếp
trong database cùng với định danh (identity) của người nói tương ứng. Trong
giai đoạn test, độ tương tự khoảng cách giữa test vector với các training
vectors sẽ được tính, và mẫu test sẽ được phân vào lớp của training vector có
độ tương tự khoảng cách nhỏ nhất.
- Hidden Markov Model (HMM): là một mô hình thống kê được ứng dụng khá
phổ biến trong nhiều lĩnh vực, trong đó có lĩnh vực nhận dạng lời thoại
(speech recognition). Đối với bài toán nhận dạng người nói phụ thuộc văn
bản, HMM được dùng để mô hình hóa cả thông tin về người nói lẫn lời thoại
được nói.
HMM được xem là phương pháp tốt hơn so với DTW cho bài toán nhận dạng người
nói phụ thuộc văn bản. Tuy nhiên, trong các ứng dụng thực tế, DTW sẽ là một lựa
8
chọn tốt hơn trong trường hợp tập dữ liệu huấn luyện không đủ lớn để ước lượng
các tham số của HMM.
1.4.2. Nhóm độc lập văn bản
Đối với bài toán nhận dạng người nói độc lập văn bản, các phương pháp thường
được áp dụng là Vector Quantization (VQ) và Gaussian Mixture Model (GMM):
- Vector Quantization (VQ): là một kỹ thuật được lấy từ lĩnh vực xử lý tiếng
nói (speech processing). Trong phương pháp này, dữ liệu học sẽ được đưa
vào huấn luyện codebook cho từng người nói. Ở bước test, kết quả nhận
dạng sẽ dựa trên sai số quantization error giữa mẫu test với codevector gần
nhất trong codebook của từng người nói.
- Gaussian Mixture Model (GMM): đây cũng là phương pháp gom cụm giống
Vector Quantization. Tuy nhiên trong GMM, mỗi cụm được dại diện bởi một
hàm Gauss qua 2 tham số là vector trung bình và ma trận hiệp phương sai.
Mỗi GMM sẽ mô hình hóa cho một người nói.
GMM có khả năng mô hình hóa tốt hơn VQ, tuy nhiên cũng đòi hỏi số lượng dữ
liệu huấn luyện phải đủ lớn.
1.5. Tiếp cận của đề tài
Mục tiêu (giả thiết) chính của đề tài là áp dụng mô hình Markov ẩn hợp Gauss
(Mixture of Gaussians Hidden Markov Model – MGHMM) cho bài toán định danh
người nói độc lập văn bản trên tập dữ liệu mở.
Phân loại theo hàm mật độ xác suất của các tín hiệu quan sát, mô hình Markov ẩn
(HMM) gồm 2 loại: HMM rời rạc và HMM liên tục. Trong trường hợp hàm mật độ
xác suất là hàm Gauss, ta có mô hình Markov ẩn đơn Gauss (Gaussian HMM).
Mô hình Markov ẩn hợp Gauss (MGHMM) là một dạng của HMM liên tục, trong
đó hàm mật độ xác suất của các vector quan sát là hợp các hàm Gauss (GMM).
9
Hình 1.6: Phân loại mô hình Markov ẩn.
Trong phương pháp tiếp cận của đề tài này, mỗi người nói sẽ được mô hình hóa
bằng một MGHMM từ dữ liệu huấn luyện của người nói tương ứng. Sau đó, tiến
trình nhận dạng một mẫu tiếng nói sẽ gồm 2 bước chính là phân lớp và tái xác định
kết quả phân lớp. Chi tiết của phương pháp này sẽ được trình bày cụ thể hơn trong
chương 2 và chương 3.
Hệ thống xây dựng theo phương pháp này được thực nghiệm trên tập dữ liệu tiếng
nói tiếng Việt bao gồm giọng nói của cả ba miền: Bắc, Trung và Nam. Kết quả thực
nghiệm đạt được là 100% hiệu suất phân lớp và 96% hiệu suất xác minh.
Nội dung các phần tiếp theo của luận vặn:
- Chương 2 sẽ trình bày tổng quan về các thành phần và cơ chế hoạt động của
một hệ thống định danh người nói trên tập mở, cùng với tóm tắt nội dung và
kết quả đạt được của một số phương pháp trong các công trình nghiên cứu
trước đây.
Bộ phân loại
Gauss HMM
Gaussian
Model
Gaussian
Mixture
Model
…
HMM
rời rạc
HMM
liên tục
Gaussian
HMM
Mixture of
Gaussians HMM
- HMM: Hidden Markov Model
10
- Chương 3 trình bày chi tiết về mô hình MGHMM – đặc tả mô hình, các bước
xây dựng mô hình, và áp dụng của nó trong đề tài.
- Chương 4 mô tả dữ liệu thực nghiệm, chi tiết thực nghiệm và các kết quả đạt
được.
- Chương 5 đưa ra kết luận và hướng phát triển.