Đối với trợ lý ảo, hệ thống nhận dạng tiếng nói (voice recognition) dễ dàng bị lỗi khi gặp môi trường nhiều tiếng ồn. Để khắc phục điều này, cách đầu tiên và đơn giản nhất là điều chỉnh vị trí của microphone. Khi chỉ có một thiết bị microphone, kết quả tương tự như một người chỉ nghe cuộc trò chuyện bằng một tai. Hệ thống AI bằng giọng nói, với nhiều microphone, bắt chước khả năng của não người trong việc phân tách âm thanh phát ra từ các hướng khác nhau và tập trung vào âm thanh từ một nguồn duy nhất.
Tuy nhiên, thực tế có nhiều yếu tố khác nhau gây nhiễu và giải pháp kể trên không thể phù hợp với mọi trường hợp. Hệ thống giọng nói, nhìn chung, cần nhiều phương pháp khác để xử lý tiếng ồn.
Các loại tiếng ồn phổ biến cản trở hệ thống nhận dạng giọng nói
Nhiễu cộng (Additive noise)
Nhiễu cộng có thể là các tiếng ồn của quạt, máy hút bụi, máy điều hòa không khí hoặc tiếng trẻ con khóc. Chúng được gọi là tiếng ồn cộng thêm vì chúng kết hợp với tín hiệu giọng nói mục tiêu (ở mức tín hiệu sóng âm thì có thể hiểu đơn giản là nhiều nguồn tín hiệu bị chồng lấn lên nhau). Khi đó, hệ thống nhận dạng giọng nói sẽ cần trích xuất tín hiệu tiếng nói mục tiêu từ sự kết hợp kể trên.
Hợp âm (Convolutional noise)
Convolutional noise hoặc convolutional distortions đề cập đến âm vang được tạo ra trong không gian kín. Ở trường hợp này, sóng âm từ nguồn nói sẽ phản xạ lại khi gặp các bề mặt, chẳng hạn như tường. Kết quả là micro thu được các bản sao của tín hiệu từ nguồn phát âm, nhưng các bản sao này thường trễ về mặt pha so với tín hiệu gốc. Trong thực tế ta gọi hiện tượng này là tiếng vọng (echo). Không gian kín càng lớn, âm thanh thu được sẽ càng bị vọng.
Biến dạng phi tuyến (Nonlinear distortion)
Biến dạng phi tuyến xảy ra khi người nói ở quá gần microphone hoặc âm thanh trên thiết bị ở ngưỡng quá cao.
Các phương pháp cải thiện độ chính xác của hệ thống nhận dạng giọng nói
Đào tạo hệ thống nhận dạng giọng nói dựa trên bộ dữ liệu lớn – bao gồm dữ liệu các âm thanh giọng nói khác nhau, cũng như âm thanh trong các ngữ cảnh và môi trường khác nhau – có ý nghĩa rất quan trọng nhằm giúp trợ lý giọng nói phản hồi chính xác. Để hệ thống có thể xử lý tốt với nhiễu, cần kết hợp nhiều phương pháp. Dưới đây là 6 trong số những phương pháp phổ biến nhất!
Xác định môi trường của người sử dụng
Khi thiết kế hệ thống tương tác bằng giọng nói — chẳng hạn như loa thông minh hoặc các thiết bị điều khiển bằng giọng nói – cần để ý đến khoảng cách giữa người dùng và microphone. Cần xác định xem môi trường sử dụng của người dùng có thể là phòng kín hay không, khi đó hệ thống xét đến hiện tượng vọng của tín hiệu.
Khi người dùng cách xa microphone, năng lượng âm thanh từ nguồn phát tới micro sẽ bị suy giảm. Việc tăng âm lượng tiếng nói trọng trường hợp này cũng khó có tác dụng tích cực, vì nó khiến hiện tượng phản xạ âm thanh càng mạnh hơn nếu trong phóng kín và hệ thống khó phân tách được tiếng nói mục tiêu. Do đó, cách đầu tiên và đơn giản nhất là điều chỉnh vị trí của microphone phù hợp giữa thiết bị và người dùng
Chọn microphone phù hợp
Để giảm thiểu tác động của tiếng ồn, hãy bắt đầu bằng việc chọn đúng microphone. Quan trọng nhất, microphone phải hướng tốt về phía người nói, nhằm giảm bớt các nguồn nhiễu và âm vang phát ra từ các góc khác.
Một số loại micrô analog truyền thống có khả năng định hướng tốt. Ngoài ra, thiết bị điện cơ vi mô (MED) thường được sử dụng trong điện thoại thông minh, máy tính xách tay và các thiết bị tương tự. Những micro này được sản xuất như một phần của chip silicon. Chúng rất nhỏ, nhẹ và khá rẻ. MED có tính đa hướng, có nghĩa là âm thanh có thể được truyền đến thiết bị từ mọi góc độ. Việc sử dụng một số micrô dạng này cho phép áp dụng các thuật toán để hệ thống tập trung vào một hướng duy nhất và giảm tiếng ồn phát ra từ tất cả các micrô khác.
Chọn các phương pháp giảm nhiễu tuyến tính
Nếu bạn muốn áp dụng các kỹ thuật giảm nhiễu, hãy đảm bảo rằng đó là một phương pháp tuyến tính. Hệ thống giảm nhiễu phi tuyến có thể làm suy giảm khả năng của hệ thống nhận dạng giọng nói, khiến việc xử lý tín hiệu giọng nói thậm chí còn khó khăn hơn.
Khi áp dụng các kỹ thuật giảm nhiễu, hai tác dụng phụ có thể xảy ra: giảm tín hiệu giọng nói hoặc xóa tín hiệu giọng nói.
Các trường hợp xóa tín hiệu giọng nói bao gồm sự biến mất ngẫu nhiên của một số tần số nhất định theo thời gian. Trong trường hợp xấu nhất, điều này hiểu tương tự như việc chỉ phát âm một số từ nhất định trong một câu, gây khó hiểu cho hệ thống nhận dạng giọng nói.
Thêm tính năng kiểm soát vùng và tách nguồn
Kỹ thuật tách giọng nói cho phép hệ thống phản hồi lệnh thoại từ nhiều nơi khác nhau trong phòng hoặc trong xe ô tô. Ví dụ: nếu đặt loa ở nhiều vị trí trong xe thì cả người lái, hành khách ngồi ghế trước hoặc ghế sau đều có quyền truy cập vào các chức năng của trợ lý ảo.
Khi người lái nói câu lệnh và cùng lúc hành khách ở phía sau cũng đang nói gì đó, thuật toán tách nguồn có thể tách các tín hiệu từ microphone nhằm nhận dạng rõ ràng nhất tín hiệu giọng nói của người lái.
Việc áp dụng các thuật toán phân tách cùng với nhiều microphone cho phép hệ thống kiểm soát được từng vùng trong không gian. Ví dụ, bất kỳ ai trong xe đều có thể nói, “Tôi lạnh” hoặc “Bật một vài bản nhạc” và lệnh này sẽ được thực hiện trong khu vực có người nói câu tương ứng. Đội ngũ phát triển cũng có thể áp dụng các cơ chế hạn chế vùng. Ví dụ, hạn chế hành khách ngồi phía sau mở cốp bằng giọng nói, trong khi người lái xe có thể thực hiện tác vụ này.
Bổ sung dữ liệu huấn luyện mô hình (training model)
Bổ sung nhiều dữ liệu hơn trong quá trình huấn luyện và đảm bảo rằng hệ thống đã học được đầy đủ các loại nhiễu có thể xảy ra trong thực tế chính là chìa khóa giúp tăng tính chính xác của hệ thống nhận dạng giọng nói. Đội ngũ phát triển có thể ghi âm lại giọng nói trong chính môi trường của người dùng nhằm cung cấp dữ liệu đào tạo cho mô hình AI.
Dữ liệu tiếng ồn được bổ sung phải đảm bảo tính đại diện cho môi trường thực tế và bao gồm một loạt các biến thể ngữ âm. Nếu bạn chỉ chọn một loại tiếng ồn cụ thể, mô hình có thể sẽ hoạt động rất tốt khi có tiếng ồn này, nhưng không thể nhận dạng và lọc các loại nhiễu khác.
Các thuật toán như giảm tiếng ồn (noise reduction), loại bỏ tiếng vang (echo cancellation), khử vang (dereverberation) và beamforming sẽ đưa vào hệ thống các yếu tố nhiễu nhân tạo. Để làm cho hệ thống giọng nói hoạt động tốt với những yếu tố này, hãy áp dụng các thuật toán xử lý tín hiệu cho dữ liệu huấn luyện và trong quá trình phát triển.
Cho phép “gián đoạn” và “chen ngang”
Một trong những trường hợp sử dụng phức tạp nhất đối với hệ thống nhận dạng giọng nói là khi người dùng làm gián đoạn hoặc chen ngang phản hồi của trợ lý ảo. Khi đó, giọng nói tổng hợp của hệ thống sẽ được ghi âm trở lại vào microphone và hệ thống sẽ luôn nghe thấy một phần nhỏ trong phản hồi của chính nó.
Khi người dùng làm gián đoạn hệ thống, câu lệnh của họ sẽ chồng với phần phản hồi còn lại của hệ thống, gây nhầm lẫn cho trợ lý ảo. Để người dùng có thể yêu cầu chen ngang, trước tiên, hệ thống cần được tích hợp tính năng khử tiếng vọng. Tính năng này cho phép hệ thống nghe câu lệnh của người dùng ngay trong khi phát nhạc hoặc phản hồi.
Mục đích của việc loại bỏ tiếng vang trong trường hợp này là loại bỏ tín hiệu phát ra từ loa sau khi nó đã bị bóp méo (ví dụ như dội âm, biến dạng phi tuyến của loa) và truyền ngược trở lại micrô.
Tuy nhiên, cần lưu ý rằng tính năng này không thể loại bỏ hoàn toàn tiếng vang. Nếu bạn muốn sử dụng bộ khử tiếng vang cho hệ thống nhận dạng giọng nói, hãy đảm bảo rằng nó đang sử dụng thuật toán xử lý tín hiệu tuyến tính.
Đội ngũ phát triển cũng cần tích hợp tính năng tự động ngắt kết nối để yêu cầu hệ thống ngừng nói khi phát hiện thấy người dùng thực hiện yêu cầu chen ngang. Hệ thống phải xác định xem một âm thanh được tạo ra có thực sự là câu lệnh chen ngang hay không, hay chỉ là tiếng ồn ngoài môi trường — nếu chỉ là tiếng ồn, hệ thống sẽ không dừng lại việc phản hồi.
Một tùy chọn khác là trợ lý ảo ngừng phản hồi khi phát hiện âm thanh chen ngang, nhưng sẽ tiếp tục phản hồi tại chính điểm dừng trước đó, nếu nó phát hiện ra rằng đó chỉ là tiếng ồn.
Tại sao trợ lý ảo vẫn có thể nhận dạng sai câu lệnh của người dùng?
Ngay cả khi đã áp dụng các thuật toán xử lý tín hiệu, cũng như đào tạo mô hình dựa trên tập dữ liệu âm thanh bổ sung tất cả các loại biến dạng và nhiễu, cuối cùng hệ thống có thể vẫn không cho ra hiệu suất tốt.
Tại sao vậy? Tiếng nói là vô cùng phức tạp. Để hiểu được ý nghĩa của tiếng nói, chúng ta cần đặt chúng vào ngữ cảnh.
Hãy tưởng tượng một đứa trẻ khoảng tám tuổi có thể hiểu khá nhiều điều mà người lớn nói, nhưng không phải toàn bộ ý nghĩa. Ở độ tuổi đó, chúng chưa có được ý niệm về bối cảnh hoặc chủ đề đang được nói đến. Ví dụ, nếu cuộc trò chuyện là về chính trị, trẻ sẽ hiểu từng từ, nhưng không thể hiểu nghĩa của câu nói.
Điều tương tự cũng xảy ra với trợ lý ảo. Nếu hệ thống giọng nói thiếu kiến thức về một lĩnh vực cụ thể, trợ lý sẽ không thể hiểu yêu cầu của người dùng. Nếu nó không có kiến thức về chủ đề và bối cảnh của nội dung đang được nói đến, hệ thống sẽ tạo ra các lỗi nhận dạng, từ đó dẫn đến phản hồi sai
Do đó, ngoài quá trình xử lý tín hiệu và đào tạo mô hình âm thanh — về nội dung, hệ thống cũng cần được trang bị kho kiến thức lớn thuộc đa lĩnh vực.