| | --- |
| | 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}] |
| | ``` |