Tải bản đầy đủ (.pdf) (12 trang)

DSpace at VNU: Mô hình Markov ẩn và ứng dụng trong nhận dạng tiếng nói

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (313.31 KB, 12 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
──────── * ───────

NGUYỄN DUY PHƯƠNG

M Ô H ÌNH MARKOV ẨN VÀ ỨNG DỤNG TRONG
NHẬN DẠNG TIẾNG NÓI
Ngành: Công nghệ thông tin
Mã số: 1.01.10

LUẬN VĂN THẠC SỸ

NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS. HỒ THUẦN

Hà Nội - 2007


1

LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn chân thành tới PGS.TS. Hồ Thuần - ngƣời
đã tận tình hƣớng dẫn em trong suốt quá trình hoàn thành đề tài. Những buổi
nói chuyện, những kinh nghiệm cùng những tài liệu của thầy đã giúp em có
đƣợc những định hƣớng đúng đắn và đƣa ra các phƣơng pháp tốt để thực hiện
đề tài.
Em xin chân thành cảm ơn đến các thầy cô trong Trƣờng Đại học Công
nghệ, những ngƣời đã dìu dắt và giúp đỡ em trong suốt 3 năm học.
Xin cảm ơn bạn bè và các anh chị Khóa trên, những ngƣời đã cùng tôi
học tập, san sẻ khó khăn, trong đó có những ủng hộ tinh thần quý giá.


Và cuối cùng, xin cám ơn bố mẹ và những ngƣời thân, những
ngƣời ủng hộ con về mọi mặt. Không có sự quan tâm đó, con không thể hoàn
thành tốt đồ án này.


2

MỤC LỤC
CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT ....................................................................5
DANH SÁCH CÁC HÌNH VẼ ...................................................................................6
MỞ ĐẦU .....................................................................................................................7
CHƢƠNG 1.

MÔ HÌNH HMM VÀ ỨNG DỤNG TRONG NHẬN DẠNG

TIẾNG NÓI

.........................................................Error! Bookmark not defined.

1

Giới thiệu .......................................................Error! Bookmark not defined.

2

Những khái niệm toán học liên quan tới HMM ........... Error! Bookmark not

defined.

3


2.1

Giới thiệu về nhận dạng thống kê ...........Error! Bookmark not defined.

2.2

Định lý Bayes .........................................Error! Bookmark not defined.

Mô hình HMM ...............................................Error! Bookmark not defined.
3.1

Tính chất Markov ...................................Error! Bookmark not defined.

3.2

Xích Markov ...........................................Error! Bookmark not defined.

3.3

Quá trình Markov ...................................Error! Bookmark not defined.

3.4

Mô hình HMM ........................................Error! Bookmark not defined.

3.4.1 Các thành phần chính của HMM ..........Error! Bookmark not defined.
3.4.2 Ví dụ về mô hình HMM........................Error! Bookmark not defined.
3.5


Hai giả thuyết cơ bản để xây dựng hệ thống nhận dạng dựa trên HMM ...
................................................................Error! Bookmark not defined.

3.6

Ba vấn đề cơ bản của mô hình HMM và cách giải quyết..... Error!

Bookmark not defined.
3.6.1 Giải quyết vấn đề tính toán. Thuật toán tính xuôi và tính ngƣợc . Error!
Bookmark not defined.
3.6.2 Giải quyết vấn đề ƣớc lƣợng tham số cho mô hình HMM. Thuật toán
huấn luyện Baum-Welch................................Error! Bookmark not defined.
3.6.3 Giải quyết vấn đề decoding. Thuật toán Viterbi . Error! Bookmark not
defined.
4

Nhận dạng tiếng nói và nhận dạng âm vị dựa trên HMM .. Error! Bookmark

not defined.


3
4.1

Mô hình Nhận dạng ................................Error! Bookmark not defined.

4.2
Các thành phần cơ bản của hệ thống nhận dạng tiếng nói dựa
trên HMM và mối liên hệ giữa chúng. ..............Error! Bookmark not defined.
4.3


Ví dụ về nhận dạng từ đơn dựa trên HMM .......... Error! Bookmark not

defined.
5

Mô hình HMM cho âm vị đƣợc sử dụng trong luận văn .... Error! Bookmark

not defined.
6

Kết luận chƣơng 1 ..........................................Error! Bookmark not defined.

CHƢƠNG 2.

TIỀN XỬ LÝ TÍN HIỆU TIẾNG NÓI ......... Error! Bookmark not

defined.
1

Ý nghĩa ...........................................................Error! Bookmark not defined.

2

Một số thao tác tiền xử lý tín hiệu .................Error! Bookmark not defined.

3

2.1


Làm nổi tín hiệu (pre-emphais) ..............Error! Bookmark not defined.

2.2

Lọc tiếng ồn ............................................Error! Bookmark not defined.

Trích rút đặc trƣng .........................................Error! Bookmark not defined.
3.1

Giới thiệu ................................................Error! Bookmark not defined.

3.2

Một số phƣơng pháp trích rút đặc trƣng .Error! Bookmark not defined.

3.2.1 Phƣơng pháp Mã hoá dự báo tuyến tính (LPC) .. Error! Bookmark not
defined.
3.2.2 Phƣơng pháp Mã hoá cepstral tần số Mel (MFCC) ... Error! Bookmark
not defined.
3.2.3 Phƣơng pháp Mã hoá cepstral tần số Mel dựa trên LPC (MFCC) Error!
Bookmark not defined.
3.2.4 Các hệ số delta (D) và hệ số gia tốc (A) ............. Error! Bookmark not
defined.
3.3

So sánh các phƣơng pháp trích đặc trƣng ............. Error! Bookmark not

defined.
4


Kết luận chƣơng 2 ..........................................Error! Bookmark not defined.

CHƢƠNG 3. THUẬT TOÁN HUẤN LUYỆN NHÚNG – XÂY DỰNG MÔ
HÌNH HMM TỰ ĐỘNG CHO ÂM VỊ ....................Error! Bookmark not defined.


4
1

Tách và nhận dạng âm vị tự động dựa trên HMM ....... Error! Bookmark not

defined.
1.1
Thuật toán huấn luyện đối với những đơn vị độc lập - Huấn
luyện trên dữ liệu gán nhãn ...............................Error! Bookmark not defined.
1.2
Thuật toán huấn luyện nhúng - huấn luyện trên dữ liệu âm thanh
không gán nhãn âm vị ........................................Error! Bookmark not defined.
2

Các công thức ƣớc lƣợng tham số của mô hình HMM Error! Bookmark not

defined.
2.1

Ƣớc lƣợng tham số khi huấn luyện các mô hình HMM độc lập .... Error!

Bookmark not defined.
2.2


Ƣớc lƣợng tham số trong thuật toán huấn luyện nhúng ................. Error!

Bookmark not defined.
3

Các vấn đề về tham số HMM khi sử dụng thuật toán huấn luyện nhúng.
Error! Bookmark not defined.
3.1

Khởi tạo tham số .....................................Error! Bookmark not defined.

3.2

Ngƣỡng ...................................................Error! Bookmark not defined.

3.3

Số lần lặp trong mỗi bƣớc luyện của thuật toán ... Error! Bookmark not

defined.
3.4
4

Dữ liệu huấn luyện..................................Error! Bookmark not defined.

Kết luận chƣơng 3. .........................................Error! Bookmark not defined.

CHƢƠNG 4.

CÀI ĐẶT THUẬT TOÁN – TỪ ĐIỂN TIẾNG NÓI ............. Error!


Bookmark not defined.
1

Giới thiệu .......................................................Error! Bookmark not defined.

2

Một số giao diện chƣơng trình .......................Error! Bookmark not defined.

KẾT LUẬN ...............................................................Error! Bookmark not defined.
TÀI LIỆU THAM KHẢO.........................................................................................11


5

CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT

Thuật ngữ

Từ viết tắt

Ý nghĩa

Artificial Neural Network ANN

Mạng nơron nhân tạo

Fast Fourier Transform


FFT

Biến đổi Fourier nhanh

Dicrette Cosine
Transform

DCT

Biến đổi cosin rời rạc.

Hidden Markov Model

HMM

Mô hình Markov ẩn

Linear predictive code

LPC

Mã hoá dự báo tuyến tính

Mel-scale Frequency
Cepstral Coefficient

MFCC

Mã hoá cepstral tấn số Mel


Multi Layer Perceptron

MLP

Mạng perceptron truyền thẳng
nhiều lớp

Speech Recognition

SR,ASR

Nhận dạng tiếng nói

Bias

Ngƣỡng kích hoạt

Pattern Recognition

Nhận dạng mẫu

Likelihood

Mức độ giống, độ hợp lý

Similarity

Mức độ tƣơng tự

Feature


Đặc trƣng

Spectral, spectrum

Phổ tín hiệu


6

DANH SÁCH CÁC HÌNH VẼ
HÌNH 1 – Mô hình HMM 5 trạng thái ............................................................ 34
HÌNH 2 – Sơ đồ huấn luyện mô hình HMM .................................................. 44
HÌNH 3 - Sơ đồ nhận dạng từ mô hình HMM đã đƣợc huấn luyện ............... 44
HÌNH 4 – Mô hình nhận dạng theo 3 cấp ....................................................... 46
HÌNH 5 - Vấn đề nhận dạng từ tách rời .......................................................... 50
HÌNH 6 - Tách riêng một phần của mô hình Markov .................................... 51
HÌNH 7 - Dùng HMM cho nhận dạng từ tách rời .......................................... 53
HÌNH 8 – Sóng âm của chữ “hai” trƣớc khi (hình trái) và sau khi (hình phải)
đƣợc làm phẳng ............................................................................................... 58
HÌNH 9 - Sơ đồ khối của quá trình trích chọn đặc trƣng MFCC ................... 64
HÌNH 10 - Các bộ lọc mel-scale tam giác (triangle mel-scale filters) ........... 66
HÌNH 11 – Sơ đồ của bộ lọc MFCC dựa trên biến đổi dự báo tuyến tính và
các biến đổi Fourier ......................................................................................... 69
HÌNH 12 – Lƣu đồ huấn luyện từ đơn của công cụ HRest (HTK) ................. 72
HÌNH 13 – Dãy sóng âm “MO6T MO6T HAI HAI BA MO6T” .................. 74
HÌNH 14 – Mô hình huấn luyện nhúng .......................................................... 75


7


MỞ ĐẦU
Ngay khi máy tính ra đời con ngƣời đã mơ ƣớc máy tính có thể nói
chuyện với mình. Yêu cầu đơn giản nhất là máy có thể xác định đƣợc từ ngữ
mà chúng ta nói với máy. Đó là mục tiêu của ngành nhận dạng tiếng nói.
Nhận dạng tiếng nói đóng vai trò quan trọng trong giao tiếp giữa ngƣời
và máy. Nó giúp máy móc hiểu và thực hiện các hiệu lệnh của con ngƣời.
Hiện nay trên thế giới, lĩnh vực nhận dạng tiếng nói đã đạt đƣợc nhiều tiến bộ
vƣợt bậc. Đã có nhiều công trình nghiên cứu về lĩnh vực nhận dạng tiếng nói
(Speech recognition) trên cơ sở lý thuyết các hệ thống thông minh nhân tạo,
nhiều kết quả đã trở thành sản phẩm thƣơng mại nhƣ ViaVoice, Dragon..., các
hệ thống bảo mật thông qua nhận dạng tiếng nói, các hệ quay số điện thoại
bằng giọng nói... Triển khai những công trình nghiên cứu và đƣa vào thực tế
ứng dụng vấn đề này là một việc làm hết sức có ý nghĩa đặc biệt trong giai
đoạn công nghiệp hoá hiện đại hoá hiện nay của nƣớc nhà.
Nhận dạng tiếng nói là một quá trình nhận dạng mẫu, với mục đích là
phân lớp (classify) thông tin đầu vào là tín hiệu tiếng nói thành một dãy tuần
tự các mẫu đã đƣợc học trƣớc đó và lƣu trữ trong bộ nhớ. Các mẫu là các đơn
vị nhận dạng, chúng có thể là các từ, hoặc các âm vị. Nếu các mẫu này là bất
biến và không thay đổi thì công việc nhận dạng tiếng nói trở nên đơn giản
bằng cách so sánh dữ liệu tiếng nói cần nhận dạng với các mẫu đã đƣợc học
và lƣu trữ trong bộ nhớ. Khó khăn cơ bản của nhận dạng tiếng nói đó là tiếng
nói luôn biến đổi theo thời gian và có sự khác biệt lớn giữa tiếng nói của
những ngƣời nói khác nhau, tốc độ nói, ngữ cảnh và môi trƣờng âm học khác
nhau. Xác định những thông tin biến thiên nào của tiếng nói là có ích và
những thông tin nào là không có ích đối với nhận dạng tiếng nói là rất quan
trọng. Đây là một nhiệm vụ rất khó khăn mà ngay cả với các kỹ thuật xác suất


8

thống kê mạnh cũng khó khăn trong việc tổng quát hoá từ các mẫu tiếng nói
những biến thiên quan trọng cần thiết trong nhận dạng tiếng nói.
Các nghiên cứu về nhận dạng tiếng nói dựa trên ba nguyên tắc cơ bản
[1]:
 Tín hiệu tiếng nói đƣợc biểu diễn chính xác bởi các biên độ phổ trong
một khung thời gian ngắn (short-term amplitude spectrum). Nhờ vậy ta
có thể trích ra các đặc điểm tiếng nói từ những khoảng thời gian ngắn
và dùng các đặc điểm này làm dữ liệu để nhận dạng tiếng nói.
 Nội dung của tiếng nói đƣợc biểu diễn dƣới dạng chữ viết, là một dãy
các ký hiệu ngữ âm. Do đó ý nghĩa của một phát âm đƣợc bảo toàn khi
chúng ta phiên âm phát âm thành dãy các ký hiệu ngữ âm.
 Nhận dạng tiếng nói là một quá trình nhận thức. Thông tin về ngữ
nghĩa (semantics) và suy đoán (pragmatics) có giá trị trong quá trình
nhận dạng tiếng nói, nhất là khi thông tin về âm học là không rõ ràng.
Lĩnh vực nghiên cứu của nhận dạng tiếng nói là khá rộng liên quan đến
nhiều ngành khác nhau, nhƣ xử lý tín hiệu số (digital signal proccessing), vật
lý hay âm học (acoustic), nhận dạng mẫu, lý thuyết thông tin và khoa học máy
tính (information and computer science theory), ngôn ngữ học (linguistics),
sinh lý học (physiology), tâm lý học ứng dụng (applied psychology). Các hệ
thống nhận dạng tiếng nói có thể đƣợc phân chia thành hai loại khác nhau: hệ
thống nhận dạng từ rời rạc và hệ thống nhận dạng từ liên tục. Trong hệ thống
nhận dạng tiếng nói liên tục, ngƣời ta lại phân biệt hệ thống nhận dạng có
kích thƣớc từ điển nhỏ và hệ thống nhận dạng với kích thƣớc từ điển trung
bình hoặc lớn.


9
Ý tƣởng về xây dựng các hệ thống nhận dạng tiếng nói đã có từ những
năm 50 của thế kỷ 20 và đến nay đã đạt đƣợc nhiều kết quả đáng kể. Có 3
hƣớng tiếp cận chính cho nhận dạng tiếng nói [8]:

 Tiếp cận Âm học: Hƣớng tiếp cận này dựa vào các đặc điểm âm học
đƣợc rút ra từ phổ âm thanh. Tuy nhiên kết quả của hƣớng tiếp cận này
còn thấp vì trong thực tế, các đặc trƣng âm học có sự biến động rất lớn.
Hơn nữa phƣơng pháp này đòi hỏi tri thức rất đầy đủ về âm học (Vốn
tri thức âm học hiện nay chƣa thể đáp ứng).
 Tiếp cận Nhận dạng mẫu thống kê: Sử dụng các phƣơng pháp máy học
dựa trên thống kê để học và rút ra mẫu tham khảo từ lƣợng dữ liệu lớn.
Hƣớng này đang đƣợc sử dụng nhiều, chủ yếu là dựa vào Mô
hình Markov ẩn (HMM).
 Tiếp cận Trí tuệ nhân tạo: là hƣớng kết hợp của cả hai hƣớng
trên. Phƣơng pháp này kết hợp đƣợc cả tri thức của chuyên gia
và phƣơng pháp mẫu thống kê. Đây sẽ là hƣớng tiếp cận tƣơng lai
của nhận dạng tiếng nói.
Việc nhận dạng tiếng nói gặp một số khó khăn sau:
 Trong môi trƣờng sinh hoạt hàng ngày, chất lƣợng tiếng nói biến động
rất lớn do chịu ảnh hƣởng của các yếu tố ngoại cảnh, tâm và sinh lý
ngƣời nói: một câu của cùng một ngƣời nói khi thu vào máy sẽ khác
nhau nếu nói ở hai tâm trạng khác nhau (lúc vui nói khác, lúc giận
nói khác,…), sức khoẻ khác nhau (lúc khoẻ nói khác, lúc bệnh nói
khác), tốc độ nói khác nhau (nói chậm thì rõ hơn nói nhanh), môi
trƣờng xung quanh khác nhau (môi trƣờng có tiêng ồn thì âm thu vào
sẽ bị nhiễu), v.v… Và còn nhiều yếu tố khác nữa tác động lên chất


10
lƣợng của lời nói nhƣ thiết bị thu không tốt, tín hiệu bị nhiễu điện,…
Do đó, việc nhận dạng trở nên rất khó khăn.
 Trong nhận dạng tiếng nói theo hƣớng nhận dạng từng âm vị, một khó
khăn chúng ta gặp phải là: các âm vị liền nhau trong chuỗi tiếng nói
không có vách ngăn rõ ràng (2 âm vị sát nhau có một phần giao nhau,

khó xác định đƣợc phần giao nhau thuộc âm vị trƣớc hay âm vị sau).
Ngay cả đối với con ngƣời, tách âm vị từ một âm tiết (xác định vị trí
bắt đầu và vị trí kết thúc của âm vị đó trên sóng âm của âm tiết) cũng
không phải là công việc đơn giản.
Hiện nay, hầu hết các hƣớng tiếp cận để nhận dạng âm vị là nhận dạng
theo học mẫu thống kê. Thông thƣờng để học mẫu ngƣời ta cung cấp cho
chƣơng trình học một nguồn dữ liệu có nhiều mẫu đã đƣợc phân loại thành
nhiều lớp và có gán nhãn (nhãn cho biết mỗi mẫu thuộc lớp nào). Nguồn dữ
liệu này phải đƣợc phân lớp và gán nhãn chính xác hoàn toàn để máy học.
Tuy nhiên do không thể tách âm vị một cách chính xác, nguồn dữ liệu âm vị
đƣa vào khó đạt đƣợc mức độ chính xác, kết quả là việc huấn luyện giảm hiệu
suất, làm cho hiệu suất của chƣơng trình nhận dạng cũng giảm theo.
Chúng tôi xin nêu ra một hƣớng giải quyết để tránh việc gán
nhãn âm vị không chính xác: thay vì đánh nhãn âm vị, chúng ta sẽ đánh nhãn
âm tiết, đồng thời cho biết các âm vị cấu thành âm tiết đó. Nhƣ vậy, dữ liệu
mẫu cung cấp cho quá trình học là các âm tiết. Thuật toán học đƣợc sử dụng
để tách âm vị là thuật toán huấn luyện nhúng (Embedded training). Kết quả
thu đƣợc là các mô hình HMM cho từng âm vị. Do mỗi dãy âm vị đƣợc chọn
tƣơng đƣơng với một âm tiết, công việc đánh nhãn âm vị trên sóng âm thực
chất là không có (chỉ đánh nhãn trên âm tiết, vốn đƣợc thực hiện dễ dàng). Vì
vậy, có thể xem dữ liệu đƣa vào trong quá trình huấn luyện là dữ liệu không


11

TÀI LIỆU THAM KHẢO
[1]. R. Rabiner, A Tutorial on Hidden Markov Models and Selected
Applications in Speech Recognition, Proceedings of IEEE, vol 77, no 2, 1998
[2]. Tom Mitchell, Machine Learning, McGraw Hill, 1996
[3]. Đặng Hùng Thắng, Mở đầu về lý thuyết xác suất và các ứng dụng,

1998
[4]. R. Rabiner and W. Schafer, Digital Processing Of Speech Signals,
Prentice Hall, 1978
[5]. Đoàn Thiện Thuật, Ngữ âm tiếng Việt, Sách NXB ĐHQG Hà nội 2002
[6]. Nguyễn Thanh Thuỷ, Nhập môn xử lý ảnh số, Sách NXBKHKT
[7]. John-Paul Hosom, Ron Cole, A diphone-based digit recognition
system using neural networks, />[8]. Đặng Thái Dƣơng – Hà Giang Hải, Nhận dạng tiếng nói tiếng Việt
theo hƣớng tiếp cận nhận dạng âm vị tự động, luận văn cử nhân tin học 2004
[9]. Rabiner L.R, Huang B. H, Fundamentals of Speech Recognition,
Sách NXB Prentice Hall – 1993
[10]. V.Mantha, R.Duncan, Y.Wu, J.Zhao, Implementation and
analysis of speech recognition front-ends, ECE4773/Digital Signal Processing
– 1998
[11]. Nguyễn Duy Tiến, Các mô hình xác suất và ứng dụng. Phần một –
Xích Markov, Sách NXB ĐHQG Hà Nội – 2000
[12]. Bách khoa toàn thƣ mở Wikipedia,
[13]. Phần mềm điều khiển giọng nói bằng tiếng Việt, Phạm Hữu Ngôn
và Bành Duy Khánh, cuộc thi trí tuệ Việt Nam 2004



×