Views
No views yet
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.| 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 |
transformers kütüphanesi ile bu modelin nasıl kullanılacağını göstermektedir:1import torch
2from transformers import pipeline
3
4model_name = "ba2hann/bert-base-turkish-sentiment-analize"
5
6sentiment_pipeline = pipeline(
7 task="text-classification",
8 model=model_name,
9 tokenizer=model_name,
10 device=0 if torch.cuda.is_available() else -1 # GPU varsa kullan, yoksa CPU
11)
12
13category_map = {
14 0: "Irkçılık",
15 1: "Kızdırma",
16 2: "Nötr",
17 3: "Cinsiyetçilik"
18}
19
20def analyze_sentiment(text):
21 sonuc = sentiment_pipeline(text)[0]
22 label_index = int(sonuc['label'].split('_')[-1])
23 kategori = category_map.get(label_index, "Bilinmeyen")
24 return {
25 "text": text,
26 "category": kategori,
27 "score": sonuc['score']
28 }
29
30if __name__ == "__main__":
31 ornek_cumleler = [
32 "Bu çok güzel bir gün.", #Nötr
33 "Sen ne kadar aptalsın!", #Kızdırma
34 "Bu ırkçı bir söylem.", #Irkçılık
35 "Kadınlar araba kullanamaz.", #Cinsiyetçilik
36 "Bu konu hakkında hiçbir fikrim yok." #Nötr
37 ]
38 for ornek_cumle in ornek_cumleler:
39 sonuc = analyze_sentiment(ornek_cumle)
40 print("\nAnaliz Sonuçları:")
41 print(f"Analiz Edilen Cümle: {sonuc['text']}")
42 print(f"Tahmin: {sonuc['category']}")
43 print(f"Tahmin Güveni: {sonuc['score']:.2%}")