image

Bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Gustavo Saad
Gustavo Saad17/08/2025 18:27
Compartilhe

Analisador de sentimentos de python

  • #Python

# Analisador de Sentimentos com TextBlob e NLTK

Este código em **Python** implementa um simples analisador de sentimentos baseado em respostas do usuário.  

Ele utiliza a biblioteca **TextBlob** para processar a linguagem natural e o **NLTK** para garantir que os recursos necessários para a tokenização estejam disponíveis.

---

## 🔧 Bibliotecas Utilizadas

**TextBlob**: Usada para análise de sentimentos (positividade, negatividade ou neutralidade).

**NLTK**: Necessária para a tokenização de texto. O código verifica se o pacote `punkt` já está instalado, caso contrário, faz o download automaticamente.

---

## 📝 Estrutura do Código

1. **Verificação do NLTK**  

  - O código tenta localizar o recurso `punkt`.  

  - Se não encontrado, ele baixa automaticamente.

2. **Lista de Perguntas**  

  - Um conjunto de perguntas pré-definidas é armazenado em uma lista chamada `perguntas`.  

  - Exemplo: *"Como vai sua vida?"*, *"Quais as suas expectativas para o futuro?"*, etc.

3. **Função `analizar_sentimentos`**  

  - Recebe uma resposta como parâmetro.  

  - Converte a resposta em um objeto `TextBlob`.  

  - Obtém a **polaridade** do texto, que varia entre `-1` (muito negativo) e `1` (muito positivo).  

  - Retorna uma das três classificações:

   - `"Positivo"` → quando a polaridade > 0.1  

   - `"Negativo"` → quando a polaridade < -0.1  

   - `"Neutro"` → quando a polaridade está entre -0.1 e 0.1

4. **Execução Principal**  

  - O programa pede que o usuário responda às perguntas em **inglês**.  

  - Para cada resposta, o sentimento é analisado e exibido no terminal.

---

```python

from textblob import TextBlob

import nltk

# Verificação do tokenizador 'punkt'

try:

  nltk.data.find("tokenizers/punkt")

except LookupError:

  nltk.download("punkt")

# Lista de perguntas

perguntas = [

  "Como vai sua vida?",

  "Quais as suas expectativas para o futuro?",

  "O que você espera de um emprego?",

  "Como você se sente em relação ao seu trabalho atual?",

  "Quais são seus objetivos pessoais?"

]

# Função para análise de sentimentos:

def analizar_sentimentos(resposta):

  blob = TextBlob(resposta)

  polaridade = blob.sentiment.polarity

  if polaridade > 0.1:

    return "Positivo"

  elif polaridade < -0.1:

    return "Negativo"

  else:

    return "Neutro"

# Execução principal

print("\nResponda às perguntas abaixo com sinceridade (em inglês):\n")   

for pergunta in perguntas:

  resposta = input(pergunta + "\n>")

  sentimento = analizar_sentimentos(resposta)

  print(f"-> Sentimento detectado: {sentimento}\n")

Compartilhe
Recomendados para você
Luizalabs - Back-end com Python
Suzano - Python Developer #2
Suzano - Python Developer
Comentários (1)
DIO Community
DIO Community - 19/08/2025 09:26

Gustavo, seu passo a passo sobre o analisador de sentimentos em Python está excelente, muito claro e detalhado, mostrando desde a preparação do ambiente com NLTK até a análise das respostas do usuário com TextBlob. A forma como você estruturou o código, dividindo em verificação de recursos, lista de perguntas, função de análise e execução principal, facilita bastante o entendimento e a aplicação prática.

Na DIO, acreditamos que compreender não apenas a implementação, mas o fluxo completo de processamento de linguagem natural é essencial para criar ferramentas confiáveis e escaláveis. Seu destaque para a polaridade e a classificação em positivo, negativo e neutro é um ponto fundamental, pois permite interpretar resultados de forma consistente e prática.

Na sua experiência, qual foi o maior desafio ao trabalhar com TextBlob e NLTK, lidar com a tokenização, ajustar os limites de polaridade ou estruturar o fluxo de interação com o usuário?