Süreç, doğrular, yanlışlar ve veri kümesinin iyileştirilmesi

Son gözden geçirme: 2024-12-03.

Burada ideali hedefleyen bir veri kümesini nasıl yaratacağımızı tartışırken sıklıkla yapılan yanlışları da ele alacak, onaylarken neyin kabul edilebileceğini nelerin ise reddedilmesi gerektiğini örneklerle açıklamaya çalışacağız.

Buradaki bilgiler Common Voice’un ilgili sayfalarındaki bilgilere ek olarak kişisel deneyimleri de içermektedir. Her zamanki gibi bu metinler zaman içinde geliştirilecektir. Sizler de iletinin altına yorum, katkı ve sorularınızla katkıda bulunabilirsiniz ne güzel olur!

Neyin neden doğru olacağını anlayabilmek için ne için kullanılacağını bilmemiz gerekiyor.

Bu konuları içeren Common Voice’un Hakkında sayfasını da okumayı unutmayınız.

Common Voice Veri Kümesi Ne için Kullanılabilir?

Günümüzde makine öğrenmesinde kullanılan pek çok teknik var ve bazıları bazı amaçlar için daha uygun olabiliyor. Mozilla bu kümeyi yaratırken olabildiğince farklı modelde çeşitli kullanıma uygun olabilecek bir yöntem izliyor. Gerek araştırmacılar, gerekse uygulama geliştiricileri (varsa) büyükçe olan ses kümesinden kendi amaçlarına uygun olan kayıtları seçip modellerini iyileştirebiliyorlar.

Örnek uygulamalar (basitten karmaşığa):

  • Uyandırma kelimeleri: Tek bir kelime ile cihazın uyanmasını sağlama (OK Google ya da Hey Siri gibi)
  • Komut sistemleri: Çok kısıtlı bir sözlükle (rakamlar, başlat, durdur, önceki, sonraki, evet, hayır, vb) bir cihazın (ör. otomobil ses sistemi) kontrolü.
  • Kişisel asistanlar: Genelde uyandırma kelimesi ile başlatılan yazılıma belli sorular sormak, belli komutlar vermek. Bunlar tek tek kelimelerden karmaşık olmayan doğal konuşma cümlelerine kadar bir şeyleri anlayıp yanıt veriyor. (Google Assistant ya da Siri, ya da bazı banka gibi şirketlerin ilk karşılama robotları)
  • Yazıyı sese dönüştürme (ör. uzun zamandır Windows’da var, chat programları yapabiliyor vb).
  • Otomatik altyazı üretimi (ör. Youtube şu anda yapıyor)
  • Otomatik sesli çeviri
  • Makine-insan arasında karşılıklı sohbet

Yukarıdaki ilk iki uygulamada aynı kelimenin 1000 ayrı kişi tarafından okunması istenirken, geniş sözlük kullanan metotlarda ise her cümlenin farklı kişiler tarafından tek kaydedilmesi daha yüksek başarım için tercih edilebilmektedir (aslında zorunludur).

Derin Öğrenme’ye dayalı sistemler için genel bir kural olarak da “Ne kadar ÇOK ve ÇEŞİTLİ veri varsa, veri kalitesi ne kadar yüksekse, oluşturulan modeller o kadar başarılı olacaktır” diyebiliriz.

Her model için geçerli olmamakla birlikte makine öğrenmesinde veri kümesindeki farklılıklar önemli. Basitleştirirsek, güncel teknikleri yeni doğan bir insanın dil öğrenmesi ile karşılaştırmamız mümkün.

  • Yeni doğanda donanım (beyin/sinir sistemi) ve algoritma (biyokimyasal süreçler) var
  • Bu algoritma çevreden alınan veri ile öğrenmeyi gerçekleştiriyor (sinir hücreleri sinapslar oluşturuyor).
  • Çevrede Almanca konuşuluyorsa Almanca öğreniyor/konuşuyor, Türkçe konuşuluyorsa da Türkçe. Türkçe’nin sadece belli bir ağzı/lehçesi konuşuluyorsa o lehçede uzmanlaşıyor beyin. Ama zaman içinde farklı söyleyişleri duydukça onları da anlıyor, adapte oluyor. Ama bir kere Karadeniz ya da Güneydoğu ağzı oturursa, bunu değiştirmek pek kolay olmuyor (gırtlağımızdaki kasların istemsiz kontrolü).

Makine öğrenmesi de pek farklı değil… Öğretirken onu beslediğimiz veri kümesi onun gelecekte ne olacağını tanımlıyor. Buna “bias” (önyargı) diyoruz. Örneğin:

  • Sadece erkek sesleri ile eğitirsek kadınları anlamakta zorlanacak, ör. ileride çamaşır makinesini sesle çalıştırmakta zorlanacaklar.
  • Sadece “çok doğru Türkçe” (ör. diksiyon eğitimi almış spiker sesi) ile eğitirsek, Doğu Anadolulu biri o çamaşır makinesi ile sorun yaşayabilecek.
  • Sadece “ev” kelimesini öğretmişsek “mesken” kelimesini anlamayacak.
  • Ya da çok fazla x lehçesi kullanırsak, y lehçesini anlamayacak.

İngiliz-İskoç aksanı arasındaki farkı vurgulayan ünlü sesle kumanda edilen asansör parodisi sorunu çok iyi anlatır…

Yaygın olarak kullanılan makine öğrenme sistemleri şu işlemleri gerçekleştirebilirler (terminolojiyi basitleştiriyoruz burada):

  1. Kaydetmek
  2. Ön İşleme: Yeniden örneklemek (re-sample), bazen filtrelerden geçirerek gürültüleri (arka plan sesleri, çıtırtılar vb) temizlemek, bu arada başta/sonraki boşlukları da atmak, ve/veya sesi normalize etmek (kısık ya da yüksek seslerin düzeyi), hatta temiz kayıtlara arka plan sesleri eklemek, ya da sesin “rengini” değiştirmek (hız, ton/frekans vb - buna “augmentation” deniyor).
  3. Fonemlerden harfleri / harf gruplarını çıkarmak
  4. Kelimeleri ayırmak.
  5. Matematiksel formüllerle (sinyal işleme algoritmaları) frekans grafikleri çıkarmak (yaşa, cinsiyete, lehçeye vb göre her insanda farklı sonuç elde edilir, amaç hepsini kapsayacak bir kümeyi öğretmektir).
  6. Bu örüntüleri sembollerle eşleştirmek.

Öğrenirken belli parametreler hesaplanıyor, kullanımdayken de duyulan ses için aynı analiz yapılıp hangi harfin söylenmiş olduğu (belli hata payları ile), “o parametrelerin içinde kalıyor mu?” diye bakılıyor.

