license:mit arxiv:2305.15017 arxiv:2009.11506 region:us
---
license: mit
configs:
- config_name: default
  data_files:
  - split: train
    path: data/train-*
  - split: validation
    path: data/validation-*
  - split: test
    path: data/test-*
dataset_info:
  features:
  - name: id
    dtype: int64
  - name: question
    dtype: string
  - name: question_chinese
    dtype: string
  - name: chain
    dtype: string
  - name: result
    dtype: string
  - name: result_float
    dtype: float64
  - name: equation
    dtype: string
  splits:
  - name: train
    num_bytes: 109265276
    num_examples: 195179
  - name: validation
    num_bytes: 2730588
    num_examples: 4867
  - name: test
    num_bytes: 2725460
    num_examples: 4867
  download_size: 51446429
  dataset_size: 114721324
---

# Dataset Card for "Calc-ape210k"


## Summary

This dataset is an instance of Ape210K dataset, converted to a simple HTML-like language that can be easily parsed (e.g. by BeautifulSoup). The data contains 3 types of tags:
- gadget: A tag whose content is intended to be evaluated by calling an external tool (sympy-based calculator in this case)
- output: An output of the external tool
- result: The final answer of the mathematical problem (a number)


## Supported Tasks

The dataset is intended for training Chain-of-Thought reasoning **models able to use external tools** to enhance the factuality of their responses.
This dataset presents in-context scenarios where models can outsource the computations in the reasoning chain to a calculator.


## Construction Process

First, we translated the questions into English using Google Translate. Next, we parsed the equations and the results. We linearized
the equations into a sequence of elementary steps and evaluated them using a sympy-based calculator. We numerically compare the output
with the result in the data and remove all examples where they do not match (less than 3% loss in each split). Finally, we save the
chain of steps the HTML-like language in the `chain` column. We keep the original columns in the dataset for convenience.

You can read more information about this process in our [technical report](https://arxiv.org/abs/2305.15017).


## Content and Data splits

Content and splits correspond to the original Ape210K dataset.
See [ape210k dataset github](https://github.com/Chenny0808/ape210k) and [the paper](https://arxiv.org/abs/2009.11506) for more info.

Columns:
- `id` - id of the example
- `question` - the description of the math problem. Automatically translated from `question_chinese` column into English using Google Translate
- `question_chinese` - description of the math problem in Chinese
- `chain` - linearized `equation`, sequence of arithmetic steps in HTML-like language that can be evaluated using our sympy-based calculator
- `result` - result as a string (can be integer, float or a fraction)
- `result_float` - result as a float
- `equation` - a nested expression that evaluates to the correct answer



## Licence

MIT, consistently with the original dataset.


## Cite

If you use this version of the dataset in research, please cite the [original Ape210k paper](https://arxiv.org/abs/2009.11506) and also [our technical report](https://arxiv.org/abs/2305.15017) as follows:

```bibtex
@article{kadlcik2023calcx,
         title={Calc-X: Enriching Arithmetical Chain-of-Thoughts Datasets by Interaction with Symbolic Systems}, 
         author={Marek Kadlčík and Michal Štefánik},
         year={2023},
         eprint={2305.15017},
         archivePrefix={arXiv},
         primaryClass={cs.LG}
}
```