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
Comentários (0)