2017-02-07 28 views
1

Я использую LDA в молотке для изучения моих данных. У меня нет никаких проблем с запуском, просто мне нужно, чтобы иметь вероятность лучших слов (скажем, 20 слов)как получить вероятность слов из тем в Mallet

Я использую этот запрос:

bin\mallet train-topics --input tutorial.mallet --num-topics 40 --optimize-interval 20 --output-state topic-state_doc_40t.gz --output-topic-keys tutorial_keys_doc_40t.txt --output-doc-topics tutorial_composition_doc_40t.txt 

Я не знаю, что бы запрос для вероятностей слов.

ответ

2

Вы должны иметь возможность использовать опцию --topic-word-weights-file FILENAME.

Формат выходного файла

topic [tab] word [tab] weight 

где weight пропорциональна вероятности слова в этой теме. Разделите на сумму весов для темы, чтобы получить нормированную вероятность.

1

Поздний ответ, но кто знает, он может помочь кому-то другому.

MALLET 2.0.8 имеет новую функцию для вывода очень интересного файла диагностики, содержащего множество показателей для каждой темы и ее верхних слов. Вероятность слова - одна из них.

Просто добавьте --diagnostics-file FILENAME в команду поезда.

Количество слов, описанных для каждой темы, такое же, как определено «--num-top-words».

Вот ссылка на подробную документацию: http://mallet.cs.umass.edu/diagnostics.php. Если вы не хотите повторно тренировать свою тему, вы можете вывести файл диагностики в любом случае, используя ваш файл состояния. Все описано в ссылке.