结果仍然考虑停用词...... 我的txt几行:
Sensacional,uma das melhores remakesdeanimaçãoSaido cinema emocionado,absurdamente lindo,insensibilidade de quem reclama do musical,lindo demais。 (...)o filme depende muito da nostalgiadaanimaçãoparafuncionar。 E apesar de ser eficaz,somente esse sentimentogi sustenta o longa sozinho para dizer que esta obra tenha qualidade erefinamentocinematográficos。(...)A Bela ea Fera acerta em tornar asuahistóriaaindaextremamente relevante nos dias atuais,e se de um lado inova o seu contexto social,por outro lado a falta de originalidade compromete que a obra seja mais impactante。
Reding txt
data <- read_tsv("bela.txt", locale = locale(encoding = "latin1"))
制作语料库
datacorpus <- VCorpus(VectorSource(data))
datacorpus <- tm_map(datacorpus, PlainTextDocument)
datacorpus <- tm_map(datacorpus, removePunctuation)
datacorpus <- tm_map(datacorpus, removeWords, stopwords('pt'))
BigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 2, max = 2))
tdm <- TermDocumentMatrix(datacorpus,control=list(removePunctuation = TRUE,
stopwords = stopwords('pt'),
removeNumbers = TRUE,
tokenize = BigramTokenizer))
m <- as.matrix(tdm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
head(d, 10)
set.seed(1234)
wordcloud(words = d$word, freq = d$freq, min.freq = 1,
max.words=200, random.order=FALSE, rot.per=0.35,
colors=brewer.pal(8, "Dark2"))
答案 0 :(得分:0)
假设你想要删除包含停用词的双字母组,使用tidytext包,你就可以
library(dplyr)
library(tidytext)
set.seed(47)
data_frame(text = 'Sensacional, uma das melhores remakes de animação sai do cinema emocionado, absurdamente lindo, insensibilidade de quem reclama do musical, lindo demais. (...)o filme depende muito da nostalgia da animação para funcionar. E apesar de ser eficaz, somente esse sentimento não sustenta o longa sozinho para dizer que esta obra tenha qualidade e refinamento cinematográficos.(...)A Bela e a Fera acerta em tornar a sua história ainda extremamente relevante nos dias atuais, e se de um lado inova o seu contexto social, por outro lado a falta de originalidade compromete que a obra seja mais impactante.') %>%
unnest_tokens(bigram, text, 'ngrams', n = 2) %>% # tokenize bigrams
mutate(i = row_number()) %>% # add index for later grouping
unnest_tokens(word, bigram, drop = FALSE) %>% # tokenize bigrams into words
anti_join(data_frame(word = tm::stopwords('pt'))) %>% # drop rows with stop words
group_by(i) %>% # group by bigram index
filter(n() == 2) %>% # drop bigram instances where only one word left
summarise(bigram = unique(bigram)) %>% # collapse groups to single bigram each
count(bigram) %>%
{ wordcloud::wordcloud(.$bigram, .$n, min.freq = 1, scale = c(1, .2), rot.per = .35,
colors = RColorBrewer::brewer.pal(8, 'Dark2')) }
颜色不在这里工作,因为每个颜色只有一次,但应该在规模上正常工作。