效率更高的方法:将文本转换应用于语料库或df

时间:2018-06-21 23:20:37

标签: r memory-management dplyr tm

我有一个df,其中约有10万行,其中textsdoc_id是我要用于文本分析的列。

为了执行一些文本转换,我生成了一个单词Corpus:

df %>%  data.frame(.) %>%  DataframeSource(.) %>% Corpus(.) -> wordCorpus

诸如tolower之类的标准转换效果很好:

wordCorpus<- tm_map(wordCorpus, content_transformer(wordCorpus))

但是,如果我进行一些更复杂的转换,则会用完内存(尽管我有32GB的RAM)。

memory.limit(size=100000)
complex <- content_transformer(function(x) gsubfn("(\\d+)(-| - | bis | jusqu'à )(\\d+)", ~ paste(seq(..1, ..3), collapse = " "), x))
wordCorpus<- tm_map(wordCorpus,complex)

df本身上执行转换会更有效吗?

类似df %>% group_by(doc_id) %>% mutate(texts=gsubfn("(\\d+)(-| - | bis | jusqu'à )(\\d+)", ~ paste(seq(..1, ..3), collapse = " "), .)

还是有更好的方法以更少的内存使用量完成转换?

0 个答案:

没有答案