Edit model card

BERT Türkçe Sınıflandırma Modeli

Bu proje, Türkçe dilindeki metinleri sınıflandırmak için fine-tune edilmiş bir BERT modelini kullanır. Model, metinleri aşağıdaki sınıflara ayırabilir:

  • Nötr
  • Positive
  • Negative

Kullanım

  1. Gerekli paketleri yükleyin:

    pip install transformers torch matplotlib
    
  2. Model ve tokenizer'ı indirin:

    from transformers import AutoTokenizer, AutoModelForSequenceClassification
    import torch
    
    tokenizer = AutoTokenizer.from_pretrained("WhiteAngelss/bert-base-turkish-cased")
    model = AutoModelForSequenceClassification.from_pretrained("WhiteAngelss/bert-base-turkish-cased")
    
  3. Test cümleleri ile modeli test edin:

    sentences = [
        "Sen gerçekten aptalsın ve her şeyin en kötüsünü hak ediyorsun.",  # INSULT
        "Bugün hava çok güzel.",                                         # OTHER
        "Bu dilimizdeki küfürlerden biri olabilir.",                      # PROFANITY
        "Tüm kadınlar sadece mutfak işlerini yapar, bu doğaldır.",        # SEXIST
        "Siyahlar toplumda geri kalmış, bu kabul edilemez."               # RACIST
    ]
    
    inputs = tokenizer(sentences, return_tensors="pt", padding=True, truncation=True)
    outputs = model(**inputs)
    probs = torch.nn.functional.softmax(outputs.logits, dim=-1)
    
  4. Sonuçları yazdırın ve görselleştirin:

    import matplotlib.pyplot as plt
    
    user_probs_np = probs.detach().numpy()
    
    fig, ax = plt.subplots()
    bars = ax.bar(id2label.values(), user_probs_np[0], color='skyblue')
    ax.set_xlabel('Sınıflar')
    ax.set_ylabel('Olasılıklar')
    ax.set_title('Tahmin Edilen Sınıfların Olasılıkları')
    
    for bar in bars:
        height = bar.get_height()
        ax.text(bar.get_x() + bar.get_width() / 2, height, f'{height * 100:.2f}%', ha='center', va='bottom')
    
    plt.xticks(rotation=45)
    plt.show()
    

Yazar

Bu projeyi WhiteAngels Team hazırlamıştır.

ÖRNEK KULLANIM :

import matplotlib.pyplot as plt import numpy as np

Etiketlerin tanımlanması

id2label = { "0": "Nötr", "1": "Positive", "2": "Negative"

}

Test cümleleri

sentences = [ "Sen gerçekten aptalsın ve her şeyin en kötüsünü hak ediyorsun.",
"Bugün hava çok güzel.",
"Bu dilimizdeki küfürlerden biri olabilir.",
"Tüm kadınlar sadece mutfak işlerini yapar, bu doğaldır.",
"Siyahlar toplumda geri kalmış, bu kabul edilemez."
]

Olasılıkları simüle edelim (örnek veri)

user_probs_np = np.array([0.65, 0.05, 0.15, 0.10, 0.05])

Sonuçları çubuk grafik olarak görselleştirme

fig, ax = plt.subplots() bars = ax.bar(id2label.values(), user_probs_np, color='skyblue') ax.set_xlabel('Sınıflar') ax.set_ylabel('Olasılıklar') ax.set_title('Tahmin Edilen Sınıfların Olasılıkları')

Her çubuğun üzerine olasılığı yazdırma

for bar in bars: height = bar.get_height() ax.text(bar.get_x() + bar.get_width() / 2, height, f'{height * 100:.2f}%', ha='center', va='bottom')

Gösterme

plt.xticks(rotation=45) plt.show()

Downloads last month
5
Safetensors
Model size
184M params
Tensor type
F32
·
Inference API
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.