BPE Deneyleri (Türkçe) — Elle Algoritma + İki Küçük Derlem

Bu repo bir öğrenme çalışmasıdır: BPE (Byte-Pair Encoding) algoritması önce kütüphanesiz, elle yazıldı; sonra aynı algoritma Hugging Face tokenizers kütüphanesiyle iki farklı Türkçe derlemde eğitilip karşılaştırıldı.

Üretim için değil, yöntemi göstermek içindir. Alan-içi gerçek kullanım için devamı olan tokenizer'a bakın: namruni/meb-ogretmen-tokenizer

İçerik

Dosya Ne
elle_bpe.py BPE'nin kütüphanesiz, ~30 satırlık gerçeklemesi (say → en sık çifti yapıştır → tekrarla)
vocab.json Elle BPE'nin 5 kelimelik oyuncak derlemden ürettiği 16 girişlik sözlük
bpe_egit.py tokenizers ile byte-level BPE eğiten parametreli betik
yer_isimleri_bpe.json Deney 1 — 4.793 yer ismi, sözlük 512
metin_bpe.json Deney 2 — 872 kelimelik deneme yazısı, sözlük 384
metin.txt Deney 2'nin metni
temiz_yer_isimler.txt Deney 1'in derlemi (ayrı veri seti)
CALISMA_NOTLARI.md Özgün çalışma raporu (bulgular ve gerekçeler)

Sayısal sonuçlar

Deney 1: yer isimleri Deney 2: düz metin
Veri 4.793 kelime / 50.604 karakter 872 kelime / 6.044 karakter
Sözlük 512 384
BPE token sayısı 13.107 3.338
Sıkıştırma 3,86 karakter/token 1,81 karakter/token
Kelime başına 2,73 token 3,83 token
Kayıpsız geri çözme

Karakter düzeyinde aynı derlem 50.604 token'dı; BPE bunu 13.107'ye indirdi (~3,9×).

Öne çıkan bulgular

  1. Yapı taşları kendiliğinden doğdu. Yer isimleri sözlüğünde köy, pınar, kara, dere, şehir tek token oldu — kimse söylemeden, sadece sıklıktan.
  2. İki sözlüğün ortak DNA'sı Türkçe ekleri. Kesişimdeki 37 token lar, ler, la, le, … Biri kelime listesi, öbürü deneme yazısı; ikisi de dilin morfolojisini istatistikten keşfetti.
  3. Tokenizer, veri kalitesinin röntgenidir. Sözlükte cevız (noktasız ı) token'ının belirmesi, ham veride 37 kez geçen yazım bozukluğunu ortaya çıkardı — daha önce "model hatası" sanılan çıktının kaynağı veriymiş.
  4. Boşluk token'ın parçasıdır. Düz metin sözlüğünde kelimeler ve, bir gibi başı boşluklu yaşar (GPT sözlüklerindeki Ġ). Kelime listesinde boşluk olmadığı için Deney 1'de bu görülmez.
  5. Bayt gösterimi bozulma değildir. ö (ö), ı (ı), ÅŁ (ş) dizileri UTF-8 baytlarının görünür yazımıdır; decode her zaman doğru Türkçe'yi geri verir.

Ayrıntılı gerekçeler için CALISMA_NOTLARI.md.

Kaynak

GitHub: namruni/single_letter_transformers

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support