MC&TT Co., Ltd

Tổng hợp các thuật toán nhận dạng giọng nói

Chia sẻ:

Công nghệ nhận dạng giọng nói (Speech recognition), còn được gọi là nhận dạng giọng nói tự động (Automatic Speech Recognition - ASR), có lẽ không còn xa lạ với cộng đồng AI. Công nghệ này cho phép chuyển đổi lời nói của con người thành văn bản viết, từ đó hỗ trợ giao tiếp liền mạch giữa con người và máy móc. Công nghệ nhận dạng giọng nói có thể cách mạng hóa nhiều ứng dụng kinh doanh, bao gồm dịch vụ khách hàng, chăm sóc sức khỏe, tài chính và bán hàng.

Trong bài viết này, chúng ta sẽ cùng giải thích về nhận dạng giọng nói, khám phá cách thức hoạt động của nó, các thuật toán liên quan và một số thách thức thường gặp.

Nhận dạng giọng nói là gì?

Nhận dạng giọng nói, còn được gọi là nhận dạng giọng nói tự động (ASR) hay chuyển giọng nói thành văn bản (STT) là công nghệ cho phép máy tính nhận dạng và chuyển đổi ngôn ngữ nói thành văn bản.

Công nghệ nhận dạng giọng nói sử dụng AI và các mô hình học máy để xác định và phiên âm chính xác các giọng, phương ngữ và mẫu giọng nói khác nhau.

6 đặc điểm của hệ thống nhận dạng giọng nói 

Hệ thống nhận dạng giọng nói có một số thành phần cùng phối hợp hoạt động để hiểu và xử lý lời nói của con người. Các đặc trưng chính của hệ thống nhận dạng giọng nói là:

  • Audio preprocessing: Tín hiệu âm thanh thô từ thiết bị đầu vào cần được xử lý trước để cải thiện chất lượng của giọng nói. Mục tiêu chính của tiền xử lý âm thanh là để thu thập được các phần dữ liệu liên quan đến giọng nói có liên quan bằng cách loại bỏ các phần âm thanh không mong muốn và giảm tiếng ồn.
  • Feature extraction: Chuyển đổi tín hiệu âm thanh đã được xử lý trước đó thành một biểu diễn có nhiều thông tin hơn. Công việc này giúp dữ liệu âm thanh thô trở nên dễ quản lý hơn đối với các mô hình học máy trong hệ thống nhận dạng giọng nói.
  • Language model weighting: Bước này gán trọng số cho các từ và cụm từ nhất định. Điều này giúp cho các từ và cụm từ đó đó có nhiều khả năng được các hệ thống nhận dạng giọng nói nhận ra khi được truyền vào dữ liệu tương ứng.
  • Acoustic modeling: Acoustic modeling cho phép bộ nhận dạng giọng nói nắm bắt và phân biệt các đơn vị ngữ âm trong tín hiệu giọng nói. Các mô hình âm thanh được đào tạo trên các tập dữ liệu lớn chứa các mẫu giọng nói từ nhiều nhóm người khác nhau, với các giọng, phong cách nói và đến từ nhiều nơi khác nhau.
  • Speaker labeling: Speaker labeling cho phép các ứng dụng nhận dạng giọng nói xác định danh tính của nhiều người nói trong bản ghi âm. Mỗi người nói trong dữ liệu đầu vào được gán một nhãn duy nhất, từ đó giúp xác định người nói tại bất kỳ thời điểm nào.
  • Profanity filtering: Quá trình loại bỏ các từ hoặc cụm từ không phù hợp khỏi dữ liệu âm thanh.

6 thuật toán nhận dạng giọng nói phổ biến

Nhận dạng giọng nói sử dụng các thuật toán và kỹ thuật tính toán khác nhau để chuyển đổi ngôn ngữ nói thành ngôn ngữ viết. Sau đây là một số phương pháp nhận dạng giọng nói được sử dụng phổ biến nhất:

1. Hidden Markov Models (HMMs): HMMs là mô hình Markov thống kê thường được sử dụng trong các hệ thống nhận dạng giọng nói truyền thống. HMM nắm bắt mối quan hệ giữa các đặc điểm âm thanh và mô hình hóa động lực học theo thời gian của tín hiệu giọng nói.

