| 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}") |