Bu basitleştirilmiş süreci anlamışsak şu çıkarımları yapabiliriz:

  • Cümleler dilbilgisi ve yazım kuralları açısından doğru cümleler olmalı ki hem doğru okunabilsin, hem de ses ile doğru kelime eşleştirilebilsin.
  • Noktalama işaretleri doğru ve yerinde olsun ki okuyan doğru yerlerde boşluklar verebilsin, ya da emir ve soru cümlelerinin vurgularını aktarabilsin.
  • Cümlelerde fazla yabancı dil ve aşırı eski sözcükler olmasın ki gönüllüler bunları telaffuz etmekte zorlanmasın, sistem de çok az karşısına çıkacak Türkçe’de olmayan kelimelerle şişmesin (ör. İngilizce bir adın Türkçedeki gibi ya da İngilizcedeki gibi farklı farklı okunması da gereksiz yere YZnın kafasını karıştırır).
  • Ses tam ve anlaşılabilir kaydedilmeli ki tüm süreç işlesin, baskın çatırtılar, eksik/yanlış kelime/okuma olmasın.
  • Öğretilen sesler sadece stüdyo kaydı gibi olmasın ki mesela araba kullanırken motorun sesi sistemi kullanılmaz hale getirmesin.
  • Kelimeler tek tek anlaşılabilsin ki ayrılıp eşleştirilebilsin.
  • Zamanla dilde geçen tüm kelimeleri içerebilmeliyiz ki sistem “sizi anlamadım” demesin.
  • Vurguları doğru kullanmalıyız ki soru mu soruluyor, komut mu veriliyor fark edilebilsin.
  • Farklı okunuşlara izin verilsin ki (ör. “r” harfinin yutulması) günlük konuşma dilini, farklı insanları anlayabilsin.

Kullanım amaçlarına bakarsak asıl veri kümesinin edebi metinlerden ziyade günlük kullanılan konuşma, sohbet dili (conversational) olmasının iyi olacağını da anlarız. Yapay cümleler, şiirler, makine konuşması gibi şeyler çocuğa yanlış şeyler öğretecektir. Ama veri seti belli bir büyüklüğe eriştikten sonra (ki Türkçe’yi o noktaya yaklaştırıyoruz) daha edebi şeyleri baskın olmamak kaydıyla eklemek mümkün.

Aşağıda süreçleri detaylandırırken doğru-yanlış ya da kabul edilebilir-edilemez olanları örnekleri ile vereceğiz…

Common Voice Süreçleri

Süreç temel olarak ikiye ayrılıyor, sonra her biri de yeniden iki aşamalı.

  1. Külliyata cümle ekleme (text corpus)
    1.1. CC0 (üzerinde hiç bir telif olmayan) cümleler bulma, aralarından seçme ve ekleme (bir kitabı hazırlamak boyuna göre değişmekle birlikte 1-2 gün sürebilir).
    1.2. Bu cümlelerin anadili Türkçe olan iki ayrı kişi tarafından kontrol edilip onaylanması ya da reddedilmesi. (bu daha hızlı bir işlem, ama vakit ayırırsanız; biriktirirseniz toplu bakmak günler, haftalar sürüyor. Bir kişi cümlelerin uzunluğuna/zorluğuna ve okuma hızına göre saatte 400-500 cümle kontrol edebilir).
  2. Ses kayıtlarını oluşturma (voice corpus)
    2.1. Cümleleri okuyarak ses kaydetme (şu anda veri kümesinde ortama ses kaydı ~3.6 saniye - yani epey düşük, işlemleri doğru uygularsak saatte 200 kayıt yapılabilir; ama artık uzunca cümlelerimiz var, bazen emin olmak için dinlemek, yeniden kaydetmek gerekiyor, bunlar da hızı 100-150 kayıt/saate düşürüyor)
    2.2. Kaydedilen seslerin iki ayrı kişi tarafından onaylanması ya da reddedilmesi (alışkın bir kişi bir saatte 400-500 kadar cümle dinleyebiliyor).

Görüldüğü gibi ekleme/kayıt işleminin iki katı kadar onay işlemi ortaya çıkıyor - ama onay işlemi daha hızlı. Cümle eklerken, ses kaydederken olduğu kadar onaylarken/reddederken de bir önceki bölümde anlattığımız nedenlerle dikkatli olmak gerekiyor. Onaylayanın sorumluluğunun daha fazla olduğunun, dolayısı ile süreç hakkında daha bilgili olmasının faydası olacağını da vurgulamak lazım.

Burada bir şeyin daha altını çizmek gerekli: Veri kümesi incelendiğinde onay almış cümlelerin bir kısmında hatalı onay olduğunu görüyoruz. Daha dikkatli olmak, aşağıda anlatılan kuralları takip etmek gerek bunları azaltmak için.

Külliyata tek tek ya da küçük gruplarla eklenen ve onaylanan cümleler anında bir sonraki sürece aktarılıyor. Toplu dosya olarak eklenen cümleler ise epey uzun bir süreçten sonra sisteme ekleniyor.

Ses kayıtları da onaylanmış, onaylanmamış ya da hatalı oldukları bildirilmiş olarak gruplanarak yılda 4 kere (eskiden 2) Corpus (külliyat) olarak derleniyor (genelde Mart, Haziran, Eylül ve Aralık aylarında).

Reddedilen cümleler/kayıtlar da çöp oluyor - ama onlar da veri kümesi ile yayımlanıyor, ve ne tür hatalar olduğunu oradan inceleyebiliyoruz…

Kayıt olmanın ve demografik bilgileri vermenin faydaları

Common Voice’a üye olup herhangi bir bilgi vermeden de kayıt yapabiliyorsunuz. Bir tarayıcıda bir sekme açarak siteye geldiğinizde ona özel bir oturum kimliği yaratılıyor bunun için (cryptographic hash). Yani değişik cihazlardan, değişik tarayıcılardan, ya da tarayıcı öncelleğini temizledikten sonra, 10 kere girip beşer kayıt yaptığınız zaman sizi beş ayrı kişi gibi algılayabilir. Cinsiyet, yaş, varyant (değişke/lehçe), aksan gibi bilgiler de bulunamıyor kayıtlarda.

Öte yandan modellerin doğru dengelenmesi için idealde her yaştan ve her cinsiyetten yaklaşık eşit insan alınması lazım. Türkçe Corpus v7’yi analiz ettiğimizde yaklaşık %24’ün bu bilgileri vermeden ses kaydettiği görülüyor. Tüm veri kümelerinin analizi için tarafımdan tüm diller için üretilen Common Voice Dataset Analyzer yazılımını kullanabilirsiniz (ör. Türkçe v19.0 analizi şurada).

Kaydolur ve bu temel bilgileri verirseniz modellerin daha başarılı olmasını sağlayacaksınız. Üstelik kaç kayıt yaptığınızı, kaçına onay verdiğinizi görebilecek, daha sonra kayıtlarınızı indirebilecek, vazgeçtiyseniz silinmesini talep edebileceksiniz.

Bu faydaları şu şekilde özetleyebiliriz:

  • Anonim demografik veriler sağlayarak, gönderdiğiniz verileri mümkün olduğunca zenginleştirin. Verileri dış kullanıcılarla paylaşmadan önce tüm demografik verileri anonimleştiriyoruz.
  • Profil bilgileri, konuşma tanıma doğruluğunu eğitirken kullanılan ses verilerini iyileştirir.
  • Farklı dillerdeki ilerleme durumunuzu ve ölçümlerinizi takip edebilirsiniz.
  • Katkılarınızı dünyanın her yerindeki diğer gönüllülerle karşılaştırabilirsiniz.
  • Kişisel hedeflerinize ve proje hedeflerine ne kadar yaklaştığınızı görebilirsiniz.
  • İsterseniz e-posta listemize katılarak projeyle ilgili gelişmelerden haberdar olabilirsiniz.

