--- language: - en tags: - pytorch - text-classification - sexism-detection - exist-2023 - bert - hatebert - linear-probing datasets: - exist-2023 metrics: - f1 - precision - recall base_model: - GroNLP/hateBERT --- # HateBERT Sexism Classifier (Linear Probing / Freeze All) This model is a fine-tuned version of [GroNLP/hateBERT](https://huggingface.co/GroNLP/hateBERT), trained for multi-class sexism detection on the **EXIST 2023 Task 2** dataset. ## Experiment Details: `freeze_all` This repository contains the **Linear Probing** variant of our ablation study. * All parameters in the base BERT model (`model.bert.parameters()`) were **frozen** during training. * Only the final classification head was trained. * This approach protects the pre-trained weights from catastrophic forgetting and speeds up training, though it relies entirely on the base model's existing feature representations. ## Intended Use Categorizes English tweets into one of four sexist intentions: 0. `-` (Non-sexist) 1. `DIRECT` (Directly sexist messages) 2. `JUDGEMENTAL` (Messages condemning sexist behaviors) 3. `REPORTED` (Messages reporting a sexist situation) ## Preprocessing Because HateBERT is built on `bert-base-uncased`, it automatically lowercases text. If you are keeping preprocessing consistent across your ablation study, ensure your inputs are cleaned accordingly: * Replace user mentions (`@user`) with the token `@user` * Replace URLs with the token `http` * (Handled by tokenizer) Lowercase all text ## Evaluation Results (Test Set) * **Macro F1:** 0.1950 * **Precision:** 0.1598 * **Recall:** 0.2500 ## How to Use ```python from transformers import AutoTokenizer, AutoModelForSequenceClassification repo_id = "francesco-zatto/hateBERT-freeze-all-sexism-detector" tokenizer = AutoTokenizer.from_pretrained(repo_id) model = AutoModelForSequenceClassification.from_pretrained(repo_id) inputs = tokenizer("Your cleaned tweet text here", return_tensors="pt") outputs = model(**inputs)