You are on page 1of 66

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Tiểu luận môn Chuyên nghiệp trong Công nghệ


CÔNG NGHỆ NHẬN DIỆN GIỌNG NÓI SỬ DỤNG
NEURAL NETWORK

Nhóm 1 – Lớp học phần ELT 2028 – 1


Nguyễn Quy Thành An
Nguyễn Duy Hùng
Phạm Tường Minh
Trần Đăng Minh Tâm
Nguyễn Công Trình
Vũ Thành Vân

Tháng 12 – 2021
LỜI MỞ ĐẦU

Thời đại 4.0 mở ra cho con người nhiều tiện ích trong cuộc sống qua các sản phẩm
khoa học công nghệ hiện đại. Với sự phát triển máy tính và mạng Internet, những
công nghệ tưởng chừng như chỉ có ở trong phim viễn tưởng đã ra đời và đóng góp
vào đời sống xã hội. Trí tuệ nhân tạo (AI) cũng bắt đầu xuất hiện nhiều hơn, không
ngừng được thêm vào các ứng dụng phục vụ cuộc sống.
Thay vì phải điều khiển hay nhập liệu qua những nút điều khiển hay bằng bàn phím
thông thường, con người luôn tìm cách để điều khiển máy móc và các ứng dụng
bằng giọng nói. Từ mong muốn đó, công nghệ nhận diện giọng nói đã ra đời. Tuy
không còn mới mẻ, song với sự xuất hiện của các tiến bộ về công nghệ, đặc biệt là
các tiến bộ về AI, Công nghệ nhận diện giọng nói đang đứng trước cơ hội phát triển
mạnh mẽ và vượt bậc, đưa các tiện ích cuộc sống đi tiếp lên một tầm cao mới.
Với niềm yêu thích công nghệ và sự hứng thú với nhận diện giọng nói, chúng tôi đã
chọn Công nghệ nhận diện giọng nói làm chủ đề trong tiểu luận này. Chúng tôi hi
vọng thông qua nó, đưa được cái nhìn tổng quan về Công nghệ nhận diện giọng nói
và Recurrent Neural Network – một trong những công nghệ mới và hiệu quả nhất
trong lĩnh vực Nhận diện giọng nói, cùng với sự phát triển của công nghệ này trong
tương lai. Chúng tôi cũng mong rằng qua quá trình thực hiện tiểu luận này, các
thành viên trong nhóm sẽ tiến bộ, phát triển tư duy của một kĩ sư phát triển công
nghệ sau này.
Cuối cùng, xin cảm ơn PGS.TS. Nguyễn Nam Hoàng đã hướng dẫn, chỉ bảo để
chúng tôi hoàn thiện tiểu luận này. Cảm ơn các thành viên trong nhóm đã làm việc
chăm chỉ, hết mình trong suốt thời gian qua. Trong quá trình làm việc, không tránh
khỏi việc có sai sót, rất mong được sự nhận xét, đóng góp của mọi người để chúng
tôi cải thiện trong các công việc tiếp theo.

Nhóm thực hiện tiểu luận

Nhóm 1 | 2
MỤC LỤC

LỜI MỞ ĐẦU ..................................................................................................................... 2


MỤC LỤC ........................................................................................................................... 3
DANH MỤC HÌNH ẢNH ................................................................................................... 5
DANH MỤC BẢNG BIẺU ................................................................................................. 5
TÓM TẮT............................................................................................................................ 6
MỤC ĐÍCH ......................................................................................................................... 6
Phần 1: TỔNG QUAN VỀ CÔNG NGHỆ NHẬN DIỆN GIỌNG NÓI ............................ 7
1.1 Công nghệ nhận diện giọng nói là gì? ....................................................................... 7
1.2 Lịch sử phát triển của công nghệ nhận diện giọng nói .............................................. 7
1.3 Mô hình vận hành của công nghệ nhận diện giọng nói: ............................................ 9
1.4 Công nghệ nhận diện giọng nói được áp dụng vào ứng dụng nào? .......................... 9
1.5 Sự cần thiết của việc phát triển công nghệ nhận diện giọng nói ............................. 10
Phần 2: CÔNG NGHỆ NHẬN DIỆN GIỌNG NÓI SỬ DỤNG NEURAL NETWORK 11
2.1 Vài nét về Neural Network ...................................................................................... 11
2.2 Nhận diện giọng nói sử dụng Neural Network ........................................................ 11
2.2.1 Xây dựng hệ thống ........................................................................................... 12
2.2.2 Ngôn ngữ lập trình, thư viện luyện tập............................................................. 14
2.2.3 Xây dựng thuật toán ......................................................................................... 14
2.3 Hiệu quả, ưu điểm và hạn chế ................................................................................. 16
2.3.1 Hiệu quả ............................................................................................................ 16
2.3.2 Ưu điểm ............................................................................................................ 18
2.3.3 Hạn chế. ............................................................................................................ 18
Phần 3: TƯƠNG LAI CỦA CÔNG NGHỆ NHẬN DIỆN GIỌNG NÓI ......................... 19
3.1 Khắc phục những hạn chế. ...................................................................................... 19
3.1.1 Cắt bỏ gradient ................................................................................................. 19
3.1.2 Khởi tạo đồng nhất ........................................................................................... 19

Nhóm 1 | 3
3.1.3 LSTM (Long-Short term memory) ................................................................... 20
3.1.4 GRU (Gated Recurrent unit) ............................................................................ 20
3.2 Định hướng phát triển. ............................................................................................. 21
3.2.1 Cá nhân hóa trải nghiệm người dùng. .............................................................. 21
3.2.2 Áp dụng rộng rãi cho nhiều lĩnh vực, đặc biệt là lĩnh vực y tế. ....................... 21
3.2.3 “Con người hóa”. .............................................................................................. 21
3.2.4 Độ chính xác tuyệt đối ...................................................................................... 22
3.3 Công nghệ mới tiềm năng – Spike Neural Networks. ............................................. 22
KẾT LUẬN ....................................................................................................................... 24
TÀI LIỆU THAM KHẢO ................................................................................................. 24

Nhóm 1 | 4
DANH MỤC HÌNH ẢNH

Hình 2.1. Các nút mạng trong Recurrent Neural Network [8] ...................................... 12
Hình 2.2. Cấu trúc Recurrent Neural Network. [9] ....................................................... 13
Hình 2.3. Sơ đồ khối miêu tả đơn giản thuật toán [7] ................................................... 15
Hình 2.4. Biểu đồ so sánh độ chính xác giữa các độ sâu của lớp ẩn [9] ....................... 17
Hình 3.1. Ví dụ về một đơn vị LSTM [16] ................................................................... 20
Hình 3.2. Một ví dụ về đơn vị GRU [17] ...................................................................... 20
Hình 3.3. Khảo sát độ chính xác của các trợ lý ảo năm 2019 [20] ............................... 22
Hình 3.4. Một ví dụ về SNN [21].................................................................................. 23

DANH MỤC BẢNG BIẺU

Bảng 2.1 Độ chính xác cụ thể của từng cụm từ thử nghiệm [9] ................................... 16
Bảng 2.2 Độ chính xác và thời gian phản hồi [9] ......................................................... 17
Bảng 2.3 So sánh độ chính xác của các mô hình nhận diện giọng nói [13] ................. 18

Nhóm 1 | 5
TÓM TẮT
Công nghệ nhận diện giọng nói đã có từ hàng thập kỉ trước, trải qua nhiều thăng
trầm, con người đã tạo ra được nhiều ứng dụng từ nó và phía trước vẫn còn những
tiềm năng tiếp tục cần được khai phá. Hiện tại, nhận diện giọng nói đang có những
bước phát triển vượt bậc nhờ sự ra đời của trí tuệ nhân tạo (AI).
Neural Network, một một phân loại của AI mô tả hệ thống thần kinh con người
đang được coi như công nghệ phù hợp nhất. Trong số các mô hình Neural Network
khác nhau đang được phát triển, Recurrent Neural Network (RNN) được xem là
hiện đại và hiệu quả hơn hẳn, những đặc điểm của nó đem lại những ưu điểm để có
thể áp dụng vào nhận diện giọng nói và được chứng minh trong tiểu luận này thông
qua các số liệu nghiên cứu.
Cuối cùng, tiểu luận này sẽ trình bày những hướng đi giải quyết hạn chế của RNN
đã và đang được nghiên cứu và triển khai, cùng với đó là những hướng đi mới đang
được hoàn thiện để đưa gần hơn công nghệ nhận diện giọng nói vào thực tế cuộc
sống.
MỤC ĐÍCH
- Có cái nhìn tổng quan về công nghệ nhận diện giọng nói, ứng dụng và nhu cầu
phát triển của công nghệ nhận diện giọng nói.
- Biết thêm về lịch sử và quá trình phát triển của nhận diện giọng nói.
- Tìm hiểu cơ sở lý thuyết về Neural Network.
- Tìm hiểu về cách sử dụng Recurrent Neural Network cho công nghệ nhận diện
giọng nói, trả lời câu hỏi tại sao nó lại là công nghệ tiến tiến trong nhận diện
giọng nói, ưu nhược điểm và hướng giải quyết.
- Tìm hiểu về định hướng phát triển tương lai của Công nghệ nhận diện giọng nói
- Cải thiện khả năng làm việc nhóm, kĩ năng soạn thảo văn bản khoa học và khả
năng thuyết trình