Açık kaynak olan ve herkes tarafından indirilebilen veri setinde ise sizi tanımlayacak bir şey yok. Sizin kimliğiniz şöyle bir şey oluyor :slight_smile:

026eeac891913f2364d3a89af31d5b50344d61ab7c021855f4688cd6b13e0911f8bb741c3a9bc65ae967be70c61d88a5bfd1b121675e966bc010ef285f32f8cb

Ek bilgi için lütfen Hakkında sayfasını okuyunuz…

Kendimi daha fazla nasıl koruyabilirim?

2023 itibarı ile ortaya çıkan gelişkin modellerle bir insanın 3 saniyelik sesinden “ona benzeyen” bir ses çıkarmak mümkün (Microsoft VALL-E). Ama ikna edecek derecede gerçekten benzemesi için kaliteli birkaç saatlik kayıt gerekiyor hâlâ. Sesinizin kopyalanmasını zorlaştırmak için şu adımları öneriyorum:

  • Öncelikle profilinizde kendi adınızı kullanmayın, bir “rumuz” (nickname) seçin.
  • Özellikle istemiyorsanız dil sayfanızda en çok kayıt yapan/dinleyen bölümlerinde görünürlüğünüz kapalı olsun.
  • Kaliteli stüdyo ekipmanı ile kayıt yapmayın, ya da sınırlı yapın.
  • Net kayıtları diğerleri ile karıştırın. Örneğin değişik cihazlar kullanın (webcam mikrofonu, mobil cihaz), mikrofondan uzaklığı değiştirin (buna bağlı olarak sesinizi yükseltip azaltın), baskın olmayan arka plan sesi açın (ör. müzik, anlaşılmayan derecede TV sesi).
  • Profiliniz üzerinden çok kayıt yapıyorsanız birden fazla e-posta hesabı kullanarak farklı kullanıcılar açın, bunların client_id’leri farklı olacaktır (önerilmez).
  • Özellikle kendi sesinizi indirmek istemiyorsanız, demografik bilgi de vermek istemiyorsanız, kullanıcı açmayın (ya da sistemden çıkın), farklı cihazlarda, farklı tarayıcılarda, farklı sekmeler kapatıp açarak farklı client_id ile kayıt yapılmasını sağlayın (önerilmez). Not: Bu doğal olarak kaç farklı ses olduğunu bilemememizi, farklı seslerin değişik eğitim gruplarında (train/dev/test) olmasını garanti edemeyeceğimizi getirecektir. Bu doğru bir model oluşturmanın önünde ciddi bir engeldir, çünkü “voice bias” en önemlisi - kendi sesimizle eğittiğimizi kendi sesimizle test etmemeliyiz!

Çok fazla kayıt yapmanın sonuçları

Başka yerlerde de bahsettiğimiz gibi tek kişinin çok fazla kayıt yapması şu an kullanılan modeller için boşa giden emek olabilir. Şu an kullanılan tekniklerde birkaç kişinin baskın olmasına izin vermememiz gerekiyor. Yoksa yapay zeka onların sesine (dolayısı ile cinsiyet/yaş/lehçe/aksan da devreye girecek) adapte olacak, gerçek yaşamda karşılaştıklarını anlamayacak. Ama sağlam (robust) bir modeli iyileştiriyorsanız (ör. OpenAI Whisper multilingual modeli fine-tuning ile Türkçe’ye özelleştirme), bir kişinin diğerlerinin 2-3 katı kayıt yapmış olması pek etkilemeyecektir, ayrıca augmentation yöntemleri ile tek tek seslerin rengini de değiştirebiliyoruz.

Onaylı kayıtlar (validated) üçe ayrılıyor: train, dev, test.
Burada “validated” dosyası onay almış her kaydı, “train” dosyası yapay zekayı eğitmek için kullandığımız veri setini, “dev” eğitim sırasında iç testi, “test” dosyası ile başarımı ölçmek için kullanacağımız seti gösteriyor.

İdeal bir dünyada, her cümleyi her cinsiyetten, her yaş grubundan, her lehçe/ağızdan okumak mümkün olsaydı sistem en iyi başarıma ulaşacaktı. Çünkü eğitim için aldığımız ratgele küme dengeli olacaktı. Ama bunun kontrolü pek mümkün değil tabii. O yüzden çok fazla kayıt yapan genç bir erkeğin lehçesinin dengeleri bozmaması için her kişiden olabildiğince dengeli gitmek iyi olur.

Sıfırdan eğitilen bir modelde dengeyi sağlamaya kalktığınızda da o çok fazla kayıt yapan kişinin/kişilerin emekleri kullanılmamış oluyor. Aslında boşa gitmiyorlar tabii, başka araştırmalar, sistemler için kullanılabilecekler. CV tarafından yaratılan orijinal bölünmelerde yer almıyorlar ama başka algoritmalarda kullanılabilirler. Ayrıca ileriki yıllarda başkaları o kişiye yetişebilir ve dengeleyebilir.

İkinci bir sorun kaynakların tüketilmesi. Burada kaynak text corpus, yani cümleler. Epey emekle ve zar zor bulunarak elde edilen cümleler listenin en tepesine çıkmak için yarışan bir gönüllü tarafından tüketildiği zaman çeşitlilik sağlamak gene mümkün olmuyor. Sistem şu anda en az kayda sahip olan cümleleri kaydedilmek üzere insanların önüne getiriyor, yeni eklenenler bir kere kaydedilen diğerleri arasında yeniden sırasını bekler hale geliyor.

Dolayısı ile belki on binlerce kayıt yapmak yerine cümle üretme/bulma, cümleleri kontrol etme, başkalarının kayıtlarını dinleme, tanıtıma katkıda bulunma ve en önemlisi yeni gönüllüler bulma gibi konularda emek harcamak en iyisi…

1. Külliyata cümle ekleme

Yeni cümleler eklemek için burayı tıklayınız.
Eklenmiş cümleleri denetlemek için burayı tıklayınız.
Bugüne kadar "text-corpus"a eklenen cümleler ve kaynakları için burayı tıklayınız.

ÖNEMLİ NOT: Eski “Sentence Collector” yazılımı 2023 başlarında Common Voice’un içine adapte edildi. Önce sadece tek cümle girilebiliyordu.

Ekim 2024 itibarı ile şu seçeneklerimiz var:
a) Tek cümle
b) Aynı alan ve kaynaktan çok cümle (2-999)
c) Belli bir dosya formatında hazırlayarak yükleme (1000+ cümle).

Her aşama önemli ama cümleler olmazsa ne kaydedilecek ve dinlenecek? Yapay Zeka sesleri (phonem) ve bunların ardışık gelişlerini öğreniyor, bunlar da cümleler ve içindeki kelimelerden çıkıyor. Zaman içinde çok geniş bir sözcük kümesini, değişik söylenişleri ile sisteme katmalıyız - ki seslendirilebilsinler.

