Usando o conceito de text mining para filtrar as palavras mais utilizadas no artigo: https://blog.dsacademy.com.br/10-livros-incriveis-para-iniciar-a-carreira-de-analista-de_dados/, é gerada uma nuvem dessas palavras ilustrando por meio de tamanho e cores as que mais se repetem no texto em questão.
library(dplyr)
library(ggplot2)
library(tidytext)
library(rvest)
library(stringr)
library(wordcloud)
library(htmltools)
library(tm)
library(wesanderson)
1. O texto:
noticia="https://blog.dsacademy.com.br/10-livros-incriveis-para-iniciar-a-carreira-de-analista-de_dados/"
2. Extração e limpeza do texto (Mineração):
O texto passa por um processo que passa pela mudança do formato do arquivo original para tabela e limpeza do texto.
leitura <- read_html(c(noticia))
texto <- leitura %>%
html_nodes("p") %>%
html_text()
texto <- as.data.frame(texto)
transformar_texto <- tolower(texto)#tornar letras minúsculas
transformar_texto <- removePunctuation(transformar_texto)#remove pontos
transformar_texto <- removeNumbers(transformar_texto)#remover números
transformar_texto <- stripWhitespace(transformar_texto)#remover espaços
stopwords_pt <- c(stopwords("pt"),"o","é","do","ser", "nesse","mas")
leia<- removeWords(transformar_texto , stopwords_pt)
Os termos encontrados no texto limpo que irá gerar a nuvem de palavras, tem suas frequências calculadas baseadas na proporção que se apresentam, com isso são ranqueadas as palavras mostrando os termos mais usados.
word.counts <- as.matrix(TermDocumentMatrix(leia))
word.freq <- sort(rowSums(word.counts),decreasing = TRUE)
head(word.freq)
## dados livro data análise analista big
## 51 19 17 14 9 7
Após a transformção e mineração do texto é gerada a nuvem de palavras levando em conta uma ordem de cores e tamanhos para ilustrar quais palavras mais repetem.
Resultado:
wordcloud(leia,scale=c(4,0.5),max.words=20,random.order = TRUE,color=wes_palette("Royal1"))