metadata
language: tr
tags:
- text-classification
- sentiment-analysis
license: mit
datasets:
- custom-dataset
metrics:
- accuracy
- precision
- recall
- f1
model-index:
- name: ba2hann/bert-base-turkish-sentiment-analize
results:
- task:
type: text-classification
name: Sentiment Analysis
dataset:
name: Custom Dataset
type: custom
metrics:
- type: accuracy
value: 0.937
- type: precision
value: 0.944
- type: recall
value: 0.919
- type: f1
value: 0.927
Türkçe Duygu Analizi Modeli (ba2hann/bert-base-turkish-sentiment-analize)
Bu model, Türkçe metinler için duygu analizi yapmayı amaçlamaktadır. Model, dört farklı duygu kategorisini sınıflandırmak üzere eğitilmiştir:
- Irkçılık
- Kızdırma (Hakaret/Küfür)
- Nötr
- Cinsiyetçilik
Model Detayları
Bu model, bert-base-turkish-cased
modeli temel alınarak özel bir veri seti üzerinde eğitilmiştir. Hedef, sosyal medyada ve diğer metin tabanlı platformlarda sıklıkla karşılaşılan olumsuz ve ayrımcı söylemleri tespit etmektir.
Performans Metrikleri
Modelin genel performansı aşağıdaki gibidir:
- Doğruluk (Accuracy): %93.7
Kategori bazlı performans metrikleri ise şöyledir:
Kategori | Precision | Recall | F1 Score |
---|---|---|---|
Irkçılık | 0.881 | 0.919 | 0.899 |
Kızdırma | 0.944 | 0.912 | 0.927 |
Nötr | 0.960 | 0.965 | 0.963 |
Cinsiyetçilik | 0.857 | 0.904 | 0.880 |
Nasıl Kullanılır?
Aşağıdaki Python kodu, transformers
kütüphanesi ile bu modelin nasıl kullanılacağını göstermektedir:
import torch
from transformers import pipeline
model_name = "ba2hann/bert-base-turkish-sentiment-analize"
sentiment_pipeline = pipeline(
task="text-classification",
model=model_name,
tokenizer=model_name,
device=0 if torch.cuda.is_available() else -1 # GPU varsa kullan, yoksa CPU
)
category_map = {
0: "Irkçılık",
1: "Kızdırma",
2: "Nötr",
3: "Cinsiyetçilik"
}
def analyze_sentiment(text):
sonuc = sentiment_pipeline(text)[0]
label_index = int(sonuc['label'].split('_')[-1])
kategori = category_map.get(label_index, "Bilinmeyen")
return {
"text": text,
"category": kategori,
"score": sonuc['score']
}
if __name__ == "__main__":
ornek_cumleler = [
"Bu çok güzel bir gün.", #Nötr
"Sen ne kadar aptalsın!", #Kızdırma
"Bu ırkçı bir söylem.", #Irkçılık
"Kadınlar araba kullanamaz.", #Cinsiyetçilik
"Bu konu hakkında hiçbir fikrim yok." #Nötr
]
for ornek_cumle in ornek_cumleler:
sonuc = analyze_sentiment(ornek_cumle)
print("\nAnaliz Sonuçları:")
print(f"Analiz Edilen Cümle: {sonuc['text']}")
print(f"Tahmin: {sonuc['category']}")
print(f"Tahmin Güveni: {sonuc['score']:.2%}")