YusufSimsek's picture
Update README.md
b387a6e verified
|
Raw
History Blame Contribute Delete
2.86 kB
---
language:
- tr
library_name: tokenizers
tags:
- tokenizer
- bpe
- byte-level
- turkish
- nlp
---
# Turkish Byte-Level BPE Tokenizer
Bu repository, Türkçe metinler üzerinde sıfırdan eğitilmiş özel bir
**Byte-Level BPE tokenizer** içerir.
Bu çalışma, BPE tokenizer oluşturma ve Hugging Face Hub üzerinde
yayınlama ödevi kapsamında hazırlanmıştır.
## Tokenizer özellikleri
- **Algoritma:** Byte-Level BPE
- **Dil:** Türkçe
- **Vocabulary boyutu:** 512
- **Minimum frekans:** 2
- **Unicode normalizasyonu:** NFC
- **Pre-tokenizer:** ByteLevel
- **Decoder:** ByteLevel
- **Maksimum dizi uzunluğu:** 512
- **Eğitim kütüphanesi:** Hugging Face Tokenizers
- **Transformers uyumluluğu:** `PreTrainedTokenizerFast`
## Özel tokenlar
| Token | Açıklama |
|---|---|
| `<unk>` | Bilinmeyen token |
| `<pad>` | Dolgu tokenı |
| `<bos>` | Metin başlangıcı |
| `<eos>` | Metin sonu |
Tokenizer, metinlerin başına `<bos>` ve sonuna `<eos>` tokenı ekleyecek
şekilde yapılandırılmıştır.
## Eğitim verisi
Tokenizer yaklaşık **10.685 karakterden** ve **9 farklı paragraftan**
oluşan Türkçe bir metin üzerinde eğitilmiştir.
Eğitim metni aşağıdaki türlerden örnekler içerir:
- Fantastik kurgu
- Bilim kurgu
- Polisiye
- Siberpunk
- Bilimsel ve teknik metinler
- Türkçe karakterler
- Sayılar ve matematiksel ifadeler
## Kullanım
```python
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(
"YusufSimsek/turkish-bytelevel-bpe"
)
text = "Merhaba dünya! Türkçe tokenizer çalışıyor."
encoded = tokenizer(
text,
add_special_tokens=True
)
print("Token ID'leri:")
print(encoded["input_ids"])
print("Tokenlar:")
print(
tokenizer.convert_ids_to_tokens(
encoded["input_ids"]
)
)
decoded = tokenizer.decode(
encoded["input_ids"],
skip_special_tokens=True,
clean_up_tokenization_spaces=False
)
print("Çözümlenen metin:")
print(decoded)
```
## Sınırlamalar
Bu tokenizer küçük bir eğitim verisi üzerinde eğitilmiştir. Bu nedenle:
- Genel amaçlı büyük dil modelleri için yeterli değildir.
- Eğitim verisinde az görülen kelimeleri çok sayıda alt parçaya bölebilir.
- Vocabulary boyutu deneysel olarak 512 seçilmiştir.
- Daha büyük ve çeşitli bir Türkçe corpus ile yeniden eğitilmesi
tokenizer verimliliğini artırabilir.
Bu repository bir dil modeli içermez. Yalnızca metinleri tokenlara
dönüştürmek için kullanılan tokenizer dosyalarını içerir.
## Dosyalar
- `tokenizer.json`: Vocabulary ve BPE birleşme kuralları
- `tokenizer_config.json`: Tokenizer yapılandırması
- `special_tokens_map.json`: Özel token eşlemeleri
- `training_report.json`: Eğitim ve test sonuçları
## Geliştirici
**Yusuf Şimşek**
Bu tokenizer eğitim ve öğrenme amaçlı hazırlanmıştır.