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

Nghiên cứu công nghệ nhận dạng giọng nói tiếng việt sử dụng học máy và ứng dụng vào việc điều khiển thiết bị trong nhà bằng điện thoại android

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 (2.63 MB, 67 trang )

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------

BÙI THANH PHONG

NGHIÊN CỨU CƠNG NGHỆ NHẬN DẠNG GIỌNG
NĨI TIẾNG VIỆT SỬ DỤNG HỌC MÁY VÀ ỨNG
DỤNG VÀO VIỆC ĐIỀU KHIỂN THIẾT BỊ TRONG
NHÀ BẰNG ĐIỆN THOẠI ANDROID
Chuyên ngành: Khoa Học Máy Tính
Mã số: 60.48.01.01

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 06 năm 2019


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG - HCM
Cán bộ hướng dẫn khoa học: PGS. TS. Quản Thành Thơ .............................
Cán bộ chấm nhận xét 1: PGS. TS. Nguyễn Thanh Hiên ..............................
Cán bộ chấm nhận xét 2: TS. Nguyễn Đức Dũng ..........................................
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.
HCM ngày 03 tháng 07 năm 2019.
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1. Chủ tịch: PGS. TS. Dương Tuấn Anh
2. Phản biện 1: PGS. TS. Nguyễn Thanh Hiên
3. Phản biện 2: TS. Nguyễn Đức Dũng
4. Ủy viên: TS. Phạm Hoàng Anh
5. Thư ký: TS. Nguyễn Lê Duy Lai


Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý
chuyên ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG

TRƯỞNG KHOA
KH & KT MÁY TÍNH


ĐẠI HỌC QUỐC GIA TP.HCM
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên: Bùi Thanh Phong ........................................ MSHV: 1570743
Ngày, tháng, năm sinh: 20/12/1983 ............................................ Nơi sinh: Quảng Nam
Chuyên ngành: Khoa Học Máy Tính .......................................... Mã số: 60.48.01.01
I.

TÊN ĐỀ TÀI: NGHIÊN CỨU CƠNG NGHỆ NHẬN DẠNG GIỌNG NĨI TIẾNG
VIỆT SỬ DỤNG HỌC MÁY VÀ ỨNG DỤNG VÀO VIỆC ĐIỀU KHIỂN THIẾT BỊ
TRONG NHÀ BẰNG ĐIỆN THOẠI ANDROID ...........................................................
..........................................................................................................................................
..........................................................................................................................................
NHIỆM VỤ LUẬN VĂN: ..............................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................

II. NGÀY GIAO NHIỆM VỤ: 11/02/2019 .........................................................................

III. NGÀY HOÀN THÀNH NHIỆM VỤ: 02/06/2019 ........................................................
IV. CÁN BỘ HƯỚNG DẪN: PGS. TS. Quản Thành Thơ ...................................................
Tp. HCM, ngày ….. tháng ….. năm 2019
CÁN BỘ HƯỚNG DẪN

PGS. TS. Quản Thành Thơ

TRƯỞNG KHOA KH & KT MÁY TÍNH


LỜI CẢM ƠN
Tôi xin trân trọng gửi lời biết ơn chân thành đến thầy PGS.TS. Quản Thành
Thơ, người đã trực tiếp dẫn dắt tận tình chỉ bảo và động viên tơi trong q trình thực
hiện đề tài. Cảm ơn thầy về những kiến thức và kinh nghiệm quý báu mà thầy đã
truyền đạt, đó là món q vơ giá của người thầy.
Tôi cũng xin chân thành cảm ơn tất cả qúy Thầy, qúy Cơ trong khoa đã tận
tình giúp đở đề tơi hồn thành đề tài.
Tơi xin chân thành cảm ơn tất cả người thân trong gia đình đã động viên tơi
trong q trình thực hện đề tài. Xin cảm ơn cơng lao ni dạy và tình u thương của
Cha Mẹ và người thân để tơi có được cơ hội như ngày hôm nay.
Xin gửi lời cảm ơn chân thành đến các bạn, các anh, các chị là bạn hữu, đồng
nghiệp vì đã giúp đở, và góp ý cho tơi trong quá trình thực hiện luận văn.


TĨM TẮT LUẬN VĂN
Ngày nay máy tính hay các thiết bị điện tử thông minh như smartphone thực sự đã
trở nên quá phổ biến và gần gủi với con người. Máy tính hay điện thoại đã giải quyết
được rất nhiều vấn đề trong đời sống hằng ngày từ việc tính tốn các con số, làm
phương tiện trao đổi thơng tin, cho đến các nhu cầu về giải trí. Tuy nhiên con người
vẫn luôn muốn nhiều hơn nữa, với hy vọng một ngày nào đó có thể ngồi nói chuyện

