1
resposta

[Projeto] classificando produtos pela descrição

1️ Instalar a biblioteca
pip install liqfit pandas torch transformers
2️ Importar bibliotecas e definir modelo
import pandas as pd import torch from transformers import AutoTokenizer , AutoModelForSequenceClassification from liqfit import ZeroShotClassifier

Definindo o modelo Compreender_it-multilingual-t5-base :

modelo_nome = "pierreguillou / comprehend_it-multilingual-t5-base "
tokenizer = AutoTokenizer.from_pretrained ( modelo_nome )
model = AutoModelForSequenceClassification.from_pretrained ( modelo_nome )
classifier = ZeroShotClassifier ( model = model , tokenizer = tokenizer )

3️ Carregar os dados
url = " https://raw.githubusercontent.com/alura-cursos/hugging_face/main/Atividades/produtos_descricoes.csv" df = pd.read_csv ( url ) df.head ( )

4️ Definir categorias possíveis
categorias = [ "brinquedos" , "beleza" , "eletrônicos" , "ferramentas" , "cozinha" ]
5️ Criar função para classificar o produto
def categorizar_produto ( descrição ):
resultado = classificador ( descrição , categorias )

Encontrar categoria com maior pontuação

categoria_max = max ( zip ( resultado [ "labels" ], resultado [ "scores" ]),
key =lambda x : x [ 1 ] )[ 0 ]
return categoria_max

6️ Criar nova coluna no DataFrame
df [ "Categoria" ] = df [ "descrição" ] . apply( categorizar_produto ) df . cabeça()

1 resposta

Oi, Moacir! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei da organização em etapas: instalação, definição do modelo, carregamento dos dados e criação da função. A estrutura da função categorizar_produto usando max com zip para pegar a maior pontuação ficou bem clara e demonstra que você entendeu como interpretar labels e scores. Só vale revisar a consistência do nome classifier e classificador, pois isso pode gerar erro de execução.

Uma dica interessante para o futuro é utilizar o método value_counts() do pandas para analisar quais categorias aparecem com mais frequência. Veja este exemplo:


contagem = df["Categoria"].value_counts()
print(contagem)

Esse código conta quantas vezes cada categoria aparece no DataFrame e ajuda a visualizar como o modelo está classificando os produtos.

Alura

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