使用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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句