mixqg-qg-eval
MixQG: Neural Question Generation with Mixed Answer Types — Murakhovs'ka et al. (2021) (arXiv:2110.08175, 2021)
What this evaluates
Evaluates a neural question generation model's ability to produce fluent, relevant questions conditioned on a target answer and context. It probes both automatic n-gram/embedding-based similarity metrics and human-rated utility for educational quiz creation.
Datasets
- SQuAD — total ?; splits: train (-1), dev (-1)
- NQ — total ?; splits: train (-1), dev (-1)
- Quoref — total ?; splits: train (-1), test (-1)
- DROP — total ?; splits: train (-1), dev (-1)
Metrics
question approval rate (primary) — range: percent
- Percentage of generated questions approved by human teachers for inclusion in a quiz, calculated as approved_count / total_generated_questions.
BLEU — range: [0, 1]
- Standard n-gram precision metric with brevity penalty, measuring lexical overlap between generated and reference questions.
ROUGE — range: [0, 1]
- Recall-oriented n-gram overlap metric (typically ROUGE-L or ROUGE-1/2), measuring how much reference text is covered by the generation.
METEOR — range: [0, 1]
- Metric that aligns generated and reference words using synonymy and stemming, combining precision and recall with a penalty for fragmentation.
BERTScore — range: [0, 1]
- Computes cosine similarity between contextual embeddings of generated and reference tokens, then aggregates precision, recall, and F1 scores.
Input / output format
Input: Context (e.g., Wikipedia article or sentence) and a target answer (quiz concept or answer span).
Output: A single generated question string.
Scoring recipe
def score(predictions, golds, human_approvals=None):
scores = {}
scores['BLEU'] = compute_bleu(predictions, golds)
scores['ROUGE'] = compute_rouge(predictions, golds)
scores['METEOR'] = compute_meteor(predictions, golds)
scores['BERTScore'] = compute_bertscore(predictions, golds)
if human_approvals is not None:
approved = sum(1 for a in human_approvals if a)
scores['question approval rate'] = (approved / len(predictions)) * 100
return scores
Common pitfalls
- n-gram based metrics (BLEU/ROUGE) may not correlate well with human judgments of question quality and fluency.
- Models trained solely on a target dataset can outperform joint-trained models in zero-shot settings, but fine-tuning the joint model yields the best overall performance.
- Human evaluation requires teachers to explicitly select a quiz concept (target answer) from the context to ensure generated questions match the intended answer specificity.
Evidence (verbatim from paper)
We report the commonly-used metrics applied in the QG research: BLEU, ROUGE, and METEOR scores. We also report BERTScore, which relies on contextual embeddings to produce the final score. The success of a QG model depends on its question approval rate. We compare seven QG models and collect 3,164 human-annotated samples from 10 recruited teachers. Teachers can then approve a generated question to be included on the quiz or reject it and provide a reason for rejection.
Citation
@misc{murakhovska2021mixqg,
title={MixQG: Neural Question Generation with Mixed Answer Types},
author={Murakhovs'ka et al. (2021)},
year={2021},
note={arXiv:2110.08175}
}
1---2name: mixqg-qg-eval3description: Evaluates a neural question generation model's ability to produce fluent, relevant questions conditioned on a target answer and context. It probes both automatic n-gram/embedding-based similarity metrics and human-rated utility for educational quiz creation. Use when the user wants to benchmark on SQuAD, NQ, Quoref, DROP, or asks about evaluating this task. Reports question approval rate.4---56# mixqg-qg-eval78> MixQG: Neural Question Generation with Mixed Answer Types — Murakhovs'ka et al. (2021) (arXiv:2110.08175, 2021)910## What this evaluates1112Evaluates a neural question generation model's ability to produce fluent, relevant questions conditioned on a target answer and context. It probes both automatic n-gram/embedding-based similarity metrics and human-rated utility for educational quiz creation.1314## Datasets1516- **SQuAD** — total ?; splits: train (-1), dev (-1)17- **NQ** — total ?; splits: train (-1), dev (-1)18- **Quoref** — total ?; splits: train (-1), test (-1)19- **DROP** — total ?; splits: train (-1), dev (-1)2021## Metrics2223- `question approval rate` **(primary)** — range: percent24 - Percentage of generated questions approved by human teachers for inclusion in a quiz, calculated as approved_count / total_generated_questions.25- `BLEU` — range: [0, 1]26 - Standard n-gram precision metric with brevity penalty, measuring lexical overlap between generated and reference questions.27- `ROUGE` — range: [0, 1]28 - Recall-oriented n-gram overlap metric (typically ROUGE-L or ROUGE-1/2), measuring how much reference text is covered by the generation.29- `METEOR` — range: [0, 1]30 - Metric that aligns generated and reference words using synonymy and stemming, combining precision and recall with a penalty for fragmentation.31- `BERTScore` — range: [0, 1]32 - Computes cosine similarity between contextual embeddings of generated and reference tokens, then aggregates precision, recall, and F1 scores.3334## Input / output format3536**Input**: Context (e.g., Wikipedia article or sentence) and a target answer (quiz concept or answer span).3738**Output**: A single generated question string.3940## Scoring recipe4142```python43def score(predictions, golds, human_approvals=None):44 scores = {}45 scores['BLEU'] = compute_bleu(predictions, golds)46 scores['ROUGE'] = compute_rouge(predictions, golds)47 scores['METEOR'] = compute_meteor(predictions, golds)48 scores['BERTScore'] = compute_bertscore(predictions, golds)49 if human_approvals is not None:50 approved = sum(1 for a in human_approvals if a)51 scores['question approval rate'] = (approved / len(predictions)) * 10052 return scores53```5455## Common pitfalls5657- n-gram based metrics (BLEU/ROUGE) may not correlate well with human judgments of question quality and fluency.58- Models trained solely on a target dataset can outperform joint-trained models in zero-shot settings, but fine-tuning the joint model yields the best overall performance.59- Human evaluation requires teachers to explicitly select a quiz concept (target answer) from the context to ensure generated questions match the intended answer specificity.6061## Evidence (verbatim from paper)6263> We report the commonly-used metrics applied in the QG research: BLEU, ROUGE, and METEOR scores. We also report BERTScore, which relies on contextual embeddings to produce the final score. The success of a QG model depends on its question approval rate. We compare seven QG models and collect 3,164 human-annotated samples from 10 recruited teachers. Teachers can then approve a generated question to be included on the quiz or reject it and provide a reason for rejection.6465## Citation6667```bibtex68@misc{murakhovska2021mixqg,69 title={MixQG: Neural Question Generation with Mixed Answer Types},70 author={Murakhovs'ka et al. (2021)},71 year={2021},72 note={arXiv:2110.08175}73}74```7576- arXiv: 2110.08175