İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM
DersBaşlangıç40 dakikaKonuşma Arayüzü Geliştirici · 1. ders

Sesten metne tanıma hattını kurmak ve ölçmek

Ses yakalamadan akışlı çözümlemeye kadar tanıma hattının halkalarını, her halkanın bir sonrakine bıraktığı hatayı ve kelime hata oranının kendi kayıtlarınızla nasıl hesaplandığını öğretir.

BU DERSİN SONUNDA

  • Tanıma hattının halkalarını ve her halkanın ürettiği hata türünü ayırt etmek
  • Örnekleme hızı, kanal ve pencere kararlarını gerekçelendirmek
  • Kelime hata oranını kendi kayıtları üzerinde hesaplamak ve türlerine ayırmak
  • Toplu ve akışlı çözümleme arasında bütçeye dayalı seçim yapmak
  1. 1

    Teori

    Kavramın çalışma mantığı

  2. 2

    Örnek

    Gerçek bir senaryo üzerinde gösterim

  3. 3

    Lab

    Uygulamalı alıştırma

  4. 4

    Test

    Kısa ölçüm

  5. 5

    Proje

    Rotadaki projeye katkı

Kısa cevap

Tanıma hattı beş halkadan oluşur: yakalama, konuşma etkinliği tespiti, parçalama, çözümleme ve son düzeltme. Her halka bir sonrakine hata bırakır; hattın toplam kalitesi en zayıf halkaya bağlıdır. Bu yüzden ölçüm yalnızca çözümleyicinin nihai çıktısında değil, hattın her kavşağında yapılır — ara çıktıları saklamayan bir hatta hata teşhis edilemez.

Teori: hattın halkaları#

Mikrofon sesi analog bir elektrik sinyaline çevirir; dönüştürücü bu sinyali sabit aralıklarla örnekler. Örnekleme hızı, temsil edilebilen en yüksek frekansı belirler: örnekleme hızının yarısının üstündeki frekanslar geri katlanır ve sinyale gürültü olarak karışır. İnsan konuşmasının ayırt edici bilgisinin büyük kısmı düşük frekanslarda yoğunlaştığı için telefon kalitesindeki bir kayıt bile anlaşılır kalır; ama /s/ ve /ş/ gibi sürtünmelilerin ayrımı üst bantta taşınır, kanal orayı kestiğinde karışıklık başlar.

Çözümleyici ses dalgasını doğrudan okumaz; kısa pencerelere böler ve her pencereden bir öznitelik vektörü çıkarır. Pencere uzunluğu bir ödünleşimdir: kısa pencere zamanda keskin ama frekansta bulanıktır, uzun pencere tersi. Sonraki katman bu vektör dizisini karakter veya alt-kelime birimlerine çevirir; yani çıktı doğrudan kelime değildir, kelime sonradan birleştirilir. Hatalar bu yüzden kelime düzeyinde değil bu alt birimlerde doğar ve birleştirme sırasında tam kelimeye yayılır.

Konuşma etkinliği tespiti hattın en ucuz ama en belirleyici halkasıdır: konuşma olan aralıkları işaretler, sessizliği atar. İki yönlü bir riski vardır. Eşik yüksekse kelime başları ve sonları kesilir, çözümleyici eksik sinyalle çalışır; eşik düşükse gürültü konuşma sanılır ve çözümleyiciye boşluk gönderilir. İkinci durum yalnızca işlem israfı değil, boşluktan metin üretilmesinin de başlıca kaynağıdır.

Uygulamada: halka halka karşılıklar#

HalkaNe yaparBozulunca belirtiKarar noktası
YakalamaMikrofondan örnek alır, tek kanala indirirKırpma, uğultu, çok kısık kayıtÖrnekleme hızı ve kazanç
Etkinlik tespitiKonuşma aralıklarını işaretlerKelime başı kesilir ya da sessizlik metne dönüşürEşik ve kuyruk süresi
ParçalamaUzun kaydı çözümlenebilir dilimlere bölerCümle ortasından kesim, bağlam kaybıDilim uzunluğu ve örtüşme
ÇözümlemeÖznitelik dizisini metne çevirirYerine koyma ve silme hatalarıToplu mu akışlı mı
Son düzeltmeNoktalama, sayı ve alan terimlerini normalleştirirAynı değerin iki farklı biçimde yazılmasıSözlük ve biçim kuralları
Belirtiler kesişebilir; her kavşakta ara çıktıyı saklamak teşhisi mümkün kılan tek şeydir.

Kelime hata oranı#

Kelime hata oranı, çözümlenen metni referans metne hizalayıp üç hata türünü sayar: yerine koyma, silme ve ekleme. Toplam hata sayısı referanstaki kelime sayısına bölünür. Tanım gereği üst sınırı yoktur; model çok fazla kelime uydurursa oran birin üstüne çıkar. Tek bir sayı olarak okumak yanıltıcıdır: silmeler yığılıyorsa etkinlik tespiti erken kesiyor, eklemeler yığılıyorsa sessizlik metne dönüşüyor, yerine koymalar yığılıyorsa sorun yakalama veya sözlük tarafında. Aşağıdaki hesap toplam hatayı verir; türlere ayırmak için matris geriye doğru izlenir.

