2016-12-19 15 views
5

Próbuję wywnioskować tematy dokumentu na podstawie mojego wyszkolonego modelu tematu przez MALLET. Używam następujące polecenia w katalogu młotkaMALLET temat-wnioskowanie

./mallet infer-topics --inferencer topic-model --input indata.mallet --output-doc-topics infered_docs

ale utknie w wyjątku Obsada:

java.lang.ClassCastException: cc.mallet.topics.ParallelTopicModel cannot be cast to cc.mallet.topics.TopicInferencer jak mogę rozwiązać ten problem?

+0

Czy mogę wiedzieć, dlaczego 'bash' jest oznaczony w tym? – sjsam

+0

Wygląda na to, że 'model tematu' nie jest poprawnym typem parametru' --inferencja'. – Berger

+1

@ sjsam, ponieważ używam pliku mallet.sh, który jest skryptem basha i pobiera argumenty kodu java w formacie bash –

Odpowiedz

3

Istnieje różnica między modelem a instrukcją. Opcja --output-model FILENAME w komendzie train-topics generuje plik (model), który zawiera dane treningowe wraz ze wszystkimi przewidywanymi parametrami. Numer --inferencer-filename FILENAME tworzy znacznie mniejszy plik (inferencer), który zawiera tylko parametry niezbędne do wnioskowania o tematach dotyczących nowych dokumentów.

Komenda infer-topics wymaga inferencer tematu, a nie kompletny model. Można utworzyć inferencer z istniejącego pliku modelu, uruchamiając train-topics z opcjami --input-model FILENAME i --inferencer-filename FILENAME, z --num-iterations 0.