get_document_topics () возвращает пустой список тем - PullRequest
0 голосов
/ 03 июля 2018

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

поэтому doc равно ['party'], а id2word.doc2bow(doc) равно [(229, 1)], что означает, что слово известно.

Однако, если я позвоню get_document_topics() с doc_bow, результатом будет пустой список:

id2word = lda.id2word 

# ..

doc_bow = id2word.doc2bow(doc)

t = lda.get_document_topics(doc_bow)

try:
    label, prob = sorted(t, key=lambda x: -x[1])[0]
except Exception as e:
    print('Error!')
    raise e

Единственное возможное объяснение, которое у меня есть, заключается в том, что этот документ (одно слово) нельзя назначить для любой темы. Это причина, почему я вижу это?

1 Ответ

0 голосов
/ 24 декабря 2018

Вот как я решил эту проблему:

в файле gensim / models / ldamodel.py вам нужно отредактировать значение epsilon до большего значения.

DTYPE_TO_EPS = {
    np.float16: 1e-5,
    np.float32: 1e-35, #line to change 
    np.float64: 1e-100,
}

также убедитесь, что для параметраimum_probability функции get_document_topics установлено очень маленькое значение.

...