query-classifier / README.md
melique's picture
Update README.md
5f5ead9 verified
|
raw
history blame
2.25 kB
metadata
library_name: transformers
language:
  - tr
base_model:
  - dbmdz/bert-base-turkish-uncased
tags:
  - text-classification
  - sequence-classification
  - transformers
  - turkish
  - intent-classification
datasets:
  - custom
metrics:
  - accuracy
  - f1
  - precision
  - recall

🔍 Query Classifier: Turkish BERT Model

Bu model, Türkçe sorguları "keyword" ve "semantic" olmak üzere iki sınıfa ayırmak amacıyla eğitilmiş bir BERT tabanlı sıralı sınıflandırma (sequence classification) modelidir. Model, kısa metinlerin veya arama sorgularının niyetini (intent) belirlemede kullanılabilir.

🧾 Kullanım Senaryosu

Kullanıcıdan gelen bir sorgunun anahtar kelime temelli mi, yoksa daha geniş anlamsal bağlam içeren bir yapı mı taşıdığını tespit etmek için kullanılır. Bu sayede sorgular farklı işleme stratejilerine yönlendirilebilir.

🧠 Model Detayları

  • Model mimarisi: BERT (dbmdz/bert-base-turkish-uncased)
  • Eğitim verisi: Özel olarak etiketlenmiş 2 sınıflı sorgu veri kümesi
  • Etiketler:
    • keyword: Daha çok başlık veya kısa anahtar ifadeler (örneğin: Gece Gelen, Ozan Kılıç)
    • semantic: Daha açıklayıcı veya anlam yüklü ifadeler (örneğin: 2020 yılı dram filmleri, Bilim kurgu filmleri)

📈 Model Başarımı

Test kümesi üzerinde elde edilen sonuçlar:

               precision    recall  f1-score   support

     keyword       0.97      0.95      0.96       552
    semantic       0.71      0.81      0.76        86

    accuracy                           0.93       638
   macro avg       0.84      0.88      0.86       638
weighted avg       0.93      0.93      0.93       638

🚀 Kullanım Örneği

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

model = AutoModelForSequenceClassification.from_pretrained("melique/query-classifier")
tokenizer = AutoTokenizer.from_pretrained("melique/query-classifier")

text = "Yaşam"
inputs = tokenizer(text, return_tensors="pt")
outputs = model(**inputs)

pred = torch.argmax(outputs.logits, dim=1).item()
labels = ["keyword", "semantic"]
print(f"Tahmin edilen sınıf: {labels[pred]}")