Conjunto 431bd02 en modelado_topicos


Ignorar:
Fecha y hora:
24/08/2015 18:04:36 (hace 9 años)
Autor:
rboet <rboet@…>
Branches:
master, preprocesamiento, v1.0
Children:
80f1533
Parents:
bd6e395
Mensaje:

cambios al obtener el json, la ñ en los topicos y el orden de las palabras en el tooltip

Ficheros:
1 borrado
2 editados

Leyenda

No modificado
Añadido
Eliminado
  • templates/topic_explorer/verTopico.html

    rbd6e395 r431bd02  
    3939        var color = new Array();
    4040        var palabras_json = new Array();
    41         var llaves = {{llaves}};
    4241        llenar_array(topicos,color,palabras_json)
    4342        var palabras = new Array();
     
    6766        cont = 0;
    6867        if (total<11) {
    69             createBlocks(canvas,llaves,tam,color,cantidad,50,minimo,topicos);
    70             createBlocks(canvas,llaves,tam,color,cantidad,90,minimo,topicos);
     68            createBlocks(canvas,total,tam,color,cantidad,50,minimo,topicos);
     69            createBlocks(canvas,total,tam,color,cantidad,90,minimo,topicos);
    7170        }
    7271        else if (total>10 && total<51) {
    73             createBlocks(canvas,llaves,tam,color,cantidad,50,minimo*2,topicos);
    74             createBlocks(canvas,llaves,tam,color,cantidad,90,minimo*2,topicos);
     72            createBlocks(canvas,total,tam,color,cantidad,50,minimo*2,topicos);
     73            createBlocks(canvas,total,tam,color,cantidad,90,minimo*2,topicos);
    7574        }
    7675        else{
     
    7978                cantidad = parseInt(color.length/3)+2;
    8079            }       
    81             createBlocks(canvas,llaves,tam,color,cantidad,50,minimo*2,topicos);
    82             createBlocks(canvas,llaves,tam,color,cantidad,90,minimo*2,topicos);
     80            createBlocks(canvas,total,tam,color,cantidad,50,minimo*2,topicos);
     81            createBlocks(canvas,total,tam,color,cantidad,90,minimo*2,topicos);
    8382            if (total>60) {
    8483                cantidad-=2;
    8584            }
    86             createBlocks(canvas,llaves,tam,color,cantidad,130,minimo*2,topicos);
     85            createBlocks(canvas,total,tam,color,cantidad,130,minimo*2,topicos);
    8786        }
    8887       
     
    210209        function ArrayToString(data,indice) {
    211210            var myString='';
     211            var ordenados = Object.keys(data[indice].words).sort(function(a,b){return data[indice].words[b]-data[indice].words[a]});
    212212            var i=0;
    213             for (x in data[indice]['words']) {
     213            for (x in ordenados) {
    214214                    if (i>2) {
    215215                        myString+="\n"
    216216                    }
    217                     myString+=x;
     217                    myString+=ordenados[x];
    218218                    myString+=",";
    219219                    i++;
     
    222222            return myString;
    223223        }
     224       
    224225        //Se crea el arreglo con todas las palabras y su mayor probabilidad
    225226        function arreglo_global(allTopics,color,palabras_json){
  • topic_explorer/views.py

    rbd6e395 r431bd02  
    2121import csv
    2222
    23 import requests
    2423from django_topic_explorer.settings import URL_COMUN
    2524from django.utils.safestring import mark_safe
     
    4039
    4140#global lda_m, lda_v
    42 Topic_Json = {}
    43 
    4441
    4542lda_c = Corpus.load(corpus_file)
     
    131128def topics(request):
    132129    try:
    133         # populate entropy values
    134         data = lda_v.topic_oscillations()
    135 
    136         colors = [itertools.cycle(cs) for cs in zip(*colorlib.brew(3,n_cls=4))]
    137         factor = len(data) / len(colors)
    138 
    139         js = {}
    140         for rank,topic_H in enumerate(data):
    141             topic, H = topic_H
    142             js[str(topic)] = {
    143                 "H" : H,
    144                 "color" : colors[min(rank / factor, len(colors)-1)].next()
    145             }
    146 
    147         # populate word values
    148         data = lda_v.topics()
    149         for i,topic in enumerate(data):
    150             js[str(i)].update({'words' : dict([(w, p) for w,p in topic[:20]])})
    151         global Topic_Json
    152         Topic_Json = json.dumps(js)
     130        js=populateJson()
    153131        return HttpResponse(json.dumps(js))
    154132    except:
    155133        return dump_exception()
     134   
     135def populateJson():
     136    # populate entropy values
     137    data = lda_v.topic_oscillations()
     138
     139    colors = [itertools.cycle(cs) for cs in zip(*colorlib.brew(3,n_cls=4))]
     140    factor = len(data) / len(colors)
     141
     142    js = {}
     143    for rank,topic_H in enumerate(data):
     144        topic, H = topic_H
     145        js[str(topic)] = {
     146            "H" : H,
     147            "color" : colors[min(rank / factor, len(colors)-1)].next()
     148        }
     149
     150    # populate word values
     151    data = lda_v.topics()
     152    for i,topic in enumerate(data):
     153        js[str(i)].update({'words' : dict([(w.decode('unicode-escape'), p) for w,p in topic[:20]])})
     154    return js
     155
    156156
    157157def docs(request):
     
    205205        #url = reverse('verTopicos')
    206206        #Obtnener json
    207         global Topic_Json
     207        Topic_Json = populateJson()
     208        Topic_Json = json.dumps(Topic_Json)
    208209        topicos = json.loads(Topic_Json)
    209210        mi_color = []
    210211        mi_color = self.obtenerValores(topicos)
    211212        mi_color = json.dumps(mi_color)
    212         #obtener las llaves  para iterar en el select del index.html
    213         llaves=[]
    214         for x in topicos:
    215             llaves.append(int(x))
    216         llaves.sort()
    217213        topicos = json.dumps(topicos)
    218214        #print topicos
     
    229225                      {'topicos':topicos,
    230226                       'propuesta':propuesta,
    231                        'llaves':llaves,
    232227                       'color':mi_color,
    233228                       'texto':texto})
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.