File size: 4,474 Bytes
e8f8f7e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26138cb
e8f8f7e
26138cb
e8f8f7e
 
 
 
 
 
 
2a62a9d
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
---
language:
  - tr
license: mit
tags:
  - bert
  - text-classification
  - sentiment-analysis
  - turkish
  - pytorch
  - transformers
datasets:
  - turkish_product_reviews
base_model: dbmdz/bert-base-turkish-cased
model-index:
  - name: DexopT/BERTURK
    results:
      - task:
          type: text-classification
          name: Sentiment Analysis
        dataset:
          name: Turkish Product Reviews
          type: turkish_product_reviews
        metrics:
          - type: accuracy
            value: 0.9612
            name: Accuracy
          - type: f1
            value: 0.9598
            name: F1 (weighted)
---

# BERTurk — Türkçe Duygu Analizi

`dbmdz/bert-base-turkish-cased` modeli üzerine Türkçe ürün yorumları ile fine-tune edilmiş bir duygu analizi (sentiment analysis) modelidir.

## Model Detayları

| Özellik | Değer |
|---|---|
| Temel model | `dbmdz/bert-base-turkish-cased` |
| Görev | İkili sınıflandırma (Pozitif / Negatif) |
| Dil | Türkçe |
| Doğruluk | **%96.12** |
| F1 Skoru | **0.9598** |
| Parametre | ~110M |
| Max token | 128 |

## Kullanım

### Transformers Pipeline

```python
from transformers import pipeline

sentiment = pipeline(
    "text-classification",
    model="DexopT/BERTURK"
)

sonuc = sentiment("Ürün gerçekten harika, çok memnun kaldım!")
print(sonuc)
# [{'label': 'positive', 'score': 0.9934}]
```

### Manuel Kullanım

```python
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

model_name = "DexopT/BERTURK"
tokenizer  = AutoTokenizer.from_pretrained(model_name)
model      = AutoModelForSequenceClassification.from_pretrained(model_name)
model.eval()

metin = "Berbat bir ürün, para israfı."

inputs = tokenizer(metin, return_tensors="pt", truncation=True, max_length=128)

with torch.no_grad():
    logits = model(**inputs).logits

probs    = torch.softmax(logits, dim=-1)[0]
label_id = probs.argmax().item()
label    = model.config.id2label[label_id]
guven    = probs[label_id].item()

print(f"Sonuç    : {label}")
print(f"Güven    : {guven:.4f}")
print(f"Pozitif  : {probs[1].item():.4f}")
print(f"Negatif  : {probs[0].item():.4f}")
```

### Toplu Tahmin

```python
yorumlar = [
    "Harika ürün, kesinlikle tavsiye ederim!",
    "Çok kötü, hiç memnun kalmadım.",
    "Fiyatına göre gayet iyi.",
    "Kargo geç geldi ama ürün kaliteliydi.",
]

for yorum in yorumlar:
    r = sentiment(yorum, truncation=True, max_length=128)[0]
    print(f"[{r['label'].upper():8}] {r['score']:.2%}  →  {yorum[:50]}")
```

## Eğitim

### Veri Seti

[Turkish Product Reviews](https://huggingface.co/datasets/turkish_product_reviews) veri seti kullanılmıştır.

- Toplam: ~235.000 Türkçe e-ticaret yorumu
- Eğitim: 18.000 örnek
- Test: 2.000 örnek
- Etiketler: `positive` (1), `negative` (0)

### Hiperparametreler

```python
TrainingArguments(
    num_train_epochs       = 3,
    per_device_train_batch_size = 32,
    per_device_eval_batch_size  = 64,
    learning_rate          = 2e-5,
    warmup_steps           = 200,
    weight_decay           = 0.01,
    fp16                   = True,       # T4 GPU
    evaluation_strategy    = "epoch",
    load_best_model_at_end = True,
    metric_for_best_model  = "f1",
)
```

### Eğitim Sonuçları

| Epoch | Train Loss | Val Loss | Doğruluk | F1 |
|---|---|---|---|---|
| 1 | 0.1303 | 0.1664 | 95.40% | 94.56% |
| 2 | 0.1001 | 0.1555 | 95.80% | 95.63% |
| 3 | **0.0812** | **0.1489** | **96.12%** | **95.98%** |

### Eğitim Ortamı

- GPU: NVIDIA T4 (Google Colab)
- Süre: ~20 dakika
- Framework: PyTorch + Hugging Face Transformers

## Etiketler

| ID | Label | Açıklama |
|---|---|---|
| 0 | `negative` | Negatif yorum |
| 1 | `positive` | Pozitif yorum |

## Sınırlılıklar

- Maksimum token uzunluğu 128 olarak ayarlanmıştır, uzun metinler kırpılır.
- Model yalnızca Türkçe üzerinde eğitilmiştir; diğer dillerde güvenilir sonuç vermez.
- Nötr veya karma duygular içeren yorumlarda doğruluk düşebilir.
- Ürün yorumları dışındaki metin türleri (haber, akademik metin vb.) için optimize edilmemiştir.

## Lisans

MIT License

## Atıf

```bibtex
@misc{berturk2025,
  author    = {Yılmaz KARAAĞAÇ (DexopT)},
  title     = {BERTurk: Turkish Sentiment Analysis},
  year      = {2026},
  publisher = {Hugging Face},
  url       = {https://huggingface.co/DexopT/BERTURK}
}
```

---

**Yılmaz KARAAĞAÇ** · [GitHub](https://github.com/DexopT)