Исключение Java во время тематического обучения в Mallet

У меня есть следующая команда mallet (для версии 2.0.8 (3 мая 2016 г.)) в Linux 2.6.32-696.18.7.el6.x86_6 и среде выполнения Java SE (сборка 1.7.0_05-b06):

bin/mallet train-topics --input html/$1/topic --num-topics $1 \
--output-doc-topics result  \
--output-topic-docs top.gz
--optimize-interval 10 \
--num-threads 20 \
--output-topic-keys keys.txt \
--optimize-interval 10

но после 1000 итераций я получаю только этот вывод:

<1000> LL/token: -8.98037
Total time: 1 hours 47 minutes 18 seconds
Exception in thread "main" java.lang.ClassCastException: java.net.URI cannot be cast to java.lang.String
        at cc.mallet.topics.ParallelTopicModel.printTopicDocuments(ParallelTopicModel.java:1773)
        at cc.mallet.topics.tui.TopicTrainer.main(TopicTrainer.java:281)
Any suggestions for how to what this means or how to avoid the problem? Is there a way to proceed?

Дэниел Финберг NBER


person Daniel Feenberg    schedule 04.07.2018    source источник
comment
java.net.URI не может быть приведен к java.lang.String довольно очевидно. похоже на ошибку в ParallelTopicModel   -  person Philipp Sander    schedule 04.07.2018


Ответы (1)


Спасибо за использование Маллета! Непосредственной причиной является то, что версия 2.0.8 ожидает, что поле «Имя» будет строкой, а не URI. Похоже, это было исправлено в запросе на вытягивание от Te Rutherford вскоре после выпуска 2.0.8. В ближайшие несколько недель должен быть доступен предварительный выпуск версии 2.1.

person David Mimno    schedule 05.07.2018
comment
Какое поле Имя? Это в моей командной строке? Я не вижу URI в своей командной строке, но я рад изменить командную строку, если это поможет. Могу ли я указать путь к файлу или придерживаться имен файлов (не путей) или просто дождаться версии 2.1? - person Daniel Feenberg; 05.07.2018
comment
Как вы создаете список экземпляров? Я не помню, как возникает эта ситуация. - person David Mimno; 06.07.2018
comment
Насколько я могу судить, в командной строке Mallet не предусмотрено указание списка экземпляров. Поэтому я не могу ответить на ваш вопрос. В любом случае кажется, что использование файлов в текущем каталоге позволяет мне указывать имена файлов без косой черты, и это, кажется, позволяет Маллету работать. - person Daniel Feenberg; 06.07.2018
comment
@ david-mimno У меня тоже есть эта проблема. Прошел год с момента вашего ответа, а версии после 2.8.0 не было. Вы знаете версию, в которой нет этой проблемы? - person Sara Fahim; 24.11.2019
comment
Текущая версия разработки в Github имеет это исправление. - person David Mimno; 25.11.2019