File size: 2,054 Bytes
9e7c522
 
 
 
 
 
73564f0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c54b92d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9e7c522
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
---
license: apache-2.0
language:
- aa
library_name: transformers
---
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}")