2. Xử lý ngôn ngữ tự nhiên (NLP): NLP là một lĩnh vực con của trí tuệ nhân tạo, tập trung vào sự tương tác giữa con người và máy móc thông qua ngôn ngữ tự nhiên. Một số vai trò chính của NLP trong hệ thống nhận dạng giọng nói:

  • Ước tính xác suất của các chuỗi từ trong văn bản được nhận dạng
  • Chuyển đổi các diễn đạt đời thường và từ viết tắt trong ngôn ngữ nói thành dạng viết chuẩn
  • Ánh xạ các đơn vị ngữ âm thu được từ các mô hình âm thanh sang các từ tương ứng của chúng trong ngôn ngữ đích.

3. Speaker Diarization (SD): Phân loại người nói, hoặc ghi nhãn người nói, là quá trình xác định và gán các phân đoạn lời nói cho người nói tương ứng (Hình 1). Nó cho phép nhận dạng giọng nói của người nói cụ thể và nhận dạng các cá nhân trong cuộc trò chuyện.

Hình 1: Biểu đồ minh họa quá trình Speaker Diarization.

4. Dynamic Time Warping (DTW): Hệ thống nhận dạng giọng nói sử dụng thuật toán DTW để tìm sự liên kết tối ưu giữa hai chuỗi (Hình 2).

Hình 2: Trình nhận dạng giọng nói sử dụng DTW để xác định khoảng cách tối ưu giữa các phần tử.

5. Deep neural networks: xử lý và biến đổi dữ liệu đầu vào bằng cách mô phỏng nhận thức tần số phi tuyến tính của hệ thống thính giác của con người.

6. Connectionist Temporal Classification (CTC): Được giới thiệu bởi Alex Graves vào năm 2006, CTC đặc biệt hữu ích cho các nhiệm vụ ghi nhãn trình tự và hệ thống nhận dạng giọng nói từ đầu đến cuối. Nó cho phép neural network khám phá mối quan hệ giữa các khung đầu vào và căn chỉnh các đoạn âm thanh đầu vào với các văn bản tương ứng ở đầu ra.

Speech recognition có phải là voice recognition?

Speech recognition thường bị nhầm lẫn với voice recognition, tuy nhiên, chúng là 2 khái niệm riêng biệt. Speech recognition chuyển lời nói thành văn bản viết, tập trung vào việc xác định các từ và câu được người dùng nói, bất kể danh tính của người nói là gì.

Mặt khác, voice recognition liên quan đến việc nhận dạng hoặc xác minh giọng nói của người nói, nhằm xác định danh tính của người nói thay vì tập trung vào việc hiểu nội dung của văn bản nói.

Một số thách thức và cách giải quyết trong nhận dạng giọng nói

Mặc dù có nhiều bước phát triển nhưng công nghệ giọng nói vẫn vướng phải một số thách thức nhất định. Một vài hạn chế chính của nhận dạng giọng nói bao gồm:

  • Về âm thanh:

– Trọng âm và phương ngữ: Các trọng âm và phương ngữ khác nhau về cách phát âm, từ vựng và ngữ pháp, khiến các hệ thống khó nhận dạng giọng nói một cách chính xác.

-> Giải pháp: Giải quyết những thách thức này là rất quan trọng để nâng cao độ chính xác của các ứng dụng nhận dạng giọng nói. Nhằm khắc phục các biến thể phát âm, điều cần thiết là mở rộng dữ liệu đào tạo để bao gồm các mẫu từ những người nói có giọng khác nhau. Cách tiếp cận này giúp hệ thống nhận dạng và hiểu phạm vi mẫu giọng nói rộng hơn.

– Tiếng ồn môi trường: Tiếng ồn từ môi trường khiến việc phân biệt lời nói với tiếng ồn xung quanh trở nên khó khăn đối với các ứng dụng nhận dạng giọng nói (Hình 3).

– > Giải pháp: Các kỹ thuật tiền xử lý có thể được sử dụng để giảm tiếng ồn môi trường, từ đó giúp cải thiện hiệu suất của các mô hình nhận dạng giọng nói trong môi trường nhiều nhiễu.

