Nhận diện khuôn mặt là thuật toán xác định danh tính của một cá nhân bằng đặc trưng khuôn mặt của họ. Hệ thống nhận diện khuôn mặt thường được sử dụng để xác định một người thông qua hình ảnh hoặc video trong thời gian thực.
Công nghệ nhận diện khuôn mặt mang lại nhiều ứng dụng hữu ích và thiết thực trong cuộc sống hàng ngày như phần mềm mở khóa điện thoại, hệ thống chấm công không chạm, hay các hệ thống camera giám sát an ninh, an toàn trong các trung tâm thương mại, cửa hàng, trường học, bệnh viện… Vậy làm thế nào để phát triển công nghệ nhận diện khuôn mặt? Bài viết dưới đây sẽ cung cấp quy trình cụ thể cho bạn.
Các bước trong chu trình xây dựng thuật toán nhận diện khuôn mặt
Nhiều người đã quen thuộc với công nghệ nhận diện khuôn mặt thông qua FaceID được sử dụng để mở khóa iPhone (tuy nhiên, đây chỉ là một ứng dụng nhỏ của công nghệ này). Thông thường, tính năng nhận diện khuôn mặt với FaceID không dựa vào cơ sở dữ liệu ảnh khổng lồ để xác định danh tính của một cá nhân – nó chỉ xác định và công nhận một người là chủ sở hữu duy nhất của thiết bị, đồng thời hạn chế quyền truy cập của những người khác.
Ngoài việc mở khóa điện thoại, tính năng nhận diện khuôn mặt hoạt động bằng cách khớp khuôn mặt của những người đi ngang qua máy ảnh với hình ảnh của những người trong danh sách đang theo dõi. Danh sách theo dõi là một tập dữ liệu mở được đến từ các nguồn được cung cấp công khai. Các hệ thống công nghệ trên khuôn mặt có thể khác nhau, nhưng nhìn chung, chúng có xu hướng hoạt động theo một số bước như sau:
Bước 1: Nhận diện khuôn mặt
Máy ảnh phát hiện và định vị hình ảnh của một khuôn mặt khi đối tượng đang ở một mình hoặc trong một đám đông. Từ đó ghi nhận hình ảnh của đối tượng.
Bước 2: Phân tích khuôn mặt
Tiếp theo, hình ảnh khuôn mặt đối tượng được chụp lại và tiến hành phân tích. Hầu hết công nghệ nhận diện khuôn mặt dựa trên hình ảnh 2D thay vì 3D vì nó có thể khớp hình ảnh 2D với ảnh công khai trong cơ sở dữ liệu một cách thuận tiện và chính xác hơn. Sau đó đưa vào phần mềm để tiến hành đọc hình dạng khuôn mặt của đối tượng. Các yếu tố chính cần xử lý bao gồm khoảng cách giữa hai mắt, độ sâu của hốc mắt, khoảng cách từ trán đến cằm, hình dạng của gò má và đường viền của môi, tai và cằm. Mục đích là để xác định các điểm mốc chính trên khuôn mặt nhằm phân biệt nhiều người khác nhau
Bước 3: Chuyển đổi hình ảnh thành dữ liệu
Chuyển đổi ảnh chụp khuôn mặt thành một tập hợp thông tin kỹ thuật số (dữ liệu) dựa trên các đặc điểm khuôn mặt của người đó. Những thuộc tính khuôn mặt sẽ được xử lý dưới dạng các thuật toán và công thức, và mỗi người sẽ sở hữu một dữ liệu khuôn mặt riêng biệt.
Bước 4: Tìm kết quả nhận diện khuôn mặt phù hợp
Bước tiếp theo tiến hành so sánh với cơ sở dữ liệu khuôn mặt sẵn có. Nếu khuôn mặt được ghi lại khớp với một hình ảnh trong cơ sở dữ liệu nhận diện khuôn mặt, thì việc xác định sẽ hoàn tất.
Ứng dụng của công nghệ nhận diện khuôn mặt
Mở khóa điện thoại
Nhận diện khuôn mặt được ứng dụng trong phần mềm mở khóa của các thiết bị thông minh như điện thoại hay máy tính bảng. Phần mềm này được ưa chuộng bởi có tính bảo mật mạnh mẽ, bảo vệ dữ liệu cá nhân và đảm bảo thiết bị không thể truy cập được nếu điện thoại bị đánh cắp.
Thực thi pháp luật
Cơ quan thực thi pháp luật thường xuyên sử dụng tính năng nhận diện khuôn mặt. Cảnh sát thu thập ảnh chụp từ những người bị bắt và so sánh chúng với cơ sở dữ liệu tội phạm để dễ dàng xác định thông tin đối tượng cũng như các đồng phạm.
Sân bay và kiểm soát biên giới
nhận diện khuôn mặt đã trở thành một cảnh quen thuộc tại nhiều sân bay trên thế giới. Ngày càng có nhiều khách du lịch sở hữu hộ chiếu sinh trắc học, điều này vô cùng thuận tiện khi họ không cần xếp hàng để chờ đợi kiểm tra hộ chiếu một cách thủ công mà thay vào đó chỉ cần đi bộ qua điều khiển ePassport tự động để chuẩn bị lên máy bay. nhận diện khuôn mặt không chỉ giảm thời gian chờ đợi mà còn cho phép các sân bay cải thiện an ninh. Bộ An ninh Nội địa Hoa Kỳ dự đoán rằng nhận diện khuôn mặt sẽ được sử dụng trên 97% khách du lịch vào năm 2023. Cũng như tại các sân bay và cửa khẩu biên giới, công nghệ này được sử dụng để tăng cường an ninh tại các sự kiện quy mô lớn như Thế vận hội.
Tìm người mất tích
nhận diện khuôn mặt có thể được sử dụng để tìm người mất tích và nạn nhân của nạn buôn người. Giả sử các cá nhân bị mất tích được thêm vào cơ sở dữ liệu. Trong trường hợp đó, cơ quan thực thi pháp luật có thể được cảnh báo ngay khi họ được nhận diện bằng nhận diện khuôn mặt – cho dù đó là trong sân bay, cửa hàng bán lẻ hay không gian công cộng khác.
Giám sát an ninh tại các cửa hàng
nhận diện khuôn mặt được sử dụng để xác định những người gian lận, tội phạm trộm cắp, gây rối tại các hệ thống cửa hàng. Thông qua hệ thống camera giám sát và đối chiếu về lịch sử phạm tội, có thể đưa ra cảnh báo và ngăn chặn những hành vi xấu ngay trước khi nó xảy ra.
Cải thiện trải nghiệm bán lẻ
Công nghệ nhận diện khuôn mặt mang lại tiềm năng cải thiện trải nghiệm bán lẻ cho khách hàng. Hệ thống camera có thể nhận ra khách hàng, đưa ra đề xuất sản phẩm dựa trên lịch sử mua hàng của họ và hướng họ đi đúng hướng, đồng thời, gợi ý cho các nhân viên tư vấn/ tiếp thị có những hành động đón tiếp phù hợp. Một ứng dụng khác là công nghệ “thanh toán bằng khuôn mặt” giúp người dùng có thể thanh toán dễ dàng, nhanh chóng.
Ngân hàng
Ứng dụng công nghệ sinh trắc học vào dịch vụ ngân hàng trực tuyến là một lợi ích khác của thuật toán nhận diện khuôn mặt. Thay vì sử dụng mật khẩu một lần, khách hàng có thể xác thực giao dịch bằng nhận diện khuôn mặt thông qua điện thoại thông minh hoặc máy tính.
Chăm sóc sức khỏe
Các bệnh viện sử dụng nhận diện khuôn mặt để giúp chăm sóc bệnh nhân. Các nhà cung cấp dịch vụ chăm sóc sức khỏe đang thử nghiệm việc sử dụng nhận diện khuôn mặt để truy cập hồ sơ bệnh nhân, hợp lý hóa việc đăng ký bệnh nhân, phát hiện cảm xúc và triệu chứng của bệnh nhân, và thậm chí giúp xác định các bệnh di truyền cụ thể. AiCure đã phát triển một ứng dụng sử dụng nhận diện khuôn mặt để đảm bảo rằng mọi người uống thuốc theo đúng quy định. Khi công nghệ sinh trắc học trở nên ít tốn kém hơn, việc áp dụng trong lĩnh vực chăm sóc sức khỏe dự kiến sẽ tăng lên.
Công nghệ nhận diện khuôn mặt đã được VinBigData tích hợp trong giải pháp Camera thông minh (VisionAI). VisionAI đáp ứng mọi nhu cầu của doanh nghiệp như kiểm soát ra vào, đảm bảo an ninh, chấm công không chạm… ứng dụng cho đa dạng quy mô, với độ chính xác tới 99%, và tối ưu chi phí vận hành, tiết kiệm 50% chi phí đầu tư so với hệ thống cảm biến nhiệt.
Tìm hiểu thêm về VisionAI: Tại đây
Tư liệu tham khảo: Kaspersky
Code và data đều là những thành phần cốt lõi của một hệ thống AI. Vậy các nhà phát triển nên tập trung vào yếu tố nào hơn? Để giúp bạn có được câu trả lời, bài viết dưới đây sẽ so sánh hai cách tiếp cận Data-centric và Model-centric trong học máy. Hãy đọc đến cuối để tìm thấy một số tips thú vị về cách áp dụng cơ sở hạ tầng tập trung vào dữ liệu (data-centric infrastructure) nhé!
Phương pháp model-centric
Phương pháp model-centric lấy việc xây dựng mô hình làm trung tâm, tức là phát triển các nghiên cứu thử nghiệm để cải thiện độ chính xác và hiệu suất của mô hình học máy. Điều này liên quan đến việc lựa chọn một kiến trúc mô hình tốt nhất và xây dựng quy trình huấn luyện từ nhiều kịch bản.
Trong cách tiếp cận model-centric, dữ liệu được giữ nguyên và các lập trình viên tiến hành cải tiến thuật toán hoặc kiến trúc mô hình hoặc tối ưu code. Do đó việc xây dựng các thuật toán, mô hình tính toán mạnh thậm chí phức tạp và tối ưu code là mục tiêu trọng tâm của cách tiếp cận này.
Xu hướng model-centric trong AI
Hiện tại, phần lớn các ứng dụng AI đều tập trung vào mô hình, đặc biệt là trong các nghiên cứu học thuật. Theo Andrew Ng, một chuyên gia tại thung lũng Silicon, hơn 90% các bài báo nghiên cứu trong lĩnh vực AI đang tập trung vào mô hình. Một trong số các nguyên nhân chính là do rất khó để xây dựng những bộ dữ liệu quy mô lớn được cả cộng đồng khoa học cùng công nhận. Tuy nhiên, chính vì tập trung vào phát triển mô hình nên dữ liệu thường bị bỏ qua, và việc thu thập dữ liệu được xem như việc chỉ diễn ra một lần trong suốt quá trình xây dựng các hệ thống AI.
Phương pháp data-centric
Khi dữ liệu trở thành yếu tố cốt lõi của mọi quyết định, thì một doanh nghiệp áp dụng tốt phương pháp data-centric có thể hoạch định hoặc điều chỉnh chiến lược một cách phù hợp, từ đó cải thiện hiệu suất vận hành nhờ những phân tích chính xác, có tổ chức và minh bạch dựa trên dữ liệu.
Cách tiếp cận data-centric liên quan đến việc thay đổi/cải tiến bộ dữ liệu một cách có hệ thống để tăng độ chính xác của mô hình học máy. Xây dựng các bộ dữ liệu đủ đa dạng và chất lượng là mục tiêu trọng tâm của phương pháp này.
Phân biệt data-centric với data-driven
Nhiều người thường nhầm lẫn giữa data-centric và data-driven. Data-driven là một phương pháp để thu thập, phân tích và trích xuất thông tin hoặc tri thức ẩn chứa bên trong dữ liệu. Mặt khác, phương pháp data-centric tập trung vào việc sử dụng dữ liệu để xác định các bước đầu tiên nhằm phát triển mô hình.
- Kiến trúc data-centric đề cập đến một hệ thống trong đó dữ liệu là nguồn tài nguyên chính và lâu dài, trong khi các ứng dụng khác có thể thay đổi.
- Kiến trúc data-driven có nghĩa là phát triển công nghệ, kỹ năng và môi trường dựa vào việc khai thác thông tin hoặc tri thức từ một lượng dữ liệu lớn.
So sánh data-centric và model-centric
Hiện nay, cách tiếp cận model-centric đang phổ biến hơn đối với các nhà khoa học dữ liệu và kỹ sư học máy. Tuy nhiên, một khi dữ liệu không được quan tâm đúng mức, đội ngũ phát triển có thể lãng phí hàng trăm giờ để tinh chỉnh một mô hình dựa trên dữ liệu lỗi. Đây cũng là nguyên nhân cơ bản khiến mô hình có độ chính xác thấp và không được tối ưu hóa.
| Model-centric Machine learning | Data-centric Machine learning |
| Chủ yếu làm việc trên code | Chủ yếu làm việc trên dữ liệu |
| Tối ưu hóa mô hình để xử lý tốt dữ liệu nhiễu | Không chỉ thu thập nhiều dữ liệu hơn, mà còn tập trung cải tiến chất lượng để xử lý dữ liệu nhiễu |
| Nhãn dữ liệu thiếu nhất quán | Dữ liệu nhất quán |
| Dữ liệu được giữ cố định sau khi chuẩn hóa | Code/thuật toán được giữ cố định |
| Mô hình được cải thiện | Chất lượng dữ liệu được cải thiện |
Tuy nhiên, không nhất thiết phải tập trung hoàn toàn vào dữ liệu, đôi khi việc cải thiện code/mô hình cũng rất quan trọng vì bản chất của mô hình là phản ánh và khái quát hóa thông tin bên trong dữ liệu. Cách tốt nhất là kết hợp cả hai phương pháp model-centric và data-centric, tùy thuộc vào bài toán và ứng dụng mà bạn đang triển khai.
Thực tế, quy trình làm việc tập trung vào mô hình phù hợp với một số ngành, chẳng hạn như truyền thông và quảng cáo, nhưng khi ứng dụng trong các ngành chăm sóc sức khỏe hoặc sản xuất, nó sẽ gặp phải một số thách thức về khả năng tùy chỉnh cũng như yêu cầu các bộ dữ liệu quy mô lớn. Khi ứng dụng phương pháp data-centric, cần lưu ý đến:
- Chất lượng dán nhãn dữ liệu: nhãn cần cung cấp đầy đủ thông tin về nội dung và cấu trúc của tập dữ liệu, với các yếu tố như loại dữ liệu, đơn vị đo lường và khoảng thời gian. Cách tốt nhất để cải thiện chất lượng nhãn là tìm ra điểm không nhất quán trong nhãn và làm theo hướng dẫn gán nhãn.
- Tăng cường dữ liệu (data augmentation): Được sử dụng để tự động tạo thêm dữ liệu huấn luyện cho các mô hình học máy thông qua các phương pháp nội suy hoặc ngoại suy. Ví dụ, các kỹ thuật này có thể được dùng để tổng hợp các ảnh hoặc khung video theo nhiều mức độ xuất hiện trong thực tế. Các phương pháp này giúp làm giàu dữ liệu huấn luyện. Tuy nhiên bổ sung dữ liệu không phải lúc nào cũng là lựa chọn tốt nhất. Việc đưa thêm vào các mẫu dữ liệu nhiễu có thể làm giảm tính tổng quát hóa của mô hình.
- Kỹ thuật xây dựng thuộc tính cho mô hình (feature engineering): là quá trình thêm các thuộc tính vào mô hình bằng cách thay đổi dữ liệu đầu vào, tri thức nền hoặc thuật toán. Nó được sử dụng trong học máy để giúp tăng độ chính xác của mô hình dự đoán.
- Lập phiên bản dữ liệu (data versioning): Việc quản lý quyền truy cập tập dữ liệu, cũng như nhiều phiên bản của mỗi tập dữ liệu là rất khó khăn và dễ xảy ra lỗi. Lập phiên bản dữ liệu là một trong những bước không thể thiếu để duy trì dữ liệu, giúp theo dõi các thay đổi (cả bổ sung và xóa) đối với tập dữ liệu.
- Tri thức ngành: Tri thức ngành rất có giá trị trong cách tiếp cận lấy dữ liệu làm trung tâm, giúp tăng cường hiệu quả hoạt động của mô hình học máy. Các chuyên gia trong lĩnh vực hẹp thường có thể phát hiện ra sự khác biệt nhỏ mà các kỹ sư học máy, nhà khoa học dữ liệu và đội ngũ dán nhãn không thể.
Đặc biệt, một ghi chú nhỏ: Nhiều hơn không có nghĩa là đương nhiên tốt hơn, điều này đúng với dữ liệu (more data does not automatically equal better data). Tuy nhiên, hãy đảm bảo có đủ dữ liệu để giải quyết bài toán, nhất là những bài toán về Deep Networks. Theo Yolo 5 gợi ý, cần tối thiểu 1 500 hình ảnh và tổng số tối thiểu 10 000 đối tượng được dán nhãn cho mỗi lớp. Nếu bạn đang tìm kiếm các bộ dữ liệu có chất lượng thì có thể tham khảo Kaggle, Datahub.io hoặc Graviti Open Datasets.
Đố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.





