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