/e2e-dm

End-to-End dialogue management project

Primary LanguagePython

End2End Dialogue

End-to-End Dialogue Management (on DSTC2)


Author


Function

  • Dialogue Act Prediction and Language Generation Models
    1. Classification Model (CNN) to predict the system's response to user
    2. Language Model (LSTM) to create system response according to dialogue act and slot
  • Merge the above two models to get an End-to-End model without explicit dialogue act and slot

Algorithm

CNN Encoder + LSTM Decoder based on the paper "A Network-based End-to-End Trainable Task-oriented Dialogue System"


Dataset

DSTC2 (dialog state tracking challenge) dataset 3225 dialogs and average length of dialog is 14 turns. Each pair includes the user query asn system response.

The dataset is stored in several files in directory "data".

Usage

Basic Model

  1. python e2e_dstc.py 0 0: Train e2e model from scratch
  2. python e2e_dstc.py 0 0: Continue the training from latest checkpoint
  3. python e2e_dstc.py 1 0: Test e2e model

Attention Model (buggy)

  1. python e2e_dstc_attention.py 0 0: Train e2e model from scratch
  2. python e2e_dstc_attention.py 0 0: Continue the training from latest checkpoint
  3. python e2e_dstc_attention.py 1 0: Test e2e model

Other Files

  1. tool/data_loader.py Reading training and testing data from files
  2. tool/data_processor.py Pre-processing raw data