Обычно при моделировании темы я использую что-то вроде:
matrix <- create_matrix(cbind(as.vector(lda_data)), language="english", removeNumbers=TRUE, weighting=weightTf)
k <- 20 #Hardcoded temp value
lda <- LDA(matrix, k, method = "Gibbs", control = list(iter = 1000, burnin = 1000))
Terms <- terms(lda, 20)
Но с набором данных среднего размера (3,2 миллиона строк) я получаю следующую ошибку при вычислении матрицы:
Warning message:
In nr * nc : NAs produced by integer overflow
Error in as.matrix(textColumns) :
error in evaluating the argument 'x' in selecting a method for function 'as.matrix': Error in vector(typeof(x$v), nr * nc) : vector size cannot be NA
Есть ли другая библиотека / подход, позволяющий избежать этой ошибки? (Код отлично работает с небольшими наборами данных)
В качестве альтернативы, при использовании TermDocumentMatrix в качестве матрицы для LDA мои результирующие термины полностью числовые, есть ли способ вместо них строк (слов)?
dtm <- removeSparseTerms(dtm, 0.99)
. Это не решает проблему OP, если они хотят иметь матрицу и не хотят прибегать к удалению разреженных терминов, стоп-слов и т. Д. (Т.е. массивная потеря информации). 30.11.2016