Skip to content

Repository files navigation

Tigrinya Abusive Language Detection (TiALD) Dataset

Tigrinya Abusive Language Dataset (TiALD) is a large-scale, multi-task benchmark dataset for abusive language detection in the Tigrinya language. It consists of 13,717 YouTube comments annotated for abusiveness, sentiment, and topic tasks. The dataset includes comments written in both the Ge’ez script and prevalent non-standard Latin-based transliterations to mirror real-world usage.

The dataset also includes contextual metadata such as video titles and VLM-generated and LLM-enhanced descriptions of the corresponding video content, enabling context-aware modeling.

⚠️The dataset contains explicit, obscene, and hateful language. It should be used for research purposes only.⚠️

This work accompanies the paper "A Multi-Task Benchmark for Abusive Language Detection in Low-Resource Settings", accepted at the NeurIPS 2025 conference in the Datasets & Benchmarks Track, San Diego, December (2-7), 2025.

Outline:

Dataset Overview

  • Data Source: YouTube comments from 51 popular channels in the Tigrinya-speaking community.
  • Scope: 13,717 human-annotated comments from 7,373 videos with over 1.2 billion cumulative views at the time of collection.
  • Sampling: Comments selected using an embedding-based semantic expansion strategy from an initial pool of ~4.1 million comments across ~34.5k videos.
  • For data construction methodology, baseline results, and task formulation, see the associated paper.

Tasks and Annotation Schema

TiALD supports multi-task modeling of three complementary tasks abusiveness, sentiment, and topic classification, which in turn has the following classes:

  1. Abusiveness: Binary (Abusive, Not Abusive)
  2. Sentiment: 4-way (Positive, Neutral, Negative, Mixed)
  3. Topic: 5-way (Political, Racial, Sexist, Religious, Other)

A schematic overview of the dataset tasks and classes is shown below:

How to Access the TiALD Dataset

A stable version of TiALD dataset is made available on 🤗 Hugging Face Hub.

You can head over to: https://huggingface.co/datasets/fgaim/tigrinya-abusive-language-detection

Or pull it from anywhere as follows:

fromdatasetsimportload_datasetdataset=load_dataset("fgaim/tigrinya-abusive-language-detection")
print(dataset["validation"][5]) # Inspect a sample

Baseline Models and Results

Trained Baseline Models

Some strong performing trained models trained on TiALD can be found on Hugging Face Hub:

Code for Baseline Models

The training and inference code for the three baseline approaches discussed in the paper can be found in the baselines directory.

The following tables show the performances of the baseline models reported in the paper:

1. Main Results: Performance of Fine-tuned and Prompted Models

ModelAbusivenessSentimentTopicTiALD Score
Fine-tuned Single-task Models
TiELECTRA-small82.3342.3926.9050.54
TiRoBERTa-base86.6752.8254.2364.57
AfriBERTa-base83.4250.8153.2062.48
Afro-XLMR-Large-76L85.2054.9451.4263.86
XLM-RoBERTa-base81.0830.1743.9751.74
Fine-tuned Multi-task Models
TiELECTRA-small84.2143.4429.2752.30
TiRoBERTa-base86.1153.4154.9164.81
AfriBERTa-base83.6650.1953.4962.45
Afro-XLMR-Large-76L85.4454.5052.4664.13
XLM-RoBERTa-base79.8745.4035.5053.59
Zero-shot Prompted LLMs
GPT-4o71.0520.5526.2539.28
Claude Sonnet 3.759.2022.6425.2535.70
Gemma-3 4B59.3529.4735.2441.35
LLaMA-3.2 3B49.9825.3016.5530.61
Few-shot Prompted LLMs
GPT-4o72.0621.8827.5640.50
Claude Sonnet 3.779.3123.3927.9243.54
Gemma-3 4B58.3730.4639.4942.78
LLaMA-3.2 3B45.6519.9421.6829.09

