1 puan yazan GN⁺ 2026-02-01 | 1 yorum | WhatsApp'ta paylaş
  • Çince telaffuz ve ton pratiğine yardımcı olmak için yaklaşık 300 saatlik konuşma verisiyle eğitilmiş 9M parametreli CTC tabanlı bir konuşma modeli bizzat geliştirildi
  • Conformer kodlayıcı yapısı kullanılarak hem yerel konuşma özellikleri hem de küresel bağlam yakalanıyor; Pinyin+ton birimi tokenizasyonu ile telaffuz hataları net biçimde ayrıştırılıyor
  • CTC kaybı sayesinde kullanıcının gerçekten telaffuz ettiği içerik kare düzeyinde değerlendiriliyor, Viterbi algoritması ile zaman hizalaması yapılıyor
  • Model boyutu 75M→9M’e düşürülse de doğruluk kaybı neredeyse hiç olmadı; INT8 niceleme sonrası yaklaşık 11MB boyutla web tarayıcısında anında çalışabiliyor
  • Tarayıcı tabanlı demo, cihaz üstünde telaffuz düzeltme sistemlerinin potansiyelini gösteriyor; veri kalitesini iyileştirmek gelecekte performans artışının anahtarı olarak görülüyor

Telaffuz değerlendirme modeli özeti

  • Çince telaffuz öğrenmenin zorluklarını çözmek için telaffuzu puanlayan küçük bir konuşma modeli doğrudan eğitildi
    • Yaklaşık 300 saatlik transkribe edilmiş konuşma verisi kullanıldı (AISHELL-1, Primewords)
    • Doğrudan tarayıcıda çalışabilecek biçimde sunuldu
  • Mevcut perde görselleştirme yöntemi gürültü, konuşma farkları vb. nedenlerle kararsızdı; veri tabanlı yaklaşımın daha etkili olduğu görüldü
  • Hedef, ticari API kullanmadan cihaz üstünde Computer-Assisted Pronunciation Training (CAPT) sistemi gerçekleştirmek

Model yapısı ve eğitim yöntemi

  • Conformer kodlayıcı + CTC kaybı yapısı benimsendi
    • CNN, kısa zaman aralıklarındaki akustik özellikleri yakalıyor (ör. zh vs z)
    • Transformer, bağlamsal ton kalıplarını işliyor (ör. tone sandhi)
  • CTC yöntemi, kare bazlı olasılık dağılımı üreterek gerçekten telaffuz edilen fonemleri doğrudan değerlendiriyor
    • `` tokenı kullanılarak tekrarlar ve boşluklar hizalanıyor
    • Otomatik düzeltme olmadan, gerçekten telaffuz edilen içerik olduğu gibi yansıtılıyor

Tokenizasyon ve hizalama

  • Pinyin+ton birleşimi tek bir token olarak tanımlandı
    • Örnek: zhong1 ve zhong4 birbirinden farklı tokenlar
    • Nötr ton, tone 5 (ma5) olarak birleştirildi
    • Toplam 1.254 token + , yapısı
  • Viterbi algoritması ile konuşma kareleri ve tokenlar arasındaki en iyi yol hesaplanıyor
    • Örnek: “Nǐ hǎo” telaffuzunda ni3 ve hao3 bölümleri ayrıştırılıyor

Modelin hafifletilmesi ve performans

  • Başlangıçtaki 75M parametreli model 9M’e kadar küçültüldü
    • 75M: TER %4,83, Tone Accuracy %98,47
    • 9M: TER %5,27, Tone Accuracy %98,29
    • Doğruluk kaybının çok düşük olması, bunun veri bağımlı (data-bound) bir görev olduğuna işaret ediyor
  • FP32 model (37MB), INT8 niceleme ile 11MB’a kadar küçültüldü
    • onnxruntime-web üzerinden tarayıcıda anında yüklenebiliyor