Nhóm 1 | 6
Phần 1: TỔNG QUAN VỀ CÔNG NGHỆ NHẬN DIỆN GIỌNG NÓI
1.1 Công nghệ nhận diện giọng nói là gì?
Nhận dạng giọng nói đề cập đến khả năng nhận và giải thích các lệnh bằng giọng
nói của một thiết bị cụ thể. Nói một cách đơn giản, công nghệ nhận dạng giọng nói
có thể tương tác và phản hồi các lệnh của con người. [1]
1.2 Lịch sử phát triển của công nghệ nhận diện giọng nói
Trước đây, việc điều khiển một cỗ máy bằng cách nói chuyện với chúng chỉ là
những câu chuyện trong khoa học viễn tưởng. Nhưng viễn tưởng này đang dần trở
thành hiện thực với sự phát triển vượt bậc về công nghệ, đặc biệt là sự phát triển của
Trí tuệ nhân tạo(AI) và những nền tảng khác để tạo ra một giao diện người dùng
cho phép sử dụng giọng nói để điều khiển các thiết bị công nghệ.
Lịch sử của nhận diện giọng nói bắt đầu vào năm 1877 khi Thomas Edison phát
minh ra máy ghi âm, thiết bị đầu tiên ghi và tái tạo âm thanh.
Mãi cho tới năm 1952 công nghệ nhận diện giọng nói mới có sự phát triển rõ ràng
khi các kỹ sư tại Bell Labs đã phát triển một bộ phận nhận dạng chữ số tự động có
tên Audrey. Audrey cao 6 feet, có nhiều đặc điểm tương tự với tụ điện bao gồm bộ
khuếch đại và bộ lọc. Audrey chỉ có thể nhận ra 10 chữ số được nói bởi một giọng
nói duy nhất. Mặc dù thiết bị có thể nhận ra đầu vào giọng nói với độ chính xác lên
đến 97-99% nhưng do kích thước lớn, chi phí cao và thiết bị điện tử phức tạp nên nó
đã không thể trở thành một sản phẩm thương mại hóa. Tuy nhiên, thiết bị Audrey
này cũng đã đánh dấu sự khởi đầu của công nghệ nhận dạng giọng nói và tiếp tục
cho những nghiên cứu sau đó. Hệ thống Audrey còn được xem là thiết bị nhận dạng
giọng nói đầu tiên.
Năm 1962, máy Shoebox được IBM phát triển, có thể nhận ra 16 từ tiếng anh, 10
chữ số và 6 lệnh số học.
Từ những năm 1971-1976, Bộ Quốc phòng Mỹ đã tài trợ cho chương trình
DARPA SUR (Nghiên cứu hiểu về lời nói), dẫn đến sự phát triển của Harpy tạo ra
bởi Carnegie Mellon có thể hiểu được 1011 từ. [1]
Vào năm 1984, Công nghệ nhận dạng giọng nói thế hệ đầu tiên được
SpeechWorks và Nuance giới thiệu thông qua các hệ thống tổng đài trả lời tự động
(IVR). Những IVR này có thể nhận ra giọng nói của con người qua cuộc gọi và thực
hiện các nhiệm vụ được giao cho chúng. Bất cứ ai có điện thoại đều có thể nhận
được tất cả các thông tin như tìm thời gian chiếu phim địa phương, nghe thông tin

Phần 1: Tổng quan về Công nghệ nhận diện giọng nói | 7


giao thông, báo giá cổ phiếu, đặt chuyến bay máy bay, chuyển tiền giữa các tài
khoản, đặt mua thuốc theo toa,… Mọi thứ chỉ xoay quanh chiếc điện thoại cầm tay
và giọng nói của con người. Các hệ thống IVR đã trở thành xu hướng chủ đạo trong
những năm 2000 và là một phần chính của các dịch vụ chăm sóc và hỗ trợ khách
hàng ngày nay.[1]
Năm 1992, Apple cũng sản xuất hệ thống nhận dạng giọng nói liên tục theo thời
gian thực hiện, có thể nhận ra lên đến 20000 từ.
Năm 2006, Apple đã giới thiệu khái niệm về Siri, cho phép người dùng tương tác
với các sản phẩm của hãng bằng giọng nói. Sau đó, Google đã giới thiệu một nghiên
cứu hỗ trợ giọng nói vào năm 2007. Đến năm 2008, Google gây sốt với việc cung
cấp ứng dụng Google Voice Search dành cho Iphone.
Năm 2010, Google đã giới thiệu hệ thống nhận dạng giọng nói được cá nhân hóa,
các thiết bị Android sẽ ghi lại các truy vấn giọng nói của người dùng khác nhau để
phát triển một mô hình giọng nói nâng cao. Nó bao gồm 230 tỷ từ tiếng anh. [1]
Năm 2011, cuối cùng Siri của Apple đã được triển khai trong Iphone4S, dựa trên
điện toán đám mây.
Năm 2014, Amazon đã giới thiệu Amazon Echo, một loa thông minh tích hợp trợ
lý ảo. Chúng có thể được kết nối với các ứng dụng di động thông qua Alexa. Tương
tự, các đối thủ cạnh tranh với Amazon là 2 ông lớn công nghệ Google và Apple đã
giới thiệu Google Home, Apple Homepod để cải thiện trải nghiệm người dùng khi
họ ở văn phòng, nhà hoặc thậm chí tại trung tâm mua sắm.
Năm 2015, Microsoft đã công bố sự xuất hiện của Cortana cho máy tính để bàn và
thiết bị di động Windows 10 như một phần của việc hợp nhất Windows Phone và hệ
điều hành máy tính của hãng công nghệ này, đánh dấu sự xuất hiện của một ông lớn
mới tham gia vào cuộc đua trong công nghệ nhận diện giọng nói.
Vào tháng 5-2016, Trợ lý Google (Google Assistant) là một trợ lý cá nhân ảo được
phát triển bởi Google cho thiết bị di động và nhà thông minh, được ra mắt lần đầu
tại hội nghị nhà phát triển của hãng. Không như Google Now, Trợ lý Google có thể
tham gia các cuộc trò chuyện hai chiều. Trợ lý Google được đưa vào ứng dụng nhắn
tin Google Allo, và loa thông minh Google Home.
Năm 2017, Google Assistant đã và đang được tiếp tục mở rộng hỗ trợ cho một
lượng lớn thiết bị, bao gồm cả xe hơi và các thiết bị nhà thông minh. Các chức năng
của Assistant cũng có thể được bổ sung bởi các nhà phát triển bên thứ 3. [1] [2]

Phần 1: Tổng quan về Công nghệ nhận diện giọng nói | 8


1.3 Mô hình vận hành của công nghệ nhận diện giọng nói:

Tín hiệu-> Tín hiệu được mã hóa(dạng số)->Xử lý và nhận dạng-->Đầu ra


