Week 6, Dialogue Systems
Content
-
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.
- MultiWOZ – multi-domain dataset for city information (was used in the state-tracking paper mentioned above)
- KWRET – in-car dialogues about weather, scheduling, and navigation
- MS Dialogue Challenge – reservation dialogues for movie tickets, restaurants, and taxis
Homework
- (3 points) Put DSTC2 and your tracker (from Week 3 homeworks) into ParlAI:
- Install ParlAI
- note that for me, their
setup.py develop
failed, butpip 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.