Code for technical report "An Improved Baseline for Sentence-level Relation Extraction".
- torch >= 1.8.1
- transformers >= 3.4.0
The Pytorch version must be at least 1.8.1 as our code relies on the both the
torch.cuda.amp and the
torch.utils.checkpoint, which are introduced in the 1.8.1 release.
The TACRED dataset can be obtained from this link. The TACREV and Re-TACRED dataset can be obtained following the instructions in tacrev and Re-TACRED, respectively. The expected structure of files is:
RE_improved_baseline |-- dataset | |-- tacred | | |-- train.json | | |-- dev.json | | |-- test.json | | |-- dev_rev.json | | |-- test_rev.json | |-- retacred | | |-- train.json | | |-- dev.json | | |-- test.json
Training and Evaluation
The commands and hyper-parameters for running experiments can be found in the
scripts folder. For example, to train roberta-large, run
>> sh run_roberta_tacred.sh # TACRED and TACREV >> sh run_roberta_retacred.sh # Re-TACRED
The evaluation results are synced to the wandb dashboard. The results on TACRED and TACREV can be obtained in one run as they share the same training set.
For all tested pre-trained language models, training can be conducted with one RTX 2080 Ti card.