Có hai phương thức phổ biến như sau:
-Điện toán đám mây: Cách thức này hoạt động bằng cách nhận dạng, xử lý ngôn
ngữ trên máy chủ của các công ty cung cấp dịch vụ (google, facebook, zalo,…)
thông qua kết nối internet. Phương thức này hoạt động hiệu quả, chính xác cao
nhưng nhìn chung là tương đối chậm và lúc nào người dùng cũng phải có internet.
-Tích hợp app: Quá trình này được hoạt động trong chính nội bộ ứng dụng. Nhờ vậy
mà tốc độ xử lý sẽ nhanh chóng hơn. Người sử dụng không cần phải dùng đến
internet cũng có thể sử dụng công nghệ nhận dạng và giả lập giọng nói trong app.
Tuy nhiên, người dùng cần phải luôn cập nhật ứng dụng của mình. [1]
1.4 Công nghệ nhận diện giọng nói được áp dụng vào ứng dụng nào?
Tốc độ là điều đầu tiên người ta nhắc đến khi được đề cập đến câu hỏi này. Thay vì
phải ngồi nhập tay email, soạn văn bản, đặt lịch hẹn,.... trên điện thoại hoặc máy
tính gây tốn thời gian, thậm chí sai sót. Giờ đây chúng ta có thể sử dụng giọng nói
như một phương thức để nhập liệu. Nó nhanh chóng, đơn giản, thuận tiện và vô
cùng dễ dàng. [2]
Không chỉ dừng lại ở việc nhập liệu, nhận dạng giọng nói còn được ứng dụng như
một hệ thống điều khiển trong hệ sinh thái SMARTHOME. Nhận diện giọng nói
còn được sử dụng rất nhiều trong lĩnh vực trí tuệ nhân tạo(Artificial Intelligence).
Siri, Google Assistant hay Amazon Alexa là những ví dụ điển hình. [1]
Ngoài ra công nghệ nhận dạng giọng nói cũng được đánh giá là một sản phẩm tuyệt
vời dành cho người khiếm thị. Những người khiếm thị có thể tận hưởng những tiến
bộ công nghệ tương tự như những gì mà một người bình thường có thể làm, không
còn khoảng cách xuất hiện do nhưng khiếm khuyết về giác quan. [1]

Phần 1: Tổng quan về Công nghệ nhận diện giọng nói | 9


1.5 Sự cần thiết của việc phát triển công nghệ nhận diện giọng nói
Công nghệ luôn luôn phát triển, kéo theo đó là các nhu cầu sử dụng của người dùng
cũng tăng theo. Các công cụ nhận diện giọng nói hiện tại đã đạt được những thành
tựu nhất định, nhưng vẫn còn nhiều mặt hạn chế. Nó đặt ra những yêu cầu cho các
nhà phát triển công nghệ nhận diện giọng nói về việc cải thiện hiệu suất và độ chinh
xác cho công nghệ của mình.
Các hệ thống nhà thông minh, các trợ lý ảo hay các robot sử dụng trí tuệ nhân tạo
cũng ngày càng gia tăng về mặt số lượng, cũng như chất lượng. Do đó, các công
nghệ nhận diện giọng nói cũng cần phát triển theo, phục vụ nhu cầu cải tiến cho các
hệ thống thông minh đó.

Phần 1: Tổng quan về Công nghệ nhận diện giọng nói | 10


Phần 2: CÔNG NGHỆ NHẬN DIỆN GIỌNG NÓI
SỬ DỤNG NEURAL NETWORK
Với sự xuất hiện của trí tuệ nhân tạo (AI) nhiều công nghệ trong các lĩnh vực khác
nhau đã tìm thấy hướng đi mới, tạo ra những bước phát triển vượt bậc. Không nằm
ngoài xu thế đó, công nghệ nhận diện giọng nói cũng đang có những phát triển lớn
nhờ một nhánh của AI là Neural Network. Neural Network được giới thiệu như là
một công cụ đắc lực giải quyết những vấn đề nổi bật của nhận diện giọng nói bằng
việc phân biệt các định dạng và sắp đặt theo từng loại. [3]
2.1 Vài nét về Neural Network
Neural Network là một hệ thống hoạt động dựa trên việc mô phỏng hệ thần kinh của
con người. Neural Network bao gồm một mạng lưới các nút mà chúng được đặt
trong một địa chỉ đặc biệt dùng chung, mỗi nút lại được coi là một đơn vị địa chỉ cơ
bản. Chúng có thể hoạt động song song với nhau nhờ sự tương tác lẫn nhau và sự
liên quan của chúng với các nghiên cứu khoa học, bao gồm:
- Mô hình Toán học biểu diễn cấu trúc hệ thống xử lý thông tin Sinh học với các
phần tử tương đối đơn giản.
- Các lớp thực thể của các thuật toán đơn giản được xây dựng dưới dạng biểu đồ.
[4]
Ý tưởng về Neural Network được đưa ra bởi nhà thần kinh học Warren McCulloch
và nhà toán học Walter Pitts năm 1943. Để miêu tả cách hoạt động của chúng, họ đã
tạo ra một mô hình đơn giản của Neural Network bằng các mạch điện tử. [5] Kể từ
đó, rất nhiều nhà khoa học đã bắt tay vào việc nghiên cứu công nghệ này, tạo ra rất
nhiều thành tựu đáng kể. Cho tới ngày nay, Neural Network đã trở thành một công
nghệ hiện đại, được áp dụng rất nhiều vào các ứng dụng trong trí tuệ nhân tạo.
Tính năng nổi bật của Neural Network là sự phân loại và mã hóa, qua đó gia tăng
khả năng chống ồn, linh hoạt trong khả năng nhận diện dữ liệu bị bóp méo, gia tăng
khả năng làm việc song song của hệ thống dữ liệu, có khả năng dự đoán phân loại
tiếng ồn qua hệ thống các phép toán tuyến tính [3]. Vì vậy, Neural Network được
xem là phương pháp phù hợp cho nhận diện giọng nói.
2.2 Nhận diện giọng nói sử dụng Neural Network
Trong mô hình của nhận diện giọng nói, có nhiều quá trình khác nhau phải trải qua
trước khi trả về được kết quả chính xác. Tuy nhiên vai trò của quá trình xử lý và
phân loại tín hiệu tới việc nhận được kết quả chính xác là quan trọng nhất. Do đó,
trong tiểu luận này sẽ trình bày giải pháp cho vấn đề xử lý và phân loại tín hiệu sử
dụng Neural Network.
Giải pháp này được thực hiện bởi việc đánh giá và tạo ra một loạt các dự đoán tín
hiệu. Nếu một dự đoán xa khỏi giá trị trung bình với một giá trị nhất định nào đó, nó

Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 11
bị loại bỏ và các giá trị trung bình được tính toán lại. Điều này lặp đi lặp lại cho tới
khi tìm được một giá trị duy nhất gần với giá trị của dữ liệu nhập vào nhất. [3]
Tiểu luận này sẽ trình bày hướng đi sử dụng Recurrent Neutral Network, một dạng
nhỏ của Neural Network, kết nối các nút trong hệ thống bằng một dạng biểu đồ định
hướng theo thời gian. Điều này giúp nó có thể tạo ra một trạng thái nội bộ của hệ
thống mạng cho phép hiển thị sự đánh giá theo thời gian [6]
Recurrent Neutral Network được coi là biện pháp hiện đại và hiệu quả nhất của
công nghệ nhận diện giọng nói. [7]
2.2.1 Xây dựng hệ thống
Cách thực hiện cho Recurrent Neural Network có thể biểu diễn như sau:

Hình 2.1. Các nút mạng trong Recurrent Neural Network [8]
Có N nút đầu vào được ký hiệu x1, x2,..,xn, tóm gọn trong các trọng số w1,w2,..,wn.
Đầu tiên, các thông tin được gửi từ lớp dữ liệu đầu vào tới một lớp ẩn:
h1 = (x1  w1 ) + (x2  w4 ), h2 = (x1  w2) + (x2  w3)
Với h là lớp ẩn.
Sau đó thông tin tiếp tục được truyền tới lớp gián đoạn thời gian hoặc lớp dữ liệu
đầu ra:
c1 = h1; c2 = h2
y1 = (h1  w5) + (h2  w6).
Tiếp theo, các dữ liệu được ghi vào lớp gián đoạn thời gian, các tín hiệu sẽ được
chạy lại một lần nữa và chỉ các tín hiệu từ lớp gián đoạn thời gian được thêm vào:
h1 = (x1 . w1) + (x2 . w4)+(c . c1 – w1) + (c . c2 - w3)

Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 12
h2 = (x1 . w2) + (x2 . w3)+(c . c1 – w2) + (c . c2 – w4)
Dữ liệu nhận được lại một lần nữa được gửi tới lớp gián đoạn thời gian và lớp dữ
liệu đầu ra.
c1 = h1; c2 = h2
y1 = (h1  w5) + (h2  w6).
Nút dữ liệu chứa trọng số được nhân với dữ liệu nhận được, tạo ra sự thay đổi trong
giá trị phản hồi. [7]
Các giá trị phản hồi này sau đó được chuyển tới chức năng kích hoạt, chuyển đổi
thành văn bản hoặc lệnh kích hoạt cho hệ thống.
Khi sử dụng làm lệnh kích hoạt hệ thống, có thể sử dụng hàm số ngưỡng (threshold
function,THF) hoặc sigmodal (bao gồm tiếp tuyến hyperbol và hàm logistic) [7]
THF được sử dụng khi nhận được một giá trị kết quả tổng quát và một số ngưỡng
nhất định và cần thiết phải so sánh chúng. Nếu kết quả tổng quát lớn hơn ngưỡng
chúng sẽ trả về 1, ngược lại trả về 0. [7]
Hàm tiếp tuyến hyperbol trả lại kết quả về trong khoảng (-1;1), với công thức: [8]
exp(out) − exp(−out) / exp(out) + exp(−out);
Hàm logistic trả kết quả về giá trị trong khoảng (0;1) với công thức: [8]
1 /(1 + exp(−out)).
Trong đó, exp là hàm số mũ cơ số tự nhiên.
Không giống như các mạng Neural Network khác, Recurrent Neural Network sử
dụng bộ nhớ ngắn hạn của nó để xử lý tùy ý trình tự dữ liệu đầu vào [7]. Recurrent
Neural Network bao hàm các vòng lặp trong nó. Miêu tả về một cấu trúc vòng lặp
có thể biểu diễn theo hình sau đây:

