Transkrip berlabel membutuhkan kedua jawaban yang benar, dan karena label berada di atas kata-kata, label yang salah bisa diperbaiki tanpa menyentuh teksnya.
Transkrip rapat menjawab dua pertanyaan sekaligus: apa yang diucapkan, dan siapa yang mengucapkannya. Pembaca melihat satu tugas: sebuah nama di samping setiap baris. Di baliknya ada dua masalah, masing-masing dengan masukan dan cara gagal yang berbeda.
Pengenalan ucapan mendengarkan kata-kata. Ia mengubah audio menjadi teks dan, jika dikerjakan dengan baik, memberi waktu mulai dan waktu selesai untuk setiap kata. Ia tidak peduli apakah suara berubah di tengah kalimat; tugasnya adalah memastikan kalimat itu benar.
Diarisasi pembicara mendengarkan suara. Ia tidak mengenal kata-kata. Tugasnya adalah membagi garis waktu menjadi giliran bicara dan menentukan giliran mana yang milik orang yang sama: Speaker 1, Speaker 2. Istilah ini diambil dari kata "diary", dan itu gambaran yang cukup tepat untuk keluarannya: catatan tentang siapa yang memegang lantai dan kapan.
Ada tiga istilah yang sering tertukar dengannya. Diarisasi menyatakan siapa berbicara kapan, tanpa mengetahui siapa pun. Identifikasi pembicara menyatakan bagian ucapan tertentu milik orang yang sudah dikenal, dengan memilih dari sekumpulan suara yang sudah didaftarkan. Verifikasi pembicara menjawab pertanyaan ya-atau-tidak: apakah suara ini benar-benar milik orang X? Klaim vendor lebih mudah dipahami setelah ketiganya dipisahkan, karena "label pembicara" bisa berarti apa saja, mulai dari tebakan kasar tentang batas giliran hingga nama yang mengikuti seseorang dari satu rekaman ke rekaman berikutnya. Untuk melihat apa yang bisa dan tidak bisa dijanjikan label-label itu, lihatlah ke dalam diarizer.
Sebagian besar sistem diarisasi bekerja dalam tiga langkah, dan tidak satu pun melibatkan bahasa.
Setiap langkah bisa salah dengan sendirinya. Pembicara yang pelan terlewat. Dua suara yang mirip digabung. Seseorang yang berubah dari tenang menjadi bersemangat bisa terbelah menjadi dua.
Bidang ini menilai semua itu dengan diarization error rate (DER): porsi waktu ucapan yang terlewat, salah dideteksi sebagai ucapan, atau dikaitkan dengan pembicara yang keliru, biasanya dengan toleransi (forgiveness collar) sekitar seperempat detik di sekitar setiap batas. Toleransi ini ada karena tidak ada manusia atau mesin yang bisa menempatkan pergantian pembicara hingga milidetik. Toleransi itu wajar untuk menilai diarizer secara terpisah. Namun tidak cocok untuk transkrip, karena batas yang meleset seperempat detik akan jatuh tepat di tengah sebuah kata.
Di sinilah kedua masalah itu bertemu, dan di sinilah kualitas transkrip berlabel ditentukan. Diarizer menempatkan batasnya dengan sedikit ketidaktepatan, sering kali sepersekian detik ke kiri atau ke kanan. Pengenal ucapan menempatkan kata-kata pada garis waktu yang sama. Jika keduanya ditumpuk begitu saja, sebuah batas akan jatuh di dalam kata, sehingga separuh kata "besok" menjadi milik Speaker 1 dan separuh lainnya milik Speaker 2.
Label juga bisa salah untuk sementara sebelum menjadi benar. Diarizer semakin yakin dengan kelompoknya semakin banyak audio yang sudah didengarnya, sehingga label awal bisa terlihat salah menurut standar apa yang muncul kemudian. Pada transkrip langsung, label bisa direvisi setelah sebuah baris ditampilkan: API realtime VocalStack mengirim frame transcript.amended yang mengoreksi teks atau pembicara dari sebuah baris yang sudah ditetapkan, di tempatnya, sehingga pembaca melihat revisi, bukan kontradiksi.
Bahkan label yang ditempatkan dengan sempurna dan stabil tetaplah sekadar angka. Angka cukup untuk mengikuti sebuah percakapan; nama adalah yang ingin dibaca orang.
Label menjadi nama dengan dua cara, dan keduanya saling membangun.
Cara pertama adalah memberi nama dalam satu rekaman. Setiap pembicara yang ditemukan transkripsi mendapat indeks, dimulai dari 0. Siapa pun yang punya akses dapat memberi nama kepada setiap pembicara selama atau setelah rekaman. Nama itu adalah lapisan di atas kata-kata, sehingga bisa diatur, diubah, atau dihapus tanpa menyentuh teksnya. Melalui API, caranya adalah PUT /v1/recordings/{id}/speakers/{idx} dengan name; nama kosong akan menghapus label. Baris yang speaker-nya -1 tidak memiliki label, entah karena label dimatikan atau, dalam draf langsung, karena baris itu belum diberi atribusi.
Cara kedua adalah pengenalan lintas rekaman, yaitu masalah identifikasi dari bagian pertama. Diarizer hanya bisa menyatakan bahwa dua suara berbeda, tidak pernah siapa mereka. Untuk berpindah dari "berbeda" ke "ini Ana", sistem membutuhkan acuan: suara yang tersimpan, diambil dari rekaman orang tersebut. Minimal tiga puluh detik ucapan yang jernih, dan beberapa menit lebih baik. Sampel juga sebaiknya terdengar seperti rekaman yang akan dicocokkannya: orang yang sama lewat mikrofon laptop dan lewat mikrofon panggung bisa terdengar kurang mirip bagi mesin dibanding dua orang asing yang direkam dengan cara yang sama. Setelah suara disimpan, setiap pembicara yang didengar transkripsi dibandingkan dengannya, dan kecocokan akan membawa nama itu ke dalam transkrip. Di VocalStack, fitur ini ada di bawah Voices; transkripsi berkas dan sesi langsung di Dasbor mencocokkan suara yang tersimpan secara otomatis, dan sesi API realtime hanya mengenali suara yang Anda cantumkan di identifyVoices.
Suara yang tersimpan adalah data biometrik: suara itu dapat mengenali seseorang di rekaman mana pun, dan di VocalStack suara itu juga berfungsi sebagai kloning yang bisa membacakan kalimatnya. Dasbor meminta Anda memastikan telah mendapat izin dari orang tersebut sebelum menyimpan suaranya, dan suara itu dapat dihapus kapan saja.
Semua ini mengandaikan Anda memang menginginkan label. Sering kali tidak.
Seorang pembicara tunggal yang membacakan kuliah tidak memerlukan "Speaker 1" di depan setiap baris. Hadirin sudah tahu siapa yang memegang mikrofon. Karena itu, pengaturan label pembicara memiliki tiga posisi, dan posisinya sama di sesi realtime, siaran, transkripsi, dan rekaman.
auto di API). Baris diberi label pembicara begitu lebih dari satu suara terdengar; rekaman satu pembicara tetap berupa teks biasa, dan suara kedua yang bergabung terlambat tetap ditangkap. Formulir transkripsi langsung baru di Dasbor dimulai dari posisi ini.Unggahan berkas memakai opsi speakerLabels yang sama, dan API realtime memungkinkan Anda mengubahnya di tengah aliran; rinciannya ada di referensi API. Pemisahan dan penamaan pembicara tidak pernah menambah tagihan (tarif lengkapnya ada di halaman harga), jadi pilihannya soal apa yang perlu dilihat pembaca, bukan berapa biayanya.
Jika diaktifkan, diarisasi sudah baik tetapi tidak ajaib. Dua situasi masih mengalahkannya.
Yang pertama adalah tumpang-tindih. Saat dua orang berbicara bersamaan, satu bagian audio membawa dua suara. Diarizer yang sadar akan tumpang-tindih sudah ada dalam riset dan, semakin banyak, dalam produk; misalnya end-to-end neural diarization (EEND), yang memperlakukan "siapa yang berbicara" sebagai serangkaian pertanyaan ya-atau-tidak yang simultan, bukan satu jawaban. Namun sebagian besar sistem produksi masih menetapkan satu pembicara untuk setiap bagian, dan pengenal di atasnya mentranskripsikan satu suara dalam satu waktu. Percakapan silang dalam panel yang memanas adalah audio tersulit di bidang ini, dan label setiap vendor memburuk di sana. Itu juga, dapat dipastikan, bagian yang paling ingin dikutip orang setelahnya.
Yang kedua adalah suara yang sangat mirip. Saudara kandung bisa menghasilkan embeddings yang terlalu dekat untuk dipisahkan dengan andal, apalagi jika mereka saling bergantian dalam giliran pendek selama satu jam. Audio telepon memperburuk keadaan bagi semua orang: saluran narrowband diambil sampelnya pada 8 kHz dan tidak membawa apa pun di atas sekitar 3,4 kHz, padahal sebagian besar yang membedakan satu suara dari suara lain justru berada di atas batas itu. Dua orang di saluran telepon yang sama terdengar lebih mirip bagi diarizer dibandingkan bagi Anda.
Solusi yang paling praktis untuk keduanya ada di hulu, sebelum model apa pun: beri setiap orang mikrofonnya sendiri. Dengan satu saluran untuk setiap pembicara, diarisasi berkurang menjadi pertanyaan saluran mana yang paling keras; tumpang-tindih menjadi dua trek bersih, bukan satu trek yang keruh; dan embeddings tidak pernah diminta mengerjakan bagian yang sulit. Satu mikrofon meja lebih murah dan hampir selalu yang Anda miliki, itulah sebabnya sisa artikel ini ada.
Kedua batas itu tidak harus sampai ke pembaca dalam bentuk aslinya. Karena label adalah lapisan di atas kata-kata, label yang salah tidak pernah menghilangkan teks Anda: nama pembicara bisa diatur atau dihapus pada rekaman kapan saja, dan dalam transkripsi langsung, host dapat menulis ulang kata atau baris mana pun selagi berjalan, dengan setiap perbaikan ditandai dan bisa dibatalkan.
Untuk sisi kata-katanya, apa yang diukur word error rate dan apa yang terlewat membahas lapisan koreksi secara rinci; WER bagi pengenal ucapan sama seperti DER bagi diarizer, dan sebuah transkrip membutuhkan keduanya agar tetap rendah.