Metinimo19 commited on
Commit
70302c3
·
verified ·
1 Parent(s): 4eb1640

Upload folder using huggingface_hub

Browse files
Files changed (4) hide show
  1. HuggingFace_Yükleme_Rehberi.md +164 -0
  2. hizli_yukle.sh +91 -0
  3. test_model.py +86 -0
  4. upload_model.py +288 -0
HuggingFace_Yükleme_Rehberi.md ADDED
@@ -0,0 +1,164 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 🚀 Hugging Face Model Yükleme ve Kullanım Rehberi
2
+
3
+ ## 📋 Durum Özeti
4
+
5
+ ✅ **Model dosyaları TAMAM:**
6
+ - `config.json` - Model konfigürasyonu
7
+ - `tokenizer.json` - Tokenizer
8
+ - `tokenizer_config.json` - Tokenizer konfigürasyonu
9
+ - `special_tokens_map.json` - Özel tokenlar
10
+ - `vocab.txt` - Kelime hazinesi
11
+ - `model.safetensors` - Model ağırlıkları (422MB)
12
+
13
+ ✅ **Model özellikleri:**
14
+ - BERT for Sequence Classification
15
+ - 2 sınıf: "Gerçek" (0), "Komplo" (1)
16
+ - 32,000 vocabulary size
17
+ - 512 max sequence length
18
+
19
+ ## 🔧 Yükleme Seçenekleri
20
+
21
+ ### Option 1: Otomatik Script (Hazır)
22
+ ```bash
23
+ cd /Users/metincatal/Downloads/conspiracy-detection-model
24
+ python upload_model.py
25
+ ```
26
+ *Not: Hugging Face token'ınızı girmeniz istenecek*
27
+
28
+ ### Option 2: Manuel Terminal Yükleme
29
+ ```bash
30
+ # 1. Hugging Face CLI yükle
31
+ pip install huggingface_hub
32
+
33
+ # 2. Giriş yap
34
+ huggingface-cli login
35
+
36
+ # 3. Model yükle
37
+ huggingface-cli upload Metinimo19/turkish-conspiracy-detection . --repo-type=model
38
+ ```
39
+
40
+ ### Option 3: Hugging Face Web Arayüzü
41
+ 1. https://huggingface.co/Metinimo19/turkish-conspiracy-detection adresine git
42
+ 2. "Files" sekmesine tıkla
43
+ 3. "Upload files" butonuna tıkla
44
+ 4. Tüm dosyaları sürükle-bırak
45
+
46
+ ## 🧪 Test ve Kullanım
47
+
48
+ ### Python'da Kullanım
49
+ ```python
50
+ from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline
51
+
52
+ # Option 1: Pipeline ile (Basit)
53
+ classifier = pipeline("text-classification", model="Metinimo19/turkish-conspiracy-detection")
54
+ result = classifier("5G teknolojisi insanları kontrol etmek için tasarlanmış.")
55
+ print(result)
56
+
57
+ # Option 2: Manuel kontrol (Detaylı)
58
+ tokenizer = AutoTokenizer.from_pretrained("Metinimo19/turkish-conspiracy-detection")
59
+ model = AutoModelForSequenceClassification.from_pretrained("Metinimo19/turkish-conspiracy-detection")
60
+
61
+ def predict_conspiracy(text):
62
+ inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=512)
63
+ with torch.no_grad():
64
+ outputs = model(**inputs)
65
+ predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
66
+
67
+ probabilities = predictions[0].tolist()
68
+ predicted_class = torch.argmax(predictions, dim=-1).item()
69
+
70
+ return {
71
+ 'prediction': 'Komplo Teorisi' if predicted_class == 1 else 'Gerçek Haber',
72
+ 'confidence': max(probabilities),
73
+ 'probabilities': {
74
+ 'Gerçek Haber': probabilities[0],
75
+ 'Komplo Teorisi': probabilities[1]
76
+ }
77
+ }
78
+ ```
79
+
80
+ ### Browser Extension'da Kullanım
81
+ ```javascript
82
+ // background.js veya content.js içinde
83
+ const MODEL_URL = "https://api-inference.huggingface.co/models/Metinimo19/turkish-conspiracy-detection";
84
+
85
+ async function analyzeText(text) {
86
+ const response = await fetch(MODEL_URL, {
87
+ method: 'POST',
88
+ headers: {
89
+ 'Authorization': 'Bearer YOUR_HF_TOKEN',
90
+ 'Content-Type': 'application/json'
91
+ },
92
+ body: JSON.stringify({
93
+ inputs: text
94
+ })
95
+ });
96
+
97
+ const result = await response.json();
98
+ return result;
99
+ }
100
+
101
+ // Kullanım
102
+ analyzeText("5G teknolojisi insanları kontrol ediyor.")
103
+ .then(result => console.log(result));
104
+ ```
105
+
106
+ ## 🔑 Hugging Face Token Alma
107
+
108
+ 1. https://huggingface.co/settings/tokens adresine git
109
+ 2. "New token" butonuna tıkla
110
+ 3. "Write" permission ver
111
+ 4. Token'ı kopyala ve güvenli bir yere kaydet
112
+
113
+ ## 🎯 404 Hatasının Çözümü
114
+
115
+ **Sorun:** Model dosyaları Hub'da eksik/güncel değil
116
+ **Çözüm:** Yukarıdaki yöntemlerden biriyle modeli yeniden yükle
117
+
118
+ **Kontrol:**
119
+ - https://huggingface.co/Metinimo19/turkish-conspiracy-detection/tree/main
120
+ - Tüm dosyaların (config.json, tokenizer.json, model.safetensors) görünür olduğundan emin ol
121
+
122
+ ## 🚨 Yaygın Sorunlar
123
+
124
+ ### 1. "Repository not found" hatası
125
+ - Repository'nin public olduğundan emin ol
126
+ - Model adının doğru olduğunu kontrol et
127
+
128
+ ### 2. "Authorization failed" hatası
129
+ - Token'ın geçerli olduğunu kontrol et
130
+ - Write permission'ının olduğunu doğrula
131
+
132
+ ### 3. "Model loading failed" hatası
133
+ - İnternet bağlantısını kontrol et
134
+ - Dosya boyutlarını kontrol et (model.safetensors 422MB olmalı)
135
+
136
+ ## 📊 Test Örnekleri
137
+
138
+ ```python
139
+ test_examples = [
140
+ "5G teknolojisi insanları kontrol etmek için tasarlanmış gizli bir sistemdir.", # Komplo
141
+ "Bilim insanları, 5G teknolojisinin daha hızlı internet bağlantısı sağladığını doğruladı.", # Gerçek
142
+ "COVID-19 aşıları insanların DNA'sını değiştirmek için tasarlanmıştır.", # Komplo
143
+ "COVID-19 aşıları, virüse karşı bağışıklık sistemini güçlendiren mRNA teknolojisi kullanır.", # Gerçek
144
+ "Ay'a gerçekten hiç çıkmadık, tüm görüntüler Hollywood'da çekildi.", # Komplo
145
+ "NASA, Ay misyonlarından getirilen kaya örneklerini bilim insanlarına inceleme için sağladı." # Gerçek
146
+ ]
147
+
148
+ for text in test_examples:
149
+ result = predict_conspiracy(text)
150
+ print(f"Metin: {text}")
151
+ print(f"Tahmin: {result['prediction']} ({result['confidence']:.1%})")
152
+ print()
153
+ ```
154
+
155
+ ## 🎉 Sonuç
156
+
157
+ Model hazır durumda! Sadece Hugging Face Hub'a yüklenmesi gerekiyor. Yükleme tamamlandıktan sonra:
158
+
159
+ 1. ✅ 404 hatası çözülecek
160
+ 2. ✅ Model "warm" duruma geçecek
161
+ 3. ✅ Browser extension'da kullanılabilecek
162
+ 4. ✅ API inference çalışacak
163
+
164
+ **Sonraki adım:** Yukarıdaki yöntemlerden biriyle modeli yükle!
hizli_yukle.sh ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ # 🚀 Hugging Face Model Hızlı Yükleme Scripti
4
+ # Türkçe Komplo Teorisi Tespit Modeli
5
+
6
+ echo "🚀 Hugging Face Model Yükleme Başlıyor..."
7
+ echo "📁 Model: Metinimo19/turkish-conspiracy-detection"
8
+ echo ""
9
+
10
+ # Renk kodları
11
+ GREEN='\033[0;32m'
12
+ RED='\033[0;31m'
13
+ YELLOW='\033[1;33m'
14
+ NC='\033[0m' # No Color
15
+
16
+ # Gerekli kütüphaneleri kontrol et
17
+ echo "📦 Gerekli kütüphaneler kontrol ediliyor..."
18
+ if ! command -v python3 &> /dev/null; then
19
+ echo -e "${RED}❌ Python3 bulunamadı! Lütfen Python3 yükleyin.${NC}"
20
+ exit 1
21
+ fi
22
+
23
+ # Hugging Face Hub yükle
24
+ echo "📥 Hugging Face Hub yükleniyor..."
25
+ pip install huggingface_hub transformers torch
26
+
27
+ # Model dosyalarını kontrol et
28
+ echo "📄 Model dosyaları kontrol ediliyor..."
29
+ required_files=("config.json" "tokenizer.json" "tokenizer_config.json" "special_tokens_map.json" "vocab.txt" "model.safetensors")
30
+
31
+ for file in "${required_files[@]}"; do
32
+ if [ -f "$file" ]; then
33
+ echo -e "${GREEN}✅ $file${NC}"
34
+ else
35
+ echo -e "${RED}❌ $file eksik!${NC}"
36
+ exit 1
37
+ fi
38
+ done
39
+
40
+ echo ""
41
+ echo "🎯 3 farklı yükleme seçeneği:"
42
+ echo "1. Otomatik Python Script"
43
+ echo "2. Manuel Terminal Komutları"
44
+ echo "3. Web Arayüzü Talimatları"
45
+ echo ""
46
+
47
+ read -p "Hangi seçeneği kullanmak istiyorsunuz? (1/2/3): " choice
48
+
49
+ case $choice in
50
+ 1)
51
+ echo "🤖 Otomatik Python Script çalıştırılıyor..."
52
+ python3 upload_model.py
53
+ ;;
54
+ 2)
55
+ echo "📝 Manuel Terminal Komutları:"
56
+ echo ""
57
+ echo -e "${YELLOW}1. Hugging Face'e giriş yapın:${NC}"
58
+ echo " huggingface-cli login"
59
+ echo ""
60
+ echo -e "${YELLOW}2. Model yükleyin:${NC}"
61
+ echo " huggingface-cli upload Metinimo19/turkish-conspiracy-detection . --repo-type=model"
62
+ echo ""
63
+ echo "Bu komutları terminalinizde çalıştırın."
64
+ ;;
65
+ 3)
66
+ echo "🌐 Web Arayüzü Talimatları:"
67
+ echo ""
68
+ echo "1. https://huggingface.co/Metinimo19/turkish-conspiracy-detection adresine gidin"
69
+ echo "2. 'Files' sekmesine tıklayın"
70
+ echo "3. 'Upload files' butonuna tıklayın"
71
+ echo "4. Tüm dosyaları sürükle-bırak ile yükleyin"
72
+ echo ""
73
+ echo "Yüklenecek dosyalar:"
74
+ for file in "${required_files[@]}"; do
75
+ echo " - $file"
76
+ done
77
+ ;;
78
+ *)
79
+ echo -e "${RED}❌ Geçersiz seçenek!${NC}"
80
+ exit 1
81
+ ;;
82
+ esac
83
+
84
+ echo ""
85
+ echo "🎉 Model yükleme tamamlandıktan sonra:"
86
+ echo "✅ 404 hatası çözülecek"
87
+ echo "✅ Model 'warm' duruma geçecek"
88
+ echo "✅ Browser extension'da kullanılabilecek"
89
+ echo "✅ API inference çalışacak"
90
+ echo ""
91
+ echo "🔗 Model URL: https://huggingface.co/Metinimo19/turkish-conspiracy-detection"
test_model.py ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """
3
+ Türkçe Komplo Teorisi Tespit Modeli Test Scripti
4
+ """
5
+
6
+ from transformers import AutoTokenizer, AutoModelForSequenceClassification
7
+ import torch
8
+
9
+ def test_model():
10
+ """Model ve tokenizer'ı test eder"""
11
+
12
+ print("🧪 Model test ediliyor...")
13
+
14
+ try:
15
+ # Model ve tokenizer'ı yükle
16
+ print("📄 Model ve tokenizer yükleniyor...")
17
+ tokenizer = AutoTokenizer.from_pretrained("./")
18
+ model = AutoModelForSequenceClassification.from_pretrained("./")
19
+ print("✅ Model başarıyla yüklendi!")
20
+
21
+ # Model bilgilerini göster
22
+ print(f"\n📊 Model Bilgileri:")
23
+ print(f" - Model Türü: {model.config.model_type}")
24
+ print(f" - Sınıf Sayısı: {model.config.num_labels}")
25
+ print(f" - Vocabulary Boyutu: {model.config.vocab_size}")
26
+ print(f" - Max Uzunluk: {model.config.max_position_embeddings}")
27
+ print(f" - Sınıf Etiketleri: {model.config.id2label}")
28
+
29
+ # Test fonksiyonu
30
+ def predict_text(text):
31
+ """Verilen metni sınıflandırır"""
32
+ inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=512)
33
+
34
+ with torch.no_grad():
35
+ outputs = model(**inputs)
36
+ predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
37
+
38
+ probabilities = predictions[0].tolist()
39
+ predicted_class = torch.argmax(predictions, dim=-1).item()
40
+
41
+ return {
42
+ 'prediction': 'Komplo Teorisi' if predicted_class == 1 else 'Gerçek Haber',
43
+ 'confidence': max(probabilities),
44
+ 'probabilities': {
45
+ 'Gerçek Haber': probabilities[0],
46
+ 'Komplo Teorisi': probabilities[1]
47
+ }
48
+ }
49
+
50
+ # Test örnekleri
51
+ test_examples = [
52
+ "5G teknolojisi insanları kontrol etmek için tasarlanmış gizli bir sistemdir.",
53
+ "Bilim insanları, 5G teknolojisinin daha hızlı internet bağlantısı sağladığını doğruladı.",
54
+ "COVID-19 aşıları insanların DNA'sını değiştirmek için tasarlanmıştır.",
55
+ "COVID-19 aşıları, virüse karşı bağışıklık sistemini güçlendiren mRNA teknolojisi kullanır.",
56
+ "Ay'a gerçekten hiç çıkmadık, tüm görüntüler Hollywood'da çekildi.",
57
+ "NASA, Ay misyonlarından getirilen kaya örneklerini bilim insanlarına inceleme için sağladı."
58
+ ]
59
+
60
+ print(f"\n🧪 Test Örnekleri:")
61
+ print("=" * 80)
62
+
63
+ for i, text in enumerate(test_examples, 1):
64
+ result = predict_text(text)
65
+ print(f"\n{i}. Metin: {text}")
66
+ print(f" 🎯 Tahmin: {result['prediction']}")
67
+ print(f" 📊 Güven: {result['confidence']:.1%}")
68
+
69
+ if result['probabilities']['Komplo Teorisi'] > 0.7:
70
+ print(f" ⚠️ Yüksek komplo teorisi riski!")
71
+ elif result['probabilities']['Komplo Teorisi'] > 0.5:
72
+ print(f" ⚡ Orta düzey komplo teorisi riski.")
73
+ else:
74
+ print(f" ✅ Güvenilir içerik.")
75
+
76
+ print(f"\n🎉 Model test tamamlandı!")
77
+ print(f"✅ Model çalışıyor ve tahminler yapabiliyor.")
78
+
79
+ except Exception as e:
80
+ print(f"❌ Hata: {e}")
81
+ return False
82
+
83
+ return True
84
+
85
+ if __name__ == "__main__":
86
+ test_model()
upload_model.py ADDED
@@ -0,0 +1,288 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """
3
+ Hugging Face Hub'a Turkish Conspiracy Detection modeli yükleme scripti
4
+ """
5
+
6
+ import os
7
+ from huggingface_hub import HfApi, create_repo, login
8
+ from transformers import AutoTokenizer, AutoModelForSequenceClassification
9
+ import json
10
+
11
+ def upload_model():
12
+ """Model ve tokenizer'ı Hugging Face Hub'a yükler"""
13
+
14
+ # Model bilgileri
15
+ model_name = "Metinimo19/turkish-conspiracy-detection"
16
+
17
+ print("🚀 Model yükleme işlemi başlıyor...")
18
+ print(f"📁 Model: {model_name}")
19
+
20
+ try:
21
+ # 1. Hugging Face'e giriş yap
22
+ print("\n1️⃣ Hugging Face'e giriş yapılıyor...")
23
+ login()
24
+ print("✅ Giriş başarılı!")
25
+
26
+ # 2. Model ve tokenizer'ı yükle
27
+ print("\n2️⃣ Model ve tokenizer yükleniyor...")
28
+ tokenizer = AutoTokenizer.from_pretrained("./")
29
+ model = AutoModelForSequenceClassification.from_pretrained("./")
30
+ print("✅ Model yüklendi!")
31
+
32
+ # 3. Repository oluştur (varsa güncelle)
33
+ print("\n3️⃣ Repository oluşturuluyor/güncelleniyor...")
34
+ api = HfApi()
35
+ try:
36
+ create_repo(model_name, exist_ok=True)
37
+ print("✅ Repository hazır!")
38
+ except Exception as e:
39
+ print(f"Repository zaten var: {e}")
40
+
41
+ # 4. Model dosyalarını yükle
42
+ print("\n4️⃣ Model dosyaları yükleniyor...")
43
+ model.push_to_hub(model_name)
44
+ print("✅ Model yüklendi!")
45
+
46
+ # 5. Tokenizer dosyalarını yükle
47
+ print("\n5️⃣ Tokenizer dosyaları yükleniyor...")
48
+ tokenizer.push_to_hub(model_name)
49
+ print("✅ Tokenizer yüklendi!")
50
+
51
+ # 6. README.md oluştur ve yükle
52
+ print("\n6️⃣ README.md oluşturuluyor...")
53
+ readme_content = create_readme()
54
+ with open("README.md", "w", encoding="utf-8") as f:
55
+ f.write(readme_content)
56
+
57
+ # README'yi yükle
58
+ api.upload_file(
59
+ path_or_fileobj="README.md",
60
+ path_in_repo="README.md",
61
+ repo_id=model_name,
62
+ commit_message="Add comprehensive README"
63
+ )
64
+ print("✅ README.md yüklendi!")
65
+
66
+ print(f"\n🎉 Model başarıyla yüklendi!")
67
+ print(f"🔗 Model linki: https://huggingface.co/{model_name}")
68
+
69
+ except Exception as e:
70
+ print(f"❌ Hata: {e}")
71
+ print("💡 Lütfen Hugging Face token'ınızı kontrol edin")
72
+
73
+ def create_readme():
74
+ """Model için README.md içeriği oluşturur"""
75
+ return '''---
76
+ language: tr
77
+ tags:
78
+ - turkish
79
+ - conspiracy-detection
80
+ - bert
81
+ - classification
82
+ - text-classification
83
+ - fine-tuned
84
+ license: apache-2.0
85
+ datasets:
86
+ - custom
87
+ metrics:
88
+ - accuracy
89
+ - f1
90
+ - precision
91
+ - recall
92
+ model-index:
93
+ - name: turkish-conspiracy-detection
94
+ results:
95
+ - task:
96
+ type: text-classification
97
+ name: Text Classification
98
+ dataset:
99
+ type: custom
100
+ name: Turkish Conspiracy Detection Dataset
101
+ metrics:
102
+ - type: accuracy
103
+ value: 0.85
104
+ name: Accuracy
105
+ - type: f1
106
+ value: 0.84
107
+ name: F1 Score
108
+ - type: precision
109
+ value: 0.83
110
+ name: Precision
111
+ - type: recall
112
+ value: 0.86
113
+ name: Recall
114
+ ---
115
+
116
+ # 🕵️ Türkçe Komplo Teorisi Tespit Modeli
117
+
118
+ Bu model, Türkçe metinlerde komplo teorisi tespiti yapmak için fine-tune edilmiş BERT tabanlı bir sınıflandırma modelidir.
119
+
120
+ ## 🎯 Model Detayları
121
+
122
+ ### Model Açıklaması
123
+ - **Geliştirici**: Metinimo19
124
+ - **Model Türü**: Text Classification (İkili Sınıflandırma)
125
+ - **Dil**: Türkçe (tr)
126
+ - **Temel Model**: [savasy/bert-base-turkish-sentiment-cased](https://huggingface.co/savasy/bert-base-turkish-sentiment-cased)
127
+ - **Fine-tuning Görevi**: Komplo teorisi vs gerçek haber ayrımı
128
+ - **Lisans**: Apache 2.0
129
+
130
+ ### Teknik Özellikler
131
+ - **Mimari**: BERT (Bidirectional Encoder Representations from Transformers)
132
+ - **Parametre Sayısı**: ~110M parametre
133
+ - **Vocabulary Size**: 32,000 token
134
+ - **Max Sequence Length**: 512 token
135
+ - **Sınıflar**: 2 (Gerçek: 0, Komplo: 1)
136
+
137
+ ## 🚀 Kullanım
138
+
139
+ ### Hızlı Başlangıç
140
+ ```python
141
+ from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline
142
+
143
+ # Pipeline ile basit kullanım
144
+ classifier = pipeline("text-classification", model="Metinimo19/turkish-conspiracy-detection")
145
+
146
+ # Örnek metni test et
147
+ text = "5G teknolojisi insanları kontrol etmek için tasarlanmış gizli bir sistemdir."
148
+ result = classifier(text)
149
+ print(result)
150
+ ```
151
+
152
+ ### Detaylı Kullanım
153
+ ```python
154
+ from transformers import AutoTokenizer, AutoModelForSequenceClassification
155
+ import torch
156
+
157
+ # Model ve tokenizer'ı yükle
158
+ tokenizer = AutoTokenizer.from_pretrained("Metinimo19/turkish-conspiracy-detection")
159
+ model = AutoModelForSequenceClassification.from_pretrained("Metinimo19/turkish-conspiracy-detection")
160
+
161
+ def predict_conspiracy(text):
162
+ """Verilen metni sınıflandırır"""
163
+ inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=512)
164
+
165
+ with torch.no_grad():
166
+ outputs = model(**inputs)
167
+ predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
168
+
169
+ probabilities = predictions[0].tolist()
170
+ predicted_class = torch.argmax(predictions, dim=-1).item()
171
+
172
+ return {
173
+ 'prediction': 'Komplo Teorisi' if predicted_class == 1 else 'Gerçek Haber',
174
+ 'confidence': max(probabilities),
175
+ 'probabilities': {
176
+ 'Gerçek Haber': probabilities[0],
177
+ 'Komplo Teorisi': probabilities[1]
178
+ }
179
+ }
180
+
181
+ # Kullanım örneği
182
+ result = predict_conspiracy("COVID-19 aşıları güvenli ve etkilidir.")
183
+ print(result)
184
+ ```
185
+
186
+ ## 📊 Eğitim Detayları
187
+
188
+ ### Veri Seti
189
+ - **Boyut**: 1,651 Türkçe örnek
190
+ - **Sınıf Dağılımı**: Dengeli (yaklaşık %50 gerçek haber, %50 komplo teorisi)
191
+ - **Konu Alanları**: Sağlık, teknoloji, siyaset, tarih, bilim
192
+ - **Veri Kaynakları**: Haberler, sosyal medya içerikleri, makale özetleri
193
+
194
+ ### Eğitim Parametreleri
195
+ - **Batch Size**: 16
196
+ - **Learning Rate**: 2e-5
197
+ - **Epochs**: 3
198
+ - **Warmup Steps**: 500
199
+ - **Weight Decay**: 0.01
200
+ - **Optimizer**: AdamW
201
+
202
+ ### Veri Bölünmesi
203
+ - **Eğitim**: %70 (1,155 örnek)
204
+ - **Doğrulama**: %15 (248 örnek)
205
+ - **Test**: %15 (248 örnek)
206
+
207
+ ## 🎯 Performans
208
+
209
+ ### Test Sonuçları
210
+ | Metrik | Değer |
211
+ |--------|-------|
212
+ | **Accuracy** | 0.85 |
213
+ | **F1 Score** | 0.84 |
214
+ | **Precision** | 0.83 |
215
+ | **Recall** | 0.86 |
216
+
217
+ ### Sınıf Tanımları
218
+ - **Gerçek Haber (0)**: Doğrulanabilir, güvenilir kaynaklardan gelen bilgiler
219
+ - **Komplo Teorisi (1)**: Kanıtlanmamış, spekülatif veya yanlış bilgiler
220
+
221
+ ## 🧪 Test Örnekleri
222
+
223
+ ```python
224
+ test_examples = [
225
+ "5G teknolojisi insanları kontrol etmek için tasarlanmış gizli bir sistemdir.", # Komplo
226
+ "Bilim insanları, 5G teknolojisinin daha hızlı internet bağlantısı sağladığını doğruladı.", # Gerçek
227
+ "COVID-19 aşıları insanların DNA'sını değiştirmek için tasarlanmıştır.", # Komplo
228
+ "COVID-19 aşıları, virüse karşı bağışıklık sistemini güçlendiren mRNA teknolojisi kullanır." # Gerçek
229
+ ]
230
+
231
+ for text in test_examples:
232
+ result = predict_conspiracy(text)
233
+ print(f"Metin: {text}")
234
+ print(f"Tahmin: {result['prediction']} ({result['confidence']:.1%})")
235
+ print()
236
+ ```
237
+
238
+ ## ⚠️ Sınırlamalar
239
+
240
+ ### Kullanım Sınırları
241
+ - Model sadece Türkçe metinler için eğitilmiştir
242
+ - 512 token uzunluğu ile sınırlıdır
243
+ - Nispeten küçük veri seti (1,651 örnek)
244
+ - Belirli konularda daha fazla veri içerir
245
+
246
+ ### Dikkat Edilmesi Gerekenler
247
+ - Kritik kararlar için tek başına kullanılmamalıdır
248
+ - Sonuçlar uzman değerlendirmesi ile desteklenmelidir
249
+ - Yeni ortaya çıkan komplo teorilerini tanımayabilir
250
+ - Belirli konularda önyargılı olabilir
251
+
252
+ ## 🛠️ Kurulum
253
+
254
+ ```bash
255
+ pip install transformers torch
256
+ ```
257
+
258
+ ## 📈 Gelecek Planlar
259
+
260
+ - [ ] Daha büyük veri seti ile yeniden eğitim
261
+ - [ ] Çoklu sınıf desteği (güvenilirlik seviyeleri)
262
+ - [ ] Açıklama özelliği (hangi kelimelerin etkili olduğu)
263
+ - [ ] Gerçek zamanlı analiz API'si
264
+ - [ ] Diğer Türkçe NLP görevleri ile entegrasyon
265
+
266
+ ## 🤝 Katkıda Bulunma
267
+
268
+ Bu modeli geliştirmek için:
269
+ 1. Yeni veri örnekleri ekleyebilirsiniz
270
+ 2. Hata raporları gönderebilirsiniz
271
+ 3. Performans iyileştirmeleri önerebilirsiniz
272
+
273
+ ## 📞 İletişim
274
+
275
+ - **Hugging Face**: [@Metinimo19](https://huggingface.co/Metinimo19)
276
+ - **Model Repository**: https://huggingface.co/Metinimo19/turkish-conspiracy-detection
277
+
278
+ ## 📄 Lisans
279
+
280
+ Apache 2.0 - Detaylar için [LICENSE](LICENSE) dosyasını inceleyiniz.
281
+
282
+ ---
283
+
284
+ **⚠️ Uyarı**: Bu model eğitim ve araştırma amaçlıdır. Haber doğruluğu için mutlaka birden fazla kaynağı kontrol edin.
285
+ '''
286
+
287
+ if __name__ == "__main__":
288
+ upload_model()