Java Реализация для расчета показателя когерентности с помощью Маллета - PullRequest
0 голосов
/ 27 марта 2020

Я создаю приложение на основе Java для вычисления показателя когерентности, полученного с помощью модели topi c. Я использую Маллет, и документация для этого процесса доступна в

https://www.machinelearningplus.com/nlp/topic-modeling-gensim-python#14computemodelperplexityandcoherencescore

# Compute Coherence Score
coherence_model_lda = CoherenceModel(model=lda_model, texts=data_lemmatized, dictionary=id2word, coherence='c_v')
coherence_lda = coherence_model_lda.get_coherence()
print('\nCoherence Score: ', coherence_lda)

Приложение запускает модель для 1-10 тем и использует этот показатель когерентности, помогающий пользователю определить оптимальное количество тем для создания окончательной модели.

#n_array[1,2,3,4,5,6,7,8,9,10]
for num_topics in n_array:
            model = gensim.models.wrappers.LdaMallet(mallet_path, corpus=corpus, num_topics = num_topics, id2word=dictionary)
            model_list.append(model)
            coherencemodel = CoherenceModel(model=model, texts=texts, dictionary=dictionary, coherence='c_v')
            coherence_values.append(coherencemodel.get_coherence())

        return model_list, coherence_values

Согласно документации исходного кода , класс CoherenceModel является реализацией четырехэтапного конвейера когерентности topi c из статьи Майкл Редер, Андреас Бот и Александр Хиннебург: «Исследование пространства топографических c мер когерентности»

The Четыре этапа конвейера в основном:

  • Сегментация
  • Оценка вероятности
  • Мера подтверждения
  • Агрегация

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

. Есть ли какая-либо реализация java для этого конвейера, которую можно использовать для получения оценки когерентности? Модель Маллета?

или

Может ли любой из файлов вывода команды train-model Маллет (-diagnostics-file, --output-topi c -keys, --output- Можно ли использовать c -topics, --word-topi c -counts-file) для получения оценки когерентности модели?

...