. Теперь я перехожу через LDA (выделение скрытого распределения Дирихле). Метод моделирования тем, помогающий в извлечении тем из набора документов. Как я понял из приведенной ниже ссылки, это неконтролируемый подход к обучению для категоризации/маркировки каждого из документов с извлеченными темами.Моделирование темы. Назначьте документ с двумя верхними темами в качестве метки категории. Sklearn. Скрытое распределение Дирихле.
Topic extraction with Non-negative Matrix Factorization and Latent Dirichlet Allocation
В примере код, указанный в этой ссылке, там есть функция, определенная, чтобы получить верхние слова, связанные с каждым из этой темы были определены.
sklearn.__version__
Out [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)
Мой вопрос заключается в следующем. Есть ли любой компонент или матрица построенной модели LDA, откуда мы можем получить ассоциацию документа-темы?
Например, мне нужно найти топ 2 темы, связанные с каждым документом как метку документа/Категория для этого документа. Есть ли какой-либо компонент для поиска распределения тем в документе, аналогично model.components_
для нахождения распределения слов в теме.
Спасибо! Работал как шарм – prashanth
Я немного смущен этим решением. Я надеялся получить результат, который показывает темы, связанные с каждым документом. Что-то вроде этого Документ № 1: Тема: [1, 2, 3] – moku
Что вы получаете - это распределение тем для каждого документа. Поэтому каждая строка соответствует документу и каждому столбцу для темы. Чтобы получить результат, который вы хотите, вы можете посмотреть каждую строку и получить индексы столбцов из трех самых больших значений. Это даст вам три наиболее важные темы для каждого документа. – clemgaut