Nuvem de palavras Python | Como construir a nuvem do Word em Python?

Conteúdo

O Word Clouds acabou por ser uma técnica de visualização revolucionária para compreender e determinar padrões e tendências em evolução.. Seja para descobrir as agendas políticas dos candidatos a candidatos eleitorais de um país ou para analisar as opiniões dos clientes sobre o produto recém-lançado, uma representação visual pode ser obtida traçando a nuvem de palavras.

Nas seguintes linhas, vamos aprender sobre nuvens de palavras, seus aplicativos e como construí-los em python.

Introdução

Nuvem de palavras ou nuvem de tags é uma técnica de visualização de texto que é usada nativamente para visualizar as tags ou palavras-chave de sites. Em geral, essas palavras-chave são palavras individuais que representam o contexto da página da web a partir da qual a nuvem de palavras é criada. Estas palavras são agrupadas para formar uma nuvem de palavras.

Cada palavra nesta nuvem tem um tamanho de fonte e tom de cor variáveis. Por tanto, esta representação ajuda a determinar palavras proeminentes. Um tamanho de fonte maior de uma palavra retrata seu destaque mais em relação às outras palavras do grupo. A nuvem de palavras pode ser construída em diferentes formas e tamanhos, dependendo da visão dos criadores. O número de palavras desempenha um papel importante ao criar uma nuvem de palavras. Mais palavras nem sempre significa uma nuvem de palavras melhor, à medida que se torna confuso e difícil de ler. Uma nuvem de palavras deve sempre ser semanticamente significativa e deve representar a que se destina.

Embora, Existem diferentes maneiras de criar nuvens de palavras, mas o tipo mais usado é usando Freqüência de palavras em nosso corpus. E assim, vamos criar nossa nuvem de palavras usando o tipo de frequência.

33978nuvem de palavras-679937_1280-3645359

História

A história do Word Clouds remonta a 1976 quando um psicólogo social americano Stanley Milgram conduziu um estudo psicológico e perguntou às pessoas sobre os lugares em Paris. A ideia principal era construir um mapa mental de Paris quando as pessoas fossem questionadas sobre a cidade. Analisado e mapeado com base nas respostas recebidas das pessoas e mantido um tamanho de fonte maior para as respostas recebidas com frequência.

Nuvens de tag ganharam destaque quando o Flickr, um site de compartilhamento de fotos, sobre 2006 começou a usar nuvens de tags para exploração do local. No final da primeira década do século 21, Word Cloud se tornou uma ferramenta muito popular entre os mineradores de texto.

Mas, A tendência da Tag Cloud continua a oscilar e, Finalmente, começou a diminuir com o tempo. E assim, nuvens de palavras estão sendo usadas popularmente no mundo de hoje.

63368word20vs20tag20trend-4852295
Word Cloud vs Tag Cloud Trend do Google Trends (Fonte – Computador pessoal)

Formulários

Word Cloud encontra seu caminho em vários aplicativos em vários domínios. Algumas das aplicações populares do Word Cloud são:

1. Comentários do cliente

As nuvens de palavras são amplamente utilizadas pelas partes interessadas nas indústrias para analisar o feedback recebido dos usuários finais. Suponha que uma empresa lance um produto e queira saber o feedback do cliente. Digamos que a empresa recebeu 1000 comentários de diferentes usuários. Seria muito difícil para as partes interessadas ler e tomar nota de todos os comentários. Portanto, A nuvem de palavras desempenharia um papel fundamental na obtenção das melhores palavras-chave entre os comentários. Isso ajudaria a empresa a determinar se o feedback é positivo ou negativo e suas respectivas áreas de melhoria.. Por exemplo, uma ‘empresa ABC’ lançou uma nova TV e, com base nos comentários recebidos, a empresa pode fazer alterações de acordo com a próxima série de TV.

2. Agenda política dos candidatos

