ngram不能正常工作总是unigram

时间:2018-06-07 08:13:31

标签: r

我正在进行文本挖掘。我想做ngram,但它总是像unigram一样。

# myprogram
library(tm)
library(ngram)
library(RColorBrewer)
library(wordcloud)
library(RWeka)
library(data.table)
library(dplyr)

setwd('F:/My files/specification')
df<- read.csv('spec.csv')
test<- Corpus(VectorSource(df$doc1))
test <- tm_map(test, tolower)
test <- tm_map(test, stripWhitespace)
test <- tm_map(test, removeNumbers)
test <- tm_map(test, removePunctuation)
test <- tm_map(test, function(x) removeWords(x, stopwords("english")))
test  <- tm_map(test, stemDocument, language = "english") 
test  


tok <- function(x) NGramTokenizer(x, Weka_control(min=2, max=10))
tdm <- TermDocumentMatrix(test,control = list(tokenize = tok))
termFreq <- rowSums(as.matrix(tdm))
termFreqVector <- as.list(termFreq)
test2 <- data.frame(unlist(termFreqVector), stringsAsFactors=FALSE)
setDT(test2, keep.rownames = TRUE)[]
setnames(test2, 1, "term")
setnames(test2, 2, "freq")
test3 <- head(arrange(test2,desc(freq)), n = 30)

ggplot(data=test3, aes(x=reorder(term, freq), y=freq)) + geom_bar(stat="identity") + 
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) + coord_flip()

............................................... .....................

这是我的计划。我在一些问题中看到我必须安装0.6-2 tm软件包版本,我试过但它不适用于R版本3.5.0。

请帮帮我。

1 个答案:

答案 0 :(得分:0)

我发现问题不是来自tm包,因为我得到了原始数据的答案。我的数据是一个包含15行和5列的csv文件.15文档分为5个部分,那么我的数据问题是什么?