Тематическое моделирование НЛП с помощью pyLDAvis для визуализации результатов, но получена ошибка из-за того, что сумма нормализованных распределений не равна 1

Я пытаюсь использовать pyLDAvis для визуализации результатов LDA на блоках данных.

Окружение:

Spark NLP version:  2.5.5
Apache Spark version:  2.4.5

Я получил ошибку:

ValidationError: 
* Not all rows (distributions) in topic_term_dists sum to 1.

из кода:

pyLDAvis.prepare(**data)

данные имеют два массива:

data['doc_topic_dists'], data['doc_lengths']

Я использовал ту же функцию, что и исходный код PyLDAvis по адресу https://github.com/bmabey/pyLDAvis/blob/master/pyLDAvis/_prepare.py

def __num_dist_rows__(array, ndigits=2):
   return array.shape[0] - int((pd.DataFrame(array).sum(axis=1) < 0.999).sum())

чтобы убедиться, что сумма всех строк равна 1.

Но я все еще получил ошибку.

Я обнаружил, что ошибка появляется только тогда, когда ее размер велик. В настоящее время это 900+ строк.

Если это 300+ строк, нет ошибки.

решения pyLDAvis: ошибка проверки при попытке визуализировать темы и pyLDAvis визуализация модели LDA, сгенерированной pyspark

не работает.

Может ли кто-нибудь помочь мне с этим?

Благодарность


person user3448011    schedule 08.09.2020    source источник
comment
Вы пробовали все строки кусками по ~ 300 или это была одна выборка такого размера?   -  person Alex    schedule 14.09.2020