với máy móc như một người bạn thân thiết, và điều đó đã dần trở thành sự thật, công
nghệ nhận dạng giọng nói sẽ đóng góp một phần lớn trong q trình tiến hóa của máy
móc.
Những nghiên cứu về nhận dạng giọng nói sẽ giúp máy móc hiểu được lời nói con
người từ đó giúp cho việc giao tiếp giữa người-máy trở nên văn minh và tự nhiên hơn.
Hiện nay cùng với sự bùng nổ của công nghiệp 4.0 tại Việt Nam, nhu cầu những ứng
dụng về trí tuệ nhân tạo và IoT là tất yếu và thực sự cần thiết. Điều khiển thiết bị bằng
giọng nói tiếng Việt là một trong những hướng nghiên cứu thú vị trong giai đoạn này,
tuy nhiên hiện nay những nền tảng ứng dụng về nhận dạng giọng nói tiếng Việt cịn
chưa được phát triển mạnh, đặc biệt là việc tiếp cận bằng phương pháp Connectionist
Temporal Classification (CTC) để xây dựng mơ hình nhận dạng là điều khá mới mẻ
và nhiều thách thức đối với tiếng Việt, với mục tiêu là xây dựng được một hệ thống
nhận dạng tiếng Việt với độ chính xác có thể chấp nhận được, từ đó ứng dụng vào đời
sống thực tế.
Với động cơ trên và sự tư vấn của thầy PGS.TS. Quản Thành Thơ tôi quyết định
chọn đề tài "Nghiên cứu cơng nghệ nhận dạng giọng nói tiếng Việt sử dụng học
máy và ứng dụng vào việc điều khiển thiết bị trong nhà bằng điện thoại Android"
để nghiên cứu.


ABSTRACT OF THE THESIS
Nowadays, computers or smartphones play an important role in our lives. Those
devices have solved plenty of problems, from computing numbers, transferring
information, entertainment. However, human always desires more and more, with a
hope that they can someday talk to the machines like friends, and that idea is coming
true. Speech recognition technology will be a major area in machines development.
Speech recognition researchs are going to changes machines to be able to
understand human's speech, then the communication between human and machines
would turn to natural. With the economic development in Vietnam, artificial
intelligence and IoT applications are required. Controlling devices by Vietnamese

speech is one of interesting research areas in this time, however speech recognition
platforms for Vietnamese haven't been exploited as their potential, especially in the
approaching with Connectionist Temporal Classification (CTC) methodology which
aims to construct a Vietnamese speech recognition system with high accuracy, to be
applied in reality.
With above motivation and the supports from Associate Professor Ph.D Quan
Thanh Tho, I have made my decision to work on topic "A Study on Vietnamese
Speech Recognition Technology based on Machine Learning and Its Application
in Home Device Control using Android Smartphones".


LỜI CAM ĐOAN
Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các cơng trình khác
như đã ghi rõ trong luận văn, các cơng việc trình bày trong luận văn này là do chính
tơi thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy một
bằng cấp ở trường này hoặc trường khác.

Ngày 02 tháng 06 năm 2019

Bùi Thanh Phong


MỤC LỤC
LỜI CẢM ƠN .................................................................................................................. i
TÓM TẮT LUẬN VĂN ................................................................................................. ii
LỜI CAM ĐOAN .......................................................................................................... iv
MỤC LỤC ......................................................................................................................v
DANH MỤC HÌNH...................................................................................................... vii
DANH MỤC BẢNG BIỂU ........................................................................................... ix
CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN .....................................................................1

1.1. TỔNG QUAN VỀ HỆ THỐNG NHẬN DẠNG GIỌNG NÓI ........................... 1
1.2. TÌNH HÌNH NGHIÊN CỨU ............................................................................... 2
1.2.1. Tình hình nghiên cứu trên thế giới ................................................................ 2
1.2.2. Tình hình nghiên cứu trong nước .................................................................. 2
1.3. CÁC CƠNG TRÌNH LIÊN QUAN VÀ GIẢI PHÁP ĐỀ XUẤT ....................... 3
1.3.1. PHƯƠNG PHÁP TRÍCH RÚT ĐẶC TRƯNG GIỌNG NÓI ....................... 3
1.3.2. PHƯƠNG PHÁP NHẬN DẠNG GIỌNG NÓI ............................................ 4
1.3.1. GIẢI PHÁP ĐỀ XUẤT ................................................................................. 5
1.4. MỤC TIÊU CỦA ĐỀ TÀI ................................................................................... 5
1.5. GIỚI HẠN VÀ ĐỐI TƯỢNG NGHIÊN CỨU ................................................... 5
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ................................................................................6
2.1. PHƯƠNG PHÁP TRÍCH RÚT ĐẶC TRƯNG MFCC ....................................... 6
2.1.1. Biến đổi FFT (Fast Fourier Transform) ......................................................... 8
2.1.2. Lọc qua bộ lọc Mel-scale ............................................................................... 9
2.1.3. Logarit giá trị năng lượng (Logarit Of Filter Energies) .............................. 11
2.1.4. Biến đổi cosin rời rạc ................................................................................... 11
2.2. MẠNG NƠ-RON HỒI QUY RNN .................................................................... 12
2.2.1. Giới thiệu mạng RNN .................................................................................. 12
2.2.1. Mạng LSTM ................................................................................................ 13


2.3. GIẢI THUẬT CONNECTIONIST TEMPORAL CLASSIFICATION (CTC) 16
2.3.1. Giới thiệu bài tốn: ...................................................................................... 16
2.3.1. Mơ tả giải thuật: ........................................................................................... 18
2.4. GIẢI THUẬT EDIT DISTANCE ...................................................................... 35
CHƯƠNG 3. XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ TRONG NHÀ
BẰNG ĐIỆN THOẠI ANDROID ................................................................................36
3.1. MƠ HÌNH HỆ THỐNG ĐIỀU KHIỂN ............................................................. 36
3.1.1. Trích rút đặc trưng: ...................................................................................... 36
3.1.2. Khối nhận dạng: ........................................................................................... 37

