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