Mặc dù nhận dạng giọng nói là một phần quan trọng trong cuộc sống của chúng ta, nhưng ít ai hiểu về những gì làm cho nó hoạt động.
Hãy cùng FUNiX tìm hiểu những gì diễn ra đằng sau hậu trường với tính năng nhận dạng giọng nói.
Nhận dạng giọng nói là gì?
Các thiết bị hiện đại thường đi kèm với một trợ lý kỹ thuật số, một ứng dụng sử dụng tính năng nhận dạng giọng nói để thực hiện một số tác vụ trên thiết bị. Nhận dạng giọng nói là một tập hợp các thuật toán mà trợ lý này sử dụng để chuyển giọng nói của bạn thành tín hiệu kỹ thuật số và xác định bạn đang nói gì.
Hệ thống nhận dạng giọng nói đầu tiên
Hệ thống nhận dạng giọng nói đầu tiên có tên là hệ thống Audrey, s rút gọn của “Automated Digit Recognition” (Nhận dạng chữ số tự động). Được phát minh vào năm 1952 bởi Phòng thí nghiệm Bell, Audrey có thể nhận ra các chữ số. Người nói sẽ nói một con số và Audrey sẽ thắp sáng một trong 10 bóng đèn tương ứng với con số đó.
Mặc dù phát minh này mang tính đột phá nhưng lại không được đón nhận nồng nhiệt bởi nó cao gần 2 mét và chiếm một khoảng không gian khổng lồ nhưng lại chỉ có thể giải mã các số từ 0-9. Ngoài ra, chỉ một loại giọng nói cụ thể mới có thể sử dụng Audrey, vì vậy nó chủ yếu do một người điều khiển.
Mặc dù nó có nhiều hạn chế, nhưng Audrey là bước đầu tiên trong hành trình dài tạo ra tính năng nhận dạng giọng nói như ngày nay. Không lâu sau đó, hệ thống nhận dạng giọng nói tiếp theo, có thể hiểu được các chuỗi từ, được ra đời.
Nhận dạng giọng nói bắt đầu bằng việc chuyển đổi âm thanh thành tín hiệu số
Các hệ thống nhận dạng giọng nói phải trải qua một số bước nhất định để xác định chúng ta đang nói gì. Khi micrô của thiết bị nhận âm thanh của bạn, âm thanh đó sẽ được chuyển đổi thành dòng điện truyền xuống Bộ chuyển đổi Analog sang Kỹ thuật số (Analog to Digital Converter, hay ADC). Như tên gọi của nó cho thấy, ADC chuyển đổi dòng điện (tín hiệu analog) thành tín hiệu nhị phân kỹ thuật số.
Khi dòng điện chạy đến ADC, nó sẽ lấy mẫu dòng điện và giải mã điện áp của nó tại một số thời điểm nhất định. Điện áp tại một thời điểm nhất định được gọi là mẫu (sample), mỗi mẫu chỉ dài vài phần nghìn giây. Dựa trên điện áp của mẫu, ADC chỉ định một chuỗi tám chữ số nhị phân (một byte dữ liệu).
Âm thanh được xử lý rõ ràng
Để thiết bị hiểu rõ người nói hơn, âm thanh cần được xử lý để cải thiện độ trong. Thiết bị đôi khi cần nhận dạng giọng nói trong môi trường ồn ào; do vậy, một số bộ lọc được đặt trên âm thanh để giúp loại bỏ tiếng ồn xung quanh. Đối với một số hệ thống nhận dạng giọng nói, tần số nằm ngoài phạm vi nghe của con người sẽ được lọc ra.
Hệ thống không chỉ loại bỏ các tần số không mong muốn mà còn nhấn mạnh một số tần số nhất định trong âm thanh để máy tính có thể nhận dạng giọng nói tốt hơn và tách giọng đó khỏi tiếng ồn xung quanh. Một số hệ thống nhận dạng giọng nói chia âm thanh thành nhiều tần số riêng biệt.
Các khía cạnh khác, ví dụ như tốc độ và âm lượng của âm thanh, được điều chỉnh để phù hợp hơn với các mẫu âm thanh tham chiếu mà hệ thống nhận dạng giọng nói dùng để so sánh. Các quy trình lọc và khử nhiễu này giúp cải thiện độ chính xác tổng thể.
Hệ thống nhận dạng giọng nói bắt đầu tạo từ
Có hai cách phổ biến mà hệ thống nhận dạng giọng nói phân tích giọng nói: mô hình Markov ẩn và thông qua mạng lưới thần kinh.
Phương pháp mô hình Markov ẩn
Mô hình Markov ẩn là phương pháp được dùng trong hầu hết các hệ thống nhận dạng giọng nói. Một phần quan trọng của quá trình này là chia nhỏ lời nói thành các âm vị (yếu tố nhỏ nhất của ngôn ngữ). Trong mỗi ngôn ngữ chỉ có một sốlượng hữu hạn các âm vị (phonemes), đó là lý do phương pháp mô hình Markov ẩn hoạt động rất hiệu quả.
Tiếng Anh có khoảng 40 âm vị. Khi hệ thống nhận dạng được một âm vị nó sẽ xác định xác suất của âm vị tiếp theo.
Ví dụ: nếu người nói phát ra âm “ta”, thì có khả năng âm vị tiếp theo sẽ là “p” để tạo thành từ “tap” (gõ). Cũng có khả năng âm vị tiếp theo là “s”, nhưng khả năng đó rất thấp. Nếu âm vị tiếp theo giống với “p”, thì hệ thống có thể giả định tương đối chắc chắn rằng từ đó là “tap”.
Phương pháp mạng thần kinh
Mạng thần kinh giống như một bộ não kỹ thuật số. Nó học giống như cách mà bộ não con người học. Mạng lưới thần kinh đóng vai trò vô cùng quan trọng trong sự phát triển của trí tuệ nhân tạo và học sâu.
Loại mạng thần kinh mà tính năng nhận dạng giọng nói dùng được gọi là Mạng thần kinh tái phát (Recurrent Neural Network, hay RNN). RNN là một mạng thần kinh trong đó đầu ra từ [các] bước trước được cung cấp làm đầu vào cho bước hiện tại. Điều này có nghĩa là khi RNN xử lý một bit dữ liệu, nó sẽ dùng dữ liệu đó để tác động đến những gì nó thực hiện với bit dữ liệu tiếp theo. Về cơ bản, nó học từ kinh nghiệm.
RNN tiếp xúc với một ngôn ngữ càng nhiều thì khả năng nhận dạng giọng nói của nó sẽ càng chính xác. Nếu hệ thống xác định âm “ta” 100 lần, trong đó 90 lần âm tiếp theo là âm “p”, thì về cơ bản, mạng có thể biết rằng “p” thường xuất hiện sau “ta”.
Do đó, khi hệ thống nhận dạng giọng nói xác định một âm vị, nó sẽ dùng dữ liệu tích lũy được để dự đoán âm nào sẽ xuất hiện tiếp theo. Bởi vì RNN liên tục học hỏi, nó càng được dùng nhiều thì khả năng nhận dạng giọng nói sẽ càng chính xác.
Sau khi hệ thống nhận dạng giọng nói xác định các từ (dù với mô hình Marvok ẩn hay RNN), thông tin đó sẽ được gửi đến bộ xử lý. Sau đó, hệ thống sẽ thực hiện nhiệm vụ của nó.
Nhận dạng giọng nói là một phần không thể thiếu trong công nghệ hiện đại
Nhận dạng giọng nói đã trở thành một phần quan trọng trong công nghệ hiện đại. Nhiều người kiểm soát toàn bộ cuộc sống bằng trợ lý kích hoạt bằng giọng nói. Điều chỉ là một giấc mơ vào thập kỷ 1950 đã trở thành hiện thực và dường như nó sẽ không sớm dừng lại.
Vân Nguyễn
Dịch từ: https://www.makeuseof.com/how-does-voice-recognition-work/
Bình luận (0
)