Speaker Diarization (Konuşmacı Ayrıştırma)

Konuşmacı Ayrıştırma, bir ses kaydındaki farklı konuşmacıları otomatik tanıyıp zaman dilimlerine göre etiketleyen yapay zeka teknolojisidir.

Konuşmacı Ayrıştırma (Speaker Diarization), bir ses kaydındaki farklı konuşmacıları otomatik olarak tanıyıp birbirinden ayıran ve her konuşmacının konuştuğu zaman dilimlerini etiketleyen yapay zeka teknolojisidir. Latince'de 'günlük' anlamına gelen 'diarize' kelimesinden türeyen bu terim, çok kişili ses kayıtlarını 'Kim ne zaman konuştu?' sorusunu yanıtlayacak biçimde bölümlere ayırmayı amaçlar. Teknik olarak sistem üç temel aşamadan oluşur: Önce Ses Etkinlik Tespiti (Voice Activity Detection — VAD) ile sessizlik ve konuşma bölgeleri ayrılır. Ardından her konuşma bölümünden konuşmacı gömme vektörü (speaker embedding) çıkarılır; bu vektör, o bölümün kimin sesi olduğunu temsil eden kompakt bir sayısal imzadır. ECAPA-TDNN, x-vector ve d-vector gibi nöral gömme modelleri modern sistemlerin omurgasını oluştururken son aşamada spektral kümeleme veya aglomeratif hiyerarşik kümeleme (AHC) algoritmaları benzer vektörlü bölümleri aynı konuşmacı altında gruplar. Sistem, konuşmacı sayısını önceden bilmeden çalışabilir — kaç kişi olduğunu veriden kendisi tahmin eder. Bu özellik, katılımcı sayısının değişken olduğu toplantı ve çağrı merkezi senaryolarında kritik avantaj sağlar. Bilindiği durumlarda ise sabit sayıda kümeye bölünerek hata oranı azaltılabilir. Whisper gibi ASR modellerine entegre edilen speaker diarization, ham transkripsiyon çıktılarını yapılandırılmış, konuşmacı etiketli belgelere dönüştürür. pyannote.audio, NVIDIA NeMo ve AssemblyAI bu alanda öne çıkan açık kaynaklı ve ticari araçlardır. Hata ölçütü olarak DER (Diarization Error Rate) ve JER (Jaccard Error Rate) kullanılır; sektörde %5-15 DER aralığı iyi performans, %5 altı ise mükemmel performans olarak kabul edilir. Üst üste binen konuşmalar (overlapping speech) ve kısa konuşmacı geçişleri sistemlerin en önemli hata kaynakları olmaya devam etmektedir. Son yıllarda uçtan uca eğitilen diarization modelleri ve büyük konuşma modellerinin entegrasyonu bu sınırları önemli ölçüde daraltmış; gerçek zamanlı ve çok dilli diarization giderek olgunlaşmaktadır.

Speaker Diarization Nasıl Çalışır?

Speaker diarization süreci tipik olarak üç aşamadan oluşur. İlk aşamada Ses Etkinlik Tespiti (Voice Activity Detection — VAD), sessizlik ile konuşma bölgelerini birbirinden ayırır. İkinci aşamada her konuşma bölümünden konuşmacı gömme vektörü (speaker embedding) çıkarılır; bu vektör, o bölümün kimin sesi olduğunu temsil eden kompakt bir sayısal imzadır. ECAPA-TDNN ve ResNet tabanlı modeller bu aşamada yaygın kullanılır. Üçüncü ve son aşamada spektral kümeleme veya aglomeratif hiyerarşik kümeleme (AHC) gibi algoritmalar, benzer gömme vektörlerine sahip bölümleri aynı konuşmacı altında gruplar. Sistem konuşmacı sayısını önceden bilmeden çalışabilir ya da biliniyorsa sabit sayıda kümeye bölünebilir.

Diarization Pipeline Adımları

Ses Aktivite Tespiti (VAD)

Sessizlik ve konuşma bölümleri birbirinden ayrılır. WebRTC VAD, Silero VAD yaygın araçlardır. Bu adım gürültüyü filtreler; diarization hassasiyetini artırır.

Segmentasyon

Konuşmacı değişimleri tespit edilir. Değişim noktası tespiti (PELT, BIC) veya sabit pencere bölümlemesi kullanılır. Hatalı bölümleme diarization hatasını doğrudan artırır.

Özellik Çıkarma (Embedding)

Her segment için konuşmacı temsili üretilir. x-vector, d-vector veya ECAPA-TDNN gibi derin öğrenme modelleri sabit boyutlu gömme vektörleri üretir.

Kümeleme (Clustering)

Benzer gömme vektörleri aynı konuşmacı kümesine atanır. Spectral clustering, agglomeratif hiyerarşik kümeleme (AHC) ve k-means yaygındır. Küme sayısı bilinmiyorsa otomatik belirlenir.

