Skip to content
Showcase/JFLEG Fluency Rewriting for Grammatical Error Correction
beginnersurvey

JFLEG Fluency Rewriting for Grammatical Error Correction

Holistic fluency rewriting of learner-English sentences based on the JFLEG corpus (Napoles, Sakaguchi, and Tetreault, EACL 2017). Annotators edit sentences written by second-language learners of English so they sound natural and fluent to a native speaker — fixing grammar, spelling, and awkward phrasing while keeping the original wording as much as possible — and then rate how difficult each sentence was to correct on a 5-point scale.

About this dataset

JFLEG (JHU FLuency-Extended GUG) is a benchmark for grammatical error correction built by Napoles, Sakaguchi, and Tetreault and presented at EACL 2017. It departs from earlier GEC corpora by collecting holistic fluency rewrites rather than minimal edits: instead of only fixing individual grammatical mistakes, annotators rewrite each sentence so that it reads as natural, fluent English.

The source sentences come from essays written by English language learners for the TOEFL exam (the GUG corpus development and test sets). Fifty annotators from the United States, screened with a qualifying task, produced four independent corrections for each of 1,511 sentences, and additionally rated the difficulty of correcting each sentence on a 5-point scale.

The instructions ask for conservative edits — keep the original words, phrases, and structure as much as possible, do not split a sentence in two, and leave sentences unchanged when they already sound natural. This balance between fluency and conservatism is what distinguishes JFLEG-style annotation from both minimal-edit GEC and free paraphrasing.

The Potato config reproduces this workflow with the text_edit scheme, which pre-fills an editor with the learner sentence and tracks a live word-level diff and edit-distance counters as the annotator rewrites it, plus a 5-point Likert item for correction difficulty. Use it to collect fluency-edit references for GEC, post-editing, or text-simplification research.

Released
EACL 2017
Sentences
1,511 (GUG dev and test sets)
Corrections per sentence
4
Annotators
50 (qualification-screened, US-based)
Source
TOEFL essays by English learners
Mean rated difficulty
3.5 (on a 5-point scale)
Q1: Rate your experience12345Q2: Primary use case?ResearchIndustryEducationQ3: Additional feedback

Configuration Fileconfig.yaml

This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.

yaml
# JFLEG: Fluency Rewriting of Learner English
# Based on: Courtney Napoles, Keisuke Sakaguchi, and Joel Tetreault (2017),
#   "JFLEG: A Fluency Corpus and Benchmark for Grammatical Error Correction."
#   Proceedings of the 15th Conference of the European Chapter of the
#   Association for Computational Linguistics (EACL 2017), Volume 2: Short
#   Papers, pp. 229-234.
#   Paper: https://aclanthology.org/E17-2037/
#   Dataset: https://github.com/keisks/jfleg
#
# Task: rewrite a sentence written by a second-language learner of English so
# that it sounds natural and fluent to a native speaker. Unlike minimal-edit
# grammatical error correction, JFLEG collects holistic fluency rewrites that
# may rephrase awkward constructions while still staying conservative and
# preserving the original wording wherever possible. The text_edit scheme
# tracks the word- and character-level diff between the learner sentence and
# the rewrite. As in the paper, annotators also rate how difficult each
# sentence was to correct on a 5-point scale.
#
# Annotation instructions reproduced verbatim from Table 3 of the paper.

annotation_task_name: "JFLEG Fluency Rewriting"
task_dir: "."

data_files:
  - sample-data.json

item_properties:
  id_key: "id"
  text_key: "sentence"

output_annotation_dir: "annotation_output/"
output_annotation_format: "json"

port: 8000
server_name: localhost

annotation_instructions: |
  Please correct the following sentence to make it sound natural and fluent to
  a native speaker of (American) English. The sentence is written by a second
  language learner of English. You should fix grammatical mistakes, awkward
  phrases, spelling errors, etc. following standard written usage conventions,
  but your edits must be conservative. Please keep the original sentence
  (words, phrases, and structure) as much as possible. The ultimate goal of
  this task is to make the given sentence sound natural to native speakers of
  English without making unnecessary changes. Please do not split the original
  sentence into two or more. Edits are not required when the sentence is
  already grammatical and sounds natural.

annotation_schemes:
  - annotation_type: text_edit
    name: fluency_rewrite
    description: "Edit the sentence so it sounds natural and fluent to a native speaker of English"
    source_field: "sentence"
    show_diff: true
    show_edit_distance: true
    allow_reset: true

  - annotation_type: likert
    name: correction_difficulty
    description: "How difficult was this sentence to correct?"
    size: 5
    min_label: "1 - Very easy"
    max_label: "5 - Very difficult"

html_layout: |
  <div style="padding: 15px; max-width: 820px; margin: auto;">
    <div style="background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 8px; padding: 16px; margin-bottom: 8px;">
      <strong style="color: #1e40af;">Learner sentence:</strong>
      <p style="font-size: 17px; line-height: 1.6; margin: 8px 0 0 0;">{{sentence}}</p>
    </div>
    <div style="color: #6b7280; font-size: 13px;">
      Rewrite the sentence in the editor below so it sounds natural and fluent,
      keeping the original words, phrases, and structure as much as possible.
    </div>
  </div>

allow_all_users: true
instances_per_annotator: 50
annotation_per_instance: 3
allow_skip: true

Sample Datasample-data.json

json
[
  {
    "id": "jfleg_001",
    "sentence": "In my opinion, I am agree with the idea that students should working part time job during the university."
  },
  {
    "id": "jfleg_002",
    "sentence": "Last summer I have visited my grandmother house, which locate in a small village near the mountains."
  }
]

// ... and 8 more items

Get This Design

View on GitHub

Clone or download from the repository

Quick start:

git clone https://github.com/davidjurgens/potato-showcase.git
cd potato-showcase/text/education/jfleg-fluency-rewriting
potato start config.yaml

Dataset & paper

Courtney Napoles, Keisuke Sakaguchi, and Joel Tetreault. 2017. JFLEG: A Fluency Corpus and Benchmark for Grammatical Error Correction. In Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 2, Short Papers, pages 229-234.

Citation (BibTeX)

bibtex
@inproceedings{napoles-etal-2017-jfleg,
    title = "{JFLEG}: A Fluency Corpus and Benchmark for Grammatical Error Correction",
    author = "Napoles, Courtney  and
      Sakaguchi, Keisuke  and
      Tetreault, Joel",
    editor = "Lapata, Mirella  and
      Blunsom, Phil  and
      Koller, Alexander",
    booktitle = "Proceedings of the 15th Conference of the {E}uropean Chapter of the Association for Computational Linguistics: Volume 2, Short Papers",
    month = apr,
    year = "2017",
    address = "Valencia, Spain",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/E17-2037/",
    pages = "229--234"
}

Details

Annotation Types

text_editlikert

Domain

NLPEducationGrammatical Error Correction

Use Cases

Grammatical Error CorrectionFluency EditingLanguage Learning

Tags

grammatical-error-correctionfluencytext-editinglearner-englishpost-editingJFLEG

Found an issue or want to improve this design?

Open an Issue