R tm package stemCompletion'Out of Memory'

时间:2016-03-01 13:50:46

标签: r text-mining tm text-analysis

我一直在努力完成以下教程:http://www.rdatamining.com/examples/text-mining但是,不是使用我一直使用的.csv文件的twitter数据(不幸的是内容很敏感,不能公开)。

.csv文件有两列,A列中的用户键和B列中的一段叙述文本(Response)。文件已使用以下代码打开,

Data <- read.csv(file="PATH/FILE.csv", header=TRUE, sep=",", stringsAsFactors=FALSE)
Data <- Data[!(Data$Response==""), ]
df<- do.call("rbind", lapply(Data$Response, as.list))

df是'91的列表',列表中的每个项目都是“character”类型。

本教程是从行库(tm)开始的,除了在NarrativeCorpus <- tm_map(NarrativeCorpus, PlainTextDocument)之后添加myCorpus <- tm_map(myCorpus, removeWords, myStopwords)之外没有任何差异,我发现需要用于词干。

代码在完成时失败:myCorpus <- tm_map(myCorpus, stemCompletion, dictionary=dictCorpus)错误,

  

grep中的错误(sprintf(“^%s”,w),字典,值= TRUE):      无效的正则表达式,原因'内存不足'

我试图在网上看到堆栈溢出而运气不佳。

我尝试将参考字典转换为一个独特单词列表,然后再将其转换为语料库(以减小其大小),但无济于事。

我在带有4GB RAM的Windows 7笔记本电脑上使用R 64位3.2.3和RStudio Desktop 0.99.891。所有套餐都是最新的(根据RStudio)。

这是我的第一篇SO帖子,所以我欢迎建议我应该包括什么以及为什么等等。

1 个答案:

答案 0 :(得分:0)

我遇到了类似问题Error in grep(sprintf("^%s", w), dictionary, value = TRUE) : invalid regular expression,在搜索结果后,我在this thread找到了this website中找到的解决方案。

此代码应在加载语料库后添加:

content_transformer <- function(x) iconv(x, to='UTF-8-MAC', sub='byte')
myCorpus <- tm_map(myCorpus, content_transformer)
祝你好运