Przechodzę teraz do metody modelowania LDA (Algorytm Latent Dirichlet), aby pomóc w ekstrakcji tematów z zestawu dokumentów. Z tego, co zrozumiałem z poniższego linku, wynika, że jest to nienadzorowane podejście do uczenia się, kategoryzowania/oznaczania każdego z dokumentów za pomocą wyodrębnionych tematów.Modelowanie tematyczne - Przypisywanie dokumentu z 2 najważniejszymi tematami jako etykietą kategorii - sklearn Latent Dirichlet Allocation
Topic extraction with Non-negative Matrix Factorization and Latent Dirichlet Allocation
W przykładowym kodem podanym w tym linku znajduje się funkcja zdefiniowana, aby uzyskać najlepsze słowa związane z każdym tematem zidentyfikowane.
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)
Moje pytanie jest takie. Czy istnieje dowolny komponent lub macierz zbudowanego modelu LDA, skąd możemy uzyskać skojarzenie tematu dokumentu?
Na przykład muszę znaleźć górne 2 tematy związane z każdym dokumentem jako etykietą dokumentu/kategorią dla tego dokumentu. Czy istnieje jakiś element do znalezienia dystrybucji tematów w dokumencie, podobny do model.components_
do wyszukiwania słów w temacie.
Dzięki! Pracowałem jak czar – prashanth
Jestem trochę zdezorientowany w tym rozwiązaniu. Miałem nadzieję uzyskać wynik, który pokazuje tematy związane z każdym dokumentem. Coś takiego jak ten Dokument # 1: Temat: [1, 2, 3] – moku
To, co otrzymujesz, to dystrybucja tematów dla każdego dokumentu. Tak więc każda linia odpowiada dokumentowi i każdej kolumnie tematowi. Aby uzyskać pożądany wynik, możesz spojrzeć na każdą linię i uzyskać indeksy kolumn trzech największych wartości. Poda ci trzy najważniejsze tematy na każdy dokument. – clemgaut