Я пытаюсь запустить набор данных AssociatedPress из пакета tm
через реализацию LDA text2vec
.
Проблема, с которой я столкнулся, заключается в несовместимости типов данных: AssociatedPress
— это tm::DocumentTermMatrix
, который, в свою очередь, является подклассом slam::simple_triplet_matrix
. text2vec
однако ожидает, что ввод от x
до text2vec::lda$fit_transform(x = ...)
будет Matrix::dgTMatrix
.
Таким образом, мой вопрос таков: есть ли способ принудить DocumentTermMatrix
к чему-то, принятому text2vec
?
Минимальный (неудачный) пример:
library('tm')
library('text2vec')
data("AssociatedPress", package="topicmodels")
dtm <- AssociatedPress[1:10, ]
lda_model = LDA$new(
n_topics = 10,
doc_topic_prior = 0.1,
topic_word_prior = 0.01
)
doc_topic_distr =
lda_model$fit_transform(
x = dtm,
n_iter = 1000,
convergence_tol = 0.001,
n_check_convergence = 25,
progressbar = FALSE
)
...который дает:
base::rowSums(x, na.rm = na.rm, dims = dims, ...) : 'x' должен быть массивом не менее двух измерений