--- 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: ```python 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%}")