1from transformers import pipeline
2
3sentiment = pipeline(
4 "text-classification",
5 model="DexopT/BERTURK"
6)
7
8sonuc = sentiment("Ürün gerçekten harika, çok memnun kaldım!")
9print(sonuc)
10# [{'label': 'positive', 'score': 0.9934}]
1import torch
2from transformers import AutoTokenizer, AutoModelForSequenceClassification
3
4model_name = "DexopT/BERTURK"
5tokenizer = AutoTokenizer.from_pretrained(model_name)
6model = AutoModelForSequenceClassification.from_pretrained(model_name)
7model.eval()
8
9metin = "Berbat bir ürün, para israfı."
10
11inputs = tokenizer(metin, return_tensors="pt", truncation=True, max_length=128)
12
13with torch.no_grad():
14 logits = model(**inputs).logits
15
16probs = torch.softmax(logits, dim=-1)[0]
17label_id = probs.argmax().item()
18label = model.config.id2label[label_id]
19guven = probs[label_id].item()
20
21print(f"Sonuç : {label}")
22print(f"Güven : {guven:.4f}")
23print(f"Pozitif : {probs[1].item():.4f}")
24print(f"Negatif : {probs[0].item():.4f}")
1yorumlar = [
2 "Harika ürün, kesinlikle tavsiye ederim!",
3 "Çok kötü, hiç memnun kalmadım.",
4 "Fiyatına göre gayet iyi.",
5 "Kargo geç geldi ama ürün kaliteliydi.",
6]
7
8for yorum in yorumlar:
9 r = sentiment(yorum, truncation=True, max_length=128)[0]
10 print(f"[{r['label'].upper():8}] {r['score']:.2%} → {yorum[:50]}")
Turkish Product Reviews veri seti kullanılmıştır.
1TrainingArguments(
2 num_train_epochs = 3,
3 per_device_train_batch_size = 32,
4 per_device_eval_batch_size = 64,
5 learning_rate = 2e-5,
6 warmup_steps = 200,
7 weight_decay = 0.01,
8 fp16 = True, # T4 GPU
9 evaluation_strategy = "epoch",
10 load_best_model_at_end = True,
11 metric_for_best_model = "f1",
12)
1@misc{berturk2025,
2 author = {Yılmaz KARAAĞAÇ (DexopT)},
3 title = {BERTurk: Turkish Sentiment Analysis},
4 year = {2026},
5 publisher = {Hugging Face},
6 url = {https://huggingface.co/DexopT/BERTURK}
7}