Kullanım Alanları

  • check_circle Toplantı ve Konferans: Zoom, Teams ve Webex gibi platformlardaki toplantı kayıtları konuşmacı etiketli transkriptlere dönüştürülür. 'Kim ne dedi?' sorusu otomatik yanıtlanarak toplantı özetleri ve aksiyon maddeleri kolayca çıkarılır.
  • check_circle Çağrı Merkezi Analizi: Müşteri-temsilci diyalogları ayrıştırılarak her tarafın konuşma süresi, kesme sayısı ve duygu tonu ayrı ayrı analiz edilir. Kalite güvencesi ve temsilci performans değerlendirme süreçlerini otomatize eder.
  • check_circle Podcast ve Medya: Çok katılımcılı podcast kayıtlarında her konuşmacıya ayrı altyazı ve arama indeksi üretilir. İçerik platformları konuşmacı bazlı arama ve filtreleme özelliği sunabilir.
  • check_circle Hukuk ve Tıp: Dava duruşmaları, bilirkişi ifadeleri ve tıbbi konsültasyon kayıtları konuşmacı bazlı belgelere dönüştürülür. Resmi arşivleme ve kanıt olarak kullanım için doğru atıf kritik öneme sahiptir.

Araçlar ve Ekosistem

  • check_circle pyannote.audio: Python tabanlı açık kaynaklı speaker diarization kütüphanesi. Hugging Face üzerinden erişilebilir önceden eğitilmiş pipeline'lar sunar; SOTA DER değerleri ile araştırmada referans araç konumundadır.
  • check_circle NVIDIA NeMo: GPU hızlandırmalı kurumsal konuşma yapay zekası çerçevesi. Speaker diarization, ASR ve NLP görevlerini tek pipeline'da birleştirir; gerçek zamanlı büyük ölçekli kullanım için optimize edilmiştir.
  • check_circle AssemblyAI: Bulut tabanlı API hizmeti; otomatik transkripsiyon ile konuşmacı etiketlemeyi tek çağrıda sunar. Hızlı entegrasyon için tercih edilen ticari bir çözümdür.
  • check_circle Whisper + pyannote Kombinasyonu: Whisper ile yüksek doğruluklu transkripsiyon, pyannote ile konuşmacı etiketleme birleştirilerek açık kaynaklı yüksek kaliteli diarized transkript pipeline'ı oluşturulabilir.

error_outline Diarization Zorlukları ve Hata Türleri

  • check_circle Konuşma örtüşmesi: İki konuşmacı aynı anda konuştuğunda segment ataması güçleşir. Modern modeller örtüşme tespiti (overlap detection) bölümü içerir.
  • check_circle Diarizasyon Hata Oranı (DER): Yanlış segmentasyon + yanlış etiket + kaçırılan konuşma hatası toplamıdır. NIST standartlarında %5-10 altı iyi kabul edilir.
  • check_circle Bilinmeyen konuşmacı sayısı: Gerçek dünya kayıtlarında kaç kişinin konuştuğu önceden bilinmez. Otomatik küme sayısı belirleme yöntemleri bu sorunu çözer.
  • check_circle Akustik koşullar: Gürültü, reverberasyon ve mikrofon kalitesi diarization hatalarını artırır. Ön işleme (gürültü giderme, kaynak ayrıştırma) kritik önem taşır.
  • check_circle Domain uyumsuzluğu: Telefon kaydında eğitilen model yüz yüze toplantıda düşük performans gösterebilir — domain uyarlaması gerekebilir.

Sık Sorulan Sorular

  • check_circle Speaker diarization ve speaker recognition arasındaki fark nedir? Speaker recognition, bir sesi önceden bilinen kişiyle eşleştirirken; speaker diarization kayıttaki konuşmacıları birbirinden ayırır ancak kimliklerini bilmeden 'Konuşmacı 1, Konuşmacı 2' gibi etiketler. Kimlik doğrulaması gerektirmez.
  • check_circle DER nedir ve iyi bir DER değeri ne kadardır? Diarization Error Rate, yanlış konuşmacı atfı, kaçırılan konuşma ve fazladan etiketlenen bölümlerin toplam oranıdır. Sektörde %5-15 arası iyi, %5 altı mükemmel performans sayılır; gürültülü ortamlarda bu değer yükselir.
  • check_circle Speaker diarization gerçek zamanlı çalışabilir mi? Evet. NVIDIA NeMo ve özelleştirilmiş pipeline'lar 100-500ms gecikmeyle çevrimiçi diarization yapabilir. Gerçek zamanlı toplantı altyazısı ve çağrı merkezi analizi bu özelliği aktif kullanmaktadır.
  • check_circle Kaç konuşmacıya kadar doğru çalışır? Modern sistemler genellikle 2-8 konuşmacıya kadar iyi performans gösterir. Konuşmacı sayısı arttıkça DER yükselir; üst üste binen konuşmalar (overlapping speech) en büyük hata kaynağıdır.