task_categories:token-classification task_categories:text-classification size_categories:1K<n<10K language:en arxiv:1911.01616 arxiv:2107.12214 arxiv:2010.02609 region:us
---
pretty_name: "Aspect Sentiment Triplet Extraction v2"
language:
- en
arxiv:
- 2107.12214
- 2010.02609
- 1911.01616
size_categories:
- 1K<n<10K
task_categories:
- token-classification
- text-classification
configs:
- config_name: 2014-laptop-sem-eval
  data_files:
  - split: train
    path: "data/2014/laptop/sem-eval/train.gz.parquet"
  - split: valid
    path: "data/2014/laptop/sem-eval/valid.gz.parquet"
  - split: test
    path: "data/2014/laptop/sem-eval/test.gz.parquet"
- config_name: 2014-laptop-aste-v2
  data_files:
  - split: train
    path: "data/2014/laptop/aste/train.gz.parquet"
  - split: valid
    path: "data/2014/laptop/aste/valid.gz.parquet"
  - split: test
    path: "data/2014/laptop/aste/test.gz.parquet"
- config_name: 2014-restaurant-sem-eval
  data_files:
  - split: train
    path: "data/2014/restaurant/sem-eval/train.gz.parquet"
  - split: valid
    path: "data/2014/restaurant/sem-eval/valid.gz.parquet"
  - split: test
    path: "data/2014/restaurant/sem-eval/test.gz.parquet"
- config_name: 2014-restaurant-aste-v2
  data_files:
  - split: train
    path: "data/2014/restaurant/aste/train.gz.parquet"
  - split: valid
    path: "data/2014/restaurant/aste/valid.gz.parquet"
  - split: test
    path: "data/2014/restaurant/aste/test.gz.parquet"
- config_name: 2015-restaurant-sem-eval
  data_files:
  - split: train
    path: "data/2015/restaurant/sem-eval/train.gz.parquet"
  - split: valid
    path: "data/2015/restaurant/sem-eval/valid.gz.parquet"
  - split: test
    path: "data/2015/restaurant/sem-eval/test.gz.parquet"
- config_name: 2015-restaurant-aste-v2
  data_files:
  - split: train
    path: "data/2015/restaurant/aste/train.gz.parquet"
  - split: valid
    path: "data/2015/restaurant/aste/valid.gz.parquet"
  - split: test
    path: "data/2015/restaurant/aste/test.gz.parquet"
- config_name: 2016-restaurant-sem-eval
  data_files:
  - split: train
    path: "data/2016/restaurant/sem-eval/train.gz.parquet"
  - split: valid
    path: "data/2016/restaurant/sem-eval/valid.gz.parquet"
  - split: test
    path: "data/2016/restaurant/sem-eval/test.gz.parquet"
- config_name: 2016-restaurant-aste-v2
  data_files:
  - split: train
    path: "data/2016/restaurant/aste/train.gz.parquet"
  - split: valid
    path: "data/2016/restaurant/aste/valid.gz.parquet"
  - split: test
    path: "data/2016/restaurant/aste/test.gz.parquet"
---

## Dataset Description

### Task Summary

Aspect Sentiment Triplet Extraction (ASTE) is the task of extracting the triplets of target entities, their associated sentiment, and opinion spans explaining the reason for the sentiment.
This task is firstly proposed by (Peng et al., 2020) in the paper [Knowing What, How and Why: A Near Complete Solution for Aspect-based Sentiment Analysis (In AAAI 2020)](https://arxiv.org/abs/1911.01616).

For Example, given the sentence:

> The screen is very large and crystal clear with amazing colors and resolution .

The objective of the Aspect Sentiment Triplet Extraction (ASTE) task is to predict the triplets:

> [('screen', 'large', 'Positive'), ('screen', 'clear', 'Positive'), ('colors', 'amazing', 'Positive'), ('resolution', 'amazing', 'Positive')]

where a triplet consists of (target, opinion, sentiment).

### Dataset Summary

Sentiment analysis is increasingly viewed as a vital task both from an academic and a commercial standpoint.
The majority of current approaches, however, attempt to detect the overall polarity of a sentence, paragraph, or text span, regardless of the entities mentioned (e.g., laptops, restaurants) and their aspects (e.g., battery, screen; food, service).
By contrast, this task is concerned with aspect based sentiment analysis (ABSA), where the goal is to identify the aspects of given target entities and the sentiment expressed towards each aspect.
This dataset consists of customer reviews with human-authored annotations identifying the mentioned aspects of the target entities and the sentiment polarity of each aspect.

### Dataset Source

The ASTE dataset is from the [xuuuluuu/SemEval-Triplet-data](https://github.com/xuuuluuu/SemEval-Triplet-data) repository.

It is based on the Sem Eval 2014, 2015 and 2016 datasets, with some preprocessing applied to the text.

 * [Sem Eval 2014 Task 4](https://alt.qcri.org/semeval2014/task4/)
 * [Sem Eval 2015 Task 12](https://alt.qcri.org/semeval2015/task12/)
 * [Sem Eval 2016 Task 5](https://alt.qcri.org/semeval2016/task5/)

### Dataset Details

The train, validation and test splits come from the ASTE dataset.
There are the following columns:

 * index
   The ASTE and Sem Eval datasets had multiple annotations per document.
   This dataset has a single annotation per row.
   To make it easier to collect all annotations for a document the index can be used to group them.
   All annotations for a given document will have the same index.

 * text
   This is the document that is annotated, either in the ASTE form or in the Sem Eval form (see below for details).

 * aspect_start_index
   The zero based character index for the first letter of the aspect term

 * aspect_end_index
   The zero based character index for the last letter of the aspect term

 * aspect_term
   The aspect term as it appears in the text

 * opinion_start_index
   The zero based character index for the first letter of the opinion term

 * opinion_end_index
   The zero based character index for the last letter of the opinion term

 * opinion_term
   The opinion term as it appears in the text

 * sentiment
   The sentiment class for the opinion about the aspect.
   One of _negative_, _neutral_ or _positive_.

The ASTE dataset involved preprocessing the SemEval text.
This preprocessing fixed some of the spelling mistakes, for example:

> Keyboard good sized and wasy to use.

(easy misspelt as wasy).

The preprocessing also includes tokenization of the text and then separating the tokens with whitespace, for example:

> It 's just as fast with one program open as it is with sixteen open .

Since the added whitespace can lead to unnatrual text I have provided two forms of the dataset.
Subsets that end with `aste-v2` have the preprocessed text with spelling correction and additional whitespace.
Subsets that end with `sem-eval` have the original Sem Eval text.

### Citation Information

```
@misc{xu2021learning,
      title={Learning Span-Level Interactions for Aspect Sentiment Triplet Extraction},
      author={Lu Xu and Yew Ken Chia and Lidong Bing},
      year={2021},
      eprint={2107.12214},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}
@misc{xu2021positionaware,
      title={Position-Aware Tagging for Aspect Sentiment Triplet Extraction},
      author={Lu Xu and Hao Li and Wei Lu and Lidong Bing},
      year={2021},
      eprint={2010.02609},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}
@misc{peng2019knowing,
      title={Knowing What, How and Why: A Near Complete Solution for Aspect-based Sentiment Analysis},
      author={Haiyun Peng and Lu Xu and Lidong Bing and Fei Huang and Wei Lu and Luo Si},
      year={2019},
      eprint={1911.01616},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}
```