En büyük derdimiz CC-0 (Creative Commons Zero, Public Domain Türkçesiyle Kamu Malı ) cümleler bulmak. Bunlar arasında:

  • İçinde açıkça kamu malı olduğu belirtilen kaynaklar.
  • Yazarının ölümünden itibaren 70 yıl geçmiş eserler.
  • Mozilla ve telif sahipleri arasında yapılacak özel bir sözleşme ile telif sahibinin telifi kendinde olan veriyi CC-0 olarak açması. Ağustos 2021 sonrasında devreye giren bu sözleşme ile ilgili bilgiye şuradan ulaşılabilir. Ama pek kabul eden olacağını sanmıyorum bu şekliyle, bel bağlamayalım buna…
  • Günlük dilde herkes tarafından kullanıldıkları için “telifli” denemeyecek ifadeler.
  • Kişisel yazışmalarınızdan (chat, e-posta vb) seçebileceğiniz günlük cümleler.
  • Kişisel ya da grup olarak (mesela Google Documents altında) kendi ürettiğiniz cümleler

sayılabilir.

Wikipedia bunlar arasında değildir. Mozilla ve Wikipedia arasında yapılan özel hukuk anlaşması ile her Wikipedia makalesinden üç adedi geçmemek üzere Common Voice’a eklenebilmektedir.

[ESKİ: Ama bu süreç kolay değildir, Mozilla’nın ve Wikipedia’nın onayından geçmektedir. Ayrıca otomatik alınan bir çok cümlenin aşırı teknik ifadeler ve yabancı kelimeler içerdiği görülmektedir. Şimdilik bu alanı kullanmıyoruz…]
EKLEME: Haziran-Ağustos 2023 döneminde uzun süren bir çalışma sonunda Wikipedia’dan 3 cümle/makale olacak şekilde kurallara uygun aktarımı sağladık. Buradan 348 binin üzerinde cümle eklendi, bu da yaklaşık 565 saat üzeri kayıt sağlayacak. Hata oranımızın %2-3 arasında olduğunu hesaplamaktayız (hatalar yazım hatalarından ziyade kötü Türkçe kullanımı ya da gramer hatalarından kaynaklı). Bunun sayesinde Latince, Arapça ve Farsça kökenliler dahil olmak üzere epey geniş bir kelime haznesi kazandırdık ve ortalama kayıt süremizi de uzatmaktayız. Öte yandan bunlar diyalog cümleleri değil. Dolayısı ile sisteme konuşma cümleleri eklemeye devam etmek zorundayız. Detaylı bilgi için tıklayınız.

Önceki bölümde saydığımız nedenlerle gerek cümleleri eklerken gerekse kontrol ederken aşağıdakilere dikkat etmek gerekir.

