aurorra/synthetic-real-word-errors

Dataset

Synthetic Real-Word Error Datasets

0

6 commits

1 linked in READMEs

updated Sep 10, 2026

See the code

README

Synthetic Real-Word Error Datasets

This repository contains synthetic German data for grammatical error detection and correction, with a focus on context-dependent real-word errors.

The repository provides four subsets:

SubsetDescriptionExamples
mixed_real_wordMixed real-word errors99,812
capitalizationCapitalization errors99,664
caseCase errors99,706
verbVerb errors99,780

Each subset contains both erroneous and correct sentences and can therefore be used for sentence-level grammatical error detection. The sentence and correction fields also allow the data to be used for grammatical error correction.

Dataset Structure

Each subset contains the following columns:

  • sentence: input sentence, which may contain an error
  • correction: corresponding corrected sentence
  • label: binary grammatical-error-detection label
  • before: erroneous word form from the original proofreading correction pair
  • after: corrected word form from the original proofreading correction pair

For grammatical error detection, label = 1 denotes an erroneous sentence and label = 0 a correct sentence.

Data Preparation

The original experimental datasets contained 100,000 examples per error category and were divided into training, validation, and test sets.

For this public release, the original splits were combined into a single dataset for each error category. No predefined train/validation/test split is provided, allowing users to construct splits appropriate for their experimental setting.

Exact duplicate examples were removed after combining the original splits. Duplicates were defined as rows that were identical across all remaining fields (sentence, correction, label, before, and after).

SubsetOriginal rowsExact duplicates removedReleased rows
Capitalization100,00033699,664
Case100,00029499,706
Mixed real-word100,00018899,812
Verb100,00022099,780

Different erroneous variants derived from the same corrected sentence are retained, as they constitute distinct synthetic examples.

Dataset Creation

The source sentences were obtained from German Wikipedia. Synthetic real-word errors were introduced by replacing corrected word forms with their corresponding erroneous forms (after → before), using word-level correction pairs derived from a real-world professional proofreading dataset. The original sentences from the proofreading dataset are not included in this repository.

The Wikipedia sentences were modified as part of the synthetic error generation process.

The generation methodology, error categories, and experimental setup are described in:

Masanti, C., Witschel, H.-F., & Riesen, K. (2026). Enhancing language models with boosting and targeted fine-tuning for real-word error detection. Natural Language Processing Journal, 14, 100202.
https://doi.org/10.1016/j.nlp.2026.100202

The real-world proofreading dataset from which the word-level error patterns were derived is described in:

Masanti, C., Witschel, H. F., & Riesen, K. (2023). Novel Benchmark Data Set for Automatic Error Detection and Correction. In Proceedings of NLDB 2023, pp. 511–521.
https://doi.org/10.1007/978-3-031-35320-8_38

Loading the Dataset

The individual subsets can be loaded with the Hugging Face datasets library:

from datasets import load_dataset

dataset = load_dataset(
    "aurorra/synthetic-real-word-errors",
    "capitalization"
)

Available configurations are:

  • mixed_real_word
  • capitalization
  • case
  • verb

The mixed_real_word subset is used as the default configuration.

Citation

If you use this dataset, please cite:

@article{masanti2026enhancing,
  title={Enhancing language models with boosting and targeted fine-tuning for real-word error detection},
  author={Masanti, Corina and Witschel, Hans-Friedrich and Riesen, Kaspar},
  journal={Natural Language Processing Journal},
  volume={14},
  pages={100202},
  year={2026},
  doi={10.1016/j.nlp.2026.100202}
}

For the real-world proofreading dataset from which the word-level error patterns were derived, please also cite:

@inproceedings{masanti2023novel,
  title={Novel Benchmark Data Set for Automatic Error Detection and Correction},
  author={Masanti, Corina and Witschel, Hans Friedrich and Riesen, Kaspar},
  booktitle={Natural Language Processing and Information Systems},
  pages={511--521},
  year={2023},
  doi={10.1007/978-3-031-35320-8_38}
}

german
grammatical-error-correction
grammatical-error-detection
real-word-errors
synthetic-data

