Visualize toy dataset

The goal of the toy dataset is to make experiment with small vocabulary size.

It would be nice if we could generate data that looks like real text from afar.

For example we could try to make it zipfian (the log frequency of the tokens is linear with regards to the log rank of the tokens).

Maybe we can also take a look at the variance in the positions of the words, i.e. we would like some words to be able to appear pretty much everywhere in the sentence whereas others should appear in the beginning.

We can do quick experiments without worrying too much about this but eventually but it would be nice to be able to trust this model for more complex experiments, hyper parameters search, ...

One possibility is to learn a model on real data and learn the distribution of the features and learned params.

TODO:

  • maybe we can gain better control if we directly manipulate the norms of the vectors as they should correlate with the frequencies.

In [1]:
import numpy as np

from dictlearn.generate_synthetic_data import FakeTextGenerator

V = 100
embedding_size = 50
markov_order = 6
temperature=1.0
sentence_size = 20

model = FakeTextGenerator(V, embedding_size, markov_order, temperature)
n_sentences=1000
sentences = model.create_corpus(n_sentences, 5, 10, 0.7, 0.1, 0.5)


choose 50.0 % of the less frequent words and stratify sample the sentences that contain them
the relative frequencies of these tokens is between 0.00692241130661 and 9.61446014806e-05
uniform probability would be: 0.01
[('ao', 4), ('bc', 14), ('bp', 19), ('ai', 1), ('cn', 19), ('ck', 1), ('bg', 1), ('ay', 1), ('at', 66), ('aa', 35), ('ah', 1), ('ag', 39), ('bw', 5), ('az', 4), ('bj', 1), ('bu', 1), ('bl', 1), ('bs', 21), ('ak', 3), ('cx', 10), ('bn', 2), ('cs', 59), ('ac', 63), ('aq', 12), ('cy', 21), ('by', 8), ('bm', 4), ('bb', 48), ('ar', 2), ('co', 25), ('ax', 1), ('cv', 2), ('af', 30), ('ci', 3), ('ce', 25), ('aw', 8), ('aj', 17), ('cp', 69), ('am', 33), ('ca', 72), ('ba', 40), ('bq', 19), ('br', 6), ('cb', 13), ('al', 9), ('cl', 1), ('db', 28), ('ad', 47), ('as', 49), ('cd', 2)]
b_train, b_valid 50 35 5
sentences to remove 166
total of sentences 272 105 70

Alternative model


In [1]:
import numpy as np

from dictlearn.generate_synthetic_data_alt import FakeTextGenerator

embedding_size = 20
markov_order = 3
temperature=1.0
sentence_size = 20

model = FakeTextGenerator(100, 400, embedding_size, markov_order, temperature)
n_sentences=1000
sentences = model.create_corpus(n_sentences, 5, 10, 0.7, 0.1)


first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 1
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 4
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 4
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 1
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 4
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 4
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 4
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 1
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 4
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3
first non prime
non primes 1 over 2
first non prime
non primes 1 over 3

In [2]:
import matplotlib.pyplot as plt
%matplotlib inline

plt.figure(figsize=(20, 20))
plt.imshow(model.features.T, interpolation='none')
plt.colorbar()
plt.show()



In [2]:
import matplotlib.pyplot as plt
%matplotlib inline
from collections import Counter

def summarize(sentences, V, label):
    """
    sentences: list of list of characters
    V: vocabulary size
    """
    sentence_size = len(sentences[0])
    # count tokens and their positions
    #positions = np.zeros((V,sentence_size))
    unigram_counts =  Counter()
    for sentence in sentences:
        for i,tok in enumerate(sentence):
            unigram_counts[tok] += 1
            #positions[w, i] += 1
    ordered_count = [c for _, c in unigram_counts.most_common()]
    print ordered_count[:100]
    print ordered_count[500:600]

    print ordered_count[-100:]

    total_word_count = sum(ordered_count)
    # compute empirical frequency
    ordered_freq = [float(oc)/total_word_count for oc in ordered_count] 
    print len(ordered_count), len(ordered_freq), V
    plt.plot(range(len(ordered_freq)), ordered_freq)
    plt.title("word frequency ordered by decreasing order of occurences (rank) on " + label)
    plt.show()

    plt.plot(np.log(range(len(ordered_freq))), np.log(ordered_count))
    plt.title("log(word frequency) / log(rank) on " + label)
    plt.show()

Study corpus


In [4]:
summarize(sentences, model.V, "corpus")


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-4-e66df2ef903f> in <module>()
----> 1 summarize(sentences, model.V, "corpus")

<ipython-input-2-aaa10dfe0211> in summarize(sentences, V, label)
      8     V: vocabulary size
      9     """
---> 10     sentence_size = len(sentences[0])
     11     # count tokens and their positions
     12     #positions = np.zeros((V,sentence_size))

TypeError: 'NoneType' object has no attribute '__getitem__'

Not really zipfian so far. Maybe read that if we really care about that.

Study definitions


In [4]:
definitions = []
for defs in model.dictionary.values():
    definitions += defs
summarize(definitions, V, "definitions")


800 800 1000
/usr/local/lib/python2.7/dist-packages/ipykernel/__main__.py:28: RuntimeWarning: divide by zero encountered in log

In [ ]:


In [ ]: