1
resposta

[Projeto] testando o modelo com novas avaliações de um produto

import pandas as pd
import nltk
import unidecode
import joblib
from nltk import tokenize

# Baixar recursos do NLTK se necessário
nltk.download('stopwords')
nltk.download('rslp')

# 1. Carregar artefatos treinados
tfidf = joblib.load('tfidf_vectorizer.pkl')
regressao_logistica = joblib.load('modelo_regressao_logistica.pkl')

# 2. Preparar recursos de pré-processamento
palavras_irrelevantes = nltk.corpus.stopwords.words('portuguese')
token_pontuacao = tokenize.WordPunctTokenizer()
stemmer = nltk.RSLPStemmer()

# 3. Função de processamento
def processar_avaliacao(avaliacao):
    tokens = token_pontuacao.tokenize(avaliacao)
    frase = [p for p in tokens if p.lower() not in palavras_irrelevantes]
    frase = [p for p in frase if p.isalpha()]
    frase = [unidecode.unidecode(p) for p in frase]
    frase = [stemmer.stem(p) for p in frase]
    return ' '.join(frase)

# 4. Carregar novas avaliações
url = 'https://raw.githubusercontent.com/alura-cursos/nlp_analise_sentimento/refs/heads/main/Dados/novas_avaliacoes.csv'
novas_avaliacoes = pd.read_csv(url)

# 5. Processar textos
novas_avaliacoes_processadas = [
    processar_avaliacao(av) for av in novas_avaliacoes['avaliacao']
]

# 6. Transformar com TF-IDF
novas_reviews_tfidf = tfidf.transform(novas_avaliacoes_processadas)

# 7. Fazer previsões
predicoes = regressao_logistica.predict(novas_reviews_tfidf)

# 8. Criar DataFrame final
df_previsoes = pd.DataFrame({
    'Avaliação': novas_avaliacoes['avaliacao'],
    'Sentimento Previsto': predicoes
})

# 9. Exibir resultado
print(df_previsoes)
1 resposta

Olá, Moacir! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso da biblioteca joblib para carregar artefatos treinados com Python, utilizou muito bem o TF-IDF para transformar textos em representações numéricas e ainda compreendeu a importância da regressão logística para realizar previsões de sentimento em avaliações.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Sugestão de conteúdo para você mergulhar ainda mais no tema:

Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!