Tiếng nói là 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 song song với quá trình tiến hóa của loài người. Đối với con người, sử dụng lời nói là một cách diễn đạt đơn giản và hiệu quả nhất. Ưu điểm của việc giao tiếp bằng tiếng nói trước tiên là ở tốc độ giao tiếp, tiếng nói từ người nói được người nghe hiểu ngay lập tức sau khi được phát ra. Bên cạnh đó, tiếng nói là cách giao tiếp được sử dụng rộng rãi nhất – bất cứ ai (dĩ nhiên là trừ những người khuyết tật) cũng có thể nói được.
103 trang |
Chia sẻ: vietpd | Lượt xem: 2230 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Nhận dạng tiếng nói tiếng Việt tìm hiểu và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
KH
OA
C
NT
T –
Đ
H
KH
TN
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ TRI THỨC
NGUYỄN HỒNG QUANG - 0012081
NHẬN DẠNG TIẾNG NÓI TIẾNG VIỆT
TÌM HIỂU VÀ ỨNG DỤNG
LUẬN VĂN CỬ NHÂN TIN HỌC
GIÁO VIÊN HƯỚNG DẪN
Th.s BÙI TIẾN LÊN
NIÊN KHÓA 2000 – 2004
KH
OA
C
NT
T –
Đ
H
KH
TN
1
Lời cảm ơn
Hoàn thành luận văn này có sự đóng góp rất lớn của thầy
Bùi Tiến Lên, thầy đã hướng dẫn tạo điều kiện cho em trong quá
trình thực hiện nghiên cứu nhận dạng tiếng nói, em xin chân thành
cảm ơn thầy.
Em xin gởi lời cảm ơn đến các thầy cô trong trường, đặc
biệt là các thầy cô bộ môn Công Nghệ Tri Thức đă tạo ra một môi
trường thật hoàn hảo cho chúng em học tập và nghiên cứu khoa
học.
Em cũng không thể không nhắc đến sự động viên chăm sóc
của gia đình, sự cộng tác giúp đỡ và ủng hộ tinh thần của bạn bè.
Em xin được tri ơn tất cả.
TP. Hồ Chí Minh, tháng 7 năm 2004.
Nguyễn Hồng Quang
KH
OA
C
NT
T –
Đ
H
KH
TN
2
MỤC LỤC
DANH SÁCH HÌNH VẼ...........................................................................................4
MỞ ĐẦU .................................................................................................................6
Chương 1 TỔNG QUAN .........................................................................................8
1.1 Nhận dạng.....................................................................................................8
1.2 Nhận dạng tiếng nói .....................................................................................9
1.2.1 Xử lý âm thanh......................................................................................9
1.2.2 Phân loại nhận dạng tiếng nói.............................................................10
1.2.2.1 Nhận dạng từ liên tục và nhận dạng từ cách biệt ............................10
1.2.2.2 Nhận dạng phụ thuộc người nói và độc lập người nói ....................11
1.2.3 Hệ thống nhận dạng tiếng nói tự động................................................13
1.2.4 Lý thuyết nhận dạng tiếng nói ............................................................14
1.2.4.1 Rút trích vector đặc trưng................................................................15
1.2.4.2 Phân lớp...........................................................................................17
Chương 2 XỬ LÝ TIẾNG NÓI RÚT TRÍCH VECTOR ĐẶC TRƯNG .........21
2.1 Xử lý tiếng nói............................................................................................21
2.1.1 Lấy mẫu tín hiệu .................................................................................21
2.1.2 Bộ lọc tín hiệu.....................................................................................22
2.1.3 Dò tìm điểm cuối (end-point detection)..............................................24
2.2 Rút trích đặc trưng......................................................................................26
2.2.1 Các bước rút trích đặc trưng ...............................................................27
2.2.1.1 Làm rõ tín hiệu ................................................................................27
2.2.1.2 Phân đoạn thành các khung.............................................................27
2.2.1.3 Lấy cửa sổ .......................................................................................28
2.2.2 Các dạng đặc trưng tiếng nói ..............................................................33
2.2.2.1 Biến đổi tín hiệu sang miền tần số ..................................................33
2.2.2.2 Đặc trưng năng lượng......................................................................35
2.2.2.3 Đặc trưng MFCC.............................................................................36
2.2.2.4 Đặc trưng LPC ................................................................................39
2.2.2.5 Đặc trưng tần số cơ bản..................................................................42
Chương 3 MÔ HÌNH MARKOV ẨN ..................................................................49
3.1 Mô hình Markov ẩn....................................................................................49
3.2 Ứng dụng Mô hình Markov vào nhận dạng tiếng nói ................................51
3.2.1 Thuật toán tiến ....................................................................................52
3.2.2 Thuật toán lùi ......................................................................................53
3.2.3 Phương pháp tìm chuỗi trạng thái tối ưu ............................................54
3.2.4 Thuật toán Viterbi ...............................................................................55
3.2.5 Ước lượng Baum-Welch.....................................................................58
3.3 Cấu trúc ngôn ngữ và mô hình nhận dạng theo âm vị................................60
3.3.1 Cấu trúc ngôn ngữ...............................................................................60
3.3.2 Mô hình âm vị .....................................................................................63
3.3.3 Tha âm vị (allophones) .......................................................................63
KH
OA
C
NT
T –
Đ
H
KH
TN
3
3.3.4 Nhận xét ..............................................................................................65
Chương 4 HMM TOOLKIT.................................................................................67
4.1 Cấu trúc tập tin trong HTK ........................................................................69
4.1.1 Cấu trúc tập tin vector đặc trưng HTK ...............................................69
4.1.2 Cấu trúc tập tin mô hình HMM ..........................................................71
4.1.3 Cấu trúc tập tin đánh nhãn dữ liệu ......................................................75
4.1.4 Cấu trúc tập tin văn phạm ...................................................................78
4.2 Nhận dạng nguyên từ .................................................................................81
4.3 Nhận dạng theo mô hình âm vị ..................................................................85
Chương 5 ỨNG DỤNG: ĐIỀU KHIỂN XE TỰ ĐỘNG BẰNG TIẾNG NÓI .88
5.1 Thử nghiệm nhận dạng tiếng nói Tiếng Việt .............................................89
5.1.1 Nhận dạng tĩnh (offline)......................................................................89
5.1.1.1 Dùng vector đặc trưng dạng LPCEPSTRA_E_D ...........................89
5.1.1.2 Dùng vector đặc trưng dạng LPCEPSTRA_E_D_A ......................89
5.1.1.3 Dùng vector đặc trưng dạng MFCC_0_D.......................................89
5.1.1.4 Dùng vector đặc trưng dạng MFCC_0_D_A ..................................90
5.1.1.5 Dùng vector đặc trưng dạng MFCC_0_D_A_Z..............................90
5.1.2 Nhận dạng thời gian thực (online) ......................................................91
5.1.2.1 Nhận dạng theo mô hình âm vị dùng MFCC_0_D_A_Z................91
5.1.2.2 Nhận dạng nguyên từ dùng MFCC_0_D_A_Z...............................92
5.2 Ứng dụng nhận dạng tiếng nói ...................................................................93
KẾT LUẬN ..............................................................................................................96
TÀI LIỆU THAM KHẢO ......................................................................................98
Phụ lục MỘT SỐ CÔNG CỤ TRONG HTK ..................................................99
KH
OA
C
NT
T –
Đ
H
KH
TN
4
DANH SÁCH HÌNH VẼ
Hình 1.1: Sơ đồ nhận dạng tổng quát .........................................................................8
Hình 1.2: Các lĩnh vực trong xử lý tiếng nói ............................................................10
Hình 1.3: Ranh giới giữa “cô” và “ấy” không rõ ràng ...........................................11
Hình 1.4: Người nói khác nhau sẽ phát âm khác nhau.............................................12
Hình 1.5: Mô hình nhận dạng bán độc lập người nói ..............................................13
Hình 1.6: Các thành phần cơ bản của hệ thống ASR ...............................................14
Hình 1.7: Các dạng cửa sổ thường dùng ..................................................................16
Hình 1.8: Tổng quát quá trình rút trích vector đặc trưng ........................................17
Hình 1.9: Các kỹ thuật nhận dạng tiếng nói và xu hướng phát triển .......................18
Hình 1.10: HMM với 3 trạng thái và trọng số chuyển trạng thái.............................20
Hình 2.1: Ví dụ về lấy mẫu tín hiệu f(t) trên miền thời gian....................................22
Hình 2.2: Minh họa hoạt động bộ lọc FIR................................................................23
ình 2.3: Minh họa hoạt động bộ lọc IIR.................................................................23
Hình 2.4: Dò tìm điểm cuối dựa vào mức năng lượng .............................................25
Hình 2.5: Sơ đồ rút trích vector đặc trưng tổng quát ...............................................26
Hình 2.6: Sơ đồ rút trích đặc trưng chi tiết ..............................................................27
Hình 2.7: Phân đoạn tiếng nói thành các khung chồng lấp .....................................28
Hình 2.8: Sự khác biệt giữa các dạng cửa sổ tín hiệu ..............................................32
Hình 2.9: Đồ thị biểu diễn mối quan hệ giữa Mel và Hz ..........................................36
Hình 2.10: Các bước trích đặc trưng MFCC ...........................................................37
Hình 2.11: Bộ lọc trên thang Mel .............................................................................37
Hình 2.12: Bộ lọc trên tần số thật.............................................................................38
Hình 2.13: Minh họa các bước biến đổi MFCC .......................................................38
Hình 2.14: Sơ đồ xử lý LPC dùng cho trích đặc trưng tiếng nói .............................40
Hình 2.15: Hình dạng tín hiệu tiếng nói ...................................................................47
Hình 2.16: Kết quả trích F0 ......................................................................................48
Hình 2.17: Kết quả sau khi lọc Median ....................................................................48
Hình 3.1: Minh họa hoạt động của mô hình Markov ẩn...........................................49
Hình 3.2: Mô hình Left - Right..................................................................................51
Hình 3.3: Mô hình Bakis ...........................................................................................51
Hình 3.4: Mô hình Tuyến tính ...................................................................................51
Hình 3.5:Minh họa thuật toán tiến............................................................................53
Hình 3.6:Minh họa thuật toán lùi .............................................................................53
Hình 3.7: Ví dụ minh họa thuật toán Viterbi ............................................................56
Hình 3.8:Ví dụ minh họa thuật toán Viterbi (tt) .......................................................57
Hình 3.9: Ví dụ minh họa so khớp dùng thuật toán tiến-lùi .....................................58
Hình 3.10: Minh họa ước lượng Baum - Welch........................................................59
Hình 3.11: Minh họa việc nhận dạng âm vị trong HMM .........................................60
Hình 4.1: Mô hình đơn giản trong nhận dạng tiếng nói ...........................................67
Hình 4.2: Các module và chức năng trong HTK ......................................................68
KH
OA
C
NT
T –
Đ
H
KH
TN
5
Hình 4.3: Các công cụ và chức năng trong HTK .....................................................69
Hình 4.4: Phân bố các tham số trong 1 số vector đặc trưng của HTK ....................71
Hình 4.5: Các dạng đặc trưng có thể chuyển đổi qua lại bằng HCopy ...................71
Hình 4.6: Dạng cơ bản của 1 tập tin HMM (chưa được khởi tạo) ...........................72
Hình 4.7: Dạng cơ bản của 1 tập tin HMM có sử dụng pha trộn Gaussian ............74
Hình 4.8: Dạng cơ bản của 1 tập tin HMM có sử dụng đa luồng ............................75
Hình 4.9: Vai trò của văn phạm trong nhận dạng dùng HTK ..................................78
Hình 4.10: Lược đồ văn phạm ..................................................................................79
Hình 4.11: Mô hình minh họa các văn phạm............................................................80
Hình 4.12: Minh họa việc nhận dạng nguyên từ.......................................................81
Hình 4.13: Huấn luyện nguyên từ và các công cụ hỗ trợ .........................................82
Hình 4.14: Quy trình hoạt động của HInit................................................................83
Hình 4.15: Quy trình hoạt động của HCompV .........................................................83
Hình 4.16: Quy trình hoạt động của HRest ..............................................................84
Hình 4.17: Huấn luyện theo mô hình âm vị dùng HTK ............................................85
Hình 4.18: Quá trình xử lý các tập tin trong HERest ...............................................87
Hình 5.1: Mô hình ngôn ngữ dành cho hệ nhận dạng ..............................................88
KH
OA
C
NT
T –
Đ
H
KH
TN
6
MỞ ĐẦU
Tiếng nói là 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 song song với quá trình tiến hóa của loài người. Đối với con người, sử
dụng lời nói là một cách diễn đạt đơn giản và hiệu quả nhất. Ưu điểm của việc giao
tiếp bằng tiếng nói trước tiên là ở tốc độ giao tiếp, tiếng nói từ người nói được
người nghe hiểu ngay lập tức sau khi được phát ra. Bên cạnh đó, tiếng nói là cách
giao tiếp được sử dụng rộng rãi nhất – bất cứ ai (dĩ nhiên là trừ những người khuyết
tật) cũng có thể nói được.
Ngày nay, nhờ sự phát triển của khoa học kỹ thuật, máy móc dần dần thay
thế các lao độ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 tốn nhiều thời gian và cần phải được đào tạo. Điều này gây trở
ngại không ít đối với việc sử dụng các máy móc, thành tựu khoa học kỹ thuật.
Trong khi đó, nếu điều khiển máy móc thiết bị bằng tiếng nói sẽ dễ dàng hơn. Nhu
cầu điều khiển máy móc thiết bị bằng tiếng nói càng bức thiết hơn đối với các thiết
bị cầm tay, như: điện thoại di động, máy Palm/Pocket PC,…
Để cho máy tính có thể nghe được nhiều người đã vật lộn với tín hiệu âm
thanh trong hơn nửa thế kỷ qua trong lĩnh vực nhận dạng tiếng nói. Quá trình này
được đánh dấu bằng các kết quả nghiên cứu đặc sắc trong lĩnh vực phân tích và xử
lý tiếng nói, các ứng dụng thực tế khá hữu ích. Nhưng dù sao, khả năng của máy
vẫn vẫn còn trong khoảng giới hạn, còn cần phát triển hơn nữa để có thể thật sự đáp
ứng nhu cầu thực sự của cuộc sống. Mặt khác, nhận dạng tiếng nói chỉ đang được
phát triển trên các thứ tiếng khác, nhưng chưa được phát triển và ứng dụng mạnh ở
nước ta. Do tình hình phát triển ở Việt Nam, để cho công cuộc nhận dạng tiếng nói
thật sự được quan tâm, đầu tư và tạo thành các nhóm các phòng thí nghiệm chuyên
nghiên cứu về nhận dạng tiếng nói thì thật sự gặp khó khăn.
Luận văn này xây dựng với mong muốn góp phần thúc đẩy quá trình trên,
bằng cách kế thừa các đàn anh đàn chị đi trước, và thông qua việc tìm hiểu các
thành tựu nước ngoài em mong rằng mình sẽ góp phần tạo nên những bước phát
triển trong lĩnh vực nhận dạng tiếng nói ở nước ta. Qua quá trình nghiên cứu, em
KH
OA
C
NT
T –
Đ
H
KH
TN
7
nhận thấy rằng nếu như chúng ta có sự phổ biến kiến thức rộng rãi, không chỉ cho
những người chuyên về lĩnh vực công nghệ thông tin, mà còn cho những người
không chuyên thì chúng ta hoàn toàn có thể thúc đẩy, phát triển và gặt hái nhiều
thành công hơn. Vì lúc đó vấn đề không chỉ được nghiên cứu, phát triển bởi một số
người mà là của nhiều người. Những lĩnh vực nghiên cứu khác cưng có thể làm
tương tự.
Vì lý do trên mà em không chỉ tìm tòi nghiên cứu lý thuyết, mà còn cố gắng
phát triển thành ứng dụng.
KH
OA
C
NT
T –
Đ
H
KH
TN
8
Chương 1 TỔNG QUAN
1.1 Nhận dạng
Nhận dạng của loài người là một quá trình hoàn hảo, đó là sự 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 bằng cách thực hiện các bước tổng quát
sau (như trong hình 1.1).
Hình 1.1: Sơ đồ nhận dạng tổng quát
• Thu nhận tín hiệu và trích đặc trưng: thu nhận tín hiệu cần nhận dạng,
khử nhiễu lọc tín hiệu (tiền xử lý) và rút ra các đặc trưng của tín hiệu
(vector đặc trưng).
• Học mẫu: kết nhóm, phân lớp các nhóm vector đặc trưng của từng
nhóm tín hiệu (bằng các thuật giải Heristic, bằng cách sử dụng mạng
Neural, bằng các siêu phẳng dùng thuật toán K-means, Batchelor-
Tiền xử lý và rút trích
vector đặc trưng
Học mẫu, phân lớp
Tập hợp từ điển
các lớp tín hiệu
Nhận dạng, so
khớp mẫu
Ngưỡng và luật
quyết định
Tín hiệu
Tín hiệu cần
nhận dạng
Tín hiệu dùng
để học
Kết quả
KH
OA
C
NT
T –
Đ
H
KH
TN
9
Wilkins, ……). Quá trình này tạo ra các lớp tín hiệu, mỗi lớp này đặc
trưng cho từng nhóm tín hiệu.
• Nhận dạng, so khớp mẫu: tìm 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ộ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 đó thì 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).
1.2 Nhận dạng tiếng nói
1.2.1 Xử lý âm thanh
Khi âm thanh được máy vi tính hỗ trợ thì nhu cầu xử lý âm thanh đã
xuất hiện. Các nhu cầu này đã tạo ra nhiều lĩnh vực ứng dụng trong thực tế.
Chẳng hạn như: Tổng hợp âm thanh (Synthesis), nén âm thanh (Compression),
nhận dạng người nói (speaker recognition), nhận dạng tiếng nói (speech
recognition)… Các lĩnh vực ứng dụng khác nhau của xử lý tiếng nói được thể
hiện qua hình 1.2.
Xử lý âm thanh đóng một vai trò quan trọng trong quá trình nhận dạng
tiếng nói, nó cần trong việc lọc nhiễu tín hiệu, biến đổi tín hiệu, rút trích vector
đặc trưng,…
KH
OA
C
NT
T –
Đ
H
KH
TN
10
Hình 1.2: Các lĩnh vực trong xử lý tiếng nói
1.2.2 Phân loại nhận dạng tiếng nói
1.2.2.1 Nhận dạng từ liên tục và nhận dạng từ cách biệt
Một hệ nhận dạng tiếng nói có thể là một trong hai dạng: nhận
dạng liên tục và nhận dạng từng từ.
Nhận dạng liên tục 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, chẳng hạn như một câu nói, một mệnh lệnh
hoặc một đoạn văn được đọc bởi người dùng. Các hệ thống loại này rất
phức tạp, nó phức tạp ở chỗ các từ được phát liên tục khó xử lý kịp (nếu
cần thời gian thực), hoặc khó tách ra nếu như người nói liên tục không có
khoảng nghỉ (thông thường rất hay xảy ra trong thực tế). Kết quả tách từ
ảnh hưởng rất lớn đến các bước sau, cần xử lý thật tốt trong quá trình
này.
Trái lại, đối với mô hình nhận dạng từng từ, mỗi từ cần nhận dạng
được phát âm một cách rời rạc, có các khoảng nghỉ trước và sau khi phát
âm một từ. Mô hình loại này dĩ