output-topic-docs выдает пустой текстовый файл в Mallet

#cmd #lda #topic-modeling #mallet

Вопрос:

Я хочу запустить модель в Mallet, и мне нужен вывод topic-docs, который дает наиболее важные документы для каждой темы. Это необходимо для правильной интерпретации менее понятных тем. Но Mallet продолжает выдавать мне пустые текстовые файлы.

Это команда, которую я использую:

     binmallet train-topics --input cleandata1000.mallet --num-topics 250 --num-iterations 3000 --optimize-interval 50 --optimize-burn-in 50 --output-topic-keys 1000-300-3000-50-topic-keys.txt --output-topic-docs 1000-300-1000-50-topic-docs.txt --num-top-docs 20 --output-doc-topics 1000-300-1000-50-doc-topics.txt --doc-topics-threshold 0.01 --xml-topic-phrase-report 1000-300-1000-50-topic-phrase.xml --output-state 1000-300-1000-50-state.gz --use-symmetric-alpha true
 

Кто-нибудь знает, в чем может быть причина?

Редактировать в ответ на комментарий Дэвида Мимно от 4 ноября:

То же самое происходит с разными данными (где документы имеют разную длину).

Я только что запустил несколько других моделей с тестовыми данными Mallet. Странно: это испытание вообще не дало никаких результатов (поэтому «en-topic-docs.txt «не был сделан).

 binmallet train-topics --input en.mallet --num-topics 5 --output-topic-docs en-topic-docs.txt 
 

Когда я запрашиваю ключи темы в качестве выходных данных, создаются оба файла, но en-topic-docs.txt пусто.

 binmallet train-topics --input en.mallet --num-topics 5 --output-topic-keys en-topic-keys.txt --output-topic-docs en-topic-docs.txt
 

Мой плохой: появляется повторяющееся сообщение об ошибке:

Исключение в потоке «main» java.lang.ClassCastException: класс java.net .URI не может быть приведен к классу java.lang.Строка (java.net .URI и java.lang.Строка находится в модуле java.base загрузчика ‘bootstrap’) в cc.mallet.topics.ParallelTopicModel.printTopicDocuments(ParallelTopicModel.java:1773) в cc.mallet.topics.tui.TopicTrainer.main(TopicTrainer.java:281)

Я не знаю, что это может означать.

Спасибо за любую помощь, вы спасаете мою кандидатскую диссертацию 🙂

Комментарии:

1. Ничто не выглядит явно неправильным. Возможно ли, что файл данных пуст или поврежден? Могут ли сообщения об ошибках удаляться?

Ответ №1:

Я смог исправить это, используя последнюю версию на github (202108) вместо MALLET 2.0.8. Теперь это работает как шарм.

Инструкции по использованию версии для разработки: http://mallet.cs.umass.edu/download.php

Спасибо за советы, Дэвид Мимно!