【问题标题】:How to reduce sparsity in document term matrix in which corpus is large (R)如何减少语料库很大的文档术语矩阵中的稀疏性(R)
【发布时间】:2017-06-28 02:13:47
【问题描述】:

我有一个包含超过 15,000 个文本文档的语料库。 removeSparseTerms 函数不起作用:

dtm

<<DocumentTermMatrix (documents: 15095, terms: 12811)>>
Non-/sparse entries: 140286/193241759
Sparsity           : 100%
Maximal term length: 37
Weighting          : term frequency (tf)

dtms <- removeSparseTerms(dtm, 0.1)
dtms

<<DocumentTermMatrix (documents: 15095, terms: 0)>>
Non-/sparse entries: 0/0
Sparsity           : 100%
Maximal term length: 0
Weighting          : term frequency (tf)

我也试过了,没用:

colTotals<- col_sums(dtm)
dtm2 <- dtm[,which(colTotals>20)]
dtm2

<<DocumentTermMatrix (documents: 15095, terms: 1387)>>
Non-/sparse entries: 100867/20835898
Sparsity           : 100%
Maximal term length: 26
Weighting          : term frequency (tf)

我还能做些什么来减少稀疏性?我希望能够在 excel 中打开频率表,但现在它需要太多内存所以我无法打开(这就是我想减少稀疏性的原因)。

【问题讨论】:

    标签: r


    【解决方案1】:

    我遇到了类似的问题,在我的情况下,增加稀疏性会有所帮助(因为我的文档中术语的频率非常低)。而不是dtms &lt;- removeSparseTerms(dtm, 0.1) 试试这个:dtms &lt;- removeSparseTerms(dtm, 0.99)

    有关稀疏度的明确定义,请参阅https://stats.stackexchange.com/questions/160539/is-this-interpretation-of-sparsity-accurate(“稀疏度是指术语的相对文档频率的阈值,超过该阈值将删除该术语。”)

    【讨论】:

      猜你喜欢
      • 2021-07-27
      • 1970-01-01
      • 2015-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-05
      • 1970-01-01
      • 2017-03-12
      相关资源
      最近更新 更多