ABSA datasets for PyABSA
We hope you can share your custom dataset or an available public dataset. If you want to, follow these steps:
Although the integrated datasets have no ids, it is recommended to assign an id for your dataset. While merge your datasets into ABSADatasets, please keep the id remained.
- APC dataset name should be {id}.{dataset name}, and the dataset files should be named in {dataset name}.{type}.dat.atepc e.g.,
datasets
├── 101.restaurant
│ ├── restaurant.train.dat # train_dataset
│ ├── restaurant.test.dat # test_dataset
│ └── restaurant.valid.dat # valid_dataset, dev set are not recognized in PyASBA, please rename dev-set to valid-set
└── others
- ATEPC dataset files should be {id}.{dataset name}.{type}.dat.atepc, e.g.,
datasets
├── 101.restaurant
│ ├── restaurant.train.dat.atepc # train_dataset
│ ├── restaurant.test.dat.atepc # test_dataset
│ └── restaurant.valid.dat.atepc # valid_dataset, dev set are not recognized in PyASBA, please rename dev-set to valid-set
└── others
I prepare a demo custom APC/ATEPC dataset which is based on Yelp dataset, if you got problem in dataset rename, please feed your data into the prepared dataset folds. Check datasets/apc_datasets/100.CustomDataset and datasets/atepc_datasets/100.CustomDatasetto view or rewrite the custom dataset.
Then, use the {id}.{dataset name} to locate your dataset, e.g.,
from pyabsa.functional import APCConfigManager
from pyabsa.functional import Trainer
from autocuda import auto_cuda
config = APCConfigManager.get_apc_config_english() # APC task
dataset = '101.restaurant'
# dataset = '100.CustomDataset'
Trainer(config=config,
dataset=dataset, # train set and test set will be automatically detected
checkpoint_save_mode=1,
auto_device=auto_cuda() # automatic choose CUDA or CPU
)
It will avoid some potential problem (e.g., duplicated dataset name) while PyABSA detects the dataset.
-
Format your APC dataset according to our dataset format. (Recommended. Once you finished this step, we can help you to finish other steps)
-
Generate the inference dataset for APC / ATEPC task (Optional. The example is available here)
-
Convert the APC dataset to ATEPC dataset, and move the transformed ATEPC datasets from apc_dataset to corresponding atepc_datasets. (Optional. The example is available here )
-
Register your dataset in PyABSA. (Optional. Register here)
-
A Stand-alone browser based tool to help process data for the training set. here
Once data saved, 3 files will be created:
- a CSV file training set for classic sentiment analysis
- a TXT file training set for PyABSA
- a JSON file for saving unfinished work
All datasets provided are for research only, we do not hold any Copyright of any datasets. These datasets follow their original licenses (if any).
MAMS https://github.com/siat-nlp/MAMS-for-ABSA
SemEval 2014: https://alt.qcri.org/semeval2014/task4/index.php?id=data-and-tools
SemEval 2015: https://alt.qcri.org/semeval2015/task12/index.php?id=data-and-tools
SemEval 2016: https://alt.qcri.org/semeval2016/task5/index.php?id=data-and-tools
Chinese: https://www.sciencedirect.com/science/article/abs/pii/S0950705118300972?via%3Dihub
Shampoo: brightgems@github
MOOC: jmc-123@github with GPL License
Twitter: https://dl.acm.org/doi/10.5555/2832415.2832437
Television & TShirt: https://github.com/rajdeep345/ABSA-Reproducibility
Yelp: WeiLi9811@github