File size: 2,252 Bytes
7d2e8eb 4019227 7d2e8eb 4019227 7d2e8eb 4019227 7d2e8eb 4019227 7d2e8eb 4019227 7d2e8eb 4019227 7d2e8eb 4019227 5f5ead9 7d2e8eb 4019227 7d2e8eb 4019227 7d2e8eb 4019227 7d2e8eb 4019227 7d2e8eb 4019227 20c3b23 ff17222 8115397 ff17222 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
---
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:
```text
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
```python
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]}")
```
|