This repository contains code for our paper - BMX: Boosting Natural Language Generation with Explainability. If you use it, please cite:
@inproceedings{leiter-etal-2024-bmx,
title = "{BMX}: Boosting Natural Language Generation Metrics with Explainability",
author = "Leiter, Christoph and
Nguyen, Hoa and
Eger, Steffen",
editor = "Graham, Yvette and
Purver, Matthew",
booktitle = "Findings of the Association for Computational Linguistics: EACL 2024",
month = mar,
year = "2024",
address = "St. Julian{'}s, Malta",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2024.findings-eacl.150",
pages = "2274--2288",
}
To run the experiments, please follow the following steps:
- Prepare the datasets, by downloading the respective data and running the preparation scripts in
xaiMetrics/data
- Create
xaiMetrics/outputs/experiment_graphs
,xaiMetrics/outputs/experiment_graphs_pdf
,xaiMetrics/outputs/experiment_graphs_pdf_stratification
,xaiMetrics/outputs/experiment_results
,xaiMetrics/outputs/experiment_results_stratification
,xaiMetrics/outputs/Images_Paper_Auto_Gen
,xaiMetrics/outputs/raw_explanations
,xaiMetrics/outputs/sys_level_tables
- Follow the description of the README.md file in
xaiMetrics/experiments
This code is structured as follows:
xaimetrics /
data
- should contain tsv files with the data we want to compute on. Helper Scripts and their comments help in building these corpora
evalTools
- loops to apply explanations on the data and powermeans on explanations
experiments
- scripts to run our experiments. You can follow the settings to run with own data
explainer
- explainer code
explanations
- explanation objects to allow some functions being run on them directly
metrics
- metrics code
outputs
- folder for outputs