3.1.3. Lọc tối ưu: .................................................................................................... 38
3.1.4. Khối điều khiển:........................................................................................... 39
3.2. XÂY DỰNG PHẦN MỀM TRÊN ANDROID ................................................. 40
CHƯƠNG 4. HUẤN LUYỆN HỆ THỐNG VÀ THỬ NGHIỆM ................................42
4.1. CÁC THAM SỐ CƠ BẢN ................................................................................. 42
4.2. DỮ LIỆU HUẤN LUYỆN................................................................................. 42
4.3. HUẤN LUYỆN MƠ HÌNH ............................................................................... 43
4.4. ĐÁNH GIÁ MƠ HÌNH ...................................................................................... 44
4.5. KẾT QUẢ CHẠY THỰC NGHIỆM ................................................................. 45
CHƯƠNG 5. KẾT LUẬN .............................................................................................48
5.1. TỔNG KẾT NỘI DUNG CỦA LUẬN VĂN .................................................... 48
5.2. NHỮNG ĐÓNG GÓP CỦA ĐỀ TÀI ................................................................ 48
5.3. HƯỚNG PHÁT TRIỂN ..................................................................................... 48
TÀI LIỆU THAM KHẢO .............................................................................................50
BẢNG THUẬT NGỮ ANH - VIỆT VÀ TỪ VIẾT TẮT .............................................53


DANH MỤC HÌNH
Hình 1.1 Mơ hình hoạt động của một hệ thống nhận dạng giọng nói. ........................... 1
Hình 2.1 Đồ thì biểu diễn mối quan hệ giữa Mel và Hz (nguồn [1]) ............................. 6
Hình 2.2. Bộ lọc trên thang Mel (nguồn [4]) .................................................................. 7
Hình 2.3. Bộ lọc trên tần số thật (nguồn [4]).................................................................. 7
Hình 2.4. Minh họa các bước biến đổi MFCC (nguồn [4]) ............................................ 8
Hình 2.5. Biểu đồ thang tần số Mel theo tần số thực (nguồn [1]) .................................. 9
Hình 2.6. Băng lọc tần số Mel (nguồn [4])................................................................... 10
Hình 2.7. Đưa tín hiệu vào băng lọc tần số Mel (nguồn [4]) ....................................... 10
Hình 2.8. Kiến trúc một đoạn mạng RNN (nguồn [13]) .............................................. 12
Hình 2.9. Phân giải mạng RNN (nguồn [13]) .............................................................. 12
Hình 2.10. Cấu trúc mạng RNN chuẩn (nguồn [13]) ................................................... 13
Hình 2.11. Cấu trúc mạng LSTM (nguồn [13])............................................................ 13

Hình 2.12. Sơ đồ đường trạng thái (nguồn [13]) .......................................................... 14
Hình 2.13. Sơ đồ cổng (gate) (nguồn [13]) .................................................................. 14
Hình 2.14. Cổng quên (forget gate) (nguồn [13]) ........................................................ 15
Hình 2.15. Cổng vào (input gate) (nguồn [13]) ............................................................ 15
Hình 2.16. Cập nhật trạng thái tế bào (nguồn [13])...................................................... 15
Hình 2.17. Tính tốn đầu ra (nguồn [13]) .................................................................... 16
Hình 2.18. Một số bài tốn nhận dạng (nguồn [9]) ...................................................... 17
Hình 2.19. Một cách sắp xếp (nguồn [9]) ..................................................................... 18
Hình 2.20. Các bước thực hiện việc sắp xếp (nguồn [9]) ............................................. 19
Hình 2.21. Một số trường hợp sắp xếp hợp lệ và khơng hợp lệ (nguồn [9])................ 19
Hình 2.22. Các bước của q trình tính tốn với CTC (nguồn [9]) ............................. 20
Hình 2.23. Xác suất của các đường đi hợp lệ (nguồn [10]) ......................................... 21
Hình 2.24. Tập hợp các đường đi hợp lệ (nguồn [10])................................................. 22
Hình 2.25. Cơ chế tính tốn quy hoạch động (nguồn [9]) ........................................... 22
Hình 2.26. Mơ tả viêc tính tốn CTCLoss – 1 (nguồn [10]) ........................................ 23
Hình 2.27. Mơ tả viêc tính tốn CTCLoss – 2 (nguồn [10]) ........................................ 23
Hình 2.28. Mơ tả viêc tính tốn CTCLoss – 3 (nguồn [10]) ........................................ 24
Hình 2.29. Mơ tả viêc tính tốn CTCLoss – 4 (nguồn [10]) ........................................ 24
Hình 2.30. Mơ tả viêc tính tốn CTCLoss – 5 (nguồn [10]) ........................................ 25
Hình 2.31. Mơ tả viêc tính tốn CTCLoss – 6 (nguồn [10]) ........................................ 25
Hình 2.32. Mơ tả viêc tính tốn CTCLoss – 7 (nguồn [10]) ........................................ 26
Hình 2.33. Mơ tả viêc tính tốn CTCLoss – 8 (nguồn [10]) ........................................ 26
Hình 2.34. Mơ tả viêc tính tốn CTCLoss – 9 (nguồn [10]) ........................................ 27
Hình 2.35. Mơ tả viêc tính tốn CTCLoss – 10 (nguồn [10]) ...................................... 27