ESKİ: Cümle Toplayıcı (Sentence Collector) desteklerimiz sonucunda yerelleştirildi, çevirileri yapıldı. Kuralların Türkçesi şurada.
YENİ: Cümle toplayıcı 2023 başlarında Common Voice ana yazılımının içine aktarıldı, çevirilerimizle birlikte.

  • Kaynaklar CC-0 olmalıdır. Emin değilseniz bunu danışabilirsiniz. Bu forumda sorularınızı Türkçe külliyat (cümleler) iletisi altına yazabilirsiniz, tartışır ve sonuca varabiliriz. Kaynağın uygun olmadığı anlaşıldığında Common Voice yasal nedenlerle hepsini siliyor, hem de yapılmış kayıtları ve verilen tüm emeklerle birlikte… Girilmiş cümleleri kontrol ederken kaynağı da kontrol etmeniz doğru olur. Uygun olmayan kaynakları gene aynı iletiye ya da doğrudan genel forumdaki Sentence collector copyright issues iletisine bildirebilirsiniz.
  • Cümleler dilbilgisi ve yazım kurallarına uygun olmalıdır. Emin değilseniz sozluk.tdk.gov.tr adresine ve TDK’nın yazım kuralları bölümüne, Dil Derneği Sözlüğüne ya da Sözce’ye başvurabilirsiniz. Türkçede çok yapılan yazım yanlışları Vikipedi’de listelenmiştir. Ama ey yazarlar, editörler, sizin stilinizde bir kitap yazmıyoruz! Bazıları TDK, bazıları Dil Derneği kurallarını uyguluyor. Hatta 70+ yıl önce vefat etmiş yazarların cümleleri de ana kaynaklarımızdan. Dolayısı ile kaynaklarda yazımlar farklı olacaktır (ör. hangi kelimeler birleşik kelime sorunsalı) ve başka bir hata yoksa iki yazım türünü de kabul etmemiz doğru olabilir. (Not: Mozilla Türkçe çevirmenleri Dil Derneği kurallarını kaynak almaktadır).
  • Dahi anlamında “de” (“da” vb) ayrı yazılır, soru cümlelerindeki “mi” (“mu” vb) ayrı yazılır gibi temel şeyleri de atlamamamız lazım. Unutmayın “bende” ve “ben de” ayrı ifadelerdir, üstelik Common Voice açısından çok kötü bir eğitim temeli oluşturacaklardır (tek/iki kelime, okunuş vurguları farklı vb).
  • Normalde cümleler tam olmalı, büyük harfle başlamalı ve uygun bir noktalama işareti ile bitmelidir. Otomatik işliyorsak cümle içindeki noktalama işaretlerinin de yerinde kalmasına dikkat etmemiz lazım. Öte yandan bu keskin bir kural değil. Cümle bir başlık olabilir, bir resim altı yazısı olabilir, ör. yüklemsiz olabilir… Bu ifadeler anlaşılır, yazım olarak doğru ve okunabilirdir. Dolayısı ile uygundur.
  • Sayılar/rakamlar yazıyla yer almalıdır. “Bu çocuk 12 yaşında.” cümlesi “Bu çocuk on iki yaşında.” olarak çevrilerek eklenmelidir. Dikkat: Türkçe’de sayıları oluşturan kelimeler ayrı yazılır, “oniki” şeklinde değil. Sadece anlam farklılaşması geçirenler “Onikiler” gibi birleşik yazılabilir.
  • Kısaltmalar kabul edilmezler, eğer kısaltma içeren bir cümle varsa ya uzun haline çevirelim ya da eklemeyelim. Ör. “TBMM’de” => “Türkiye Büyük Millet Meclisinde”…
  • Cümlede özel karakterler olamaz, @ # gibi karakterlerin “AT”, “KULAK”, “HASHTAG”, “NO” ya da “DİYEZ” gibi okunması kabul edilebilir değil Common Voice açısından. Öte yandan doğal olarak kesme işaretlerini (apostrof) tutacağız. Sistem parantezleri de kabul etmiyor “(…)”, bunları da elemek iyi olur.
  • Yazılımdaki Türkçe kurallarına göre eklenecek cümlelerin 14 kelime ya da daha az olması lazım. Yoksa şu anki ayarlarla “sentence collector” cümleyi reddedecektir (bu İngilizce temelli genel ayardır, dil başına ayarları değiştirebilmekteyiz). Keskin bir kural olmamakla birlikte cümle uzunluğunu da maksimum 100-110 vuruş civarında tutmakta fayda var. NOT: Bu kurallar İngilizce’yi temel alan varsayılan kurallardır. Yakında bunları değiştireceğiz (ör. maksimum 15 saniye ve 25 kelime yapabiliriz).
  • Çok uzun cümlelerin okuması zor olabiliyor. Uzun cümleleri iki ayrı cümle haline getirmeye çalışabiliriz, ya da yan cümleleri mesela “:”'dan ayırabiliriz. Virgüllerden otomatik ayırma gibi işlemler de kabul edilebilir sonuçlar doğurmuyor. Unutmayın, kaynaklarımız CC-0 olduğu için onları istediğimiz gibi değiştirebiliriz.
  • Tek kelimelik ifadeler (bazen - konuşma ifadeleri ise) uygun. Bunların değişik noktalama işaretleri ile bitmesi durumunda birden fazla olması da mümkün (çünkü “Sen…”, “Sen?”, “Sen!” değişik vurgularla okunurlar, anlamları da farklıdır). Öte yandan bir sürü sayıyı, özel ismi vb ardışık olarak sisteme girmek de doğru değil. Bunlar seslendirilirken son derece sıkıcı olacaktır. Ve hayır! Sözlüğü kopyalayıp yapıştırmıyoruz :slight_smile: NOT: Zaten tek kelimelik soru-yanıt şeklinde olanların da çoğunu ekledik. Uzun cümleler eklemeye çalışmalıyız.
  • Bazı kaynaklar konuşma dilinde ya da yerel dilde yazılış kullanıyor olabilir. Örneğin “Anan burda mı?” kabul edilir, “annen” ve “burada” yazılmamış diye reddedilmez. Ya da “Candarmalar geldi!” de kabul edilir, yazar Anadolu’da söylendiği şeklini metne dökmüş. Yeter ki bunlar aşırı baskın olmasınlar, aksi durumda modellerimiz “konuşma dili” öğrenirler, istediğimiz tam olarak da bu değilse tabi…
  • Günlük dilde kullanılan küfürlü ve kaba ifadeler (belli bir kişiye ya da gruba yönelik değilse ya da yüzümüzü kızartmıyorsa) uygun olabiliyor. Bunların kurulacak sistemler tarafından anlaşılabilmesi isteniyor. Bunları diğer kurallara uygun olduğu sürece kabul edebiliriz. Saldırgan buluyorsanız, oy vermeden geçiniz. “Lanet olsun adamım” çevirisinden daha doğru olacaktır bu… NOT: Zaten bir çoğunu ekledik, artık yeni bir şey eklemeyelim diyoruz. Mozilla da doğal olarak bunları kullanın demiyor (kullanmayın diyor).
  • Tam kimden bahsedildiği açıkça belli olan kişi adları yer almasa iyi olur. Kamuya malolmuş, ünlü insanları bunun dışında tutabiliriz belki - hakaret ve yorum içermediği sürece… Sistemlerin adları anlaması gerekli tabii, çok kullanılanları ekleyeceğiz ileride. NOT: Wikipedia kaynaklarından epey bir kısmı geldi.
  • Bir olası sorun da şapkalı harflerimizde var. TDK’nun “hala” ile “hâlâ” arasında yaptığı geçişler kafa karıştırıcı ve editörler arasında da tartışılmaya devam ediyor. Klavyede ek bir tuşa basmaktan kaçındıkça çoğu günlük yazıda da bunları görme olasılığımız azaldı. Gerek cümleleri girerken gerekse onları onaylarken bunlara çok takılmamamız iyi olabilir. Okurken başka tabii… Kurulacak sistemlerde bu gibi durumlar için semantik çözümlere, ya da yazım kontrolü programlarına yönelmek gerekiyor zaten. Ama ör. “cami” kelimesinin “camî”, “camîi” gibi Arapçalaştırarak kullanılmasını da kabul etmemek gerek.
  • Benzer sorun kesme işaretinde ortaya çıkıyor, bunun kuralları özellikle 1980’den sonra TDK tarafından sürekli değiştirilip duruyor. Dolayısı ile değişik yazış tarzlarını “şu anki kurallara göre doğru olmasa da” kabul etmek isteyebiliriz.
  • Arada sırada çıkan yabancı sözcükler sorun değil, hatta çok bilinen yer isimleri -Türkçeleştirilmiş ise- zaten istenebilir. Ama kaynakta bunlar çok yoğunsa yeniden değerlendirmek ve ilgili cümleleri elemekte fayda olacaktır. On kelime içeren bir metinde 1-2 yabancı kelime kabul edilebilir. Nasıl okunacağından emin değilseniz atlayınız, başka bir gönüllü okuyacaktır. Gene de, çok kullanılmayan, veri kümesini gereksiz şişirecek yabancı kişi adlarını vb reddetmek iyi olur. Bazı yabancı adlar Türkçe’de ve orijinal dilinde aynı seslerle okunuyor, bunların kalmasında sakınca yok, ama bir kelimeyi bazıları o dili bildikleri için orijinal şekliyle okumaya kalkarsa sorun olacaktır. Text-corpus şu anda epey iyiye doğru gidiyor…
  • Osmanlıca, Arapça ve Farsça kökenli kelimeler dilimizde yaygındır. Genç bir insan bunları günlük yaşamda kullanmıyor olabilir ama gerek metinlerde gerekse daha büyük yaştakilerin günlük dilinde bunların çokça geçtiğini unutmayalım. Öte yandan tamamı eski dilde olan Nutuk gibi kaynakları doğrudan kullanmak pek uygun değil, 50-60 yaşındakiler bile sözlük kullanmadan tam anlayamıyorlar - oturup içinden tek tek seçerseniz ya da günümüz Türkçesine çevirirseniz o başka. Ör. “garp cephesi” (batı cephesi) gibi bir kavram Kurtuluş Savaşı’nda çok geçtiği için kullanılmaya devam ediyor, Şark Ekspresi’nden de “doğu” kavramını biliyoruz. Şimal (kuzey) ve cenup (güney) ise o kadar kullanılmıyor. Bunların çok geçtiği metinlerde güncel hallerini yazmak isteyebiliriz. Özellikle gençlerin bunların nasıl okunacağını bilmediği durumlarda zorlanmaları ve yanlış kayıt yapmaları da söz konusu (aslında ATLA butonuna basmaları lazım).
  • “Doğal/günlük konuşma” öne çıkan tercih olduğu için şiirler, türkü-şarkı sözleri, dini metinler, politik manifestolar hiç uygun değil. Belki binlerce saatlik kayda ulaştıktan sonra bunları eklemek isteyebiliriz, ama henüz eklemeyelim. Bu kapsamda Wikisource’da yer alan Türkiye’de yayımlanan kamu malı eserler başlığı altındakiler büyük oranda kullanılabilir değiller.
  • Sentetik cümleler, makine çevirileri de uygun değiller. “Ben Ankara’ya gidiyorum”, “Ben İstanbul’a gidiyorum”, … gibi binlerce cümle düşünün. Hem modeller hem de okuyan gönüllüler için kötü olacaktır bunları eklemek. Google Translate de son yıllarda çok gelişmiş olsa bile hâlâ anlamsız cümleler çıkartıyor.
  • Tamamen anlamsız “absürd” cümleler de dil bilgisi ve yazım açısından doğru olsa da, gerek okuyanı şaşırtacağı gerekse anlam üzerinden çalışan semantik sistemlerde zorluk yaratacağı için hiç tercih edilmiyorlar. Unutmayın, küçük bir çocuğa Türkçe öğretiyoruz.

