1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn Công nghệ phần mềm: Tìm hiểu công nghệ nhận diện giọng nói

27 30 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 1,08 MB

Nội dung

Nội dung của tiểu luận giới thiệu về công nghệ nhận diện giọng nói; tổng quan về công nghệ nhận diện giọng nói; một số ứng dụng về công nghệ nhận diện giọng nói; từ đó đề xuất phương hướng phát triển.

BỘ CƠNG THƯƠNG TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP THỰC PHẨM TP. HCM KHOA: CƠNG NGHỆ THƠNG TIN MƠN HỌC: CƠNG NGHỆ PHẦN MỀM Đề tài: TÌM HIỂU CƠNG NGHỆ NHẬN DIỆN GIỌNG NĨI Giảng viên hướng dẫn: Mạnh Thiên Lý Sinh viên thực hiện:  Võ Trương Minh Nhật Phan Mai Như Ý Trần Thị Kim Nhiên Nguyễn Thị Thu Bích Nguyễn Thị Khánh Kiều Tan Thị Minh Thư 2001181238 2001181437 2001180178 2001180384 2001181170 2001181350 TP. Hồ Chí Minh, 28 Tháng 02 Năm 2021 LỜ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ã hố, 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, tố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 hố, hiện đại hố 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ể hồ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 MỤC LỤC DANH SÁCH HÌNH ẢNH I. 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 độ hồn tồn mới với sự trợ giúp của kết nối thơng qua  Internet 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 tồn  diện hơn, liên kết và tồ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 số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 q trình phát triển kinh tế xã hội của mỗi quốc  gia. 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át  triể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ơng  nghệ 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 2. Sơ lược về lịch sử 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ệ.  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ừ 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 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 Search  dành cho Iphone Năm 2010, Google đã giới thiệu và nhận dạng được cá nhân hố, 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 Năm 2011, cuối cùng Siri của Apple đã được triển khai trong Iphone  4S, cũng dựa trên điện tốn đám mây Năm 2014 Amazon đã giới thiệu Amazon Echo, một loa thơng minh  tích hợp với trợ lý ảo (Alex, Siri ). Những lời này có thể được kết  hợp với các ứng dụng di động thơng qua kỹ năng Alexa. Tương tự,  các đối thủ cạnh tranh để 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ự 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ủ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ứ ba 3. 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ói  con 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ọng  nói con người Nhận diện giọng nói gồm 2 thuật ngữ: Voice recognition và Speech  recognition 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 q 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ày  thà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ố hố để 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ải  lú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ớ  máy Tiếp theo, tín hiệu được chia thành nhiều phần nhỏ (thời gian khoảng  vài phần trăm giây, thậm chí là phần ngàn giây trong trường hợp có phụ âm  cuối khó phân biệt như "p" hoặc "t"). Chương trình sau đó đặt những phần âm  thanh này vào các âm vị có sẵn trong ngơn ngữ thích hợp Với sự phát triển của cơng nghệ, ứng dụng nhận dạng giọng nói ngày  càng được hồ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âu  nói để giảm thiểu sai sót trong q 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ọng  nó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ự  q 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ười  dù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ý q 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 d. 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ày  phá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 Ban  Nha. Vài cái tên khác có thể kể đến như Ivona, iSpeech, Vocalkit and  Acapela 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ệt  cho Android khoảng một năm về trước. Ngồ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ới  vài dịng mã nguồn 10 Để 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 tố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ều  ngơ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ần  truyề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ển  sóng âm thành số, chúng ta chỉ cần ghi lại độ cao của sóng ở từng khoảng: Hình Ví dụ lấy mẫu sampling 13 Hình Ví dụ lấy mẫu sampling Hình Ví dụ lấy mẫu sampling Hình Ví dụ lấy mẫu sampling Phương pháp này gọi là sampling ­ lấy mẫu. Chúng ta đọc mẫu mỗi  1/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ố  14 44.1khz (44,100 lần đọc mỗi giây). Nhưng với nhận diện giọng nói, tốc độ  lấy mẫu ở 16khz (16,000 mẫu mỗi giây) là q đủ.  Lấy mẫu chỉ tạo ra đồ thị xấp xỉ so với sóng âm, bởi vì nó chỉ đọc dữ  liệu theo từng khoảng. Vì thế, để tránh bị mất dữ liệu mỗi lần đọc, ta áp  dụng lý thuyết Nyquist, chúng ta có thể sử dụng tốn học để tái tạo chính  xác sóng âm gốc từ những mẫu tách biệt ­ miễn là chúng ta lấy mẫu với tần  số gấp đơi tần số âm chúng ta muốn ghi lại. Khơng phải cứ lấy mẫu với tần  số càng cao thì chất lượng âm thanh càng tốt c. Kỹ thuật tiền xử lý dữ liệu mẫu âm thanh Ta có thể truyền những số này vào mạng nơron, nhưng cố gắng nhận  diện cấu trúc âm thanh trực tiếp bằng những mẫu này rất khó. Thay vào đó,  chúng ta giải quyết vấn đề dễ hơn bằng cách tiền xử lý dữ liệu. Đầu tiên,  hãy bắt đầu nhóm mẫu âm thanh trong khoảng 20ms: Hình 320 mẫu âm 20ms Ghi lại những con số này trong đồ thị giúp chúng ta có ước lượng xấp xỉ  về âm thanh gốc trong chu kỳ 20ms: Hình Âm gốc chu kỳ 20ms Bản ghi âm này chỉ khoảng 1/50s. Nhưng thậm chí một đoạn ghi âm rất  ngắn là một mớ hỗn độn cao độ âm khác nhau. Có những âm thấp, âm trung  và thậm chí cả âm cao. Nhưng cùng với nhau, những âm này tạo lên giọng  nói 15 Để giúp mạng nơron xử lý dữ liệu dễ hơn, ta tách sóng âm phức tạp này  thành từng phần: phần chứa âm thấp, âm cao hơn, cao hơn nữa  Sau đó, ta  tính tổng năng lượng ở những những dải tần số (từ thấp đến cao) và kết nối  lại tạo ra fingerprint ­ nhận dạng duy nhất cho từng đoạn trích âm thanh Chúng ta làm điều đó nhờ vào việc sử dụng Fourier transform trong  tốn học. Nó chia nhỏ những sóng âm phức tạp thành sóng âm đơn tạo ra nó,  và ta có thể tính tổng năng lượng ở mỗi đơn âm Sau khi sử dụng lý thuyết Nyquist ở trên, sóng âm đã trở thành một dải  liên tục. Và sử dụng Fourier transform, chúng ta lại tách dải liên tục đó ra  thành các notes riêng biệt (được tính tốn bởi thuật tốn Fourier) để tìm ra  tổng năng lượng ở từng note Kết quả cuối cùng là một bảng số thể hiện độ năng lượng của mỗi  khoảng tần số, từ âm thấp tới âm cao. Mỗi số dưới đây đại diện cho năng  lượng dải 50hz trong clip 20ms: Hình Bảng số thể độ lượng khoảng tần số Nhưng sẽ dễ dàng hơn nhiều khi ta biểu diễn dãy số trên trên đồ thị: Hình Đồ thị thể độ lượng khoảng tần số Ta có thể thấy dài tần số này có rất nhiều năng lượng tần số thấp, và ít  năng lượng tần số cao. Đây là một giọng nam điển hình. Nếu chúng ta lặp lại  q trình trên cho mỗi khoảng 20ms, chúng ta sẽ có quang phổ (mỗi cột từ trái  qua phải là một khoảng 20ms): 16 Hình Quang phổ cho lượng khoảng tần số lặp lại q trình Tạo ra quang phổ giúp chúng ta thực sự nhìn thấy âm thanh và cấu trúc  độ cao của nó. Mạng nơron có thể tìm những cấu trúc trong dữ liệu này dễ  dàng hơn so với sóng âm thơ. Do đó, đây chính là đặc trưng mà ta truyền vào  mạng nơron Qua đó ta thấy, hầu hết dữ liệu thơ đều chứa nhiều nhiễu và khó xử lý  trong cả ảnh và âm thanh. Một cách giúp hạn chế nhiễu là tổng qt hóa: như  trong mạng CNN là trích lọc đặc trưng thơng qua convolution ­ tích chập và  max pooling ­ tách lọc lớn nhất, hay ở trong xử lý âm thanh là lấy tổng năng  lượng theo từng âm. Việc tổng qt hóa giúp giảm chiều dữ liệu và hạn chế  ảnh hưởng từ nhiễu. Chú ý là nếu q tổng qt hóa thì lại có thể làm tiêu  biến đặc trưng, khiến học máy khơng thể tìm ra lời giải d. Kỹ thuật nhận diện ký tự từ đoạn âm ngắn Ta truyền từng dải âm 20ms vào mạng nơron đa lớp. Với mỗi mảng cắt  âm thanh, chúng ta cố gắng tìm ra ký tự đại diện cho âm thanh phát ra 17 Hình Mơ hình trạng thái Chúng ta sử dụng Recurrent Neural Network ­ RNN ­ mạng nơron hồi  quy: kết quả tiên đốn q khứ có ảnh hưởng tới kết quả tiên đốn trong  tương lai. Đó là bởi vì các ký tự có sự liên quan đến nhau. Ví dụ chúng ta đã  tìm ra "HEL", thì rất có khả năng chúng ta sẽ nói tiếp "LO". Vì thế, những dự  đốn trong q khứ sẽ giúp dự đốn tương lai được tốt hơn Sau khi chạy tồn bộ âm thanh thơng qua mạng nơron, chúng ta kết nối  mỗi dải âm với một ký tự có khả năng được nói cao nhất. Đây là bản đồ kết  nối của từ "HELLO": 18 Hình Bản đồ kết nối từ "HELLO" Mạng nơron trên dự đốn từ được nói là “HHHEE_LL_LLLOOO”,  nhưng nó cũng nghĩ có khả năng từ đó là “HHHUU_LL_LLLOOO”, hoặc  thậm chí là “AAAUU_LL_LLLOOO” Chúng ta có thêm một vài bước để làm sạch kết quả. Đầu tiên, chúng ta  bỏ đi những ký tự bị lặp, rồi bỏ đi khoảng trống: HHHEE_LL_LLLOOO => HE_L_LO => HELLO HHHUU_LL_LLLOOO => HU_L_LO => HULLO AAAUU_LL_LLLOOO => AU_L_LO => AULLO Như vậy, ta có 3 khả năng phân âm là "Hello", "Hullo" và "Aullo". Nếu ta  nói chúng thật to, cả 3 đều nghe giống với "Hello". Bởi vì dự đốn từng ký tự  một, mạng nơron tìm ra cách đọc các âm chứ khơng phải cách viết. Ví dụ:  nếu ta nói "He would not go", máy có thể dịch là "He wud net go" Thủ thuật ở đây là kết hợp những dự đốn phiên âm này với khả năng  xuất hiện trong các văn bản (sách, bài bảo ). Ta sẽ loại bỏ đi những phiên  âm ít có khả năng ngồi thực tế và giữ phiên âm thực tế nhất. Và trong 3 từ  "Hello", Hullo" và "Aullo". Rõ ràng, "Hello" có tần xuất cao hơn rất rất nhiều,  và đây chính là bản phiên âm chúng ta lựa chọn 19 e. Áp dụng Machine Learning tự xây dựng hệ thống nhận diện giọng  nói Machine learning sử dụng các thuật tốn lặp để học từ dữ liệu và cho  phép máy tính tìm thấy những thơng tin, giá trị ẩn sâu mà khơng được lập  trình một cách rõ ràng nơi để tìm. Khía cạnh lặp lại của Machine learning là  quan trọng bởi khi các mơ hình này được tiếp xúc với dữ liệu mới thì chúng  có thể thích ứng một cách độc lập.  Các hệ thống Machine Learning có thể  nhanh chóng áp dụng kiến thức và đào tạo từ các bộ dữ liệu lớn để thực hiện  các cơng việc về nhận diện giọng nói một cách xuất sắc Nhận diện ngơn ngữ là một vấn đề khó, ta phải chấp nhận những vấn  đề như: chất lượng micro kém, mơi trường ghi âm ồn, tiếng dội lại, giọng  điệu khác nhau  Tất cả những vấn đề này hiện hữu trong q trình đào tạo,  khiến mạng nơron khơng có độ chính xác cao. Và để xử lý tiếng ồn, ta cần  dữ liệu đào tạo giống như khi mà mọi người đang gào thét vào mặt người  nói. Để xây dựng hệ thống nhận diện âm thanh đạt tới trình độ của Siri,  Google Now! hay Alexa, ta cần rất nhiều dữ liệu. Khơng một ai muốn hệ  thống nhận diện chỉ đạt 80% độ chính xác. Vì vậy, chỉ cần cho máy tự động  lưu và học (train data) một lượng lớn dữ liệu do người dùng tự cung cấp. Ta  sẽ tạo lên hệ thống nhận diện giọng nói hồn chỉnh f. Giao diện giọng nói người dùng (Voice user interface) Giao diện giọng nói người dùng (Tiếng anh: Voice user interface, viết  tắt: VUI) là cơng nghệ nhận dạng giọng nói, cho phép người dùng tương tác  với hệ thống và các thiết bị như máy tính, điện thoại thơng minh và các thiết  bị khác thơng qua các lệnh thoại hoặc giọng nói. Điều làm nên sự độc đáo của  VUI là nó sử dụng giọng nói làm tương tác chính, khơng dùng tay hay mắt và  trái ngược với sự tương tác giữa bàn phím ­ chuột ­ màn hình hoặc màn hình  cảm ứng. Cách tiếp cận bằng giọng nói này có thể cho phép người dùng bắt  đầu các thao tác dịch vụ tự động và thực hiện các tác vụ hàng ngày của họ  theo cách nhanh hơn hơn trong khi vẫn có thể tập trung làm việc khác.  3. Cơng dụng của cơng nghệ nhận diện giọng nói 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.   20 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 hay Google Assistant là những ví dụ điển hình Ngồ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 4. Sự cần thiết của cơng nghệ nhận diện giọng nói trong cuộc sống Có cả trăm, cả nghìn ứng dụng cho phép người dùng tìm kiếm, viết  email, ghi chú và đặt lịch hẹn trên smartphone. Thế nhưng, với một số người,  việc sử dụng bàn phím nhỏ xíu trên điện thoại là khơng tiện lợi, thậm chí là  rất khó chịu. Tốc độ gõ của bạn có thể rất nhanh và chính xác, nhưng cũng có  những người như nổi điên lên khi phải xóa đi viết lại chỉ một chữ duy nhất  chỉ vì họ bấm nhầm sang những phím bên cạnh Giọng nói là giải pháp hợp lý nhất tính đến thời điểm hiện tại. Người  dùng khơng chỉ xài giọng nói của mình như một phương thức nhập liệu mà  chính bản thân thiết bị cũng có thể xài giọng nói để đọc ra những thơng tin  cần thiết. Đó là chưa kể đến lợi ích to lớn mà những phần mềm dựa trên  giọng nói có thể mang lại cho những người khiếm thị. Họ 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 Tất nhiên, hiện nay cơng nghệ giọng nói vẫn chỉ mới ở giai đoạn đầu  chứ chưa thể nào thay thế hồn tồn bàn phím ảo/vật lý hoặc các nút trên màn  hình. Tuy nhiên, chúng ta đang dần tiến đến một kỉ ngun hiện đại hơn, các  ứng dụng giọng nói cũng dần dần được hồn thiện.  5. Ngơn ngữ lập trình được sử dụng cho nhận diện giọng nói Thuật tốn nhận dạng giọng nói hoạt động thơng qua mơ hình âm thanh  và ngơn ngữ. Mơ hình âm thanh được đặc trưng bởi sự kết hợp của các đơn vị  ngơn ngữ của tín hiệu giọng nói và âm thanh. Mơ hình ngơn ngữ khớp các âm  với trình tự của một từ để giúp phân biệt giữa các từ có âm tương tự. Để  nhận dạng một mẫu thời gian trong lời nói và để cải thiện độ chính xác của  hệ thống, ta dùng Mơ hình Markov ẩn cùng với một số ngơn ngữ sau: 21 a. Ngơn ngữ C# C# là ngơn ngữ mã nguồn mở và chạy trên Windows, Mac và Linux.  Ngơn ngữ này giúp phát triển ứng dụng cửa hàng Windows, ứng dụng  Android và ứng dụng IOS. Nó cũng có thể hữu ích để xây dựng khung và thư  viện phụ trợ và trung cấp. Nó hỗ trợ khả năng tương tác ngơn ngữ, nghĩa là  C# có thể truy cập mã được viết bằng bất kỳ ngơn ngữ tn thủ .NET nào.  C# chạy trên nhiều nền tảng máy tính khác nhau để nhà phát triển có thể dễ  dàng thực hiện tái sử dụng mã hóa. C# hỗ trợ nạp chồng tốn tử và chỉ thị  tiền xử lý sẽ giúp cho ngữ pháp nhận dạng giọng nói. Với ngơn ngữ này, ta có  thể dễ dàng xử lý sự kiện nhận dạng giọng nói.  b. Ngơn ngữ Java Java là ngơn ngữ lập trình hướng đối tượng được u cầu cao. Nó có nhu  cầu cao vì các tính năng mở rộng của nó. Để phát triển khái niệm nhận dạng  giọng nói, Java tạo ra một API Java Speech. Nó là tập hợp các lớp trừu tượng  và giao diện sử dụng mà nhà phát triển Java tạo ra một khung nhìn của cơng  cụ lời nói. Nó có khả năng tuyệt vời để học các mẫu giọng nói của bạn và  cơng cụ này có thể xử lý mọi tình huống khơng được hỗ trợ một cách lưu  lốt. Vì Java hỗ trợ tính năng tuyệt vời là trung lập về kiến trúc nên nhà phát  triển có thể chạy trên bất kỳ bộ xử lý nào có sẵn trong thế giới thực mà  khơng cần nghĩ đến việc phát triển và biên dịch.  c. Ngơn ngữ PHP PHP là một ngơn ngữ lập trình hướng tính năng và phổ biến. PHP là  ngơn ngữ cấp cao và cú pháp của nó tương tự như ngơn ngữ C, vì vậy rất dễ  dàng cho người mới bắt đầu tạo phần mềm nhận dạng giọng nói. PHP được  hỗ trợ trên nhiều hệ điều hành nên nhà phát triển sẽ dễ dàng di chuyển ứng  dụng được viết bằng PHP từ máy chủ Windows gốc sang máy chủ Linux mà  khơng cần sửa đổi. PHP hỗ trợ một số lớp mã nguồn mở có thể hữu ích cho  việc tạo ứng dụng nhận dạng giọng nói và do đó ta cũng có thể cung cấp ứng  dụng đã tạo miễn phí. Việc tạo ứng dụng 'chuyển lời nói thành văn bản' hoặc  'chuyển văn bản thành giọng nói' rất dễ dàng vì giao diện ứng dụng và dịch  vụ lưu trữ web rẻ d. Ngơn ngữ Perl Perl là một ngơn ngữ lập trình đa nền tảng ổn định ban đầu được sử  dụng để xử lý văn bản nhưng ngày nay việc sử dụng ngơn ngữ này lập trình  viên có thể phát triển ứng dụng web và ứng dụng mạng. Vì ngơn ngữ này có  chức năng và class tuyệt vời nên việc phát triển, ứng dụng nhận dạng giọng  nói trở nên dễ dàng đối với nhà phát triển. Trong nhiều ngơn ngữ, các khoảng  trắng thừa tạo ra lỗi, nhưng ngơn ngữ lập trình Perl khơng quan tâm đến các  22 khoảng trắng để người dùng có thể dễ dàng tạo một chương trình. Ngơn ngữ  lập trình Perl thực hiện nhập dữ liệu tự động và quản lý bộ nhớ tự động nên  việc tạo ứng dụng nhận dạng giọng nói trở nên đơn giản 23 III. MỘT SỐ ỨNG DỤNG VỀ CƠNG NGHỆ  NHẬN DIỆN GIỌNG NĨI ­ Phần mềm nhận dạng giọng nói Gboard: Hình Phần mềm Gboard Phần mềm nhận dạng giọng nói Gboard có tên gọi trước đây là Google  Keyboard. Phần mềm này hỗ trợ trên 120 ngơn ngữ khác nhau và được tích  hợp khá nhiều tính năng mạnh mẽ như nhập liệu bằng giọng nói, biểu tượng  cảm xúc, tìm kiếm ảnh động (GIF), tra cứu thơng tin, dịch thuật nội dung tin  nhắn ngay trên bàn phím…  Nếu đang sử dụng các thiết bị iOS, sau khi cài đặt xong, bàn phím xuất hiện  người dùng chỉ cần nhấn giữ lên biểu tượng dấu phẩy và chạm vào hình Trái  đất. Cuối cùng, nhấn vào biểu tượng micro trên bàn phím và bắt đầu nói để  nhập liệu Người dùng laptop hoặc PC cũng có thể thực hiện sử dụng tính năng nhập  liệu văn bản bằng giọng nói thơng qua Google Docs. Nếu muốn gõ dấu  chấm, phẩy, xuống dịng… người dùng cần phải nói chậm rãi và ngắt qng.  Theo thử nghiệm, khả năng nhận diện giọng nói (tiếng Việt) của Gboard khá  tốt, nội dung thể hiện rõ ràng và ít bị sai chính tả ­    Phần mềm nhận dạng giọng nói ListNote Speech­to­Text Notes 24 Hình Phần mềm ListNote Speech-to-Text Notes Với phần mềm nhận dạng giọng nói ListNote Speech­to­Text Notes, người  dùng có thể tạo nhanh các ghi chú bằng giọng nói. So với các ứng dụng khác,  ListNote Speech­to­Text Notes tương đối dễ sử dụng, mọi dữ liệu (ghi chú)  đều được lập chỉ mục nên việc tìm kiếm diễn ra khá nhanh… Người dùng  cịn có thể đặt mật khẩu hoặc mã hóa nội dung theo tiêu chuẩn AES nếu  muốn bảo vệ tập tin khỏi con mắt tị mị của người khác  ­    Phần mềm nhận dạng giọng nói Voice Text Hình Phần mềm Voice Text Voice Text là một phần mềm nhận dạng giọng nói cho phép người dùng có  thể gửi/nhận tin nhắn bằng giọng nói, nhập văn bản mà khơng cần chạm vào  điện thoại, dự đốn nội dung, thực hiện cuộc gọi bằng giọng nói… 25 IV. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Tiềm năng của cơng nghệ nhận dạng giọng nói là rất lớn. Hiện nay  chúng ta chỉ mới khai thác được những bề nổi của nó chứ chưa thật sự đi sâu.  Hãy nghĩ đến một tương lai nơi ta có thể hồn tồn để điện thoại trong túi  quần và thực hiện tất cả chỉ bằng cách nói vào tai nghe Bluetooth. Nhìn rộng  hơn, ta vừa về tới nhà và nói vào chiếc điện thoại của mình: “mở máy lạnh,  mở nhạc” thế là khi mở cửa bước vào thì mọi thứ đã được thực hiện. Tính  năng nhận dạng giọng nói khơng chỉ dừng lại ở việc nhập liệu mà nó cịn mở  ra cả một chân trời để chúng ta khai thác và đơn giản hóa cuộc sống của  mình.  Để AI thơng minh thì cần phải có dữ liệu để huấn luyện cho nó, cả về  nhận diện hình ảnh, văn bản, giọng nói. Google có hàng tỷ người dùng với  cơng cụ tìm kiếm, nó có thể biết được trong khoảng thời gian nào, trong từng  thời điểm người dùng quan tâm từ khóa nào, lĩnh vực nào. Đó là một cách  người dùng tự tạo dữ liệu cho AI. Cũng cịn một cách là người dùng trực tiếp  cung cấp dữ liệu cho AI Cơng nghệ nhận dạng giọng nói là một ví dụ sống động về AI mà ta  đang trực tiếp trải nghiệm. Đi kèm với nó là những rủi ro có thể nhìn thấy  được. Một câu châm ngơn trong Định lý của Tesler nói rằng "AI là bất cứ  điều gì chưa được thực hiện". Hi vọng trong tương lai, những người làm về  khoa học máy tính sẽ nghiên cứu và phát triển những cơng nghệ phục vụ cho  sự phát triển nhân loại. Cơng nghệ được sinh ra là để làm cho cuộc sống dễ  dàng hơn, và việc nhận dạng giọng nói chắc chắn sẽ khơng phải là ngoại lệ 26 TÀI LIỆU THAM KHẢO [1] C. Lin, H. Nein and J. Hwu, GA­based noisy speech recogni­tion using  two­dimensional cepstrum, IEEE Transactions onSpeech and Audio Processing  8(6) (2000) [2] J. Sun, F. Karray, O. Basir and M. Kamel, Fuzzy logic­based natural  language processing and its application tospeech recognition, Proceedings of the  5th Biannual World 13(2002), 429–434 [3] Nguyen Dinh Tung, Nhận diện giọng nói: https://viblo.asia/p/machine­ learning­that­thu­vi­6­nhan­dien­giong­noi­1Je5E8DylnL, 08/01/2018 [4] Duy Ln, Cơng nghệ nhận dạng và xử lý giọng nói, tương lai của việc  nhập liệu trên thiết bị di động 27

Ngày đăng: 09/05/2021, 04:31

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w