2 puan yazan GN⁺ 4 시간 전 | 2 yorum | WhatsApp'ta paylaş
  • Mobil klavyelerdeki swipe giriş yöntemini açık model + algoritma ile hayata geçirme girişimi
  • Mevcut yüksek kaliteli swipe girişi, gizliliği ihlal eden klavye uygulamalarına ya da lisanssız kapalı kütüphanelere bağlı olduğundan bir alternatife ihtiyaç vardı
  • Tamamen çevrimdışı Android uygulaması FUTO Keyboard içinde yer alıyor; modeli indirip kendiniz derlemek de mümkün
  • Ağustos 2024'ten itibaren QWERTY İngilizce swipe verileri toplanarak 1 milyondan fazla örnek elde edildi ve Mart 2025'te MIT lisanslı veri seti olarak HuggingFace'te yayımlandı
  • Yapı; genel amaçlı Encoder, dile özgü ContextLM ve dil/düzen bazlı Decoder olarak ayrılıyor; test setinde top-4 başarısızlık oranı yaklaşık %4, OOV hariç hata oranı %1'in altında
  • Tüm model yaklaşık 2,5 milyon parametre ölçeğinde; yaklaşık 1,36 milyon aktif parametreye sahip küçük bir model olarak C++ çıkarım kütüphanesi swipe-library üzerinden düşük donanımlı cihazlarda bile milisaniye düzeyinde çalışmayı hedefliyor

Açık swipe giriş modeliyle çözülmek istenen sorun

  • FUTO Swipe, swipe yolunu kelime tahminine dönüştüren bir model ve algoritma ürün ailesidir
  • Şu anda tamamen çevrimdışı Android klavye uygulaması FUTO Keyboard içinde kullanılabiliyor
  • Web sayfası demosu, sayfa boyutunu küçültmek için sunucu tarafında çalıştırılıyor; ancak gerçek ürün ortamında cihaz üzerinde çalıştığı için gecikme daha düşüktür
  • FUTO bu sistemi öncelikle FUTO Keyboard için geliştirdi, ancak daha geniş topluluğun modeli kullanmasını da memnuniyetle karşılıyor
  • Bu uzun vadeli bir yatırımın sonucu olduğu için, son kullanıcıya görünen biçimde atıf talep ediliyor ve model lisansı FUTO Model License kapsamında sunuluyor

Veri seti ve model yapısı

  • Ağustos 2024'te swipe.futo.org üzerinden QWERTY İngilizce swipe verisi toplamaya başlandı
    • Kullanıcılar mobil web sayfasını gönüllü olarak ziyaret edip yönergeleri ve veri seti bilgilerini inceledi
    • Onay verdikten sonra çoğunlukla Wikipedia'dan alınan cümleleri kelime kelime swipe ederek girdi
    • Sonuçta 1 milyondan fazla swipe üretildi ve düşük kaliteli bazı swipe örnekleri filtrelendi
    • Mart 2025'te 1 milyon swipe veri seti MIT lisansıyla HuggingFace'te yayımlandı
  • Model mimarisi, farklı rollere sahip üç modele ayrılıyor
    • Encoder: Düzen ve dilden bağımsız genel amaçlı model; genel swipe giriş tahmini için kullanılıyor, ancak en ileri düzey doğruluğu sağlamıyor
    • ContextLM: Tek dil için çok küçük bir dil modeli; önceki kelimelere bakarak anlamsız adayları eliyor ve tahmin kalitesini artırıyor. Eğitim için yalnızca metin verisi gerekiyor
    • Decoder: Dile ve düzene özel model; düzen özelliklerini öğrenerek üst düzey doğruluk sağlıyor ve şu anda yalnızca QWERTY İngilizce Decoder bulunuyor