İngilizce örnekler üzerinden proje başlarında yapılan bu konudaki tartışmayı şu iletide bulabilirsiniz.

1.1. CC0 cümleler bulma, aralarından seçme ve ekleme

Linux komut satırından komutlarla ya da github’daki araçlarla çalışmak mümkün. Koruma süresini tamamlamış bazı yazarların kitapları taranmış, OCR’dan geçirilmiş olarak çeşitli formatlarda bulunabiliyor. Bunları bir text editörle (ör. Notepad++) ön işlemden geçirip satırlara ayırmak, sonra da bir hesap tablosunda (ör. Excel) formüllerle işlemek mümkün (şimdilik 14 kelime sınırı, kaç vuruş olduğu, içinde sayı olup olmadığı, baş harfleri büyük mü, sonunda noktalama işareti var mı gibi kontroller). Hatta istatistikler almak da güzel oluyor. Deneyimden yola çıkarak şunu söylemek gerekir: Bir kaynağı hiç okumadan koymak çok hatalı, bir çok nedenle doğru cümleler çıkmayabiliyor ve düzeltmek gerekiyor. Hızlı okuma ile çoğu gideriliyor ama…

Bu süreci daha sonra detaylandıracağız ve örnek bir dosya da paylaşacağız.

Toplu cümle eklemek için bir yöntem de sunuyor Common Voice. ESKİ: Ağustos 2023 itibarı ile hala çalışmıyor bu metod (Not: Düzeltildi).

Ama her durumda:

  1. Cümleleri hazırlayanın iki kere üstünden geçmesi
  2. Anadili Türkçe olan iki ayrı kişinin kontrol etmesi (yukarıdaki kurallar)
  3. Sonuçta çıkan cümle kümesinde hata oranının %2’nin altında olduğuna emin olunması

gerekiyor. Hala gözden kaçan bir şeyler varsa kayıt sırasında ya da kayıt dinleme sırasında bunları BİLDİR butonu üzerinden elemek mümkün.

OCR taramasından elde edilen kitaplarda OCR hataları gözden kaçabiliyor. Örneğin “ın” OCR tarafından “m” olarak algılanabiliyor ve birkaç kişi (hızla) üzerinden geçtiği halde bunu kaçırabiliyor. Dikkat, emek ve iyi bir çift göz lazım.

Yaptığımız bir çalışmada ilk adımın hata oranını %1 civarında tutturduk, ardından iade cümleleri de düzelterek ekledik. Gene de bazı hatalar kalmıştı. Bunları şu anda kayıt yaparken ya da kayıt dinlerken keşfediyor ve bildiriyoruz. Bu düzeltmeleri bu aşamada doğru yapmış olsaydık bu kayıtlar boşa gitmeyecekti (çuvaldız). Bilgi için: Bir kitabı Excel yöntemi ile hızlı elden geçirmek, iki kere okuyarak onaya sürmek yarım gün kadar sürüyor, 2-4 bin cümle çıkabiliyor. Ama oturup o sırada kitabı gerçekten okursanız 3 günü buluyor, denemeyle sabit… Sonra gelen kontrol/onay aşaması ise maalesef beklemeler ve git-geller yüzünden epey uzun sürüyor…

1.2. Eklenen cümlelerin kontrolü

Yukarıda bahsettiğimiz kurallara uygun olduğunu kontrol edeceksiniz. Özetlersek:

  1. Cümle doğru yazılmış mı?
  2. Cümle dilbilgisi açısından doğru mu?
  3. Cümle okunabiliyor mu?
  • Tümüne yanıtınız EVET ise onaylayınız.
  • Herhangi biri HAYIR ise onaylamayın.
  • Emin değilseniz atlayınız, başkası kontrol edecektir (ör. yabancı kökten gelen terimler).

Önce iki onay alan cümle onaylanmış kabul edilecektir ve ses kaydı sırasına girecektir.

Önce iki ret alan cümle reddedilecektir.
[ESKİ: Cümleyi ekleyen bunları Rejected Sentences altında görecektir. Tercihen bunlar düzeltilip yeniden eklenebilir.]
YENİ: Bunlar indirilen veri kümesi içindeki “unvalidated_sentence.tsv” dosyasında bulunabilir.

Örnekler

:white_check_mark: “Daha sonra şöyle dedi:” (uzun cümle bölünmüş, kabul edilebilir)
:white_check_mark: “Candarmalar içeri girdi.” (orijinal metinde yerel ağızla söylendiği şekliyle yazılmış, kabul edilmeli)
:white_check_mark: “Hala kararlı mısın?” (orijinali hâlâ olduğu halde kabul edilebilir)
:white_check_mark: “Türkiye Büyük Millet Meclisinde toplandılar.” (kesme işareti unutulmuş demeyin, o kurallar sürekli değişiyor, yeni şekli de bu, kabul edelim)
:white_check_mark: “Daha Sonra” (tam bir cümle değil, başharfler büyük yazılmış ama bir başlık olabilir bu, kabul etmek lazım)
:white_check_mark: “Daha sonra o da geldi” (sonunda nokta unutulmuş, ama sorun değil, kabul edelim)
:x: “Daha sonra oda geldi” (açıkça anlaşılıyor ki “o da” yerine yanlışlıkla “oda” yazılmış, kabul etmeyelim)
:x: “Daha onra o da geldi” (açıkça bir yazım hatası var, reddedilmesi lazım)
:x: “TBMM’de toplandılar.” (kısaltma var, reddedelim)
:x: “Çekoslovakyalılaştıramadıklarımızdanmısınız?” (sentetik kelime, -mi de ayrı yazılmamış)
:x: “Sizin için, insan kardeşlerim,” (Orhan Veli’nin bir şiirinden mısra, kabul etmemek lazım)
:x: “Arthur Dent’in evinin gün bitmeden ortadan kaldırıldığını görmek ilgili bir şey ciddi biçimde ters gidiyordu.” (Otostopçunun Galaksi Rehberi’nden alınmış, CC-0 olmayan telifli eser)
:x: “Bizi doğru yola, kendilerine nimet verdiklerinin yoluna ilet; gazaba uğrayanlarınkine ve sapıklarınkine değil.” (dini metin)
:x: “Bu düşünce ile alınan teşebbüsât, birtakım teşekküller doğurdu.” (Nutuk’tan alınan bu cümle çok eski ve artık kullanılmayan sözcükler içeriyor)
:x: “Ahmet 1960’da doğmuştu.” (rakamlarla yazılmış sayı var)
:x: “Ahmet bindokuzyüzyetmişbirde doğmuştu…” (temel yazım kuralı hatası, bunu “bin dokuz yüz yetmiş birde” yazmak lazımdı, reddedilmeli)
:x: “Ahmet Ahmetoğulları’na http://example.com sitesinden ya da ahmet@example.com adresinden ulaşılabilir.” (özel işaretler var, kişinin adı geçiyor, hatta e-posta adresi var)

2. Ses kayıtlarını oluşturma

