2016-11-28 1 views
0

Получение этой ошибки в python при попытке вычислить lda для меньшего размера корпуса, но отлично работает в других случаях.ValueError: не может вычислить LDA над пустой коллекцией (без условий)

Размер корпуса составляет 15, и я попытался установить количество темы-затем восстанавливают его до 2, но она по-прежнему дает ту же ошибку: ValueError: не может вычислить LDA над пустой коллекцией (без терминов)

получаю ошибку на этой линии: lda = models.LdaModel(corpus, num_topics=topic_number, id2word=dictionary, passes=passes)

, где корпус является corpus = [dictionary.doc2bow(text) for a, id, text, s_date, e_date, qd, qd_perc in texts]

Почему не он дает не термины? Размер корпуса равен 15. Это только из-за очень небольшого размера корпуса?

+0

Можете ли вы предоставить некоторый ввод проб? –

+0

какой части вам нужно увидеть? – MANU

+0

корпус, который вы проходите ... текст ввода –

ответ

0

Таким образом, проблема с небольшими документами заключается в том, что если вы попытаетесь отфильтровать крайности от словаря, вы можете получить пустые списки в корпусе. corpus = [dictionary.doc2bow(text)].

Таким образом, значения параметров в dictionary.filter_extremes(no_below=2, no_above=0.1) должен быть выбран соответствующим образом и тщательно перед corpus = [dictionary.doc2bow(text)]

Я только что удалили экстремумы фильтр и Lda модель теперь работает нормально. Хотя я буду изменять значения параметров в экстремальном фильтре и использовать его позже.

Смежные вопросы