Nhận diện người nói là gì? Cách bản chép lời biết ai đang nói

Nhận diện người nói (speaker diarization) là gì: AI tách người nói ra sao, khác gì nhận dạng giọng nói, điều gì gây lỗi và cách có nhãn tốt hơn.

Một dạng sóng âm thanh được chia thành các đoạn màu cho ba giọng nói, mỗi đoạn nối với một dòng có nhãn người nói trong bản chép lời.

Cũng có bằng: English, Русский, Українська, Dansk, Deutsch, Español, Français, Italiano, Magyar, Nederlands, Norsk bokmål, Polski, Português (Brasil), Suomi, Svenska, Türkçe, Ελληνικά, עברית, العربية, 한국어, 日本語, 中文(中国), 中文(台灣), Indonesia

Nhận diện người nói (speaker diarization) là bước trong chép lời tự động trả lời câu hỏi "ai nói lúc nào": nó chia bản ghi thành các đoạn, gom những đoạn nghe như cùng một giọng, rồi gắn nhãn Người nói 1, Người nói 2 và cứ thế. Hệ thống không biết tên ai; bạn, hoặc một hệ thống vốn đã biết người tham gia, sẽ thêm tên sau đó. Cách này hoạt động tốt với bản ghi rõ, có vài giọng dễ phân biệt, và gặp khó khi người ta nói chồng lên nhau, giọng giống nhau, âm thanh qua điện thoại hoặc nhóm đông người.

Bài này giải thích diarization bằng ngôn ngữ dễ hiểu: nó khác gì nhận dạng người nói, bên trong hoạt động ra sao, điều gì làm nó sai, và cách có được bản chép lời với nhãn người nói đáng tin cậy.

Nhận diện người nói là gì?

Bản chép lời thô chỉ là một khối chữ dày đặc. Diarization biến nó thành một cuộc trò chuyện:

Người nói 1  00:00:03  Cảm ơn mọi người đã tham gia. Mình bắt đầu với ngân sách nhé?
Người nói 2  00:00:07  Vâng. Mục công tác phí đang vượt khoảng mười phần trăm.
Người nói 1  00:00:12  Được, nguyên nhân là gì vậy?

Thuật ngữ này bắt nguồn từ chữ "diary" (nhật ký): hệ thống giữ một bản ghi xem giọng nào đang hoạt động ở từng thời điểm. Trong hầu hết công cụ chép lời, diarization chạy song song với nhận dạng giọng nói. Mô hình giọng nói tạo ra các từ kèm mốc thời gian, mô hình diarization tạo ra các đoạn người nói kèm mốc thời gian, rồi hai kết quả được ghép lại để mỗi từ hay mỗi câu có một nhãn người nói.

Nếu bạn chép lời phỏng vấn, cuộc họp hay podcast, chính những nhãn này làm cho văn bản dùng được: bạn trích dẫn đúng người, đếm xem ai nói nhiều nhất, và đọc lướt một cuộc gọi dài theo từng người nói.

Nhận diện người nói và nhận dạng người nói

Hai khái niệm này hay bị nhầm, và nhiều trang sản phẩm dùng cụm "nhận dạng người nói" một cách lỏng lẻo cho cả hai.

Nhận diện người nói (diarization)Nhận dạng người nói (recognition)
Câu hỏi được trả lờiAi nói lúc nào?Người này là ai?
Cần mẫu giọng trướcKhôngCó, dấu vân giọng đã đăng ký hoặc đoạn ghi tham chiếu
Kết quảNhãn ẩn danh (Người nói 1, Người nói 2)Một cái tên hoặc kết quả khớp danh tính
Ứng dụng điển hìnhBản chép lời phỏng vấn, cuộc họp, podcastĐăng nhập bằng giọng nói, xác minh ở tổng đài, khớp người nói đã biết
Biến thểNgoại tuyến (cả tệp) hoặc theo luồngĐịnh danh (một trong nhiều người) và xác minh (có đúng là bạn không?)

Một số công cụ kết hợp cả hai. Nền tảng họp trực tuyến biết micro của người tham gia nào đang bật, nên có thể hiện tên mà không cần phân tích giọng. Một số ứng dụng cho phép bạn gắn thẻ một giọng một lần rồi thử nhận ra giọng đó trong các bản ghi sau. Theo tài liệu của OpenAI, mô hình chép lời có diarization của họ chẳng hạn nhận các đoạn ghi tham chiếu ngắn cho những người nói đã biết. Diarization thuần trên tệp tải lên, cách mà phần lớn dịch vụ chép lời đang làm, kết thúc bằng các nhãn chung để bạn đổi tên.

