QA over Tabular Data
Question answering over tabular data: annotators answer natural-language questions from a table by providing the value or list derived from it, and label the answer type (boolean, category, number, or list). Based on SemEval-2025 Task 8 (DataBench).
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# QA over Tabular Data
# Based on SemEval-2025 Task 8: Question Answering over Tabular Data (DataBench)
# Osés Grijalba, Ureña-López, Martínez Cámara, Camacho-Collados (SemEval 2025)
# Paper: https://aclanthology.org/2025.semeval-1.324/
# Dataset: https://huggingface.co/datasets/cardiffnlp/databench
#
# This task asks annotators to answer a natural-language question from a table by
# providing the value or list derived from the table, and to label the answer type
# (boolean, category, number, list of categories, or list of numbers), following the
# DataBench answer typology used in SemEval-2025 Task 8.
annotation_task_name: "QA over Tabular Data"
task_dir: "."
data_files:
- sample-data.json
item_properties:
id_key: "id"
text_key: "text"
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
port: 8000
server_name: localhost
annotation_schemes:
- annotation_type: text
name: answer
description: "Provide the answer to the question based on the table."
- annotation_type: radio
name: answer_type
description: "What is the type of the answer? (DataBench answer typology)"
labels:
- "Boolean"
- "Category"
- "Number"
- "List of Categories"
- "List of Numbers"
keyboard_shortcuts:
"Boolean": "1"
"Category": "2"
"Number": "3"
"List of Categories": "4"
"List of Numbers": "5"
tooltips:
"Boolean": "The answer is True or False"
"Category": "The answer is a single value drawn from the table (e.g. a name or label)"
"Number": "The answer is a single numeric value"
"List of Categories": "The answer is a list of values from the table"
"List of Numbers": "The answer is a list of numeric values"
annotation_instructions: |
You will be shown a question and a table. Your task is to:
1. Read the question carefully.
2. Examine the table content provided.
3. Provide the exact answer as a value or list derived from the table.
4. Label the type of the answer (boolean, category, number, or list).
html_layout: |
<div style="padding: 15px; max-width: 800px; margin: auto;">
<div style="background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px; padding: 16px; margin-bottom: 16px;">
<strong style="color: #0369a1;">Question:</strong>
<p style="font-size: 16px; line-height: 1.7; margin: 8px 0 0 0;">{{text}}</p>
</div>
<div style="background: #fefce8; border: 1px solid #fde68a; border-radius: 8px; padding: 16px; margin-bottom: 16px;">
<strong style="color: #a16207;">Table: {{table_title}}</strong>
<pre style="font-size: 14px; line-height: 1.5; margin: 8px 0 0 0; white-space: pre-wrap;">{{table_content}}</pre>
</div>
</div>
allow_all_users: true
instances_per_annotator: 50
annotation_per_instance: 2
allow_skip: true
skip_reason_required: false
Sample Datasample-data.json
[
{
"id": "tabqa_001",
"text": "What is the total revenue for Q3 2024?",
"table_content": "Quarter | Revenue ($M) | Expenses ($M) | Profit ($M)\nQ1 2024 | 45.2 | 32.1 | 13.1\nQ2 2024 | 48.7 | 33.5 | 15.2\nQ3 2024 | 52.3 | 35.8 | 16.5\nQ4 2024 | 55.1 | 37.2 | 17.9",
"table_title": "Quarterly Financial Report 2024"
},
{
"id": "tabqa_002",
"text": "Which country has the highest life expectancy?",
"table_content": "Country | Life Expectancy | Population (M) | GDP per Capita ($)\nJapan | 84.6 | 125.7 | 42,940\nSwitzerland | 83.8 | 8.7 | 87,097\nAustralia | 83.4 | 25.9 | 55,057\nCanada | 82.4 | 38.2 | 46,195",
"table_title": "Country Health and Economic Indicators"
}
]
// ... and 8 more itemsGet This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git cd potato-showcase/semeval/2025/task08-tabular-qa potato start config.yaml
Dataset & paper
Osés Grijalba et al., SemEval-2025 Task 8: Question Answering over Tabular Data, SemEval 2025
Citation (BibTeX)
@inproceedings{oses-grijalba-etal-2025-semeval,
title = "{S}em{E}val-2025 Task 8: Question Answering over Tabular Data",
author = "Os{\'e}s Grijalba, Jorge and Ure{\~n}a-L{\'o}pez, L. Alfonso and Mart{\'i}nez C{\'a}mara, Eugenio and Camacho-Collados, Jose",
editor = "Rosenthal, Sara and Ros{\'a}, Aiala and Ghosh, Debanjan and Zampieri, Marcos",
booktitle = "Proceedings of the 19th International Workshop on Semantic Evaluation (SemEval-2025)",
month = jul,
year = "2025",
address = "Vienna, Austria",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2025.semeval-1.324/",
pages = "2512--2522",
ISBN = "979-8-89176-273-2"
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
BRAINTEASER - Commonsense-Defying QA
Lateral thinking and commonsense-defying question answering task requiring annotators to select answers to brain teasers that defy default commonsense assumptions and provide explanations. Based on SemEval-2024 Task 9 (BRAINTEASER).
Math Question Answering and Category Classification
Answering SAT-style mathematical questions with category classification, covering closed-vocabulary algebra, open-vocabulary algebra, and geometry. Based on SemEval-2019 Task 10 (Math QA).
R2VQ - Recipe Question Answering
Question answering over recipe texts, where annotators answer questions about recipes and classify whether the answer is explicitly stated, inferable, or not answerable from the recipe. A simplified adaptation of SemEval-2022 Task 9 (R2VQ, Tu et al.), whose original competence-based protocol answers template-based question families over recipes annotated with cooking-role and semantic-role layers.