Skip to content
Back to skills

Offenseval Eval

ASecurity

Evaluates models' ability to detect offensive language in social media posts, classify the specific type of offense (e.g., insult, threat), and identify the target of the offense (individual vs. group). It tests fine-grained text classification and hierarchical annotation understanding in noisy, short-form text. Use when the user wants to benchmark on OLID, or asks about evaluating this task. Reports F1-Macro.

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 11, 2026
researchpythongoperformance

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill offenseval-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Offenseval Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Offenseval Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-offenseval-eval/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-offenseval-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: offenseval-eval
description: Evaluates models' ability to detect offensive language in social media posts, classify the specific type of offense (e.g., insult, threat), and identify the target of the offense (individual vs. group). It tests fine-grained text classification and hierarchical annotation understanding in noisy, short-form text. Use when the user wants to benchmark on OLID, or asks about evaluating this task. Reports F1-Macro.
metadata:
  skill_kind: dataset_eval
  source_arxiv: 1903.08983
  bibtex_key: [REDACTED]
  confidence: high
---

# offenseval-eval

> SemEval-2019 Task 6: Identifying and Categorizing Offensive Language in Social Media (OffensEval) — Zampieri et al. (2019) (arXiv:1903.08983, 2019)

## What this evaluates

Evaluates models' ability to detect offensive language in social media posts, classify the specific type of offense (e.g., insult, threat), and identify the target of the offense (individual vs. group). It tests fine-grained text classification and hierarchical annotation understanding in noisy, short-form text.

## Datasets

- **OLID** — total 14000; splits: test (-1)

## Metrics

- `F1-Macro` **(primary)** — range: [0, 1]
  - Macro-averaged F1 score computed independently for each class and then averaged across all classes. Calculated as the harmonic mean of precision and recall for each class, with equal weight given to all classes regardless of frequency.

## Input / output format

**Input**: Raw social media tweets (text strings)

**Output**: Sub-task A: binary label (offensive / not offensive). Sub-task B: offense type label (e.g., insult, threat). Sub-task C: target label (individual / group / none).

## Scoring recipe

```python
def compute_macro_f1(predictions, gold):
    classes = set(gold) | set(predictions)
    f1_scores = []
    for c in classes:
        tp = sum(1 for p, g in zip(predictions, gold) if p == c and g == c)
        fp = sum(1 for p, g in zip(predictions, gold) if p == c and g != c)
        fn = sum(1 for p, g in zip(predictions, gold) if p != c and g == c)
        precision = tp / (tp + fp) if (tp + fp) > 0 else 0
        recall = tp / (tp + fn) if (tp + fn) > 0 else 0
        f1 = 2 * precision * recall / (precision + recall) if (precision + recall) > 0 else 0
        f1_scores.append(f1)
    return sum(f1_scores) / len(f1_scores)
```

## Common pitfalls

- Sub-tasks A, B, and C are evaluated independently; high performance on one does not guarantee performance on others.
- Macro-F1 is used, which treats all classes equally and can mask poor performance on minority classes due to dataset imbalance.
- Teams applied highly variable pre-processing steps (e.g., hashtag segmentation, emoji substitution, token normalization), making direct model comparisons difficult without standardized pipelines.

## Evidence (verbatim from paper)

> The results for each of the sub-tasks are shown in Table 4. Due to the large number of submissions, we only show the F1-score for the top-10 teams, followed by result ranges for the rest of the teams. ... Table 4: F1-Macro for the top-10 teams followed by the rest of the teams grouped in ranges for all three sub-tasks.

## Citation

```bibtex
@misc{zampieri2019offenseval,
  title={SemEval-2019 Task 6: Identifying and Categorizing Offensive Language in Social Media (OffensEval)},
  author={Zampieri et al. (2019)},
  year={2019},
  note={arXiv:1903.08983}
}
```

- arXiv: 1903.08983

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.