O projeto foi pensado para resolver o problema de classificação multi-label de perguntas retiradas do site Stack Overflow. As perguntas podem ser classificadas como node.js, jquery, html e angular. Uma mesma pergunta pode haver apenas uma label ou até mesmo todas as labels.
O classificador selecionado para tentar resolver esse problema, foi a implementação BERT do simpletransformers. A biblioteca em questão foi escolhida devido a sua praticidade de implementação e os bons resultados obtidos mesmo com poucas amostras disponíveis. Além disso, o framework agiliza algumas etapas de pré-processamento textual.
Status do Projeto: em andamento ❕
- Para rodar o projeto em um container Docker:
bash build.sh
bash run.sh
Posteriormente, basta acessar a url disponibilizada no seu terminal.
- Para rodar o projeto localmente, basta criar um novo ambiente de trabalho Anaconda. Dentro do diretório Files encontra-se o arquivo yml referente ao ambiente utilizado no desenvolvimento do projeto.
conda env create -f environment.yml
conda activate BertMultilabel
Logo após, será necessário rodar o script app.py.
streamlit run app.py
A API será executada pelo Streamlit.
Os notebooks de estudos e treinamentos estão no diretório /Jupyters
.
Para realizar o teste de predição, basta colocar a pergunta em questão na caixa de texto e clicar em Enviar. A pergunta será pré-processada e classificada.
- Testar algorítimos OnevsRest
- Testar algorítimos adaptados
This README was generated with ❤️ by readme-md-generator