所以,我正在分析一个巨大的语料库。它有大约40,000个文件。我试图用R的tm包来分析它。我创建了一个文档术语矩阵,读取100%稀疏度,这意味着该语料库中没有常用词。
library(qdap)
library(SnowballC)
library(dplyr)
library(tm)
docs <-Corpus((DirSource(cname)))
docs <-tm_map(docs,content_transformer(tolower))
docs <-tm_map(docs,content_transformer(removeNumbers))
docs <-tm_map(docs,content_transformer(removePunctuation))
docs <-tm_map(docs,removeWords,stopwords("english"))
#docs<- tm_map(docs, stemDocument)
dtm <- DocumentTermMatrix(docs)
<<DocumentTermMatrix (documents: 39373, terms: 108065)>>
Non-/sparse entries: 2981619/4251861626
Sparsity : 100%
Maximal term length: 93
Weighting : term frequency (tf)
我删除了所有不经常的单词,我得到了这个:
dtms <- removeSparseTerms(dtm, 0.1)
dim(dtms)
[1] 39373 0
R是这样做的,因为我的语料库太大了吗?
更新
所以我一直在搜索这个问题。这似乎是一个并行计算问题。我不太确定。但我偶然发现了这些关于r Link
中分布式文本挖掘的讨论更新更新*
所以我想我的问题是一个重复的问题,我在不同的地方找到答案。一个是在kaggle网站进行数据科学竞赛。另外两个答案在stackoverflow link和另一个link。我希望这有帮助。另外,hands on data science site上有一些很好的tm包示例,以及gaston's页面中R的文本处理文档。