Hizalama hataları ve düzeltme

  • Sessizlik bölümlerinin telaffuz değerlendirmesini bozduğu bir sorun ortaya çıktı
    • Örnek: “我喜欢…” telaffuzundan önceki 1 saniyelik sessizlik wo3 ile yanlış hizalanıp 0 puan olarak değerlendiriliyordu
  • Çözüm: sessizlik karelerini puan hesabından çıkarmak
    • `` olasılığı 0.7’nin üzerinde olan kareler filtrelendi
    • Düzeltmeden sonra ilk hecenin güven puanı 0.0 → 0.99’a yükseldi

Sonuçlar ve sınırlamalar

  • Beta test sırasında telaffuz düzeltme etkisi hissedildi
    • Model oldukça katı puanlama yapıyor
  • Anadili konuşanlar ve çocukların konuşmaları için doğruluk düşüyor
    • AISHELL verisi çoğunlukla okuma tarzı konuşmadan oluştuğu için hız ve tonlama farkları var
    • Gelecekte Common Voice gibi konuşma dili verilerinin eklenmesi gerekiyor
  • Web demosu yaklaşık 13MB boyutunda ve çoğu web sitesinden daha hafif bir boyutta tam işlevli telaffuz düzeltme sunuyor

1 yorum

 
GN⁺ 2026-02-01
Hacker News yorumları
  • Gerçekten harika bir proje, bunun için teşekkürler
    Yalnız, “我想学中文” cümlesinde “wén”i “guó” olarak tanıması tuhaf geldi
    Bu, modelin tondan ziyade kelime yapısını öğrendiğini düşündürüyor. Muhtemelen “Zhōng guó” eğitim verisinde çok geçtiği için böyle bir önyargı oluşmuş
    Blog yazısında dendiği gibi, bu yapı benim gerçekte yaptığım telaffuzu söyleyen bir modelden çok, olası 1254 heceden en yakın olana eşleme yapıyor gibi görünüyor

    • “guó”yu birkaç kez tekrarladım ama tekrar tekrar tanımadı
      Yine de bu ses odaklı öğrenme yaklaşımı hoşuma gitti. Yazı temelli öğrenme ülkeden ülkeye yazım sistemi değiştiği için kafa karıştırıcı olabiliyor. Yeni başlayanlar için pinyin bile kafa karıştıran çok sayıda işaret içeriyor
  • Fikir ve UI sezgisel olduğu için etkileyiciydi
    Ama Pekinli ve standart Çinceyi kusursuz konuşan biri olarak benim bile kolay soruları geçmem zordu
    “你好吃饭了吗” örneğinde ton tanıma yanlıştı ve bağlama göre “了” liǎo değil le olmalıydı
    Tonlar konusunda çok endişe eden yorumlar var ama pratikte tonlar kusursuz olmasa da iletişimde büyük bir sorun çıkmayabiliyor
    Bölgeden bölgeye vurgu değişiyor, tonlar karışsa bile insanlar yine de birbirini anlıyor. Tonlara fazla takılmak yerine bağlam odaklı öğrenmeyi öneririm

    • Ana dili konuşuru olarak itiraz edeyim, tonlar çok önemli
      Bölgesel lehçeler farklı olsa da insanların iletişim kurabilmesinin nedeni 1) komşu bölgeler arasında ton farklarının çok büyük olmaması ve 2) anlaşamadıklarında standart dile (Putonghua) geçmeleri
      Çincenin bu haliyle var olmasının temelinde zaten ton sistemi var. Tonlar yanlışsa iletişim neredeyse imkânsız hale gelir
    • Tayvan’da C1 seviyesinde öğrenmiş biri olarak bakınca, tonlar başta önemli ama ifade gücü arttıkça bağlam bunu telafi ediyor
      Ama Çin’de iletişimin yazı merkezli olmasının nedenlerinden biri de, bölgeler arasında telaffuz ve tonlar o kadar farklı ki yalnızca sesle anlaşmak zor olabiliyor
    • Ana dili konuşurları, ton örüntüleri farklı olsa bile dilbilgisi ve vurgu tahmin edilebilir olduğu için birbirini anlayabiliyor; öğrenciler için durum böyle değil
      İnsanları tonları görmezden gelmeye teşvik etmek riskli. Tonlar gerçekten önemsiz olsaydı çoktan ortadan kalkmış olurdu
    • “了” meselesi bir JavaScript bug’ıydı ve düzeltildi. Geri kalanı daha çeşitli veri kümeleriyle iyileştirilebilir
    • Tonlar önemsiz dense bile, “熊猫(xióngmāo)” ile “胸毛(xiōngmáo)” gibi örneklerde ton farkı tamamen farklı anlamlar yaratabiliyor
      Bağlam dar olduğunda karışıklık çıkabilir, bu yüzden tonlar hâlâ kritik. Ayrıca “吃”yi “shi2” diye tanıması gibi durumlar veri artırımı gerektiriyor
  • Orta seviye bir öğrenci olarak geri bildirim bırakmak için yeni hesap açtım
    Hızlı konuşunca fonem takibi iyi çalışmıyor ve ton tanıma kayıyor
    Mesela “他是我的朋友”yu doğal hızda söylersem “我”yu “de” diye tanıyor ya da “是”yi “si” olarak işliyor
    Yavaş ve tane tane konuşunca doğru tanıyor
    Ardışık üçüncü ton değişimi (ton dönüşümü) gibi olguların da hesaba katılması lazım. Doğal konuşmadaki telaffuzları ele alabilen bir özellik gerekli

    • Ton dönüşümü Çince telaffuzun temel parçalarından biri. Şu an başlangıç seviyesi için uygun ama geliştirilmesi gerekiyor
    • Geri bildirim sayesinde sandhi (ton dönüşümü) desteği ekledim. İyi çalışıp çalışmadığını bildirmenizi istiyorum
    • Bende de ton dönüşümünün işlenmediği izlenimi oluştu. Yine de fikir gerçekten harika
    • Ben de aynı sorunu yaşadım. Acaba “dapangzi” olduğum için mi diye şaka yaptım
  • Avrupa dilleri konuşan biri için Çince ya da başka bir tonlu dili öğrenmek çok zor
    Kulak tonlara alışık olmadığı için kişi doğru söylediğini sanıyor ama ana dili konuşuru onu anlayamıyor

    • Ana dili Çince olan biri olarak, İngilizcenin ünlü sistemi bana çok daha zor geliyor
      İngilizcede ünlüler bölgeden bölgeye değişiyor ve “done vs down”, “beat vs bit” gibi farkları ayırt etmek zor
      Buna karşılık İspanyolca çok daha basit ünlülere sahip olduğu için öğrenmesi çok daha kolaydı
    • Bu yüzden Çinlilerin İngilizce ve Almanca telaffuzunda neden hata yaptığını anlıyorum. Çünkü dikkatin odak noktası farklı
    • Tonlara ya da perdeye alışık olmayan biri için bu delirtici derecede zor ama böyle araçlar süreci daha az acı verici hale getiriyor
      Japonca pitch accent öğrenirken de başta hiçbir fark duyamıyordum ama tekrar tekrar çalışınca yavaş yavaş duymaya başladım
      İngilizcede de “uh-oh” gibi perde örüntüleri olduğunu fark edince kafamda oturdu
    • Bazen basit bir cümle söylesem bile insanlar anlamıyor.
      Özellikle İngilizce tarzı tonlamayla belirsizlik ifade etme alışkanlığı sorun oluyor
    • Ama tonlar o kadar da zor değil. Asıl zor olan kelime dağarcığı
      Tonlar ve dilbilgisi başta öğrenilen temel şeyler; sonraki yıllarda çabanın çoğu kelime ezberine gidiyor
      Çincenin asıl zorluğu paylaşılan kelime hazinesinin azlığı ve fonemik olmayan yazı sistemi
  • Sadece kelime düzeyinde söylenince iyi çalışıyor; cümle düzeyinde ya da doğal hızda ise yanlış tanıma çok fazla
    Ben standart dil 2A sertifikasına sahip bir ana dili konuşuruyum ama gündelik şekilde konuşunca bile hata veriyor
    Model, günlük konuşma ile resmî telaffuz arasındaki farkı ayırt edemiyor

  • Tayvan’da okurken tonları hatırlamak için elimle ton eğrileri çizerek çalışırdım
    Deli bir yabancı gibi görünüyordum ama gerçekten işe yarıyordu
    Bölgesel aksan farkları da büyük, bu yüzden referans verisinin ana dili konuşurlarına göre toplanması iyi olabilir

    • Benim dersimde de bir öğrenci tonları aşırı abartılı söylüyordu ama sonra en doğru telaffuza sahip kişi oldu
      O zaman onu taklit etmediğim için pişmanım
    • Mike Laoshi’nin YouTube dersi önerilir
    • Ben de sadece birkaç arkadaşımla test ettim; bölgeyi bir parametre olarak ayarlamayı düşünüyorum. Tüm lehçeleri öğretirsem sistem fazla hoşgörülü olabilir
    • Bu, solfej eğitimi gibi el hareketleriyle perdeyi ifade etme yöntemine benziyor
    • El hareketleri özellikle yeni kelimeleri ezberlerken yardımcı oluyor. Tonları parmaklarla göstermek akılda daha iyi kalıyor
  • Ana dili konuşuruyum ama demo telaffuzumu tanımadı
    Muhtemelen arka plan gürültüsü yüzündendi. Yan tarafta kızım çizgi film izliyordu

    • Şu anda arka plan gürültüsüne duyarlı, ama veri artırımıyla iyileştirilmiş bir sürüm eğitiliyor
  • Gerçekten harika bir proje ama dış geri bildirime aşırı bel bağlamayın demek isterim
    Telaffuz düzeltmenin özü kulak eğitimidir. Yetişkin öğrencilerde de nöroplastisite sürdüğü için, minimal pair dinleme çalışmaları gibi yöntemlerle kulağı eğitmek gerekir
    Böylece yalnızca telaffuz değil, dinleme becerisi ve kelime edinim hızı da ciddi biçimde artar

    • Ben Phrasing.app geliştiriyorum ve bu tavsiyeye tamamen katılıyorum
      SST’den çok metin-ses senkronizasyonu (karaoke tarzı) daha etkili oldu
      Kullanıcının kendi sesini orijinal kayıtla üst üste dinleyip farkı kendisinin duyması öğrenme açısından çok faydalıydı
    • Ben de aynı fikirdeyim. Dinlemek, konuşmanın özüdür
      Kelime kelime ton ezberlemek yerine ana dili konuşurunun telaffuzunu doğrudan taklit etmek çok daha doğal
  • Her şeyin tarayıcı içinde ONNX Runtime Web ile çalışması etkileyiciydi
    Zorunlu hizalama yöntemiyle anlam tahminini dışarıda bırakıp yalnızca ton sorununu izole etmesi akıllıca bir yaklaşım
    Gelecek sürümlerde ton dönüşümü (sandhi) bir son işleme adımı olarak eklenirse konuşma hızında pratik yapmak için daha faydalı olabilir

  • Keşke bir pinyin modu olsaydı. Ben sadece konuşmayı öğreniyorum, karakter okumayı öğrenmiyorum
    Kelime dağarcığımı düzenlemek için hazırladığım flashcard web app kullanıyorum

    • Güzel bir öneri olduğu için pinyin geçiş özelliği eklendiği söylendi
    • Ben de aynı şeyi düşündüm. Ama ünsüz tanıma iyi çalışmadığı için sinir bozucuydu. Telaffuzum o kadar kötü olmamalı
    • Pinyin moduna ben de bir oy ekliyorum