Nhận diện người nói hoạt động thế nào

Các hệ thống hiện đại khác nhau ở chi tiết, nhưng phần lớn đi theo cùng các giai đoạn lớn. Bộ công cụ mã nguồn mở pyannote.audio, một trong những thư viện diarization được dùng rộng rãi nhất, mô tả quy trình của mình trong bài báo Interspeech 2023 của Hervé Bredin, "pyannote.audio 2.1 speaker diarization pipeline: principle, benchmark, and recipe", gồm ba giai đoạn chính: phân đoạn cục bộ trên các cửa sổ trượt ngắn, vector đặc trưng giọng nói và phân cụm toàn cục.

1. Tìm chỗ có lời nói

Bộ phát hiện giọng nói (voice activity detection) đánh dấu những phần có lời nói trong bản ghi và loại bỏ khoảng lặng, nhạc và tiếng ồn. Sai sót ở đây kéo theo sai sót dây chuyền: lời nói bị bỏ sót sẽ không có nhãn, còn tiếng ồn bị tưởng là lời nói có thể sinh ra một người nói "ma".

2. Phân đoạn lời nói

Lời nói được cắt thành những mẩu ngắn mà lý tưởng nhất là chỉ có một người nói trong đó. Các mô hình mạng nơ-ron mới hơn xem xét vài giây mỗi lần và ước lượng người nói nào đang hoạt động ở từng khung, nhờ vậy cũng đánh dấu được chỗ nói chồng lên nhau.

3. Biến mỗi đoạn thành vector đặc trưng giọng nói

Một mạng nơ-ron chuyển mỗi đoạn thành một embedding: một dãy số thể hiện giọng nghe như thế nào (cao độ, âm sắc, cách nói) chứ không phải nội dung được nói. Các đoạn của cùng một người nên cho ra những embedding nằm gần nhau.

4. Phân cụm các embedding

Một thuật toán phân cụm gom những embedding giống nhau lại. Mỗi cụm trở thành một người nói. Phần khó là quyết định có bao nhiêu cụm: quá ít thì hai người bị gộp vào một nhãn; quá nhiều thì một người bị tách ra thành nhiều nhãn. Một số dịch vụ cho phép bạn khai báo số người nói dự kiến để hỗ trợ bước này.

5. Ghép với các từ

Cuối cùng, các đoạn người nói được khớp với mốc thời gian của từng từ từ bước nhận dạng giọng nói, để mỗi dòng trong bản chép lời có một nhãn. Lỗi ở ranh giới khá phổ biến: chữ đầu tiên của câu trả lời có thể bị gán cho người nói trước đó.

Các nhà nghiên cứu đo chất lượng bằng tỷ lệ lỗi diarization (DER), kết hợp lời nói bị bỏ sót, báo động nhầm và nhầm người nói. Các con số được công bố chênh lệch rất lớn giữa các bộ dữ liệu, từ âm thanh phát thanh sạch đến cuộc họp nhiều người ồn ào, nên một con số "độ chính xác" duy nhất nói được rất ít về bản ghi của chính bạn.

Điều gì làm hỏng việc tách người nói

  • Nói chồng lên nhau. Khi hai người nói cùng lúc, thường một giọng giành được nhãn và lời của người kia có thể bị mất hoặc gán nhầm.
  • Giọng giống nhau. Hai người cùng độ tuổi, giới tính và giọng vùng miền tạo ra những embedding nằm sát nhau và có thể bị gộp.
  • Âm thanh điện thoại và âm thanh nén. Đường điện thoại băng hẹp và tin nhắn thoại Zalo hay Messenger bị nén mạnh làm mất nhiều chi tiết mà embedding dựa vào.
  • Nhiều người nói. Mỗi giọng thêm vào lại làm việc phân cụm khó hơn, nhất là khi có người chỉ nói rất ngắn.
  • Lượt lời ngắn. "Ừ", "đúng rồi" và những câu xen một chữ khác quá ngắn để tạo được embedding đáng tin.
  • Một micro đặt xa. Chiếc laptop đặt giữa phòng thu cả tiếng vang và mức âm không đều; cùng một người có thể nghe khác đi tùy chỗ ngồi.
  • Điều kiện thay đổi. Người nói di chuyển, chuyển từ tai nghe sang loa ngoài hoặc bắt đầu nói thầm có thể bị tách thành hai nhãn.
  • Tiếng ồn nền và nhạc. Cả hai đều có thể bị tưởng là lời nói hoặc làm mờ đặc điểm giọng.