Cümleleri seslendirerek kaydetmek için buraya tıklayınız.
Kayıtlı cümleleri dinleyerek kontrol etmek için buraya tıklayınız.

Bu konudaki genel kurallar için Common Voice Katkıda bulunma yönergeleri sayfasına göz atınız.

Unutmayın, bir kayıt iki kere onay almak zorunda. Dolayısı ile zamanınızın bir bölümünü de başkalarının yaptığı kayıtları dinlemeye ayırın.

2.1. Ses kaydetme

NOT: Çok kayıt yapmaya, listelerde en tepeye çıkmaya çalışmayın, çabalarınız ve zamanınız boşa gidebilir. Üstelik siz okudunuz diye başka seslerin de önüne geçiyorsunuz. Önceliği dinlemeye, CC-0 kaynaklar bulmaya, onaylamaya verin… Daha da iyisi, yeni gönüllüler, yeni sesler bulun katkıda bulunacak.

İlk yapılması gereken daha önceki aşamalarda gözden kaçmış hatalar olabileceğini düşünerek cümleyi okumak ve şu açılardan kontrol etmek (bir önceki bölümü okuduğunuzdan emin olun, bazı esnekliklerimiz var):

  • Cümle birine/bir gruba hakaret içeriyor mu? (Unutmayın günlük küfürler geçerli)
  • Dilbilgisi ve yazım hatası var mı? (Varsa acımayın ama bir önceki bölümü okuyun)
  • Yabancı bir dilde mi? Ya da kelimelerin büyük çoğunluğu yabancı mı? (Ör. cümlenin tamamı da eski dilde olabilir, “Pink Floyd’un Dark Side of the Moon’u mu?” gibi bir cümlenin dil kümesine hiç katkısı olmayacaktır)
  • Telaffuzu zor mu? (Buna dikkat, siz bazı eski kelimeleri bilmiyor olabilirsiniz, atlayın, bilenler okuyacaktır).
  • Değişik görüşlere saygı gösterin. “Daha fazla özgürlük istiyoruz!” ya da “En büyük Fenerbahçe!” gayet uygun cümlelerdir :slight_smile: - siz farklı düşünseniz bile… Raporlananların maalesef yarısı böyle…

Bu durumda sol alttaki BİLDİR butonundan ilgili seçeneği işaretleyerek gönderiniz.

Daha sonra şu işlemleri atlamadan yapınız:

  • Cümleyi bir kere içinizden okuyunuz.
  • Cümleyi tam ve doğru okuyarak kaydediniz.
  • Yaptığınız kaydı cümleyi de yeniden okuyarak dinleyiniz (ses siteminden kaynaklanan çatırtı ve gürültülere dikkat, istersek bunları eklemek kolay ama çıkartmak çok zor).
  • Kaydınızda hata varsa yeniden kaydediniz.
  • Tamam olunca bir sonrakine geçiniz.

Yukarıda bahsedilen “kendi kaydını dinleme” özelliği atlandığı durumda bir çok kaydın ret alması söz konusu olabiliyor. Bu özellikle mobil cihaz / kulaklık kullanıldığı zaman aşırı çıtırtı yapan bir sistemin sorununa baştan müdehale etmenizi sağlar, aksi durumda kayıtlarınız reddedilecektir. Ama sistemi bir kere öğrendikten sonra, ses sistemi de o oturum için doğru çalışıyorsa, yani artık eminseniz, dinlemeden de hızlı hızlı gidebilirsiniz.

Unutmayın, deneyimli bir kişi bile özellikle uzun cümlelerde hata yapabiliyor.

Metni telaffuzunu bilmediğiniz kelimeler dolayısı ile hakkı ile okuyamayacağınızı düşünüyorsanız ATLA butonuna basmaktan çekinmeyiniz, başkası okuyacaktır zaten. Aynı yöntemi okumak istemeyebileceğiniz küfür içeren, kaba cümleler için de kullanabilirsiniz. Ama lehçeli konuşuyorsanız ve mesela “maydanoz” kelimesini yerelde “madünüs” olarak kullanıyorsanız sizi özellikle duymak istiyoruz.

Kayıt yaparken ayrıca şunlara da dikkat ediniz (kayıtlarda bunların hepsini duyuyoruz):

  • Doğal okuyunuz. Çok yavaş (tek tek) okumayınız (maksimum kayıt süresi de var), çok hızlı okumayınız (sistemlerin kelimeleri ayırması gerekiyor).
  • Vurguları doğru vermeye çalışınız. Örneğin “Benim efendim” ile “Benim, efendim” hem okunuş olarak hem anlam olarak tamamen farklıdır. Başta bir kere içinizden okumuş olmak soru işareti, ünlem gibi cümle sonundaki noktalama işaretlerini, virgül gibi boşluk vermeniz gereken yerleri anlamanızı sağlayacaktır.
  • Vurguları veriniz ama çok da abartılı değil, Hamlet oynayacakmış gibi aşırı teatral kayıtlar pek yardımcı olmuyorlar. Mümkünse diyalog olmayan düz metin cümleleri de robot gibi değil, biraz duygu vererek, birisine söylercesine okumakta fayda var, bir belgesel filmde dış sesin tarzını, tonunu, sese verdiği duyguları anımsayın. Bu her metinde mümkün değil tabii.
  • Duyulamayacak kadar fısıltıyla ya da kayıt sisteminde distorsiyon yaratacak kadar çok bağırarak okumayınız, şarkı gibi söylemeyiniz.
  • Sesinizi değiştirerek, robot gibi vb. okumayınız, doğal olunuz.
  • Hafif arka plan sesi, çevrel gürültü iyidir ama arkadan başkalarının konuşmalarının olmadığı bir ortamda olduğunuza emin olunuz. Biri odaya gelip konuşarak kaydı bozduysa yeniden kaydediniz, metindeki kelimeler dışında kelime duymamalı sistemler. Sizin sesinizi bastıracak bir gürültü de olmamalı tabii ki.
  • Bazı kelimeleri okurken sözcükleri yinelemiş ya da kekelemiş olabilirsiniz - bunlar kabul edilebilir değil. Yeniden kaydediniz.
  • Başta ya da sonra biraz boşluk bırakacaksınız. Bunların çok çok uzun olmamasına gayret ediniz. Özellikle başlardaki uzun boşluklar dinleyenler tarafından “bu kayıt boş” olarak algılanabilir, HAYIR butonuna basmalarına neden olabilir. Biraz boşluk bırakmazsanız da cümlenizin başı/sonu kayıtta yer almayabilir.
  • Kısa tek kelimelik ifadeler (ör. “Yok!”) çok kısa olduğu için sistem tarafından reddedilebiliyor. Başta sonda biraz boşluk bırakarak bu limiti aşabilirsiniz.
  • Cümlenin sonunu yutmayınız. Bu bazen sesinizi cümlenin son kelimesinde gittikçe azaltmanız, bazen de çok atik davranıp kaydı durdurmanız nedeniyle olabilir. Zaten kaydı dinleyeceksiniz, bu durum varsa yeniden kaydediniz.
  • Başta ve sondaki fare tıklama seslerinin önemi yok.

