Code Monkey home page Code Monkey logo

py_assuntos_classific's Introduction

py_assuntos_classific

Classificador de Assuntos em Documentos

py_assuntos_classific é um classificador de assuntos em documentos que faz a busca a partir de listas de palavras. Para o resultado da busca, considera, além das palavras encontradas, a distância média entre essas palavras. Quanto menor a média desta distância, melhor é o resultado.

O algoritmo foi desenvolvido para triagem de petições em processos eletrônicos de Execução Fiscal e inicialmente, para evitar falsos positivos, utilizava uma técnica de busca em profundidade baseada numa sequência E/OU. O algoritmo percorria todo o texto em busca da sequência que identificasse o assunto do texto.

Nesta nova versão, as listas de busca continuam aceitando sequências do tipo E/OU ('OU' é uma lista de palavras sinônimas).

O algoritmo, agora, normaliza o texto (retirando acentos e palavra descartáveis) e o converte em uma lista. Com esta lista "em mãos", segue a sequência abaixo:

  • Primeiro procura todas as palavras, independentemente da posição encontrada no texto, e retorna suas posições.
  • Depois cria uma matriz com as sequências possíveis destas palavras.
  • Por fim, calcula a sequência com a menor distância média e, se ela estiver dentro da distância mínima definida, retorna a classe encontrada.

Por considerar a proximidade das palavras e não uma sequência exata, o classificador consegue bons resultados mas fica sujeito a ser "enganado" pela presença de palavras que podem inverter o teor do assunto. Para evitar esses "falsos positivos", a função classificadora aceita uma lista de palavras que, se estiverem próximas ou dentro da sequência das palavras encontradas, descartam o assunto encontrado.

A página py_assuntos_classif Prova de Conceito é o jupyter notebook utilizado para o desenvolvimento do algoritmo e contém alguns exemplos como prova de conceito de sua aplicação.

Na pasta lib estão as ferramentas utilizadas na padronização do texto de entrada: retirada da acentuação e das palavras que não alteram o sentido da frase, etc.

py_assuntos_classific's People

Contributors

franciscoaclima avatar

Stargazers

 avatar Daniel Lucas Avanço Alecrin avatar

Watchers

James Cloos avatar  avatar

py_assuntos_classific's Issues

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.