In [3]:
from gensim.models import AuthorTopicModel

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

In [4]:
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: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: deportesw marthadebayleenw función mesaparatodos marcaclaromvs columna_indicadorpolitico ramírez Columna # sujeto homicidio 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: reacción puedes checa tacos dejará utilizar exclusiva frase estreno ve 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: to is this columna health russia have an in_the from 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: crisis_venezuela detenido vacaciones puedes alaireconpaola El Salvador galería man spider combustible 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: joséluiscuevas identificar alaire_fm másgrandequenunca imagen_radio imageninformativa Imagen Radio actividad sujeto disculpas 

Words: cdmx luis josé alaire cuevas josé_luis escribe José Luis Cuevas monterrey osorio 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: jajaja anticorrupción sistema_nacional Sistema Nacional Anticorrupción consejo aumento actividad sujeto oriente ética 

Words: oncenoticias actividad ética homicidio sujeto responsables normalistas oficina policía_federal disculpas 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: a y méxico el duarte gobierno opinión javier eu vía 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: a y el trump video the años of entérate venezuela 

Words: slp neza pacientes márquez llosa vargas_llosa campusnewsmilenio marcaclaromvs renato sales 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: vale despacito lujo rebase_tope actividad ética sujeto oficina normalistas disculpas 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: cristian lluvias_fuertes mil_litros comando mil litros vale porsinoloviste noesbroma telediariomatutino cristian_castro 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: pasedelista pasedelista_pm exigimos absolutamentefuerapeña xindignofuerapeña eselnarcoestado peñanietoencubridor peñanieto peñayduartesoncomplices ayotzifueelejercito 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: despiertaconloret penal sistema_justicia engéntate lasnoticiascondanielle nl decibel másvalemaña DespiertaConLoret… libreacceso 

Words: leopoldolópez abu abu_bakr bakr Abu Bakr importa foroglobal identificar izzi_sky vale 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: amlo fox korrodi tv Lino Korrodi lino_korrodi lino anticorrupción amigo ayuntamiento 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: cdmx mesaparatodos puebla zócalo_cdmx bravo lugares mejores junio urgente vas 

Words: levario marco_levario telefórmula Marco Levario Turcott turcott porlamañana porlamañana_fm angélica campusnewsmilenio alaire_porlamañana 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: be of_the q that sujeto oriente homicidio normalistas disculpas oficina 

Words: mccartney arternativo asesinatos enlared visitaguiada estación enlared_escribe francesa recordamos sabíasque 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: that care his senate health_care as than one culpa vale 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: penal informaciónw chihuahua lesvy riña kelly carlos penal_acapulco reos homenaje 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: laotraopinión laotraopinion contraste actividad ética homicidio normalistas camioneta disculpas responsables 

Words: foroglobal agendapública sujeto actividad normalistas oriente disculpas oficina asesinos ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: climammtv telediariomatutino enfoque enfoque_noticias camiones eedienteanimal carretera oficina_promociones inclusión angélica 

Words: for conago leaks graves frente_amplio amplio fuerza cita entender ideas 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: laprimeramvs alaire_laprimeramvs oriente sujeto asesinos responsables oficina homicidio policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: audiontx videontx infografíantx sujeto actividad normalistas oriente ética oficina responsables 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: enpunto enpunto_mira nota_completa atandocabos zócalo_cdmx garcía mil_litros mil litros resultados impreso 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: paul mando padrastro angélica arturo marcaclaromvs abrazo forotv FOROtv Canal forotv_canal 

Words: actividad normalistas oriente homicidio sujeto asesinos disculpas oficina policía_federal ética 

Words: lomásyi notieress sujeto responsables oriente homicidio asesinos actividad disculpas oficina 

Words: lanzó excélsiortv excélsior excélsiorinforma excélsiorinforma_excélsiortv disculpas stan_lee ética oficina normalistas 


In [ ]:


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 [ ]: