İçeriğe geç

11.3 · Seviye 2 · Sinir Ağları ve Derin Öğrenme

Konuşma tanıma

sesten metne ve aksanın, gürültünün etkisi

Yapay Zekâ Akademisi — M11, Sıralı Veri ve Ses · 2.550 kelime · 3 saha durumu · ≈ 12 dk okuma · 17 dk dinleme

Saha durumlarındaki kişiler ve kurumlar kurgusaldır; kaynaklar gerçektir. Belirli ürün ve modeller hakkındaki gözlemler yazıldıkları tarihte geçerlidir ve «Tarihli gözlem» etiketiyle yılı belirtilerek verilir. Yapay zekâ çıktıları doğrulanmadan karar dayanağı yapılmaz; dersler hukuki, tıbbi ya da mali danışmanlığın yerini tutmaz.

Açılış

Taslak ekranda bekliyordu: "Ağrı için ibuprofen alsın."

Dr. Seda Hanım cümleyi iki kez okudu. Yarım saat önce yetmiş dört yaşında, böbrek değerleri düşmüş bir hastaya bunun tersini söylemiş, mikrofona da tersini dikte etmişti: almasın. Programın yazdığı cümlede tek bir hece eksikti ve o hece cümlenin bütün anlamını taşıyordu.

Merkezin bilgi işlem birimi programı üç aylık deneme için kurmuştu. İki kipi vardı. Birincisinde hekim muayeneden sonra notunu kendisi dikte ediyordu. İkincisinde masadaki mikrofon muayene konuşmasının tamamını dinliyor, sonunda bir not taslağı öneriyordu.

Öğleden sonra ikinci kipi denedi. Seksen yaşında bir kadın, köyden oğluyla gelmişti; geceleri düz yatınca nefesinin daraldığını, iki yastıkla oturur gibi uyuduğunu kendi ağzıyla, kelime sonlarını yuvarlayarak anlattı. Taslakta tek cümle vardı: "Hasta geceleri rahat uyuduğunu belirtiyor." Program anlayamadığı yeri boş bırakmamış, düzgün bir Türkçeyle doldurmuştu.

Dr. Necati Bey taslağa baktı. "Satıcı yüzde dört hata demişti."

"Kaç kelimede dört," dedi Seda Hanım, "kimin sesinde, hangi odada?" Satıcının broşüründe bu üç sorunun hiçbirinin cevabı yoktu. Yalnız bir sayı vardı, bir de "Türkçe destekli" yazısı.

Tek fikir

Konuşma tanıma, sesi tahmin edilmiş bir metne çevirir; tahmin, sistemin eğitimde duyduğu seslere ve sözlere yakın olduğu ölçüde tutar. Ortalama hata oranı hatanın kime ve hangi kelimeye düştüğünü göstermez.

Nasıl çalışır

Ders 1.5'te Seda Hanım bir turiste sesli çeviriyle reçete anlatmıştı. O zincirin ilk halkası, çevirinin başlayabilmesi için sesin önce yazıya dökülmesiydi.

Ses modele nasıl girer? Ders 3.2'de mikrofonun basınç dalgalanmasını voltaja, cihazın da voltajı eşit aralıklarla sayıya çevirdiğini görmüştük. Konuşma için yaygın örnekleme hızı saniyede on altı bin ölçümdür. Otuz saniyelik bir konuşma dört yüz seksen bin sayıdır. Bu ham sayılar kötü bir girdidir: aynı kelime iki kişinin ağzından, hatta aynı kişinin iki söyleyişinden bambaşka dalgalar çıkarır. Kulağın ayırdığı şey dalganın kendisi değil, içindeki titreşimlerin hangi frekanslarda yoğunlaştığıdır.

Yazarların seçimiyle hesaplayalım. Her pencere yirmi beş milisaniye, yani dört yüz ölçüm. Pencere her seferinde on milisaniye, yani yüz altmış ölçüm kayar; saniyede yüz sütun çıkar. Her sütunda seksen frekans bandının enerjisi vardır. Otuz saniye yaklaşık üç bin sütun, üç bin kere seksen iki yüz kırk bin sayı eder. Dört yüz seksen bin sayı yarıya inmiştir ama asıl kazanç sayının azalması değildir: aynı ses artık aynı desene benzer. Ünlüler spektrogramda yatay parlak şeritler bırakır, "s" yüksek frekanslarda dağınık bir gürültüdür, "p" ve "t" kısa bir sessizliğin ardından gelen dikey bir çizgidir. Ders 10.1'deki filtreler bu ızgaranın üstünde, bir fotoğrafın kenarlarını aradıkları gibi bu desenleri arar.

Model desenleri harf ya da kelime parçası dizisine çevirirken iki tür kanıta yaslanır. Biri sesin kendisidir. Öteki, eğitimde gördüğü metinlerden öğrendiği beklentidir: hangi sözün hangisinin ardından gelmesi olasıdır. Ses net olduğunda ilk kanıt ağır basar. Ses gürültülü, söyleyiş alışılmadık ya da kelime seyrek olduğunda beklenti boşluğu doldurur. Seda Hanım'ın taslağındaki "rahat uyuyor" cümlesi böyle bir dolgunun izini taşır: program sesi tanımadığı yerde akıcı bir hasta notunun nasıl süreceğini tahmin etmiştir. Akıcılık doğruluğun işareti değildir.

Bir tanıyıcının ne kadar iyi olduğunu ölçmek için elde doğru bir döküm olmalıdır; bunu dikkatle dinleyen bir insan yazar.

Seda Hanım'ın sabahki cümlesini dokuz kelimeyle yazalım: "Hastaya ramipril beş miligram başlandı ağrı için ibuprofen almasın." Program "ramipril" yerine "rami pril" yazmış, sondaki kelimeyi de "alsın" yapmıştı. Hizalama şöyle okunur: "ramipril" yerine "rami" bir değiştirme, ardından gelen "pril" bir ekleme, "almasın" yerine "alsın" bir değiştirme daha. Üç hata, dokuz kelime: kelime hata oranı dokuzda üç, yüzde otuz üç. Yalnız "almasın" yanlış olsaydı oran dokuzda bir, yaklaşık yüzde on bir olurdu. Program "Hastaya" yerine "Hasta" yazsaydı da oran yine dokuzda bir olurdu. Ölçü iki hatayı aynı tartar; biri hastaya ilaç verdirir, öteki yalnız bir yönelme ekini düşürür.

Türkçe bu ölçüye ayrıca bir sorun çıkarır. Kelime hata oranı, kelimeleri boşlukla ayrılmış ve görece kısa dillerde iyi çalışır. Türkçede bir kelime bir cümlenin işini görebilir. "İlacı bırakmamasını söyledim" üç kelimedir; tanıyıcı "bırakmasını" yazarsa kelime hata oranı üçte bir, yüzde otuz üç olur. Aynı cümlenin İngilizcesi sekiz kelimedir, aynı anlam hatası, yani "not" kelimesinin düşmesi, sekizde bir, yüzde on iki buçuk eder. Hata aynı, sayı iki buçuk katından fazla.

"İlacı bırakmamasını söyledim" yirmi sekiz karakterdir, boşluklar dahil. "Bırakmasını"da iki harf eksiktir: karakter hata oranı yirmi sekizde iki, yaklaşık yüzde yedi. Seda Hanım'ın dokuz kelimelik cümlesi altmış altı karakterdir; yalnız "almasın" hatası altmış altıda iki, yüzde üçe yakın. Burada dikkat: karakter hata oranı da anlamı tartmaz. Olumsuzluk ekinin kaybı yüzde üç gibi masum bir sayıya sığar.

Gürültü de aynı mekanizmadan geçer. Sinyalin gücünün gürültünün gücüne oranı düştükçe spektrogramdaki konuşma deseni arka plan desenine karışır. Radford ve arkadaşları temiz okunmuş İngilizce kayıtlara beyaz gürültü ve kalabalık bir lokantanın uğultusunu ekledi. Yalnız temiz sesle eğitilmiş modeller gürültüsüz kayıtta onların modelinden iyiydi, gürültü arttıkça hepsi hızla geriledi ve uğultu belli bir düzeyi geçince sıralama tersine döndü. Kaydın koşulu sistemin eğitildiği koşullardan uzaklaştıkça hata büyür; Ders 6.6'da gördüğümüz dağılım kaymasının sesteki yüzü budur.

Sahada

Nerede yanılır

Satıcının yüzde dördü bir ortalamadır ve üç soruyu gizler.

İlki, hatanın kime düştüğü. Koenecke ve arkadaşlarının çalışmasında ortalama fark iki kata yakındı ama asıl fark dağılımın kuyruğundaydı: kullanılamaz dökümler bir grupta yüzde yirmi üç, ötekinde yüzde birin biraz üstündeydi. Yüzde dört diyen bir tanıyıcı, merkezin hastalarının büyük kısmında yüzde ikiyle, köyden gelen yaşlı hastalarda yüzde yirmiyle çalışıyor olabilir. Eğitim verisinde bir ağız, bir yaş grubu, bir ses rengi azsa tanıyıcı o sesleri en çok bilinen seslerin kalıbına sokar.