Cách phân biệt người nói trong bản chép lời đáng tin hơn

Phần lớn cải thiện đến từ khâu ghi âm chứ không phải phần mềm. Các mẹo để chép lời chính xác của chúng tôi bàn về chất lượng âm thanh nói chung; riêng với người nói:

  • Nếu được, hãy cho mỗi người một micro riêng, hoặc ít nhất để mọi người ngồi cách micro chung một khoảng tương đương.
  • Nếu bạn ghi được mỗi người trên một kênh riêng (bộ thu podcast, hoặc bản ghi cuộc gọi stereo với mỗi bên một kênh), hãy chép lời từng kênh riêng. Kênh riêng đáng tin hơn mọi thuật toán phân cụm giọng nói.
  • Nhắc mọi người đừng nói chen nhau ở những đoạn bạn cần nguyên văn, và chờ một nhịp trước khi trả lời.
  • Tránh dùng loa ngoài và âm thanh cuộc gọi video phát qua loa trong phòng khi có thể ghi âm trực tiếp.
  • Đề nghị mỗi người tự giới thiệu tên lúc bắt đầu. Việc này không huấn luyện mô hình, nhưng giúp đổi tên nhãn nhanh hơn.
  • Giữ một cuộc trò chuyện trong một tệp nếu có thể. Nếu chép lời theo từng phần, nhãn sẽ không khớp: Người nói 1 ở phần một có thể là Người nói 2 ở phần hai.
  • Kiểm tra vài phút đầu của bản chép lời. Nếu hai người bị gộp, vấn đề thường kéo dài suốt cả tệp.

Với phỏng vấn, hướng dẫn chép lời phỏng vấn trình bày cách đặt micro và xin sự đồng ý; với cuộc gọi, xem hướng dẫn chép lời cuộc họp trên Google Meet, Zoom và Teams.

Đổi tên và sửa người nói trong Audiotexta

Khi bạn tải tệp lên, dán đường link hoặc ghi âm từ micro trong Audiotexta, bản chép lời trả về có sẵn nhãn người nói và mốc thời gian. Để đổi Người nói 1 và Người nói 2 thành tên thật, hãy đổi tên người nói trong trình soạn thảo; tên mới được áp dụng cho mọi đoạn của người đó trong toàn bộ bản chép lời. Trình soạn thảo làm nổi bật từng chữ khi phát lại và cho phép bấm vào bất kỳ chữ nào để nhảy đến đúng điểm đó trong âm thanh, nhờ vậy bạn nhanh chóng nghe lại một lượt lời đáng ngờ và sửa nó.

Hãy đổi tên và sửa trước khi xuất tệp, để tên được giữ lại trong TXT, SRT và VTT (đều có ở gói miễn phí) hoặc DOCX, PDF, CSV và JSON ở gói Pro. Trong tệp phụ đề, tên người nói giúp người xem theo dõi lời thoại; trong CSV hay JSON, chúng cho phép bạn phân tích ai đã nói gì.

Như mọi hệ thống diarization, Audiotexta hoạt động tốt nhất với âm thanh rõ và giọng nói dễ phân biệt, và không mang tên người nói từ tệp này sang tệp khác: mỗi bản ghi bắt đầu với các nhãn ẩn danh mới.

Công cụ chép lời có nhãn người nói

Nhãn người nói giờ đã phổ biến, nhưng mỗi nơi triển khai một kiểu. Dưới đây là tổng quan ngắn dựa trên tài liệu của từng nhà cung cấp hoặc, ở chỗ có ghi chú, mô tả của bên thứ ba (kiểm tra tháng 10/2026; tính năng có thể thay đổi, hãy xác nhận trên trang của nhà cung cấp).

