Deep Latent-Variable Models for Natural Language Understanding and Generation