Hình 2.36. Mơ tả viêc tính tốn CTCLoss – 11 (nguồn [10]) ...................................... 28
Hình 2.37. Mơ tả viêc tính tốn CTCLoss – 12 (nguồn [10]) ...................................... 28
Hình 2.38. Mơ tả viêc tính tốn CTCLoss – 13 (nguồn [10]) ...................................... 29
Hình 2.39. Mơ tả viêc tính tốn CTCLoss – 14 (nguồn [10]) ...................................... 29

Hình 2.40. Mơ tả viêc tính tốn CTCLoss – 15 (nguồn [10]) ...................................... 30
Hình 2.41. Mơ tả viêc tính tốn CTCLoss – 16 (nguồn [10]) ...................................... 30
Hình 2.42. Mơ tả viêc tính tốn CTCLoss – 17 (nguồn [10]) ...................................... 31
Hình 2.43. Mơ tả viêc tính tốn CTCLoss – 18 (nguồn [10]) ...................................... 32
Hình 2.44. Mơ tả viêc tính tốn CTCLoss – 19 (nguồn [10]) ...................................... 32
Hình 2.45. Mơ tả viêc tính tốn CTCLoss – 20 (nguồn [10]) ...................................... 33
Hình 2.46. Mơ tả viêc tính tốn CTCLoss – 21 (nguồn [10]) ...................................... 34
Hình 3.1. Sơ đồ khối hệ thống ...................................................................................... 36
Hình 3.2. Khối xử lý điều khiển ................................................................................... 40
Hình 3.3. Giao diện ứng dụng ...................................................................................... 40


DANH MỤC BẢNG BIỂU
Bảng 4.1. Thống kê dữ liệu huấn luyện........................................................................ 42
Bảng 4.2. Kết quả huấn luyện ...................................................................................... 44
Bảng 4.3. Kết quả thực nghiệm - 1 ............................................................................... 45
Bảng 4.4. Kết quả thực nghiệm - 2 ............................................................................... 45
Bảng 4.5. Kết quả thực nghiệm - 3 ............................................................................... 46
Bảng 4.6. Kết quả thực nghiệm - 4 ............................................................................... 46
Bảng 4.7. Kết quả thực nghiệm - 5 ............................................................................... 46


1

CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN
Trong chương này chúng tôi tập trung giới thiệu tổng quan về hệ thống nhận
dạng giọng nói, sơ lược về tình hình nghiên cứu nhận dạng giọng nói trên thế giới
và trong nước. Chương này cũng nêu ra mục tiêu của đề tài, xác định giới hạn và
đối tượng nghiên của đề tài. Phần cuối trình bày các cơng trình nghiên cứu và giải
pháp đề xuất.

1.1. TỔNG QUAN VỀ HỆ THỐNG NHẬN DẠNG GIỌNG NÓI
Hệ thống nhận dạng giọng nói là một hệ thống có khả năng chuyển đổi tín
hiệu tiếng nói của con người thành chuỗi kí tự có nghĩa. Trong đề tài này chúng tôi
sẽ nghiên cứu xây dựng một hệ thống điều khiển thiết bị bằng giọng nói Tiếng Việt
thơng qua thiết bị di động cầm tay.

Hình 1.1 Mơ hình hoạt động của một hệ thống nhận dạng giọng nói

Q trình nhận dạng giọng nói bằng học máy cơ bản đi qua các bước sau:
 Trích rút đặc trưng giọng nói.
 Nhận dạng: Vector đặc trưng được đưa vào nhận dạng thông qua mơ
hình đã được huấn luyện trước đó.
 Xử lý kết quả nhận dạng (nếu có): Đối với hệ thống nhận dạng từ liên
tục hay đoạn âm thanh có thời lượng lớn thì chuỗi kí tự này thường sẽ
được đi qua mơ hình ngơn ngữ để cho kết quả tối ưu.
Một số lĩnh vực ứng dụng về công nghệ nhận dạng giọng nói nỗi bật như trợ
lý ảo (Google Assistant, Siri) hay công nghiệp robot (Sophia, Asimo).


2
1.2. TÌNH HÌNH NGHIÊN CỨU
1.2.1. Tình hình nghiên cứu trên thế giới
Trên thế giới nhận dạng máy ra đời từ những năm 1920, trong đó những
nghiên cứu về nhận dạng giọng nói trải qua nhiều giai đoạn. Giai đoạn 1920-1960
nghiên cứu về nhận dạng giọng nói dựa trên âm học, thành tựu đạt được trong giai
đoạn này như là hệ thống nhận dạng những con số rời rạc được xây dựng tại phịng
thí nghiệm Bell. Giai đoạn 1960-1970 nhận dạng dựa trên phần cứng, có nhiều
phịng thí nghiệm ở Nhật tham gia vào nghiên cứu. Thành qủa đạt được như là việc
phát triển phần cứng để nhận dạng các nguyên âm tại phịng thí nghiệm Radio
Research Lab ở Tokyo, phần cứng nhận dạng âm vị được Sakai và Doshita của Đại

