Df Net

Open source code for ACL 2020 Paper "Dynamic Fusion Network for Multi-Domain End-to-end Task-Oriented Dialog"
Alternatives To Df Net
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
4 years ago1otherJavaScript
Image2Surface Script for Autodesk Fusion 360
Df Net85
a year agoPython
Open source code for ACL 2020 Paper "Dynamic Fusion Network for Multi-Domain End-to-end Task-Oriented Dialog"
Fusion360 Batch Post73
22 days ago2unlicensePython
Fusion 360 add-in to post all CAM setups at once, optionally dividing them into folders.
5 years ago1Kotlin
An Easy-to-use Kotlin based Customizable Modules Collection with Material Layouts by BlackBeared.
4 years agoPython
Code for SIGDial Paper: Structured Fusion Networks for Dialog https://arxiv.org/abs/1907.10016
3 years ago1otherJavaScript
Parametrically drive a user parameter in Autodesk Fusion 360
a year ago1gpl-2.0Python
Convert Fusion360 Tool Library to LinuxCNC Tool Table
3 years ago4mitPython
8 years ago1Python
Script to generate Hypocycloid Gears Sketch
a month ago5mitPython
Fusion 360 add-in for naming features directly after creation
Alternatives To Df Net
Select To Compare

Alternative Project Comparisons

Dynamic Fusion Network for Multi-Domain End-to-end Task-Oriented Dialog


This repository contains the PyTorch implementation of the paper:

Dynamic Fusion Network for Multi-Domain End-to-end Task-Oriented Dialog. Libo Qin, Xiao Xu, Wanxiang Che, Yue Zhang, Ting Liu. ACL 2020. [PDF]

If you use any source codes or the datasets included in this toolkit in your work, please cite the following paper. The bibtex are listed below:

    title = "Dynamic Fusion Network for Multi-Domain End-to-end Task-Oriented Dialog",
    author = "Qin, Libo  and
      Xu, Xiao  and
      Che, Wanxiang  and
      Zhang, Yue  and
      Liu, Ting",
    booktitle = "Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics",
    month = jul,
    year = "2020",
    address = "Online",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/2020.acl-main.565",
    pages = "6344--6354",
    abstract = "Recent studies have shown remarkable success in end-to-end task-oriented dialog system. However, most neural models rely on large training data, which are only available for a certain number of task domains, such as navigation and scheduling. This makes it difficult to scalable for a new domain with limited labeled data. However, there has been relatively little research on how to effectively use data from all domains to improve the performance of each domain and also unseen domains. To this end, we investigate methods that can make explicit use of domain knowledge and introduce a shared-private network to learn shared and specific knowledge. In addition, we propose a novel Dynamic Fusion Network (DF-Net) which automatically exploit the relevance between the target domain and each domain. Results show that our models outperforms existing methods on multi-domain dialogue, giving the state-of-the-art in the literature. Besides, with little training data, we show its transferability by outperforming prior best model by 13.9{\%} on average.",


In the following, we will guide you how to use this repository step by step.





We clean our code, rerun the experiments based on the following environment and the suggested hyper-parameter settings.

Datasets BLEU F1 Navigate F1 Weather F1 Calendar F1 Datasets BLEU F1 Restaurant F1 Attraction F1 Hotel F1
SMD 15.2 62.5 55.7 57.3 73.8 MultiWOZ 9.5 34.8 37.5 31.2 32.8


Our code is based on PyTorch 1.2 Required python packages:

  • numpy==1.14.2
  • tqdm==4.44.1
  • pytorch==1.2.0
  • python==3.6.3
  • cudatoolkit==9.2
  • cudnn==7.6.5

We highly suggest you using Anaconda to manage your python environment.

How to Run it

The script myTrain.py acts as a main function to the project, you can run the experiments by the following commands.

# SMD dataset
python myTrain.py -gpu=True -ds=kvr -dr=0.2 -bsz=32 -tfr=0.8 -an=SMD -op=SMD.log
# MultiWOZ 2.1 dataset
python myTrain.py -gpu=True -ds=woz -dr=0.2 -bsz=32 -tfr=0.9 -an=WOZ -op=WOZ.log

We also provide our reported model parameters in the save/best directory, you can run the following command to evaluate them and so on.

python myTrain.py -gpu=True -e=0 -ds=kvr -bsz=32 -path=save/best/SMD -op=SMD.log
python myTrain.py -gpu=True -e=0 -ds=woz -bsz=32 -path=save/best/MultiWOZ -op=WOZ.log

Due to some stochastic factors(e.g., GPU and environment), it maybe need to slightly tune the hyper-parameters using grid search to reproduce the results reported in our paper.

All the hyper-parameters are in the utils/config.py and here are the suggested hyper-parameter settings for grid search:

  • Dropout ratio [0.1, 0.15, 0.2, 0.25, 0.3]
  • Batch size [8, 16, 32]
  • Teacher forcing ratio [0.7, 0.8, 0.9, 1.0]

If you have any question, please issue the project or email me and we will reply you soon.


Global-to-local Memory Pointer Networks for Task-Oriented Dialogue. Chien-Sheng Wu, Richard Socher, Caiming Xiong. ICLR 2019. [PDF] [Open Reivew] [Code]

We are highly grateful for the public code of GLMP!

Popular Dialog Projects
Popular Fusion Projects
Popular User Interface Components Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Dialogue Systems
End To End