CoolFace
Datasetpublic

Maathis-com/ohada-ccja-corpus

OHADA-CCJA Court Decisions Corpus Dataset Description A curated corpus of 4,059 court decisions from the Cour Commune de Justice et d'Arbitrage (CCJA), the supranational court of the Organisation pour l'Harmonisation en Afrique du Droit des Affaires (OHADA). OHADA harmonizes business law across 17 African member states: Benin, Burkina Faso, Cameroon, Central African Republic, Chad, Comoros, Democratic Republic of Congo, Republic of Congo, Côte d'Ivoire, Equatorial… See the full description on the dataset page: https://huggingface.co/datasets/Maathis-com/ohada-ccja-corpus.

sourceHugging Facecc-by-4.0updated 6mo agoView on Hugging Face
0likes121downloads
Dataset Card

OHADA-CCJA Court Decisions Corpus

Dataset Description

A curated corpus of 4,059 court decisions from the Cour Commune de Justice et d'Arbitrage (CCJA), the supranational court of the Organisation pour l'Harmonisation en Afrique du Droit des Affaires (OHADA). OHADA harmonizes business law across 17 African member states: Benin, Burkina Faso, Cameroon, Central African Republic, Chad, Comoros, Democratic Republic of Congo, Republic of Congo, Côte d'Ivoire, Equatorial Guinea, Gabon, Guinea, Guinea-Bissau, Mali, Niger, Senegal, and Togo.

This dataset provides structured access to CCJA jurisprudence spanning over two decades (1997–2023), making it a unique resource for African legal NLP research.

Why This Dataset Matters

Legal NLP is a rapidly growing field, yet virtually all existing benchmarks and datasets focus on Common Law (US, UK) or EU/Continental European legal systems. African legal systems — and in particular pan-African harmonized law — are entirely absent from the research landscape. This dataset addresses that gap by providing:

  • —The first structured, ML-ready corpus of OHADA CCJA decisions in any language
  • —Rich annotation layers — not just full text, but separately extracted dispute summaries, judicial reasoning, rulings, legal domain labels, and cited articles
  • —Pan-African geographic coverage — cases involving parties and disputes from all 17 OHADA member states
  • —Temporal depth — decisions spanning from 1997 to 2023, enabling longitudinal legal analysis

Supported Tasks

TaskInputTargetMetric
Legal domain classificationfull_text or dispute_summarylegal_domain (16 classes)F1-macro
Legal judgment summarizationfull_textruling or dispute_summaryROUGE-L
Legal reasoning extractiondispute_summary + rulingreasoningROUGE-L, BERTScore
Legal NERfull_textParties, jurisdictions, legal articlesEntity-level F1
Cited article predictionfull_text or dispute_summaryarticles_citedRecall@k

Languages

French (fr) — the working language of the OHADA CCJA.

Dataset Structure

Data Fields

