使用 tm 包从语料库构建文档术语矩阵非常简单。
我想从文档术语矩阵构建一个语料库。
令 M 为文档集中的文档数。
令 V 为该文档集词汇表中的术语数量。那么文档术语矩阵就是 M*V 矩阵。
我还有一个长度为 V 的词汇向量。词汇向量中是由文档术语矩阵中的索引表示的单词。
我想从 dtm 和词汇向量构建一个“语料库”对象。这是因为我想阻止我的文档集。我手动构建了 dtm 和 vocab - 即从来没有 tm“语料库”对象代表我的数据集,所以我无法使用该函数,
tm_map(corpus, stemDocument, language="english")
我一直在尝试构建一种解决方法,在其中限制词汇表并仅保留唯一的单词,但是尝试维护 dtm 和词汇向量之间的对应关系会变得有些复杂。
理想情况下,最终结果是我的词汇向量经过词干处理并且仅包含唯一条目,并且 dtm 索引对应于词干词汇向量。如果您能想到其他方法来做到这一点,我也将不胜感激。
如果我可以简单地从我的 dtm 和词汇向量构建一个 tm“语料库”,提取语料库,然后转换回 dtm 和词汇向量(我已经知道如何进行这些转换),那么我的麻烦就可以解决。
如果我可以进一步澄清问题,请告诉我。
这是我自己提供的方法最小可重复示例(作为新用户,您可能不知道这是您的责任)tm
包裹:
## Minimal Reproducible Example
library(tm)
data("crude")
dtm <- DocumentTermMatrix(crude,
control = list(weighting =
function(x)
weightTfIdf(x, normalize = FALSE),
stopwords = TRUE))
## Convert tdm to a list of text
dtm2list <- apply(dtm, 1, function(x) {
paste(rep(names(x), x), collapse=" ")
})
## convert to a Corpus
myCorp <- VCorpus(VectorSource(dtm2list))
inspect(myCorp)
## Stemming
myCorp <- tm_map(myCorp, stemDocument)
inspect(myCorp)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)