Difficulty-Controllable Cloze Question Distractor Generation

Seokhoon Kang, Yejin Jeon, Seonjeong Hwang, Gary Geunbae Lee
11/3/2025
cs.CL

No official code found. Best implementation: ksh108405/DCDG (0 stars, MIT, last commit 2025-10-05).

Abstract

Multiple-choice cloze questions are commonly used to assess linguistic proficiency and comprehension. However, generating high-quality distractors remains challenging, as existing methods often lack adaptability and control over difficulty levels, and the absence of difficulty-annotated datasets further hinders progress. To address these issues, we propose a novel framework for generating distractors with controllable difficulty by leveraging both data augmentation and a multitask learning strategy. First, to create a high-quality, difficulty-annotated dataset, we introduce a two-way distractor generation process in order to produce diverse and plausible distractors. These candidates are subsequently refined through filtering and then categorized by difficulty using an ensemble QA system. Second, this newly created dataset is leveraged to train a difficulty-controllable generation model via multitask learning. The framework includes carefully designed auxiliary tasks that enhance the model's semantic understanding of distractors and its ability to estimate their difficulty. Experimental results demonstrate that our method generates high-quality distractors across difficulty levels and substantially outperforms GPT-4o in aligning distractor difficulty with human perception.

View on arXivView PDF

Code Implementations(1)

ksh108405/DCDGCommunity58%
MIT

An official release of dataset and model for paper "Difficulty-Controllable Cloze Question Distractor Generation"

00PythonMay 4, 20251 years agoMIT

Similar Papers

Cite this paper

@article{kang2025difficultycontrollable,
  title  = {Difficulty-Controllable Cloze Question Distractor Generation},
  author = {Seokhoon Kang and Yejin Jeon and Seonjeong Hwang and Gary Geunbae Lee},
  year   = {2025},
  eprint = {2511.01526},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2511.01526v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2511.01526.svg)](https://codeofpaper.com/paper/2511.01526)

Discussion