import streamlit as st from textblob import TextBlob import matplotlib.pyplot as plt import seaborn as sns # Configurações do Streamlit st.set_page_config(page_title="Analisador de Sentimentos", layout="wide") st.title("Analisador de Sentimentos") st.markdown(""" Este aplicativo analisa o sentimento de um texto inserido. Utiliza a biblioteca **TextBlob** para identificar sentimentos positivos, negativos e neutros. """) # Função para realizar a análise de sentimentos def analise_sentimento(texto): blob = TextBlob(texto) sentimento = blob.sentiment.polarity if sentimento > 0: return "Positivo", sentimento elif sentimento < 0: return "Negativo", sentimento else: return "Neutro", sentimento # Área de entrada de texto texto = st.text_area("Digite o texto para análise", height=150) # Botão de análise if st.button("Analisar Sentimento"): if texto: sentimento, polaridade = analise_sentimento(texto) # Exibe o sentimento e a polaridade st.write(f"**Sentimento Detectado**: {sentimento}") st.write(f"**Polaridade**: {polaridade:.2f}") # Gráfico de Sentimento fig, ax = plt.subplots(figsize=(6, 4)) sns.barplot(x=["Sentimento"], y=[polaridade], palette="coolwarm", ax=ax) ax.set_ylim(-1, 1) ax.set_ylabel("Polaridade") ax.set_title("Sentimento do Texto") st.pyplot(fig) # Exibe um feedback mais detalhado com base na polaridade if polaridade > 0: st.success("O sentimento é positivo. Parece que o texto é otimista!") elif polaridade < 0: st.error("O sentimento é negativo. Parece que o texto tem uma conotação ruim.") else: st.warning("O sentimento é neutro. Não há uma opinião clara no texto.") else: st.warning("Por favor, insira um texto para análise.") # Adicionar uma sessão com algumas informações adicionais st.markdown(""" ### Como funciona: O modelo analisa a polaridade do texto inserido. - Se a polaridade for maior que 0, o sentimento é considerado **positivo**. - Se for menor que 0, o sentimento é **negativo**. - Se for igual a 0, o sentimento é **neutro**. """) # Opção para exibir informações sobre o TextBlob if st.checkbox("Mostrar detalhes sobre a biblioteca TextBlob"): st.markdown(""" **TextBlob** é uma biblioteca de processamento de linguagem natural (NLP) em Python. Ela oferece uma maneira simples de fazer tarefas como análise de sentimentos, tradução, correção ortográfica, e mais. A análise de sentimentos feita pelo TextBlob é baseada na polaridade do texto, onde valores positivos indicam sentimentos bons e valores negativos indicam sentimentos ruins. """)