FieldTypeDescriptionCompleteness
case_idstringUnique identifier (e.g., OHADA-CCJA-00001)100%
case_numberstringOfficial case number (Numéro d'arrêt)94.8%
datedateDate of the decision (ISO 8601)95.3%
yearintYear extracted from date95.3%
legal_domainstringArea of OHADA law99.8%
case_typestringSubject matter (e.g., Saisie immobilière)90.5%
jurisdictionstringCourt (CCJA)100%
formationstringChamber (Première/Deuxième/Troisième chambre)1.0%
plaintiffstringName(s) of the plaintiff(s)86.9%
defendantstringName(s) of the defendant(s)85.6%
articles_citedstringLegal articles referenced in the decision85.4%
dispute_summarystringSummary of the dispute (Exposé du litige)99.8%
reasoningstringCourt's reasoning (Motif)27.1%
rulingstringFinal ruling (Dispositif)99.8%
full_textstringComplete text of the decision100%
sourcestringProvenance: file1, file2, or both100%

Note on field completeness: This dataset was compiled from two complementary sources with different annotation depths. The "reasoning" field (court's motif) is available for approximately 1,100 cases from Source 1. The "articles_cited", "plaintiff", and "defendant" fields are primarily available from Source 2 (approximately 3,500 cases). The "source" column indicates provenance, allowing researchers to filter for task-specific subsets. See "Source Data" below.

Data Splits

SplitCasesPurpose
train2,841Model training
validation609Hyperparameter tuning
test609Final evaluation

Splits are stratified by legal_domain to preserve class proportions across all splits.

Legal Domain Distribution

The legal_domain field covers 16 categories across the major branches of OHADA harmonized law:

Legal DomainCount%
Droit des voies d'exécution (Enforcement law)2,14452.8%
Droit des sociétés commerciales et GIE (Commercial companies)47911.8%
Droit commercial général (General commercial law)42810.5%
Droit des procédures collectives (Insolvency)2566.3%
Droit des sûretés (Securities law)1954.8%
Règlement de procédure de la CCJA (CCJA procedural rules)1884.6%
Droit des sociétés coopératives (Cooperative law)1553.8%
Droit de l'arbitrage (Arbitration law)1363.4%
Droit des contrats de transport par route (Road transport contracts)411.0%
Droit des contrats (Contract law)130.3%
Droit des assurances (Insurance law)80.2%
Other rare categories160.4%

Dataset Creation

Source Data

The corpus was compiled from two complementary sources of publicly available CCJA decisions:

  • —Source 1 (1,115 unique cases after deduplication): Decisions with extracted judicial reasoning (reasoning/motif), dispute summaries, and rulings. These are typically original court decision texts scraped from OHADA legal databases.
  • —Source 2 (3,642 unique cases after deduplication from 10,410 raw records): Decisions with cited legal articles (articles_cited), detailed party names (plaintiff/defendant), and descriptive case type labels (case_type). These include annotated case analyses with structured metadata.

548 cases were present in both sources and were merged to combine the richest available annotations. The final dataset contains 4,059 unique cases.

Field availability by source:

FieldSource 1 only (`file1`)Source 2 only (`file2`)Merged (`both`)
reasoning✅❌✅
articles_cited❌✅✅
plaintiff / defendantSparse (~3%)✅ (~95%)✅
case_type (descriptive)Generic✅ Descriptive✅ Descriptive
dispute_summary✅✅✅ (best of both)
ruling✅✅✅ (best of both)

Preprocessing

  1. 1.Deduplication: Content-hash-based deduplication removed 6,768 duplicates from Source 2 and 33 from Source 1, plus 3 cross-source duplicates
  2. 2.Label normalization: Spelling and accent variants in legal_domain were harmonized (e.g., "suretés" → "sûretés"), reducing from 18 raw labels to 16 clean categories
  3. 3.Date parsing: Dates converted from mixed formats (dd/mm/yyyy and French text like "27 avril 2015") to ISO 8601. A small number of implausible dates (pre-1995 or post-2024) resulting from parsing errors were set to null
  4. 4.Schema unification: Columns standardized to English names with consistent types
  5. 5.Cross-source merge: For the 548 overlapping cases, the most complete value for each field was retained using a coalesce strategy (e.g., reasoning from Source 1, articles_cited from Source 2, plaintiff/defendant preferring Source 2 where populated)

Ethical Considerations

  • —Public records: All CCJA decisions are matters of public record, publicly accessible through official OHADA channels
  • —Party names: Names of litigants appear as published in official court records. Researchers working with this data should consider whether their downstream applications require further anonymization
  • —Jurisdictional scope: OHADA law governs business disputes; this corpus does not contain criminal cases or cases involving minors
  • —Class imbalance: The corpus reflects the CCJA's actual caseload, which skews toward enforcement law (~53%) and commercial disputes. This distribution mirrors real litigation patterns but may not represent the full breadth of legal issues in OHADA member states. Researchers should account for this imbalance in model training and evaluation

Licensing

This dataset is released under CC-BY-4.0. OHADA court decisions are public legal documents. The added value of this dataset lies in its structuring, cleaning, annotation, and packaging for ML research.

Usage

Loading with HuggingFace Datasets

python
from datasets import load_dataset

dataset = load_dataset("Maathis-com/ohada-ccja-corpus")

# Access splits
train = dataset["train"]
print(f"Training examples: {len(train)}")
print(train[0])

Example: Legal Domain Classification

python
from datasets import load_dataset

dataset = load_dataset("Maathis-com/ohada-ccja-corpus")

# Use dispute_summary as input, legal_domain as label
train_texts = dataset["train"]["dispute_summary"]
train_labels = dataset["train"]["legal_domain"]

Example: Filter for Cases with Court Reasoning

python
# ~1,100 cases have the court's reasoning (motif)
reasoning_subset = dataset["train"].filter(lambda x: x["reasoning"] is not None)
print(f"Cases with reasoning: {len(reasoning_subset)}")

Example: Filter for Cases with Cited Articles

python
# ~3,500 cases have cited legal articles
articles_subset = dataset["train"].filter(lambda x: x["articles_cited"] is not None)
print(f"Cases with cited articles: {len(articles_subset)}")

Example: Full-Feature Subset (Merged Cases)

python
# 546 cases have ALL fields populated (from both sources)
full_subset = dataset["train"].filter(lambda x: x["source"] == "both")
print(f"Cases with all fields: {len(full_subset)}")

Citation

If you use this dataset in your research, please cite:

bibtex
@dataset{ohada_ccja_corpus_2026,
  title={OHADA-CCJA Court Decisions Corpus: A Dataset for African Legal NLP},
  author={Foutse Yuehgoh, Priyanka N, Patrick NGUETCHOUESSI},
  year={2026},
  url={https://huggingface.co/datasets/Maathis-com/ohada-ccja-corpus},
  note={Submitted at Deep Learning Indaba 2026, Nigeria}
}

Contact

For questions about this dataset, please contact the dataset creator or open an issue on the HuggingFace repository.