File size: 1,852 Bytes
d0f11c4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import pandas as pd from datasets import Dataset
Örnek veri oluşturma
data = { 'text': [ 'Bu bir örnek metindir.', 'Türkçe doğal dil işleme projesi.', 'Veri bilimi ve makine öğrenmesi.', 'Python programlama dili.' ], 'label': [0, 1, 2, 3] }
DataFrame'e dönüştürme
df = pd.DataFrame(data)
Hugging Face Dataset'e dönüştürme
dataset = Dataset.from_pandas(df) import unicodedata
Aksan kaldırma fonksiyonu
def remove_accents(text): nfkd_form = unicodedata.normalize('NFKD', text) return ''.join([c for c in nfkd_form if not unicodedata.combining(c)])
Veri ön işleme fonksiyonu
def preprocess_function(examples): examples['text'] = [remove_accents(text) for text in examples['text']] return examples
Veri setine uygulama
processed_dataset = dataset.map(preprocess_function) from transformers import AutoTokenizer, AutoModelForSequenceClassification, TrainingArguments, Trainer
Model ve tokenizer yükleme
model_name = "dbmdz/bert-base-turkish-cased" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSequenceClassification.from_pretrained(model_name, num_labels=4)
Veriyi tokenlaştırma
def tokenize_function(examples): return tokenizer(examples['text'], padding="max_length", truncation=True)
tokenized_datasets = processed_dataset.map(tokenize_function, batched=True)
Model eğitimi için ayarlar
training_args = TrainingArguments( output_dir="./results", evaluation_strategy="epoch", learning_rate=2e-5, per_device_train_batch_size=8, per_device_eval_batch_size=8, num_train_epochs=3, weight_decay=0.01, )
Trainer tanımlama
trainer = Trainer( model=model, args=training_args, train_dataset=tokenized_datasets, eval_dataset=tokenized_datasets, )
Modeli eğitme
trainer.train()
Eğitim sürecini değerlendirme
eval_results = trainer.evaluate()
print(f"Değerlendirme Sonuçları: {eval_results}") |