Política Monetária

Levando o Relatório de Inflação para o R

By 30 de março de 2017 No Comments

O R pode ser uma ferramenta poderosa para quem lida com análise de textos. Em minhas atividades de pesquisa, por exemplo, há a construção de índices de comunicação do Banco Central, onde preciso classificar determinadas palavras em classes de "potência" da política monetária. Isto é, se um determinado conjunto de palavras for mais citado do que outro, é possível dizer se a política monetária será mais expansionista, contracionista ou neutra. Agora, imagine o trabalho que dá fazer isso na mão? Pois é. O R é uma baita ajuda nessa empreitada.

Para ilustrar esse processo de mineração de textos (ou text mining) de forma simples aqui, vamos construir uma wordcloud do relatório de inflação divulgado nessa manhã.  Para isso, em primeiro lugar preciso levar o relatório para o R. Para fazer isso, eu vou usar o pacote pdftools, como abaixo.

library(pdftools)
download.file("http://www.bcb.gov.br/htms/relinf/port/2017/03/ri201703P.pdf", 
 "ri201703P.pdf", mode = "wb")
ri = pdf_text("ri201703P.pdf")

Uma vez que tenhamos o relatório no R, agora podemos operar a "mágica". Para isso, vamos fazer uso do pacote tm, uma biblioteca específica para text mining. Carregamos o pacote e colocamos nosso objeto ri na estrutura de um corpus, a classe de variável utilizada pelo pacote.

library(tm)
text_corpus = Corpus(VectorSource(ri))

Feito isso, podemos agora usar a função tm_map() para modificar o conteúdo do nosso corpus. Para detalhes, ver a documentação do pacote.

corpus_clean = tm_map(text_corpus, stripWhitespace)
corpus_clean = tm_map(corpus_clean, removeNumbers)
corpus_clean = tm_map(corpus_clean, PlainTextDocument)
corpus_clean = tm_map(corpus_clean, removePunctuation) 
corpus_clean = tm_map(corpus_clean, removeWords, stopwords('pt')) 

E, por fim, podemos usar o pacote wordcloud para enfim construir nossa wordcloud... 

library(wordcloud)
wordcloud(corpus_clean, max.words=150, random.order=FALSE, 
 colors=brewer.pal(8,"Dark2"))

O resultado é bastante simples. Mas imagine agora as possibilidades do text mining com uma ferramenta tão poderosa quanto o R? 🙂

 

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais
e conteúdos exclusivos sobre Análise de Dados!

Assinar Gratuitamente