🎉 SEMANA DO CONSUMIDOR

Últimos dias para comprar os cursos com 50% de desconto

Ver detalhes

Postado em em 26 de setembro de 2024

Aprenda como criar um contador de palavras com Python de forma simples e direta, utilizando expressões regulares (regex) e a biblioteca collections. Essa é uma importante ferramenta para análises de sentimentos, SEO e outras análises de texto.

Se quiser pode acompanhar esse conteúdo em formato de vídeo ou pode acessar o nosso Canal do YouTube para mais vídeos!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.

Como Criar um Contador de Palavras com Python

Hoje, vou te mostrar como criar do zero um contador de palavras em Python e como utilizá-lo na prática com um exemplo real aplicado ao mercado de trabalho.

Vamos construir o código utilizando expressões regulares (regex) e a biblioteca collections, e veremos como aplicá-lo em análises de texto.

A ideia é que você consiga identificar quais são as palavras mais usadas e, a partir disso, entender o que está sendo dito sobre um produto ou serviço e qual a principal impressão dos consumidores, com base nas palavras que aparecem com mais frequência.

Essa técnica é amplamente utilizada em áreas como análise de sentimentos, SEO, e em qualquer outro campo que precise lidar com grandes volumes de texto. Trata-se de uma abordagem poderosa para extrair insights valiosos de dados textuais.

O Que é a Contagem de Palavras?

A contagem de palavras consiste em calcular quantas vezes uma palavra aparece em um texto ou em um conjunto de textos.

Embora seja uma técnica simples, ela oferece insights poderosos, como identificar os termos mais recorrentes em avaliações de produtos, feedbacks de clientes ou até publicações em redes sociais.

A análise de sentimentos utiliza a contagem de palavras para entender o tom e a opinião que os clientes têm sobre uma determinada marca.

Por exemplo, ao contar as palavras na review de um produto, podemos identificar termos que indicam satisfação (ótimo, perfeito) ou insatisfação (ruim, defeituoso)

Desafio da Aula – Reviews do iPhone

No material disponível para download, você encontrará uma base de dados de reviews do iPhone X usados, obtida no Kaggle.

Essa base é composta por reviews que foram coletados no site da Amazon e contêm a opinião dos consumidores sobre o produto.

Vamos usar o contador de palavras para descobrir quais são as principais impressões dos clientes sobre iPhones usados vendidos na Amazon, e se vale a pena ou não comprar um.

Instalando o Pandas

Para seguir essa aula, será necessário instalar a biblioteca Pandas, que é fundamental para a manipulação e análise dos dados.

Você pode instalar a biblioteca no terminal do seu editor de código ou no prompt de comando, usando o seguinte comando: pip install pandas.

Instalando o Pandas

Configurando o Ambiente

Como vamos trabalhar com visualização de dados, é interessante utilizar o Jupyter Notebook ou o VS Code com a extensão do Jupyter. Isso porque essa ferramenta oferece uma melhor visualização dos DataFrames gerados pelo Pandas.

Importar e Visualizar a Base de Dados

Para começar, vamos importar a biblioteca Pandas e criar a variável tabela, onde armazenaremos os dados dos reviews.

Utilizaremos a função read_csv() para carregar os dados do arquivo CSV, que contém as opiniões dos usuários. O conteúdo será armazenado na variável tabela.

Como estamos utilizando o Jupyter Notebook, podemos utilizar a função display() para visualizar o DataFrame de maneira mais organizada.

import pandas as pd

tabela = pd.read_csv("ReviewsIPhoneX.csv")
display(tabela)
Importar e Visualizar a Base de Dados

Essa tabela contém 1.799 reviews do iPhone X usado, com informações como data de compra, título e texto da review, nota dada pelo usuário, URL da página do produto, entre outras informações relacionadas.

Para o nosso objetivo, vamos focar na coluna body, que contém o texto completo das avaliações.

É a partir dessa coluna que contaremos e identificaremos as palavras mais usadas, buscando entender melhor a percepção geral dos usuários, além de suas satisfações e insatisfações com o produto.

Preparando a Base de Dados para Análise – Unindo e Padronizando o Texto

Para realizar a contagem das palavras em todo o conjunto de reviews, primeiro precisamos concatenar todos os textos da coluna body em um único texto contínuo.

Utilizaremos o método join() das strings, que une todos os elementos de uma lista em uma única string.

Para garantir que todos os valores da coluna body sejam tratados como strings, mesmo que haja algum tipo de dado diferente, utilizamos o método astype(str).

texto = " ".join(tabela["body"].astype(str))

Dessa forma, o método join() unirá todas as strings separadas por um espaço, formando um texto contínuo com o conteúdo da coluna body.