aurorra/synthetic-real-word-errors

Dataset

Synthetic Real-Word Error Datasets

0

6 commits

1 linked in READMEs

updated Sep 10, 2026

See the code

README

Synthetic Real-Word Error Datasets

This repository contains synthetic German data for grammatical error detection and correction, with a focus on context-dependent real-word errors.

The repository provides four subsets:

SubsetDescriptionExamples
mixed_real_wordMixed real-word errors99,812
capitalizationCapitalization errors99,664
caseCase errors99,706
verbVerb errors99,780

Each subset contains both erroneous and correct sentences and can therefore be used for sentence-level grammatical error detection. The sentence and correction fields also allow the data to be used for grammatical error correction.

Dataset Structure

Each subset contains the following columns:

  • sentence: input sentence, which may contain an error
  • correction: corresponding corrected sentence
  • label: binary grammatical-error-detection label
  • before: erroneous word form from the original proofreading correction pair
  • after: corrected word form from the original proofreading correction pair

For grammatical error detection, label = 1 denotes an erroneous sentence and label = 0 a correct sentence.

Data Preparation

The original experimental datasets contained 100,000 examples per error category and were divided into training, validation, and test sets.

For this public release, the original splits were combined into a single dataset for each error category. No predefined train/validation/test split is provided, allowing users to construct splits appropriate for their experimental setting.

Exact duplicate examples were removed after combining the original splits. Duplicates were defined as rows that were identical across all remaining fields (sentence, correction, label, before, and after).

SubsetOriginal rowsExact duplicates removedReleased rows
Capitalization100,00033699,664
Case100,00029499,706
Mixed real-word100,00018899,812
Verb100,00022099,780

Different erroneous variants derived from the same corrected sentence are retained, as they constitute distinct synthetic examples.

Dataset Creation

The source sentences were obtained from German Wikipedia. Synthetic real-word errors were introduced by replacing corrected word forms with their corresponding erroneous forms (after → before), using word-level correction pairs derived from a real-world professional proofreading dataset. The original sentences from the proofreading dataset are not included in this repository.

The Wikipedia sentences were modified as part of the synthetic error generation process.

The generation methodology, error categories, and experimental setup are described in:

Masanti, C., Witschel, H.-F., & Riesen, K. (2026). Enhancing language models with boosting and targeted fine-tuning for real-word error detection. Natural Language Processing Journal, 14, 100202.
https://doi.org/10.1016/j.nlp.2026.100202

The real-world proofreading dataset from which the word-level error patterns were derived is described in:

Masanti, C., Witschel, H. F., & Riesen, K. (2023). Novel Benchmark Data Set for Automatic Error Detection and Correction. In Proceedings of NLDB 2023, pp. 511–521.
https://doi.org/10.1007/978-3-031-35320-8_38

Loading the Dataset

The individual subsets can be loaded with the Hugging Face datasets library:

from datasets import load_dataset

dataset = load_dataset(
    "aurorra/synthetic-real-word-errors",
    "capitalization"
)

Available configurations are:

  • mixed_real_word
  • capitalization
  • case
  • verb

The mixed_real_word subset is used as the default configuration.

Citation

If you use this dataset, please cite:

@article{masanti2026enhancing,
  title={Enhancing language models with boosting and targeted fine-tuning for real-word error detection},
  author={Masanti, Corina and Witschel, Hans-Friedrich and Riesen, Kaspar},
  journal={Natural Language Processing Journal},
  volume={14},
  pages={100202},
  year={2026},
  doi={10.1016/j.nlp.2026.100202}
}

For the real-world proofreading dataset from which the word-level error patterns were derived, please also cite:

@inproceedings{masanti2023novel,
  title={Novel Benchmark Data Set for Automatic Error Detection and Correction},
  author={Masanti, Corina and Witschel, Hans Friedrich and Riesen, Kaspar},
  booktitle={Natural Language Processing and Information Systems},
  pages={511--521},
  year={2023},
  doi={10.1007/978-3-031-35320-8_38}
}

german
grammatical-error-correction
grammatical-error-detection
real-word-errors
synthetic-data