Học Kyoto phát triển dựa trên việc phân tích sự cắt qua điểm khơng của tín hiệu
tiếng nói, giải thuật quy hoạch động cũng được Vintsyuk đề xuất năm 1968 và sau
này được gọi là giải thuật Dynamic Time Warping (DTW). Từ 1970-1980 có những
nghiên cứu nhận dạng dựa trên mẫu. Hai nhà nghiên cứu người Nga là Velichko và
Zagoruyko cho ra đời ý tưởng nhận dạng giọng nói bằng mẫu, phương pháp mã hóa
dự đốn tuyến tính (Linear Predictive Coding - LPC) được áp dụng thành công.
Trong những năm từ 1980-1990 nghiên cứu tập trung vào nhận dạng từ liên tục,
trong giai đoạn này lý thuyết về Hidden Markov Model (HMM) được mở rộng để
đảm bảo độ chính xác và hệ thống nhận dạng với bộ từ vựng lớn là nhiệm vụ mới.
Giai đoạn 1990-2000 có những nghiên cứu về mơ hình lai giữa HMM và mơ hình
Artificial Neural Network (ANN). Việc nghiên cứu mơ hình này đã rút ngắn đáng
kể thời gian phân lớp các thuộc tính. Những năm 2000-2010 nghiên cứu nhận dạng
dựa trên mơ hình Variational Bayesian (VB) estimation. Thành quả nổi bật là một
hệ thống nhận dạng cho ngôn ngữ Hindi được thiết kế bởi Gupta năm 2006
[15][16][17].
1.2.2. Tình hình nghiên cứu trong nước
Về tình hình nghiên cứu ở Việt Nam, thì có thể nói GS. TSKH Bạch Hưng
Khang là người đi tiên phong trong việc nghiên cứu nhận dạng tiếng Việt. Cơng
trình đầu tiên của ông liên quan đến nhận dạng được đăng trong tạp chí khoa học
“Thơng báo khoa học” của Viện hàn lâm khoa học Belorus năm 1966. Thời kì
1981-2000 các vấn đề về nhận dạng chữ (một sản phẩm phần mềm là VnDOC),


3
nhận dạng hình ảnh và dịch tự động có nhiều nghiên cứu trong khi đó nhận dạng
tiếng nói thì chưa được quan tâm nhiều [2]. Cho đến nay theo chúng tơi tìm hiểu thì
trong nước có số lượng các nhóm nghiên cứu về nhận dạng giọng nói là khá ít, như
là:
 Phịng Nhận dạng và Cơng nghệ Tri thức, Viện Cơng nghệ Thơng tin.
 Nhóm nghiên cứu MICA - ĐHBK Hà Nội.

 Nhóm nghiên cứu phịng thí nghiệm Trí tuệ nhân tạo (AILab), trường ĐH
Khoa học Tự nhiên, ĐHQG-HCM do PGS.TS Vũ Hải Quân đứng đầu.
 Nhóm "Tương tác Người-Máy" trường ĐH Công Nghệ Thông Tin, ĐHQGHCM do PGS.TS Vũ Đức Lung đứng đầu.
1.3. CÁC CƠNG TRÌNH LIÊN QUAN VÀ GIẢI PHÁP ĐỀ XUẤT
1.3.1. PHƯƠNG PHÁP TRÍCH RÚT ĐẶC TRƯNG GIỌNG NĨI
Dưới đây là một số phương pháp trích chọn đặc trưng phổ biến và hiệu quả
quả cho bài toán nhận dạng giọng nói.
1.3.1.1. Phương pháp trích đặc trưng LPC (Linear Predictive
Coding)
Ý tưởng cơ bản của mơ hình LPC là một mẫu tiếng nói cho trước tại thời
điểm n s(n) có thể được xấp xỉ bởi một tổ hợp tuyến tính của p mẫu tín hiệu q
khứ. Mơ hình LPC được sử dụng khá rông rãi trong các hệ thống nhận dạng tiếng
nói là bởi các lý do sau:


LPC cung cấp một mơ hình tốt của tín hiệu tiếng nói, đặc biệt đối với các
trạng thái gần ổn định của âm thanh, tuy nhiên trong các vùng ngắn và không
âm, mơ hình LPC hoạt động kém hiệu quả.



Phương pháp tính tốn của LPC chính xác về mặt tốn học và đơn giản, trực
tiếp trong việc cài đặt lên cả phần cứng hoặc phần mềm.
1.3.1.2. Phương pháp trích đặc trưng MFCC (Mel-scale Frequency
Cepstral Cịeficient)
Ngồi LPC ra thì MFCC cũng là một phương pháp trích chọn đặc trưng phổ

biến. Phương pháp MFCC dựa trên những nghiên cứu về những dải thông quan