İkincisi, hatanın hangi kelimeye düştüğü. Ölçü her kelimeyi aynı tartar. Bir tıbbi notta "ve", "için", "hasta" gibi kelimeler çoğunluktur ve tanıyıcı onları kolay bilir; ilaç adları, dozlar, olumsuzluk ekleri ve sağ ile sol azınlıktadır. Ortalama, kolay çoğunluğun başarısıyla yükselir.

Üçüncüsü, sayının hangi kayıtta ölçüldüğü. Okunmuş cümleler serbest konuşmadan kolaydır; sessiz oda muayene odasından kolaydır. Radford ve arkadaşlarının Türkçe sonuçları aynı modelde iki derlem arasında bile neredeyse iki kat ayrışıyordu. Aynı yazarlar başka bir tuzağa da dikkat çeker: kelime hata oranı biçim farklarını da hata sayar. "Beş miligram" ile rakam ve kısaltmayla yazılmış doz aynı bilgidir ama farklı kelimelerdir. Satıcı dökümleri karşılaştırmadan önce nasıl bir yazım standardına çevirdiğini söylemezse, iki ürünün oranı karşılaştırılamaz.

En sinsi yanılgı akıcılıktır. Tanıyıcı emin olmadığı yeri işaretlemez; eksik heceyi dilbilgisine uygun bir kelimeyle, anlaşılmayan cümleyi düzgün bir cümleyle doldurur. Okuyan kişi bozuk bir metinde durur, akıcı bir metinden geçer gider.

Uygulama

İki taslağı kâğıt üstünde ölçecek, sonra kendi sesinle küçük bir deney kuracaksın.

  1. Doğru döküm şu dokuz kelime: "sol dizde şişlik yok sağ dizde hafif şişlik var". Boşluklar dahil kırk yedi karakter.
  2. Birinci tanıyıcı şunu yazdı: "sol dizde şişlik var sağ dizde hafif şişlik var". Kelimeleri hizala, değiştirme, silme ve ekleme sayılarını ayrı ayrı yaz, kelime hata oranını hesapla.
  3. İkinci tanıyıcı şunu yazdı: "soldizde şişlik yok sağ dizde hafif şişlikler var". Aynı sayımı yap. İpucu: iki kelimenin birleşmesi bir değiştirme ve bir silmedir.
  4. Her iki döküm için karakter hata oranını da hesapla.
  5. Hangi döküm sayıca daha kötü, hangisi bir hekimi yanlış karara götürür? İkisini bir cümleyle yaz.
  6. Bir yemek tarifinden ya da bir gazete haberinden yirmi kelimelik bir paragraf seç. Telefonunun dikte özelliğiyle sessiz bir odada bir kez, musluk açıkken ya da televizyon konuşurken bir kez oku.
  7. İki dökümün kelime hata oranını hesapla; hataların hangi kelimelerde toplandığını işaretle.

Birinci tanıyıcıda tek bir değiştirme vardır: dokuzda bir, yaklaşık yüzde on bir. Karakter düzeyinde "yok" yerine "var", üç harf: kırk yedide üç, yaklaşık yüzde altı. İkinci tanıyıcıda "soldizde" bir değiştirme ve bir silme, "şişlikler" bir değiştirmedir: dokuzda üç, yüzde otuz üç. Karakter düzeyinde bir boşluk eksik, üç harf fazla: kırk yedide dört, yaklaşık yüzde dokuz. Her iki ölçüde de ikinci tanıyıcı daha kötü görünür. Oysa onun dökümünü okuyan hekim doğru bilgiyi alır; birincisini okuyan, şişlik olmayan dizde şişlik arar.

Defter: "Sayı ve anlam" sayfasına iki tanıyıcının sayılarını alt alta yaz, yanlarına hangisinin hastaya zarar verebileceğini not et. Altına kendi deneyinin iki oranını ve hataların toplandığı kelimeleri ekle: özel adlar mı, sayılar mı, ekler mi?

Hata köşesi

Yaygın yanlış"Yüzde dört hata, notların yüzde doksan altısı doğru demektir."
Doğrusu

Kelime hata oranı kelime sayar, not saymaz. On beş kelimelik bir notta ortalama bir kelimeden az hata düşer, ama o tek kelime "almasın" olabilir. Bir notun kullanılabilir olup olmadığını, notun kritik kelimelerinin ayrıca sayılması gösterir.