Hình 2.2. Cấu trúc Recurrent Neural Network. [9]

Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 13
Một hệ thống Recurrent Neural Network có thể được hiểu như nhiều bản sao của
một mạng, các mạng truyền dữ liệu cho mạng tiếp sau. Recurrent Neural Network
có thể truy xuất ngược các giá trị cũ, có giá trị lớn trong nhận diện giọng nói [9].
Các vòng lặp sau sử 1 trong N các giá trị nhập vào trước đó bằng cách sử dụng chức
năng kích hoạt sigmoidal. Lớp đầu ra y(t) sẽ có giá trị thứ nguyên chung với trọng
số w(t). Quá trình học sẽ diễn ra qua các thuật toán gradient [7].
2.2.2 Ngôn ngữ lập trình, thư viện luyện tập
Trong các ngôn ngữ lập trình bậc cao, Python là ngôn ngữ lập trình hướng đối
tượng với kiểu dữ liệu ổn định trong chương trình, nhưng không cần một nhãn cho
việc khai báo biến (hay được gọi là Strong Dynamic Typing).
Trong nhận diện giọng nói, Python được đánh giá là ngôn ngữ lập trình phù hợp
nhất bởi nó có các ưu điểm như sau:
- Thuận tiện cho việc giải quyết các bài toán
- Cú pháp dơn giản
- Có nhiều các thư viện của bên thứ ba
- Mã nguồn mở [9] [10]
Khi xây dựng một hệ thống nhận diện giọng nói, yêu cầu đặt ra cho hệ thống mạng
Neural Network là phải xử lý phân loại ở giai đoạn đầu. Để làm được điều đó ta cần
một thư viện đào tạo cho mạng đủ lớn để hệ thống tạo ra kết quả có độ chính xác
cao.
Để giải quyết vấn đề đó, thư viện TIMIT được sử dụng để phân loại tín hiệu giọng
nói trong giai đoạn đầu. Thư viện này được phát triển để cung cấp dữ liệu giọng nói
để thu nhận ngữ điệu và phát triển một hệ thống nhận diện giọng nói tự động. [11]
[7].
Các âm vị sẽ được số hóa về ngưỡng tín hiệu 20kHz, sàng lọc qua một điều chỉnh
10kHz và được đưa về 16kHz. Mỗi âm vị này sẽ mang một nhãn, qua đó đại diện
cho mức độ thông tin trung gian giữa âm vị và tín hiệu âm thanh. Chúng sẽ là các
mẫu ngôn ngữ cho hệ thống mạng học tập và nhận diện giọng nói. Chúng được gọi
chung là Mô hình ngôn ngữ Recurent Neural Network (Khung RNNLM, Recurent
Neural Network Language Model) [7]
2.2.3 Xây dựng thuật toán
Một hàm đánh giá mức độ phù hợp của dự đoán có thể được hình thành như sau:

1. Trọng số được đặt trên vector, gọi là vector trọng số


2. Đánh giá dự đoán bằng quá trình đã đào tạo
Thông thường, tổng bình phương của sự khác biệt giữa giá trị dự đoán và giá trị
mục tiêu trong đào tạo được dùng để biểu thị, đánh giá lỗi hay sai khác của dự
đoán trên vector trọng số

Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 14
3. Để tối ưu hóa hàm đánh giá trên, có thể sử dụng thuật toán tối ưu hóa toàn cầu tùy
ý (Arbitrary Methods of Global Optimization) [7]
Một thuật toán hoàn chỉnh có thể được xây dựng từ sơ đồ khối trong hình 2 dưới
đây:

Hình 2.3. Sơ đồ khối miêu tả đơn giản thuật toán [7]

Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 15
2.3 Hiệu quả, ưu điểm và hạn chế
2.3.1 Hiệu quả
Để chứng minh tính hiệu quả và chính xác của Recurrent Neural Network, trong
tiểu luận này dẫn nguồn kết quả khảo sát của Edward James và cộng sự.
Trong khảo sát này, James và cộng sự đã thay đổi độ sâu của lớp ẩn, đánh giá độ
chính xác và thời gian phản hồi của một mạng Recurent Neural Network, các độ sâu
được chọn lần lượt là 20, 42 và 60. Bộ thử bao gồm 20 câu với 81 từ, Có 20 đơn vị
đầu ra dựa trên các lớp nhãn. Sự truyền ngược được sử dụng để tính toán các trọng
số gradient và các trọng số được cập nhật bằng cách giảm thiểu hàm chi phí (cost
function).
Độ chính xác được tính bằng cách lấy giá trị trung bình sau 10 lần thử với 1 câu. Độ
chính xác tổng thể của mỗi hệ thống cũng được tính bằng cách lấy trung bình độ
chính xác của tất cả các câu. [9] Kết quả độ chính xác cụ thể của từng cụm từ được
chỉ ra ở bảng 1 và biểu đồ của hình 4.