Công cụLoạiNhãn người nóiGhi chú
AudiotextaỨng dụng web, tiện ích trình duyệt, APICó, tự độngĐổi tên người nói trong trình soạn thảo; nhãn tính theo từng tệp.
Otter.aiỨng dụng họp và chép lờiCóCác hướng dẫn mô tả việc gắn thẻ người nói để Otter nhận ra giọng trong các bản ghi sau.
DescriptTrình chỉnh sửa âm thanh và videoCó, tự phát hiện người nóiTrung tâm trợ giúp nêu giới hạn độ dài tệp cho tính năng tự phát hiện; bạn gán nhãn giọng từ các mẫu.
TurboScribeChép lời trên webCóNhà cung cấp mô tả là tự động phát hiện và gắn nhãn người nói.
Bản chép lời Zoom, Teams, Google MeetTích hợp trong nền tảng họpTên lấy từ tài khoản người tham giaDựa vào ai đang đăng nhập chứ không phân tích giọng; nhiều người dùng chung một thiết bị trong phòng có thể hiện thành một người nói.
OpenAI API (gpt-4o-transcribe-diarize)API cho lập trình viênCóTrả về các đoạn có nhãn người nói; tùy chọn đoạn ghi tham chiếu cho người nói đã biết.
AssemblyAIAPI cho lập trình viênCó (speaker_labels)Cho phép đặt số lượng hoặc khoảng số người nói dự kiến.
DeepgramAPI cho lập trình viênCó (tùy chọn diarization)Trả về số thứ tự người nói cho từng từ.
Whisper (mã nguồn mở)Mô hình chạy trên máyKhôngKết hợp với một mô hình diarization như pyannote.audio.
pyannote.audioThư viện mã nguồn mởChỉ diarizationKhông chép lời; cần ghép với một mô hình nhận dạng giọng nói.

Ở điểm này, nền tảng họp trực tuyến có lợi thế thực sự: khi mọi người tham gia bằng tài khoản riêng, chúng biết tên mà không cần đoán qua giọng. Những ứng dụng ghi nhớ dấu vân giọng như Otter giúp bạn đỡ mất công đổi tên nếu thường xuyên ghi âm cùng một nhóm người. Còn với bản ghi tải lên từ phỏng vấn, cuộc gọi điện thoại hay podcast, nhận diện người nói dựa trên giọng là lựa chọn duy nhất, và một lượt rà soát, đổi tên nhanh trong trình soạn thảo là một phần của công việc.

Câu hỏi thường gặp

Nói đơn giản, nhận diện người nói là gì?

Nhận diện người nói (speaker diarization) là quá trình xác định ai nói vào lúc nào trong một bản ghi. Hệ thống chia âm thanh thành các đoạn, gom những đoạn nghe như cùng một giọng, rồi gắn nhãn Người nói 1, Người nói 2 và cứ thế, mà không biết tên ai cả.

Nhận diện người nói khác nhận dạng danh tính người nói thế nào?

Diarization tách các giọng nói khỏi nhau và gắn nhãn ẩn danh. Nhận dạng người nói thì khớp một giọng với một người cụ thể, việc này cần mẫu giọng đã đăng ký trước hoặc một nguồn định danh khác, chẳng hạn nền tảng họp trực tuyến biết ai đang đăng nhập.

Whisper có tách được người nói không?

Các mô hình Whisper mã nguồn mở chép lời nhưng tự chúng không gắn nhãn người nói. Lập trình viên thường kết hợp Whisper với một mô hình diarization riêng như pyannote.audio, và nhiều dịch vụ trực tuyến làm bước này giúp bạn.

Vì sao bản chép lời của tôi nhầm lẫn người nói?

Nguyên nhân phổ biến nhất là nói chồng lên nhau, các giọng nghe giống nhau, câu xen ngắn, âm thanh điện thoại chất lượng thấp hoặc bị nén, tiếng ồn nền và quá nhiều người trong một bản ghi. Cải thiện cách ghi âm thường hiệu quả hơn bất kỳ thiết lập nào.

Làm sao đổi nhãn người nói thành tên thật?

Hầu hết trình soạn thảo bản chép lời cho phép đổi tên một nhãn chung như Người nói 1 một lần, và thay đổi áp dụng cho mọi đoạn mang nhãn đó. Trong Audiotexta, bạn đổi tên người nói ngay trong trình soạn thảo trước khi xuất tệp.

Dùng thử Audiotexta miễn phí

Tải tệp lên hoặc dán link và nhận bản chép lời trong vài phút.

Bắt đầu chép lời

Bài viết liên quan