Điều khiển bằng giọng nói (voice control) là một phương thức tương tác với phần cứng và các dịch vụ liên quan. Tương tác bằng giọng nói đem lại trải nghiệm tự nhiên hơn so với việc kết nối bàn phím và chuột, sử dụng bàn phím ảo hay điều khiển từ xa.
Dù có nhiều tiến bộ vượt bậc trong thời gian gần đây, song trợ lý ảo hay công nghệ giọng nói nói chung vẫn gặp không ít thách thức trong việc nhận dạng giọng nói từ xa. Vậy nên bắt đầu từ đâu để giải quyết bài toán này? Bài viết dưới đây sẽ phân tích lần lượt, đồng thời gợi mở một giải pháp mà Google đang thực hiện.
Đằng sau các thiết bị được kích hoạt và điều khiển bằng giọng nói là một cơ chế cho phép máy có khả năng nghe và hiểu lệnh thoại. Có rất nhiều thành phần trong quá trình này, nhưng hai thành phần mà bài viết sẽ đi sâu là micrô (phần cứng) và kiến trúc học sâu (phần mềm) làm cho một hệ thống phức tạp như vậy hoạt động.
Phần cứng | Micrô
Hệ thống nhận dạng giọng nói thường sử dụng nhiều micrô để giảm tác động của âm vang và tiếng ồn. Với mỗi thế hệ iPhone, số lượng micrô đã tăng lên, từ một micrô ở iPhone đầu tiên lên bốn micrô ở iPhone 5 và 6S.
Ngay cả các thiết bị loa thông minh như Amazon Echo cũng đang sử dụng tới 7 micrô. Trên thực tế, các mic Echo được sắp xếp theo bố cục hình lục giác, với một micrô ở mỗi đỉnh và một micrô ở trung tâm. Độ trễ giữa mỗi micrô nhận tín hiệu cho phép thiết bị xác định nguồn giọng nói và loại bỏ tiếng ồn đến từ các hướng khác. Đây là một hiện tượng được gọi là tạo chùm (beamforming).
Phần mềm | Học sâu
Học sâu đóng vai trò cơ bản trong việc thu nhận giọng nói. Khả năng nhận dạng ngôn ngữ nói đã được phát triển cách đây vài năm, nhưng các kỹ thuật dựa trên học tập như Deep Neural Networks (DNN) đã cho phép công nghệ xử lý ngôn ngữ ngang bằng hoặc vượt qua hiệu suất của con người trong nhiều trường hợp thử nghiệm.
Chỉ có sự kết hợp giữa phần cứng và các thuật toán nhận dạng giọng nói mới có thể dẫn đến thành công của một sản phẩm trợ lý ảo. Với micrô không tốt, độ chính xác khi nhận dạng sẽ suy giảm cho dù mô hình học sâu được sử dụng thông minh đến mức nào. Mặt khác, việc có micrô tốt, nhưng công nghệ học máy dừng lại ở dưới mức tối ưu cũng không tạo ra độ chính xác cần thiết.
Bài toán thu âm từ xa
Mặc dù hệ thống nhận dạng giọng nói hiện đại hoạt động khá tốt trong điều kiện micrô nói chuyện gần, nhưng hiệu suất sẽ giảm trong điều kiện micrô ở xa người dùng.
Hãy tưởng tượng một tình huống phổ biến trong đó một người đang ở trong nhà, nói chuyện với Amazon Echo.
Âm thanh thu được sẽ bị ảnh hưởng bởi 1) giọng của người nói va đập vào tường của căn phòng, 2) tiếng ồn xung quanh từ bên ngoài, 3) âm thanh dội lại từ loa của thiết bị và 4) âm thanh đầu ra dội lại từ tường của căn phòng.
Tất cả các yếu tố này đều góp phần vào chỉ số đo lường giữa công suất của tín hiệu (signal*) xuất ra và tạp âm (signal-to-noise ratio SNR) thấp, độ vang trong phòng, hướng phát âm và tiếng ồn không xác định. Đây là tất cả những thách thức quan trọng cần được giải quyết. Khi người dùng di chuyển ra xa micrô của thiết bị, cường độ giọng nói sẽ giảm xuống trong khi cường độ tiếng ồn xung quanh vẫn giữ nguyên. Ngoài tiếng ồn và tiếng vang, những thách thức khác bao gồm thiếu dữ liệu trường xa quy mô lớn và kiến trúc học sâu hiệu quả chưa được khám phá. Điểm mấu chốt là vẫn còn một khoảng cách rất lớn giữa nhận dạng giọng nói và hiệu suất của con người trong các tình huống trường xa này.
Tính năng thu nhận giọng nói từ xa hoạt động như thế nào?
Hệ thống nhận dạng giọng nói thường sử dụng các mô-đun riêng biệt để thực hiện nhận dạng giọng nói.
- Đầu vào âm thanh được gửi đến một cảm biến âm thanh
- Chuyển đổi tín hiệu âm thanh sang tín hiệu điện tử, sau đó thành tín hiệu kỹ thuật số.
- Sau đó, chuyển đến một chip xử lý tín hiệu kỹ thuật số, nơi việc tăng cường giọng nói (speech enhancement) được áp dụng với các thuật toán nhúng cố định. Các thuật toán nhúng này thực hiện các kỹ thuật xử lý tín hiệu truyền thống: khoanh vùng nguồn (định vị hướng của âm thanh) và định dạng chùm (khử nhiễu nền).
- Tín hiệu tăng cường thu được sẽ chuyển sang mô hình âm thanh thông thường để nhận dạng giọng nói.
Hạn chế của các thuật toán và thành phần cố định là chúng không thể thích ứng với phần còn lại của hệ thống học máy có thể đào tạo được. Khi bạn đặt một hệ thống học sâu có thể đào tạo trên một tập hợp các chip cố định, mô hình học sâu đó phải tìm hiểu thuật toán nhúng đang làm gì, hoàn tác nó và thực hiện tính toán của chính nó trên đó. Điều này làm nhận dạng giọng nói từ xa càng trở nên phức tạp, vì đầu vào âm thanh đã bị bóp méo theo mỗi bước của 1) chuyển đổi tín hiệu từ âm thanh sang điện thành kỹ thuật số và sau đó 2) tiền xử lý, bạn sẽ mất thông tin trong suốt quá trình.
Hiện Google đang đi đầu trong nghiên cứu này, chứng minh việc sử dụng các dạng sóng thô làm đầu ra của cảm biến âm thanh và do đó tránh được bất kỳ quá trình tiền xử lý nào được thực hiện bởi các chip tích hợp (tức là khoanh vùng, định dạng chùm tia) của hệ thống.
Về bản chất, Google đang tìm cách kết hợp bước 3 và 4 trong quy trình. Ý tưởng là cung cấp cho micrô nhiều bậc tự do hơn để tối ưu hóa các thuật toán dựa trên dữ liệu. Với cảm biến âm thanh, chỉ có thể hy vọng rằng nó phát hiện chính xác và không tạo ra quá nhiều tiếng ồn hoặc biến dạng và phần còn lại của hệ thống có thể truy xuất thông tin của nó bằng cách sử dụng kiến trúc học sâu có thể đào tạo.
Trong nỗ lực góp phần đưa công nghệ Việt lên bản đồ thế giới, công ty VinBigdata hiện đang thực hiện nhiều nghiên cứu chuyên sâu về lĩnh vực nhận diện giọng nói và công nghệ trợ lý ảo nói chung. Bạn đọc có thể tìm hiểu thêm tại đây!