Skip to content
intermediatetext

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).

Submit

Configuration Fileconfig.yaml

This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.

yaml
# 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

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 items

Get This Design

View on GitHub

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)

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

textradio

Domain

SemEvalNLPQuestion AnsweringTabular Data

Use Cases

Table UnderstandingQuestion AnsweringData Comprehension

Tags

semevalsemeval-2025shared-tasktabular-qaquestion-answeringtables

Found an issue or want to improve this design?

Open an Issue