Gensim LDA Coherence Score Nan - PullRequest
       101

Gensim LDA Coherence Score Nan

1 голос
/ 16 февраля 2020

Я создал модель LDA Gensim, как показано в этом руководстве: https://www.machinelearningplus.com/nlp/topic-modeling-gensim-python/

lda_model = gensim.models.LdaMulticore(data_df['bow_corpus'], num_topics=10, id2word=dictionary, random_state=100, chunksize=100, passes=10, per_word_topics=True)

И он генерирует 10 тем с log_perplexity:

lda_model.log_perplexity (data_df ['bow_corpus']) = -5.325966117835991

Но когда я запускаю на ней модель когерентности для вычисления показателя когерентности, например:

coherence_model_lda = CoherenceModel(model=lda_model, texts=data_df['bow_corpus'].tolist(), dictionary=dictionary, coherence='c_v')
with np.errstate(invalid='ignore'):
    lda_score = coherence_model_lda.get_coherence()

Моя оценка LDA - это нан. Что я здесь не так делаю?

1 Ответ

1 голос
/ 16 февраля 2020

Решено! Для модели когерентности требуется исходный текст, а не учебный корпус, поданный в LDA_Model - поэтому, когда я запустил это:

coherence_model_lda = CoherenceModel(model=lda_model, texts=data_df['corpus'].tolist(), dictionary=dictionary, coherence='c_v')
with np.errstate(invalid='ignore'):
    lda_score = coherence_model_lda.get_coherence()

, я получил оценку когерентности: 0,462

Надеюсь, это поможет кому-то другому совершить ту же ошибку. Спасибо!

...