As long as there have been computer systems, one objective has been to be able to communicate with them using natural language. It has proven very difficult to implement a dialog system that performs as well as a human being in an unrestricted domain, hence most dialog systems these days work in little, restricted domains [...]