在文档术语频率中查找常用单词及其值

时间:2018-09-29 00:34:08

标签: r matrix word-frequency

因此,我必须从DTM中找到最常用的单词及其值。

library('tm') 
library("SnowballC")  
my.text.location "C:/Users/mrina/OneDrive/Documents/../"
apapers <- VCorpus(DirSource(my.text.location)) class(apapers)
apapers <- tm_map(apapers, removeNumbers) 
apapers <- tm_map(apapers, removePunctuation) 
apapers <- tm_map(apapers, stemDocument, language ="en")

这是为了清理语料库以及下面的内容,以创建DTM并查找频率。

ptm.tf <- DocumentTermMatrix(apapers) 
dim(ptm.tf)
findFreqTerms(ptm.tf)

有没有办法将常用词和频率值放在一起?

2 个答案:

答案 0 :(得分:0)

如果您不介意使用其他软件包,则该方法应该起作用(而不是创建DTM对象):

library('tm') 
library("SnowballC")  
my.text.location "C:/Users/mrina/OneDrive/Documents/../"
apapers <- VCorpus(DirSource(my.text.location)) 
class(apapers)
apapers <- tm_map(apapers, removeNumbers) 
apapers <- tm_map(apapers, removePunctuation) 
apapers <- tm_map(apapers, stemDocument, language ="en")

# new lines here
library(qdap)
freq_terms(apapers)                ^

reprex package(v0.2.0)于2018-09-28创建。

答案 1 :(得分:0)

T::T(T&)只不过是在稀疏矩阵上使用行和。该函数使用满贯的findFreqTerms。为了使单词保持计数,我们可以使用相同的功能。 slam软件包是在安装tm时安装的,因此,如果您加载slam或通过row_sums调用它们,则这些功能可用。使用slam中的函数会更好,因为它们可以处理稀疏矩阵。基础slam::会将稀疏矩阵转换为较慢的密度矩阵并使用更多的内存。

rowsums