Skip to content
Showcase/Math Question Answering and Category Classification
advancedtext

Math Question Answering and Category Classification

Mathematical question answering with category classification, covering algebra, geometry, number theory, and statistics. Based on SemEval-2019 Task 10 (Math QA).

Submit

Configuration Fileconfig.yaml

# Math Question Answering and Category Classification
# Based on Hopkins et al., SemEval 2019
# Paper: https://aclanthology.org/S19-2153/
# Dataset: https://competitions.codalab.org/competitions/20013
#
# This task asks annotators to solve mathematical problems and classify
# them by mathematical category. Annotators provide the answer to the
# problem and identify its mathematical domain.
#
# Category Labels:
# - Algebra: Equations, expressions, functions, polynomials
# - Geometry: Shapes, areas, angles, spatial reasoning
# - Number Theory: Properties of integers, divisibility, primes
# - Statistics: Probability, averages, data analysis

annotation_task_name: "Math Question Answering"
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 math problem."

  - annotation_type: radio
    name: math_category
    description: "What mathematical category does this problem belong to?"
    labels:
      - "Algebra"
      - "Geometry"
      - "Number Theory"
      - "Statistics"
    keyboard_shortcuts:
      "Algebra": "1"
      "Geometry": "2"
      "Number Theory": "3"
      "Statistics": "4"
    tooltips:
      "Algebra": "Problems involving equations, expressions, functions, or polynomials"
      "Geometry": "Problems involving shapes, areas, angles, or spatial reasoning"
      "Number Theory": "Problems involving properties of integers, divisibility, or primes"
      "Statistics": "Problems involving probability, averages, or data analysis"

annotation_instructions: |
  You will be shown a math problem along with its difficulty level. Your task is to:
  1. Solve the problem and provide the answer in the text field.
  2. Classify the problem into one of four mathematical categories.

html_layout: |
  <div style="padding: 15px; max-width: 800px; margin: auto;">
    <div style="background: #fefce8; border: 1px solid #fde68a; border-radius: 8px; padding: 12px; margin-bottom: 12px;">
      <strong style="color: #a16207;">Difficulty:</strong>
      <span style="font-size: 15px;">{{difficulty}}</span>
    </div>
    <div style="background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px; padding: 16px; margin-bottom: 16px;">
      <strong style="color: #0369a1;">Problem:</strong>
      <p style="font-size: 16px; line-height: 1.7; margin: 8px 0 0 0;">{{text}}</p>
    </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": "mathqa_001",
    "text": "If 3x + 7 = 22, what is the value of x?",
    "difficulty": "Easy"
  },
  {
    "id": "mathqa_002",
    "text": "A triangle has sides of length 5, 12, and 13. What is the area of the triangle?",
    "difficulty": "Medium"
  }
]

// ... 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/2019/task10-math-qa
potato start config.yaml

Details

Annotation Types

textradio

Domain

SemEvalNLPMathematicsQuestion Answering

Use Cases

Math QAProblem ClassificationEducational Assessment

Tags

semevalsemeval-2019shared-taskmathquestion-answeringeducation

Found an issue or want to improve this design?

Open an Issue