Performance of fine-tuned encoder models (single and multi-task) and prompted generative LLMs (zero-shot and few-shot) evaluated on user comments across all three tasks. The TiALD Score is the average macro F1 across the three tasks. Overall task-level best scores are in bold; category-best scores are italicized.

2. Performance of Models with Video Title as Context

ModelAbusivenessSentimentTopicTiALD Score
Fine-tuned Single-task Models
TiELECTRA-small81.6739.4027.8149.62
TiRoBERTa-base86.1754.9754.5565.23
AfriBERTa-base82.4451.3352.1061.96
Afro-XLMR-Large-76L84.2052.6454.1163.65
XLM-RoBERTa-base75.0943.4741.6053.39
Zero-shot Prompted LLMs
GPT-4o75.5941.0355.5257.38
Claude Sonnet 3.767.6444.3950.1054.05
Gemma-3 4B58.4129.2734.4440.71
LLaMA-3.2 3B44.1321.8515.9127.30
Few-shot Prompted LLMs
GPT-4o75.8945.5058.5959.99
Claude Sonnet 3.780.2948.0159.4562.58
Gemma-3 4B59.3930.4339.6043.14
LLaMA-3.2 3B48.2920.1920.2029.56

Performance of models with video title as context. Fine-tuned models were trained on concatenation of user comment and video title. LLMs were prompted with both comment and video title. Overall task-level best scores are in bold; category-best scores are italicized.

3. Performance of LLMs on Abusiveness Detection with Cross-Modality Context

ModelComment OnlyVideo Title + Comment
Zero-shotFew-shotZero-shotFew-shot
Closed Frontier Models
GPT-4o71.0572.0675.5975.89
Claude Sonnet 3.759.2079.3167.6480.29
Open-weight Models
Gemma-3 4B59.3558.3758.4159.39
LLaMA-3.2 3B49.9845.6544.1348.29

Performance of LLMs on Abusiveness Detection with Cross-Modality Contextual Information: user comment augmented with video_title and auto-generated video_description. Best scores for each prompting approach are in bold; highest scores within model category are italicized.

†LLaMA-3.2 3B produced invalid responses for over 61% of queries in both few-shot settings, mainly due to its limited Tigrinya text understanding.

Baseline Models Prediction Files

The final prediction files from baselines models reported in the paper can be found under the model-predictions folder.

Dataset Details

Dataset Statistics

A table summarizing the dataset splits and distributions of samples:

SplitSamplesAbusiveNot AbusivePoliticalRacialSexistReligiousOther TopicsPositiveNeutralNegativeMixed
Train12,3176,9805,3374,0376335642446,8392,4331,6716,9071,306
Test9004504502791137815727322612947471
Dev5002502501592321112861087125269
Total13,7177,6806,0374,4757696634127,3982,7671,8717,6331,446

Dataset Features

Below is a complete list of features in the dataset, grouped by type:

FeatureTypeDescription
sample_idIntegerUnique identifier for the sample.
Comment Information
comment_idStringYouTube comment identifier.
comment_originalStringOriginal unprocessed comment text.
comment_cleanStringCleaned version of the comment for modeling purposes.
comment_scriptCategoricalWriting system of the comment: geez, latin, or mixed.
comment_publish_dateStringYear and month when the comment was published, eg., 2021.11.
Comment Annotations
abusivenessCategoricalWhether the comment is Abusive or Not Abusive.
topicCategoricalOne of: Political, Racial, Religious, Sexist, or Other.
sentimentCategoricalOne of: Positive, Neutral, Negative, or Mixed.
annotator_idStringUnique identifier of the annotator.
Video Information
video_idStringYouTube video identifier.
video_titleStringTitle of the YouTube video.
video_publish_yearIntegerYear the video was published, eg., 2022.
video_num_viewsIntegerNumber of views at the time of data collection.
video_descriptionStringGenerated description of video content using a vision-language model and refined by an LLM.
Channel Information
channel_idStringIdentifier for the YouTube channel.
channel_nameStringName of the YouTube channel.

Inter-Annotator Agreement (IAA)

To assess annotation quality, a subset of 900 comments was double-annotated, exact agreement across all tasks in 546 examples and partial disagreement 354 examples.

