MALLET Java API Импорт данных

Я пытаюсь сделать тематическое моделирование с помощью Java API. В пакете есть удобный пример. Однако, учитывая гораздо больший размер моих данных, я думаю, что было бы нецелесообразно импортировать их все из одного файла.

Я просмотрел презентацию PowerPoint, связанную с другим вопросом MALLET, и нашел что-то, называемое FileIterator, которое, как мне кажется, я должен использовать вместо CsvIterator, используемого в их примере кода Java. Однако я не уверен, правильно ли я его использую. Я попытался запустить свой код с его помощью, и он застрял на непрактично большом количестве времени в строке, которая просто создает FileIterator. Я еще не углублялся в код MALLET, чтобы проанализировать эту проблему; Я подумал, что кто-то может уже знать об этом больше. Могу ли я просто передать ему каталог, содержащий несколько каталогов, в которых хранятся сами документы?

А еще есть вероятность, что я просто даю слишком много данных сразу.

Итак, мой общий вопрос состоит из двух частей:

1) В каком масштабе может работать MALLET? У меня есть ~500 000 6-строчных документов, которым я хотел бы дать темы. Возможно ли это с MALLET в первую очередь?

2) Если ответ на вышеизложенное таков, что это возможно, как лучше всего импортировать эти данные с помощью MALLET? Если это невозможно с MALLET, какие еще варианты я мог бы использовать?


РЕДАКТИРОВАТЬ: я действительно смог использовать FileIterator, но его использование было не таким, как я подозревал. Самый простой способ сделать то, что я пытался сделать, — поместить все отдельные файлы, содержащие один экземпляр, в один каталог. Затем я могу передать этот каталог FileIterator, и он будет работать так же, как CsvIterator.

Что касается масштабируемости, мне удалось запустить около 10 000 коротких документов за разумное время, но, поскольку LDA рассматривает все документы одновременно, я не думаю, что будет возможно сделать это для всех документов сразу. Однако класс TopicInferencer в MALLET позволит мне взять столько документов, сколько я могу разумно вписать в модель, а затем вывести темы по остальным документам. Этого было достаточно для моих нужд.


person pjshap    schedule 14.11.2014    source источник


Ответы (2)


Вы уменьшили размер корпуса, а затем запустили тематическое моделирование, чтобы посмотреть, как скоро оно завершит обработку?

Кроме того, здесь вы можете найти некоторые показатели производительности, связанные с моделированием темы Mallet, о которых кто-то сообщил, чтобы сравнить его со своим продуктом.

http://www.slideshare.net/wadkarsameer/large-scale-topic-modeling

person London guy    schedule 15.01.2015

Я Самир Вадкар, автор http://www.slideshare.net/wadkarsameer/large-scale-topic-modeling . Я смог масштабировать его с моей модифицированной версией LDA для молотка до 2,5 миллионов документов. У меня есть более чистая версия здесь

https://github.com/sameeraxiomine/largelda

Отправьте мне письмо, если вы хотите использовать его. В какой-то момент я планировал составить список инструкций для пользователя, но пока не дошел до этого.

person user1732578    schedule 29.01.2015
comment
Я думаю, что пока все в порядке, но я напишу по электронной почте, если мне действительно понадобится решение для работы с большими данными. Спасибо! - person pjshap; 29.01.2015