image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Carlos Soares
Carlos Soares04/06/2024 12:15
Compartilhe

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.

    image

    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

    Compartilhe
    Comentários (1)
    Jairo Junior
    Jairo Junior - 05/06/2024 11:43

    Contribuo fornecendo profundidade sobre o tema, para quem deseja entender o potencial do uso da análise de sentimentos e de sua importância para o contexto moderno.

     

    Apresento uma indicação de uso para o Youtube.

     

    Segue link;

     

    https://revista.ibict.br/liinc/article/view/3933

     

    Quem puder por favor continue a contribuir e estender esse tópico, para fazermos do mesmo uma referência de consulta sobre o tema.