Aggregate IAA Scores:

TaskCohen's KappaRemark
Abusiveness detection0.758Substantial agreement
Sentiment analysis0.649Substantial agreement
Topic classification0.603Moderate agreement

Gold label: Expert adjudication was used to determine the final label of the test set, enabling a gold-standard evaluation.

Croissant Metadata for TiALD Dataset

Croissant is an open, standardized metadata format designed to describe machine learning (ML) datasets. Its primary goal is to make datasets easily discoverable, interoperable, and usable across various ML tools, frameworks, and repositories without changing the underlying data files themselves.

The Croissant metadata for TiALD dataset can be found at TiALD.Croissant.json.

Intended Usage of TiALD Dataset

The dataset is solely designed to support:

  • Research in abusive language detection in low-resource languages
  • Context-aware abusiveness, sentiment, and topic modeling
  • Multi-task and transfer learning with digraphic scripts
  • Evaluation of multilingual and fine-tuned language models

Researchers and developers should avoid using this dataset for direct moderation or enforcement tasks without human oversight.

Ethical Considerations

  • Sensitive content: Contains toxic and offensive language. Use for research purposes only.
  • Cultural sensitivity: Abuse is context-dependent; annotations were made by native speakers to account for cultural nuance.
  • Bias mitigation: Data sampling and annotation were carefully designed to minimize reinforcement of stereotypes.
  • Privacy: All the source content for the dataset is publicly available on YouTube.
  • Respect for expression: The dataset should not be used for automated censorship without human review.

This research received IRB approval (Ref: KH2022-133) from Korea Advanced Institute of Science and Technology (KAIST) and followed all ethical data collection and annotation practices, including informed consent of annotators.

Evaluation and Computing Metrics

Model Predictions File Format

Before computing metrics, you need to save models predictions for one or more of the three tasks in TiALD into a JSON file.

For consistency, we recommend saving the predictions into a file with the following format:

{
"config": {
"model_name": "<unique model name>",
"test_date": "<yyyymmdd>",
"<custom-field>": "<e.g., model type, hyperparams>"
},
"abusiveness_predictions": {
"<cid>": "<Abusive | Not Abusive>"
},
"topic_predictions": {
"<cid>": "<Political | Religious | Sexist | Racial | Other>"
},
"sentiment_predictions": {
"<cid>": "<Positive | Negative | Neutral | Mixed>"
}
}

Computing Metrics

Given an exising predictions file for the samples in TiALD test set, the compute_tiald_metrics.py script can be used to compute all metrics discussed in the paper (task-level and pre-class).

Install dependencies:

pip install scikit-learn datasets

Then run the script as follows:

python compute_tiald_metrics.py \
--prediction_file <path-to-model-predictions.json> \
[--output_file <output-file-to-save-results.json>]
[--append_metrics <append metrics to the prediction file>]

The script automatically loads the TiALD dataset and computes the following metrics:

  • Accuracy for each task
  • Macro F1 scores for each task
  • Per-class precision, recall, and F1 scores

The summary of results is logged to the terminal and can optionally be saved to a detailed JSON file using the --output_file flag. The aggregate TiALD Score reported in the paper is an arthmetic mean of the task-level macro F1 scores.

Citation

If you use TiALD in your work, please cite:

@misc{gaim-etal-2025-tiald-benchmark,
title = {A Multi-Task Benchmark for Abusive Language Detection in Low-Resource Settings},
author = {Fitsum Gaim and Hoyun Song and Huije Lee and Changgeon Ko and Eui Jun Hwang and Jong C. Park},
year = {2025},
eprint = {2505.12116},
archiveprefix = {arXiv},
primaryclass = {cs.CL},
url = {https://arxiv.org/abs/2505.12116}
}

License

This dataset is released under the Creative Commons Attribution 4.0 International License (CC BY 4.0).

About

A Multi-task Benchmark for Abusive Language Detection in Tigrinya Social Media

Resources

Stars

10 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages