CoolFace
Datasetpublic

chillies/ielts-writing-task2-essays

๐Ÿ“š IELTS Writing Task 2 Essays & Feedback Dataset (Writing9) Dataset Summary This dataset contains 8,000+ real IELTS Writing Task 2 essays crawled from Writing9. It covers 128 real IELTS exam questions categorized into 25 topics (such as Art, Business, Education, Technology, Environment, Government, Health, etc.). Each record includes: essay_id: Unique identifier on Writing9 topic: Topic category (e.g. Art, Business and Companies, Cities) question: Cleaned IELTSโ€ฆ See the full description on the dataset page: https://huggingface.co/datasets/chillies/ielts-writing-task2-essays.

sourceHugging Facecc-by-4.0updated 2mo agoView on Hugging Face
3likes227downloads
Dataset Card

๐Ÿ“š IELTS Writing Task 2 Essays & Feedback Dataset (Writing9)

Dataset Summary

This dataset contains 8,000+ real IELTS Writing Task 2 essays crawled from Writing9. It covers 128 real IELTS exam questions categorized into 25 topics (such as Art, Business, Education, Technology, Environment, Government, Health, etc.).

Each record includes:

  • โ€”essay_id: Unique identifier on Writing9
  • โ€”topic: Topic category (e.g. Art, Business and Companies, Cities)
  • โ€”question: Cleaned IELTS Writing Task 2 question prompt
  • โ€”essay_text: Full body text of the submitted IELTS essay
  • โ€”gpt_advices: Recommendations & feedback for improvement
  • โ€”gpt_positive_highlights: Positive highlights of the essay
  • โ€”overall_band: Overall IELTS band score (e.g. 6.0, 7.5)
  • โ€”task_achievement_band: Task Achievement sub-score
  • โ€”coherence_cohesion_band: Coherence & Cohesion sub-score
  • โ€”lexical_resource_band: Lexical Resource sub-score
  • โ€”grammatical_range_band: Grammatical Range & Accuracy sub-score

๐ŸŽฏ Intended Use Cases

  1. 1.Automated Essay Evaluation & Feedback: Train or fine-tune LLMs (e.g. Llama 3, Qwen 2.5, Mistral) to evaluate IELTS essays and generate constructive feedback.
  2. 2.Essay Classification & Retrieval: Classify essays by topic or retrieve prompts and sample student responses.
  3. 3.NLP for Education: Building writing assistant tools for IELTS learners.

๐Ÿ“‚ Dataset Structure

Data Instance Example

json
{
  "essay_id": "66abd675d091c90011b44e19",
  "topic": "Art",
  "question": "In many countries, people now wear western clothes such as suits and jeans rather than traditional clothing. Why is this the case? Is this a positive or negative development?",
  "essay_text": "In some nations, individuals tend to use Western-style attire instead of traditional dress. In my opinion, this a result of globalization...",
  "gpt_advices": [
    "To improve coherence and cohesion, ensure that your ideas flow logically and are connected with appropriate linking words."
  ],
  "gpt_positive_highlights": [
    "Your essay addresses the task and discusses the reasons behind the shift to Western clothing."
  ],
  "overall_band": 6.0,
  "task_achievement_band": 6,
  "coherence_cohesion_band": 6,
  "lexical_resource_band": 6,
  "grammatical_range_band": 6
}

Data Fields

Field NameTypeDescription
essay_idstringUnique identifier of the essay on Writing9
topicstringCategory topic (e.g. Art, Business and Companies, Cities, Technology)
questionstringCleaned IELTS Writing Task 2 question prompt
essay_textstringFull body text of the submitted IELTS essay
gpt_adviceslist[string]Actionable recommendations for improvement
gpt_positive_highlightslist[string]Positive highlights of well-executed aspects
overall_bandfloatOverall IELTS band score (e.g. 6.0, 7.5)
task_achievement_bandfloatTask Achievement criterion sub-score
coherence_cohesion_bandfloatCoherence & Cohesion criterion sub-score
lexical_resource_bandfloatLexical Resource criterion sub-score
grammatical_range_bandfloatGrammatical Range & Accuracy criterion sub-score

โšก How to Load in Python

Using Hugging Face datasets:

python
from datasets import load_dataset

# Load dataset directly from Hugging Face Hub
dataset = load_dataset("chillies/ielts-writing-task2-essays")

# Inspect the dataset
print(dataset)
print(dataset["train"][0])

Using pandas:

python
import pandas as pd

# Load JSONL directly
df = pd.read_json("writing9_ielts_dataset_processed.jsonl", lines=True)

print(df.head())

๐Ÿ› ๏ธ Collection & Preprocessing Methodology

  • โ€”Source: Public essay collection from Writing9.
  • โ€”Questions: 128 Real IELTS Essay prompts sourced from official topics.
  • โ€”Preprocessing: Exact match deduplication on content, normalization of line endings (\r\n -> \n), removal of ultra-short/spam submissions (<15 words).

๐Ÿ“œ License

  • โ€”License: CC-BY-4.0
  • โ€”Please credit the source site Writing9.