LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành cảm ơn thầy giáo TS. Phùng Trung
Nghĩa, người đã trực tiếp hướng dẫn em hoàn thành luận văn. Với những lời
chỉ dẫn, những tài liệu, sự tận tình hướng dẫn và những lời động viên của thầy
đã giúp em vượt qua nhiều khó khăn trong quá trình thực hiện luận văn này.
Em cũng xin cảm ơn quý thầy cô giảng dạy chương trình cao học
chuyên ngành "Khoa học máy tính” tại trường ĐH Công nghệ thông tin và
truyền thông đã truyền dạy những kiến thức quý báu, những kiến thức này rất
hữu ích và giúp em nhiều khi thực hiện nghiên cứu.
Cuối cùng, em xin gửi lời cảm ơn tới gia đình và bạn bè đã luôn ủng hộ động
viên giúp đỡ em trong suốt những năm học vừa qua.
Em xin chân thành cảm ơn!
Thái Nguyên, ngày 10 tháng 05 năm 2016
Học viên
Trần Thị Tuyết
LỜI CAM ĐOAN
Tên tôi là: Trần Thị Tuyết
Sinh ngày: 20/05/1987
Học viên lớp cao học K13A - Trường Đại học Công nghệ thông tin và
và Truyền thông - ĐHTN.
Em xin cam đoan: Luận văn này là công trình nghiên cứu thực sự của cá
nhân, được thực hiện dưới sự hướng dẫn khoa học của thầy giáo TS. Phùng
Trung Nghĩa.
Các số liệu, những kết luận nghiên cứu được trình bày trong luận văn
này trung thực và chưa từng được công bố dưới bất cứ hình thức nào.
Em xin chịu trách nhiệm về nghiên cứu của mình.
Học viên
2.1.1. Phương pháp so sánh mẫu trực tiếp cổ điển dùng giải thuật thời
gian động (Dynamic time warping - DTW) .......................................... 20
ii
2.1.2. Phương pháp phân lớp dùng lượng tử hóa vector (Vector
Quantization - VQ) ............................................................................... 23
2.2. Phương pháp sử dụng mô hình pha trộn Gaussian ......................... 30
2.2.1. Đặc tả mô hình............................................................................ 30
2.2.2 Ước lượng tham số mô hình GMM .............................................. 33
2.2.3. Mô hình hóa người nói không phụ thuộc văn bản với mô hình
Gaussian Mixture Model - GMM ......................................................... 34
2.2.4. Huấn luyện với mô hình Gaussian Mixture Model - GMM ......... 35
2.2.5. Nhận dạng với mô hình Gaussian Mixture Model - GMM .......... 36
2.3. Phân lớp bằng mô hình GMM-HMM............................................ 37
2.3.1. Giới thiệu .................................................................................... 37
2.3.2. Đặc tả mô hình GMM-HMM ...................................................... 39
2.3.3. GMM-HMM và bài toán định danh người nói ............................ 40
CHƯƠNG III: ĐÁNH GIÁ THỰC NGHIỆM PHƯƠNG PHÁP NHẬN
DẠNG NGƯỜI NÓI DÙNG VQ VÀ MÔ HÌNH GMM .............................. 44
3.1. Lựa chọn cơ sở dữ liệu ................................................................. 44
3.1.1. Phạm vi của các cơ sở dữ liệu ATR ............................................ 44
3.1.2. Thu thập dữ liệu tiếng nói trong ATR ......................................... 46
3.1.3. Gán nhãn trong ATR................................................................... 48
3.2. Cài đặt các phương pháp trên MATLAB ...................................... 51
3.2.1. Cài đặt phương pháp VQ ............................................................ 51
3.2.2. Cài đặt phương pháp GMM ........................................................ 53
3.3. Kết quả của các phương pháp ....................................................... 56
3.4. Đánh giá các kết quả .................................................................... 56
Hình 1.16: Bộ lọc trên tần số thật................................................................. 19
Hình 1.17: Minh họa các bước biến đổi MFCC ........................................... 19
Hình 2.1: Hai chuỗi dữ liệu trong DTW theo thời gian ................................. 21
Hình 2.2: Giãn tín hiệu có độ dài khác nhau: tín hiệu màu đỏ đã được giãn để
có độ dài tương ứng với tín hiệu màu xanh................................................... 22
Hình 2.3: Khoảng cách Euclidean tính cho 2 mẫu tiếng nói đã giãn để có độ
dài bằng nhau ............................................................................................... 22
Hình 2.4a: Huấn luyện.................................................................................. 24
Hình 2.4b: Nhận dạng .................................................................................. 25
Hình 2.5: Hàm mật độ Gauss........................................................................ 30
Hình 2.6: Mô hình GMM. ............................................................................ 31
Hình 2.7: Hàm mật độ của GMM có 3 phân phối Gauss............................... 32
v
Hình 2.8: HMM với 3 trạng thái và trọng số chuyển trạng thái.................... 37
Hình 2.9: Nhận dạng người nói dùng HMM ................................................. 38
Hình 2.10: Mô hình GMM-HMM 3 trạng thái. ............................................. 39
Hình 3.1: Sơ đồ khối hệ thống thu thập dữ liệu ............................................ 45
Hình 3.2: Một ví dụ về kết quả phiên âm đa tầng. ........................................ 50
Hình 3.3: Thuật toán huấn luyện VQ ............................................................ 52
Hình 3.4: Thuật toán nhận dạng VQ ............................................................. 53
Hình 3.5: Thuật toán huấn luyện GMM ........................................................ 54
Hình 3.6: Thuật toán nhận dạng GMM ......................................................... 55
vi
DANH MỤC CHỮ VIẾT TẮT VÀ KÍ HIỆU
Phép biến đổi Fourier nhanh
1
MỞ ĐẦU
1. Lý do chọn đề tài
Tiếng nói là phương tiện giao tiếp cơ bản của con người. Vì vậy tiếng
nói cũng là loại hình thông tin cơ bản và phổ biến nhất trong các hệ thống
truyền thông. Tín hiệu tiếng nói mang nhiều thông tin, như thông tin ngôn
ngữ, thông tin về người nói, thông tin về sắc thái tình cảm khi nói,…
Hầu hết các hệ thống xử lý và nhận dạng tiếng nói truyền thống tập
trung vào xử lý các thông tin ngôn ngữ để đảm bảo nhận dạng được nội dung
ngôn ngữ hay ngữ nghĩa được nói [5], [11]. Tuy nhiên để các ứng dụng xử lý
tiếng nói trong máy tính có thể được áp dụng rộng rãi trong thực tế, một trong
những vấn đề quan trọng cần đảm bảo là khả năng nhận dạng và xác minh
người nói [2], [12].
Trên thế giới đã có nhiều nghiên cứu về nhận dạng người nói qua giọng
nói [12], [14]. Tại Việt Nam cũng có một số nghiên cứu ban đầu, đặc biệt là
một số nghiên cứu tại Viện Công nghệ thông tin [3] và Viện nghiên cứu
MICA – Đại học Bách Khoa Hà Nội [1], [2]. Tuy nhiên ở Việt Nam vẫn chưa
có nhiều các nghiên cứu đánh giá một cách tổng hợp các phương pháp nhận
dạng người nói phổ biến. Đặc biệt, hai phương pháp nhận dạng người nói hiện
đại dùng phép lượng tử hóa vector – VQ và mô hình pha trộn Gaussian GMM [10], [12], [13] lại chưa được nghiên cứu nhiều tại Việt Nam. Vì vậy,
luận văn này nghiên cứu một số phương pháp nhận dạng người nói bằng
giọng nói, tập trung vào hai phương pháp dùng phép lượng tử hóa vector và
mô hình pha trộn Gaussian, đánh giá thực nghiệm các phương pháp, và đưa ra
những khuyến nghị.
Dựa trên các cơ sở lý thuyết và các phân tích, đánh giá, luận văn cũng
sẽ nghiên cứu thực nghiệm một số phương pháp nhận dạng người nói qua
giọng nói.
5. Ý nghĩa khoa học và thực tiễn
Như đã trình bày trong phần 1, nghiên cứu về thông tin người nói trong
tiếng nói và các phương pháp nhận dạng người nói qua giọng nói có vai trò
quan trọng trong các hệ thống xử lý thông tin và truyền thông hiện đại. Đây
không phải vấn đề nghiên cứu mới trên thế giới nhưng còn khá mới mẻ ở Việt
Nam. Đặc biệt, nghiên cứu tổng hợp về các phương pháp nhận dạng người nói
qua giọng nói dùng phép lượng tử hóa vector - VQ và mô hình Gaussian GMM chưa được nghiên cứu nhiều ở Việt Nam. Do vậy vấn đề nghiên cứu
trong luận văn có ý nghĩa khoa học và thực tiễn.
4
CHƯƠNG I: TỔNG QUAN VỀ TIẾNG NÓI VÀ NHẬN DẠNG NGƯỜI
NÓI TRONG TIẾNG NÓI
1.1. Tổng quan về tiếng nói
Âm thanh của lời nói cũng như âm thanh trong thế giới tự nhiên xung
quanh ta, về bản chất đều là những sóng âm được lan truyền trong một môi
trường nhất định (thường là không khí). Khi nói dây thanh trong hầu bị chấn
động, tạo nên những sóng âm, sóng truyền trong không khí đến màng nhĩ –
một màng mỏng rất nhạy cảm của tai ta, làm cho màng nhĩ cũng dao động,
các dây thần kinh màng nhĩ sẽ nhận được cảm giác âm khi tần số dao động
của sóng đạt đến một độ lớn nhất định. Tai con người chỉ cảm thụ được
những dao động có tần số từ khoảng 16Hz đến khoảng 20000Hz. Những dao
động trong miền tần số này gọi là dao động âm hay âm thanh, và các sóng
tương ứng gọi là sóng âm. Những sóng có tần số nhỏ hơn 16Hz gọi là sóng hạ
âm, những sóng có tần số lớn hơn 20000Hz gọi là sóng siêu âm nhưng con
thành văn bản tiếng Việt xem cái gì thực sự đã được nói ra. Tương tự với các
ngôn ngữ khác như tiếng Anh, tiếng Thái, tiếng Mandarin, Cantonese,… Tuy
nhiên bản thân tín hiệu tiếng nói còn có thể mang nhiều thông tin hơn là nội
dung cái gì đã được nói. Tiếng nói có thể mang thông tin ai nói, nói bằng
ngôn ngữ gì, nói với sắc thái tình cảm như thế nào,… Và do vậy thuật ngữ
“nhận dạng tiếng nói” cần được hiểu như là một lĩnh vực nhận dạng tín hiệu
tiếng nói nói chung với các ứng dụng cụ thể như nhận dạng tiếng nói tiếng
Anh, tiếng Việt,… nhận dạng người nói, nhận dạng ngôn ngữ nói,…
Bài toán nhận dạng người nói mới được nghiên cứu nhiều trong thời gian
gần đây. Nhận dạng người nói có nhiều ứng dụng trong công tác điều tra,
giám định tội phạm, xác thực người dùng, giao dịch ngân hàng,… Về cơ bản,
nhận dạng người nói và nhận dạng tiếng nói nói chung có những điểm chung
6
giống nhau về quá trình xử lý tín hiệu tiếng nói, học mẫu và phân lớp, nhận
dạng và so khớp mẫu.
Hình 1.1: Các ứng dụng xử lý tiếng nói
1.2. Tổng quan về lý thuyết nhận dạng tiếng nói
Nhận dạng là một quá trình quan sát đối tượng cần nhận dạng, ghi nhận
lại những đặc trưng của đối tượng, phân lớp đối tượng và có sử dụng khả
năng phán đoán suy luận để phân biệt đối tượng đó với đối tượng khác (trong
một tập gần như vô hạn đối tượng).
Trong khi đó, nhận dạng tự động – nhận dạng bằng công cụ máy vi tính
chỉ đơn giản là quá trình phân biệt tín hiệu này với tín hiệu khác (trong một
tập hữu hạn các tín hiệu), quá trình này được thực hiện theo các bước trong sơ
đồ tổng quát sau (như trong hình 1.2).
thông tin người nói trong tiếng nói như hình dạng, cấu trúc cơ quan phát âm
(đặc trưng sinh học), thói quen, cách thức phát âm,..
Con người có thể phân biệt được thông tin người nói một cách dễ dàng
do khả năng của cơ quan thính giác tuy nhiên để máy tính có thể phân biệt
thông tin người nói, thông tin người nói cần phải được mô hình hóa và việc
phân biệt, định danh, biến đổi cần phải được thực hiện thông qua các tham số
vector đặc trưng được tính toán từ tín hiệu tiếng nói.
Hình 1.3: Người nói khác nhau có cơ quan phát âm và cách phát âm khác
nhau dẫn tới tiếng nói khác nhau
9
Hình 1.4: Đặc trưng phổ formant đặc trưng cho cơ quan phát âm
1.4. Vấn đề nhận dạng và xác minh người nói qua giọng nói
Tiếng nói tự nhiên ngoài thông tin ngữ nghĩa mà người nói cần truyền
đạt (thông tin có thể ghi dưới dạng chữ viết) còn chứa các thông tin như trạng
thái tình cảm khi nói, hay những thông tin riêng của giọng nói…
1.4.1. Phân loại nhận dạng và xác thực người nói dựa vào chức
năng của bài toán
Dựa vào chức năng của bài toán nhận dạng người nói nói chung mô tả
trong hình 1.5 người ta chia bài toán nhận dạng người nói thành hai bài toán:
bài toán định danh người nói (speaker identification) và bài toán xác thực
người nói (speaker verification).
10
Hình 1.5: Mô hình chung nhận dạng người nói
trong trường hợp cụm từ là các số, hệ thống sẽ sinh ra 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
vào hệ thống.
12
Nhận dạng người nói không phụ thuộc vào từ khóa (text-independent
speaker recognition): nhận dạng người nói chỉ dựa vào đặc trưng của người
nói.
- Kỹ thuật này được áp dụng rộng rãi, đáp ứng được hầu hết các yêu
cầu đề ra. Nhưng trong thực tế cùng một người cũng có giọng nói khác nhau ở
những thời điểm khác nhau. Điều này làm ảnh hưởng rất lớn đến việc nhận
dạng, nó làm cho độ chính xác của hệ thống nhận dạng giảm xuống.
- Để khắc phục hạn chế của kỹ thuật này thì hệ thống nhận dạng không
phụ thuộc vào từ khóa cần được thiết kế phức tạp hơn, đòi hỏi lượng dữ liệu
huấn luyện nhiều hơn. Nhưng với phương pháp này thì không khắc phục được
nhiều. Do đó trong thực tế vấn đề này được khắc phục bằng cách là bán độc
lập người nói. Tức là phương pháp này thực hiện bằng cách thu một lượng lớn
các mẫu giọng nói khác nhau. Khi sử dụng hệ thống sẽ được điều chỉnh cho
phù hợp với giọng nói của người dùng, bằng cách nó học thêm một số câu có
chứa các từ cần thiết (người dùng trước khi sử dụng hệ thống cần phải qua
quá trình huấn luyện hệ thống).
Nhận dạng người nói
Nhận dạng người nói
Phụ thuộc
từ khóa
14
Hình 1.10: Sơ đồ rút trích đặc trưng chi tiết
1.5.2. Đặc trưng biên độ
Có hai cách biểu diễn đặc trưng biên độ thông qua cường độ âm I hoặc
năng lượng âm E.
Đối với tai con người, giá trị tuyệt đối của cường độ âm I không quan
trọng bằng giá trị tỉ đối của I so với một giá trị I0 nào đó chọn làm chuẩn.
Người ta định nghĩa mức cường độ âm L: L(B) = lg(I/I0).
Đơn vị mức cường độ âm là Ben (kí hiệu : B). Mức cường độ âm bằng
1,2,3,4 B... có nghĩa là cường độ âm I lớn gấp 10, 10^2, 10^3, 10^4... cường
độ âm chuẩn I0.
Trong thực tế người ta thường dùng đơn vị dB, bằng 1/10 ben. L(dB)=
10lg(I/I0). Khi L= 1dB, thì I lớn gấp 1.26 lần I0. Đó là mức cường độ âm nhỏ
nhất mà tai ta có thể phân biệt được.
Năng lượng tín hiệu được thể hiện thông qua mức độ, số lượng tín
hiệu có trong một đơn vị thời gian. Năng lượng của tín hiệu tiếng nói là
một đặc trưng vật lý của tín hiệu, được dùng như là tham số trong vector
15
đặc trưng trong nhận dạng tiếng nói, và còn được để dò tìm khoảng lặng
trong tín hiệu tiếng nói. Tính toán năng lượng tín hiệu thường dựa trên sự
phân khung và lấy cửa sổ, bằng cách lấy tổng các bình phương chuỗi tín
hiệu X(n) trong cửa sổ tín hiệu. Đặc trưng năng lượng ở đây được tính bằng
cách lấy log năng lượng tín hiệu.
1.5.3. Đặc trưng cao độ
16
đặc trưng cho một số yếu tố phi ngôn ngữ như người nói, cảm xúc ngữ điệu
khi nói,…
Hình 1.11: Đặc trưng cao độ
Đặc trưng trường độ đơn giản là độ dài của đơn vị tiếng nói tính bằng
giây hoặc bằng số lượng khung tiếng nói.
Các kết quả nghiên cứu cho thấy để thay đổi tốc độ nói không thể thay
đổi tuyến tính trường độ mà cần thay đổi đồng bộ trường độ và cao độ theo
giải thuật Pitch-Synchronous Modification [8].
1.5.4. Đặc trưng phổ
Phổ âm thanh là tính chất vật lý ảnh hưởng chủ yếu đến sự nhận thức
âm sắc âm thanh, trong đó âm sắc là phẩm chất hay màu sắc của tiếng nói hay
âm thanh. Âm sắc giúp phân biệt những loại nguồn âm khác nhau như người
nói khác nhau hay các loại nhạc cụ khác nhau. Ví dụ, âm sắc có thể giúp phân
biệt một kèn Saxophone và một kèn trumpet trong một nhóm chơi nhạc Jazz,
ngay cả khi cả hai loại nhạc cụ này đang chơi những nốt nhạc có cùng cường
độ và cao độ.
Phổ âm thanh ảnh hưởng chính bởi cấu trúc bộ máy cộng hưởng âm
thanh, với tiếng nói đó là bộ máy dẫn âm và phát âm vocal tract. Khi phân
tích tín hiệu âm thanh, người ta có thể dùng phổ âm thanh thời gian ngắn hoặc
dùng phiên bản tối giản đường bao phổ hình 1.11.
17
Hình 1.12: Đặc trưng phổ và đường bao phổ đặc trưng cho cơ quan phát âm
Có nhiều phương pháp tính toán các hệ số biểu diễn đường bao phổ,