4
trọng (critical) của tai người đối với tần số. Và để thu được những đặc trưng ngữ âm
quan trọng người ta sử dụng các bộ lọc tuyến tính với dải tần thấp và các bộ lọc có
đặc tính loga với dải tần số cao. Nói chính xác đó là đặc điểm cảm thụ âm của tai
người: tuyến tính với các tần số dưới 1KHz và phi tuyến với các tần số trên 1KHz
[1].
1.3.2. PHƯƠNG PHÁP NHẬN DẠNG GIỌNG NÓI
1.3.2.1. Phương pháp âm – ngữ học
Phương pháp này dựa trên lý thuyết về âm – ngữ học. Trong lời nói tồn tại các
đơn vị ngữ âm xác định, có tính phân biệt. Các bước nhận dạng của phương pháp
này bao gồm:
Bước 1: Phân đoạn và gán nhãn.
Chia tín hiệu tiếng nói thành các đoạn có đặc tính âm học đặc trưng cho một
đơn vị ngữ âm, đồng thời gán cho mỗi đoạn âm thanh đó một hay nhiều nhãn ngữ
âm phù hợp.
Bước 2: Nhận dạng.
Dựa trên một số điều kiện ràng buộc về từ vựng để xác định một hay một
chuỗi từ đúng trong các chuỗi nhãn ngữ âm đã được tạo ra ở bước 1
1.3.2.2. Phương pháp nhận dạng mẫu
Bước 1: Sử dụng tập mẫu tiếng nói hay cịn gọi là cơ sở dữ liệu tiếng nói để
huấn luyện. Kết quả thu được của bước này là các mẫu tiếng nói đặc trưng.
Bước 2: So sánh mẫu tiếng nói cần nhận dạng với các mẫu tiếng nói đặc trưng
được tạo ra ở bước 1 để nhận dạng. Các mơ hình HMM, mạng nơ-ron nhân tạo
ANN, so sánh thời gian động DTW áp dụng phương pháp nhận dạng mẫu này.
1.3.2.3. Phương pháp ứng dụng trí tuệ nhân tạo
Phương pháp ứng dụng trí tuệ nhân tạo kết hợp các phương pháp trên nhằm
tận dụng tối đa các ưu điểm của chúng, đồng thời bắt chước các khả năng của con
người trong phân tích và cảm nhận các sự kiện bên ngồi để áp dụng vào nhận dạng
tiếng nói.



5
Đặc điểm của phương pháp này là sử dụng hệ chuyên gia để phân đoạn, gán
nhãn ngữ âm. Sử dụng mạng nơ-ron nhân tạo để học mối quan hệ giữa các ngữ âm.
1.3.1. GIẢI PHÁP ĐỀ XUẤT
Giải pháp đề xuất cho bài tốn nhận dạng giọng nói tiếng Việt trong đề tài
này là sử dụng phương pháp trích rú đặc trưng MFCC do tốc độ tính tốn cao, độ tin
cậy và hiệu suất cao và đã được sử dụng phổ biến trên thế giới [5][6][12][19]. Sử
dụng phương pháp Connectionist Temporal Classification (CTC) cho việc huấn
luyện mạng LSTM và xây dựng mơ hình nhận dạng giọng nói tiếng Việt, sử dụng
giải thuật Edit Distance để tối ưu hệ thống. Ngoài ra chúng tôi đề xuất sử dụng bảng
chữ cái tiếng Anh cho bài toán nhận dạng tiếng Việt nhằm giảm chi phí tính tốn
cho q trình huấn luyện xây dựng mơ hình và nhận dạng.
1.4. MỤC TIÊU CỦA ĐỀ TÀI
Mục tiêu của đề là ban đầu tiếp cận phương pháp xây dựng mơ hình nhận dạng
giọng nói tiếng Việt bằng giải thuật CTC, kết hợp với giải thuật Edit Distance để từ
đó áp dụng xây dựng một phần mềm thơng minh trên điện thoại Android để điều
khiển thiết bị bằng giọng nói tiếng Việt với bộ từ vựng nhỏ. Trong khn khổ thời
gian và điều kiện giới hạn của đề tài thì kỳ vọng của hệ thống là có thể thực hiện
việc điều khiển thiết bị với độ chính xác đạt trên 80%.
1.5. GIỚI HẠN VÀ ĐỐI TƯỢNG NGHIÊN CỨU
Đề tài chỉ tập trung nghiên cứu về phương pháp trích rút đặc trưng giọng nói
MFCC, mạng nơ-ron hồi quy Recurrent Neural Network (RNN) cụ thể là mạng
Long Short Term Memory (LSTM), phương pháp huấn luyện CTC, nghiên cứu kết
hợp giải thuật Edit Distance để nâng cao hiệu suất, và xây dựng phần mềm điều
khiển trên điện thoại Android với các chức năng chính là điều khiển Tắt-Mở đèn,
điều khiển Đóng-Mở cửa.


