char-embeddings is a repository containing 300D character embeddings derived from the GloVe 840B/300D dataset, and uses these embeddings to train a deep learning model to generate Magic: The Gathering cards using Keras. The generation and model construction is heavily modified after the automatic text generation Keras example by François Chollet.
This repository contains a number of Python 3 scripts:
create_embeddings.py: Converts a pretrained word embeddings file into a character embeddings file by averaging the per-character vectors.
create_magic_text.py: Converts an MTG JSON card dump into a one-per-line card encoding.
text_generator_keras.py: Constructs and trains the Keras model, producing Magic cards at each epoch.
text_generator_keras_sample.py: Using the text file and Keras model generated from the previous two scripts, generate a large amount of Magic cards.
output folder contains Magic card output at each epoch, a log of losses at every 50th batch, the learned character embeddings at the last epoch, the trained model itself, and a large sample of generated Magic cards.
keras, tensorflow, h5py, scikit-learn
Max Woolf (@minimaxir)