chatqa-conversational-qa-eval
ChatQA: Surpassing GPT-4 on Conversational QA and RAG — Liu et al. (2024) (arXiv:2401.10225, 2024)
What this evaluates
Evaluates multi-turn conversational question answering over both long and short documents, including text-only and tabular contexts. It probes a model's ability to retrieve relevant context, handle topic switching, perform arithmetic reasoning, and correctly identify unanswerable queries.
Datasets
- Doc2Dial — total ?; splits: test (-1)
- QuAC — total ?; splits: test (-1)
- QReCC — total ?; splits: test (-1)
- TopiOCQA — total ?; splits: test (-1)
- INSCIT — total ?; splits: test (-1)
- CoQA — total ?; splits: test (-1)
- DoQA — total ?; splits: test (-1)
- ConvFinQA — total ?; splits: test (-1)
- SQA — total ?; splits: test (-1)
- HybridDial — total ?; splits: test (-1)
Metrics
Average F1/EM across 10 datasets (primary) — range: percent
- The arithmetic mean of per-dataset scores. F1 score is used for 9 datasets, while Exact Match is used for ConvFinQA. For ConvFinQA, if the model outputs an arithmetic formula, its result is computed via a calculator before comparing to the gold answer. Scores are reported on a 0-100 scale.
Input / output format
Input: Multi-turn conversational dialogue history with a user query. For long-document datasets, the input is augmented with top-5 or top-20 retrieved document chunks. For short-document datasets, the full document (text or table) is provided directly.
Output: A natural language answer to the user's query, or a statement indicating the query is unanswerable.
Scoring recipe
def evaluate(dataset_name, predictions, golds):
if dataset_name == 'ConvFinQA':
# Exact match or evaluate generated arithmetic formula
return exact_match(predictions, golds)
else:
return f1_score(predictions, golds)
# Compute per-dataset score
scores = [evaluate(ds, preds[ds], golds[ds]) for ds in DATASETS]
# Headline metric is the average across all 10 datasets
final_metric = sum(scores) / len(scores)
Common pitfalls
- ConvFinQA requires Exact Match instead of F1, and mandates evaluating any generated arithmetic formulas via a calculator before comparison.
- Long-document datasets require consistent chunking (~300 words) and top-k retrieval; failing to use the same retrieved chunks for all baselines breaks fair comparison.
- TopiOCQA and INSCIT use original document segmentation rather than the ~300-word chunking applied to Doc2Dial, QuAC, and QReCC.
Evidence (verbatim from paper)
Given that F1 score is the most commonly used automatic metric to assess QA models, we use it for all datasets except for ConvFinQA. In ConvFinQA, we follow Chen et al. (2022a) to use exact match metric since the answers in ConvFinQA are about extracting numbers from documents as well as arithmetic calculations. Hence, the answer only makes sense when it is exactly the same as the answer. When models generate the arithmetic formula, we will calculate its final result based on a calculator and compare it with the gold answer.
Citation
@misc{liu2024chatqa,
title={ChatQA: Surpassing GPT-4 on Conversational QA and RAG},
author={Liu et al. (2024)},
year={2024},
note={arXiv:2401.10225}
}
1---2name: chatqa-conversational-qa-eval3description: Evaluates multi-turn conversational question answering over both long and short documents, including text-only and tabular contexts. It probes a model's ability to retrieve relevant context, handle topic switching, perform arithmetic reasoning, and correctly identify unanswerable queries. Use when the user wants to benchmark on Doc2Dial, QuAC, QReCC, TopiOCQA, INSCIT, CoQA, DoQA, ConvFinQA, SQA, HybridDial, or asks about evaluating this task. Reports Average F1/EM across 10 datasets.4---56# chatqa-conversational-qa-eval78> ChatQA: Surpassing GPT-4 on Conversational QA and RAG — Liu et al. (2024) (arXiv:2401.10225, 2024)910## What this evaluates1112Evaluates multi-turn conversational question answering over both long and short documents, including text-only and tabular contexts. It probes a model's ability to retrieve relevant context, handle topic switching, perform arithmetic reasoning, and correctly identify unanswerable queries.1314## Datasets1516- **Doc2Dial** — total ?; splits: test (-1)17- **QuAC** — total ?; splits: test (-1)18- **QReCC** — total ?; splits: test (-1)19- **TopiOCQA** — total ?; splits: test (-1)20- **INSCIT** — total ?; splits: test (-1)21- **CoQA** — total ?; splits: test (-1)22- **DoQA** — total ?; splits: test (-1)23- **ConvFinQA** — total ?; splits: test (-1)24- **SQA** — total ?; splits: test (-1)25- **HybridDial** — total ?; splits: test (-1)2627## Metrics2829- `Average F1/EM across 10 datasets` **(primary)** — range: percent30 - The arithmetic mean of per-dataset scores. F1 score is used for 9 datasets, while Exact Match is used for ConvFinQA. For ConvFinQA, if the model outputs an arithmetic formula, its result is computed via a calculator before comparing to the gold answer. Scores are reported on a 0-100 scale.3132## Input / output format3334**Input**: Multi-turn conversational dialogue history with a user query. For long-document datasets, the input is augmented with top-5 or top-20 retrieved document chunks. For short-document datasets, the full document (text or table) is provided directly.3536**Output**: A natural language answer to the user's query, or a statement indicating the query is unanswerable.3738## Scoring recipe3940```python41def evaluate(dataset_name, predictions, golds):42 if dataset_name == 'ConvFinQA':43 # Exact match or evaluate generated arithmetic formula44 return exact_match(predictions, golds)45 else:46 return f1_score(predictions, golds)4748# Compute per-dataset score49scores = [evaluate(ds, preds[ds], golds[ds]) for ds in DATASETS]50# Headline metric is the average across all 10 datasets51final_metric = sum(scores) / len(scores)52```5354## Common pitfalls5556- ConvFinQA requires Exact Match instead of F1, and mandates evaluating any generated arithmetic formulas via a calculator before comparison.57- Long-document datasets require consistent chunking (~300 words) and top-k retrieval; failing to use the same retrieved chunks for all baselines breaks fair comparison.58- TopiOCQA and INSCIT use original document segmentation rather than the ~300-word chunking applied to Doc2Dial, QuAC, and QReCC.5960## Evidence (verbatim from paper)6162> Given that F1 score is the most commonly used automatic metric to assess QA models, we use it for all datasets except for ConvFinQA. In ConvFinQA, we follow Chen et al. (2022a) to use exact match metric since the answers in ConvFinQA are about extracting numbers from documents as well as arithmetic calculations. Hence, the answer only makes sense when it is exactly the same as the answer. When models generate the arithmetic formula, we will calculate its final result based on a calculator and compare it with the gold answer.6364## Citation6566```bibtex67@misc{liu2024chatqa,68 title={ChatQA: Surpassing GPT-4 on Conversational QA and RAG},69 author={Liu et al. (2024)},70 year={2024},71 note={arXiv:2401.10225}72}73```7475- arXiv: 2401.10225