6


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Chương này chúng tơi trình bày về phương pháp trích rút đặc trưng giọng nói
MFCC, mô tả hoạt động mạng nơ-ron hồi quy LSTM, giải thuật Edit Distance và
chi tiết về giải thuật CTC.
2.1. PHƯƠNG PHÁP TRÍCH RÚT ĐẶC TRƯNG MFCC
Các nghiên cứu cho thấy rằng hệ thống thính giác của con người thu nhận âm
thanh với độ lớn các tần số âm thanh không theo thang tuyến tính. Do đó, các thang
âm thanh đã ra đời cho phù hợp với sự tiếp nhận của thính giác con người.
MFCC là một phương pháp rút trích đặc trưng sử dụng dãy bộ lọc được Davis
và Mermelstein đưa ra vào năm 1980 khi họ kết hợp các bộ lọc cách khoảng không
đều với phép biến đổi Cosin rời rạc (Discrete Cosin Transform) thành một thuật
tốn hồn chỉnh được ứng dụng trong lĩnh vực nhận dạng giọng nói liên tục. Đồng
thời cũng định nghĩa khái niệm hệ số Cepstral và thang đo tần số Mel (Mel scale).
Các thang được xây dựng bằng thực nghiệm, cho nên người ta xây dựng các
công thức để xấp xỉ sự chuyển đổi này. Trong các thang và cơng thức dạng đó thì
đặc trưng MFCC sử dụng thang Mel. Thang Mel được thể hiện thơng qua đồ thị
sau:

Hình 2.1 Đồ thì biểu diễn mối quan hệ giữa Mel và Hz (nguồn [1])


7
Ta dùng phép biến đổi Fourier để chuyển đổi tín hiệu từ miền thời gian sang
miền tần số sau đó ta dùng dãy bộ lọc tín hiệu đó là dãy bộ lọc tam giác có tần số
giữa đều nhau trên thang Mel.

Hình 2.2. Bộ lọc trên thang Mel (nguồn [4])

Hình 2.3. Bộ lọc trên tần số thật (nguồn [4])


Lấy log trên dãy kết quả từ dãy bộ lọc và thực hiện biến đổi cosin rời rạc ta
thu được các hệ số đặc trưng MFCC.


8

Hình 2.4. Minh họa các bước biến đổi MFCC (nguồn [4])

Nguồn: [4], tr. 11.
Như vậy, q trình rút trích đặc trưng theo phương pháp MFCC sẽ được tiến
hành như sau:
Tín hiệu sau khi qua tiền xử lý sẽ được chia thành các khung (frame) có
khoảng thời gian ngắn. Dựa vào mỗi khung đó, sau khi áp dụng các bước biến đổi
và lọc sẽ được một vector tương ứng [3].
2.1.1. Biến đổi FFT (Fast Fourier Transform)
Biến đổi FFT thực chất là một biến đổi DFT (Discrete Fourier Transform )
nhưng được tối ưu bằng các thuật toán nhanh và gọn hơn để đáp ứng các yêu cầu xử
lý theo thời gian thực trong các lĩnh vực như xử lý âm thanh, hình ảnh,...
Fast Fourier là một phép biến đổi thuận nghịch có đặc điểm bảo tồn tính
tuyến tính bất biến, tuần hồn và tính trễ. Dùng để biến đổi tín hiệu tương tự sang
miền tần số, nó gồm các cơng thức như sau:
Cơng thức phép biến đổi thuận (dùng để phân tích tín hiệu):
−𝑗2𝜋𝑘𝑛/𝑁
X(k) = ∑𝑁−1
𝑛=0 𝑥(𝑛)𝑒

k = 0,1,2,…,N-1

Cơng thức phép biến đổi nghịch (dùng để tổng hợp lại tín hiệu):


(2.1)


9
𝑗2𝜋𝑘𝑛/𝑁
x(n) = ∑𝑁−1
𝑘=0 𝑋(𝑘)𝑒

n = 0,1,2,…N-1

(2.2)

Trong đó: x(n) = a(n) + b(n)√−1
Kết quả chúng ta có được khi thực hiện FFT là dãy tín hiệu Xt(k) để đưa vào
bộ lọc Mel-scale.
2.1.2. Lọc qua bộ lọc Mel-scale
Trong lĩnh vực nghiên cứu về nhận dạng tiếng nói, địi hỏi chúng ta phải hiểu
và mơ phỏng chính xác khả năng cảm thụ tần số âm thanh của tai người. Chính vì
thế các nhà nghiên cứu đã xây dựng một thang tần số - hay gọi là thang tần số Mel
(Mel scale) dựa trên cơ sở thực nghiệm nhiều lần khả năng cảm nhận âm thanh của
con người. Thang tần số Mel được định nghĩa trên tần số thực theo công thức:
m = 2595log10(1 +

𝑓
700

)

(2.3)


Trong đó: m là tần số trong thang Mel, đơn vị là Mel; f là tần số thực, đơn vị
là Hz.

Hình 2.5. Biểu đồ thang tần số Mel theo tần số thực (nguồn [1])

Theo biểu đồ trên thì trong khoảng tần số thấp hơn 1kHz thì đồ thị trên gần
như là tuyến tính, nghĩa là trong khoảng tần số dưới 1kHz tần số Mel và tần số thực
có mối quan hệ là tuyến tính. Trong khoảng tần số trên 1kHz thì mối quan hệ này là
quan hệ Logarit.


10
Dựa vào các thực nghiệm trên tai người, người ta đã xác định được các tần số
thực mà tai người có thể nghe được và chứa đựng nhiều thơng tin. Sau đó chuyển
các tần số này sang tần số Mel và xây dựng một thang đo như sau:

Hình 2.6. Băng lọc tần số Mel (nguồn [4])

Ta dùng thang đo này để áp vào dãy sóng tín hiệu thu được sau khi thực hiện
FFT.

Hình 2.7. Đưa tín hiệu vào băng lọc tần số Mel (nguồn [4])

