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

Mô hình Markov ẩn và ứng dụng xây dựng hệ thống nhận dạng tiếng nói (Luận văn thạc sĩ)

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 (1.7 MB, 61 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NGUYỄN THỊ THU HUYỀN

MÔ HÌNH MARKOV ẨN VÀ ỨNG DỤNG
XÂY DỰNG HỆ THỐNG NHẬN DẠNG TIẾNG NÓI

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

THÁI NGUYÊN - 2018


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NGUYỄN THỊ THU HUYỀN

MÔ HÌNH MARKOV ẨN VÀ ỨNG DỤNG
XÂY DỰNG HỆ THỐNG NHẬN DẠNG TIẾNG NÓI
Chuyên ngành: Khoa học máy tính
Mã số: 8480101

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học: TS. Vũ Vinh Quang

THÁI NGUYÊN - 2018


i



LỜI CAM ĐOAN
Tôi xin cam đoan rằng đây là công trình nghiên cứu của tôi, có sự hỗ trợ từ
Giáo viên hướng dẫn là TS. Vũ Vinh Quang . Các nội dung nghiên cứu và kết quả
trong đề tài này là trung thực và chưa từng được ai công bố trong bất cứ công trình
nghiên cứu nào trước đây. Những số liệu trong các hình phục vụ cho việc phân tích,
nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi trong
phần tài liệu tham khảo. Ngoài ra, đề tài còn sử dụng một số nhận xét, đánh giá
cũng như số liệu của các tác giả, cơ quan tổ chức khác, và cũng được thể hiện trong
phần tài liệu tham khảo.
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm
trước Hội đồng, cũng như kết quả luận văn của mình.

Thái nguyên, ngày …... tháng …... năm 2018
Tác giả

NGUYỄN THỊ THU HUYỀN


ii

LỜI CẢM ƠN
Để hoàn thành luận văn này, em xin tỏ lòng biết ơn sâu sắc đến thầy TS. Vũ
Vinh Quang, đã tận tình hướng dẫn trong suốt quá trình viết luận văn tốt nghiệp.
Em chân thành cảm ơn quý thầy, cô trong trường Đại Học Công nghệ Thông
tin và Truyền thông đã tận tình truyền đạt kiến thức trong hai năm học tập. Với vốn
kiến thức được tiếp thu trong quá trình học là nền tảng cho quá trình nghiên cứu để
em hoàn thành luận văn.
Thái nguyên, ngày …... tháng …... năm 2018
Tác giả


NGUYỄN THỊ THU HUYỀN


iii

MỤC LỤC
LỜI CAM ĐOAN ...................................................................................................... i
LỜI CẢM ƠN ........................................................................................................... ii
DANH MỤC CÁC HÌNH ẢNH ...............................................................................v
DANH MỤC CÁC BẢNG BIỂU ........................................................................... vi
DANH MỤC CÁC TỪ VIẾT TẮT ....................................................................... vii
LỜI MỞ ĐẦU ............................................................................................................1
CHƯƠNG 1. MỘT SỐ KIẾN THỨC CƠ BẢN VỀ NHẬN DẠNG TIẾNG NÓI .3
1.1. Khái niệm chung ..................................................................................................3
1.1.1. Khái niệm nhận dạng tiếng nói .........................................................................3
1.1.2. Phân loại nhận dạng tiếng nói ...........................................................................4
1.1.3. Hệ thống nhận dạng tiếng nói tự động ..............................................................7
1.2. Các nghiên cứu hiện thời về nhận dạng tiếng nói ................................................8
1.2.1. Các nghiên cứu về nhận dạng tiếng nói ở nước ngoài ......................................8
1.2.2. Các nghiên cứu về nhận dạng tiếng nói tiếng Việt ...........................................9
1.3. Các hướng tiếp cận nhận dạng tiếng nói ............................................................10
1.4. Những khó khăn trong nhận dạng tiếng nói .......................................................11
1.5. Xử lý tiếng nói....................................................................................................13
1.5.1. Khái niệm xử lý tiếng nói................................................................................13
1.5.2. Kỹ thuật lấy mẫu tín hiệu ................................................................................13
1.5.3. Cấu trúc bộ lọc tín hiệu ...................................................................................13
1.5.4. Kỹ thuật dò tìm điểm cuối ...............................................................................15
1.5.5. Kỹ thuật rút trích đặc trưng .............................................................................16
1.5.6. Phương pháp tính hệ số MFCC .......................................................................18

1.6. Sơ lược về ngôn ngữ tiếng Việt .........................................................................23
1.6.1. Giới thiệu về âm tiết ........................................................................................23
1.6.2. Một số đặc điểm của âm tiết tiếng Việt ..........................................................23
1.6.3. Lý thuyết về âm vị...........................................................................................25
CHƯƠNG 2. TỔNG QUAN VỀ MÔ HÌNH MẠNG MARKOV ẨN ................27


iv

2.1. Mô hình Markov ẩn ............................................................................................27
2.2. Các bài toán cơ bản của mô hình Markov ẩn .....................................................30
2.2.1. Bài toán 1 ........................................................................................................30
2.2.2. Bài toán 2 ........................................................................................................30
2.2.3. Bài toán 3 ........................................................................................................31
2.3. Các thuật toán cơ bản .........................................................................................31
2.3.1. Thuật toán tiến (forward) ................................................................................31
2.3.2. Thuật toán lùi (Backward) ..............................................................................32
2.3.3. Các giải pháp giải quyết các bài toán cơ bản ..................................................32
2.4. So sánh các loại mô hình Markov ẩn .................................................................33
CHƯƠNG 3. XÂY DỰNG HỆ THỐNG NHẬN DẠNG TIẾNG VIỆT.............35
3.1. Tổng quan về HTK (HMM Tool Kit) ................................................................35
3.1.1. Giới thiệu hệ thống ..........................................................................................35
3.1.2. Mô hình các cấu trúc tập tin cơ bản khai báo HMM và MFCC cho nhận dạng
tiếng nói ............................................................................................................36
3.1.3. Các bước xây dựng một mô hình nhận dạng tiếng nói sử dụng HTK ............40
3.1.4. Một số Modul sử dụng trong quá trình xây dựng hệ thống nhận dạng tiếng nói
tiếng việt trong bộ công cụ HTK ......................................................................44
3.2. Xây dựng hệ thống nhận dạng chữ số Tiếng việt...............................................47
3.2.1. Xây dựng cơ sở dữ liệu chữ số tiếng việt.......................................................47
3.2.2. Bảng phiên âm 10 chữ số tiếng Việt ...............................................................47

3.2.3. Phương pháp xây dựng hệ thống nhận dạng chữ số tiếng việt .......................47
3.2.4. Các kết quả thực nghiệm .................................................................................48
KẾT LUẬN ..............................................................................................................51
TÀI LIỆU THAM KHẢO ......................................................................................52


v

DANH MỤC CÁC HÌNH ẢNH
Hình 1.1: Quá trình phát âm sẽ khác nhau tùy theo người nói ...................................6
Hình 1.2: Mô hình nhận dạng tiếng nói bán độc lập người nói ..................................6
Hình 1.3: Cấu trúc cơ bản của hệ thống ASR .............................................................7
Hình 1.4: Cấu trúc hệ thống nhận dạng ngôn ngữ có thanh điệu ................................9
Hình 1.5. Ví dụ về lấy mẫu tín hiệu F(t) trên miền thời gian ...................................13
Hình 1.6. Minh họa hoạt động của bộ lọc FIR ..........................................................14
Hình 1.7. Minh họa hoạt động của bộ lọc IIR...........................................................15
Hình 1.8. Dò tìm điểm cuối dựa trên mức năng lượng .............................................16
Hình 1.9. Sơ đồ rút trích vevtor đặc trưng tổng quát ................................................17
Hình 1.10. Các bước xử lý tính hệ số MFCC ...........................................................18
Hình 1.11. Sóng âm của chữ “ANH” trước khi làm phẳng (bên trái) và sau khi
làm phẳng (Bên phải)...............................................................................19
Hình 1.12. Phân đoạn tín hiệu tiếng nói thành các khung có sự chồng lấp ..............20
Hình 1.13. Cửa sổ Hamming.....................................................................................20
Hình 1.14. Cửa sổ Hanning .......................................................................................21
Hình 1.15. Cửa sổ hình chữ nhật...............................................................................21
Hình 2.1: Minh họa mô hình Markov trong nhận dạng tiếng nói với 5 trạng thái và
chèn sp ......................................................................................................28
Hình 2.2: Mô hình Markov ẩn với sáu trạng thái. .....................................................30
Hình 3.1: Minh họa sự giảm dần của năng lượng. .... Error! Bookmark not defined.
Hình 3.2. Các Module và các chức năng trong HTK. ...............................................35

Hình 3.3. Các công cụ và chức năng trong HTK ......................................................36
Hình 3.4. Phân bố các tham số trong một số vector đặc trưng của HTK..................38
Hình 3.5. Các bước cơ bản xây dựng hệ thống nhận dạng tiếng nói ........................40
Hình 3.6: Mô hình HMM ..........................................................................................42


vi

DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1: So sánh tỷ lệ lỗi nhận dạng của con người và máy tính trong một số hệ
thống nhận dạng .........................................................................................8
Bảng 3.1: Bảng phiên âm 10 chữ số tiếng Việt ........................................................47
Bảng 3.2. Kết quả thử nghiệm hệ thống nhận dạng với bộ từ điển có chèn sp và
không chèn sp ..........................................................................................49
Bảng 3.3. Kết quả thử nghiệm hệ thống nhận dạng với dữ liệu test trùng với dữ liệu
huấn luyện ................................................................................................50


vii

DANH MỤC CÁC TỪ VIẾT TẮT

Từ viết tắt

Tiếng Anh

Tiếng Việt

AI


Artificial intelligence

Trí tuệ nhân tạo

AR

Augmented reality

Tương tác thực tại ảo

CSDL

Database

Cơ sở dữ liệu

DBMS

Database Management System

Hệ quản trị cơ sở dữ liệu

IoT

Internet of things

Internet vạn vật

IR


Information Retrieval

Hệ thống tự động truy tìm
thông tin

MIRS

MMDBMS

Multimedia Indexing & Retrieval Hệ thống chỉ mục và truy tìm
System

thông tin đa phương tiện

Multimedia Database

Hệ thống quản trị cơ sở dữ liệu

Management System

đa phương tiện

MRI

Magnetic Resonance Imaging

VR

Virtual reality


WWW

World Wide Web

Thực tế ảo


1

LỜI MỞ ĐẦU
Tiếng nói là một phương tiện giao tiếp cơ bản nhất của loài người, nó hình
thành và phát triển cùng với quá trình tiến hóa của loài người. Ngay từ khi hình
thành tiếng nói đã thể hiện được sức mạnh như: Khả năng truyền đạt thông tin,
tốc độ…
Ngày nay, nhờ sự phát triển mạnh mẽ của khoa học kỹ thuật, máy móc dần
dần thay thế các lao động bằng tay chân. Tuy nhiên để điều khiển máy móc, con
người phải làm khá nhiều thao tác vừa tốn thời gian vừa phức tạp và cần phải được
đào tạo. Chính vì lẽ đó, nhận dạng tiếng nói sẽ đóng vai trò rất quan trọng trong
giao tiếp giữa người và máy. Nó giúp con người có thể điều khiển máy móc, thiết bị
bằng giọng nói của mình đặc biệt là các thiết bị như: máy tính, điện thoại di động,
rô bốt…
Hiện nay, cùng với sự phát triển vượt bậc của ngành khoa học nhận dạng tiếng
nói, những chiếc điện thoại quay số bằng giọng nói đã ra đời, máy tính cá nhân với
phần mềm nhận dạng tiếng nói có thể trợ giúp cho những người khuyết tật về tay,
chân hay khiếm thính. . Tuy vậy, những thành tựu trên lại là những nghiên cứu về
nhận dạng tiếng nói ngôn ngữ nước ngoài. Với tiếng Việt, số lượng các nghiên cứu
còn khá ít và dường như ít được quan tâm. Có thể nói rằng những nghiên cứu nhận
dạng tiếng nói tiếng Việt chủ yếu tập trung vào nhận dạng từ rời rạc, hay hệ thống
nhận dạng liên tục nhưng với kích thước nhỏ.
Tuy nhiên, để ngành khoa học nhận dạng tiếng nói ở Việt Nam thực sự phát

triển và đạt được những thành tựu to lớn để áp dụng vào thực tế thì lĩnh vực nhận
dạng tiếng nói cần phát triển hơn nữa. Chính vì vậy, việc nghiên cứu nhận dạng
tiếng nói đặc biệt là nhận dạng tiếng nói tiếng Việt là rất cần thiết để xây dựng các
hệ thống nhận dạng, các ứng dụng nhận dạng tiếng nói thực sự hữu ích của riêng
tiếng Việt.
Đề tài này được xây dựng với mục đích tìm hiểu, nghiên cứu, so sánh và đánh
giá các phương pháp, các hướng tiếp cận nhận dạng tiếng nói hiện nay trên thế giới
như: Tiếp cận âm học, tiếp cận trí tuệ nhân tạo, nhận dạng mẫu thống kê (dựa vào


2

mô hình Markov ẩn (HMM), mạng Neural nhân tạo(ANN), hệ thống lai ghép giữa
mô hình Markov và mạng Neural (HMM/ANN). Trên cơ sở đó lựa chọn ra phương
pháp thích hợp nhất để áp dụng xây dựng hệ thống nhận dạng tiếng nói tiếng Việt.
Đề tài có kế thừa các kết quả nghiên cứu về nhận dạng tiếng nói ngôn ngữ
nước ngoài và một số kết quả nghiên cứu trong nước để đưa ra những điểm chung,
và riêng của ngôn ngữ tiếng Việt với ngôn ngữ nước ngoài từ đó thiết kế, xây dựng
và mở rộng bộ từ điển tiếng Việt cho hệ thống nhận dạng tiếng Việt liên tục.
Hiện nay, có hai hướng xây dựng hệ thống nhận dạng tiếng nói: 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. Có thể nói rằng để xây dựng hệ
thống nhận dạng từ liên tục là rất khó khăn so với nhận dạng từ rời rạc. Nhưng một
hệ thống nhận dạng từ liên tục lại có ý nghĩa thực tế hơn nhiều so với hệ thống nhận
dạng từ rời rạc. Chính vì yếu tố trên nên đề tài tập trung nghiên cứu xây dựng hệ
thống nhận dạng tiếng Việt liên tục với hướng tiếp cận mẫu thống kê dựa vào mô
hình Markov ẩn (HMM). Với giới hạn thời gian làm đồ án, việc xây dựng một hệ
thống nhận dạng tiếng Việt liên tục với kích thước lớn là rất khó khăn vì vậy đề tài
giới hạn nghiên cứu hệ thống nhận dạng tiếng nói tiếng Việt cho 10 chữ số.



3

CHƯƠNG 1

MỘT SỐ KIẾN THỨC CƠ BẢN VỀ NHẬN DẠNG TIẾNG NÓI
1.1. Khái niệm chung
1.1.1. Khái niệm nhận dạng tiếng nói
Nhận dạng tiếng nói nhìn chung cũng là một quá trình nhận dạng mẫu, với
mục đích là phân lớp tín hiệu tiếng nói (đầu vào) thành một dãy tuần tự các mẫu đã
được học và lưu trữ trong bộ nhớ. Các mẫu có thể là các từ hay các âm vị.
Với đặc thù tiếng nói là một dạng tín hiệu biến thiên theo thời gian và có sự
khác biệt giữa tiếng nói của những người khác nhau, tốc độ nói khác nhau hay ngữ
cảnh và môi trường âm học khác nhau. Thậm chí tiếng nói của cùng một người
cũng không giống nhau: khi người đó khỏe thì tiếng nói của họ khác khi bị ốm. Đó
chính là khó khăn cơ bản nhất của nhận dạng tiếng nói. Việc xác định những thông
tin biến thiên nào là hữu ích và những thông tin nào là vô ích cho 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ả những kỹ thuật
xác suất thống kê mạnh cũng không thể tổng quát hóa từ các mẫu tiếng nói những
biến thiên nào là quan trọng và cần thiết cho nhận dạng tiếng nói.
Nhìn chung hiện nay 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:
 Tín hiệu tiếng nói được biểu diễn chính xác bởi các giá trị phổ trong miền
thời gian ngắn (short-term amplitude spectrum). Nhờ yếu tố này ta có thể cắt khung
tiếng nói trong một khoảng thời gian nhất định để trích rút ra các đặc trưng làm dữ
liệu để nhận dạng tiếng nói.
 Nội dung của tiếng nói ở dạng văn bản 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 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 và
suy đoán 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 không rõ ràng.


4

Ngành khoa học nhận dạng tiếng nói là một trong những ngành có lĩnh vực
nghiên cứu khá rộng. Lĩnh vực nghiên cứu của nhận dạng tiếng nói có liên quan tới
nhiều ngành khác nhau như:
 Ngôn ngữ học (linguistics): Như đã nói ở trên khi chúng ta phiên âm phát
âm thành các ký hiệu ngữ âm thì ý nghĩa của một phát âm không thay đổi. Vậy sự
hiểu biết về cấu trúc của ngôn ngữ, đặc biệt là ngữ âm và vai trò của chúng trong
việc tạo ra tiếng nói là rất quan trọng khi chúng ta xây dựng hệ thống nhận dạng
tiếng nói.
 Sinh lý học (physiology) và tâm lý học ứng dụng (applied psychology):
Kiến thức về cấu tạo bộ máy phát âm của con người, về quá trình sản sinh tiếng
nói cũng như phân tích âm học và ngôn ngữ tại bộ não để con người hiểu được
tiếng nói.
 Xử lý tín hiệu số (digital signal processing): Các kỹ thuật xử lý tín hiệu số
dùng phân tích tín hiệu tiếng nói nhằm trích rút ra đặc trưng của tiếng nói cho quá
trình nhận dạng.
 Âm học (acoustic): Nghiên cứu mối quan hệ giữa tín hiệu tiếng nói và cơ
chế sinh lý học của bộ máy phát âm của con người.
 Lý thuyết nhận dạng: Các thuật toán dùng để phân loại dữ liệu thành các tập
mẫu dựa trên sơ sở tính toán khoảng cách giữa các đặc điểm của mẫu.
 Lý thuyết thông tin và khoa học máy tính (information and computer
theory): Các thuật toán dùng để tính toán mô hình tham số của các mô hình thống
kê, các thuật toán mã hóa và giải mã (lập trình động, thuật toán giải mã Viterbi) để
quá trình nhận dạng tốt nhất.
1.1.2. Phân loại nhận dạng tiếng nói
Nếu xét về độ dài các câu từ cần nhận dạng ta có thể phân thành nhận dạng từ

liên tục và nhận dạng từ rời rạc. Ngoài ra ta còn có thể phân loại theo sự phụ thuộc
hay độc lập người nói.


5

a. Nhận dạng từ liên tục và nhận dạng từ rời rạc
Nhận dạng từ liên tục là nhận dạng tiếng nói được phát liên tục trong một
chuỗi tín hiệu, như một câu nói hay một đoạn văn được đọc bởi người dùng. Các hệ
thống nhận dạng loại này rất phức tạp, nó phức tạp bởi lẽ quá trình xử lý tiếng nói
liên tục là khó khăn hơn nhiều so với từng từ riêng lẻ. Quá trình xử lý tiếng nói liên
tục còn phụ thuộc vào việc người dùng nói nhanh hay chậm. Nếu người dùng nói
không có khoảng nghỉ thì việc tách từ là khó khăn. Và chính kết quả của quá trình
tách từ này có ảnh hưởng rất lớn tới các bước tiếp theo trong quá trình nhận dạng.
Trái lại, trong nhận dạng từ rời rạc thì các phát âm được nhận dạng chỉ bao
gồm một từ, hay một nhóm nhỏ các từ mà ở đó có các khoảng nghỉ trước và sau khi
phát âm mỗi từ. Nhận dạng tiếng nói với các từ rời rạc thường được ứng dụng trong
các chương trình dạng câu lệnh- điều khiển. Quá trình nhận dạng tiếng nói với các
từ rời rạc là dễ hơn nhiều so với quá trình nhận dạng tiếng nói liên tục.
b. Nhận dạng phụ thuộc người nói và độc lập người nói
Một hệ thống nhận dạng tiếng nói phụ thuộc người nói là một hệ thống dường
như chỉ phục vụ cho một người, nó sẽ không hiểu người khác nói gì nếu như không
có quá trình huấn luyện lại từ đầu. Do đó nên hệ thống nhận dạng tiếng nói phụ
thuộc người nói khó được chấp nhận rộng rãi bởi lẽ là quá tốn kém nếu bỏ ra kinh
phí lớn chỉ để xây dựng hệ thống phục vụ cho một cá nhân, hay không phải ai cũng
có đủ khả năng kiến thức và sự kiên nhẫn để ngồi huấn luyện lại hệ thống. Rõ ràng
rằng hệ thống nhận dạng tiếng nói loại này khó được áp dụng vào thực tế nhất là nơi
công cộng.
Để khắc phục những nhược điểm trên thì hệ thống nhận dạng tiếng nói độc lập
người nói là ưu việt hơn nhiều. Hệ thống nhận dạng tiếng nói độc lập người nói là lý

tưởng hơn, có ứng dụng rộng rãi hơn và đáp ứng được hầu hết các yêu cầu đề ra với
một hệ thống nhận dạng tiếng nói. Tuy nhiên, việc xây dựng một hệ thống nhận
dạng độc lập người nói có độ chính xác cao cũng gặp không ít khó khăn.
Trong thực tế mỗi vùng miền có một giọng nói khác nhau, mỗi người có một
giọng nói khác nhau, thậm chí cùng một người giọng nói cũng khác nhau ở những


6

thời điểm khác nhau (Hình 1.2). Đó là yếu tố ảnh hưởng rất lớn đến mức độ chính
xác trong nhận dạng tiếng nói. Để khắc phục nhược điểm này, hệ thống nhận dạng
độc lập người nói cần được thiết kế phức tạp hơn với lượng dữ liệu huấn luyện lớn
và đa dạng hơn nhiều lần. Nhưng làm được yêu cầu trên là khó và độ chính xác
trong nhận dạng cũng chưa phải là tối ưu. Do đó, trong thực tế để giải quyết chất
lượng nhận dạng người ta thường kết hợp cả hai phương pháp trên và xây dựng hệ
thống nhận dạng bán độc lập người nói. Phương pháp này được thực hiện bằng cách
thu một số lượng lớn các mẫu khác nhau để huấn luyện. Khi sử dụng hệ thống sẽ
điều chỉnh cho phù hợp với người nói bằng cách để người dùng trải qua một quá
trình ngắn để huấn luyện hệ thống (ví dụ như phần mềm nhận dạng tiếng nói được
tích hợp trong Office của Microsoft).

Hình 1.1: Quá trình phát âm sẽ khác nhau tùy theo người nói

Hình 1.2: Mô hình nhận dạng tiếng nói bán độc lập người nói


7

1.1.3. Hệ thống nhận dạng tiếng nói tự động
Hệ thống nhận dạng tiếng nói tự động (Automatic Speech Recognition –

ASR) là hệ thống tự động chuyển đổi tiếng nói thành chữ viết hay thành một
trong các chức năng của thiết bị. Các thành phần của một hệ thống nhận dạng
tiếng nói bao gồm:
 Rút trích đặc trưng tiếng nói: Biến đổi tiếng nói (tín hiệu âm thanh) thành
chuỗi các vector đặc trưng cho quá trình nhận dạng đồng thời thực hiện quá trình dò
tìm điểm đầu cuối của tiếng nói và lọc nhiễu.
 Phân lớp và nhận dạng: Đây thực chất là quá trình dựa vào mô hình âm
thanh, từ điển phát âm và mô hình ngôn ngữ của hệ thống để nhận dạng.
 Giải mã: Quá trình giải mã có thể đơn giản là quá trình xuất ra chuỗi văn bản
cần nhận dạng từ tín hiệu âm thanh vào hoặc đó là một quá trình phân tích chuỗi
nhận được ứng với việc thực hiện tác vụ nào đó.

Hình 1.3: Cấu trúc cơ bản của hệ thống ASR
Hiện nay ASR có một số ứng dụng trong các lĩnh vực như: Điều khiển bằng
tiếng nói (quay số điện thoại…), trong điện tử viễn thông (tổng đài điện thoại…).


8

1.2. Các nghiên cứu hiện thời về nhận dạng tiếng nói
1.2.1. Các nghiên cứu về nhận dạng tiếng nói ở nước ngoài
Nghiên cứu nhận dạng tiếng nói đã được bắt đầu từ cuối thập niên 40 của thế
kỉ 20, công nghệ nhận dạng tiếng nói đã có bước đi khá dài và cũng đã đạt một số
thành tựu đáng kể. Một số phần mềm nhận dạng tiếng nói đã có mặt trên thị trường
như các phần mềm nhận dạng tiếng nói đọc chính tả của IBM, phần mềm nhận dạng
nói thật hay nói dối, …Và đặc biệt là với ngôn ngữ tiếng Anh hiện nay đã tạo được
bộ cơ sở dữ liệu quý là: là bộ từ điển Beep và CSLU. Trong lĩnh vực nghiên cứu các
ứng dụng nhận dạng tiếng nói trong viễn thông thì Speech Works là hãng phần mềm
khá nổi tiếng. Hiện nay trên thế giới đã có nhiều trung tâm nghiên cứu về nhận dạng
tiếng nói như: CSLU, Bell Labs, IBM Research Center, Microsoft Research…

Nhìn chung môi trường thu âm tiếng nói có ảnh hưởng rất lớn đến độ chính
xác của quá trình nhận dạng. Ở Mỹ hệ thống nhận dạng các số của thẻ tín dụng ngân
hàng được đọc bởi người bán hàng tại các hệ thống cửa hàng bán lẻ có độ chính
xác là 98% trong khi cùng hệ thống này trong môi trường phòng thí nghiệm thì độ
chính xác lên tới 99,7%. Theo một đánh giá của Barbara s. (2001), highPerformance Automatic Speech Recognition via Enhanced Front-end Analysis and
Acoustic Modeling [1] ta có bảng so sánh tỷ lệ lỗi nhận dạng của các hệ thống nhận
dạng tiếng Anh so với khả năng nhận dạng của con người như sau (bảng 1.1):
Bảng 1.1: So sánh tỷ lệ lỗi nhận dạng của con người và máy tính trong một số hệ
thống nhận dạng
Hệ thống

Kích thước từ vựng

nhận dạng

Hệ thống nhận dạng

Con

tiếng nói (Máy tính)

người

Liên tục

10

0.72%

0.009%


Các chữ cái

26

5%

1%

2000

36.7%

3.8%

Giọng nói tự nhiên

Qua bảng trên ta có thể thấy rằng tỷ lệ lỗi nhận dạng của con người là thấp
hơn nhiều so với tỷ lệ lỗi nhận dạng bằng máy và tỷ lệ này càng được thể hiện rõ
hơn trong môi trường nhiều nhiễu.


9

Bên cạnh các hệ thống nhận dạng tiếng nói ngôn ngữ châu Âu thì các hệ thống
nhận dạng tiếng nói cũng đã được nghiên cứu ở Trung Quốc, Nhật Bản, Thái Lan.
Nhìn chung, đã có nhiều nghiên cứu nhận dạng tiếng nói tiếng Trung đã được thực
hiện, một số hệ thống nhận dạng tiếng trung kích thước lớn đã được xây dựng. Còn
với ngôn ngữ Thái Lan, các nghiên cứu chủ yếu ở mức độ nhận dạng từ rời rạc. Tuy
nhiên, với hệ thống nhận dạng từ liên tục thì hệ thống nhận dạng 10 chữ số Thái

cũng đã đạt độ chính xác 96,89% .
1.2.2. Các nghiên cứu về nhận dạng tiếng nói tiếng Việt
Nhận dạng tiếng nói tiếng Việt đi sau thế giới rất lâu và những kết quả đạt
được còn rất hạn chế. Cho tới thời điểm hiện nay, các nghiên cứu nhận dạng tiếng
nói tiếng Việt còn rất ít và tập trung nhiều vào nghiên cứu nhận dạng từ rời rạc.
Hệ thống nhận dạng tiếng nói tiếng Việt giống như hệ thống nhận dạng các
ngôn ngữ có thanh điệu khác, bao gồm hai quá trình nhận dạng song song đó là:
nhận dạng các từ không có thanh điệu và nhận dạng thanh điệu rồi tổng hợp để đưa
ra quyết định. Hình 1.4 mô tả một hệ thống nhận dạng ngôn ngữ có thanh điệu nói
chung và tiếng Việt nói riêng:

Hình 1.4: Cấu trúc hệ thống nhận dạng ngôn ngữ có thanh điệu
Nghiên cứu về nhận dạng tiếng Việt được thực hiện đầu tiên Nhóm nghiên
cứu của PGS.TS Lương Chi Mai - Viện công nghệ thông tin. Trong những đã qua
Nhóm nghiên cứu đã đưa ra nhiều đề xuất và những kết quả quan trọng trong lĩnh
vực nhận dạng tiếng nói tiếng Việt trên các bài báo khoa học như: “Về xử lý tiếng
Việt trong công nghệ thông tin”,…
Ngoài ra, nghiên cứu của tiến sĩ Nguyễn Thành Phúc đã đưa ra hệ thống nhận
dạng tiếng Việt với mạng Neural và đưa ra mô hình phiên âm tiếng Việt.


10

Vào năm 2005, nhóm BK02 Đại học Bách khoa thành phố Hồ Chí Minh đã
xây dựng chương trình nhận dạng tiếng nói tiếng việt với mã nguồn mở của
Microsoft tuy nhiên kết quả còn nhiều hạn chế.
Nhìn chung, những nghiên cứu về nhận dạng tiếng nói tiếng Việt còn rất ít và
điều quan trọng nhất là chúng ta chưa có một bộ từ điển và bộ cơ sở dữ liệu tốt cho
tiếng Việt.
1.3. Các hướng tiếp cận nhận dạng tiếng nói

Nghiên cứu về nhận dạng tiếng nói được bắt đầu vào những năm 40 của thế kỉ
20 và đã đạt được những thành tựu đáng kể. Các nghiên cứu nhận dạng tiếng nói
dựa trên 3 hướng tiếp cận chính: Tiếp cận Âm học, tiếp cận Nhận dạng mẫu thống
kê (chủ yếu dựa trên mô hình Markov ẩn), tiếp cận Trí tuệ nhân tạo.
 Hướng tiếp cận Âm học: 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 hướng tiếp cận này đòi hỏi tri thức
rất đầy đủ về âm học. Chính vì các yếu tố trên nên hướng tiếp cận này ít được lựa
chọn trong nghiên cứu nhận dạng tiếng nói.
 Hướ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ừ điển) từ lượng dữ liệu
lớn. Sau đó, các mẫu cần nhận dạng được rút trích đặc trưng và phân vào lớp mà
xác suất mẫu cần nhận dạng thuộc vào lớp đó là lớn nhất. Hướng này đang được sử
dụng nhiều (chủ yếu là dựa vào mô hình Markov ẩn) và đã đạt được nhiều thành
công như trong nhận dạng tiếng nói ngôn ngữ Tiếng Anh, tiếng Trung Quốc.
 Hướng tiếp cận Trí tuệ nhân tạo: Là sự kết hợp của cả hai hướng tiếp cận âm
học và tiếp cận nhận dạng mẫu thống kê. Hướng tiếp cận này kết hợp được cả tri
thức của chuyên gia và phương pháp nhận dạng mẫu thống kê. Tuy nhiên, hiện nay
phương pháp này chưa được áp dụng nhiều trong nghiên cứu nhận dạng tiếng nói vì
nó đòi hỏi một tri thức rất lớn. Đây sẽ là hướng tiếp cận trong tương lai của nhận
dạng tiếng nói.


11

Với mục đích nghiên cứu các phương pháp nhận dạng tiếng nói trên thế giới
hiện nay để áp dụng vào bài toán nhận dạng tiếng nói ngôn ngữ tiếng Việt, phần
tiếp theo của luận văn này sẽ đi sâu vào phân tích mô hình Markov ẩn để xây dựng
hệ thống nhận dạng tiếng nói ngôn ngữ tiếng Việt. Mô hình Markov ẩn được lựa
chọn bởi những lý do sau: Đây là mô hình được sử dụng rộng rãi trên thế giới trong

lĩnh vực nhận dạng nói chung và nhận dạng tiếng nói nói riêng. Với những thành
quả đã đạt được trên thế giới trong lĩnh vực nhận dạng tiếng nói, chúng ta có thể
thừa hưởng những thành quả này để áp dụng vào bài toán nhận dạng tiếng nói ngôn
ngữ tiếng Việt nhất là hiện nay ở nước ta chưa có nhiều nghiên cứu về nhận dạng
tiếng nói.
1.4. Những khó khăn trong nhận dạng tiếng nói
Qua các nghiên cứu về nhận dạng tiếng nói ngôn ngữ nước ngoài và Việt
Nam, ta có thể rút ra được những khó khăn cơ bản trong việc xây dựng một hệ
thống nhận dạng tiếng nói như sau:
 Điều kiện môi trường: Tiếng nói có chất lượng thấp (nhiều nhiễu,…) do môi
trường thu âm, do thiết bị thu âm… là vấn đề rất khó giải quyết triệt để cho các hệ
thống nhận dạng tiếng nói. Trong môi trường phòng thí nghiệm, kết quả nhận dạng
có độ chính xác cao hơn so với môi trường bên ngoài, đặc biệt là môi trường có
nhiều nhiễu. Theo Olivier S. (1995), tỷ lệ lỗi của hệ thống nhận dạng tiếng nói với
tiếng nói có tỉ số tín hiệu trên nhiễu SNR > 40dB (SNR-Signal ti Noise Ratio)
thường tăng gấp nhiều lần (có thể lên tới 10 lần) so với tiếng nói có SNR>18dB.
 Sự phụ thuộc người nói: Như đã nói ở trên, hệ thống nhận dạng tiếng nói có
thể độc lập người nói (speaker independent) hoặc phụ thuộc người nói (speaker
dependent). Để xây dựng một hệ thống nhận dạng độc lập người nói dành cho nhiều
người là khó khăn hơn nhiều so với việc xây dựng hệ thống nhận dạng tiếng nói chỉ
dành riêng cho từng người. Sự khó khăn này là do mỗi vùng miền, mỗi người có
một giọng nói khác nhau, ngay bản thân một người nói tiếng nói của họ cũng không
giống nhau tại các thời điểm khác nhau. Theo Tebelskis j.(1995), thì tỉ lệ lỗi nhận
dạng của hệ thống nhận dạng tiếng nói độc lập người nói thường cao gấp 3 đến 5
lần so với hệ thống nhận dạng tiếng nói phụ thuộc người nói.


12

 Kích thước của từ điển nhận dạng: Kích thước bộ từ điển của hệ thống nhận

dạng càng lớn thì tỷ lệ hệ thống nhận dạng nhầm giữa các từ, các câu càng cao. Đặc
biệt, tiếng Việt là một ngôn ngữ rất phong phú về cách phát âm nên để xây dựng
một bộ từ điển lớn cho hệ thống tiếng nói tiếng Việt gặp rất nhiều khó khăn.
 Sự biến đổi trong lời nói: Tốc độ của phát âm cũng ảnh hưởng tới độ chính
xác của hệ thống nhận dạng. Với những từ được phát âm rời rạc thì việc xây dựng
hệ thống nhận dạng dễ dàng và có độ chính xác cao hơn so với những từ phát âm
liên tục. Con người có thể hiểu được những tiếng cười, tiếng ho, tiếng “à, ơ” trong
lời nói, tuy nhiên đê máy hiểu được là vô cùng khó khăn.
Nhìn chung độ chính xác của hệ thống nhận dạng tiếng nói được đánh giá trên
cơ sở mức từ và mức câu. Để đánh giá độ chính xác của hệ thống nhận dạng ở mức
từ ta dùng công thức sau:
N S DI
*100%
N

Trong đó:
N: Là tổng số từ cần nhận dạng.
S: Số từ bị nhận dạng nhầm (Substitution).
D: Số từ bị xóa (Delete).
I: Số từ bị chèn (Insertion).
Với hệ thống nhận dạng liên tục, mức câu độ chính xác được đánh giá theo
công thức:
N S
*100%
N

Trong đó:
N: Tổng số câu cần nhận dạng.
S: Số câu nhận dạng sai.



13

1.5. Xử lý tiếng nói
1.5.1. Khái niệm xử lý tiếng nói
Tín hiệu (signal) là các sự vật, hiện tượng có mang hoặc chứa một thông tin
nào đó mà chúng ta có thể hiểu, được quy ước trước. Hầu hết các tín hiệu trong thế
giới thực đều ở dạng liên tục (tín hiệu tương tự), nó hết sức phức tạp, thiếu độ chính
xác đối với máy tính. Do đó, để máy tính có thể hiểu được các loại tín hiệu chúng ta
thường phải số hóa các loại tín hiệu này.
Tiếng nói cũng là một dạng tín hiệu tương tự, do đó để máy tính cũng như các
thiết bị có thể hiểu tín hiệu tiếng nói chúng ta cũng cần phải số hóa nó.
1.5.2. Kỹ thuật lấy mẫu tín hiệu
Hàm lấy mẫu là cầu nối giữa các hệ thống rời rạc và các hệ thống liên tục. nó
còn được gọi là: hàm Dirac delta, hàm sàng lọc,…
Xs(t)=
Đối với máy tính, có thể hiểu lấy mẫu đơn giản chỉ là việc cứ theo một chu kỳ
thời gian (với tín hiệu tiếng nói) ta đo tín hiệu một lần. Quá trình này sẽ tạo ra một
chuỗi các số biểu diễn cho tín hiệu và có thể xử lý được bởi máy tính.

Hình 1.5. Ví dụ về lấy mẫu tín hiệu F(t) trên miền thời gian
1.5.3. Cấu trúc bộ lọc tín hiệu
Trong xử lý tiếng nói bộ lọc có vai trò rất quan trọng, chúng được dùng với
hai mục đích chính:


14

 Tách các tín hiệu cần thiết: Các tín hiệu ban đầu thường chứa đựng các nhiễu
hoặc các tín hiệu không mong muốn khác, các nhiễu này làm giảm đáng kể chất

lượng của tín hiệu. Vì vậy, cần phải tách riêng các tín hiệu cần thiết và loại bỏ các
tín hiệu nhiễu, dư thừa.
 Khôi phục các tín hiệu bị biến dạng: Có một số trường hợp vì một nguyên
nhân nào đó (thường là nguyên nhân liên quan tới các thiết bị) sẽ làm cho các tín
hiệu vào bị méo mó. Yếu tố này sẽ ảnh hưởng tới chất lượng nhận dạng vì vậy cần
phải căn chỉnh lại để tăng chất lượng của tín hiệu số.
Trong thực tế kỹ thuật, để xử lý tiếng nói người ta thường dùng hai bộ lọc
tuyến tính sau:
a. Bộ lọc đáp ứng xung hữu hạn (Finite Impulse Response –FIR)
Bộ lọc đáp ứng xung hữu hạn là hệ có tín hiệu ra chỉ phục thuộc vào tín hiệu
vào nên hệ này còn được gọi là mạch không truy hồi hay mạch không đệ quy (non –
recursive).
Bộ lọc đáp ứng xung hữu hạn có công thức như sau:
y  n   b0 X  n   b1 X  n 1  ...  bq X  n  q    j 0 b j X  n  j 
q

Hình 1.6. Minh họa hoạt động của bộ lọc FIR
b. Bộ lọc đáp ứng xung vô hạn (Infinite Impulse Response –IIR)
Với bộ lọc đáp ứng xung vô hạn, hệ xử lý có đáp ứng xung có độ dài vô hạn
hay đáp ứng xung vô hạn. Tín hiệu ra không chỉ phụ thuộc vào tín hiệu vào mà còn
phụ thuộc vào chính quá khứ của tín hiệu ra, vì vậy chúng còn được gọi là các mạch
có truy hồi hay đệ qui.


15

Bộ lọc đáp ứng xung vô hạn có công thức như sau:
p

q


i 1

j 0

y  n    ai yni   b j X n j

Hình 1.7. Minh họa hoạt động của bộ lọc IIR
1.5.4. Kỹ thuật dò tìm điểm cuối
Như đã nói ở trên, tín hiệu tiếng nói được lấy mẫu theo chu kì, tạo nên các
khung tín hiệu tiếng nói. Tuy nhiên, không phải tất cả các khung đều là của tín hiệu
tiếng nói. Vì vậy, dò tìm điểm cuối là một xử lý cố gắng tìm ra chính xác khi nào
người ta bắt đầu và kết thúc lời nói. Nó còn được dùng để xác định khi mà người ta
thực sự không nói gì (silence), hay nói những điều không mong đợi (bộ từ vựng
trong hệ thống nhận dạng không có từ đó). Khi đó, dò tìm điểm cuối sẽ giảm số
lượng khung không cần thiết đối với hệ thống nhận dạng. Tuy nhiên, dò tìm điểm
cuối là rất khó khăn, bởi vì có sự tồn tại của tiếng ồn nền, tiếng nói nền và sự liên
kết của các âm tiết tạo nên sự liên tục khó phân biệt đầu và cuối của câu, từ.
Để dò tìm điểm cuối ta thực hiện qua ba bước sau, sau mỗi bước chất lượng
của việc dò tìm điểm cuối sẽ được tốt hơn. Việc dò tìm điểm cuối dựa trên mức
năng lượng của tín hiệu được đặc trưng bằng:
N

E  log  X 2  n  (xem mục 3.2.2.2.)
n 1

Bước 1. Dò tìm thô: dựa trên kĩ thuật năng lượng ít chính xác nhất. Nó tìm
một đoạn mà mức năng lượng cao hơn đoạn trước đó và cho một số khung là điểm
bắt đầu (thường là 40 khung) trước khi gặp khung mức năng lượng cao hơn. Và một



16

số lượng khung (khoảng 20 khung) khác qua (không cần kiểm tra bất kì khung nào)
được cho là điểm cuối.
Bước 2. Dò tìm tinh: Bước này sẽ kiểm tra mức năng lượng của tiếng nói, nó
sẽ lọc ra điểm đầu và điểm cuối bằng cách cho rằng mức năng lượng của tiếng nói
cao hơn mức năng lượng của độ ồn nền ở một ngưỡng nào đó.
Bước 3. Kỹ thuật VUS (Voice, Unvoice and Silence): Kỹ thuật này sẽ phân
loại các khung thành đoạn vô thanh, hữu thanh hay khoảng lặng. Việc phân loại này
dựa trên sự phân bố năng lượng trong khung, phổ bị biến dạng và sự phân loại
khung trước đó. Kỹ thuật này giúp loại bỏ những phần tín hiệu không phải của tiếng
nói như: tiếng cười, tiếng thở hay âm thanh nền như tiếng xe cộ…

Hình 1.8. Dò tìm điểm cuối dựa trên mức năng lượng
1.5.5. Kỹ thuật rút trích đặc trưng
Đối với bất kì hệ thống nhận dạng nào (tiếng nói hay hình ảnh) việc rút trích
đặc trưng là rất quan trọng. Tín hiệu tiếng nói được thu vào vốn có kích thước lớn,
vệc rút trích ra các vector đặc trưng cần thiết sẽ làm giảm số lượng dữ liệu trong
quá trình huấn luyện và nhận dạng của hệ thống nhận dạng và tốc độ của hệ thống
sẽ được nâng cao. Ngoài ra, việc rút trích đặc trưng còn làm rõ sự khác biệt giữa
tiếng này với tiếng khác, làm mờ đi sự khác biệt của cùng một tiếng trong những
lần phát âm khác nhau.


×