如何在r中使用整洁的文本进行二元组主题建模?

use*_*539 2 r text-mining n-gram topic-modeling tidytext

所以我尝试使用tidytext包来做bigrams主题建模,按照tidytext网站上的步骤操作:https://www.tidytextmining.com/ngrams.html .

我能够进入"word_counts"部分,其中R计算每个bi-gram的频率.

"word_counts"返回以下内容:

   customer_id       word          n
   <chr>            <chr>        <int>
 1 00000001234  sample text        45
 2 00000002345  good morning       30
 3 00000003456  happy friday       24
Run Code Online (Sandbox Code Playgroud)

下一步是将上面的信息放入dtm格式

我的代码如下:

lda_dtm <- word_counts %>%
  cast_dtm(customer_id, word, n)
Run Code Online (Sandbox Code Playgroud)

提出了一条警告信息:

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. 
Run Code Online (Sandbox Code Playgroud)

但是"lda_dtm"看起来像是正确的格式.

lda_dtm
<<DocumentTermMatrix (documents: 9517, terms: 341545)>>
Non-/sparse entries: 773250/3249710515
Sparsity           : 100%
Maximal term length: NA
Weighting          : term frequency (tf)
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行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))
Run Code Online (Sandbox Code Playgroud)

提出以下警告:

Error in seq.default(CONTROL_i@iter, control@burnin + control@iter, by = control@thin) : 
  wrong sign in 'by' argument
Run Code Online (Sandbox Code Playgroud)

我没有在整齐的文本网站上看到关于bi-gram的主题建模教程,该教程专门针对unigrams.我应该如何调整格式以使用bi-gram

phi*_*ver 5

1:从cast_dtm获得的消息实际上来自cast_sparse.在github上有两个问题,#120和#121,处理这个问题.目前这已经固定在github上的软件包中,但这还没有发布到fla.

如果你愿意,你可以从github安装它devtools::install_github("juliasilge/tidytext").

2:你从LDA得到的错误与1无关.如果你只是运行out_LDA <- LDA(lda_dtm, k = k)LDA将运行正常.问题出在你的控制选项上thin.这应该小于或等于iter参数.在你的情况下,这被设置为500,而它是300.因此错误.当thin比其高1时,您可以看到出现的错误.