python - scikit - Modelado de temas: asigne un documento con los dos temas principales como etiqueta de categoría-sklearn Asignación de Dirichlet latente
scikit learn español (1)
Puede calcular la asociación documento-tema utilizando la función de transformación (X) de la clase LDA.
En el código de ejemplo, esto sería:
doc_topic_distrib = lda.transform(tf)
con lda la lda ajustada y los datos de entrada que desea transformar
Paso ahora a través del método de modelado de temas LDA (Latent Dirichlet Latencia) para ayudar en la extracción de temas de un conjunto de documentos. A partir de lo que he entendido desde el siguiente enlace, este es un enfoque de aprendizaje no supervisado para categorizar / etiquetar cada uno de los documentos con los temas extraídos.
Extracción de tópicos con factorización de matriz no negativa y asignación de Dirichlet latente
En el código de muestra proporcionado en ese enlace, hay una función definida para obtener las palabras principales asociadas con cada uno de los temas identificados.
sklearn.__version__
Fuera [41]: ''0.17''
from sklearn.decomposition import LatentDirichletAllocation
def print_top_words(model, feature_names, n_top_words):
for topic_idx, topic in enumerate(model.components_):
print("Topic #%d:" % topic_idx)
print(" ".join([feature_names[i]
for i in topic.argsort()[:-n_top_words - 1:-1]]))
print()
print("/nTopics in LDA model:")
tf_feature_names = tf_vectorizer.get_feature_names()
print_top_words(lda, tf_feature_names, n_top_words)
Mi pregunta es esto. ¿Hay algún componente o matriz del modelo LDA construido, desde donde podemos obtener la asociación documento-tema ?
Por ejemplo, necesito encontrar los dos temas principales asociados con cada documento como la etiqueta / categoría del documento para ese documento . ¿Hay algún componente para encontrar la distribución de temas en un documento, similar al model.components_
para encontrar la distribución de palabras dentro de un tema?