Além disso, como queremos contar as palavras mais recorrentes no texto, é importante padronizá-lo para garantir que palavras idênticas, mas com letras maiúsculas e minúsculas, sejam tratadas da mesma forma.

Para isso, utilizamos o método lower() para converter todo o texto para minúsculas.

texto = " ".join(tabela["body"].astype(str))
texto = texto.lower()

Usando Expressões Regulares – Regex

Agora que temos um texto contínuo e padronizado, podemos identificar as palavras utilizando expressões regulares (regex). A regex ajuda a remover pontuações e a separar o texto em palavras.

Vamos importar a biblioteca re e utilizar o método findall() para buscar o padrão que define as palavras.

texto = " ".join(tabela["body"].astype(str))
texto = texto.lower()

import re

lista_palavras = re.findall(r"\b\w+\b", texto)

A expressão regular r”\b\w+\b” é utilizada para encontrar todas as palavras em um texto. O prefixo r antes da expressão regular indica para o Python que ela é uma raw string, evitando interpretações incorretas das barras invertidas usadas na expressão.

Explicando essa expressão, temos o \b que indica a borda de uma palavra, ou seja, o início ou o fim de uma sequência de caracteres. Por isso, ela aparece tanto no início quanto no final da expressão.

E o \w+ busca por uma ou mais ocorrências de caracteres alfanuméricos (letras e números).

Assim, extraímos todas as palavras do texto, ignorando pontuações e símbolos, e as armazenamos em uma lista de palavras.

Saiba mais sobre Regex no Python em: RegEx no Python: aprenda como usar as expressões regulares

Contagem de Palavras no Python com Counter

Com as palavras separadas em uma lista, podemos utilizar a classe Counter da biblioteca Collections para contar a frequência com que cada uma aparece.

O Counter funciona como um dicionário, onde as chaves são os itens da lista (neste caso, as palavras) e os valores representam a quantidade de vezes que cada item aparece.

Ao passar a lista de palavras para o Counter, ele automaticamente realiza a contagem de cada palavra e armazena as informações em um objeto chamado contagem_palavras.

texto = " ".join(tabela["body"].astype(str))
texto = texto.lower()

import re

lista_palavras = re.findall(r"\b\w+\b", texto)

from collections import Counter

contagem_palavras = Counter(lista_palavras)
print(contagem_palavras)
Contagem de Palavras no Python com Counter

Com isso, podemos ver a ocorrência de cada palavra. Por exemplo, a palavra “phone” teve 1544 ocorrências.

Visualizando os Resultados – Identificando as Palavras Mais Frequentes

Para visualizar apenas as palavras mais frequentes, podemos usar o método most_common.

Esse método retorna uma lista das palavras mais frequentes, ordenadas da mais comum para a menos comum. Além disso, podemos limitar o número de palavras exibidas conforme necessário.

Por exemplo, podemos visualizar as 200 palavras mais comuns. Você pode ajustar esse número de acordo com a sua necessidade ou análise.

Para isso, criaremos um loop for que itera sobre as palavras mais frequentes, exibindo tanto a palavra quanto a sua frequência.

texto = " ".join(tabela["body"].astype(str))
texto = texto.lower()

import re

lista_palavras = re.findall(r"\b\w+\b", texto)

from collections import Counter

contagem_palavras = Counter(lista_palavras)

for item in contagem_palavras.most_common(200):
    print(item)
Identificando as Palavras Mais Frequentes

Essa contagem nos permite identificar padrões nas palavras utilizadas no texto sem necessidade de análises complexas ou uso de inteligência artificial.

Com esse código simples, já podemos destacar palavras-chave que indicam sentimentos positivos ou negativos sobre o produto, como “good”, “great”, “scratches”, entre outras.

Identificando as 200 Palavras Mais Frequentes

Conclusão – Como Criar um Contador de Palavras com Python

Na aula de hoje, mostrei como criar um contador de palavras com Python de maneira simples e direta. Utilizamos bibliotecas como Pandas e expressões regulares (Regex) para manipular e analisar os dados textuais de uma base de dados real.

Esse código é extremamente útil para analisar textos grandes, identificar as palavras mais frequentes e entender os padrões de uso das palavras.

Ele pode ser aplicado em diferentes contextos, como análise de dados textuais, criação de nuvens de palavras ou para entender a distribuição de palavras em um conjunto de textos.

Mesmo com um contador simples, é possível obter insights valiosos sobre o sentimento dos usuários, os aspectos mais comentados sobre um produto e muito mais.

Se você quer aprender ainda mais sobre Python e como aplicar essa linguagem na análise de dados de forma eficiente, confira os nossos cursos:

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes de Python

Posts mais recentes da Hashtag Treinamentos

Diego Monutti

Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.