Bảng 2.1 Độ chính xác cụ thể của từng cụm từ thử nghiệm [9]
Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 16
Hình 2.4. Biểu đồ so sánh độ chính xác giữa các độ sâu của lớp ẩn [9]
Thời gian phản hồi và độ chính xác trung bình của các độ sâu khác nhau được chỉ ra
trong bảng dưới đây:
Thông số Độ sâu 20 Độ sâu 42 Độ sâu 60
Thời gian
13,41 17.13 22.38
phản hổi (s)
Độ chính
83,5 89 86,5
xác(%)
Bảng 2.2 Độ chính xác và thời gian phản hồi [9]
Từ bảng trên nhận thấy thời gian phản hồi trong quá trình đào tạo tăng lên theo độ
sâu của lớp ẩn, tuy nhiên độ chính xác sẽ chỉ tăng lên tới một ngưỡng nhất định rồi
giảm xuống. Hiện tượng này bị gây ra bởi hiện tượng quá khớp (overfitting).
Việc tăng số lượng lớp ẩn có thể làm hiệu suất tăng nhưng sẽ làm thời gian phản hồi
tăng, điều này được giải quyết bằng các thiết bị phần cứng chuyên dụng. [9]
So sánh với các phương pháp khác, Recurent Neural Network cũng thể hiện vượt
trội hơn, bảng sau thể hiện so sánh giữa Recurrent Neural Network và các phương
pháp khác:

Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 17
STT Mô hình áp dụng Độ chính xác(%)
1 Hidden Markov Model 77,35
2 Gaussian Mixture Model 78,3
3 Deep Neural Network 79,5
4 Subspace Gaussian Mixture Model 72,3
5 Support Vector Machine 73
6 Recurrent Neural Network 89
Bảng 2.3 So sánh độ chính xác của các mô hình nhận diện giọng nói [13]
Từ các số liệu trên có thể thấy, Recurrent Neural Network có độ chính xác cao hơn
các mô hình nhận diện giọng nói khác.
2.3.2 Ưu điểm
Con người hiểu giọng nói dựa trên ngữ cảnh, suy nghĩ của nhân loại có tính liền
mạch và liên tục, do đó các công nghệ nhận diện giọng nói cần có hướng để xử lý
và nhận diện giọng nói trong các ngữ cảnh cụ thể. Các hệ thống Neural Network
khác hay các hệ thống nhận diện giọng nói khác đều không thể giải quyết được vấn
đề trên. Với Recurrent Neural Network, việc tạo ra các vòng lặp thông tin cho
chúng khả năng của một bộ nhớ ngắn hạn và là công cụ hữu hiệu để giải quyết được
vấn đề đã được nêu ra. [9] Mô tả cấu trúc của vòng lặp trong Recurrent Neural
Network đã được đề cập ở phần 2.2.1.
2.3.3 Hạn chế.
Trong quá trình hoạt động, các hàm giá trị được sử dụng để tính toán đôi khi sẽ gây
ra hiện tượng triệt tiêu hoặc gia tăng đột biến gradient. Điều này xảy ra khi phương
sai đầu vào và đầu ra chênh lệch rất lớn. Điều này dẫn đến giá trị nhận được bị sai
lệch hoặc tạo ra các giá trị tràn khỏi bộ nhớ hay giá trị rác. Một vài hướng xử lý vấn
đề này được đưa ra là khởi tạo trọng lượng phù hợp, sử dụng chức năng kích hoạt
không bão hòa hay đơn vị tuyến tính chỉnh sửa (ReLU).
Giống như các mạng Neural Network khác, Recurrent Nerral Network đòi hòi một
quá trình phức tạp và một quãng thời gian dài cho giai đoạn học tập. Recurrent
Neural Network cũng sẽ không thể xử lý được một chỗi quá dài nếu sử dụng hàm
tanh, hay ReLU. [14]

Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 18
Phần 3: TƯƠNG LAI CỦA CÔNG NGHỆ NHẬN DIỆN GIỌNG NÓI
Để công nghệ nhận diện giọng nói tồn tại và tiếp tục phát triển mạnh mẽ trong
tương lai, đòi hỏi các nhà khoa học phải giải quyết những hạn chế còn tồn đọng và
vạch ra những hướng đi mới cho công nghệ này.
3.1 Khắc phục những hạn chế.
Như đã đề cập đến ở phần 2, hiện tại RNN đang có những hạn chế mà chúng ta sẽ
đề cập đến cách xử lí nó sau đây.
Gradient (độ dốc) rất giống với khái niệm đạo hàm mà chúng ta đã từng học, khác
ở chỗ đạo hàm là giá trị vô hướng còn gradient là 1 vector, và chúng đều cùng
dùng để biểu diễn tốc dộ thay đổi của hàm. Gradient góp phần dùng để tối ưu các
trọng số trong neural network.
Có 2 phương pháp cơ bản để hạn chế vấn đề triệt tiêu gradient và gia tăng đột biến
gradient:
3.1.1 Cắt bỏ gradient
Gradient Clipping là một phương pháp mà đạo hàm lỗi được thay đổi hoặc cắt đến 1
ngưỡng nào đó trong quá trình lan truyền ngược trở lại qua mạng và sử dụng các
gradient bị cắt để cập nhật trọng số. Bằng cách tính toán lại đạo hàm lỗi, những cập
nhật cho trọng số cũng sẽ được mã hóa lại, làm giảm đáng kể khả năng mất mát
hoặc bùng nổ gradient [14]
3.1.2 Khởi tạo đồng nhất
Nhìn chung, các hàm lặp có thể có những xu hướng phức tạp. Nhưng có một hàm
đặc biệt mà bạn có thể lặp lại bao nhiêu lần tùy thích: hàm đồng nhất f(x) = x. Nếu
mạng của bạn tính toán hàm đồng nhất, tính toán gradient sẽ hoàn toàn ổn định.
Hàm đồng nhất có thể giữ mọi thứ ổn định bằng cách giữ các tính toán ở gần nó.
Kiến trúc RNN đồng nhất là một loại RNN trong đó các phương trình kích hoạt đều
là ReLU và trọng số truy hồi được khởi tạo thành ma trận đơn vị. [14]
Ngoài ra, người ta còn sử dụng 1 mô hình khác của RNN là LSTM và biến thể của
nó là GRU để giải quyết vấn đề gradient, đồng thời tùy vào yêu cầu công việc
chúng còn có thể rút ngắn thời gian học tập hoặc tăng số chuỗi mà neural network
có thể xử lí [14]

Phần 3: Tương lai của công nghệ nhận diện giọng nói | 19
3.1.3 LSTM (Long-Short term memory)
Giống với tên gọi, ngoài bộ nhớ ngắn hạn ra, LSTM cung cấp cho người dùng 1 bộ
nhớ dài hạn, thứ mà RNN truyền thống không có. Điều này giúp lưu trữ nhiều thông
tin hơn trong quá tình làm việc, xử lí được nhiều chuỗi dữ liệu hơn, tăng khả năng
truy xuất và góp phần cải thiện độ chính xác. Tuy nhiên thời gian học tập và xử lí lí
lâu [15]

Hình 3.1. Ví dụ về một đơn vị LSTM [16]


3.1.4 GRU (Gated Recurrent unit)
Là 1 biến thể của LSTM, GRU có cấu trúc có phần đơn giản hơn, sử dụng ít tham
số huấn luyện hơn, nhờ đó mà tốc độ xử lí nhanh hơn và tốn ít thời gian học tập
hơn.Tuy nhiên, GRU không thể xử lí chuỗi thông tin quá dài và độ chính xác không
cao như LSTM. [15]

Hình 3.2. Một ví dụ về đơn vị GRU [17]

Phần 3: Tương lai của công nghệ nhận diện giọng nói | 20
3.2 Định hướng phát triển.
3.2.1 Cá nhân hóa trải nghiệm người dùng.
Ví dụ hiện nay, Google Home có thể hỗ trợ tối đa sáu tài khoản người dùng và phát
hiện giọng nói riêng biệt, cho phép người dùng Google Home tùy chỉnh nhiều tính
năng. Người dùng có thể hỏi "Có gì trên lịch của tôi hôm nay?" hoặc "cho tôi biết
về ngày của tôi?" và trợ lý sẽ cho bạn biết thời gian đi làm, thời tiết và thông tin cho
từng người dùng riêng biệt. Nó cũng bao gồm các tính năng như biệt danh, địa điểm
làm việc, thông tin thanh toán và các tài khoản được liên kết như Google Play,
Spotify và Netflix. Tương tự, đối với những người sử dụng Alexa, chỉ cần nói "học
giọng nói của tôi" sẽ cho phép người dùng tạo cấu hình giọng nói riêng biệt để công
nghệ có thể phát hiện ai đang và phục vụ chính xác người đó. Trong tương lai, trợ lý
ảo sẽ tiếp tục cung cấp nhiều trải nghiệm cá nhân hơn khi chúng trở nên tốt hơn
trong việc phân biệt các giọng nói [16]
3.2.2 Áp dụng rộng rãi cho nhiều lĩnh vực, đặc biệt là lĩnh vực y tế.
Trong những năm qua, đại dịch Covid 19 chính là thứ thúc đẩy công nghệ nhận diện
giọng nói phát triển hơn bao giờ hết, vì sự giao tiếp không tiếp xúc là vô cùng cần
thiết. Ví dụ như: Chatbot đã giúp sàng lọc và phân loại bệnh nhân, và Siri của Apple
hiện đang hướng dẫn người dùng thông qua các câu hỏi đánh giá COVID-19 của
CDC và sau đó đề xuất các ứng dụng telehealth. AI bằng giọng nói và đàm thoại đã
làm cho các dịch vụ y tế dễ tiếp cận hơn với tất cả những người không thể rời khỏi
nhà trong COVID-19. Với việc đã chứng minh được những công dụng to lớn của
mình cùng với diễn biến phức tạp của dịch bệnh như hiện nay, chắc chắn công nghệ
nhận diện giọng nói sẽ còn được nhân rộng. Bên cạnh đó, cũng đã có những dự án
phát triển công nghệ nhận diện giọng nói cho robot, xe tự lái, etc. [17]
3.2.3 “Con người hóa”.
Một trong những khác biệt chính giữa công nghệ nhận diện giọng nói và cách trò
chuyện của con người là việc thích nghi với ngữ cảnh. Con người dựa vào rất nhiều
bối cảnh khi nói chuyện với nhau. Bối cảnh này bao gồm chủ đề của cuộc trò
chuyện, những gì đã được nói trong quá khứ, tiếng ồn và biểu cảm. Chúng ta sẽ sớm
đạt được, tỷ lệ lỗi Bayes để nhận dạng giọng nói trong các phát ngôn ngắn (tức là
dài dưới mười giây) được đưa ra khỏi ngữ cảnh. Để tiếp tục cải thiện sự hiểu biết
của máy móc về lời nói của con người sẽ đòi hỏi phải tận dụng bối cảnh như một
phần sâu sắc hơn của quá trình nhận dạng. [16]

Phần 3: Tương lai của công nghệ nhận diện giọng nói | 21
3.2.4 Độ chính xác tuyệt đối
Qua từng năm, tỉ lệ nhận diện và phản hồi từ ngữ chính xác của những trợ lý ảo là
minh chứng rõ rệt cho sự cải thiện của công nghệ nhận diện giọng nói.

