In [1]:
from gensim.models import AuthorTopicModel

model = AuthorTopicModel.load('model.atmodel')


C:\ProgramData\Anaconda3\lib\site-packages\gensim\utils.py:860: UserWarning: detected Windows; aliasing chunkize to chunkize_serial
  warnings.warn("detected Windows; aliasing chunkize to chunkize_serial")

In [2]:
for topic in model.show_topics(num_topics=100):
    words = ''
    for word, prob in model.show_topic(topic[0]):
        words += word + ' '
    print('Words: ' + words)
    print()


Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: laotraopinión nahle rocío_nahle rocío Rocío Nahle Eva Cadena_Rocío Nahle conalep levario marco_levario alaireconpaola 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: jalisco congreso_jalisco iniciativa reduce sinvotonohaydinero aprueba reconoce iniciativa_sinvotonohaydinero tigres edil 

Words: abriendolaconversación pierdas consejos vencer hoyenanimal debes el_futbol licitación nadapersonal José Manuel Mireles 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: lomásyi LoMásYI COLUMNA informar ecuador agendapública forotv_canal FOROtv Canal izzi_sky forotv fuertes_lluvias 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: mexico licitación estaciones fuertes_lluvias unam superior conducir José Manuel Mireles josé_manuel soledad 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: y a o gracias conoce columna domingo envivo saludos caso 

Words: laotraopinion guerrero oaxaca reynosa lopezdoriga doble miriam teleformula Alfredo de tropical 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: luiscárdenasmvs alaire_luiscárdenasmvs entrevista_luiscárdenasmvs banco unam conducir superior penal pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: inician alaireconpaola recién lasnoticiascondanielle chiapas José Manuel Mireles santiago sexual josé_manuel conducir 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: lomásyi columna LoMásYI COLUMNA than one star they wars star_wars should 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: debes empleados josé serio empieza redesdepoder via fm_Eva Cadena terror quiero 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: enfoque enfoque_noticias Enfoque Noticias | Enfoque Noticias felicita santiago carne José Manuel Mireles mireles sexual 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: prep casillas conteo crisis_venezuela jornada_electoral oaxaca rápido conteo_rápido fepade loúltimo 

Words: compañeros acompañarnos Facebook Live eleccionesw eslahoradeopinar foroglobal atandocabos fm tlalpan josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: despiertaconloret Manuel Antonio Noriega acoso lasnoticiascondanielle recaudadora yosoitu opiniónlsr antonio_noriega tepito contraportada 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: here more president russia its like some about_the were from_the 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fm alaire porlamañana porlamañana_fm mesamvs telefórmula escribe ejercicio alaire_fm móvil 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: the to of is and on it for climate about 

Words: notimextv podcastnotimex fuertes_lluvias unam estaciones conducir superior José Manuel Mireles josé_manuel sexual 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: escribe reportaje sujetos periodista priista óscar peña fox exgobernador urgente 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: captura fuertes_lluvias penal unam estaciones conducir soledad José Manuel Mireles josé_manuel pretende 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: informaciónw eleccionesw deportesw marthadebayleenw sexual mireles estaciones conducir fuertes_lluvias penal 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: his care week engéntate glamhour arternativo decibel másvalemaña tíapazentv apodaca 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: enalerta climammtv house telediariomatutino telediariomediodía #EnAlerta white cards house_of white_house 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: a el trump y video detalles méxico años vía entérate 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: futbol el_futbol alejandro díaz redesdepoder consejos felizlunes zamorano debes José López Zamorano 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: nopal_news sexual unam estaciones conducir superior fuertes_lluvias José Manuel Mireles josé_manuel mireles 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: delasemana marco_levario levario imageninformativa másgrandequenunca imagen_radio preguntadeldía Imagen Radio santiago compromiso 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: enlared enlared_escribe unam conducir superior penal José Manuel Mireles estaciones soledad josé_manuel 

Words: chivas tigres platicamos porsiteloperdiste título campeón gol liga_mx intervención coordinador 

Words: a el edomex y morena méxico elecciones pri cdmx amlo 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: monterrey tigres chivas why temporada american fans herrera conalep felicita 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: reza ochoa_reza revista unam conducir penal José Manuel Mireles estaciones superior josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 

Words: fuertes_lluvias sexual unam estaciones conducir superior mireles José Manuel Mireles pretende josé_manuel 


In [3]:
%%time
from sklearn.manifold import TSNE
tsne = TSNE(n_components=2, random_state=0)
smallest_author = 0  # Ignore authors with documents less than this.
authors = [model.author2id[a] for a in model.author2id.keys() if len(model.author2doc[a]) >= smallest_author]
_ = tsne.fit_transform(model.state.gamma[authors, :])  # Result stored in tsne.embedding_


Wall time: 1.45 s

In [4]:
from bokeh.io import output_notebook
output_notebook()


Loading BokehJS ...

In [5]:
from bokeh.models import HoverTool
from bokeh.plotting import figure, show, ColumnDataSource

x = tsne.embedding_[:, 0]
y = tsne.embedding_[:, 1]
author_names = [model.id2author[a] for a in authors]

scale = 0.01
author_sizes = [len(model.author2doc[a]) for a in author_names]
radii = [size * scale for size in author_sizes]

source = ColumnDataSource(
        data=dict(
            x=x,
            y=y,
            author_names=author_names,
            author_sizes=author_sizes,
            radii=radii,
        )
    )

hover = HoverTool(
        tooltips=[
        ("author", "@author_names"),
        ("size", "@author_sizes"),
        ]
    )

p = figure(tools=[hover, 'crosshair,pan,wheel_zoom,box_zoom,reset,save,lasso_select'])
p.scatter('x', 'y', radius='radii', source=source, fill_alpha=0.6, line_color=None)
show(p)



In [6]:
from gensim.similarities import MatrixSimilarity


index = MatrixSimilarity(model[list(model.id2author.values())])

In [7]:
from gensim import matutils
import pandas as pd


author_vecs = [model.get_author_topics(author) for author in model.id2author.values()]

def similarity(vec1, vec2):
    dist = matutils.hellinger(matutils.sparse2full(vec1, model.num_topics), \
                              matutils.sparse2full(vec2, model.num_topics))
    sim = 1.0 / (1.0 + dist)
    return sim

def get_sims(vec):
    sims = [similarity(vec, vec2) for vec2 in author_vecs]
    return sims

def get_table(name, top_n=10, smallest_author=1):
    sims = get_sims(model.get_author_topics(name))


    table = []
    for elem in enumerate(sims):
        author_name = model.id2author[elem[0]]
        sim = elem[1]
        author_size = len(model.author2doc[author_name])
        if author_size >= smallest_author:
            table.append((author_name, sim, author_size))
            

    df = pd.DataFrame(table, columns=['Author', 'Score', 'Size'])
    df = df.sort_values('Score', ascending=False)[:top_n]
    
    return df

In [8]:
get_table('caudillomx')


Out[8]:
Author Score Size
87 caudillomx 1.000000 8
28 FedericoArreola 0.993058 89
85 carloselizondom 0.989338 50
7 AztecaNoticias 0.938794 69
82 arturoangel20 0.927304 136
117 leozuckermann 0.924208 15
13 DeniseDresserG 0.918693 54
0 ADNPolitico 0.903563 420
63 SalCamarena 0.890209 37
78 almorenoal 0.889025 25

In [ ]: