This is the official repository for the paper "Tox-BART: Leveraging Toxicity Attributes for Explanation Generation of Implicit Hate Speech."
Run the following command to initialize the directory:
git clone https://github.com/LCS2-IIITD/TOXBART.git
cd TOXBART
We suggest using conda
to manage virtual environments and ease-of-access.
-> Python >=3.9
-> PyTorch >=2.0
-> Transformers
Kindly go through the following instructions to download the required datasets:
- SBIC: Need to download from the attached link and place in the
data
directory. - LatentHatred: Need to download from the attached link and place in the
data
directory, in addition to the already present data. - Jigsaw Unintended Bias: Need to download from the attached link and place in the
tox_bert/jigsaw-data
directory. - StereoKG: Need to download from the attached link and place in the
data
directory. - ConceptNet: Use the following command
wget https://s3.amazonaws.com/conceptnet/downloads/2019/edges/conceptnet-assertions-5.7.0.csv.gz
in thedata
directory. To unzip the file, usegunzip conceptnet-assertions-5.7.0.csv.gz
.
To train the toxic-bert
model, run the train.py
file in the tox_bert
directory. You can also run an inference using test.py
to see how well it performs in terms of the RMSE scores.
Kindly follow the running instructions present in each {train, test}.py
file to run the knowledge or configuration experiments.
Although the code uses relative paths and in most cases asks the user to enter the paths (using argparse
), we encourage you to not add any depth to the current directory structure. In case, you encounter any issues with the paths, cross-check if your data is in the correct directory.
Here is a an approximate view of how the directories are structured in this repository.
.
└── TOXBART/
├── data/
├── kg_exps/
│ ├── knowledge_utils.py
│ ├── stereokg_utils.py
│ ├── utils.py
│ ├── test.py
│ └── train.py
├── tox_bert/
│ ├── jigsaw_data/
│ ├── modeling_toxbert.py
│ ├── test.py
│ └── train.py
└── toxic_signals/
├── config1/
│ ├── test.py
│ └── train.py
├── config2/
│ ├── test.py
│ └── train.py
├── config3/
│ ├── modeling_toxbart.py
│ ├── test.py
│ └── train.py
├── config4/
│ ├── modeling_toxbart.py
│ ├── test.py
│ └── train.py
└── config5/
├── modeling_toxbart.py
├── test.py
└── train.py
Thank you for using our repository. If you face any issues, kindly raise an issue or contact any of the primary authors directly!