Downloads · 30 days
0
kaanilker/Mini-Turkish-Tokenizer
Mini-Turkish-Tokenizer is a token classification model from kaanilker. Use it when you need labels on individual words, such as names. The card lists the license as gpl-2.0.
Türkçe dil modelleri için optimize edilmiş, kompakt BPE tokenizer
Downloads · 30 days
0
Access
Public
Updated Dec 4, 2025
Repo size
—
Likes
1
Public
Click a slice to open those files.
.json379 KB · 97%
From the Hugging Face model README
Türkçe dil modelleri için optimize edilmiş, kompakt BPE tokenizer
Mini Turkish Tokenizer, Türkçe NLP görevleri için özel olarak tasarlanmış bir BPE (Byte Pair Encoding) tokenizer'dır. CulturaX Turkish dataset'inin 735,991 dokümanından eğitilerek, Türkçe metinleri verimli bir şekilde tokenlere dönüştürür.
pip install transformers
from transformers import AutoTokenizer
# Tokenizer'ı yükle
tokenizer = AutoTokenizer.from_pretrained(
"kaanilker/mini-turkish-tokenizer"
)
# Metni tokenize et
text = "Merhaba, ben yapay zekayım!"
tokens = tokenizer.encode(text)
print(tokens)
# Output: [59, 83, 96, 86, 79, 80, ...]
# Token'ları metne geri çevir
decoded = tokenizer.decode(tokens)
print(decoded)
# Output: "Merhaba, ben yapay zekayım!"
texts = [
"Merhaba dünya",
"Türkçe NLP",
"Yapay zeka harika"
]
# Batch tokenize
encoded = tokenizer(
texts,
padding=True,
truncation=True,
max_length=100,
return_tensors="pt"
)
print(encoded['input_ids'].shape)
# Output: torch.Size([3, 100])
| Token | ID | Açıklama |
|---|---|---|
<pad> | 0 | Padding (doldurma) |
<unk> | 1 | Unknown (bilinmeyen) |
<bos> | 2 | Beginning of Sequence (başlangıç) |
<eos> | 3 | End of Sequence (bitiş) |
vocab_size = 5610
min_frequency = 2
algorithm = "BPE"
pre_tokenizer = "Whitespace + Punctuation"
training_data = "CulturaX Turkish (735,991 documents)"
train_test_split = "90/10"
from transformers import AutoTokenizer
import torch
tokenizer = AutoTokenizer.from_pretrained(
"kaanilker/mini-turkish-tokenizer"
)
text = "Kısa"
encoded = tokenizer(
text,
padding="max_length",
max_length=10,
return_tensors="pt"
)
print(encoded['input_ids'])
# [1234, 0, 0, 0, 0, 0, 0, 0, 0, 0]
print(encoded['attention_mask'])
# [1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
from transformers import TrainingArguments, Trainer
from transformers import LlamaForCausalLM, AutoTokenizer
model = LlamaForCausalLM.from_pretrained("your-model")
tokenizer = AutoTokenizer.from_pretrained(
"kaanilker/mini-turkish-tokenizer"
)
training_args = TrainingArguments(
output_dir="./results",
num_train_epochs=3,
per_device_train_batch_size=32,
learning_rate=5e-4,
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_data,
tokenizer=tokenizer,
)
trainer.train()
from transformers import AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained(
"kaanilker/mini-turkish-tokenizer"
)
model = AutoModelForSequenceClassification.from_pretrained(
"dbmdz/bert-base-turkish-cased"
)
# Türkçe metinleri tokenize et
inputs = tokenizer(
["Bu çok güzel!", "Berbat!"],
truncation=True,
max_length=512,
return_tensors="pt"
)
outputs = model(**inputs)
from transformers import pipeline
classifier = pipeline(
"text-classification",
model="dbmdz/bert-base-turkish-cased",
tokenizer=tokenizer
)
result = classifier("Bu ürün harika!")
print(result)
from transformers import pipeline
generator = pipeline(
"text-generation",
model="your-turkish-llm",
tokenizer=tokenizer
)
generated = generator("Türkiye'nin başkenti", max_length=50)
print(generated)
from transformers import pipeline
qa = pipeline(
"question-answering",
model="your-qa-model",
tokenizer=tokenizer
)
result = qa(
question="Türkiye'nin başkenti neresidir?",
context="Türkiye'nin başkenti Ankara'dır."
)
print(result)
tokenizer = AutoTokenizer.from_pretrained(
"kaanilker/mini-turkish-tokenizer"
)
texts = [
"Çok güzel bir ürün!",
"Berbat kalite",
"Fena değil"
]
for text in texts:
tokens = tokenizer.encode(text)
print(f"{text} → {len(tokens)} tokens")
Toplam Tokens: 5,610
Kategori Dağılımı:
├── Türkçe Kelimeler: ~3,366 (60%)
├── Subword Pieces: ~2,200 (39%)
├── Special Tokens: 4 (1%)
└── Diğer: ~40 (1%)
# Temel
pip install transformers>=4.30.0
pip install datasets>=2.0.0
# İsteğe bağlı (örnek kodlar için)
pip install torch>=1.9.0
pip install pytorch-lightning>=1.5.0
Python: 3.8+
Transformers: 4.30+
Datasets: 2.0+
Torch: 1.9+
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(
"kaanilker/mini-turkish-tokenizer"
)
# Basit cümle
text = "Günaydın, nasılsın?"
tokens = tokenizer.encode(text)
print(f"Tokens: {tokens}")
print(f"Token Sayısı: {len(tokens)}")
# Decode
decoded = tokenizer.decode(tokens)
print(f"Decoded: {decoded}")
Output:
Tokens: [59, 83, 96, ...]
Token Sayısı: 5
Decoded: Günaydın, nasılsın?
texts = [
"Merhaba dünya",
"Türkçe NLP harika",
"Açık kaynak yazılım"
]
batch = tokenizer(
texts,
padding=True,
truncation=True,
max_length=20,
return_tensors="pt"
)
print(batch['input_ids'].shape)
# torch.Size([3, 20])
# Kelime parçalanması
text = "Üniversitelerimizde"
tokens = tokenizer.tokenize(text)
print(f"Parçalar: {tokens}")
# Parçalar: ['Üniversite', 'leri', 'mizde']
# Token ID'leri
ids = tokenizer.convert_tokens_to_ids(tokens)
print(f"IDs: {ids}")
Vocab Size: 5,610 (küçük ama verimli)
Türkçeye Özel: Sadece Türkçe için optimize
CulturaX Bias: Belirli alanlara biased olabilir
# Eğer UNK token çok görürsen:
# 1. Vocab'i büyüt
# 2. Farklı dataset kullan
# 3. Subword parçalamayı artır
# En son sürümü kur
pip install --upgrade transformers
# Tokenizer'ı güncelle
tokenizer = AutoTokenizer.from_pretrained(
"kaanilker/mini-turkish-tokenizer",
revision="main"
)
git clone https://huggingface.co/kaanilker/mini-turkish-tokenizer
cd mini-turkish-tokenizer
# Değişiklik yap
git add .
git commit -m "Improvement: [açıklama]"
git push
Email'e posta at:
Bu tokenizer'ı bilimsel çalışmalarda kullanıyorsan, lütfen şunu alıntı yap:
@software{mini_turkish_tokenizer,
title = {Mini Turkish Tokenizer},
author = {[Kaan İlker Nacar]},
year = {2025},
url = {https://huggingface.co/your-username/mini-turkish-tokenizer},
license = {GPL-2.0}
}
[Kaan İlker Nacar]. (2025). Mini Turkish Tokenizer. HuggingFace Hub. Retrieved from https://huggingface.co/kaanilker/mini-turkish-tokenizer
GNU General Public License v2.0
Bu tokenizer açık kaynak yazılımdır. Özgürce:
Made with ❤️ for Turkish NLP Community
Son güncelleme: Aralık 2025