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.09 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 YÀ Ứ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 HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BACH 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
TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độ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 quá 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 quà 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 hoà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
quá trình thực hện đề tài. Xin cảm ơn công lao nuôi dạy và tình yê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 toá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 quá 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ưong 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
CHUƠ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 nuớc ............................................................................. 2
1.3. ..................................................................................................................
CÁC CÔNG TRÌNH LIÊN QUAN VÀ GIẢI PHÁP ĐỀ XUẤT ............................... 3
1.3.1. PHUƠNG PHÁP TRÍCH RỦT ĐẶC TRUNG GIỌNG NÓI .................................... 3
1.3.2. PHUƠ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 TUỢNG NGHIÊN CỨU ......................................................... 5
CHUƠNG 2. CƠ SỞ LÝ THUYẾT ......................................................................................... 6
2.1. ..................................................................................................................
PHUƠNG PHÁP TRÍCH RÚT ĐẶC TRUNG 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 luợ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.3. GIẢI THUẬT CONNECTIONIST TEMPORAL CLASSIFICATION (CTC) 16
2.3.1. Giới thiệu bài toán: ...................................................................................... 16
2.3.1. Mô tả giải thuật:........................................................................................... 18
2.4. GIẢI THUẬT EDIT DISTANCE ......................................................................35
CHUÔ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
CHUÔNG 4. HUẤN LUYỆN HỆ THỐNG VÀ THỪ NGHIỆM ..................................42
4.1. CÁC THAM SỐ CO 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
CHUÔ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. HUỚ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 toán đầu ra (nguồn [13])....................................................................... 16
Hình 2.18. Một số bài toá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ợplệ (nguồn [9]) ................... 19
Hình 2.22. Các bước của quá trình tính toá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 toán quy hoạch động (nguồn [9]) ............................................. 22
Hình 2.26. Mô tả viêc tính toán CTCLoss - 1 (nguồn [10]) ........................................ 23
Hình 2.27. Mô tả viêc tính toán CTCLoss - 2 (nguồn [10]) ........................................ 23
Hình 2.28. Mô tả viêc tính toán CTCLoss - 3 (nguồn [10]) ........................................ 24
Hình 2.29. Mô tả viêc tính toán CTCLoss - 4 (nguồn [10]) ........................................ 24
Hình 2.30. Mô tả viêc tính toán CTCLoss - 5 (nguồn [10]) ........................................ 25
Hình 2.31. Mô tả viêc tính toán CTCLoss - 6 (nguồn [10]) ........................................ 25
Hình 2.32. Mô tả viêc tính toán CTCLoss - 7 (nguồn [10]) ........................................ 26
Hình 2.33. Mô tả viêc tính toán CTCLoss - 8 (nguồn [10]) ........................................ 26
Hình 2.34. Mô tả viêc tính toán CTCLoss - 9 (nguồn [10]) ........................................ 27
Hình 2.35. Mô tả viêc tính toán CTCLoss - 10 (nguồn [10]) ........................................ 27



Hình 2.36. Mô
tả viêc tính toán CTCLoss - 11 (nguồn[10]) ..................................... 28
Hình 2.37. Mô
tả viêc tính toán CTCLoss - 12 (nguồn[10]) ..................................... 28
Hình 2.38. Mô
tả viêc tính toán CTCLoss - 13 (nguồn[10]) ..................................... 29
Hình 2.39. Mô
tả viêc tính toán CTCLoss - 14 (nguồn[10]) ..................................... 29
Hình 2.40. Mô
tả viêc tính toán CTCLoss - 15 (nguồn[10]) ..................................... 30
Hình 2.41. Mô
tả viêc tính toán CTCLoss - 16 (nguồn[10]) ..................................... 30
Hình 2.42. Mô
tả viêc tính toán CTCLoss - 17 (nguồn[10]) ..................................... 31
Hình 2.43. Mô
tả viêc tính toán CTCLoss - 18 (nguồn[10]) ..................................... 32
Hình 2.44. Mô
tả viêc tính toán CTCLoss - 19 (nguồn[10]) ..................................... 32
Hình 2.45. Mô
tả viêc tính toán CTCLoss - 20 (nguồn[10]) ..................................... 33
Hình 2.46. Mô
tả viêc tính toá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 diề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 Quá 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
đỉ 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, Siii) 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ự đoá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 quá 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 toán của LPC chính xác về mặt toá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òeHcient)
Ngoà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 lKHz và phi tuyến vói các tần số trên lKHz [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. Ket 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 ngoà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 toá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 toá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 toán cho quá 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 khuôn 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
Đe 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 ĐóngMỞ 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 toán hoà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 tan so 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 đó thi đặc trưng
MFCC sử dụng thang Mel. Thang Mel được thể hiện thông qua đồ thị sau:

Till sô (thang Mel I

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.

Bièn độ

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 co sin 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, quá 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 toàn tính tuyến
tính bất biến, tuần hoà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):
X« = 2:J*(n)6^"b,/"

k=

0,l,2,...,N-l

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

x(n) = Efc=c\X(k)ei 2 n k n / N

n = 0,1,2,...N-l

(2.2)

Trong đó: x(n) = a(n) + b(n)V—Ĩ
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 = 25951ogio(l + ^)

(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.

Hertz scale

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])

Ket 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ỏ hon để
xử lý nhanh hon. 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{IYt(m)l2}.
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á tron, 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ưong 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ưong 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.
ci=

Ệm,cos(^O'-0.5))

(2.4)

c 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 * f c ) . 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
toá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 độ doc (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 quá 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 ở quá 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.

©©©

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



×