Git Product home page Git Product logo

legal-classification's Introduction

Classificação de textos legislativos

Este projeto visa empregar técnicas de aprendizado de máquina para classificação e indexação de textos legislativos. A indexação automática de textos é fundamental para viabilizar mecanismos de consulta mais eficientes e relacionar documentos semanticamente semelhantes, como projetos de lei, notícias e normas.

Atualmente, as normas são classificadas manualmente em 39 temas, distribuidos da seguinte forma:

TEMA Número de normas
Comunicações 7065
Administração Pública 4675
Finanças Públicas e Orçamento 3335
Política Fundiária 2634
Relações Internacionais 2271
Economia, Administração Financeira e Orçamentária 2069
Tributação 1108
Organização Administrativa do Estado 1024
Educação 897
Viação e Transportes 832
Recursos Hídricos, Minerais e Política Energética 660
Trabalho e Emprego 565
Previdência e Assistência Social 551
Meio Ambiente e Desenvolvimento Sustentável 535
Arte e Cultura 426
Saúde 414
Política Econômica 382
Indústria, Comércio e Abastecimento 350
Desenvolvimento Regional 292
Agricultura, Pecuária e Pesca 266
Sistema Financeiro 243
Direito Civil e Processual Civil 241
Direito Penal e Processual Penal 237
Direitos Humanos, Minorias e Cidadania 233
Homenagens e Datas Comemorativas 232
Desenvolvimento Urbano e Trânsito 166
Processo Legislativo 146
Defesa e Segurança Nacional 143
Ciência e Tecnologia 142
Segurança Pública 129
Desporto e Lazer 125
Turismo 57
Comércio Exterior 54
Direito e Defesa do Consumidor 53
Direito Constitucional 44
Organização Política, Partidária e Eleitoral 37
Direito do Trabalho e Processual do Trabalho 23
Informática 18
Direito e Justiça 7

O objetivo é utilizar as informações de tematização para formar um conjunto etiquetado a ser utilizado em algoritmos de aprendizado supervisionado que resultem em modelos capazes de inferir um ou mais tópicos a partir do texto da norma.

modelo

Extração e preparação dos dados

As informações de normas são extraídas do banco de dados do Sistema de Legislação Informatizada (Legin), que armazena mais de 250 mil normas, sendo mais de 175 mil com indexação manual e pouco mais de 32 mil possuem classificação temática. Acesse o notebook com detalhes da preparação dos dados.

Treinamento e avaliação dos modelos

Para a classificação das normas em temas foram testados métodos baseados em frequencia de palavras utilizando a biblioteca scikit-learn.

Trabalho Futuro

Além da classificação temática, existe um trabalho de indexação manual das normas, que segue um padrão bem definido de assunto principal em caixa alta seguido de subtópicos separados por hífen. Exemplo da indexação da Lei nº 8.666, de 21 de junho de 1993:

LICITAÇÃO - Administração Federal - Fixação - Normas - Contrato administrativo
LEI DE LICITAÇÃO

O número de normas indexadas (> 175 mil) é muito superior ao de normas tematizadas. Esse conjunto de dados poderia ser utilizado para aumentar o conjunto de dados tematizados (data augmentation) ou mesmo treinar modelos multilabel, capazes de atribuir várias classes tags a um mesmo texto.

Mais detalhes sobre as regras de indexação podem ser encontradas no Manual de indexação de proposição legislativa.

Referências

legal-classification's People

Contributors

thefonseca avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.