Turp AI Projesi Teknik Dokümantasyonu

📌 Projenin Amacı

Bu projenin temel amacı, kullanıcıların yazdıkları metinlerin Türkiye'deki siyasi ve hukuki risklerini değerlendirmek ve tutuklanma risklerini puanlandırmaktır. Kullanıcılar, politik ifadelerinin potansiyel risklerini anlamak için bu sistemi kullanabilirler.

🔬 Kullanılan Teknolojiler

  • .NET 8 - ASP.NET Core MVC framework
  • ML.NET - Makine Öğrenmesi altyapısı
  • Bootstrap 5 - Responsive ve modern UI
  • SQL Server - Veri tabanı yönetimi için

📚 Veri Seti Oluşturma

Veri seti büyük ölçüde manuel olarak oluşturulmuştur. Türkiye'deki politik ortam dikkate alınarak 32.765 adet yorum ve ifade örneği hazırlanmış, elle etiketlenmiştir. Veri dengelidir ve her sınıf yaklaşık olarak eşit sayıda örnek içermektedir. Bu etiketler:

  • Yandaş (iktidar yanlısı)
  • Nötr (politik açıdan risk taşımayan)
  • Sakıncalı (hafif risk taşıyan)
  • Tutuklanma (yüksek risk taşıyan, hakaret veya suç unsuru)

Farklı bir dilde yapılan yorumlar, sistem tarafından otomatik olarak algılanmakta ve arka planda çeviri API’si ile Türkçeye çevrilmektedir. Bu çeviri üzerinden model çalıştırılarak hem kullanıcıya geri dönüş sağlanmakta hem de veri seti zamanla zenginleştirilmektedir.

Veri seti herhangi bir kamuya açık kaynakta paylaşılmamaktadır. Bunun nedeni hem etik sorumluluk hem de bazı verilerin Türkiye’de yasal sorun yaratabilecek nitelikte olmasıdır. Veri seti, sadece sistem içi iyileştirme ve denetim amaçlı kullanılmaktadır.

🤖 Kullanılan ML.NET Modeli

Bu projede ML.NET'in Multi-Class Classification (çok sınıflı sınıflandırma) modeli kullanılmıştır. Veri seti üzerinde eğitilen algoritmalar:

  • Stochastic Dual Coordinate Ascent (SDCA)
  • FastTree
  • LightGbm

Model performansını artırmak için sınıf ağırlıkları dengelenmiş, çapraz doğrulama yapılmış ve hiperparametre optimizasyonu uygulanmıştır. Ayrıca bazı yorumlarda veri arttırma (data augmentation) teknikleri de kullanılmıştır.

📊 Modelin Performans Ölçümleri

Eğitim ve test aşamalarında elde edilen metrikler:

  • Accuracy (Doğruluk): %91.2
  • Macro-average F1 Score: 0.89
  • Micro-average F1 Score: 0.91

⚙️ Teknik Detaylar ve Mimarisi

Uygulama, ASP.NET Core MVC üzerinde katmanlı bir mimariye sahiptir. ML.NET modeli arka planda servis olarak yapılandırılmıştır ve prediction (tahmin) işlemleri API üzerinden gerçekleştirilir. Kullanıcıdan gelen metin, model için temizlenir ve uygun forma getirilir. Eğer metin Türkçe değilse, sistem tarafından otomatik olarak çevrilir ve model bu çevrilmiş içerik üzerinde çalışır.

Ayrıca sistemde rate limiter, antiforgery protection, kullanıcı dil kontrolü ve honeypot gibi güvenlik önlemleri entegre edilmiştir.

🔒 Güvenlik ve Gizlilik

Kullanıcı gizliliğine önem verilmiştir. Yapılan sorgular, kullanıcının IP adresi ya da kişisel bilgileriyle eşleştirilmez. Sistemde toplanan veriler yalnızca model iyileştirmesi ve akademik/deneysel amaçlar doğrultusunda kullanılır. Tutuklanma riski yüksek içerikler filtrelenir ve paylaşılmaz. Kullanıcıdan gelen içerikler anonimleştirilmiş şekilde saklanır ve gerektiğinde sistem tarafından temizlenir.