Text Generation

The past, the present, and the future

Richard Rohla | Laurens ten Cate | Alex Kyalo | Gianluca Sabbatucci | Asier Sarasua | Kamal Nandan | Veronique Wang

WTF is text generation

NLG means generating natural language from a model

Very challenging computational task:

- grammatical complexity

- ambiguity

 

NLG aims to find an underlying 'language model' from which we can sample to generate text

 

Initially this was very heuristic based

Probabilistic language models

Probabilistic language models assign a probability for the next part of the sequence.

Conditional Frequency Distribution model

Recurrent Neural Networks

Alex Graves (2013) - Generating Sequences with RNNs

- Good for sequence generation

 - Processes sequences one step at the time

- Finds internal representation of sequence instead of exact matches

- Less repetitive generation

- Char vs Word

The future (GANs)

Generative Adverserial Networks 

-  Discreteness of text data causes problems with back-propagation of error

- SeqGan -- policy gradients + MCM 

- We switched to VAEs

VAE

S. Bowman (2016) - Generating Sentences from a Continuous Space

Variational Auto-Encoder

Auto-encoders encode data in a lower n-dimensional space which allows decoding to original data

 

VAE encodes data not in discrete points but as soft-ellipsoidal regions in this n-dimensional space

Demo

 

Three models:

- CHAR LSTM

- WORD LSTM

- VAE

nlp2

By laurenstc

nlp2

  • 609