Yaygın yanlış"Aksan sorunu, konuşanın düzgün konuşmamasıdır."
Doğrusu

Koenecke ve arkadaşları aynı metni söyleyen iki grupta hatanın iki katına çıktığını gösterdi. Ölçülen şey konuşanın doğruluğu değil, sistemin eğitim verisinde o söyleyişi ne kadar duyduğudur. Hasta sistemi eğitmek zorunda değildir; sistem hastayı duyacak biçimde sınanmak zorundadır.

Sorumluluk

Dikte programı bir yazıcıdır, imzalayan değildir. Seda Hanım merkezde şu kuralı koydu: taslak, hekim okuyup imzalayana kadar kayıt sayılmayacak; ilaç adı, doz, olumsuzluk ve sağ ile sol her notta ayrıca okunacak. Konuşmayı dinleyen ikinci kip, merkez kendi muayene odalarında, köyden gelen yaşlı hastalar da dahil olmak üzere en az elli konuşmanın kelime hata oranını ve kritik kelime hatalarını ölçene kadar kullanılmayacak; sayılar yaş grubuna göre ayrı raporlanacak. Hasta kaydedileceğini muayeneden önce öğrenecek. Dökümün doğruluğunu doğrulamak, satıcının ortalamasına değil notu imzalayan hekime düşer; zarar ise tanıyıcının en az duyduğu sese sahip hastaya.

Kapanış

  1. Konuşma tanıma sesi spektrograma, spektrogramı harf ve kelime dizisine çevirir; ses zayıfladığında model beklentiyle boşluğu doldurur ve sonuç akıcı ama yanlış olabilir.
  2. Kelime hata oranı değiştirme, silme ve eklemeleri doğru dökümün kelime sayısına böler; Türkçe gibi eklemeli dillerde tek ek hatası oranı şişirir, karakter hata oranı bu yüzden ayrıca okunur, ama iki ölçü de anlamı tartmaz.
  3. Ortalama oran hatanın kime ve hangi kelimeye düştüğünü gizler; sistem kullanılacağı odada, kullanılacağı hastaların sesiyle ve kritik kelimeler ayrıca sayılarak sınanır.

Üç soru

  1. Otuz saniyelik bir kayıt saniyede on altı bin ölçümle kaç sayıdır, ve yirmi beş milisaniyelik pencereyi on milisaniyede bir kaydıran seksen bantlı spektrogram kaç sayı üretir?
  2. Koenecke ve arkadaşları farkın sesi işleyen kısımdan geldiğini neden aynı metni söyleyen kısa cümlelerle gösterdi?
  3. "İlacı bırakmamasını söyledim" cümlesinde tek ek hatası kelime hata oranını neden yüzde otuz üçe çıkarır, karakter hata oranını neden yüzde yedide bırakır?

Yanıtlar

  1. Otuz kere on altı bin, dört yüz seksen bin sayıdır. Pencere saniyede yüz kez kaydığı için yaklaşık üç bin sütun oluşur; her sütunda seksen bant vardır, toplam yaklaşık iki yüz kırk bin sayı. Kazanç sayıdan çok biçimdedir: aynı ses, spektrogramda aynı desene benzer.
  2. Serbest konuşmada iki grup farklı kelimeler kullanabilir; o zaman hata farkı kelime seçiminden ya da dilbilgisinden gelebilirdi. Aynı metin söylendiğinde kelime ve dilbilgisi sabitlenir, geriye telaffuz, vurgu ve ritim kalır. Fark yine iki kat çıktığı için kaynağı sesi işleyen kısımdır.
  3. Cümle yalnız üç kelimedir ve kelime hata oranı yanlış kelimeyi bütünüyle yanlış sayar: üçte bir. Karakter düzeyinde ise yirmi sekiz karakterin yalnız ikisi eksiktir. İki sayı da cümlenin anlamının tersine döndüğünü göstermez; o, kelimenin okunmasıyla görülür.

Sonraki derse köprü

Dikte programı sesi metne çeviriyordu ve hatası kimin sesinde, hangi kelimede olduğuna göre değişiyordu. Ders 11.4, Ses üretimi, aynı yolu ters yönden yürüyor: metinden ses üreten sistemler ve birinin sesini kayıtlarından kopyalayan ses klonlama. Telefondaki tanıdık bir sese kulağımızla güveniriz; o güvenin dayanağı ses kopyalanabildiğinde ne olur?

Anlamadığın bir yer mi var?

Mentor yalnız bu dersin metnine dayanarak cevap verir. Metinde geçmeyen bir şey sorarsan uydurmaz, geçmediğini söyler.