def generarLSI(carpeta_salida, cantidad_temas, idioma): generadorLSI = GeneradorLSI(carpeta_salida, cantidad_temas) generadorLSI.cargarDiccionarioYCorpus(idioma) generadorLSI.generarYSerializarTfIdf(idioma) generadorLSI.generarYSerializarLSIModel(idioma) generadorLSI.generarYSerializarIndice(idioma)
def run(self): if self.clean_level in ('raw','clean','stopwords'): kind = self.clean_level else: kind = 'stopwords' for idioma, salida in self.output()['langs'].iteritems(): print '==============================' print 'Corriendo LSI de %s con nivel de limpieza %s' % (idioma, kind) print '==============================' # Cargar diccionario y corpus generadorLSI = GeneradorLSI(ruta_diccionario=self.input()['dict']['langs'][idioma].path, ruta_corpus = self.input()['corp']['langs'][idioma].path, ruta_modelo_tfidf = 'dummy', ruta_modelo_lsi = 'dummy', ruta_indice = 'dummy', temas = 0) # Correr LSI del idioma para cada numero de topicos. # ESTO SE PUEDE MEJORAR PARA CARGAR SOLO UNA VEZ EL DICCIONARIO Y EL CORPUS DE UN IDIOMA for n_topics, o in salida.iteritems(): print 'Número de tópicos: ' + str(n_topics) # Parámetros para el número de tópicos generadorLSI.ruta_modelo_tfidf = o['tfidf'].path generadorLSI.ruta_modelo_lsi = o['lsi-model'].path generadorLSI.ruta_indice = o['lsi-index'].path generadorLSI.temas = n_topics generadorLSI.cargarDiccionarioYCorpus() # Correr el modelo generadorLSI.generarYSerializarTfIdf() generadorLSI.generarYSerializarLSIModel() generadorLSI.generarYSerializarIndice()