Week 6, Dialogue Systems
A quick review of dialogue state tracking homeworks
- A short intro to ParlAI
- ParlAI is a framework for dialogue tasks and dialogue models, with a lot of them already implemented, but actually missing a lot of what we care about the most – task-oriented systems
- ParlAI is built by Facebook and mostly working under Torch, but Tensorflow can be used, too
- Options for longer group projects (to replace both weekly homeworks and semester projects for the future)
- Dialogue state tracking – RNNs/CNNs with a lot of gates by Ramadan et al. – we will probably want to simplify this model
- NLU – different NN architectures (CNN, attention, RNN) by Gupta et al. and/or attention + pointer nets by Zhao & Feng
- Unsupervised NLU – clustering dialogue intents and slots without labeled data by Shi et al.
- End-to-end task-oriented dialogue systems – seq2seq with attention for knowledge base queries by Wen et al.
- Introduction of several datasets that we could possibly use – multi-domain datasets that are more complex than DSTC2.
- (3 points) Put DSTC2 and your tracker (from Week 3 homeworks) into ParlAI:
- Install ParlAI
- note that for me, their
setup.py developfailed, but
pip install –user -e .worked (“install in-place”, which allows importing the modules but you can still edit them)
- Insert the DSTC2 data as a new ParlAI task
- Adapt your tracker into a ParlAI agent that gets user input and outputs the current state (a simple string composed of values for food, price, area)
- (? BONUS points) Choose one of the other datasets (see above) and add it as another ParlAI task. You may even try retraining your tracker on it.
- Install ParlAI - note that for me, their
- (O points, but be sure to do it so we don’t decide without you ;-)) Have a look at the papers for group projects and decide which of the tasks you like the most. We will discuss them in more detail in the next lab; we can also go over any points you find unclear.