【发布时间】:2014-07-15 18:35:13
【问题描述】:
我想绘制一个术语文档矩阵,但无法生成语料库。我希望能够通过选择文本并将其复制到剪贴板来生成语料库。例如,我想要从 150 段 Lorem Ipsum 数据中绘制 TDM。
这部分只是为了从lipsum.com中提取word数据
library("tm")
#generate a corpus from clipboard
clipboard2 <- read.table("clipboard",sep="\r")
下一部分将(如果有效)将剪贴板 2 拆分为一堆文档,从中获取相关性。 我认为这里有一个比创建文档更简单的解决方案,然后为了语料库的缘故重新读回。
#how many docs to print out for correlations sake
for (i in 1:10) {
start <- floor(1 + (i-1) * nrow(clipboard2) / 10)
end <- i * nrow(clipboard2) / 10
write.table(clipboard2[start:end, 1],
paste0("C:/Users/me/Documents/", i ,".txt", collapse=""), sep="\t")
}
将文档语料库拉入变量。如果我手动将lipsum.com 数据拆分为某个目录中的几个文档,那么从现在开始,一切都可以正常工作。
#Corpus collection
feedback <- Corpus(DirSource("C:/Users/me/Documents/"))
删除单词和空格,尽管这里可能存在一些冗余。然后创建 TDM。
#Cleanup
feedback <- tm_map(feedback, stripWhitespace)
feedback <- tm_map(feedback, tolower)
feedback <- tm_map(feedback, removeWords, stopwords("english"))
#TDM creation (redundant?)
tdm <- TermDocumentMatrix(feedback, control = list(removePunctuation = TRUE,
removeNumbers = TRUE,
stopwords = TRUE))
最后,绘制 TDM。这里没有问题。
#plotting TDM
plot(tdm,
terms = findFreqTerms(tdm, lowfreq = 70),
corThreshold = 0.6)
)
【问题讨论】:
标签: r