# Dados Sintéticos de Avaliações de Produtos
avaliacoes_raw = [
    "O produto é EXCELENTE! Chegou super rápido e funciona muito bem.",
    "Péssimo atendimento. O produto veio quebrado e a entrega atrasou muito.",
    "Atendimento razoável, produto cumpre o que promete."
]

# Dicionários simples de léxico de sentimentos
palavras_positivas = {"excelente", "rápido", "bem", "razoável", "promete"}
palavras_negativas = {"péssimo", "quebrado", "atrasou", "ruim"}
stopwords = {"o", "é", "e", "um", "uma", "a", "de", "que", "se", "com"}

print("=== PIPELINE DE MINERAÇÃO DE TEXTO E SENTIMENTOS ===")

for i, doc in enumerate(avaliacoes_raw, start=1):
    # 1. Normalização (Minusculas e remoção de pontuações)
    doc_limpo = doc.lower().replace("!", "").replace(".", "").replace(",", "")
    
    # 2. Tokenização
    tokens = doc_limpo.split()
    
    # 3. Remoção de Stopwords
    tokens_filtrados = [word for word in tokens if word not in stopwords]
    
    # 4. Análise de Sentimento (Contagem de Léxico)
    score_pos = sum(1 for word in tokens_filtrados if word in palavras_positivas)
    score_neg = sum(1 for word in tokens_filtrados if word in palavras_negativas)
    
    if score_pos > score_neg:
        sentimento = "POSITIVO"
    elif score_neg > score_pos:
        sentimento = "NEGATIVO"
    else:
        sentimento = "NEUTRO"
        
    print(f"\nDocumento {i}: '{doc}'")
    print(f"Tokens Filtrados: {tokens_filtrados}")
    print(f"Polaridade Detectada: {sentimento} (Pos: {score_pos} | Neg: {score_neg})")