Note
O modelo treinado está disponível para download no HuggingFace: https://huggingface.co/COPLIN-UFSM/student-sentiment-analysis-multilabel
Este repositório é uma coleção de scripts e ferramentas utilizados para tarefas de Processamento de Linguagem Natural (Natural Language Processing, ou NLP em inglês) realizados pela Coordenadoria de Planejamento Informacional da UFSM, ligada à Pró-reitoria de Planejamento - PROPLAN.
Os dados utilizados para treinar os modelos de deep learning encontram-se no repositório privado nlp-data.
Este repositório compreende três aplicações distintas:
- Treino de modelos preditivos com Transformers
- Aplicação Web para análise de sentimento
- Anotação de comentários com a biblioteca doccano
Este repositório requer a última versão do Python Anaconda para ser executado, visto que usa o gerenciador de pacotes conda. O código executará em qualquer Sistema Operacional, mas foi desenvolvido originalmente para Windows 10 Pro e Ubuntu 22.04.3 LTS (ambos 64 bits).
Também é necessário instalar a versão compatível das bibliotecas CUDA e PyTorch. Clique em cada um dos links anteriores e siga os tutoriais para baixar a versão adequada para a sua máquina.
As configurações da máquina que o repositório foi desenvolvido encontram-se na tabela abaixo:
| Configuração | Valor |
|---|---|
| Sistema operacional | Windows 10 Pro /Ubuntu 22.04.3 LTS |
| Processador | Intel core i7 9700 |
| Memória RAM | 16GB |
| Placa de vídeo | Nvidia GTX 730 |
| Memória de vídeo | 2GB |
| Versão do CUDA | 11.8 |
| Necessita rede? | Não |
Warning
Infelizmente, não é possível usar um arquivo environment.yml para configuração do ambiente virtual.
Para criar o ambiente virtual com as bibliotecas para execução na GPU, execute os seguintes comandos, nesta ordem:
conda create --name nlp python==3.11.* pip --yes
conda activate nlp
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia --yes
conda install captum -c pytorch --yes
conda install --file requirements.txt --yes
pip install --requirement pip_requirements.txtPara utilizar aceleração por GPU no treinamento dos algoritmos de deep learning (não necessário para execução de modelos já treinados), execute o seguinte passo a passo:
conda activate nlp
pythonE então, dentro do console Python:
import torch
torch.cuda.is_available()A resposta deve ser True, caso uma placa de vídeo NVIDIA compatível esteja disponível. A disponibilidade depende dos
drivers mais recentes estarem instalados.
Note
Para classificação dos comentários da avaliação de ensino-aprendizagem, siga para Análise de sentimento.
Para fazer anotação do sentimento em comentários:
conda activate nlp
python learning/sentiment_analysis/predict.py --mode annotate --model-path COPLIN-UFSM/student-sentiment-analysis-multilabel --dataset-path <caminho_para_csv>onde <caminho_para_csv> deve ser substituído por um caminho para um arquivo csv com os dados a serem anotados, nesse formato:
- É um arquivo csv;
- Valores separados por vírgula;
- Valores textuais estão dentro de "aspas";
- Codificação do arquivo é UTF-8.
Caso o arquivo não atenda esses critérios, é possível usar piping:
python scripts\convert_csv.py --csv-path "C:\Users\HenryCagnini\Desktop\Aval_Ensino_Aprendizagem_comentarios_2025_2_anual.csv" --sep ";" --encoding "utf-8" | python -m learning.sentiment_analysis.predict --mode "annotate" --model-path "COPLIN-UFSM/student-sentiment-analysis-multilabel" --text-column OBSERVACAODesenvolvido originalmente por Henry Cagnini henry.cagnini@ufsm.br e idealizado por Raphael Amaro raphael.amaro@ufsm.br.