Поэтому я попытался использовать пакет tidytext для моделирования темы bigrams, выполнив шаги на веб-сайте tidytext: https://www.tidytextmining.com/ngrams.html.
Мне удалось добраться до части "word_counts", где R вычисляет частоту каждой биграммы.
"word_counts" вернул следующее:
customer_id word n
<chr> <chr> <int>
1 00000001234 sample text 45
2 00000002345 good morning 30
3 00000003456 happy friday 24
Следующим шагом было поместить информацию сверху в формат dtm
Мой код указан ниже:
lda_dtm <- word_counts %>%
cast_dtm(customer_id, word, n)
Предупреждение выдано:
Warning message:
Trying to compute distinct() for variables not found in the data:
- `row_col`, `column_col`
This is an error, but only a warning is raised for compatibility reasons.
The operation will return the input unchanged.
Но «lda_dtm» выглядит в правильном формате.
lda_dtm
<<DocumentTermMatrix (documents: 9517, terms: 341545)>>
Non-/sparse entries: 773250/3249710515
Sparsity : 100%
Maximal term length: NA
Weighting : term frequency (tf)
Однако, когда я попытался запустить lda, это не сработало.
burnin <- 4000
iter <- 300
thin <- 500
seed <-list(2003,5,63,100001,765)
nstart <- 5
best <- TRUE
k <- 6
out_LDA <- LDA(lda_dtm,
k = k,
method="Gibbs",
control = list(nstart=nstart,
seed = seed,
best=best,
burnin = burnin,
iter = iter,
thin = thin))
Было выдано следующее предупреждение:
Error in seq.default(CONTROL_i@iter, control@burnin + control@iter, by = control@thin) :
wrong sign in 'by' argument
Я не вижу учебника по моделированию тем на веб-сайте с текстами для текста bi-grams , учебник был специально для униграмм . Как мне отрегулировать формат, чтобы он работал с bi-грамм ?