Kết quả của bước này là chúng ta sẽ có được tập hợp các tần số Yt(m) là giao
điểm của sóng tần số vời thang tần số Mel từ dãy tín hiệu Xt(k).


11
2.1.3. Logarit giá trị năng lượng (Logarit Of Filter Energies)

Mục đích của bước này là nén các giá trị đã lọc được vào miền giá trị nhỏ hơn
để xử lý nhanh hơn. Nên các giá trị thu được ở mỗi kênh lọc sẽ được lấy Logarit với
công thức log{|Yt(m)|2}.
2.1.4. Biến đổi cosin rời rạc
Dựa vào phổ tín hiệu tiếng nói của con người trên miền tần số, ta có thể thấy
rằng phổ tín hiệu khá trơn, nên khi lấy các giá trị năng lượng ra từ các bộ lọc, các
giá trị này có sự tương quan khá gần nhau, dẫn đến các đặc trưng ta rút được sẽ
không rõ ràng. Chính vì thế, ta thực hiên biến đổi DCT (Discrete Cosin Transform)
để làm rời rạc các giá trị này ra cho nó ít tương quan với nhau, làm tăng tính đặc
trưng của các tham số. Giá trị thu được sau bước này ta gọi là hệ số Cepstral.
i

N

Ci =

 m cos( N ( j  0.5))
j 1

j

(2.4)

N là số kênh lọc
Trong đó:

Mj là giá trị logarit năng lượng của mạch lọc thứ j.
i là bậc của hệ số cepstral

Thông thường người ta lấy i trong đoạn [1,12] là số lượng đặc trưng trong mỗi

vecto đặc trưng. Trong các hệ nhận dạng, số lượng đặc trưng nằm trong khoảng
(10,15) là đủ để cho kết quả nhận dạng tương đối mà dữ liệu xử lý lại không quá
lớn.
Sau khi thực hiện biến đổi DCT, theo công thức trên ta thấy các hệ số thu
được sẽ tăng tuyến tính theo số bậc của nó. Hệ số Cepstral có số bậc cao sẽ có giá
trị rất cao, ngược lại các hệ số với số bậc thấp sẽ có giá trị rất thấp. Sự chênh lệch
này sẽ gây khó khăn cho chúng ta trong qua trình mơ hình hóa dữ liệu và xử lý sau
này. Vì khi có sự chênh lệch cao, ta phải dùng miền giá trị lớn để biểu diễn dữ liệu,
và gặp khó khăn khi đưa vào các mơ hình xử lý xác suất. Nên để có các hệ số tối ưu
cho các qua trình sau, ta sẽ thực hiện việc điều chỉnh các hệ số này để giảm sự
chênh lệch. Việc này thực hiện bằng công thức:
c'n = exp(n * fc) . cn

(2.5)


12
Cuối cùng chúng ta sẽ thu được các giá hệ số Cepstral đã được tinh chế. Các
hệ số này là đặc trưng MFCC mà chúng ta sẽ sử dụng để huấn luyện và nhận dạng.
2.2. MẠNG NƠ-RON HỒI QUY RNN
2.2.1. Giới thiệu mạng RNN

Hình 2.8. Kiến trúc một đoạn mạng RNN (nguồn [13])

Mạng nơ-ron hồi quy sinh ra để giải quyết các vấn đề về dữ liệu tuần tự, như
bài tốn nhận dạng giọng nói là một điển hình. Hình trên mô tả một đoạn mạng nơron hồi quy A có đầu vào là xt và đầu ra là ht. Một vịng lặp trong mạng cho phép
thơng tin có thể truyền từ bước này sang bước khác.

Hình 2.9. Phân giải mạng RNN (nguồn [13])


Vòng lặp cho phép mạng tạo thành một chuỗi các mạng sao chép tương tự
nhau. Một vấn đề đối với mạng RNN đó là phụ thuộc xa, khi khoảng cách thơng tin
lớn thì mạng RNN khơng thể nhớ và học được nữa. Nguyên nhân của việc này là do
RNN chịu ảnh hưởng bởi việc độ dốc (gradient) bị thấp dần trong quá trình học
(vanishing gradient). Gradient lại là thành phần quan trọng bậc nhất trong việc huấn
luyện các mơ hình. Vì thế khi giá trị của gradient được tạo bởi các thành phần phía
đầu đoạn văn trở nên q nhỏ, nó sẽ khơng đóng góp gì cho việc học của mơ hình.
Nói tóm lại là RNN khơng có khả năng nhớ những thơng tin ở q xa trước


13
đó. Và mạng LSTM có thể khắc phục nhược điểm đó, và trong đề tài này chúng tơi
sử dụng mạng LSTM cho việc xây dựng mơ hình [7].

Hình 2.10. Cấu trúc mạng RNN chuẩn (nguồn [13])

2.2.1. Mạng LSTM
Mạng LSTM được giới thiệu bởi Hochreiter và Schmidhuber năm 1997 [14].
LSTM có thể giải quyết vấn đề phụ thuộc xa, cơ chế hoạt động dựa trên RNN
nhưng có một số thay đổi trong các cell.

Hình 2.11. Cấu trúc mạng LSTM (nguồn [13])

Ý tưởng cốt lõi của mạng LSTM là ở trạng thái tế bào (cell - state).


×