Kayıtlar bittikçe -özellikle hattınız yavaşsa- birkaç saniye sunucuya yükleme zamanına da izin verin. Bilgisayarın ani kapanması, hattınızdaki kesintiler vb nedeniyle kayıtlarınız yüklenmemiş olabiliyor.

Sistemde oluşan bir hata nedeniyle seyrek de olsa bazen yüklenemediği ile ilgili mesaj gelebiliyor. Yeniden deneseniz bile gönderemiyorsunuz. Bu durumda “Cancel”/“Vazgeç” tuşuna basınız.

Sistem size cümleleri paketler halinde gönderiyor, bitince de “kalmadı” diye bildiriyor. Sayfayı yenileyin, yenileri geliyorsa devam edebilirsiniz.

Türkçe anadilim değil, lehçeli konuşuyorum diye kayıt yapmaktan çekinmeyiniz. Tam tersi, sizin vereceğiniz katkı daha da önemli. Ama herkes 1000 kayıt yaparken siz on binlerce yapmayın.

2.2. Eklenen seslerin kontrolü

Dinlemeden önce cümleyi okuyunuz. 2.1 maddesinin başında belirtilen durumlar varsa BİLDİR butonuna basabilirsiniz.

Onaylarken temel alacağınız koşul şu: Metinde yazan söylendiği zaman anlaşılıyor mu?

Şu durumlarda HAYIR butonuna basınız:

  • Yazı ile kayıt birbirini tutmuyor. Ek ya da eksik kelime var, ya da bir kelime değişik bir kelime gibi okunmuş…
  • Konuşanın okuduğu tam duyulmuyor (çok kısık sesli, ya da mikrofona çok yakın/bağırdığı için kelimeler anlaşılmıyor).
  • Köklü yanlış telaffuz var, kelime başka bir şeye dönüşmüş.
  • Bazı kelimeler yinelenmiş (ya da kekelemiş)
  • Araya başka sesler girmiş (başkasının konuşması, ezan sesi, hapşırma, öksürme vb)
  • Konuşan kelime telaffuzunu iyice bozarak kayıt yapmış (ör. robot gibi ya da vurgu ötesinde anlamsız bağırarak).

Şu durumlarda esnek davranınız (onay veriniz):

  • Lehçeli konuşma, yabancı birinin aksanlı konuşması (doğru olmak kaydıyla) vb.
  • Bazı harflerin yutulması (çoklukla “r” harfi - “geliyor” yerine “geliyo” denmesi). Herkesin okumasında/konuşmasında/telaffuzunda farklılıklar olabilir, kendi yörelerinde farklı söylüyor olabilirler… Sistemlerin bunları öğrenmesi istenir.
  • Vurguların doğru olmaması da sorun değil. Sorunun soru gibi olmadığı, emir kipinin vurgulanmadığı durumları kabul ediniz (keşke doğru olsalar, o ayrı).

Şu durumlar zaten kabul edilir:

  • Başta ve sonraki boşluklar
  • Konuşmayı bastırmayacak arka plan sesleri (TV, müzik)
  • Fare tıklamaları, sesi kapatmayan diğer tıkırtılar.

Emin değilseniz sağduyunuzu kullanıp karar veriniz, ya da ATLA butonuna basınız.

Bazen kayıtlar boş olabiliyor ya da size öyle gelebiliyor. Bu durum kaydedenin hattından, sunucudaki bir sorundan ya da sizin hattınızın stabil olmamasından kaynaklanıyor olabilir. Bu tür bir kayıtla karşılaşmanız durumunda öncelikle bir süre bekleyin, belki başta fazla boşluk bırakılmış olabilir. Ardışık bir çok kayıtta sessizlik varsa bu hattınızdan ya da sunucudan kaynaklanıyor olabilir. Genelde sayfayı yenilediğinizde bu sorun giderilir. Emin değilseniz ATLA butonuna basın.

Örnekler

Bu örneklerin büyük çoğunluğu binlerce kaydın dinlenmesi sırasında alınan notlardan özetlenmiştir.

Görüldüğü gibi günlük konuşmalardaki ya da yereldeki şekillerine izin veriyoruz ve hatta özellikle istiyoruz. Ama özellikle konuşma dilinde yazılmamış metinlerden de doğru Türkçe gelmesini istiyoruz.

Örneğin aşağıdaki “söyle bana” farklı olarak “süüle bana” diye okunmuş ve bunu kabul etmişiz. Doğal olarak “süüle” diye bir kelimenin başka bir metinde olma olasılığı düşük, sözlükte de yok. Kabul ettiğimiz için bir konuşmada “süüle bana” denince ne demek istediğini anlayacak sistem ve “söyle” yazacak. Bunu kabul etmezsek anlamayacak.

Biz günlük yaşamda anlıyoruz, makinenin de anlamasını istiyoruz.

:question: Yazan | Okunan [Notlar]

:white_check_mark: Düşündüğü yalnız buydu. | Düşündüğü yanlız buydu.
:white_check_mark: Aferin sana. | Afferin sana
:white_check_mark: Bir gelemedin. | Bi gelemedin.
:white_check_mark: İyi akşamlar… | İyakşamlar…
:white_check_mark: Söyle bana | Süle bana
:white_check_mark: Katil zanlısı. | Kaatil zanlısı.
:white_check_mark: Değil mi? | Diilmi?
:white_check_mark: Bir şey soracağım… | Bişey sorcam…
:white_check_mark: Şaka yapıyor olmalısın. | Şaka yapıyo olmalısın.
:white_check_mark: Bir işarete bakıyormuşsun. | Bi işarete bakıyomuşun.
:white_check_mark: Herkes dışarı! | Herkez dışarı!
:white_check_mark: Eğer gelmeyeceksen haber ver. | Eyer gelmiyceksen haber ver.
:white_check_mark: Gelirken maydanoz alsana… | Gelirken maadonos alsana…
:white_check_mark: Bir dakika bekle. | Bir dakka bekle.
:white_check_mark: Sen neden bahsediyorsun? | Sen neyden bahsediyon?
:x: Tabii ki hayır! | Tabiykide hayır!
:x: Ama… | Aaamaa… [‘Kör’ anlamındaki 'Âmâ olarak algılanacaktır]
:x: Başımı çevirip baktığım zaman… | Başını çevirip baktığı zaman… [Özne değişmiş]
:x: Bir işarete bakıyormuşsun. | Bi işarete bakıyomusun. [Yüklem değişmiş]
:x: Sallanarak yukarıya çıktı. | Salınarak yukarı çıktı. [Benzer gibi gelse de aslında anlamı farklı]
:x: Sonra kaşlarını çatarak… | Sonra saçlarını saçarak…
:x: Kadının bu lüzumsuz merakı canımı sıkıyordu. | Kadının bu zulümsüz merakı canımı sıkıyordu.
:x: Birdenbire bu sesler kesildi. | sildi Birdenbire bu sesler kesildi. [Bazı gönüllüler bir kere sesli okuyup ardından kayda basıyorlar, bir önceki okuyuştan kelimeler kayda geçebiliyor]
:x: İçki? | İçki? Ha ha, alırım… [Eklenmiş kelimeler]
:x: O, taş odalarda kim bilir ne yapıyor? | O, taş odalarında kim bilir ne yapıyor?