Awesome
CS_Model_Adaptation
This repository contains the code for the paper "Exploring Strategies for Generalizable Commonsense Reasoning with Pre-trained Models" (EMNLP 2021). See full paper here
Note that our finetuning and inference code are adpated from ProtoQA, prefix-tuning code is adapted from PrefixTuning, Autoprompt code is adapated from autoprompt, and protoqa evaluation code is adpated from protoqa-evaluator
Enviroments
This code has been tested on Python 3.7.9, Pytorch 1.7.0 and Transformers 4.2.1, you can install the required packages by
pip install -r requirements.txt
Then we need to install the protoqa-evaluator by cd to protoqa-evaluator
pip install -e protoqa-evaluator
Finetuning
To finetune BART model on ProtoQA task, cd to src/Finetune and run
bash finetune.sh
This would also run inference on ProtoQA dev set, you can find the results in results.json under your specified output directory.
For GPT2 model, you can simply update the --model_type and --model_name_or_path
CommonGen
For CommonGen experiments, the command can also be found in finetune.sh, you can just uncomment it and run. The results can be found in the eval_generation.txt in the output directory after training.
To evalutate the generated output, please follow the CommonGen official repo to set up a new environment and evaluate.
Prefix-tuning
Under src/Prefix_tuning and run
bash prefixtune.sh
Autoprompt
Under src/Autoprompt and run
bash autoprompt.sh
Manual Annotation
For the 30 selected questions and 30 newly annotated questions, as well as their model predictions can be found in Data/Manual_annotation
Cite
@inproceedings{ma-etal-2021-exploring,
title = "Exploring Strategies for Generalizable Commonsense Reasoning with Pre-trained Models",
author = "Ma, Kaixin and
Ilievski, Filip and
Francis, Jonathan and
Ozaki, Satoru and
Nyberg, Eric and
Oltramari, Alessandro",
booktitle = "Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing",
month = nov,
year = "2021",
address = "Online and Punta Cana, Dominican Republic",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2021.emnlp-main.445",
doi = "10.18653/v1/2021.emnlp-main.445",
pages = "5474--5483",
}