Scripts contidos neste pacote:
- Treinamento e visualização de métricas associadas a classificadores binários que podem ser treinados a qualquer tempo de maneira independente uns dos outros
- Segmentação semântica de textos de decisões judiciais (acórdãos ou sentenças)
- Classificação de acórdãos ou decisões desconhecidas tendo como output uma tabela ou arquivo (csv ou excel) com as probabilidades de pertencimento de todos os textos a cada uma das possíveis classes
Arquivo csv contendo as colunas:
- codigos_movimentos_temas: classe da decisão (sentença ou acórdão)
- conteudo: coluna contendo o texto em si da decisão (sentença ou acórdão)
Arquivo .env contendo:
- as possíveis classes que aparecerão no arquivo csv que servirá como input para treinamento dos classificadores
- Modelos binários de classificação treinados em todas as classes selecionadas
- Classificação de textos selecionados pelo usuário indicando, para cada texto, a probabilidade de pertencimento dos textos a cada uma das possíveis classes existentes
Se necessário, fazer ajustes no código do script main_segmentation.py
para alterar parâmetros como nome do arquivo ou caminho.
Quando pronto, rodar:
cd scripts
python main_segmentation.py
Para treinar os modelos é necessário rodar
cd scripts
python prepare_data_classification.py
python train_model.py
Em caso de testes com o uso de oversampling, deve-se alterar o parâmetro to_oversample = True
da função train_model
O output da função plot_calibration
é um gráfico com o resultado da calibração dos modelos.
O output da função train_model
são os modelos binários que serão salvos na pasta models
Para validar o desempenho dos modelos em um outro dataset específico, execute:
- Defina um valor para a variável
PATH_FILES_VALIDATE_MODELS
- Rode a função
main_classification_multiple_texts
, comentando o resto cd scripts
python classification.py
O output será um arquivo csv salvo no caminho especificado com as classes e se cada modelo acertou ou não o palpite, usando como threshold o valor padrão de 0.5 ou 50%, que é o valor padrão com o qual os modelos são treinados, salvo refatoração do código em train_model.py
Para classificar dados tendo em vista os modelos existentes, execute:
- Defina um valor para a variável
PATH_FILES_CLASSIFY
- Rode a função
main_classification_multiple_texts_not_classified
, comentando o resto cd scripts
python classification.py
O output será um arquivo csv salvo no caminho especificado com uma linha associada a cada um dos textos e nas colunas, cada um dos modelos e suas respectivas probabilidades de um texto específico pertencer a alguma daquelas classes
Necessário mudar as seguintes linhas nos seguintes arquivos:
- Linhas 14 e 38, prepare_data_classification.py
- Linha 45 train_model.py
- Linhas 47, 72, 86 e 89 do classification.py