как получить распределение вероятностей для темы в маллете?

Используя молоток, я могу получить определенное количество тем и их слов. Как я могу убедиться, что тематические слова имеют распределение вероятностей (т.е. сумма до единицы)?

Например, если я запускаю его, как показано ниже, как я могу использовать выходные данные, данные молотком, чтобы убедиться, что вероятности слов темы для темы 0 составляют 1?

mallet train-topics --input text.vectors --output-topic-keys topics.txt --output-doc-topics doc_comp.txt --topic-word-weights-file weights.txt --num-top-words 50 --word-topic-counts-file counts.txt --num-topics 3 --output-state topicstate.gz --alpha 1

person samsamara    schedule 21.10.2015    source источник
comment
Я предполагаю, что ваш файл weights.txt содержит вес, присвоенный каждому слову в теме? Прошло некоторое время с тех пор, как я использовал Mallet, но вы должны просто открыть этот файл в чем-то вроде Excel и просуммировать веса слов темы?   -  person SJB    schedule 22.10.2015
comment
да, но это не равно единице. Это нормально, если я просто L1 или L2 нормализую веса, или есть какой-то особый способ сделать это?   -  person samsamara    schedule 22.10.2015
comment
Не могли бы вы опубликовать вес 10 лучших терминов в теме? Я думаю, вам нужно нормализоваться. Если я правильно помню, когда я использовал Маллет, некоторые слова имели вес больше 1.   -  person SJB    schedule 22.10.2015
comment
Я думаю, что вероятности будут равны p(word|topic) = (count[topic, word] + alpha / num_word_types) / (sum(count[topic, w] for w in words) + alpha).   -  person senderle    schedule 20.12.2016
comment
Возможный дубликат как получить вероятность темы слова с помощью молотка   -  person senderle    schedule 21.12.2016