Tóm tắt: Xây dựng hệ thống nhận dạng tiếng nói tiếng Việt dựa trên kỹ
thuật sử dụng mạng nơron MLP (trên môi trường Matlab). Hệ thống có thể
vừa nhận dạng trực tuyến (thu âm trực tiếp và nhận dạng) hoặc nhận dạng từ
tệp âm thanh có sẵn. Ứng dụng của hệ thống là đọc điểm và kết quả là điểm
số sẽ được xuất sang bảng điểm trên Excel.
81 trang |
Chia sẻ: thanhlinh222 | Lượt xem: 5214 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu kỹ thuật nhận dạng tiếng nói tiếng Việt và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG
HỌC VIỆN KỸ THUẬT QUÂN SỰ
NGÔ VĂN CƯƠNG
NGHIÊN CỨU KỸ THUẬT NHẬN DẠNG TIẾNG NÓI
TIẾNG VIỆT VÀ ỨNG DỤNG
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 01 04
LUẬN VĂN THẠC SĨ KỸ THUẬT
Hà Nội - Năm 2015
CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
HỌC VIỆN KỸ THUẬT QUÂN SỰ
Cán bộ hướng dẫn chính: PGS.TS. Bùi Thế Hồng
Cán bộ chấm phản biện 1: TS. Trần Nguyên Ngọc
Cán bộ chấm phản biện 2: TS. Trần Thị Thu Hà
Luận văn thạc sĩ được bảo vệ tại:
HỘI ĐỒNG CHẤM LUẬN VĂN THẠC SĨ
HỌC VIỆN KỸ THUẬT QUÂN SỰ
Ngày tháng năm 2015
Tôi xin cam đoan:
Những kết quả nghiên cứu được trình bày trong luận văn là hoàn toàn
trung thực, của tôi, không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và
pháp luật Việt Nam. Nếu sai, tôi hoàn toàn chịu trách nhiệm trước pháp luật.
TÁC GIẢ LUẬN VĂN
Ngô Văn Cương
MỤC LỤC
Trang
Trang phụ bìa
Bản cam đoan
Mục lục
Các thuật ngữ viết tắt
Mở đầu ......................................................................................................... 1
Chương 1
CƠ SỞ LÝ THUYẾT XỬ LÝ TIẾNG NÓI
1.1. Lý thuyết âm thanh và tiếng nói .............................................................. 5
1.1.1. Nguồn gốc âm thanh: ............................................................................ 5
1.1.2. Các đại lượng đặc trưng cho âm thanh: ................................................. 5
1.1.2.1. Tần số của âm thanh: ......................................................................... 5
1.1.2.2. Chu kì của âm thanh: ......................................................................... 5
1.1.2.3. Tốc độ truyền âm: .............................................................................. 5
1.1.2.4. Cường độ âm thanh: ......................................................................... 5
1.1.2.5. Thanh áp: .......................................................................................... 6
1.1.2.6. Âm sắc: ............................................................................................ 6
1.1.2.7. Âm lượng: ........................................................................................ 6
1.1.3. Các tần số của âm thanh: ...................................................................... 6
1.1.4. Cơ chế tạo lập tiếng nói của con người: ................................................ 6
1.1.5. Mô hình lọc nguồn tạo tiếng nói: .......................................................... 7
1.1.6. Hệ thống nghe của người: ..................................................................... 8
1.1.7. Quá trình sản xuất tiếng nói và thu nhận tiếng nói: ............................... 9
1.1.8. Các âm thanh tiếng nói và các đặc trưng: ............................................ 10
1.1.8.1. Nguyên âm: ..................................................................................... 10
1.1.8.2. Các âm vị khác: ............................................................................... 10
1.2. Giới thiệu về xử lý tiếng nói .................................................................. 11
1.3. Nhận dạng tiếng nói .............................................................................. 12
1.3.1. Bài toán nhận dạng tiếng nói .............................................................. 12
1.3.2. Các phương pháp nhận dạng tiếng nói ................................................ 14
1.3.2.1. Phương pháp âm học ngữ âm học .................................................... 14
1.3.2.2. Phương pháp nhận dạng mẫu .......................................................... 16
1.3.2.3. Phương pháp ứng dụng trí tuệ nhân tạo........................................... 18
1.4. Nhận dạng tiếng Việt ............................................................................. 19
1.4.1. Một số đặc điểm ngữ âm tiếng Việt .................................................... 19
1.4.2. Những thuận lợi và khó khăn đối với nhận dạng tiếng Việt ................ 20
1.4.2.1. Thuận lợi ......................................................................................... 20
1.4.2.2. Khó khăn ......................................................................................... 20
Chương 2
MÔ HÌNH NHẬN DẠNG TIẾNG NÓI
2.1. Các kiểu mô hình mạng nơron ............................................................... 22
2.1.1. Perceptron .......................................................................................... 24
2.1.2. Mạng nhiều tầng truyền thẳng (MLP) 25
2.2. Huấn luyện mạng nơron ........................................................................ 26
2.2.1. Các phương pháp học 26
2.2.2. Học có giám sát trong các mạng nơron ............................................... 28
2.2.3. Thuật toán lan truyền ngược ............................................................... 29
2.3. Các vấn đề trong xây dựng mạng MLP .................................................. 30
2.3.1. Chuẩn bị dữ liệu ................................................................................. 30
2.3.1.1. Kích thước mẫu ............................................................................... 30
2.3.1.2. Mẫu con ........................................................................................... 32
2.3.2. Xác định các tham số cho mạng .......................................................... 32
2.3.2.1. Chọn hàm truyền ............................................................................. 32
2.3.2.2. Xác định số nơron tầng ẩn ............................................................... 33
2.3.2.3. Khởi tạo trọng.................................................................................. 34
2.3.3. Vấn đề lãng quên (catastrophic forgetting) ......................................... 35
2.3.4. Vấn đề quá khớp ................................................................................. 36
2.3.4.1. Khái niệm quá khớp ......................................................................... 36
2.3.4.2. Giải quyết quá khớp ......................................................................... 36
Chương 3
QUÁ TRÌNH TIỀN XỬ LÝ TIẾNG NÓI
3.1. Phát hiện tiếng nói ................................................................................. 38
3.1.1. Năng lượng ngắn hạn .......................................................................... 38
3.1.2. Tốc độ đi qua điểm không .................................................................. 39
3.1.3. Lượng thông tin .................................................................................. 39
3.1.3.1. Tính FFT ......................................................................................... 39
3.1.3.2. Mật độ xác suất của phổ năng lượng ................................................ 40
3.1.3.3. Tính Entropy ................................................................................... 40
3.1.4. Giải thuật phát hiện tiếng nói .............................................................. 40
3.2. Phân tích cepstral thông qua thang độ mel ............................................. 41
3.2.1. Mô hình tính toán các hệ số MFCC .................................................... 42
3.2.2. Quá trình tiền xử lý tín hiệu ................................................................ 42
3.2.2.1. Bộ lọc thích nghi ............................................................................. 42
3.2.2.2. Chuẩn hóa biên độ ........................................................................... 43
3.2.2.3. Phân khung ...................................................................................... 43
3.2.2.4. Lấy cửa sổ ....................................................................................... 43
3.2.2.5. Phổ năng lượng ................................................................................ 43
3.2.2.6. Băng lọc Mel ................................................................................... 44
3.2.2.7. Logarit các hệ số năng lượng qua băng lọc ...................................... 44
3.2.2.8. Biến đổi Cosine rời rạc ngược ......................................................... 45
3.2.2.9. Cepstral có trọng số ......................................................................... 45
3.2.2.10. Đạo hàm Cepstral theo thời gian .................................................... 45
3.3. Lượng tử hóa vector .............................................................................. 46
3.3.1. Tập vector huấn luyện ........................................................................ 46
3.3.2. Khoảng cách giữa hai vector ............................................................... 47
3.3.3. Nhân của một tập vector ..................................................................... 48
3.3.4. Phân cụm các vector ........................................................................... 48
Chương 4
ỨNG DỤNG XÂY DỰNG HỆ THỐNG MÔ PHỎNG NHẬN
DẠNG TIẾNG NÓI TIẾNG VIỆT BẰNG MẠNG NƠRON
MLP TRÊN MATLAB
4.1. Giới thiệu .............................................................................................. 50
4.2. Xây dựng hệ thống nhận dạng demo ...................................................... 50
4.2.1. Mô tả chung về hệ thống .................................................................... 50
4.2.2. Sơ đồ khối của hệ thống ..................................................................... 51
4.2.3. Thu thập và tiền xử lí tín hiệu tiếng nói .............................................. 52
4.2.4. Trích chọn đặc trưng MFCC ............................................................... 54
4.2.5. Tính đầu vào cho mạng....................................................................... 56
4.2.6. Xây dựng và huấn luyện và thử nghiệm mạng nơron MLP ................. 58
4.2.7. Sử dụng mạng trong nhận dạng .......................................................... 59
4.2.8. Giao diện của hệ thống demo: ............................................................ 59
4.3. Kết quả thử nghiệm ............................................................................... 62
4.4. Hướng mở rộng của đề tài ..................................................................... 65
4.4.1. Xây dưng bộ dữ liêu huấn luyện lớn hơn ............................................ 65
4.4.2. Xây dựng phần mềm nhận dạng dưa trên kết quả nghiên cứu ............. 65
4.4.3. Nghiên cứu các phương pháp xác định đặc trưng khác ....................... 66
4.4.4. Nghiên cứu các phương pháp nhận dạng khác .................................... 66
DANH MỤC HÌNH
Hình 1-1: Mô hình lọc nguồn tạo tiếng nói ..................................................... 8
Hình 1-2: Quá trình sản xuất và thu nhận tiếng nói......................................... 9
Hình 1-3: Mô hình bài toán xử lý tiếng nói. .................................................. 12
Hình 1-4: Hệ thống nhận dạng tiếng nói theo phương pháp nhận dạng mẫu . 16
Hình 1-6: Tích hợp tri thức trong nhận dạng tiếng nói .................................. 19
Hình 2-1: Mạng tự kết hợp ........................................................................... 22
Hình 2-2: Mạng kết hợp khác kiểu ............................................................... 23
Hình 2-3: Mạng truyền thẳng ....................................................................... 23
Hình 2-4: Mạng phản hồi ............................................................................. 24
Hình 2-5: Perceptron .................................................................................... 24
Hình 2-6: Mạng MLP tổng quát ................................................................... 25
Hình 2-7: Mối liên hệ giữa sai số và kích thước mẫu ................................... 31
Hình 2-8: Huấn luyện luân phiên trên hai tập mẫu........................................ 35
Hình 3-1: Sơ đồ khối tính toán các hệ số MFCC .......................................... 42
Hình 4-1: Sơ đồ khối hệ thống nhận dạng tiếng nói các chữ số tiếng Việt bằng
mạng nơron MLP trên môi trường Matlab .................................................... 51
Hình 4-2: Từ ‘hai’ được thu âm – bao gồm nền nhiễu .................................. 52
Hình 4-3: Từ ‘hai’ sau khi đã loại bỏ nền nhiễu ........................................... 53
Hình 4-4: Xác định nền nhiễu từ môi trường thu âm .................................... 53
Hình 4-5: wav trước và sau khi chuẩn hóa ở ngưỡng max(wav)=1 ............... 55
Hình 4-6: Mạng MLP gồm 40 đầu vào và 11 đầu ra ..................................... 56
Hình 4-7: Vector đầu vào gồm 40 phần tử, vector đầu ra gồm 11 phần tử .... 57
Hình 4-8: Các vector đầu vào và đầu ra để huấn luyện mạng MLP .............. 57
Hình 4-9: Giao diện chính của hệ thống demo .............................................. 59
Hình 4-10: Chức năng nhận dạng ................................................................. 60
Hình 4-11: Mẫu bảng điểm trên Excel (chưa có điểm) ................................. 61
Hình 4-12: Ứng dụng nhập điểm và xuất sang Excel .................................... 61
Hình 4-13: Mẫu bảng điểm trên Excel (đã có điểm) ..................................... 62
Tóm tắt luận văn:
Họ và tên học viên: Ngô Văn Cương
Lớp: Hệ thống thông tin Khoá: 25A
Cán bộ hướng dẫn: PGS. TS. Bùi Thế Hồng
Tên đề tài: Nghiên cứu kỹ thuật nhận dạng tiếng nói tiếng Việt và
ứng dụng.
Tóm tắt: Xây dựng hệ thống nhận dạng tiếng nói tiếng Việt dựa trên kỹ
thuật sử dụng mạng nơron MLP (trên môi trường Matlab). Hệ thống có thể
vừa nhận dạng trực tuyến (thu âm trực tiếp và nhận dạng) hoặc nhận dạng từ
tệp âm thanh có sẵn. Ứng dụng của hệ thống là đọc điểm và kết quả là điểm
số sẽ được xuất sang bảng điểm trên Excel.
CÁC THUẬT NGỮ VIẾT TẮT
Viết tắt Viết đầy đủ Tạm dịch nghĩa
ASR Automatic Speech Recognition Nhận dạng tiếng nói tự động
HMM Hide Markov Model Mô hình Markov ẩn
IDFT Inverse Discrete Fourier Transform Biến đổi Fourier rời rạc ngược
LPC Linear Prediction Coding Mã dự đoán tuyến tính
MFCC Mel Frequency Cepstral Coefficients Hệ số phân tích phổ tần Mel
TTS Text To Speech Chuyển văn bản thành tiếng nói
STT Speech To Text Chuyển tiếng nói thành văn bản
STE Short Time Energy Năng lượng ngắn hạn
1
MỞ ĐẦU
Trong thời đại công nghệ thông tin hiện nay, khi việc giao tiếp giữa
người với máy, máy với máy luôn là vấn đề được quan tâm thì việc trao đổi
thông tin bằng tiếng nói có một vai trò quan trọng. Máy tính ra đời đã giúp
con người giải quyết công việc nhanh gọn và hiệu quả hơn. Tuy nhiên, các
máy tính ngày nay chỉ nhận thông tin từ con người qua các thiết bị như: bàn
phím, chuột, bút, . Mặc dù tốc độ xử lý của máy tính ngày càng được cải
thiện đáng kể song tốc độ tạo lập thông tin của các thiết bị này vẫn còn thấp.
Con người mong muốn máy tính ngày càng mạnh hơn, thông minh hơn và
một trong số các yêu cầu đó là máy tính trong tương lai phải tương tác với
người sử dụng bằng tiếng nói tự nhiên. Đây sẽ là một bước tiến lớn nhằm
nâng cao sức mạnh của máy tính, đồng thời cũng tăng tốc độ truyền đạt thông
tin giữa máy tính và con người.
Xử lý tiếng nói trở thành một trong những lĩnh vực quan trọng trong
xu hướng phát triển công nghệ của xã hội hiện nay. Đặc biệt, khi công nghệ
thông tin ngày càng phát triển thì các ứng dụng của xử lý tiếng nói ngày càng
trở lên cấp thiết. Mục đích của những nghiên cứu trong lĩnh vực xử lý tiếng
nói là làm cho việc tương tác giữa người và máy ngày càng hiệu quả và tự
nhiên hơn.
Hiện nay trên thế giới các công nghệ xử lý tiếng nói đã phát triển, các
hệ thống ứng dụng xử lý tiếng nói đã được sử dụng ở nhiều nơi, độ chính xác
của các hệ thống này ngày càng được cải thiện. Các ứng dụng của lĩnh vực xử
lý tiếng nói rất phổ biến: nhận dạng tiếng nói, tổng hợp tiếng nói, xác thực
người nói qua giọng nói và các thành tựu của chúng được áp dụng vào nhiều
lĩnh vực trong thực tế.
2
Trên thế giới đã có rất nhiều hệ thống nhận dạng tiếng nói tiếng Anh
đã và đang được ứng dụng rất hiệu quả như: Via Voice của IBM, Spoken
Toolkit của CSLU (Central of Spoken Language Under-standing), Speech
Recognition Engine của Microsoft, Hidden Markov Model toolkit của đại học
Cambridge, CMU Sphinx của đại học Carnegie Mellon,... ngoài ra, một số hệ
thống nhận dạng tiến nói tiếng Pháp, Đức, Trung Quốc,... cũng khá phát triển.
Ở Việt Nam, nhận dạng tiếng nói vẫn là một lĩnh vực khá mới mẻ.
Đến nay tuy đã có nhiều nghiên cứu về nhận dạng tiếng nói tiếng Việt và đã
đạt được một số thành tựu, nhưng nhìn chung vẫn chưa đạt được kết quả cần
thiết để có thể tạo ra các sản phẩm mang tính ứng dụng cao. Có thể kể đến các
công trình sau:
- AILab: Đây là công trình được phòng thí nghiệm Trí tuệ Nhân tạo -
AILab thuộc Đại học Khoa học Tự nhiên tạo ra dựa trên các công nghệ tiên
tiến nhất về nhận dạng và tổng hợp tiếng nói để đáp ứng nhu cầu của người
dùng. Dựa trên công nghệ xử lí tiếng nói tiếng Việt, AILab đã xây dựng phần
mềm iSago chuyên hỗ trợ tìm kiếm thông tin qua tiếng nói. Thông qua ứng
dụng phần mềm người sử dụng có khả năng hỗ trợ giao tiếp với điện thoại di
động trực tiếp bằng lời nói. Từ đó người sử dụng tìm kiếm thông tin nhà
hàng, quán Bar, Café trên địa bàn TP. HCM. Khi người dùng đặt câu hỏi bằng
tiếng nói, iSago sẽ truyền nội dung truy vấn này về server để xử lý và gửi lại
kết quả tìm kiếm, dạng một danh sách: tên nhà hàng, địa chỉ. Phần mềm này
cũng cho phép người dùng hiển thị địa chỉ tìm được dạng bản đồ hoặc nghe
đọc địa chỉ trực tiếp bằng công nghệ tổng hợp giọng nói. Phần mềm được
cung cấp miễn phí tại địa chỉ www.ailab.hcmus.edu.vn
- Vietvoice: Đây là phần mềm của một người dân Việt Nam ngụ tại
Canada. Phần mềm có khả năng nói tiếng Việt từ các tập tin. Để chạy được
chương trình, cần cài đặt Microsoft Visual C++ 2005 Redistributable Package
(x86). Đối với người khiếm thị, phần mềm này cho phép sử dụng cách gõ tắt
(nhấn nút Ctrl và một chữ) để chọn lựa một trong các tính năng hiển thị trên
3
màn hình. Người dùng có thể cập nhật từ điển các chữ viết tắt và các từ ngữ
tiếng nước ngoài.
- Vspeech: Đây là một phần mềm điều khiển máy tính bằng giọng nói
do một nhóm sinh viên Đại học Bách Khoa TP. HCM viết. Phần mềm sử
dụng thư viện Microsoft Speech SDK để nhận dạng tiếng Anh nhưng được
chuyển thành tiếng Việt. Nhóm đã khá thành công với ý tưởng này, do sử
dụng lại thư viện nhận dạng engine nên thời gian thiết kế rút ngắn lại mà hiệu
quả nhận dạng khá tốt. Phần mềm Vspeech có các lệnh gọi hệ thống đơn giản
như gọi thư mục My Computer, nút Start,... Phiên bản mới nhất có tương tác
với MS Word 2003, lướt web với trình duyệt Internet Explorer. Không có các
chức năng tùy chỉnh lệnh và gọi tắt các ứng dụng. Phần mềm chạy trên nền
Windows XP, Microphone và card âm thanh sử dụng tiêu chuẩn thông
thường.
Tuy nhiên việc ứng dụng nhận dạng giọng nói vào điều khiển máy
tính còn nhiều hạn chế. Một số sản phẩm của nước ngoài về nhận dạng tiếng
nói Tiếng Việt như: Nuance (Dragon Dictation và Dragon Search), Google
search,... . Ở Việt Nam thì hầu như chỉ mới có bộ phần mềm Vspeech của
nhóm sinh viên trường Đại học Bách Khoa TP. HCM, nhìn chung các phần
mềm chưa được sử dụng thực tế vì chưa đạt trên 100 từ. Phần mềm Vspeech
được phát triển từ mã nguồn mở Microsoft Speech SDK nhận dạng tiếng Anh,
thông qua dữ liệu, phương thức trung gian, việc nhận dạng được chuyển trong
Vspeech để nhận biết tiếng Việt.
Lĩnh vực xử lý tiếng nói đã và đang tiếp tục được nghiên cứu, phát
triển và các ứng dụng của nó ngày càng trở nên phổ biến và quan trọng. Vì
vậy xử lý tiếng nói và các ứng dụng của nó đã trở thành đề tài được nhiều nhà
nghiên cứu cũng như học sinh, sinh viên nghiên cứu và phát triển.
4
Luận văn tập trun