Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ha-lins/maml-dst
Model-agnostic meta-learning (MAML) for few-shot dialogue state tracking (DST) based on TRADE.
https://github.com/ha-lins/maml-dst
dialog-state-tracking maml meret meta-learning trade
Last synced: 29 days ago
JSON representation
Model-agnostic meta-learning (MAML) for few-shot dialogue state tracking (DST) based on TRADE.
- Host: GitHub
- URL: https://github.com/ha-lins/maml-dst
- Owner: ha-lins
- Created: 2019-12-16T02:47:50.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T05:24:57.000Z (about 2 years ago)
- Last Synced: 2023-10-20T20:08:25.045Z (about 1 year ago)
- Topics: dialog-state-tracking, maml, meret, meta-learning, trade
- Language: Python
- Homepage:
- Size: 725 KB
- Stars: 3
- Watchers: 3
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Model-Agnostic Meta-Learning (MAML) for Dialogue State Tracking
This repo implements the model-agnostic meta-learning (MAML) for dialogue state tracking (DST). It achieves better performance than [TRADE](https://github.com/jasonwu0731/trade-dst) in the few-shot setting. It also implements the multi-task learning (MTL-DST) as the baseline. This code has been written using PyTorch >= 1.0.
This project has a similar idea to [MERET](https://www.aclweb.org/anthology/2020.acl-main.636.pdf). Our project is preliminarily named recallable meta-learning for DST (RM-DST), which can not only fast adapt to a low-resource new domain, but also employ a recallable mechanism to maintain the
high performance in old tasks. If you are interested in the work, you can contact me for the draft. The overview of RM-DST is as follows:
Download the MultiWOZ dataset and the processed dst version.
```console
❱❱❱ python3 create_data.py
```## Dependency
Check the packages needed or simply run the command
```console
❱❱❱ pip install -r requirements.txt
```
If you run into an error related to Cython, try to upgrade it first.
```console
❱❱❱ pip install --upgrade cython
```## Unseen Domain DST
#### MAML-DST
Training
```console
❱❱❱ python3 myTrain_maml_DND.py -dec=TRADE -bsz=32 -dr=0.2 -lr=0.001 -le=1 -exceptd=${domain}
```#### MTL-DST
Training
```console
❱❱❱ python3 myTrain_MTL.py -dec=TRADE -bsz=32 -dr=0.2 -lr=0.001 -le=1 -exceptd=${domain} -add_name=MTL
```
* -exceptd: except domain selection, choose one from {hotel, train, attraction, restaurant, taxi}.#### Fine-tune
MAML-DST
```console
❱❱❱ python3 fine_tune_dnd.py -bsz=8 -dr=0.2 -lr=0.001 -path=${save_path_except_domain} -exceptd=${except_domain}
```
MTL-DST
```console
❱❱❱ python3 fine_tune.py -bsz=8 -dr=0.2 -lr=0.001 -path=${save_path_except_domain} -exceptd=${except_domain}
```## Results
## Reference
1. [DAML](https://github.com/qbetterk/DAML): Domain Adaptive Dialog Generation via Meta Learning. [ACL 2019]
2. [TRADE](https://github.com/jasonwu0731/trade-dst): Transferable Multi-Domain State Generator for Task-Oriented Dialogue Systems. [ACL 2019]
3. Meta-Reinforced Multi-Domain State Generator for Dialogue Systems. [ACL 2020]