Frequentemente, os candidatos eleitorais mantêm uma lista de verificação da agenda para falar durante as campanhas. Portanto, a equipe de apoio do candidato analisaria o discurso do candidato e criaria uma nuvem de palavras para selecionar palavras para o próximo discurso para manter um equilíbrio na lista de verificação da agenda. Os analistas costumam criar uma nuvem de palavras com os discursos de candidatos de diferentes partidos para analisar e produzir resultados para que as pessoas saibam qual candidato está se concentrando em quais áreas de improvisação.. Por exemplo, nas eleições dos EUA de 2021, analistas conseguiram acessar facilmente a palavra Nuvens dos discursos dos candidatos do Partido Republicano e do Partido Democrata para que o povo decidisse.

3. Temas atuais

As agências de publicidade frequentemente precisam saber quais são as tendências para criar o próximo anúncio no contexto dos tópicos de tendência.. Por exemplo, Amul cria um anúncio criativo com base no tema ou tendência atual.

Como criar uma nuvem de palavras em Python

Você pode criar uma nuvem de palavras em Python nas seguintes etapas:

1. Importe as bibliotecas necessárias

importar as seguintes bibliotecas que são necessárias para criar uma nuvem de palavras

importar pandas como pd importação matplotlib.pyplot como plt de importação wordcloud WordCloud

2. Selecione o conjunto de dados

Para este exemplo, estamos usando o Conjunto de Dados Populares Melhores jogos na Google Play Store de Kaggle.

Baixe o conjunto de dados e salve-o no seu diretório de trabalho atual para implantação de código suave.

Importe o conjunto de dados em uma variável de sua escolha. Aqui nossos dados são importados para variável df.

Texto de nuvem de palavras não precisa ser de um conjunto de dados. Para obter texto significativo com menos esforço, usamos o conjunto de dados para o nosso exemplo.

df = pd.read_csv("jogos androides.csv")

3. Selecione quantidade de texto e texto para Nuvem de Palavras

Selecionar texto para criar uma nuvem de palavras é uma tarefa importante. Vários fatores devem ser verificados para a seleção do Texto, tais como:

  • Temos uma declaração de problema?
  • O texto selecionado tem significado?
  • Podemos concluir que a nuvem de palavras criada?
  • Nosso texto tem uma quantidade adequada de texto?

Word Cloud requer texto em uma quantidade apropriada. Um grande número de palavras prejudicaria a aparência visual do Word Cloud e menos palavras não fariam sentido.

Podemos usar o método .head () do DataFrame para verificar as colunas e o tipo de dados presentes nelas. Em nosso exemplo, nós pegamos a coluna categoria como texto.

Uma vez que a categoria da coluna tem um prefixo de TOQUE antes de cada jogo da categoria, nossa nuvem de palavras acabaria criando TOQUE uma vez que a palavra mais frequente e a nuvem de palavras não terão significado em int. Portanto, vamos filtrar enquanto adicionamos o categoria coluna para texto.

4. Verifique os valores NULL

Valores nulos precisam ser verificados em nosso conjunto de dados, desde quando criou a nuvem de palavras, não aceitaria texto com yaya valores.

df.isna().soma()

Se nosso conjunto de dados tivesse valores NaN, devemos tratar os valores ausentes de acordo. Felizmente, este conjunto de dados não tem valores NaN, para que possamos seguir para a próxima etapa.

Se houver poucos valores NaN, é sempre aconselhável deletar essas linhas, pois não afetaria o Word Cloud em maior medida.

4. Adicionar texto a uma variável

De acordo com os parâmetros da etapa 3, adicione os dados de texto a uma variável de sua escolha. Aqui, estamos adicionando os dados à variável texto.

text = " ".Junte(cat.split()[1] para gato em df.category)

Uma vez que precisamos filtrar o TOQUE da categoria, dividimos o valor de cada linha e pegamos o segundo elemento, quer dizer, o nome da categoria do categoria coluna.

5. Criação da nuvem de palavras

Crie um objeto da classe WordCloud com o nome de sua escolha e chame o método generate (). Aqui nós criamos o objeto com o nome palavra nuvem.

Palavra nuvem () pegue vários argumentos conforme necessário. Aqui estamos adicionando dois argumentos:

