This is the introduction and repository for XAIFooler the algorithm behind "Are Your Explanations Reliable?" Investigating the Stability of LIME in Explaining Text Classifiers by Marrying XAI and Adversarial Attack" (EMNLP 2023).
XAIFooler is built on the TextAttack Framework and uses the ELI5 implementation of LIME. It is recommended to install both packages in a dedicated environment through Anaconda or similar. Installations on Windows systems may encounter issues with automatic installation of ELI5 due to deprecated packages. Linux installations have not been problematic.
Two options are available, the most user friendly is the included python notebook. Easier access to altering the parameters (see below) can be done through using the main.py file to pass them directly as arguments on the command line. Adjustments should be made to the batch size depending of available computational resources. Currently overrided to work on low resource machines.
The possible arguments for adjusting the adversarial search process can be seen directly in common.py and are as follows:
@inproceedings{ xaifooler, title={``Are Your Explanations Reliable?" Investigating the Stability of LIME in Explaining Text Classifiers by Marrying XAI and Adversarial Attack}, author={Christopher Burger, Lingwei Chen, Thai Le}, booktitle={The 2023 Conference on Empirical Methods in Natural Language Processing}, year={2023} }
11 commits
Python
92.0%
Jupyter Notebook
8.0%
This is the introduction and repository for XAIFooler the algorithm behind "Are Your Explanations Reliable?" Investigating the Stability of LIME in Explaining Text Classifiers by Marrying XAI and Adversarial Attack" (EMNLP 2023).
XAIFooler is built on the TextAttack Framework and uses the ELI5 implementation of LIME. It is recommended to install both packages in a dedicated environment through Anaconda or similar. Installations on Windows systems may encounter issues with automatic installation of ELI5 due to deprecated packages. Linux installations have not been problematic.
Two options are available, the most user friendly is the included python notebook. Easier access to altering the parameters (see below) can be done through using the main.py file to pass them directly as arguments on the command line. Adjustments should be made to the batch size depending of available computational resources. Currently overrided to work on low resource machines.
The possible arguments for adjusting the adversarial search process can be seen directly in common.py and are as follows:
@inproceedings{ xaifooler, title={``Are Your Explanations Reliable?" Investigating the Stability of LIME in Explaining Text Classifiers by Marrying XAI and Adversarial Attack}, author={Christopher Burger, Lingwei Chen, Thai Le}, booktitle={The 2023 Conference on Empirical Methods in Natural Language Processing}, year={2023} }
11 commits
Python
92.0%
Jupyter Notebook
8.0%