Token-level social-bias detector built on bert-large-uncased. Given a
sentence, it tags each token with one of four bias categories following a 7-label
BIO scheme, highlighting which words carry bias.
Part of the Attention Atlas project (a master's thesis on interpretable bias
detection through transformer attention). This is the larger-capacity BERT
variant of pinthoz/gus-net-bert.
Use the values above rather than a flat 0.5. They are calibrated against these specific weights.
Revised August 2026. The thresholds previously published here were calibrated on a different training run of the same architecture, and applying them to these weights collapses UNFAIR precision to 0.16. If you pinned the earlier values, update them.
Fine-tuned on the GUS-Net dataset — a token-level social-bias corpus
annotated for Generalisations, Unfairness and Stereotypes
(ethical-spectacle/gus-dataset-v1).
Difference from the original GUS-Net dataset and models: in the original data
punctuation is almost always fused to the preceding word rather than tokenised
separately (only 159 standalone punctuation tokens across the corpus, against
5,879 after cleaning), so a comma or full stop falling inside a labelled span
inherits that span's categories — the
sentence-final mark carries a bias label in 1,942 of the 3,739 sentences, and an
in-span comma in 270. The data used here splits each mark into a token of its
own and labels it non-bias O, repairing the BIO sequence where the split
interrupts a span, since punctuation is not a social-bias carrier. Bias spans
predicted by these models therefore exclude leading/trailing punctuation.
Held-out partition (747 sentences) of the stratified cross-validation fold this
checkpoint was trained against — StratifiedKFold(n_splits=5, shuffle=True, random_state=42) over the cleaned corpus (see Training data), fold 4 —
scored with the per-label thresholds above. Each category aggregates its B-/I-
labels; the micro average covers the three bias categories and excludes the
majority O class. Label alignment mirrors training (secondary subtokens masked).
Category
Precision
Recall
F1
O (non-bias)
0.929
0.955
0.942
GEN
0.813
0.791
0.802
UNFAIR
0.641
0.606
0.623
STEREO
0.859
0.827
0.843
Micro-avg
0.820
0.790
0.805
The operating point matters as much as the weights here. Scored with the
thresholds published before August 2026, which came from a different training
run, the same checkpoint returns UNFAIR precision 0.16 at recall 0.98 and a
micro F1 of 0.630, which reads as a detector that flags almost every token. The
weights were never the problem. For a balanced encoder at base size use
pinthoz/gus-net-bert;
for the strongest detector overall use
pinthoz/gus-net-gpt2-medium.
Limitations & intended use
Research / auditing tool, not a content-moderation oracle. Predictions
reflect a specific operationalisation of bias; subtle or context-dependent
bias may be missed.
English only.
Labels are not error-free; treat spans as evidence to review, not ground truth.
Do not use for automated decisions about individuals.
Citation
If you use these models, please cite the GUS-Net dataset and benchmark:
bibtex
1@article{powers2024gusnet,
2 title = {GUS-Net: Social Bias Classification in Text with Generalizations, Unfairness, and Stereotypes},
3 author = {Powers, Maximus and Raza, Shaina and Chang, Alex and Riaz, Rehana and Mavani, Umang and Jonala, Harshitha Reddy and Tiwari, Ansh and Wei, Hua},
4 journal = {arXiv preprint arXiv:2410.08388},
5 year = {2024}
6}
License
Weights released under Apache-2.0 (matching the bert-large-uncased base
model). The Attention Atlas code is MIT-licensed.