Оба пакета работают нормально и функционально идентичны.Какой из них вы можете использовать, зависит от вашего варианта использования.Есть небольшие различия в функциях каждой модели и небольшие различия в именовании, что может немного сбивать с толку, но для большинства случаев использования DTM не имеет большого значения, какой вы выберете.
Идентичны ли выходы модели?
Не совсем так.Однако они очень, очень близки к идентичности (98% +) - я полагаю, что большинство различий происходит от немного различного подхода к вероятностям в генеративном процессе.До сих пор я еще не сталкивался со случаем, когда разница в шестой или седьмой цифре после десятичной точки имеет какое-либо существенное значение.Интерпретация тем, которые ваши модели находят, имеет значение гораздо больше, чем одна версия, находящая более высокую загрузку темы для некоторого слова на 0,00002
Большая разница между двумя моделями: dtmmodel
- это оболочка Python для оригинальной реализации C ++ из blei-lab , что означает, что python будет запускать двоичные файлы, а ldaseqmodel
полностью написано на python.
Зачем использовать dtmmodel?
- код на C ++ быстрее, чем реализация на python
- поддерживает модель влияния документов из Gerrish / Blei 2010 (потенциально интересную для вашего исследования, см. эту статью дляреализация.
Зачем использовать ldaseqmodel?
- проще в установке (простой оператор
import
против загрузки двоичных файлов) - можно использовать
sstats
от модели LDA с предварительной подготовкой - полезно с LdaMulticore
- , чтобы легче понять работу кода
Я в основном использую ldaseqmodel
, но это для удобства.РодныеОднако было бы здорово иметь поддержку DIM.
Что делать?
Попробуйте каждый из них, скажем, на небольшой выборке и посмотрите, чтомодели возвращаются.3800 документов - это не огромный корпус (при условии, что патенты не имеют сотен страниц каждый), и я предполагаю, что после предварительной обработки (удаление стоп-слов, изображений и метаданных) ваш словарь также не будет слишком большим(я бы предположил, что в патентах много стандартных и легальных фраз).Выберите тот, который лучше всего подходит для вас или обладает необходимыми вам возможностями.
Полный анализ в любом случае может занять несколько часов, если вы позволите своему коду работать в одночасье, практических различий мало, в конце концов, вас волнует, завершится ли онв 3 или 5 утра?Если время выполнения критически важно, я бы предположил, что dtmmodel
будет более полезным.
Для примеров реализации вы можете взглянуть на следующие ноутбуки: ldaseqmodel и dtmmodel