Trong thời gian gần đây, các nhà nghiên cứu đang tập trung vào công nghệ nhận dạng giọng nói và đã có một số thành công đối với việc nhận dạng tiếng Anh và một số ngôn ngữ khác.. Đã có n
Trang 1BỘ CÔNG THƯƠNG
Trang 2L Ờ I M Ở Đ Ầ U
Ngày nay, công nghệ thông tin ngày càng phát triển cùng với những tiến
bộ vượt bậc của khoa học kỹ thuật nói chung, có rất nhiều công nghệ mới
được cho ra mắt
Hơn một thập kỷ qua, với sự phát triển mạnh mẽ của công nghệ thông
tin, công nghệ xử lý tiếng nói như mã hoá, nhận dạng tiếng nói, chuyển lời
nói thành văn bản, chuyển chữ viết thành lời nói, đã trở thành vấn đề
nghiên cứu trọng điểm được nhiều nhà khoa học quan tâm ở nhiều lĩnh vực
khác nhau như: tin học, toán học, điều khiển, điện tử, sinh học,
Trong thời gian gần đây, các nhà nghiên cứu đang tập trung vào công
nghệ nhận dạng giọng nói và đã có một số thành công đối với việc nhận
dạng tiếng Anh và một số ngôn ngữ khác Đã có nhiều công trình nghiên cứu
về lĩnh vực nhận dạng giọng nói (Speech recognition) trên cơ sở lý thuyết các
hệ thống thông minh nhân tạo, nhiều kết quả đã trở thành sản phẩm như Via
Voice Gold của hãng IBM, Dragon Natural Speaking của Dragon System,
Speech SDK của Microsoft, Triển khai những công trình nghiên cứu và đưa
vào thực tế ứng dụng vấn đề này là một việc làm hết sức có ý nghĩa trong
giai đoạn công nghiệp hoá, hiện đại hoá của nước nhà
Vì thế, nhóm em đã chọn đề tài “Tìm hiểu Công nghệ nhận diện giọng
nói” để tìm hiểu và trình bày về nội dung cũng như tổng quan về công nghệ
Tuy đã rất cố gắng học hỏi và tìm hiểu tài liệu từ nhiều nguồn thông tin
nhưng điều kiện thời gian và khả năng có hạn nên cũng không tránh được
thiếu sót Kính mong được sự đóng góp ý kiến từ cô và các bạn để nhóm em
có thể hoàn thiện hơn về bài báo cáo công nghệ này
Nhóm em xin chân thành cảm ơn
Thành phô Hồ Chí Minh, ngày 28 tháng 02 năm 2021
2
Trang 3M Ụ C L Ụ C
DANH SÁCH HÌNH Ả NH
4
Trang 4I GI Ớ I THI Ệ U V Ề CÔNG NGH Ệ NH Ậ N DI Ệ N
GI Ọ NG NÓI
1 Giới thiệu về nền công nghiệp 4.0 và tầm ảnh hưởng
Công nghiệp 4.0 tập trung vào công nghệ kỹ thuật số từ những thập kỷ
gần đây lên một cấp độ hoàn toàn mới với sự trợ giúp của kết nối thông quaInternet vạn vật, truy cập dữ liệu thời gian thực và giới thiệu các hệ thống
vật lý không gian mạng Công nghiệp 4.0 cung cấp một cách tiếp cận toàn
diện hơn, liên kết và toàn diện hơn cho sản xuất Nó kết nối vật lý với kỹ
thuật số và cho phép cộng tác và truy cập tốt hơn giữa các bộ phận, đối tác,nhà cung cấp, sản phẩm và con người Công nghiệp 4.0 trao quyền cho các
chủ doanh nghiệp kiểm soát và hiểu rõ hơn mọi khía cạnh hoạt động của họ
và cho phép họ tận dụng dữ liệu tức thời để tăng năng suất, cải thiện quy
trình và thúc đẩy tăng trưởng
Công nghiệp 4.0 cho phép các nhà máy thông minh, sản phẩm thông minh
và chuỗi cung ứng cũng thông minh, và làm cho các hệ thống sản xuất và dịch
vụ trở nên linh hoạt, linh hoạt và đáp ứng khách hàng hơn Các thuộc tính của
hệ thống sản xuất và dịch vụ với Công nghiệp 4.0 đã được nêu bật và những
lợi ích mà Công nghiệp 4.0 mang lại cho các doanh nghiệp đã được thảo luận.Trong tương lai, khoa học và công nghệ tiếp tục phát triển và đóng vai tròngày càng quan trọng đối với quá trình phát triển kinh tế xã hội của mỗi quốcgia Tri thức được xác định là lực lượng sản xuất trực tiếp và là động lực pháttriển hàng đầu đối với mọi quốc gia Để phát triển bền vững, các quốc gia
phải tiếp tục đẩy mạnh đầu tư phát triển khoa học và công nghệ nhằm ứng
dụng thành tựu khoa học và công nghệ vào sản xuất, đặc biệt là những thành
tựu của cách mạng công nghiệp lần thứ tư nhằm tạo ra các sản phẩm và côngnghệ sản xuất mới Tới đó công nghệ nhận diện và giả lập giọng nói được ra
đời để đáp nhu cầu phát triển của con ngườ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
Trang 5ra 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ệ
Năm 1877, ứng dụng nhận diện giọng nói đầu tiên được tạo ra 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
Năm 1952, các kỹ sư tại Bell Labs đã phát triển một bộ nhận dạng
chữ số tự động có tên Audrey Audrey cao 6 feet, có nhiều tín hiệu
tương tự với tụ điện, bộ khuếch đại và bộ lọc, chỉ 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 bằng giọng nói với độ chính xác 97-99% nhưng chính vì 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 được 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 Shoe box đượ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ừ
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ả thông tin
như tìm thời gian chiếu phim địa phương, nghe thông tin 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
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 20.000 từ
Trang 6Năm 2006, Apple đã giới thiệu khái niệm về Siri, cho phép ngườidùng tương tác với các máy sử dụ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 Những gã
khổng lồ công nghệ như Microsoft, Apple và Google sau đó đã tung ra
trợ lý giọng nói cho thiết bị di động
Đến năm 2008, Google nổi lên với ứng dụng Google Voice Searchdành cho Iphone
Năm 2010, Google đã giới thiệu và nhận dạng được cá nhân hoá, cácthiết bị Android sẽ ghi lại các truy vấn giọng nói của người dùngkhác nhau để phát triển một mô hình giọng nói nâng cao Nó bao gồm
để 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ự sẵn có 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ào hệ điều hành nói chung
Vào tháng 5 năm 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ủahã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ứ ba
Trang 73 Giới thiệu về công nghệ nhận diện giọng nói
a Công nghệ nhận diện giọng nói là gì?
Công nghệ nhận diện giọng nói là một bộ máy hoặc hệ thống có khả
năng nhận và dịch (hoặc hiểu và thực hiện) các lệnh thu được từ giọng nóicon người Nó được sử dụng rất nhiều trong lĩnh vực trí tuệ nhân tạo (AI),Google Assistant là một ví dụ điển hình Đây là một bộ máy hoặc hệ thống có
khả năng nhận và dịch (hoặc hiểu và thực hiện) các lệnh thu được từ giọngnói con người
Nhận diện giọng nói gồm 2 thuật ngữ: Voice recognition và Speechrecognition
Voice recognition liên quan đến việc xác định giọng nói chính xác của
một cá nhân nào đó, tương tự một phương pháp nhận diện sinh trắc
học
Speech recognition là việc xác định những từ ngữ trong câu nói rồi
dịch chúng sang ngôn ngữ máy tính
b Cách thức hoạt động của công nghệ nhận diện giọng nói
Để’ chuyể’n giọng nói sang văn bản hoặc câu lệnh máy tính, hệ thống
phải thực hiện một quá trình gồm nhiều bước phức tạp Khi nói, bạn sẽ tạo
ra những rung động trong không khí Bộ chuyển đổi tín hiệu tương tự sang số
(Analog-to-Digital Converter, ADC) chuyển các sóng tương tự (analog) nàythành dữ liệu mà máy tính có thể hiểu được
Để làm điều này, hệ thống thu thập các mẫu (hoặc số hóa) âm thanh
bằng cách đo chính xác sóng âm ở các khoảng thời gian gần nhau, sau đó lọc
âm thanh đã được số hoá để loại bỏ tiếng ồn, đôi khi tách chúng thành các dải
tần số khác nhau Nó cũng "bình thường hóa" hoặc tinh chỉnh âm thanh đến
một mức âm lượng không thay đổi hoặc sắp xếp theo thời gian Không phảilúc nào con người cũng nói với tốc độ như nhau nên âm thanh phải được điều
chỉnh cho phù hợp với tốc độ mà âm thanh mẫu được ghi nhận trong bộ nhớ
Trang 8Với sự phát triển của công nghệ, ứng dụng nhận dạng giọng nói ngàycàng được hoàn thiện với tính chính xác cao hơn Thay vì nhận dạng từng chữ
cái, công nghệ này còn có khả năng nhận dạng được theo ngữ nghĩa của câunói để’ giảm thiể’u sai sót trong quá trình nhận dạng
c. Ưu, nhược điểm của công nghệ nhận diện giọng nói
> Ưu điể’m của phần mềm nhận diện giọng nói:
- Khả năng truy cập: Đây là một thuận lợi đối với người khuyết tất khi
họ không thể’ dùng chuột hay bàn phím, nhưng có thể’ dùng giọng nói để’ hệ
thống chuyển thành văn bản, giúp nhập liệu hay điều khiển một cách dễ
dàng
- Kiểm tra chính tả: Người dùng có thể truy cập vào các công cụ chỉnh
sửa tương tự một giải pháp xử lý văn bản chuẩn Đương nhiên mọi thứ sẽ
không chính xác 100% nhưng phần mềm có thể nhận diện và xử lý phần lớn
lỗi chính tả, ngữ pháp
- Tốc độ nhanh: Phần mềm nhận dạng giọng nói có thể nắm bắt giọngnói của người dùng với tốc độ nhanh hơn so với khi nhập liệu bằng bàn
phím, vì vậy tốc độ khi nhập liệu bằng giọng nói sẽ cải thiện đáng kể
> Nhược điểm của phần mềm nhận diện giọng nói:
- Thiết lập và "dạy": Mặc dù tất cả phần mềm nhận dạng giọng nói
hiện nay đều hứa hẹn có thể hoạt động sau vài phút thiết lập, nhưng thực sự
quá trình ghi nhận, làm quen với giọng nói, âm điệu và tốc độ nói của ngườidùng có đôi chút phức tạp và tốn thời gian Một số phần mềm nhận dạng
giọng nói còn bắt người dùng nói lại, thậm chí không thể nhận diện được
bạn đang nói gì
- Chưa thực sự ổn định: Việc đang nói mà bị ngắt giữa chừng có thể
khiến người dùng cảm thấy khó chịu Đặc biệt, một số người không thích
phần mềm nhận dạng giọng nói vì nó gây bối rối cho người dùng khi lên
xuống giọng hay bỗng dưng nói nhỏ lại
- Kho từ vựng hạn chế: Người dùng phải sẵn sàng chấp nhận trường
hợp phần mềm xử lý quá lâu vì những từ vừa nói không nằm trong từ điển có
sẵn Đó là điều các nhà nghiên cứu đang cố gắng cải tiến ở phần mềm nhận
dạng giọng nói hiện nay
Trang 9d Một số thư viện hỗ trợ cho công nghệ nhận diện giọng nói
Nuance là cái tên được nhắc đến nhiều nhất trong việc cung cấp
thư viện giọng nói cho app di động Chính nhờ vào những thư viện
như thế này mà lập trình viên không cần phải tự mình thiết kế hệ
thống nhận dạng, phiên dịch cho app mà chỉ cần xài lại cái có sẵn, tiết
kiệm được nhiều thời gian, công sức và tiện bạc Nuance có hỗ trợ
cho tiếng Việt trong ứng dụng Dragon Dictation do chính hãng nàyphát triển
OpenEars cũng là một thư viện khác nhưng nó thuộc dạng nguồn
mở và hoạt động offline, hạn chế là chỉ hỗ trợ tiếng Anh và Tây BanNha Vài cái tên khác có thể kể đến như Ivona, iSpeech, Vocalkit andAcapela
Một cách khác mà nhiều phần mềm hiện cũng đang xài đó là tận
dụng bộ nguồn nhận dạng có sẵn trên các hệ điều hành di động
Người dùng có thể’ kích hoạt tính năng này ở những chỗ cần nhập văn
bản Từ iOS 7 về trước thì tính năng này không hỗ trợ tiếng Việt,
phải lên iOS 8 mới có Google thì bắt đầu hỗ trợ nhập liệu tiếng Việtcho Android khoảng một năm về trước Ngoài ra, Apple, Google cũng
có cung cấp các hàm API giúp app của lập trình viên biết nói chỉ vớivài dòng mã nguồn
Trang 10II T Ổ NG QUAN V Ề CÔNG NGH Ệ NH Ậ N DI Ệ N
GI Ọ NG NÓI
1 Mô hình tri ể n khai công ngh ệ nh ậ n di ệ n gi ọ ng nói
Hình Mô hình công nghệ nhận diện giọng nói
Có nhiều cách thức mà các công ty hiện nay đang triển khai, có thể kể
đến 2 phương pháp phổ biến như sau:
Điện toán đám mây: Trong trường hợp này, việc nhận dạng, xử lýngôn ngữ sẽ diễn ra trên máy chủ của các công ty cung cấp dịch vụ
Phương pháp đám mây giúp việc nhận dạng được chính xác hơn, ứng
dụng thì có dung lượng nhỏ, nhưng bù lại thì thiết bị ở phía người
dùng phải luôn kết nối với Internet Độ trễ trong quá trình gửi giọngnói từ máy lên server rồi trả kết quả từ server về lại máy cũng là
những thứ đáng cân nhắc
Tích hợp thẳng vào app: Với phương thức này, quá trình xử lý giọngnói sẽ diễn ra trong nội bộ ứng dụng, không cần giao tiếp với bênngoài, chính vì thế tốc độ sẽ nhanh hơn Người dùng cũng không bắt
buộc phải kết nối vào mạng thường trực Tuy nhiên, giải pháp này
gặp nhược điểm đó là khi có cập nhật hoặc thay đổi gì đó về bộ máy
nhận dạng, nhà sản xuất sẽ phải cập nhật lại cả một app, trong khi
với phương thức đám mây thì những thay đổi đó chỉ cần làm ở phía
Trang 11server Kích thước ứng dụng cũng sẽ tăng lên, có thể lên tới cả vàitrăm MB.
2 Các kỹ thuật được áp dụng trong công nghệ nhận diện giọng nói
Thoạt nhìn thì việc triển khai công nghệ nhận dạng giọng nói khá đơn
giản, nhưng thực chất thì không phải như thế:
- Thứ nhất, các nhà phát triển phải xây dựng nên một công nghệ có thể’
lắng nghe, phân tích và phiên dịch một cách chính xác giọng nói của người
dùng Nếu không thì làm sao app biết bạn đang nói gì, còn nếu độ chính xác
không cao thì cũng như không
- Thứ hai, vấn đề bản địa hóa (localization) cũng là một chuyện làm đau
đầu các lập trình viên Mỗi quốc gia sẽ có ngôn ngữ của riêng mình, vấn đề
đó là làm thế nào để’ có thể’ hỗ trợ càng nhiều ngôn ngữ càng tốt Hiện nay
hầu hết những dịch vụ giọng nói đều hỗ trợ tiếng Anh, Google Voice Input
trong Android và Voice Dictation trong iOS 8 thì có hỗ trợ tiếng Việt nhưng
cũng còn nhiều hạn chế Đó là chưa nói đến việc mỗi vùng miền lại có cách
nói, giọng điệu khác nhau mặc dù họ sử dụng cùng một ngôn ngữ
Tuy nhiên, với cách các máy dịch thuật hiện nay đang hoạt động, chúng
ta chỉ cần truyền đoạn ghi âm vào mạng nơron và đào tạo nó để tạo ra "bản
dịch", đó cũng là điều mà nhận diện giọng nói với deep learning hướng tới:
Hình Input và output c ủ a Công ngh ệ nh ậ n di ệ n gi ọ ng nói
Vấn đề lớn nhất chính là tốc độ nói biến thiên Một người có thể nói
"Hello" rất nhanh và người khác nói "heeeellllllloooooo!" cực chậm, tạo ra âmthanh dài hơn với nhiều dữ liệu hơn Cả 2 âm đều nên được nhận dạng chính
xác là từ một - "hello!" Tự động chỉnh file âm thanh với nhiều biến thể độ
dài khác nhau của từng từ để tạo ra văn bản đồng nhất lại khá khó
Trang 12Để xử lý vấn đề này, chúng ta sẽ sử dụng một số kỹ thuật đặc biệt vàthêm một vài bước vào mạng deep learning.
a. Kỹ thuật xử lý ngôn ngữ tự nhiên (Natural Language Processing)
Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) là tập hợp
của nhiều thuận toán phức tạp nhằm phân tích mệnh lệnh của người dùng
nhưng không bắt buộc họ phải nói theo một cấu trúc câu định sẵn Nhiều năm
trước khi muốn điều khiển bằng giọng nói, bạn chỉ có thể’ nói những thứ như
"Mở bản đồ, "Báo thức lúc 5 giờ sáng" Còn bây giờ thì nhờ có NLP, ta có thể’nói các câu như "Siri, hãy đánh thức tôi lúc 5 giờ sáng ngày mai"
NLP cũng không phải là đơn giản để’ phát triể’n Cả Apple, Google vàMicrosoft đều phải đầu tư rất nhiều tiền bạc và nguồn lực để có thể đưa
NLP lên đến mức tiến bộ như hiện nay Mặc dù vậy, các công ty vẫn phải
tiếp tục nghiên cứu để cải thiện độ chính xác cũng như hỗ trợ thêm nhiềungôn ngữ khác nhau
b. Chuyển âm thanh thành số
Bước đầu tiên trong nhận diện giọng nói khá rõ ràng - chúng ta cầntruyền sóng âm vào máy tính, xem hình ảnh là tập hợp giá trị, với mỗi giá trị
đại diện cho độ sáng của điểm ảnh, để truyền vào mạng nơron Sóng âm có
một chiều dữ liệu ơ mỗi thời điểm, chúng có một giá trị cao độ Để chuyểnsóng âm thành số, chúng ta chỉ cần ghi lại độ cao của sóng ở từng khoảng:
Trang 13Hình Ví dụ về lấy mẫu sampling 2
Hình Ví dụ về lấy mẫu sampling 3
Hình Ví dụ về lấy mẫu sampling 4
Phương pháp này gọi là sampling - lấy mẫu Chúng ta đọc mẫu mỗi1/1000S và ghi lại con số đại diện chiều cao cùa sóng âm Đây chính là file.wav khi không bị nén Những âm thanh chất lượng tốt được ghi ở tần số