--- 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.