Performans ve çalışma ölçeği

  • Performans değerleri büyük ölçüde benchmark'a bağlı olduğundan gerçek kullanım sonuçları değişebilir
    • 3 model ve beam width 300 kombinasyonunda test setinde top-4 başarısızlık oranı yaklaşık %4
    • Sözlükte olmayan kelimeler hariç tutulduğunda hata oranı %1'in altında
    • FUTO bunu büyük teknoloji şirketlerinin klavyeleriyle yarışan bir seviye olarak değerlendiriyor
  • Model, mobilde çalıştırma düşünülerek küçük ölçekte tasarlandı
    • Encoder: 635.140 parametre
    • Decoder: ek 304.155 parametre
    • ContextLM: 1,5 milyon parametre; bunun 1,1 milyonu embedding
    • Aktif parametre sayısı 1.364.271, toplam parametre sayısı 2.494.767
    • Düşük donanımlı cihazlarda bile milisaniye düzeyinde çalışabiliyor ve eğitim için bir iş istasyonu GPU'sundan fazlası gerekmedi

Çıkarım kütüphanesi ve lisans

  • Yalnızca model tahmini yeterli olmadığından, kelime adaylarını puanlayıp en olası adayı bulan sözlük kısıtlı beam search gerekiyor
    • Bunun için C++ kütüphanesi swipe-library yayımlandı
    • swipe-library; tüm çıkarım, decoding ve beam search süreçlerini yöneterek swipe yolundan kelime tahminine kadar olan akışı sağlıyor
    • Model FUTO Model License ile, çıkarım kütüphanesi ise GPL ile sunuluyor
  • FUTO, eğitim ve mimariyi daha ayrıntılı ele alacak bir makale hazırlıyor

2 yorum

 
wedding 3 시간 전

