Concepts about System Analysis

October 10, 2022 ยท View on GitHub

In these docs, we will explain some important concepts that you need to know before performing system analyses using Explainaboard.

What are a "dataset" and a "system output"?

To perform an analysis of your results, usually, two types of files should be prepared: "dataset" and "system output."

Dataset

A "dataset" usually consists of test inputs together with true outputs (e.g. gold-standard labels for classification tasks or reference outputs for text generation tasks). For example, in text classification, a dataset organized in tsv format may look like this:

I love this movie   positive
The movie is too long   negative
...

System output

System output is frequently composed of predicted labels (or hypotheses, e.g., system-generated text), but sometimes system output will also contain test samples, such as CoNLL format in sequence labeling tasks. For example, in text classification, the system output could be organized in a text format:

positive
negative
...

"Datalab datasets" and "custom datasets"

ExplainaBoard currently supports two sources for datasets: one is through Datalab (Xiao et al 2022) and the other is custom.

  • if your datasets have been supported by datalab, we recommend that you load it through DataLab. This is for several reasons: (1) you don't have to prepare the data yourself, (2) you can be sure that your accuracy numbers will be comparable with those calculated by other people using ExplainaBoard, and (3) DataLab datasets support analysis with features calculated over the training set, which can be informative.

For example, the following command can be used to perform system analysis on sst2 dataset (supported by datalab)

explainaboard --task text-classification --dataset sst2 --system-outputs ./data/system_outputs/sst2/sst2-lstm-output.txt

If the dataset hasn't been supported by datalab, we then need to prepare the dataset in a format supported by ExplainaBoard (this varies from task-to-task, see the task-specific documentation) and specify a file path:

explainaboard --task text-classification --custom-dataset-paths ./data/system_outputs/sst2/sst2-dataset.tsv --system-outputs ./data/system_outputs/sst2/sst2-lstm-output.txt
  • if your datasets haven't been supported by datalab but you want them supported, you can follow this doc to add them.

How different formats (e.g. json, tsv, etc.) are supported

In ExplainaBoard, users are allowed to prepare custom datasets with different formats, such as json, tsv etc. We will detail this in each task's description.