1. colocações = False, que irá ignorar as palavras de posicionamento de texto

2. background_color = ‘Blanco’, isso fará com que as palavras saiam mais claras

O método .generate () pegue um argumento do texto nós criamos. No nosso caso, nós daremos o texto variável como argumento para .generate ().

word_cloud = WordCloud(colocações = False, background_color ="Branco").gerar(texto)

6. Rastreando a nuvem de palavras

Usando o .imshow () Método matplotlib.pyplot para exibir a nuvem de palavras como uma imagem.

.imshow () leva vários argumentos, mas em nosso exemplo, pegamos dois argumentos:

1. palavra nuvem criado na etapa 5

2. interpolação = 'bilineal’

Já que estamos criando uma imagem com .imshow (), A reamostragem da imagem é feita porque o tamanho do pixel da imagem e a resolução da tela não correspondem. Esta reamostragem é controlada com o interpolação argumento para produzir imagens mais suaves ou nítidas de acordo com nossa necessidade. Existem vários tipos de interpolação disponíveis, como gaussiana, quádrica, bicúbica. Aqui estamos usando binaural interpolação.

Traçando a imagem com o eixo desligado, uma vez que não queremos marcas de eixo em nossa imagem.

plt.imshow(palavra nuvem, interpolação = 'bilinear')
plt.axis("desligado")
plt.show()

7. El código completo

#Importando Bibliotecas importam pandas como pd importação matplotlib.pyplot como plt %matplotlib inline do wordcloud importação WordCloud #Importing Dataset df = pd.read_csv("jogos androides.csv")
#Verificando os dados df.head()
#Verificando se há valores naN df.isna().soma()
#Remoção de valores nan #df.dropna(inplace = True)
#Criando o texto variável texto = " ".Junte(cat.split()[1] para gato em df.category)
# Criar word_cloud com texto como argumento em .gerar() método word_cloud = WordCloud(colocações = False, background_color ="Branco").gerar(texto)
# Exibir o word cloud plt.imshow gerado(palavra nuvem, interpolação = 'bilinear')
plt.axis("desligado")
plt.show()
711281-8602837

Nube de palabras de categoria coluna (Fonte da imagem – Computador pessoal) * El tamaño de la imagen adjunta es independiente del tamaño de la imagen de salida

Do mesmo modo, creemos Word Cloud para qualificação coluna do conjunto de datos importado.

#Importando Bibliotecas importam pandas como pd importação matplotlib.pyplot como plt %matplotlib inline do wordcloud importação WordCloud #Importing Dataset df = pd.read_csv("1.csv")

#Verificando os dados df.head()

#Criação do texto variável texto2 = " ".Junte(título para título em df.title)

# Criar word_cloud com texto como argumento em .gerar() método word_cloud2 = WordCloud(colocações = False, background_color ="Branco").gerar(texto2)

# Exibir o word cloud plt.imshow gerado(word_cloud2, interpolação = 'bilinear')

plt.axis("desligado")

plt.show()
225102-9751593

Nuvem de palavras da coluna de título (Fonte da imagem – Computador pessoal) * El tamaño de la imagen adjunta es independiente del tamaño de la imagen de salida

Conclusões

Nuvens de palavras criadas anteriormente podem ser mais personalizadas adicionando funcionalidades avançadas, como mascarar, contorno de nuvens e redimensionamento.

Las nubes de palabras se pueden crear no solo con Pitão, mas também com outras ferramentas como o Microsoft Word, herramientas dea empresarial como Borda. Atualmente, existem inúmeras ferramentas disponíveis na internet que criam uma nuvem de palavras apenas fornecendo o texto de entrada. Uma vez que a tendência da nuvem de palavras está aumentando, o número de formas e ferramentas também está aumentando.

Nuvem de Palavras puede ser engañoso a veces. Em alguns cenários, pode acontecer que muitas palavras em nossa nuvem de palavras tenham o mesmo tamanho, então pode ser difícil dizer qual deles é mais frequente do que o outro. Podemos usar técnicas mais avançadas para combater o problema.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.