Я следовал документации здесь , а также по этой ссылке: Учебное пособие по машинному обучению Gensim и я совершенно не понимаю, почему это происходит. После токенизации и лемматизации своих предложений я поместил предложения через фразер, создал словарь и вставил все правильные переменные в модель. Вот пример моего кода:
tokens = [[euid, sent, gensim.parsing.preprocessing.preprocess_string(sent.lower(), filters=[strip_punctuation,
strip_multiple_whitespaces, strip_numeric, remove_stopwords, strip_short, wordnet_stem])] for sent in sentences]
#these filters are all default gensim filters except for wordnet_stem, which uses a WordNetLemmatizer
bigram = gensim.models.Phrases(bag_of_words)
bigram_mod = gensim.models.phrases.Phraser(bigram)
Пример списка токенов выглядит следующим образом: ['beautiful', 'Manager', 'tree', 'caring', 'great_place']
(полностью составленный список)
texts = [bigram_mod[t] for t in bag_of_words]
id2word = corpora.Dictionary(texts)
sent_wordfreq = [id2word.doc2bow(sent) for sent in texts]
lda_model = gensim.models.ldamodel.LdaModel(corpus=sent_wordfreq,
id2word=id2word,
num_topics=5,
update_every=1,
alpha='auto',
per_word_topics=True)
Вот темы, которые я получаю:
[(0, 'nan * "обнаружено" + nan * "получено" + nan * "send" + ...
(1, 'nan * "обнаружено" + nan * "получено" + nan * "send" + ...
и это продолжается еще 3 раза
Так что не только все темы одинаковы, вес каждого - это нэн. В чем может быть проблема?