Я пытаюсь сделать тематическое моделирование с помощью 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 позволит мне взять столько документов, сколько я могу разумно вписать в модель, а затем вывести темы по остальным документам. Этого было достаточно для моих нужд.