Hình 3.3. Khảo sát độ chính xác của các trợ lý ảo năm 2019 [20]
Và mục tiêu của các nhà khoa học là sẽ làm ra một hệ thống nhận diện giọng nói
không 1 lỗi trong tương lai.
3.3 Công nghệ mới tiềm năng – Spike Neural Networks.
Hiện nay, hầu hết các thiết bị có sử dụng công nghệ nhận diện giọng nói đều dựa
vào các công cụ điện toán đám mây. Việc xứ lí giọng nói trực tuyến mang lại rất
nhiều quan ngại về độ bảo mật cũng như tốc độ xử lí với lượng dữ liệu đầu vào lớn.
Để đối phó với những nguy cơ trên, đã có rất nhiều nỗ lực để phát triển hệ thống
nhận diện giọng nói tích hợp trên thiết bị sử dụng chính những nguồn tài nguyên
trên thiết bị đó để xử lí tín hiệu giọng nói. Và trong vài năm trở lại đây, một mẫu
Neural Network lấy cảm hứng từ não bộ của con người đã thu hút rất nhiều sự quan
tâm, đó chính là Spike Neural Networks (SNN)
Spike Neural Networks được coi như là mạng lưới nơ ron nhân tạo thế hệ thứ 3 và
là mạng thần kinh nhân tạo có cơ chế xử lí giống hệ thống dây thần kinh tự nhiên
nhất.

Phần 3: Tương lai của công nghệ nhận diện giọng nói | 22
Hình 3.4. Một ví dụ về SNN [21]
Không như Artificial Neural Networks (ANN), quá trình xử lý thông tin đồng bộ và
theo sự kiện của SNN giống như mô hình tính toán được quan sát thấy trong não
người, theo đó mức tiêu thụ năng lượng phù hợp với mức độ kích thích. Nhờ đó,
ứng với mỗi dạng thông tin khác nhau mà việc tính toán theo sự kiện của SNN cho
ra hiệu suất xử lí cao hơn so với ANN.
SNN rất phù hợp để đại diện và xử lý các tín hiệu không-thời gian, do đó chúng có
tiềm năng tuyệt vời cho các nhiệm vụ nhận dạng giọng nói.
SNN hồi quy (Recurrent network of spiking neurons) thể hiện 1 dung lượng bộ nhớ
lớn hơn so với các mẫu neural network khác, nhờ đó chúng có thể nắm bắt được
những thông tin thời gian dài hữu ích cho các việc nhận dạng lời nói. [21]

Phần 3: Tương lai của công nghệ nhận diện giọng nói | 23
KẾT LUẬN
- Công nghệ nhận diện giọng nói là công nghệ có lịch sử phát triển lâu đời, có tiềm
năng và nhu cầu phát triển lớn trong cuộc sống hiện đại
- Recurent neural network trong nhận diện giọng nói là mô hình công nghệ tiên tiến,
hiện đại, có độ chinh xác cao và có những ưu điểm so với các mô hình khác
- Các vấn đề tồn tại của recurent neural network đã và đang được nghiên cứu và tìm
ra hướng giải quyết
- Định hướng nghiên cứu công nghệ nhận diện giọng nói của tương lai là nhằm mục
tiêu đạt được độ chính xác tuyệt đối, cũng như phục vụ nhiều hơn vào cuộc sống
- Một công nghệ có tiềm năng cho việc nâng cao tinh hiệu quả và chinh xác của
nhận diện giọng nói đang được nghiên cứu và phát triển là spike neural network.
TÀI LIỆU THAM KHẢO
[1] “Sonix,” Sonix, Inc. , [Trực tuyến]. Available: https://sonix.ai/history-of-
speech-recognition.

[2] Fang Chen, Kristiina Jokinen, Speech Tenology - Theory and


Applications, Springer, 2020.

[3] Kalid Al Smadi, Huthaifa Al Issa, Issam Trrad, Prof-Takialddin Al


Smadi, “Artificial Intelligence for Speech Recognition Based on Neural
Networks,” Signal and Information Processing, tập 06, số 02, pp. 66-72,
2015.

[4] Choudhary, A. and Kshirsagar, R., “Process Speech Recognition System


Using Artificial Intelligence Technique.,” International Journal of Soft
Computing and Engineering, 2012.

[5] Sophomore Collegue, Standford University, “Neural Network - History,”


2010. [Trực tuyến]. Available:
https://cs.stanford.edu/people/eroberts/courses/soco/projects/neural-
networks/History/history1.html.

[6] Ahmad, M. A., Baker, J. H., Tvoroshenko, I., Lyashenko, V.,


“Computational complexity of the accessory function setting mechanism
in fuzzy intellectual systems,” International Journal of Advanced Trends
in Computer Science and Engineering, tập 8, số 5, pp. 2370-2377, 2019.

[7] Vyacheslav Lyashenko, Farah Laariedh, Svitlana Sotnik, M. Ayaz

Nhóm 1 | 24
Ahmad, “Recognition of Voice Commands Based on Neural Network,”
TEM Journal, 2021.

[8] Beck, M. W., “NeuralNetTools: Visualization and Analysis Tools for


Neural Networks,” Journal of Statistical Software, pp. 1-20, 2018.

[9] Praveen Edward James, Mun Hou Kit, Chockalingam Aravind


Vaithilingam, Alan Tan Wee Chiat, “Recurrent neural network-based
speech recognition using MATLAB,” Int. J. Intelligent Enterprise, tập 7,
số 1/2/3, 2020.

[10] Sewak, M., Karim, M. R., & Pujari, P., Practical convolutional neural
networks: implement advanced deep learning models using Python, Packt
Publishing, 2018.

[11] F. Millstein, “Natural language processing with python: natural language


processing using NLTK”.

[12] Glackin, C., Wall, J., Chollet, G., Dugan, N., &Cannings, N., “TIMIT and
NTIMIT Phone Recognition Using Convolutional Neural Networks.,”
trong International Conference on Pattern Recognition Applications and
Methods, 2018.

[13] Hinton, G., Deng, L., Yu, D., Dahl, G.E., Mohamed, A-R., Jaitly, N. and
Kingsbury, B. , “Deep neural networks for acoustic modeling in speech
recognition: the shared views of four research groups,” IEEE
International Conference in Acoustics, Speech and Signal Processing
(ICASSP), 2019.

[14] Roger Gross, “Lecture 15: Exploding and Vanishing Gradients”.

[15] Roberto Cahuantzi, Xinye Chen, Stefan Güttel , “A comparison of LSTM


and GRU networks for learning symbolic sequences,” 2021.

[16] “Analyticsvidhya,” [Trực tuyến]. Available: ]


https://www.analyticsvidhya.com/blog/2021/03/introduction-to-long-
short-term-memory-lstm/.

[17] G. Loye, “Floyhub,” [Trực tuyến]. Available:


https://blog.floydhub.com/gru-with-pytorch/.

Nhóm 1 | 25
[18] Awni Hannun, “The History of Speech Recognition to the Year 2030,”
2021.

[19] Clearbridge mobile, “7 Key Predictions for the Future Of Voice


Assistants and AI,” 2021. [Trực tuyến]. Available:
https://clearbridgemobile.com/7-key-predictions-for-the-future-of-voice-
assistants-and-ai/.

[20] [Trực tuyến]. Available:


https://www.statista.com/statistics/1040539/digital-assistant-performance-
comparison/.

[21] Jibin Wu, Emre Yılmaz, Malu Zhang, Haizhou Li, Kay Chen Tan, “Deep
Spiking Neural Networks for Large Vocabulary Automatic Speech
Recognition,” Frontiers online, 2021.

Nhóm 1 | 26
Tiểu luận

Công nghệ nhận diện giọng nói


Sử dụng Neural Network

Nhóm 1
• Nguyễn Quy Thành An
• Nguyễn Duy Hùng
• Phạm Tường Minh
• Trần Đăng Minh Tâm
• Nguyễn Công Trình
• Vũ Thành Vân
Tổng quan
01 03

Giới thiệu Nhận diện giọng nói sử dụng


Neural Network

02 04
Tổng quan về công nghệ Tương lai của công nghệ nhận
nhận diện giọng nói diện giọng nói
Giới thiệu
01 | về tiểu luận
Giới thiệu
về tiểu luận

