File size: 2,301 Bytes
5178e4b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d112cc8
5178e4b
d112cc8
5178e4b
 
d112cc8
 
5178e4b
6d370fc
d112cc8
6d370fc
d112cc8
 
5178e4b
d112cc8
 
5178e4b
d112cc8
5178e4b
 
d112cc8
 
5178e4b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
---
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](https://huggingface.co/neuralmind/bert-base-portuguese-cased), e disponível no site [Hugging Face](https://huggingface.co/).

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](https://github.com/neuralmind-ai/portuguese-bert/) do trabalho.

Este modelo foi treinado no [BrWaC (Brazilian Web as Corpus)](https://www.researchgate.net/publication/326303825_The_brWaC_Corpus_A_New_Open_Resource_for_Brazilian_Portuguese)
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](https://github.com/COPLIN-UFSM/nlp)

## Predição


```python
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á:

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