Nhận dạng tiếng nói

Nhận dạng tiếng nói là một quá trình nhận dạng mẫu, còn được gọi là nhận dạng giọng nói tự động (ASR), nhận dạng giọng nói máy tính hoặc chuyển đổi giọng nói thành văn bản (STT). Với mục đích là phân lớp (classify) thông tin đầu vào là tín hiệu tiếng nói thành một dãy tuần tự các mẫu đã được học trước đó và lưu trữ trong bộ nhớ. Các mẫu là các đơn vị nhận dạng, chúng có thể là các từ, hoặc các âm vị. Nếu các mẫu này là bất biến và không thay đổi thì công việc nhận dạng tiếng nói trở nên đơn giản bằng cách so sánh dữ liệu tiếng nói cần nhận dạng với các mẫu đã được học và lưu trữ trong bộ nhớ.
Khó khăn cơ bản của nhận dạng tiếng nói đó là tiếng nói luôn biến thiên theo thời gian và có sự khác biệt lớn giữa tiếng nói của những người nói khác nhau, tốc độ nói, ngữ cảnh và môi trường âm học khác nhau. Xác định những thông tin biến thiên nào của tiếng nói là có ích và những thông tin nào là không có ích đối với nhận dạng tiếng nói là rất quan trọng. Đây là một nhiệm vụ rất khó khăn mà ngay cả với các kỹ thuật xác suất thống kê mạnh cũng khó khăn trong việc tổng quát hoá từ các mẫu tiếng nói những biến thiên quan trọng cần thiết trong nhận dạng tiếng nói.

Các nghiên cứu về nhận dạng tiếng nói dựa trên ba nguyên tắc cơ bản:

Tín hiệu tiếng nói được biểu diễn chính xác bởi các giá trị phổ trong một khung thời gian ngắn (short-term amplitude spectrum). Nhờ vậy ta có thể trích ra các đặc điểm tiếng nói từ những khoảng thời gian ngắn và dùng các đặc điểm này làm dữ liệu để nhận dạng tiếng nói.
Nội dung của tiếng nói được biểu diễn dưới dạng chữ viết, là một dãy các ký hiệu ngữ âm. Do đó ý nghĩa của một phát âm được bảo toàn khi chúng ta phiên âm phát âm thành dãy các ký hiệu ngữ âm.
Nhận dạng tiếng nói là một quá trình nhận thức. Thông tin về ngữ nghĩa (semantics) và suy đoán (pragmatics) có giá trị trong quá trình nhận dạng tiếng nói, nhất là khi thông tin về âm học là không rõ ràng.

Cách tiếp cận nhận dạng tiếng nói bằng thống kê bao gồm: sử dụng mô hình Markov ẩn, mạng nơ-ron, sử dụng cơ sở tri thức, v.v..

Các hệ thống nhận dạng tiếng nói có thể được phân thành hai loại: "phụ thuộc vào người nói" (speaker-dependent) và "không phụ thuộc vào người nói" (speaker-independent). Các ứng dụng của nhận dạng tiếng nói bao gồm giao diện người dùng bằng giọng nói, quay số bằng giọng nói, điều khiển thiết bị gia đình, tìm kiếm từ khóa, nhập dữ liệu đơn giản, chuẩn bị tài liệu có cấu trúc, xác định đặc điểm của người nói, xử lý văn bản từ giọng nói và nhập liệu giọng nói trực tiếp trong máy bay.

Khác với nhận dạng tiếng nói, thuật ngữ nhận dạng giọng nói hoặc xác định người nói chỉ việc xác định ai đang nói, chứ không phải nội dung của lời nói. Nhận dạng giọng nói có thể đơn giản hóa việc dịch nội dung tiếng nói trong các hệ thống được đào tạo trên giọng nói của một người cụ thể hoặc có thể được sử dụng để chứng thực hoặc xác minh danh tính của người nói trong quá trình bảo mật.

Lịch sử của nhận dạng tiếng nói có nhiều giai đoạn và đột phá quan trọng. Gần đây, lĩnh vực này đã được hưởng lợi từ các tiến bộ trong lĩnh vực học sâu và dữ liệu lớn. Sự tiến bộ được chứng minh không chỉ qua sự gia tăng các bài báo học thuật được xuất bản trong lĩnh vực này, mà quan trọng hơn là việc ngành công nghiệp trên toàn thế giới áp dụng nhiều phương pháp học sâu trong việc thiết kế và triển khai các hệ thống nhận dạng tiếng nói.

Tham khảo