Что такое оценочная функция в тематическом моделировании с использованием библиотеки mallet

Я новичок в тематическом моделировании и пытаюсь использовать библиотеку Mallet, но у меня есть вопрос.

Я использую простую параллельную многопоточную реализацию LDA, чтобы найти темы для некоторых экземпляров. Мой вопрос: что такое функция оценки в ParallelTopicModel?

У меня есть поиск в API, но у них нет описания. Также я прочитал это руководство.

Кто-нибудь может объяснить, что это за функция?

ИЗМЕНИТЬ

Это пример моего кода:

 public void runModel(Sting [] str){    
    ParallelTopicModel model = new ParallelTopicModel(numTopics);
    ArrayList<Pipe> pipeList = new ArrayList<Pipe>();
    // Pipes: lowercase, tokenize, remove stopwords, map to features
    pipeList.add(new CharSequenceLowercase());
    pipeList.add(new CharSequence2TokenSequence(Pattern.compile("\\p{L}[\\p{L}\\p{P}]+\\p{L}")));
    pipeList.add(new TokenSequence2FeatureSequence());
    InstanceList instances = new InstanceList(new SerialPipes(pipeList));
    instances.addThruPipe(new StringArrayIterator(str));

     model.addInstances(instances);
     model.setNumThreads(THREADS);
     model.setOptimizeInterval(optimizeation);
     model.setBurninPeriod(burninInterval);
     model.setNumIterations(numIterations);
     // model.estimate();
 }

person Jimmysnn    schedule 05.11.2014    source источник
comment
ваше регулярное выражение для токенов немного странное. Во-первых, \p{L} (строчные символы) является подмножеством \p{P} (печатаемые символы), поэтому [\p{L}]p{P}] совпадает с \p{P}. Во-вторых, если все ваши символы доступны для печати, вы получаете только один токен на документ (он начинается с первой строчной буквы и заканчивается последней).   -  person drevicko    schedule 19.11.2014


Ответы (1)


estimate() запускает LDA, пытаясь оценить модель темы с учетом данных и настроек, которые вы уже установили.

Взгляните на функцию main() в ParrallelTopicModel источник для вдохновения о том, что необходимо для оценки модели.

person drevicko    schedule 14.11.2014
comment
Я создал модель с учетом данных и настроек. Когда я вызываю функцию оценки, результатом является несколько тем в 8 секунд. Когда я не вызываю функцию оценки, в результате получается несколько тем за 3 секунды. В чем разница, когда я вызываю функцию оценки? - person Jimmysnn; 14.11.2014
comment
как вы создаете модель с учетом данных и настроек? Что именно ты сделал? - person drevicko; 15.11.2014
comment
Функция оценки оценивает модель темы. Темы, которые вы получаете перед вызовом, являются случайными начальными распределениями. - person drevicko; 19.11.2014
comment
Да, он использует метод выборки Гиббса для алгоритма вывода, и для этого требуется начальный шаг для случайного назначения слов различным темам. Итерации позже уточняют назначения в соответствии с функцией оптимизации. - person London guy; 15.01.2015