R:tm:TextDocument级元数据设置看起来非常低效

时间:2015-02-10 02:02:05

标签: r metadata text-mining tm corpus

我正在从数据库中加载文本文档,然后我从它们创建语料库,最后我设置了文档的前缀id(我需要使用前缀,因为我有几种类型的文档)。

rs <- dbSendQuery(con,"SELECT id::TEXT, content FROM entry")
entry.d = data.table(fetch(rs,n=-1))
entry.vs = VectorSource(entry.d$content)
entry.vc = VCorpus(entry.vs, readerControl = list(language = "pl"))
meta(entry.vc, tag = 'id', type = 'local') = paste0("e:",entry.d$id)

这很慢。

时需要6分钟
tm_map(entry.vc, tm_reduce, tmFuns = funs, mc.cores=1)

其中funs是6个函数的列表,只需要2分钟。

有没有办法更快地完成?

1 个答案:

答案 0 :(得分:2)

我已经在初始化VCorpus期间更改了我的代码以设置ID。

rs <- dbSendQuery(con,"SELECT ('e:'||id) AS id, content, 'pl'::TEXT AS language FROM entry")
entry.d = data.table(fetch(rs,n=-1))
entry.dfs = DataframeSource(entry.d)
reader <- readTabular(mapping=list(content="content", id="id", language='language'))
entry.vc = VCorpus(entry.dfs, readerControl = list(reader = reader))

现在用自定义ID生成VCorpus只需2.5分钟。