Mục đích
- Đưa ra cái nhìn tổng quan về công nghệ nhận diện giọng nói, ứng dụng và nhu cầu
phát triển của công nghệ nhận diện giọng nói.
- Biết thêm về lịch sử và quá trình phát triển của nhận diện giọng nói.
- Tìm hiểu cơ sở lý thuyết về Neural Network.
- Tìm hiểu về cách sử dụng Recurrent Neural Network cho công nghệ nhận diện
giọng nói, trả lời câu hỏi tại sao nó lại là công nghệ tiến tiến trong nhận diện giọng
nói, ưu nhược điểm và hướng giải quyết.
- Tìm hiểu về định hướng phát triển tương lai của Công nghệ nhận diện giọng nói
- Cải thiện khả năng làm việc nhóm, kĩ năng soạn thảo văn bản khoa học và khả
năng thuyết trình
Tổng quan về công nghệ
02 | nhận diện giọng nói
Tổng quan về công nghệ
nhận diện giọng nói

Công nghệ nhận diện giọng nói là gì?

Nhận dạng giọng nói đề cập đến khả năng nhận và giải
thích các lệnh bằng giọng nói của một thiết bị cụ thể.
Nói một cách đơn giản, công nghệ nhận dạng giọng nói
có thể tương tác và phản hồi các lệnh của con người
Lịch sử phát triển của công nghệ nhận
diện giọng nói

1877 1952 1984 2006,2007 201x


Khởi nguồn Chiếc máy đầu Công nghệ nhận Các gã khổng Các trợ lý ảo
của nhận diện tiên có thể nhận diên giọng nói thế lồ̀̀̀ công nghệ liên tục ra đời
giọng nói: diện giọng nói ra hệ đầu tiên được giới thiệu trợ Lần lượt Apple,
Thomas Edison đời giới thiệu lý giọng nói Google, Microsoft
chế tạo máy Chiếc máy có tên cho thiết bị di và Amazon đã
ghi âm Audrey có thể nhận Hệ thống tổng đài trả phát triển và cho
động
diện được 10 chữ số lời tự động (IVR), nhận ra mắt các trợ lý
Thiết bị đầu tiên Siri của Apple, sau
với độ chinh xác 97- diện giọng nói con ảo có khả năng
ghi lại và tái tạo đó là của Microsoft
98% nhưng cồng kềnh người và thực hiên nhận diện giọng
âm thanh và Google
và có chi phí lớn công việc được giao nói và giao tiếp với
con người
Mô hình triển khai

Một mô hình triển khai của nhận diện giọng nói gồm 4
quá trình:
Thu nhận tín hiệu; Mã hóa tín hiệu; Xử lý và nhận dạng,
Trả kết quả

Có 2 phương thức phổ biến hiện nay được sử dụng cho


công nghệ nhận diện giọng nói: Điện toán đám mây và Tích
hợp trong ứng dụng
Ứng dụng
của công nghệ nhận dạng giọng nói

Công nghệ nhận diện giọng nói thay thế việc nhập
phím thông thường. Nhanh chóng, hiệu quả và dễ
dàng với người dùng hơn

Nhận diện giong nói cùng với trí tuệ nhân tạo được
ứng dụng như một cách điều khiển cho một hệ sinh
thái các thiết bị thông minh.

Công nghệ nhận diện giọng nói cũng được kì vọng như
một phương pháp giúp người khiếm thị tiếp cận với
công nghệ

Amazon Alexa và Google Assitant


hai hệ thống trợ lý ảo sử dụng nhận diện giọng nói
Sự cần thiết
của việc phát triển công nghệ nhận diện giọng nói

Cải thiện tốc độ nhập liệu Ứng dụng để phát triển các hệ thống
Nhu cầu về tốc độ và sự đơn giản trong nhập liệu thông minh
là một nhu cầu lớn trong xã hội hiện tại, do đó Các NSX hệ thống nhà thông minh, Robot hay các
việc phát triển công nghệ nhận diện giọng nói để phần mềm ứng dụng đều có nhu cầu phát triển
đáp ứng nhu cầu xã hội là điều tất yếu nhận diện giọng nói trong sản phẩm của mình
Nhận diện giọng nói
03 | Sử dụng Neural Network
Nhận diện giọng nói
Sử dụng Neural Network
• Trong nhận diện giọng nói, phải trải qua nhiều quá
trình trước khi trả về được kết quả chính xác. Tuy nhiên
vai trò của quá trình xử lý và phân loại tín hiệu tới việc
nhận được kết quả chính xác là quan trọng nhất.

• Trong tiểu luận này sẽ trình bày giải pháp cho vấn
đề xử lý và phân loại tín hiệu sử dụng Recurrent
Neural Network.

• Neural Network là một mô hình mô phỏng cấu tạo


hệ thần kinh, sử dụng các nút để đanh giá và xử lý Hình ảnh minh họa về các nút mạng
kết quả. trong Neural Network
Mô hình Recurrent Neural Network (RNN)

• Mô hình RNN bao gồm 3 phần:


lớp đầu vào, lớp ẩn và lớp đầu
ra.

• Được đánh giá và xử lý bằng các


công thức toán học

• Lớp gian đoạn thời gian, có


nhiệm vụ lưu trữ tạm thời và tạo
vòng lặp cho RNN.

• Các dữ liệu qua quá trình xử lý


và đánh giá được chuyển thành
các giá trị phản hồi tới lớp đầu
ra. Rồi được xử lý thành văn bản
hoặc lệnh kích hoạt.
Ngôn ngữ lập trình

Trong nhận diện giọng nói, Python được


đánh giá là ngôn ngữ lập trình phù hợp
nhất bởi nó có các ưu điểm như sau:
• Thuận tiện cho việc giải quyết các bài
toán
• Cú pháp đơn giản
• Có nhiều các thư viện của bên thứ ba
• Mã nguồn mở
Thư viện luyện tập

Thư viện TIMIT được sử dụng để phân loại tín hiệu giọng nói trong giai đoạn đầu. Thư viện
này được phát triển để cung cấp dữ liệu giọng nói để thu nhận ngữ điệu và phát triển một hệ
thống nhận diện giọng nói tự động.

Các âm vị sẽ được số hóa về ngưỡng tín hiệu 20kHz, sàng lọc qua một
điều chỉnh 10kHz và được đưa về 16kHz. Mỗi âm vị này sẽ mang một
nhãn, qua đó đại diện cho mức độ thông tin trung gian giữa âm vị và tín
hiệu âm thanh. Chúng sẽ là các mẫu ngôn ngữ cho hệ thống mạng học
tập và nhận diện giọng nói. Chúng được gọi chung là Mô hình ngôn ngữ
Recurent Neural Network (Khung RNNLM, Recurent Neural Network
Language Model)
Xây dựng thuật toán

Một hàm đánh giá mức độ phù hợp của dự đoán có thể được hình
thành như sau:
1. Trọng số được đặt trên vector, gọi là vector trọng số

2. Đánh giá dự đoán bằng quá trình đã đào tạo


Thông thường, tổng bình phương của sự khác biệt giữa giá trị dự
đoán và giá trị mục tiêu trong đào tạo được dùng để biểu thị, đánh
giá lỗi hay sai khác của dự đoán trên vector trọng số.

3. Để tối ưu hóa hàm đánh giá trên, có thể sử dụng thuật toán tối ưu
hóa toàn cầu tùy ý (Arbitrary Methods of Global Optimization)
Một thuật toán hoàn chỉnh có thể được xây dựng theo quá trình dưới đây:

Sơ đồ khối miêu tả đơn giản thuật toán


Hiệu quả của mô hình RNN

Độ chính xác cụ thể trong từng thí nghiệm của Eward James
Biểu đồ độ chính xác của mô hình RNN trong thí nghiệm của
Edward James
Thời gian phản hồi

Thông số Độ sâu 20 Độ sâu 42 Độ sâu 60

Thời gian
13,41 17.13 22.38
phản hổi (s)

Độ chính
83,5 89 86,5
xác(%)

Thời gian phản hồi của mô hình RNN trong nghiên cứu
của Edward
So sánh với các phương pháp khác

Độ chính
STT Mô hình áp dụng
xác(%)

1 Hidden Markov Model 77,35

2 Gaussian Mixture Model 78,3

3 Deep Neural Network 79,5

4 Subspace Gaussian Mixture Model 72,3

5 Support Vector Machine 73

6 Recurrent Neural Network 89

So sánh độ chính xác của các mô hình nhận diện giọng nói
Ưu điểm và hạn chế
• Ưu điểm
- Có độ chinh xác cao hơn các mô hình khác
- Có khả năng phân tích nghĩa của giọng nói nhận vào thông
qua ngữ cảnh nhờ các vòng lặp và bộ nhớ ngắn hạn

