ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
HỌC VIÊN: Trần Thị Tuyết
Lớp: cao học k13a
Người hướng dẫn: Phùng Trung Nghĩa
Đề tài: NGHIÊN CỨU PHƯƠNG PHÁP NHẬN DẠNG NGƯỜI NÓI SỬ DỤNG KĨ THUẬT
PHA TRỘN GAUSSIAN
Thái Nguyên, 2016
Số hóa bởi Trung tâm Học liệu – ĐHTN
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
iii
DANH
MỤC
HÌNH
...................................................................................... iv DANH MỤC CHỮ VIẾT TẮT VÀ KÍ
HIỆU
...............................................
vi
MỞ
ĐẦU
....................................................................................................... 1
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 ............................................................................. 4
1.1. Tổng quan về tiếng nói .................................................................. 4
1.2. Tổng quan về lý thuyết nhận dạng tiếng nói.................................... 6
1.3. Thông tn người nói trong tiếng nói ................................................ 8
1.4. Vấn đề nhận dạng và xác minh người nói qua giọng nói.................. 9
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................................................................................................... 9
1.4.2. Phân loại nhận dạng và xác thực người nói dựa theo từ khóa ............. 11
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
KẾT LUẬN.................................................................................................. 57
TÀI LIỆU THAM KHẢO ............................................................................ 58
iii
DANH MỤC BẢNG
Bảng 1.1: Một số giá trị của tần số cơ bản ứng với giới tính và độ tuổi ........ 15
Bảng 3.1: Thống kê các thông số của cơ sở dữ liệu ...................................... 45
Bảng 3.2: Các lớp phiên âm ......................................................................... 48
Bảng 3.3: Các ký hiệu âm thanh – âm cho lớp thứ 2..................................... 49
iv
DANH MỤC HÌNH
Hình 1.1: Các ứng dụng xử lý tiếng nói .......................................................... 6
Hình 1.2: Sơ đồ nhận dạng tổng quát.............................................................. 7
Hình 1.4: Đặc trưng phổ formant đặc trưng cho cơ quan phát âm................... 9
Hình 1.5: Mô hình chung nhận dạng người nói............................................ 10
Hình 1.6: Bài toán định danh người nói ....................................................... 10
Hình 1.7: Bài toán xác thực người nói .......................................................... 11
Hình 1.8: Phân loại bài toán nhận dạng người nói theo từ khóa .................... 12
Hình 1.9: Sơ đồ rút trích vector đặc trưng tổng quát .................................... 13
vi
DANH MỤC CHỮ VIẾT TẮT VÀ KÍ HIỆU
Ký tự
F0
Ý nghĩa
Tần số dao động cơ bản
MFCC
Hệ số Cepstral tần số Mel
IDFT
Phép biến đổi Fourier ngược
DCT
Phép biến đổi cosin rời rạc
GMM
Mô hình Gaussian hỗn hợp
VQ
Kỹ thuật lượng tử hóa vector
2
2. Mục tiêu của đề tài
Luận văn nghiên cứu một số phương pháp nhận dạng người nói qua
giọng nói bao gồm:
- Một số phương pháp truyền thống dùng so sánh mẫu trực tiếp với giải thuật thời
gian động – DTW;
- Phương pháp phân lớp dùng lượng tử hóa vector – VQ;
- Phương pháp sử dụng mô hình pha trộn Gaussian – GMM.
Sau đó đánh giá thực nghiệm các phương pháp dùng lượng tử hóa vector và
dùng mô hình pha trộn Gaussian GMM với cơ sở dữ liệu tiếng nói đa người nói, và đưa
ra những khuyến nghị.
3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của luận văn là các phương pháp nhận dạng người nói
bằng giọng nói. Đây là đối tượng nghiên cứu được nhiều nhà nghiên cứu trên thế giới
quan tâm trong thời gian gần đây.
Phạm vi của luận văn bao gồm nghiên cứu tổng quan về tín hiệu tiếng nói và
thông tin người nói trong tiếng nói, một số phương pháp nhận dạng người nói, bao
gồm phương pháp so sánh mẫu trực tiếp dùng giải thuật thời gian động [9], phương
pháp phân lớp dùng lượng tử hóa vector [14], và đặc biệt tập trung vào phương pháp sử
dụng mô hình pha trộn Gaussian [10], [12], [13]. Luận văn cũng nghiên cứu đánh giá
thực nghiệm các phương pháp để đưa ra các khuyến nghị.
4. Phương pháp nghiên cứu
Phương pháp nghiên cứu của luận văn là nghiên cứu các lý thuyết đã có trên thế
giới [1-15] để phân tích, đánh giá về các phương pháp biến đổi thông tin người nói trong
tiếng nói.
3
khi lịch sử con người hình thành, con người đã biết sử dụng tiếng nói làm phương tiện
giao tiếp chính, trải qua hàng triệu năm trong quá trình tiến hóa và phát triển của loài
người, tiếng nói vẫn luôn giữ vai trò là phương tiện giao tiếp cơ bản nhất. Kể từ khi máy
tính và các ứng dụng của máy tính được nghiên cứu và ứng dụng rộng rãi, người ta cố
gắng để máy tính không chỉ có thể xử lý nhanh, nhiều mà quan trọng hơn nó đủ thông
minh để thay thế con người. Một trong các tiêu chí quan trọng để đánh giá độ thông
minh của máy tính chính là khả năng hiểu được ngôn ngữ tự nhiên của con người
5
trong đó có tiếng nói. Do vậy, trong khoảng một thập kỷ lại đây, lĩnh vực xử lý ngôn ngữ
tự nhiên và tiếng nói đã được nghiên cứu rất rộng rãi trên thế giới.
Xử lý tiếng nói được hiểu là các thao tác, kỹ thuật xử lý trên máy tính nhằm mục
đích đưa tiếng nói vào máy tính, xử lý theo yêu cầu và phát lại cho con người. Yêu cầu
xử lý ở đây phụ thuộc vào từng ứng dụng cụ thể như trong hình 1.1. Chẳng hạn để có
thể truyền tiếng nói tin cậy và hiệu quả trên các hệ thống viễn thông truyền với khoảng
cách rất xa, người ta cần nghiên cứu và xây dựng các giải thuật mã hóa nén tiếng nói. Để
xây dựng các ứng dụng nhận dạng tiếng nói, người ta cần nghiên cứu và xây dựng các giải
thuật trích đặc trưng tiếng nói và huấn luyện tiếng nói.
Nhận dạng tiếng nói là một lĩnh vực nghiên cứu thu hút được sự quan tâm
nghiên cứu của nhiều nhà khoa học. Thuật ngữ “nhận dạng tiếng nói” thông thường hay
được xem là nhận dạng cái gì được nói trong một ngôn ngữ cụ thể. Ví dụ nhận dạng
tiếng Việt tức là biến đổi một câu nói tiếng Việt 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,…
thuật giải Heristic, bằng cách sử dụng mạng Neural, bằng các thuật toán K-means,
Batchelor - Wilkins,…). Quá trình này tạo ra các lớp tín hiệu, mỗi lớp đặc trưng cho từng
nhóm tín hiệu.
- Nhận dạng, so khớp mẫu: tm mối liên hệ giữa tín hiệu cần nhận dạng và các lớp
tín hiệu được tạo ra ở bước trước (bằng cách thông qua quy tắc người láng giềng gần
nhất chẳng hạn). Nếu như tín hiệu đó so khớp nhất (và mức độ so khớp thỏa mãn một
ngưỡng nào đó) ứng với một lớp tín hiệu nào thì hệ thống nhận dạng xác định tín hiệu
đó thuộc vào nhóm tín hiệu đó với một tỉ lệ nhất định gọi là độ chính xác của hệ thống
nhận dạng (tỉ lệ này dĩ nhiên là càng cao càng tốt).
8
1.3. Thông tin người nói trong tiếng nói
Hầu hết các hệ thống xử lý 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 tiếng nói sau xử lý có thể hiểu được [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ế,
các đặc trưng phi ngôn ngữ của tiếng nói cũng đã được quan tâm nghiên cứu trong thời
gian gần đây [6]. Một trong những vấn đề quan trọng cần đảm bảo là thông tin về người
nói, bao gồm cả các thông tin chung về người nói như giới tính, độ tuổi,… đến các thông
tin chi tiết như thông tin nhận danh chính xác người nói. Có nhiều yếu tố ảnh hưởng
đến 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
Hình 1.7: Bài toán xác thực người nói
1.4.2. Phân loại nhận dạng và xác thực người nói dựa theo từ khóa
Dựa theo phương pháp thì bài toán nhận dạng được chia thành hai bài toán: bài
toán nhận dạng người nói phụ thuộc vào từ khóa (text-dependent speaker
recognition) và bài toán nhận dạng người nói không phụ thuộc vào từ khóa (textindependent speaker recognition).
Nhận dạng người nói phụ thuộc vào từ khóa (text-dependent speaker
recognition): nhận dạng người nói dựa trên sự kết hợp giữa đặc trưng người nói với nội
dung nói.
- Đây là kỹ thuật nhận dạng người nói có khả năng ứng dụng rất lớn, 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
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 biết trước được nội dung tiếng nói khi huấn luyện và nhận dạng nên độ
chính xác là khá cao 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 không phụ thuộc vào từ khóa.
- Tuy nhiên, kỹ thuật này 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. Để khắc phục vấn đề này,
nhiều hệ thống đã thay đổi cụm từ mật khẩu. Ví dụ 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
1.5. Đặc trưng tiếng nói liên quan đến thông tin người nói
1.5.1. Rút trích đặc trưng
Đối với một hệ nhận dạng tiếng nói, việc rút trích vector đặc trưng của tiếng nói là
công việc thiết yếu. Điều này giúp giảm thiểu số lượng dữ liệu trong việc huấn luyện và
nhận dạng, dẫn đến khối lượng công việc tính toán giảm đáng kể.
Hình 1.9: Sơ đồ rút trích vector đặc trưng tổng quát
Bên cạnh đó, việc rút trích đặc trưng còn làm rõ sự khác biệt của tiếng này
so với tiếng khác, làm mờ đi sự khác biệt của cùng hai lần phát âm khác nhau của
cùng một tiếng. Hình 1.9 minh họa các bước xử lý trong việc rút trích vector đặc trưng
tiếng nói.
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
Trẻ em
Trong tiếng nói, đặc biệt là các ngôn ngữ châu Âu, trường độ (duration) là đặc tính
quan trọng của âm vị, âm tiết liên quan đến ngữ nghĩa của âm vị, âm tiết. Với tiếng Việt,
trường độ không mang ngữ nghĩa nhưng trường độ lại
đặ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 PitchSynchronous 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.