使用tm检查文档术语矩阵的相应术语(英语词汇)

时间:2015-09-12 14:46:13

标签: r text-mining tm

嗨,这必须是超级基本的:

我正在使用tm包从语料库创建文档术语矩阵,因此我的矩阵的列名是我的语料库中术语的索引。有人可以这么好告诉我如何检查我的语料库中与矩阵中的这些索引相对应的原始单词吗?非常感谢你!!

2 个答案:

答案 0 :(得分:2)

实际上,行名称是术语的索引。这是你想要的吗?

library(tm)
docs <- c("This is a text.", 
          "This another one.", 
          "This is some more.")

cor  <- Corpus(VectorSource(docs))
tdm  <- TermDocumentMatrix(cor, control=list(tolower=TRUE, removePunctuation=TRUE))
as.matrix(tdm)
#          Docs
# Terms     1 2 3
#   another 0 1 0
#   more    0 0 1
#   one     0 1 0
#   some    0 0 1
#   text    1 0 0
#   this    1 1 1

将来请务必提供您的数据的代表性示例。

答案 1 :(得分:0)

我有点怀疑你正在尝试将这些单词连接回原始语料库并获得语料库索引。如果是这样,你可以使用@ jlhoward的例子来做到这一点:

library(tm)
docs <- c("This is a text. And me too.", 
          "This another one.", 
          "This is some more.")

cor  <- Corpus(VectorSource(docs))
tdm  <- TermDocumentMatrix(cor, control=list(tolower=TRUE, removePunctuation=TRUE))
as.matrix(tdm)

txt <- sapply(cor, function(x) x[[1]])


setNames(lapply(rownames(tdm), function(x){
   grep(x, txt, ignore.case=TRUE)
}), rownames(tdm))

## $another
## [1] 2
## 
## $more
## [1] 3
## 
## $one
## [1] 2
## 
## $some
## [1] 3
## 
## $text
## [1] 1
## 
## $this
## [1] 1 2 3