henryzord's picture
Update README.md
6d370fc verified
metadata
language:
  - pt
base_model:
  - neuralmind/bert-base-portuguese-cased

Treino de modelos preditivos com Transformers

Este repositório usa um modelo pré-treinado, chamado BERTimbau, e disponível no site Hugging Face.

O modelo foi disponibilizado por Fábio Souza, Rodrigo Nogueira e Roberto Lotufo no artigo "BERTimbau: pretrained BERT models for Brazilian Portuguese", publicado na Brazilian Conference in Intelligent Systems (2020). Mais informações estão disponíveis no repositório do trabalho.

Este modelo foi treinado no BrWaC (Brazilian Web as Corpus) para três tarefas: reconhecimento de entidades nomeadas, similaridade textual de frases, e reconhecimento de implicação textual. Aqui, ele passa por um ajuste-fino (fine-tuning) para classificação de sentimentos em 3 classes: positivo (o texto em questão tem um sentimento positivo), negativo e neutro.

Os dados utilizados para fine-tuning são provenientes de avaliações de Ensino-Aprendizagem da UFSM de anos anteriores, e avaliações de comentários dos Restaurantes Universitários. Todos os dados foram anonimizados antes de sua utilização pelo modelo.

Bibliotecas usadas

  • CUDA 12.4
  • PyTorch 2.3
  • PyTorch-CUDA 11.8
  • Transformers 4.37.2
  • datasets 2.12.0
  • scikit-learn 1.4.2
  • NumPy 1.24.3
  • pandas 1.5.3

Treinamento

Consulte o repositório do GitHub

Predição

from transformers import pipeline, BertTokenizer, BertForSequenceClassification

model = BertForSequenceClassification.from_pretrained('COPLIN-UFSM/student-sentiment-analysis-multilabel')
tokenizer = BertTokenizer.from_pretrained(
    'COPLIN-UFSM/student-sentiment-analysis-multilabel', model_max_length=model.config.max_position_embeddings
)
pipe = pipeline('sentiment-analysis', model=model, tokenizer=tokenizer, device='cpu')

pipe('eu adoro o professor henry!', top_k=None)

A saída será:

[{'label': 'positive', 'score': 0.9967827796936035},
 {'label': 'negative', 'score': 0.001376272994093597}]