Conditional Generation and Snapshot Learning in Neural Dialogue Systems