CommentLens — Bangla/Banglish 5-Class Comment Classifier

Fine-tuned csebuetnlp/banglishbert (ELECTRA) for classifying Bangla/Banglish social media comments into 5 categories, with class-weighted loss to handle severe label imbalance.

Classes: claim | general | opinion | spam-scam | toxic

Training data

  • 32,632 labeled Bangla/Banglish comments (CommentLens dataset)
  • Class distribution: general 77% / opinion 18% / toxic 4% / spam-scam 0.6% / claim 0.6%
  • 6 epochs, batch size 16, max length 128, LR 2e-5, class-weighted cross-entropy loss

Validation results

Class Precision Recall F1 Support
claim 0.52 0.56 0.54 27
general 0.97 0.95 0.96 3768
opinion 0.84 0.92 0.88 875
spam-scam 0.96 0.93 0.95 28
toxic 0.77 0.79 0.78 197

Overall accuracy: 93% (macro avg F1: 0.82, weighted avg F1: 0.93) on a 4,895-row validation set.

Rare classes (claim, spam-scam) have low support and should be treated with caution in production.

Usage

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

tokenizer = AutoTokenizer.from_pretrained("gulamsakaria/commentlens-banglishbert")
model = AutoModelForSequenceClassification.from_pretrained("gulamsakaria/commentlens-banglishbert")

text = "এই পেজে সবাই মিথ্যা কথা বলে"
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128)
with torch.no_grad():
    logits = model(**inputs).logits
probs = torch.softmax(logits, dim=-1)
pred = model.config.id2label[int(probs.argmax())]
print(pred, float(probs.max()))

Part of CommentLens

Built by Gulam Sakaria as part of the CommentLens project on Bangla comment moderation and misinformation detection.

Downloads last month
6
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for gulamsakaria/commentlens-banglishbert

Quantized
(1)
this model

Space using gulamsakaria/commentlens-banglishbert 1