@ -24,7 +24,13 @@ In the above table, term "*dpd*" refers to "*dialogues per domain*". For example
All the training and testing data can be found under [/data/](data/) folder.
All the training and testing data can be found under [/data/](data/) folder.
## Environment Setup
## Environment Setup
Python 3.6 is required for training the baseline mode. Python 3.10 is required for training the prompt-based model. `conda` is used for creating the environments.
Python 3.6 is required for training the baseline model. Python 3.10 is required for training the prompt-based model. `conda` is used for creating the environments.
Use `CONDA_ENVS_PATH` to set the custom path for storing the conda environments (if required)
```shell
# optional
export CONDA_ENVS_PATH=/path/to/custom/dir
```
### Create conda environment (for baseline model)
### Create conda environment (for baseline model)
Create an environment for baseline training with a specific python version (Python 3.6 is **required**).
Create an environment for baseline training with a specific python version (Python 3.6 is **required**).
@ -169,8 +175,12 @@ python evaluate.py
## Prompt Learning Experiments
## Prompt Learning Experiments
### Data
### Data
`create_dataset.py`
The data for training the prompt learning model is available under [data/prompt-learning](data/prompt-learning) directory.
// TODO
`create_dataset.py` ([link](utils/create_dataset.py)) has the scripts for converting/creating the data for training the prompt-based model.
> **Note:**
> Running `create_dataset.py` can take some time as it has to download, install and run Stanford CoreNLP `stanza` package.
> All the data required for training the prompt-based model is available under [data](data) directory of this repo.
### Install the requirements
### Install the requirements
After following the environment setup steps in the previous [section](#environment-setup), install the required python modules for prompt model training.
After following the environment setup steps in the previous [section](#environment-setup), install the required python modules for prompt model training.
@ -249,7 +259,7 @@ Train a separate model for each data split. Edit the [train_prompting.sh](prompt
// WIP :: Prompt ensemble training
// WIP :: Prompt ensemble training
### Prompt Augmentation
### Prompt Augmentation
Prompt Augmentation, sometimes called *demonstration learning*, provides a few additional *answered prompts* that can demonstrate to the PLM, how the actual prompt slot can be answered. Sample selection of answered prompts are manually hand-picked. Experiments are performed on different sets of *answered prompts*.
Prompt Augmentation, also called *demonstration learning*, provides a few additional *answered prompts* that can demonstrate to the PLM, how the actual prompt slot can be answered. Sample selection of answered prompts are manually hand-picked. Experiments are performed on different sets of *answered prompts*.
Edit the [test_prompting.sh](prompt-learning/test_prompting.sh) file and add `--with_answered_prompts` flag for generating slots with answered prompts.
Edit the [test_prompting.sh](prompt-learning/test_prompting.sh) file and add `--with_answered_prompts` flag for generating slots with answered prompts.