Проблемы с трудностями при использовании text2vec - PullRequest
0 голосов
/ 23 октября 2019

Я использую text2vec на 230 тыс. Документов, как я всегда упоминал. Я пытаюсь найти лучший номер темы для моей матрицы терминов документа, используя недоумение. Когда я использую его один за другим, он работает отлично, но когда я пытаюсь использовать цикл, чтобы получить его в диапазоне от 2 до 25, он не работает, и я не могу сказать, почему, может кто-нибудь сказать мне, чтоне так?

##Using perplexity for hold out set
t1 <- Sys.time()
perplex <- c()
for (i in 2:25){

  set.seed(17)

    lda_model <- LDA$new(n_topics = i)
    doc_topic_distr <- lda_model$fit_transform(x = dtm,  progressbar = F)

    perplex[i]  <- text2vec::perplexity(sample.dtm, topic_word_distribution = 
    lda_model$topic_word_distribution, doc_topic_distribution = new_doc_topic_distr) 
}
print(difftime(Sys.time(), t1, units = 'sec'))

INFO [2019-10-23 13:01:43] early stopping at 80 iteration
INFO [2019-10-23 13:01:45] early stopping at 20 iteration
INFO [2019-10-23 13:01:53] early stopping at 70 iteration
INFO [2019-10-23 13:01:55] early stopping at 20 iteration
Error in text2vec::perplexity(sample.dtm, topic_word_distribution = lda_model$topic_word_distribution,  : 
  nrow(topic_word_distribution) == ncol(doc_topic_distribution) is not TRUE

1 Ответ

0 голосов
/ 27 октября 2019

Это потому, что вам нужно пересчитать new_doc_topic_distr внутри цикла

...