Chẳng hạn, bạn có thể sử dụng các kỹ thuật tăng cường dữ liệu để giảm tác động của tiếng ồn đối với dữ liệu âm thanh. Tăng cường dữ liệu giúp huấn luyện các mô hình nhận dạng giọng nói với dữ liệu nhiễu để cải thiện độ chính xác của mô hình trong môi trường thế giới thực.

Hình 3: Ví dụ về câu mục tiêu (“The clown had a funny face”) trong môi trường có tiếng nói chuyện, tiếng xe cộ và tiếng mưa.

  • Về ngôn ngữ:

– Các từ ngoài từ vựng (Out-of-vocabulary words): Do mô hình nhận dạng giọng nói chưa được đào tạo về các từ OOV nên chúng có thể nhận dạng sai các từ này hoặc không thể phiên âm chúng.

Hình 4: Một ví dụ phát hiện từ OOV.

– > Giải pháp: Tỷ lệ lỗi từ (WER) là một số liệu được sử dụng phổ biến để đo độ chính xác của hệ thống nhận dạng giọng nói hoặc dịch máy. Tỷ lệ lỗi từ có thể được tính như sau:

Hình 5: Minh họa cách tính tỷ lệ lỗi từ (WER)

– Từ đồng âm: Từ đồng âm là những từ được phát âm giống hệt nhau nhưng có nghĩa khác nhau, chẳng hạn như “to”, “too” và “two”.

-> Giải pháp: Phân tích ngữ nghĩa (Semantic analysis) cho phép các mô hình nhận dạng giọng nói chọn từ đồng âm thích hợp dựa trên ý nghĩa dự đoán trong một ngữ cảnh nhất định. Xử lý các từ đồng âm giúp cải thiện độ chính xác của hệ thống nhận dạng giọng nói.

  • Về kỹ thuật/ hệ thống:

– Quyền riêng tư và bảo mật dữ liệu: Hệ thống nhận dạng giọng nói liên quan đến việc xử lý và lưu trữ thông tin cá nhân, chẳng hạn như thông tin tài chính. Một bên không được ủy quyền có thể sử dụng thông tin đã thu thập được, dẫn đến vi phạm quyền riêng tư.

– > Giải pháp: Bạn có thể mã hóa thông tin cá nhân nhạy cảm được truyền giữa thiết bị của người dùng và phần mềm nhận dạng giọng nói. Một kỹ thuật khác có thể giải quyết vấn đề quyền riêng tư và bảo mật dữ liệu trong các hệ thống nhận dạng giọng nói là data masking. Các thuật toán data masking giúp che và thay thế dữ liệu giọng nói nhạy cảm bằng dữ liệu giống hệt về mặt cấu trúc nhưng khác về âm thanh.

Hình 6: Một ví dụ về cách hoạt động của data masking

  • Dữ liệu huấn luyện hạn chế: Dữ liệu huấn luyện hạn chế ảnh hưởng trực tiếp đến hiệu suất của hệ thống nhận dạng giọng nói. Với dữ liệu huấn luyện không đầy đủ, mô hình nhận dạng giọng nói có thể gặp khó khăn trong việc tổng quát hóa các giọng khác nhau hoặc nhận dạng các từ ít phổ biến hơn.

-> Giải pháp: Để cải thiện chất lượng và số lượng dữ liệu đào tạo, bạn có thể mở rộng tập dữ liệu hiện có bằng cách sử dụng các công nghệ tổng hợp giọng nói và tăng cường dữ liệu.

Tổng kết

Trên đây là những thông tin bạn đọc cần biết về công nghệ tự động nhận dạng giọng nói, hi vọng rằng sẽ hỗ trợ bạn trong việc tìm hiểu và nâng cao kiến thức về AI, IoT. Đừng quên theo dõi những bài viết mới nhất của chúng tôi trong thời gian sắp tới nhé.

Bạn đang xem: Tổng hợp các thuật toán nhận dạng giọng nói
Bài trước Bài sau
VIẾT BÌNH LUẬN CỦA BẠN

Địa chỉ email của bạn sẽ được bảo mật. Các trường bắt buộc được đánh dấu *

Đăng nhập
Đăng ký
Hotline: 0904251826
x