Crie Seu Próprio Analisador de Sentimentos com Python em Minutos
Introdução
A análise de sentimentos é uma técnica usada para entender se um texto é positivo, negativo ou neutro. É como sentir as emoções das palavras! Imagina ler um comentário e descobrir se a pessoa está feliz, triste ou indiferente. Vamos usar Python para criar um programa que faz isso automaticamente. É como ter um superpoder de leitura de sentimentos!
A aplicabilidade deste código no nosso dia a dia torna a avaliação de feedbacks dos usuários muito mais rápida e eficaz. Imagine que você tenha um site onde há 100 ou 200 feedbacks por dia. Um ser humano não conseguiria dar conta de toda essa demanda, mas uma máquina sim. Com a programação, conseguimos direcionar nosso foco para o que realmente é importante e deixar as tarefas simples para a máquina, como neste caso.
Importando Bibliotecas
Primeiro, precisamos importar a biblioteca re
, que nos ajuda a trabalhar com texto.
import re
Dividindo o Comentário em Palavras
Vamos dividir a string única gerada comentario em palavras, para que sejam analisadas separadamente uma a uma.
def analise_sentimento(comentario):
palavras = re.findall(r'\b\w+\b', comentario.lower())
Listas de Palavras
Temos três listas nas quais as palavras do comentário são comparadas para verificar se são palavras felizes (positivas), tristes (negativas) e neutras.
positivas = ["bom", "boa", "ótimo", "excelente", "maravilhoso", "gostei", "incrível", "amei", "amo", "incrivel", "fantástico", "feliz", "alegre"]
negativas = ["ruim", "péssimo", "horrível", "terrível", "odeio", "triste", "chateado", "lamentável"]
neutras = ["mas", "deixou", "apesar", "embora", "mediano", "apenas", "contudo"]
Contando Palavras
Contamos quantas palavras felizes, tristes e neutras existem no comentário, e vamos somando um a mais em cada palavra que entra neste critério de comparação.
count_positivo = sum(palavra in positivas for palavra in palavras)
count_negativo = sum(palavra in negativas for palavra in palavras)
count_neutro = sum(palavra in neutras for palavra in palavras)
Determinando o Sentimento
Decidimos se o comentário é positivo, negativo ou neutro, fazendo um comparação da quantidade de incidências das palavras negativas, negativas e neutras, verificando no primeiro if se há mais palavras positivas, no segundo elif se há mais palavras negativas e no ultimo else se se o sentimento é neutro.
if count_positivo > count_negativo and count_neutro == 0:
return "Positivo"
elif count_negativo > count_positivo and count_neutro == 0:
return "Negativo"
else:
return "Neutro"
Iniciando o Codigo
Nesta ultima parte iniciamos o código e definimos uma entrada e armazenamos na variável cometario para depois colocarmos ele como atributo da função analise_sentimento para que seja retornada a análise do sentimento.
Vamos iniciar e testar! Digite um comentário e veja o que o programa diz sobre ele.
if __name__ == "__main__":
comentario = input("Insira sua mensagem...")
sentimento = analise_sentimento(comentario)
print("Sentimento:", sentimento)
Conclusão
Agora você sabe como um programa pode entender se um comentário é positivo, negativo ou neutro. É como ter um ajudante que lê emoções! Você pode tentar escrever diferentes comentários e ver o que o programa diz e automatizar rotinas repetitivas que te demandam tempo, permitindo que você realmente foque no que é necessário. Espero ter ajudado um pouco na sua jornada com este artigo!
Este artigo foi desenvolvido por inteligência artificial, complementado e revisado por humano. O código de análise de sentimentos foi inspirado em um bootcamp da DIO e refatorado por mim, segue abaixo as IAs utilizadas:
- ChatGpt - Para gerar os textos e título;
- Lexica - Para gerar as imagens do artigo;
- Remove.bg - Para remover fundo das imagens;
Vamos Disseminar os Conhecimentos e Transbordar Tudo que Aprendemos
Segue o repositório deste código em meu GitHub
Segue o link para o meu LinkedIn