lsa - gensim python
Encontrar temas de un documento invisible a través de Gensim (2)
Pude mostrar los temas usando:
para temas de t: print lsi.show_topics (t [0])
Solo quería señalar un error pequeño, pero importante, en su código de solución: necesita usar la función show_topic () en lugar de la función show_topic ** s ** ().
PD: Sé que esto debería publicarse como un comentario en lugar de una respuesta, ¡pero mi puntaje de reputación actual todavía no permite comentarios!
Estoy usando Gensim para hacer un poco de modelado de temas a gran escala. Tengo dificultades para entender cómo determinar los temas predichos para un documento invisible (no indexado). Por ejemplo: tengo 25 millones de documentos que he convertido en vectores en el espacio LSA (y LDA). Ahora quiero descubrir los temas de un nuevo documento, vamos a llamarlo x.
De acuerdo con la documentación de Gensim, puedo usar:
topics = lsi[doc(x)]
donde doc (x) es una función que convierte x en un vector.
El problema es, sin embargo, que la variable anterior, topics, devuelve un vector. El vector es útil si comparo x con documentos adicionales porque me permite encontrar la similitud del coseno entre ellos, pero no puedo devolver las palabras específicas que están asociadas con x.
¿Me estoy perdiendo algo, o Gensim no tiene esta capacidad?
Gracias,
EDITAR
Larsmans tiene la respuesta.
Pude mostrar los temas usando:
for t in topics:
print lsi.show_topics(t[0])
El vector devuelto por []
en un modelo LSI es en realidad una lista de pares (topic, weight)
. Puede inspeccionar un tema por medio del método LsiModel.show_topic