| --- |
| language: tr |
| license: mit |
| base_model: boun-tabilab/TabiBERT |
| pipeline_tag: text-classification |
| tags: |
| - turkish |
| - text-quality |
| - data-filtering |
| - modernbert |
| - regression |
| metrics: |
| - pearsonr |
| - spearmanr |
| --- |
| |
| # web_quality_classifier |
|
|
| Türkçe web metinleri için **yazım/biçim kalitesi** regresyon sınıflandırıcısı (0–5 skoru). |
| Metnin **yazım kalitesini** ölçer — konusu/eğitimsel değeri değil: noktalama, tekrar, boilerplate (menü/çerez/nav/link), akıcılık. |
|
|
| - **Base:** [boun-tabilab/TabiBERT](https://huggingface.co/boun-tabilab/TabiBERT) (Türkçe ModernBERT, 8192 ctx) + regression head |
| - **Eğitim verisi:** 100k dedup'lı Türkçe web dokümanı, `Qwen3.5-9B` LLM-judge ile 0–5 rubric'iyle etiketlendi (few-shot). 90k train / 10k val. |
| - **Validation (10k):** Pearson **0.875**, Spearman **0.867**, MSE 0.351, MAE 0.452, ±1 doğruluk **%98.3** |
| - Not: FineWeb-Edu tarzı "eğitimsel değer" sınıflandırıcılarına **diktir (orthogonal)** — farklı, tamamlayıcı bir kalite ekseni ölçer. |
|
|
| ## Kullanım |
| ```python |
| import torch |
| from transformers import AutoTokenizer, AutoModelForSequenceClassification |
| |
| tok = AutoTokenizer.from_pretrained("ff112/web_quality_classifier") |
| model = AutoModelForSequenceClassification.from_pretrained( |
| "ff112/web_quality_classifier", reference_compile=False).eval() |
| |
| text = "Değerlendirilecek Türkçe metin..." |
| enc = tok(text, truncation=True, max_length=1024, return_tensors="pt") |
| with torch.no_grad(): |
| score = model(**enc).logits.squeeze(-1).item() # 0-5 arası yazım kalite skoru |
| print(round(max(0, min(5, score)), 2)) |
| ``` |
|
|
| ## Skor rehberi |
| `5` temiz/akıcı · `4` küçük kusur · `3` okunur ama belirgin sorun · `2` düşük (tekrar/boilerplate/bozuk noktalama) · `1` çok bozuk · `0` çöp/boş/sadece boilerplate. |
|
|