task_categories:text-classification size_categories:100K<n<1M language:en license:cc-by-4.0 arxiv:2305.18917 arxiv:1704.05426 region:us
GLUE, the General Language Understanding Evaluation benchmark
(https://gluebenchmark.com/) is a collection of resources for training,
evaluating, and analyzing natural language understanding systems.
@inproceedings{wang2019glue,
  title={{GLUE}: A Multi-Task Benchmark and Analysis Platform for Natural Language Understanding},
  author={Wang, Alex and Singh, Amanpreet and Michael, Julian and Hill, Felix and Levy, Omer and Bowman, Samuel R.},
  note={In the Proceedings of ICLR.},
  year={2019}
}
---
license: cc-by-4.0
dataset_info:
- config_name: minority_examples
  features:
  - name: premise
    dtype: string
  - name: hypothesis
    dtype: string
  - name: label
    dtype:
      class_label:
        names:
          '0': entailment
          '1': neutral
          '2': contradiction
  - name: idx
    dtype: int32
  splits:
  - name: train.biased
    num_bytes: 58497575
    num_examples: 309873
  - name: train.anti_biased
    num_bytes: 16122071
    num_examples: 82829
  - name: validation_matched.biased
    num_bytes: 1443678
    num_examples: 7771
  - name: validation_matched.anti_biased
    num_bytes: 390105
    num_examples: 2044
  - name: validation_mismatched.biased
    num_bytes: 1536381
    num_examples: 7797
  - name: validation_mismatched.anti_biased
    num_bytes: 412850
    num_examples: 2035
  download_size: 92308759
  dataset_size: 78402660
- config_name: partial_input
  features:
  - name: premise
    dtype: string
  - name: hypothesis
    dtype: string
  - name: label
    dtype:
      class_label:
        names:
          '0': entailment
          '1': neutral
          '2': contradiction
  - name: idx
    dtype: int32
  splits:
  - name: train.biased
    num_bytes: 59529986
    num_examples: 309873
  - name: train.anti_biased
    num_bytes: 15089660
    num_examples: 82829
  - name: validation_matched.biased
    num_bytes: 1445996
    num_examples: 7745
  - name: validation_matched.anti_biased
    num_bytes: 387787
    num_examples: 2070
  - name: validation_mismatched.biased
    num_bytes: 1529878
    num_examples: 7758
  - name: validation_mismatched.anti_biased
    num_bytes: 419353
    num_examples: 2074
  download_size: 92308759
  dataset_size: 78402660
task_categories:
- text-classification
language:
- en
pretty_name: MultiNLI
size_categories:
- 100K<n<1M
---

# Dataset Card for Bias-amplified Splits for MultiNLI

## Table of Contents
- [Table of Contents](#table-of-contents)
- [Dataset Description](#dataset-description)
  - [Dataset Summary](#dataset-summary)
- [Dataset Structure](#dataset-structure)
  - [Data Instances](#data-instances)
  - [Data Fields](#data-fields)
  - [Data Splits](#data-splits)
- [Dataset Creation](#dataset-creation)
  - [Curation Rationale](#curation-rationale)
  - [Annotations](#annotations)
- [Considerations for Using the Data](#considerations-for-using-the-data)
  - [Social Impact of Dataset](#social-impact-of-dataset)
  - [Discussion of Biases](#discussion-of-biases)
- [Additional Information](#additional-information)
  - [Dataset Curators](#dataset-curators)
  - [Citation Information](#citation-information)

## Dataset Description

- **Repository:** [Fighting Bias with Bias repo](https://github.com/schwartz-lab-nlp/fight-bias-with-bias)
- **Paper:** [arXiv](https://arxiv.org/abs/2305.18917)
- **Point of Contact:** [Yuval Reif](mailto:yuval.reif@mail.huji.ac.il)
- **Original Dataset's Paper:** [MultiNLI](https://arxiv.org/abs/1704.05426)

### Dataset Summary

Bias-amplified splits is a novel evaluation framework to assess model robustness, by amplifying dataset biases in the training data and challenging models to generalize beyond them. This framework is defined by a bias-amplified training set and a hard, anti-biased test set, which we automatically extract from existing datasets using model-based methods.

Our experiments show that the identified anti-biased examples are naturally challenging for models, and moreover, models trained on bias-amplified data exhibit dramatic performance drops on anti-biased examples, which are not mitigated by common approaches to improve generalization.

Here we apply our framework to **MultiNLI**, a crowd-sourced collection of 433k sentence pairs annotated with textual entailment information.

Our evaluation framework can be applied to any existing dataset, even those considered obsolete, to test model robustness. We hope our work will guide the development of robust models that do not rely on superficial biases and correlations.

#### Evaluation Results (DeBERTa-large)

##### For splits based on minority examples:

| Training Data \ Test Data | Original test | Anti-biased test |
|---------------------------|---------------|------------------|
| Original training split   | 91.1          | 74.3             |
| Biased training split     | 88.7          | 57.5             |

##### For splits based on partial-input model:

| Training Data \ Test Data | Original test | Anti-biased test |
|---------------------------|---------------|------------------|
| Original training split   | 91.1          | 81.4             |
| Biased training split     | 89.5          | 71.8             |

#### Loading the Data

```
from datasets import load_dataset

# choose which bias detection method to use for the bias-amplified splits: either "minority_examples" or "partial_input"
dataset = load_dataset("bias-amplified-splits/mnli", "minority_examples")

# use the biased training split and anti-biased test split
train_dataset = dataset['train.biased']
eval_dataset = dataset['validation_matched.anti_biased']
```

## Dataset Structure

### Data Instances

Data instances are taken directly from MultiNLI (GLUE version), and re-split into biased and anti-biased subsets. Here is an example of an instance from the dataset:
```
{
  "idx": 0,
  "premise": "Your contribution helped make it possible for us to provide our students with a quality education.",
  "hypothesis": "Your contributions were of no help with our students' education.",
  "label": 2
}
```
 
### Data Fields

- `idx`: unique identifier for the example within its original data splits (e.g., validation matched) 
- `premise`: a piece of text 
- `hypothesis`: a piece of text that may be true, false, or whose truth conditions may not be knowable when compared to the premise
- `label`: one of `0`, `1` and `2` (`entailment`, `neutral`, and `contradiction`)

### Data Splits

Bias-amplified splits require a method to detect *biased* and *anti-biased* examples in datasets. We release bias-amplified splits based created with each of these two methods:
- **Minority examples**: A novel method we introduce that leverages representation learning and clustering for identifying anti-biased *minority examples* (Tu et al., 2020)—examples that defy common statistical patterns found in the rest of the dataset.
- **Partial-input baselines**: A common method for identifying biased examples containing annotation artifacts in a dataset, which examines the performance of models that are restricted to using only part of the input. Such models, if successful, are bound to rely on unintended or spurious patterns in the dataset.

Using each of the two methods, we split each of the original train and test splits into biased and anti-biased subsets. See the [paper](https://arxiv.org/abs/2305.18917) for more details.

#### Minority Examples

| Dataset Split                       | Number of Instances in Split |
|-------------------------------------|------------------------------|
| Train - biased                      | 309873                       |
| Train - anti-biased                 | 82829                        |
| Validation matched - biased         | 7771                         |
| Validation matched - anti-biased    | 2044                         |
| Validation mismatched - biased      | 7797                         |
| Validation mismatched - anti-biased | 2035                         |

#### Partial-input Baselines

| Dataset Split                       | Number of Instances in Split |
|-------------------------------------|------------------------------|
| Train - biased                      | 309873                       |
| Train - anti-biased                 | 82829                        |
| Validation matched - biased         | 7745                         |
| Validation matched - anti-biased    | 2070                         |
| Validation mismatched - biased      | 7758                         |
| Validation mismatched - anti-biased | 2074                         |

## Dataset Creation

### Curation Rationale

NLP models often rely on superficial cues known as *dataset biases* to achieve impressive performance, and can fail on examples where these biases do not hold. To develop more robust, unbiased models, recent work aims to filter bisased examples from training sets. We argue that in order to encourage the development of robust models, we should in fact **amplify** biases in the training sets, while adopting the challenge set approach and making test sets anti-biased. To implement our approach, we introduce a simple framework that can be applied automatically to any existing dataset to use it for testing model robustness.

### Annotations

#### Annotation process

No new annotations are required to create bias-amplified splits. Existing data instances are split into *biased* and *anti-biased* splits based on automatic model-based methods to detect such examples.

## Considerations for Using the Data

### Social Impact of Dataset

Bias-amplified splits were created to promote the development of robust NLP models that do not rely on superficial biases and correlations, and provide more challenging evaluation of existing systems.

### Discussion of Biases

We propose to use bias-amplified splits to complement benchmarks with challenging evaluation settings that test model robustness, in addition to the dataset’s main training and test sets. As such, while existing dataset biases are *amplified* during training with bias-amplified splits, these splits are intended primarily for model evaluation, to expose the bias-exploiting behaviors of models and to identify more robsut models and effective robustness interventions.

## Additional Information

### Dataset Curators

Bias-amplified splits were introduced by Yuval Reif and Roy Schwartz from the [Hebrew University of Jerusalem](https://schwartz-lab-huji.github.io).

MultiNLI was developed by Adina Williams, Nikita Nangia and Samuel Bowman.

### Citation Information

```
@misc{reif2023fighting,
    title = "Fighting Bias with Bias: Promoting Model Robustness by Amplifying Dataset Biases",
    author = "Yuval Reif and Roy Schwartz",
    month = may,
    year = "2023",
    url = "https://arxiv.org/pdf/2305.18917",
}
```

Source dataset:
```
@InProceedings{N18-1101,
  author = "Williams, Adina
            and Nangia, Nikita
            and Bowman, Samuel",
  title = "A Broad-Coverage Challenge Corpus for
           Sentence Understanding through Inference",
  booktitle = "Proceedings of the 2018 Conference of
               the North American Chapter of the
               Association for Computational Linguistics:
               Human Language Technologies, Volume 1 (Long
               Papers)",
  year = "2018",
  publisher = "Association for Computational Linguistics",
  pages = "1112--1122",
  location = "New Orleans, Louisiana",
  url = "http://aclweb.org/anthology/N18-1101"
}
```