LDA - разработчик тем.Для этого требуется корпус, который выглядит следующим образом:
# the words become numbers and are then counted for frequency
# consider a random row 4310 - it has 27 words word indexed 2 shows up 4 times
# preview the bag of words
bow_corpus = [dictionary.doc2bow(doc) for doc in processed_docs]
bow_corpus[4310]
[(3, 1), (13, 1), (37, 1), (38, 1), (39, 1), (50, 1), (52, 2)]
# same thing in more words
bow_doc_4310 = bow_corpus[4310]
for i in range(len(bow_doc_4310)):
print("Word {} (\"{}\") appears {} time.".format(bow_doc_4310[i][0],
dictionary[bow_doc_4310[i][0]],
bow_doc_4310[i][1]))
Слово 3 («помощь») появляется 1 раз.Слово 13 («оплата») появляется 1 раз.Слово 37 («учетная запись») появляется 1 раз.Слово 38 («карточка») появляется 1 раз.Слово 39 («кредит») появляется 1 раз.Слово 50 («контакт») появляется 1 раз.Слово 52 («оценка») появляется 2 раза.
Id2word отображает слово в словаре на индекс, поэтому 3 = «помощь», чтобы впоследствии можно было печатать темы.Он использует номер id, так как python обрабатывает числа лучше и быстрее.Таким образом, предложения к словам, слова к числам, подсчитывают частоту, затем сравнивают каждое слово со всеми другими словами в корпусе и оценивают их по частоте, с которой они встречаются вместе.Он берет самую сильную корреляцию и превращает ее в тему.
num_topics - это количество тем, которые вы хотите создать.update_every - это способ, которым вы можете настроить динамический запуск lda, это означает, что он будет перезапускаться через заданный интервал.Chuncksize занимает только часть набора данных, это полезно, если вы хотите набор тестов и набор проверки.Пропуски - это то, сколько раз ваш алгоритм ищет распределение - я был бы осторожен с большим числом в шахте Википедии, сходящейся к одной теме после двух проходов.Альфа - это гиперпараметр, обычно .1 итераций - это количество раз, которое он проходит через набор данных.per_word_topics говорит вашему LDA выбрать по своему усмотрению, сколько слов будет помещено в тему, например, одна тема может содержать 70 слов, а другая 200. По умолчанию она печатает 10, но вы можете это изменить.Я надеюсь, что это помогает:)