Aprender a discernir comentários na internet é uma coisa muito bacana. Mas, como podemos fazer isso de uma forma simples? Nesse post vamos aprender a fazer análise de sentimento simples usando TextBlob.
Você já percebeu como às vezes a gente lê um comentário na internet e já sabe se ele foi escrito com raiva, alegria ou ironia? Bom… ensinar uma máquina a fazer isso é basicamente o que chamamos de análise de sentimentos.
E a melhor parte: dá para começar com bem pouco código em Python. Hoje eu vou te mostrar o TextBlob, uma biblioteca que facilita bastante esse processo, mesmo que você nunca tenha feito NLP (Processamento de Linguagem Natural) na vida.
O que é Análise de Sentimentos?
De forma bem simples: é o processo de pegar um texto e tentar classificar se o sentimento por trás dele é positivo, negativo ou neutro.
Por exemplo:
- “Esse filme foi incrível!” → positivo
- “Detestei esse atendimento.” → negativo
- “O café está na mesa.” → neutro
Claro que na prática as coisas podem ficar mais complicadas (ironia, sarcasmo, contexto…), mas para começar, vamos focar no básico.
Treinando o modelo para entender tudo isso, pode ser difícil. Então, para facilitar, usaremos o TextBlob.
Instalando o TextBlob
Se você tem alguma dúvida de como iniciar, não tem problema. Comece com o meu post explicando como chegar aqui.
O TextBlob é super simples de instalar. No seu terminal, rode:
pip install textblob
E também precisamos baixar os dados de tradução no NLTK que o TextBlob usa nos bastidores:
import nltk
nltk.download('punkt')
Primeiro Test: Sentimento em Frases
Agora, vamos brincar um pouco com frases simples:
from textblob import TextBlob
# Exemplo 1
frase1 = TextBlob("Eu amei esse filme, foi sensacional!")
print(frase1.sentiment)
# Exemplo 2
frase2 = TextBlob("Esse restaurante é horrível, nunca mais volto.")
print(frase2.sentiment)
# Exemplo 3
frase3 = TextBlob("Hoje é terça-feira.")
print(frase3.sentiment)
A saída vai trazer dois números:
- Polarity (polaridade): varia de -1 (negativo) até +1 (positivo).
- Subjectivity (subjetividade): varia de 0 (muito objetivo) até 1 (muito subjetivo).
Por exemplo:
Sentiment(polarity=0.8, subjectivity=0.75)
Sentiment(polarity=-0.9, subjectivity=1.0)
Sentiment(polarity=0.0, subjectivity=0.0)
Como Interpretar Esses Números
- Polarity perto de 1 → positivo
- Polarity perto de -1 → negativo
- Polarity perto de 0 → neutro
Já a Subjectivity te diz se o texto está expressando opinião ou apenas um fato.
- “A comida estava ótima” → mais subjetivo
- “O restaurante fecha às 22h” → mais objetivo
Analisando uma Lista de Comentários
Agora, vamos imaginar que você tenha várias avaliações de clientes. Como rodar tudo de uma vez?
comentarios = [
"Adorei a experiência, voltarei sempre!",
"O atendimento foi péssimo.",
"A comida estava ok, nada demais.",
"O ambiente é maravilhoso!",
"Nunca mais volto aqui."
]
for c in comentarios:
blob = TextBlob(c)
print(f"Comentário: {c}")
print(f"Sentimento: {blob.sentiment}\n")
Com isso, você já consegue ter uma noção geral do clima das avaliações.
Um Pequeno Alerta
O TextBlob é ótimo para começar, mas não é perfeito. Ele foi treinado principalmente em inglês e pode escorregar um pouco no português. Ainda assim, dá para brincar e aprender bastante.
Se você quiser levar isso a outro nível, pode explorar ferramentas como NLTK, spaCy ou até modelos de transformers como BERT. Mas isso é papo para outro post.
Conclusão
Hoje você viu como começar no mundo da análise de sentimentos em poucos minutos com Python e TextBlob. É simples, rápido e divertido — perfeito para quem está dando os primeiros passos em NLP.
Agora eu quero saber: o que você gostaria de analisar? Tweets? Avaliações de filmes? Comentários de clientes?
Conta aí nos comentários 👇 que eu posso trazer a parte 2 com exemplos mais avançados.
Comentários (0)
Seja o primeiro a comentar!
Deixe um comentário