Bu şirketin ses tanımalı klavyesini kullanıyorum, gayet iyi.

 
GN⁺ 4 시간 전
Hacker News yorumları
  • Hız nedeniyle kaydırarak girişi seviyorum. Dokunarak yazmaya göre genelde daha hızlı ve tek elle kullanması daha kolay, ama benzer kelimeleri sürekli yanlış algılıyor ve tek/çift harf ayrımında da zayıf kalıyor
    Uzun zamandır kaydırma için özel yeni bir klavye düzeni istiyordum. Dvorak İngilizce yazmanın ergonomisini nasıl optimize ettiyse, kaydırırken kelime çakışmasını ve belirsizliği azaltan bir düzen olsa harika olurdu
    Bunun illa 26 tuş olması da gerekmiyor; v/w/x/z tek tuşta toplanabilir ve tek harfler uzun basmayla girilebilir. Tersine, e ile ee ayrılabilir ya da “önceki harfi tekrarla” gibi özel bir tuş gerekebilir
    Sorunların çoğu QWERTY'nin kaydırma için fazla uygunsuz olmasından kaynaklanıyor; bu yüzden İngilizcede doğruluğu şu an hissedilen %90-95 seviyesinden %99,9'a çıkaran optimal bir düzen çıkarsa yeni bir düzen öğrenmeye fazlasıyla razıyım

    • FUTO Swipe tam da böyle, kaydırma için optimize edilmiş ClearFlow klavye düzenini destekliyor: https://clearflowkeyboard.github.io/
      https://github.com/futo-org/futo-keyboard-layouts/issues/163
    • %90-95 tahmini oldukça doğru; test setinde de aşağı yukarı bu seviyede ölçülüyor. Yakında bununla ilgili bir blog yazısı gelecek
      Model yapısı gereği her düzen için yaklaşık 50 bin kelimelik sentetik kaydırma üretip bunları modelden geçirerek tanıma doğruluğunu doğrudan optimize edebildik; bu yöntemle yaklaşık 800 bin düzen test edildi
      QWERTY'nin en büyük sorunu, çok fazla kelimenin düz çizgi ya da geniş açılı 3 harflik ardışık desenlerle kaydırılması. Bu tür desenleri hem tanımak zor hem de kullanıcının hangi harfleri kastettiğini jestle açıkça belirtmesi zor
      Sinir ağı tabanlı kaydırma modeli, algoritmik şekil eşleştirmede olduğu gibi jest şeklini birebir uydurmaktan ziyade, kullanıcının belirli harfleri hedeflediğine dair sinyalleri jest deseninde arıyor
      Klavyenin şeklini değiştirirseniz jestler daha iyi oluşabilir ve harf sinyali daha belirgin hale gelebilir. Model, şekil eşleştirmenin aksine zaman bilgisini de kullandığı için bekleme süresine de tepki verebilir, ama beklemek akışı bozduğu için kaydırma düzenlerinde bunun mümkün olduğunca azaltılması daha iyi olur diye düşünüyorum
    • Eski bir şey olduğu için bugün artık çok ilgili olmayabilir, ama jest arayüzünü çok şık biçimde yeniden hayal eden bir örnek olarak https://www.the8pen.com/ var
      Modern bir devamı da var gibi görünüyor: https://play.google.com/store/apps/details?id=inc.flide.vi8
    • Ben de bir süredir bunu istiyordum. Şu anda iyi yazma hızı için telefonu yatay çevirince çıkan bölünmüş modda Dvorak kullanıyorum
  • Bu klavyeyi bir süredir ara ara kullanıyordum ama hep gboard'a geri dönüyordum; bu güncellemeden sonra tamamen geçiş yaptım. Gerçekten çok iyi
    Cümle ortasındaki kelimeleri rastgele büyük harfle başlatma sorunu var ve kelime önerilerinde bağlamı pek dikkate almıyor gibi; bu yüzden bir önceki kelimeden sonra gelmesi imkânsız olan öneriler sık çıkıyor
    Henüz gboard kadar iyi değil ama sürekli kullanacak kadar yaklaştı
    Daha güçlü bir cihaz kullanırsanız siteden daha büyük ses modeli ve daha büyük bir sözlük indirebiliyorsunuz; hissedilen fark epey belirgin
    Temelde can sıkıcı olan şey, GIF araması eklemeye ideolojik olarak karşı görünüyor olmaları; o özelliği bazen özlüyorum: https://github.com/futo-org/android-keyboard/issues/293#issu...

    • Benim durum da benzer gibi. Konuşmadan metne özelliği bazen birden emojileri peş peşe kusmaya başlıyor; sende de oldu mu merak ediyorum
  • Harika. FUTO klavyesini 2 yıldır kullanıyorum ve şimdiye kadar bulduğum ücretsiz, gizlilik dostu klavyeler arasında en iyisiydi, ama bu tür klavyelerde kaydırma o kadar kötüydü ki kaydırmayı çok kullanan biri olarak tam bir işkenceydi
    Veri setine katkı olsun diye yaklaşık bir saat kaydırarak giriş yapmıştım; gerçekten işe yaramış gibi görünmesine sevindim. Şimdi denedim, Google klavye kadar iyi hissettiriyor
    Yalnız what's yerine sürekli whats yazması biraz komik. Sonradan düzelirse güzel olur

  • Lisansı merak edenler için söyleyeyim: kütüphane GPLv3, bu güzel; ama Android klavye Futo License, bu pek iyi değil
    https://gitlab.futo.org/keyboard/swipe-library/-/blob/master...
    https://github.com/futo-org/android-keyboard/blob/master/LIC...

    • Lisans karmaşıklığını biraz daha artırmak gerekirse, model FUTO'nun ayrıca yazdığı başka bir lisans kullanıyor ama en azından klavye lisansı kadar kötü görünmüyor: https://huggingface.co/futo-org/futo-swipe/blob/main/LICENSE...
    • Futo License içindeki özellikle sorunlu kısım tam olarak ne, merak ettim
      Acaba şu madde mi: dağıttığınız kopyalarda lisans sağlayıcısına ödeme yapılan özelliği kaldıramaz veya gizleyemezsiniz
    • Basitçe söylemek gerekirse, şartları çok hafif bir ticari lisansa daha yakın
  • Birkaç yıl önce iOS'ta Nintype deneyimledikten sonra başka hiçbir swipe klavyeyi kullanamaz oldum. Şimdi normalde varsayılan klavyeyle yazıyorum ve yalnızca iki elimi kullanamadığımda ara sıra bir iki kelimeyi swipe ile giriyorum
    Telefonu iki elle tutarken tek parmakla swipe yapmak bana doğal gelmiyor ve yavaş hissettiriyor. Keşke Apple, Nintype'ı satın alıp ya da Sherlock'layıp varsayılan klavyeye entegre etseydi

    • Ben de onu kullanıyordum. FUTO'da bir kelimeyi birden fazla eşzamanlı veya eşzamansız swipe ile girme özelliği olup olmadığını merak etmiştim ama sanırım yok. Uygulamanın adını bile unutmuştum; gerçekten nostaljik geldi
      Apple resmi olarak üçüncü taraf klavyelere izin vermeden önce bile kullanıyordum
    • Tamamen katılıyorum. Geliştirici, keyboard 69 adlı hatalarla dolu bir Android Nintype portu yapmıştı ve onu yıllarca kullandım
      Kullanıcı deneyimi inanılmazdı; ondan sonra denediğim tüm swipe sistemleri bunun yanında gerçekten hantal hissettiriyor. İki parmakla swipe ergonomi açısından zirve ama ne yazık ki fazla niş bir yenilik gibi görünüyor
  • Yeni swipe modelini ekleyen Futo, denediğim Android klavyeler arasında ilk kez GBoard karşısında taviz veriyormuşum gibi hissettirmiyor
    Entegre sesli giriş, iyi otomatik düzeltmeli yazım ve iyi otomatik düzeltmeli swipe sunuyor

  • Düzeltme: Ücretsiz ve açık olacağı garanti değil. Lisans yapısı kafa karıştırıcı. Yine de iyi çalıştığı için Gboard yerine kullanmayı düşünüyorum
    Bu gerçekten çok büyük bir şey. Bana göre bu, kullanılabilir ilk ücretsiz açık swipe modeli olmaya en yakın şey. iOS ve Android dışındaki platformlarda swipe ile yazmanın önünü açıyor ve yeni işletim sistemi girişimcileri için büyük bir sıkıntı olan bir alanı hafifletiyor

  • Tam da Microsoft, SwiftKey'e reklam ve Bing'e yönlendiren dark pattern yönlendirmeleri eklemeye başladığı için onu silmiştim; zamanlama iyi olmuş

    • Eğer silmekten kastın buysa ben de aynı nedenle yaptım
      Yedekleme özelliğini kullanmam için çıkan panel durmadan geri geliyordu; o kadar bunaltıcıydı ki sonunda GBoard'a geçtim. Aynısı değil ama alışıyorum
    • Silmekten kastın bu, değil mi? Microsoft içinde Bing ekibinin etkisinin bu kadar güçlü olması üzücü. Bing'in şanı ve geliri uğruna ürünü bozuyorlar
      Muhtemelen para yüzünden ama Microsoft'un yaptığı her şeyin devasa para kazanmak zorunda olduğunu düşünmüyorum
  • İyi görünüyor ama Futo klavyenin büyük sorunu, aynı anda yalnızca tek dil desteklemesi. Gboard'da kullandığım 3 dil arasında sürekli geçiş yapmadan swipe ile yazabiliyorum. Keşke Futo da böyle olsa

  • Sesle dikte şimdiye kadar kullandığım GBoard'dan çok daha iyi. Ben uğraşmadan cümle başı büyük harfleri ve noktalama işaretlerini hallediyor, birden fazla cümleyi sonradan düzenleme gerektirmeden kusursuz çıkardı ve bunların hepsi yerel modelde çalışıyor
    Eksisi, gerçek zamanlı güncellenmemesi; konuşmayı bitirdikten sonra topluca dönüştürüyor. Ayrıca en son 1-2 yıl önce denediğim zamana kıyasla backspace swipe ve boşluk çubuğunun aşırı hassas olması düzeltilmiş gibi görünüyor ve artık biraz özelleştirme de mümkün