# Multilingual Toxicity Eval

> Evaluates multilingual toxicity detection capabilities of text classification models across multiple languages, focusing on production readiness, adversarial robustness, and handling of code-switching and obfuscation. Use when the user wants to benchmark on Production-Multilingual, Jigsaw Multilingual Toxic Comments Challenge, or asks about evaluating this task. Reports AUC-ROC.

- Skill: `qhjqhj00/multilingual-toxicity-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/multilingual-toxicity-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/multilingual-toxicity-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/multilingual-toxicity-eval

---


# multilingual-toxicity-eval

> A New Generation of Perspective API: Efficient Multilingual Character-level Transformers — Alyssa Lees et al. (arXiv:2202.11176, 2022)

## What this evaluates

Evaluates multilingual toxicity detection capabilities of text classification models across multiple languages, focusing on production readiness, adversarial robustness, and handling of code-switching and obfuscation.

## Datasets

- **Production-Multilingual** — total 39300000; splits: train (38000000), test (1300000)
- **Jigsaw Multilingual Toxic Comments Challenge** — total ?; splits: train (-1), test (-1)

## Metrics

- `AUC-ROC` **(primary)** — range: [0, 1]
  - Area under the Receiver Operating Characteristic curve, measuring the trade-off between true positive rate and false positive rate across all classification thresholds.

## Input / output format

**Input**: Raw text comments in multiple languages (e.g., English, Spanish, French, German, etc.), potentially containing code-switching, emojis, or obfuscated text.

**Output**: Binary toxicity label or probability score indicating whether the comment is toxic.

## Scoring recipe

```python
def compute_auc(y_true, y_pred):
    from sklearn.metrics import roc_auc_score
    return roc_auc_score(y_true, y_pred)
```

## Common pitfalls

- Training data is heavily skewed towards English, which may bias models toward English performance.
- Kaggle competition winners used ensembling and pseudo-labeling, making direct comparison with single production-ready models unfair.
- Evaluation focuses only on a subset of languages where the production API lacked quality models, not a fully balanced multilingual set.

## Evidence (verbatim from paper)

> Table 1: Experimental results on the Production-Multilingual dataset. We report AUC-ROC scores. Table 2 reports results on the JMTCC dataset. Our results show that our best UTC† achieves 0.9367 AUC-ROC, outperforming all considered single model baselines, especially a strong state-of-the-art mT5 baseline.

## Citation

```bibtex
@misc{lees2022perspective,
  title={A New Generation of Perspective API: Efficient Multilingual Character-level Transformers},
  author={Alyssa Lees et al.},
  year={2022},
  note={arXiv:2202.11176}
}
```

- arXiv: 2202.11176

