https://emanjavacas.github.com/slides-content/santiago-cclng-17
Write a story about robots, using a robot, in relation to “I, Robot”
Co-creatively write a science-fiction story using a system trained on similar literature
Science Fiction is open to collaborating with researchers on experimental projects
… a collaborative process between multiple agents, where in this context, one agent is a computational system. […] where crucially, the result of the output is greater than “the sum of its parts” (Davis 2013)
Maps the narrative steps of a story for the writer to manipulate into an eventual story structure, the system will then use probabilistic modeling to generate language around that skeleton (Ahn et al. 2016)
The writer is prompted with possible sentences (Roemmele 2015)
Sentences | Words | Characters | |
---|---|---|---|
Number | 24.6m | 425.5m | 2001m |
Novel Average | 3k | 59k | 309,531k |
\(P(The, cat, sat, on, the, mat, .)\) =
\(P(The | \text{<}bos\text{>})\)
* \(P(cat | \text{<}bos\text{>} , The)\)
* \(\ldots\)
* \(P(. | \text{<}bos\text{>} , \ldots , mat)\)
More formally…
\(P(w_1, w_2, ..., w_n)\) = \(P(w_1|\text{<}bos\text{>})\) \(* \prod_{i=1}^n P(w_{i+1}|w_1, ..., w_{i})\)
RNNLM Implementation (Embedding + Hidden RNN Layer + Output Layer + Softmax)
Sample “n” characters from the Language Model
Multinomial sampling with temperature
We run the model at the character level instead of word level
Parameter | Range |
---|---|
Embedding sizes | 24, 46 |
RNN Cell | GRU, LSTM |
Hidden size | 1024, 2048 |
Hidden Layers | 1 |
Stochastic Gradient Descent (SGD) + bells and whistles
Parameter | Value |
---|---|
Optimizer | Adam (default params) |
Learning rate | 0.001 |
Gradient norm clipping | 5.0 |
Dropout | 0.3 (RNN output) |
BPTT | 200 |