fastText-TR-Quality-Classifier

Türkçe açıklama için aşağı kaydırın / Scroll down for Turkish description

English

A binary text quality classifier — labels Turkish web pages as clean (usable for LLM pretraining) or garbage (spam/ads/low-quality) for LLM pretraining corpus construction.

Model Details

  • Architecture: fastText supervised classifier
  • Dimension: 100
  • Labels: __label__clean, __label__garbage
  • Vocabulary: ~3.5M words/n-grams
  • Language: Turkish

Training hyperparameters:

Parameter Value Meaning
lr (learning rate) 1.0 A standard/above-default learning rate for fastText
epoch 25 25 passes over the training data
wordNgrams 2 Word bigrams used as features in addition to unigrams
dim 100 Word vector dimension
loss softmax Standard softmax loss (2-class here)

Training Data

  • Source: Turkish web text extracted from CommonCrawl (2025/2026 monthly crawls) with trafilatura, from raw HTML.
  • Size: ~480,000 labeled examples.
  • Labeling method: Predictions from a fine-tuned Turkish BERT classifier (0-5 quality score) were converted into binary (clean/garbage) labels and used as training data — i.e. this model distills the decisions of a much slower BERT classifier at scale (knowledge distillation).
  • The BERT model itself was fine-tuned on 5,876 manually/LLM-scored examples.

Performance

  • On a validation chunk the BERT model had never seen, this fastText model's predictions agreed with the source BERT model's predictions 94.4% of the time.
  • On a synthetic test set (8 hand-written examples: betting/escort spam, academic summary, news text, product description, etc.), 8/8 correct classifications, mostly with ≥96.9% confidence.
  • fastText inference is ~90x faster than BERT on the same hardware (Apple M4 Pro, CPU): ~8,880 docs/sec vs ~96.5 docs/sec.

Files

  • model.bin — the full classifier (word vectors + classification layer). Use this for inference (predicting clean/garbage).
  • model.vec — plain-text word vectors only (no classification layer). Useful if you want to reuse the learned word embeddings elsewhere, e.g. as pretrainedVectors when training a different fastText model.

Usage

import fasttext

model = fasttext.load_model("model.bin")

text = "example Turkish web text here"
labels, scores = model.predict(text.replace("\n", " "), k=-1)
label_scores = dict(zip(labels, scores))

if label_scores.get("__label__clean", 0) >= 0.5:
    print("Usable content")
else:
    print("Flagged as low quality / spam")

Limitations

  • Trained on general CommonCrawl web content; performance on very different domains (e.g. social media, code, academic PDFs) was not tested.
  • The clean label means "usable for LLM pretraining", not "factually correct" or "non-toxic" — separate filters (PII masking, toxicity/spam keyword lists) are still recommended.
  • Training labels were ultimately derived from a BERT model's predictions, so this model may inherit that model's own errors/biases.

License

MIT. Training data was derived from CommonCrawl (a public web crawl); see CommonCrawl's own terms of use.


Türkçe

İkili (binary) metin kalite sınıflandırıcısı — Türkçe web sayfalarını LLM ön-eğitim (pretraining) verisi olarak clean (kullanılabilir) veya garbage (spam/reklam/düşük-kalite) olarak etiketler.

Model Detayları

  • Mimari: fastText supervised classifier
  • Boyut (dim): 100
  • Etiketler: __label__clean, __label__garbage
  • Kelime dağarcığı: ~3.5M kelime/n-gram
  • Dil: Türkçe

Eğitim hiperparametreleri:

Parametre Değer Anlamı
lr (learning rate) 1.0 fastText için standart/varsayılan-üstü bir öğrenme oranı
epoch 25 Eğitim verisi üzerinden 25 tur geçildi
wordNgrams 2 Tekli kelimelerin yanı sıra kelime ikilileri (bigram) da özellik olarak kullanıldı
dim 100 Kelime vektör boyutu
loss softmax Çok sınıflı (burada 2 sınıflı) standart softmax kaybı

Eğitim Verisi

  • Kaynak: CommonCrawl'dan (2026 ve 2025 aylık crawl'ları) çekilip trafilatura ile ham HTML'den çıkarılmış Türkçe web metinleri.
  • Boyut: ~480.000 etiketli örnek.
  • Etiketleme yöntemi: Fine-tune edilmiş bir Türkçe BERT sınıflandırıcının (0-5 arası kalite puanı) tahminleri, ikili (clean/garbage) etikete dönüştürülüp eğitim verisi olarak kullanıldı — yani bu model, daha yavaş çalışan bir BERT sınıflandırıcının kararlarını büyük ölçekte "distile" ediyor (knowledge distillation).
  • BERT modelinin kendisi, 5.876 elle/LLM ile puanlanmış örnek üzerinde eğitilmişti.

Performans

  • Doğrulama seti (BERT'in hiç görmediği bir CommonCrawl chunk'ı) üzerinde, bu fastText modelinin tahminleri ile kaynak BERT modelinin tahminleri arasında %94.4 uyum gözlemlendi.
  • Sentetik test setinde (8 el-yapımı örnek: bahis/escort spam'i, akademik özet, haber metni, ürün açıklaması vb.) 8/8 doğru sınıflandırma, çoğunlukla ≥%96.9 güvenle.
  • fastText'in inference hızı, aynı donanımda (Apple M4 Pro, CPU) BERT'e göre 90 kat daha hızlı ölçüldü (8.880 doküman/saniye vs ~96.5 doküman/saniye).

Dosyalar

  • model.bin — tam sınıflandırıcı (kelime vektörleri + sınıflandırma katmanı). Inference (clean/garbage tahmini) için bunu kullanın.
  • model.vec — sadece düz metin (text) formatında kelime vektörleri, sınıflandırma katmanı yok. Öğrenilen kelime embedding'lerini başka bir yerde (örn. farklı bir fastText modelini pretrainedVectors ile başlatmak için) yeniden kullanmak isterseniz faydalıdır.

Kullanım

import fasttext

model = fasttext.load_model("model.bin")

text = "örnek Türkçe web metni buraya"
labels, scores = model.predict(text.replace("\n", " "), k=-1)
label_scores = dict(zip(labels, scores))

if label_scores.get("__label__clean", 0) >= 0.5:
    print("Kullanılabilir içerik")
else:
    print("Düşük kalite / spam olarak işaretlendi")

Sınırlamalar

  • Model, CommonCrawl kaynaklı genel web içeriği üzerinde eğitildi; çok farklı bir alan/tür (örn. sosyal medya, kod, akademik PDF) üzerinde performansı test edilmedi.
  • clean etiketi "LLM pretraining için kullanılabilir" anlamına gelir, "faktüel doğru" ya da "toksik değil" anlamına gelmez — ayrı filtreler (PII maskeleme, toksisite/spam kelime listesi) hâlâ önerilir.
  • Eğitim etiketleri nihayetinde bir BERT modelinin tahminlerinden türetildi, o modelin kendi hatalarını/önyargılarını miras almış olabilir.

Lisans

MIT. Eğitim verisi CommonCrawl'dan (kamuya açık web taraması) türetilmiştir; CommonCrawl'ın kendi kullanım şartlarına bakınız.

Downloads last month
9
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support