• Hạn chế
- Xảy ra hiện tượng mất mát hoặc gia tăng đột ngột (bùng nổ)
Gradient trong một vài trường hợp đầu vào
- Đòi hỏi quá trình học tập phức tạp và kéo dài
- Không thể xử lý đoạn quá dài nếu sử dụng ReLU hay tanh để
tính toán.
Tương lai của
04 |Công nghệ nhận diện giọng nói
Tương lai của
Công nghệ nhận diện giọng nói

I. Khắc phục những hạn chế

THE FUTURE OF AUTOMATIC SPEECH RECOGNITION


TECHNOLOGY
• Gradient (độ dốc) rất giống với khái niệm đạo hàm mà chúng ta đã từng học.
• Gradient góp phần dùng để tối ưu các trọng số trong neural network.

Có 2 phương pháp cơ bản để hạn chế vấn đề triệt tiêu gradient và gia tăng đột biến gradient:

1. Cắt bỏ gradient (gradient clipping)

➢ đạo hàm lỗi được thay đổi hoặc cắt đến 1 ngưỡng nào đó.

➢ sử dụng các gradient bị cắt để cập nhật trọng số.

➢ làm giảm đáng kể khả năng mất mát hoặc bùng nổ gradient

2. Khởi tạo đồng nhất

➢ hàm đặc biệt mà bạn có thể lặp lại bao nhiêu lần tùy thích: hàm đồng nhất f(x) = x.

➢ Hàm đồng nhất có thể giữ mọi thứ ổn định bằng cách giữ các tính toán ở gần nó.
Ngoài ra, người ta còn sử dụng 1 mô hình khác của RNN là LSTM và biến thể của nó là GRU

LSTM(Long short term memory) GRU(Gated Recurrent unit)


Tương lai của
Công nghệ nhận diện giọng nói

I. Khắc phục những hạn chế

II. Định hướng phát triển

THEAUTOMATIC
THE FUTURE OF FUTURE OFSPEECH
AUTOMATIC SPEECH
RECOGNITION
RECOGNITION
TECHNOLOGYTECHNOLOGY
Cá nhân hóa trải nghiệm người dùng

Phân biệt được từng người sử dụng


và cung cấp nhiều trải nghiệm mang tính cá nhân hơn
Áp dụng rộng rãi cho nhiều lĩnh vực, đặc biệt là lĩnh vực y tế
“Con người hóa”

Đưa ngữ cảnh vào quá trình nhận dạng


Sự chính xác tuyệt đối

Biểu đồ khảo sát sự chinh xác của các hệ thống trợ lý ảo năm 2019
Tương lai của
Công nghệ nhận diện giọng nói

I. Khắc phục những hạn chế

II. Định hướng phát triển

III. Công nghệ mới tiềm năng


THEAUTOMATIC
THE FUTURE OF FUTURE OFSPEECH
AUTOMATIC SPEECH
RECOGNITION
RECOGNITION
TECHNOLOGYTECHNOLOGY
Đặt vấn đề:
Độ bảo mật thông tin

Công nghệ nhận diện giọng nói Các vấn đề


dựa vào điện toán đám mây

Tốc độ xử lí thông tin

Yêu cầu tìm ra công nghệ có khả năng xử lý nhanh hơn


và được tích hợp ứng dụng

Trong vài năm trở lại đây, spike neural network thu hút rất nhiều sự quan tâm
Spike neural networks được coi như là mạng lưới nơ ron nhân tạo thế hệ thứ 3 và là mạng thần kinh nhân
tạo có cơ chế xử lí giống hệ thống dây thần kinh tự nhiên nhất.

SNN rất phù hợp để đại diện và xử lý các tín hiệu không-thời gian, do đó chúng có tiềm năng
tuyệt vời cho các nhiệm vụ nhận dạng giọng nói.
Kết luận
• Công nghệ nhận diện giọng nói là công nghệ có lịch sử phát triển lâu đời, có tiềm năng và nhu
cầu phát triển lớn trong cuộc sống hiện đại

• Recurent Neural Network trong nhận diện giọng nói là mô hình công nghệ tiên tiến, hiện đại, có
độ chinh xác cao và có những ưu điểm so với các mô hình khác

• Các vấn đề tồn tại của Recurent Neural Network đã và đang được nghiên cứu và tìm ra hướng
giải quyết

• Định hướng nghiên cứu công nghệ nhận diện giọng nói của tương lai nhằm mục tiêu đạt được
độ chinh xác tuyệt dối, cũng như phục vụ nhiều hơn vào cuộc sống

• Một công nghệ có tiềm năng cho việc nâng cao tinh hiệu quả và chinh xác của nhận diện giọng
nói đang được nghiên cứu và phát triển là Spike Neural Network.
Tài liệu tham khảo
Choudhary, A. and Kshirsagar, R., “Process Speech
“Sonix,” Sonix, Inc. , [Trực tuyến]. Available: Recognition System Using Artificial Intelligence
https://sonix.ai/history-of-speech-recognition. Technique.,” International Journal of Soft Computing
and Engineering, 2012.

Fang Chen, Kristiina Jokinen, Speech Tenology - Theory


and Applications, Springer, 2020. Sophomore Collegue, Standford University, “Neural
Network - History,” 2010. [Trực tuyến]. Available:
https://cs.stanford.edu/people/eroberts/courses/soco/
F. Millstein, “Natural language processing with python: projects/neural-networks/History/history1.html.
natural language processing using NLTK”.
Vyacheslav Lyashenko, Farah Laariedh, Svitlana Sotnik,
Kalid Al Smadi, Huthaifa Al Issa, Issam Trrad, Prof- M. Ayaz Ahmad, “Recognition of Voice Commands Based
Takialddin Al Smadi, “Artificial Intelligence for Speech on Neural Network,” TEM Journal, 2021.
Recognition Based on Neural Networks,” Signal and
Information Processing, tập 06, số 02, pp. 66-72, 2015. Beck, M. W., “NeuralNetTools: Visualization and Analysis
Tools for Neural Networks,” Journal of Statistical
Software, pp. 1-20, 2018.
Tài liệu tham khảo
Glackin, C., Wall, J., Chollet, G., Dugan, N., &Cannings, N., Praveen Edward James, Mun Hou Kit, Chockalingam Aravind
“TIMIT and NTIMIT Phone Recognition Using Convolutional Vaithilingam, Alan Tan Wee Chiat, “Recurrent neural
Neural Networks.,” trong International Conference on network-based speech recognition using MATLAB,” Int. J.
Pattern Recognition Applications and Methods, 2018. Intelligent Enterprise, tập 7, số 1/2/3, 2020.

Sewak, M., Karim, M. R., & Pujari, P., Practical convolutional Hinton, G., Deng, L., Yu, D., Dahl, G.E., Mohamed, A-R., Jaitly,
neural networks: implement advanced deep learning N. and Kingsbury, B. , “Deep neural networks for acoustic
models using Python, Packt Publishing, 2018. modeling in speech recognition: the shared views of four
research groups,” IEEE International Conference in
Acoustics, Speech and Signal Processing (ICASSP), 2019.
Ahmad, M. A., Baker, J. H., Tvoroshenko, I., Lyashenko, V.,
“Computational complexity of the accessory function
setting mechanism in fuzzy intellectual systems,” Roger Gross, “Lecture 15: Exploding and Vanishing
International Journal of Advanced Trends in Computer Gradients”.
Science and Engineering, tập 8, số 5, pp. 2370-2377, 2019.
Tài liệu tham khảo
Roberto Cahuantzi, Xinye Chen, Stefan Güttel , “A Jibin Wu, Emre Yılmaz, Malu Zhang, Haizhou Li, Kay Chen
comparison of LSTM and GRU networks for learning Tan, “Deep Spiking Neural Networks for Large Vocabulary
symbolic sequences,” 2021. Automatic Speech Recognition,” Frontiers online, 2021.

Clearbridge mobile, “7 Key Predictions for the Future Of Awni Hannun, “The History of Speech Recognition to the
Voice Assistants and AI,” 2021. [Trực tuyến]. Available: Year 2030,” 2021.
https://clearbridgemobile.com/7-key-predictions-for-the-
future-of-voice-assistants-and-ai/.
Tiểu luận

Công nghệ nhận diện giọng nói


Sử dụng Neural Network

Nhóm 1
• Nguyễn Quy Thành An
• Nguyễn Duy Hùng
• Phạm Tường Minh
• Trần Đăng Minh Tâm
• Nguyễn Công Trình
• Vũ Thành Vân
Tiểu luận

Công nghệ nhận diện giọng nói


Sử dụng Neural Network
Nhóm 1

Cảm ơn,
vì đã lắng nghe!

You might also like