Text Classification
Transformers
Safetensors
PyTorch
English
bert
multi-label-classification
toxicity-detection
Eval Results (legacy)
text-embeddings-inference
Instructions to use Koushim/bert-multilabel-jigsaw-toxic-classifier with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Koushim/bert-multilabel-jigsaw-toxic-classifier with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="Koushim/bert-multilabel-jigsaw-toxic-classifier")# Load model directly from transformers import AutoTokenizer, CustomBertForMultiLabel tokenizer = AutoTokenizer.from_pretrained("Koushim/bert-multilabel-jigsaw-toxic-classifier") model = CustomBertForMultiLabel.from_pretrained("Koushim/bert-multilabel-jigsaw-toxic-classifier", device_map="auto") - Notebooks
- Google Colab
- Kaggle
| language: en | |
| datasets: | |
| - jigsaw-toxic-comment-classification-challenge | |
| tags: | |
| - text-classification | |
| - multi-label-classification | |
| - toxicity-detection | |
| - bert | |
| - transformers | |
| - pytorch | |
| license: apache-2.0 | |
| model-index: | |
| - name: BERT Multi-label Toxic Comment Classifier | |
| results: | |
| - task: | |
| name: Multi-label Text Classification | |
| type: multi-label-classification | |
| dataset: | |
| name: Jigsaw Toxic Comment Classification Challenge | |
| type: jigsaw-toxic-comment-classification-challenge | |
| metrics: | |
| - name: Accuracy | |
| type: accuracy | |
| value: 0.9187 # Replace with your actual score | |
| # BERT Multi-label Toxic Comment Classifier | |
| This model is a fine-tuned [`bert-base-uncased`](https://huggingface.co/bert-base-uncased) transformer for **multi-label classification** on the [Jigsaw Toxic Comment Classification Challenge](https://www.kaggle.com/c/jigsaw-toxic-comment-classification-challenge) dataset. | |
| It predicts multiple toxicity-related labels per comment, including: | |
| - toxicity | |
| - severe toxicity | |
| - obscene | |
| - threat | |
| - insult | |
| - identity attack | |
| - sexual explicit | |
| ## Model Details | |
| - **Base Model**: `bert-base-uncased` | |
| - **Task**: Multi-label text classification | |
| - **Dataset**: Jigsaw Toxic Comment Classification Challenge (processed version) | |
| - **Labels**: 7 toxicity-related categories | |
| - **Training Epochs**: 2 | |
| - **Batch Size**: 16 (train), 64 (eval) | |
| - **Metrics**: Accuracy, Macro F1, Precision, Recall | |
| ## Usage | |
| ```python | |
| from transformers import AutoTokenizer, AutoModelForSequenceClassification | |
| tokenizer = AutoTokenizer.from_pretrained("Koushim/bert-multilabel-jigsaw-toxic-classifier") | |
| model = AutoModelForSequenceClassification.from_pretrained("Koushim/bert-multilabel-jigsaw-toxic-classifier") | |
| text = "You are a wonderful person!" | |
| inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=128) | |
| outputs = model(**inputs) | |
| # Sigmoid to get probabilities for each label | |
| import torch | |
| probs = torch.sigmoid(outputs.logits) | |
| print(probs) | |
| ```` | |
| ## Labels | |
| | Index | Label | | |
| | ----- | ---------------- | | |
| | 0 | toxicity | | |
| | 1 | severe_toxicity | | |
| | 2 | obscene | | |
| | 3 | threat | | |
| | 4 | insult | | |
| | 5 | identity_attack | | |
| | 6 | sexual_explicit | | |
| ## Training Details | |
| * Training Set: Full dataset (160k+ samples) | |
| * Loss Function: Binary Cross Entropy (via `BertForSequenceClassification` with `problem_type="multi_label_classification"`) | |
| * Optimizer: AdamW | |
| * Learning Rate: 2e-5 | |
| * Evaluation Strategy: Epoch-based evaluation with early stopping on F1 score | |
| * Model Framework: PyTorch with Hugging Face Transformers | |
| ## Repository Contents | |
| * `pytorch_model.bin` - trained model weights | |
| * `config.json` - model configuration | |
| * `tokenizer.json`, `vocab.txt` - tokenizer files | |
| * `README.md` - this file | |
| ## How to Fine-tune or Train | |
| You can fine-tune this model using the Hugging Face `Trainer` API with your own dataset or the original Jigsaw dataset. | |
| ## Citation | |
| If you use this model in your research or project, please cite: | |
| ``` | |
| @article{devlin2019bert, | |
| title={BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding}, | |
| author={Devlin, Jacob and Chang, Ming-Wei and Lee, Kenton and Toutanova, Kristina}, | |
| journal={arXiv preprint arXiv:1810.04805}, | |
| year={2019} | |
| } | |
| ``` | |
| ## License | |
| Apache 2.0 License | |