python
def kelime_hata_orani(referans: str, cikti: str) -> dict:
    """Hizalama matrisi kurar; toplam hata sayısını ve oranı döndürür.

    Türlere ayırmak için d matrisi son hücreden geriye izlenir:
    köşegen adım yerine koyma, yukarı adım silme, sola adım eklemedir.
    """
    r = referans.split()
    c = cikti.split()
    d = [[0] * (len(c) + 1) for _ in range(len(r) + 1)]
    for i in range(len(r) + 1):
        d[i][0] = i          # tüm referans kelimeleri silinmiş
    for j in range(len(c) + 1):
        d[0][j] = j          # tüm çıktı kelimeleri eklenmiş
    for i in range(1, len(r) + 1):
        for j in range(1, len(c) + 1):
            if r[i - 1] == c[j - 1]:
                d[i][j] = d[i - 1][j - 1]
            else:
                d[i][j] = 1 + min(
                    d[i - 1][j - 1],  # yerine koyma
                    d[i - 1][j],      # silme
                    d[i][j - 1],      # ekleme
                )
    hata = d[len(r)][len(c)]
    return {"hata": hata, "referans_kelime": len(r), "oran": hata / max(len(r), 1)}

Karar: toplu mu akışlı mı#

  1. 1Bütçeyi yaz

    Kullanıcı ilk geri bildirimi ne kadar sürede görmeli? Bu sayı yoksa karar verilemez, yalnızca tercih edilir.

  2. 2Girdi uzunluğunu ölç

    Tek cümlelik komutlar toplu çözümlemeyle de akıcı hissedilir; dakikalarca süren konuşma akış gerektirir.

  3. 3Kısmi sonucun işe yarayıp yaramadığını sor

    Ekranda canlı metin gösterilecekse veya devir kararı kısmi metne bakacaksa akış zorunlu; yalnızca nihai metin kullanılacaksa değil.

  4. 4Düzeltme maliyetini hesapla

    Akışta kısmi çıktı sonradan değişir. Arayüz ve aşağı akış mantığı geri alınan kelimeleri kaldırabiliyor mu?

  5. 5Ara çıktıyı sakla

    Hangi yol seçilirse seçilsin ses, kısmi metin ve nihai metin birlikte saklanır; ölçüm ancak böyle yeniden koşturulabilir.

Sık yapılan hata#

En sık görülen yanılgı, tanıma kalitesini tek bir ortalama kelime hata oranıyla özetlemek. Ortalama, en çok konuşan kişinin ve en sık kullanılan ortamın ağırlığını taşır; azınlıkta kalan koşul — hoparlörden konuşma, arka planda ikinci bir ses, güçlü aksan — ortalamada erir. İkinci yanılgı, referans metni çözümleyici çıktısını düzelterek yazmak. Bu, modelin kendi tercihlerini referansa taşır ve ölçümü sistematik olarak iyimser hâle getirir.

LAB · UYGULAMALI ALIŞTIRMA

Kendi kayıtlarınızla başlangıç değeri ölçün

  1. 1Uygulamanızın gerçek komutlarından 30 cümlelik bir liste yazın; kendi sesinizle veya izin aldığınız kişilerle, aynı mikrofonu kullanarak sessiz ortamda kaydedin.
  2. 2Aynı 30 cümleyi ikinci kez, arka planda konuşma veya klavye sesi varken kaydedin; iki küme birebir aynı metinleri paylaşsın.
  3. 3Referans metinleri kayıttan bağımsız olarak okunan cümle listesinden alın ve satır satır bir dosyaya yazın.
  4. 4Projenizde kullandığınız çözümleyiciyi (yoksa işletim sisteminin yerleşik dikte özelliğini) iki küme üzerinde koşturun; çıktıları aynı satır düzeniyle ikinci dosyaya yazın.
  5. 5Ders içindeki hesabı uygulayıp iki küme için oranı çıkarın, ardından matrisi geri izleyerek yerine koyma, silme ve ekleme sayılarını ayırın.
  6. 6İki küme arasındaki farkı ve hangi hata türünün arttığını tek tabloda not edin; artan türe bakarak hangi halkanın zayıf olduğunu yazın.

Beklenen çıktı

Sessiz ve gürültülü iki kayıt kümesi için hesaplanmış kelime hata oranı, üç hata türünün dağılımı ve hattın hangi halkasının zayıf olduğuna dair gerekçeli bir not.

Sık sorulan sorular

Kelime hata oranı düşük ama kullanıcılar şikâyetçi; nasıl olur?

Kelime hata oranı her kelimeye eşit ağırlık verir. Bir komut cümlesinde asıl yükü taşıyan kelime — tarih, miktar, ürün adı — yanlış çözümlendiğinde oran çok az artar ama işlem tamamen yanlış yürür. Bu yüzden oranın yanında anlam taşıyan alanların doğruluğunu ayrı ölçün: aynı kayıtlarda hedef alanı doğru çıkarılan cümlelerin payı.

Türkçede kelime hata oranı neden şişkin görünüyor?

Türkçe eklemeli bir dildir; tek kelime birçok biçimbirim taşır ve tek bir ekin yanlış çözümlenmesi tam kelime hatası sayılır. Aynı kaydı karakter hata oranıyla da ölçmek bu şişmeyi ayırt etmenizi sağlar: karakter oranı düşük, kelime oranı yüksekse hata büyük ölçüde ek düzeyindedir. Kıyaslamalarda iki oranı birlikte raporlayın.

Sessizlikte üretilen metni hangi halkada temizlemeliyim?

İlk çare etkinlik tespiti eşiğidir, ama tek başına yeterli değildir. Çözümleyici çıktısındaki güven değeri ve konuşma süresi birlikte kullanılabilir: çok kısa bir konuşma aralığından uzun metin çıkmışsa çıktı şüphelidir. Bu ayıklamanın kuralları ve eşik ayarı dördüncü bölümün konusu.

LEARN

Konuşma Arayüzü Geliştirici rotasına devam et

Dersler tek başına da okunabilir, ama sıralı ilerlemek önkoşul boşluklarını kapatır.