Instructions to use senemde/saglik-bpe-tokenizer with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use senemde/saglik-bpe-tokenizer with Transformers:
# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("senemde/saglik-bpe-tokenizer", device_map="auto") - Notebooks
- Google Colab
- Kaggle
saglik-bpe-tokenizer
Türkçe sağlık metinleri için sıfırdan eğitilmiş bir Byte-Level BPE tokenizer. Türkçe gibi morfolojik olarak zengin bir dilde, alan-odaklı (sağlık) bir korpusla eğitildiği için genel amaçlı çok dilli tokenizer'lara göre aynı metni belirgin şekilde daha az token ile temsil eder.
Özellikler
| Tür | Byte-Level BPE (GPT-2 tarzı) |
| Sözlük boyutu (vocab size) | 8.000 |
| Normalizer | NFKC |
| Özel token'lar | [UNK], [PAD], [CLS], [SEP], [MASK], `< |
| Dil | Türkçe |
| Alan | Sağlık / tıp |
Eğitim korpusu
Tokenizer, Türkçe Wikipedia'nın sağlık ile ilgili kategorilerinden (Diyabet, Beslenme, Bulaşıcı hastalıklar, Kalp hastalıkları, Vitaminler vb.) resmi MediaWiki API'si üzerinden toplanan makale metinleriyle eğitilmiştir. Wikipedia içeriği CC BY-SA lisanslıdır ve API erişimine açıktır.
Değerlendirme — Türkçe token verimliliği
Kelime başına düşen token sayısı (fertility) ne kadar düşükse tokenizer o kadar verimlidir. Örnek Türkçe sağlık cümlelerinde:
| Cümle | Kelime | Token | Fertility |
|---|---|---|---|
| "Diyabet, kan şekerinin sürekli yüksek seyrettiği kronik bir hastalıktır." | 9 | 13 | 1.44 |
| "Sağlıklı beslenme ve düzenli fiziksel aktivite hastalıkların önlenmesinde önemlidir." | 9 | 11 | 1.22 |
| "Gestasyonel diyabet gebelik sırasında ortaya çıkabilir." | 6 | 7 | 1.17 |
Karşılaştırma: Aynı cümleyi ("Diyabet, kan şekerinin sürekli yüksek...")
- bu tokenizer: 13 token
bert-base-multilingual-cased(mBERT): 24 token
Yani genel amaçlı çok dilli bir tokenizer'ın yaklaşık yarısı kadar token kullanarak Türkçe metinleri daha verimli temsil eder.
Kullanım
from transformers import AutoTokenizer
tok = AutoTokenizer.from_pretrained("senemde/saglik-bpe-tokenizer")
text = "Diyabet, kan şekerinin yüksek olduğu bir hastalıktır."
ids = tok.encode(text)
print("Vocab size:", tok.vocab_size)
print("IDs:", ids)
print("Tokens:", tok.convert_ids_to_tokens(ids))
print("Decoded:", tok.decode(ids))
Sınırlamalar
- Küçük ve alan-odaklı bir korpusla eğitildiği için sağlık dışı alanlarda (ör. hukuk, finans) verimlilik daha düşük olabilir.
- Sözlük boyutu (8.000) küçük tutulmuştur; büyük ölçekli bir dil modeli ön-eğitimi için daha büyük bir korpus ve sözlük tercih edilebilir.
Lisans
Kod ve tokenizer MIT lisanslıdır. Eğitim korpusu Türkçe Wikipedia'dan (CC BY-SA) türetilmiştir.
Eğitim amaçlı bir ödev kapsamında hazırlanmıştır.