Blog

Como criar uma WordCloud em Python

Carlos Melo
Escrito por Carlos Melo em 08/10/2019
Como criar uma WordCloud em Python
Junte-se a mais de 3.500 pessoas

Entre para nossa lista e receba conteúdos exclusivos e com prioridade

Veja como criar uma wordcloud usando Python com a ajuda da biblioteca wordcloud.

Wordcloud – em português, nuvem de palavras ou nuvem de tags – é um tipo de visualização de dados muito poderoso e ferramenta de Data Science usado quando estamos trabalhando com textos, documentos, pesquisas, entre outras.

Resumidamente, é como se você estivesse contando a frequência com que cada palavra aparece em um texto. Com essa frequência, você define tamanhos proporcionais às palavras, dispondo-as, também, em ângulos diferentes.

Como fazer uma wordcloud (nuvem de palavras ou nuvem de tags) usando Python.

As palavras maiores são as que apareceram mais no texto, e as menores são as que menos apareceram. Além de ser extremamente útil para análises, é visualmente impactante, agregando valor a qualquer relatório ou notebook.

Na figura acima, eu usei a base de dados disponibilizada pelo Airbnb no seu portal Inside Airbnb e peguei os dados relacionados à cidade do Rio de Janeiro. Lá é possível baixar um grande volume de dados de diferentes cidades para desenvolver projetos e soluções de Data Science.

Basicamente, eu extrai as descrições de todas as casas que estão para alugar, com a finalidade de descobrir quais os termos e palavras são mais usados pelos anfitriões do site. Veja como fazer o mesmo neste tutorial.

Se você quiser acompanhar todo o código em Python, basta clicar no botão acima para abrir o Jupyter notebook no meu Github.

Se você está começando sua carreira de cientista de dados, recomendo ler também este meu artigo introdutório sobre o assunto.

Importando os dados do Airbnb

Como eu disse, o Airbnb disponibiliza os dados de várias cidades para download. O dataset que eu escolhi foi o da figura abaixo. Para te ajudar, eu já fiz o download do dataset completo e descompactei o mesmo. Aqui está o link para download.

Este dataset tem mais de 110Mb, por causa das suas 35.451 entradas e 106 atributos! Vamos importar ele todo, mas como só vou usar a coluna summary, que contém a “propaganda” do dono da casa, vou descartar todo o resto.

Para começar, instale a biblioteca wordcloud  – caso você não tenha – e siga os passos abaixo. Se tiver qualquer dúvida sobre como usar, leia a documentação oficial dela no Github.

Veja alguns exemplos de descrições dadas aos imóveis no Airbnb:

Para conseguir criar uma nuvem de palavras, eu preciso juntar todas elas em um único texto.

Depois de colocar todo o texto em uma única string, nós vamos usar, pela primeira vez, a biblioteca wordcloud. A primeira etapa consiste em criar uma lista de stopwords.

Stopwords são, basicamente, palavras que devem ser removidas da wordcloud por não agregarem nenhuma informação (mas que aparecem muito). Alguns exemplos são “a”, “não”, “mas”, “and”, “I”, “not”, entre outras.

Depois de definir as palavras que serão descartadas, instanciamos um objeto do tipo WordCloud e fornecemos os parâmetros como mostrado na sequência abaixo. Agora é só chamar o método generate() e a wordcloud será gerada.

Para você ter uma ideia, temos um total de 9.823.645 extraídas da base de dados do Airbnb!

Essa massa de volumes pode ser difícil de analisar por manipulação tradicional de dados, mas, com a ajuda da wordcloud, é possível identificar somente o que de fato importa.

Nuvem de palavras gerada com Python e wordcloud.

Eu, que odeio o calor, tenho que concordar com essa nuvem de palavras: ar condicionado é a coisa mais importante para quem aluga uma casa no Rio de Janeiro 🙂

Criar uma WordCloud sobre uma imagem

Apenas essa nuvem já seria suficiente para uma análise. No entanto, se você quiser gerar um efeito visual a mais, saiba que é possível usar imagens como máscaras nas wordclouds.

Uma vez que eu estou falando de Rio de Janeiro, que tal plotar as palavras sobre uma imagem do Cristo Redentor, símbolo da cidade?!

Gerar wordcloud com Python e dados do Airbnb pro Rio de Janeiro

wordcloud analisa as intensidades dos pixels e considera o que está em preto como área para desenhar as palavras. Vou importar a figura acima, e vamos ver o resultado na prática!

Como criar wordcloud com Python e Data Science

Simples assim. Apenas se certifique de que sua imagem realmente apresenta valores em branco e preto para a máscara funcionar.

É possível escolher fonte, tamanho da fonte, quantidade máxima de palavras e cor do fundo. Espero que tenha gostado deste tutorial.

Tenho certeza de que na próxima vez que olharem algo do tipo, nos seus relatórios, você vai escutar algo como “nossa, como você fez isso?!” 🙂

Hey,

o que você achou deste conteúdo? Conte nos comentários.

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Entre para nossa lista e receba conteúdos exclusivos e com prioridade

Junte-se a mais de 3.500 pessoas

FAQ e Curso
Curso Data Science