Использование онлайн LDA для прогнозирования на тестовых данных - PullRequest
0 голосов
/ 07 ноября 2018

Я использую онлайновый LDA для выполнения задачи моделирования темы. Я использую основной код, основанный на бумаге Original Online LDA: Хоффман, Блей и Бах, «Онлайн обучение для скрытого распределения дирихле». NIPS, 2010. и код доступен по адресу: https://github.com/blei-lab/onlineldavb.

Я использую поездный набор из ~ 167000 документов. Код генерирует лямбда-файлы в качестве выходных данных, которые я использую для создания тем (https://github.com/wellecks/online_lda_python, printtopics.py). Но я не уверен, как я могу использовать его для поиска тем по новым тестовым данным (аналогично model.get_document_topics) в Генсим). Пожалуйста, помогите разрешить мою путаницу.

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

В коде, который у вас уже есть, достаточно для этого. То, что у вас есть, - это лямбда (матрица слов-тем), а вы хотите вычислить гамму (матрица тем документов).

Все, что вам нужно сделать, это позвонить OnlineLDA.do_e_step на документы, результаты - векторы тем. Производительность можно улучшить, убрав из нее sstats, поскольку они нужны только для обновления лямбды. Результатом будет функция, которая выводит только тематические векторы для модели.

Вам не нужно обновлять модель, поскольку вы не обучаете ее, что и делает update_lambda после вызова do_e_step.

0 голосов
/ 09 ноября 2018

Выполните те же этапы обработки данных для тестовых данных, т.е. токенизацию и т. Д., А затем используйте свой учебный словарь для преобразования тестовых данных в корпус gensim.

После того, как у вас будет тестовый корпус, используйте LDA, чтобы найти распространение по теме документа. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...