Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Classificação Automatizada de Produtos e Serviços Licitados

Classificação Automatizada de Produtos e Serviços Licitados

apresentação no 1o Seminário sobre Análise de Dados na Administração Pública, em 2015-09-10

Thiago Marzagão

September 10, 2015
Tweet

More Decks by Thiago Marzagão

Other Decks in Technology

Transcript

  1. CLASSIFICAÇÃO AUTOMATIZADA DE
    PRODUTOS E SERVIÇOS LICITADOS
    Thiago Marzagão

    View Slide

  2. CONTEXTO: LABORATÓRIO DE
    ANÁLISE DE DADOS DO CADE
    (mais sobre isso amanhã)

    View Slide


  3. PROBLEMA:


    CLASSIFICA PRODUTOS E SERVIÇOS LICITADOS:


    NÃO CLASSIFICA PRODUTOS E SERVIÇOS LICITADOS:


    etc

    View Slide

  4. LICITAÇÃO FEDERAL:

    View Slide

  5. LICITAÇÃO ESTADUAL/MUNICIPAL/DISTRITAL:

    View Slide

  6. DADOS ESTADUAIS/MUNICIPAIS/DISTRITAIS:

    View Slide


  7. (POSSÍVEL) SOLUÇÃO:


    PROCESSAMENTO DE LINGUAGEM NATURAL

    View Slide


  8. 1.  REMOVE STOPWORDS (“DE”, “A”, ETC)
    2.  REMOVE UNIDADES (KG, MM, FRASCOS, ETC)
    3.  PASSA TUDO P/ SINGULAR (RSLP-S)

    4. VETORIZA CADA DESCRIÇÃO DE PRODUTO/SERVIÇO
    5. TRANSFORMA EM TF-IDF (P/ DAR MAIS PESO ÀS
    PALAVRAS MAIS DISCRIMINANTES)
    6. NORMALIZA (P/ CONTROLAR POR DESCRIÇÕES DE
    TAMANHOS MUITO DIFERENTES)
    PRÉ-PROCESSAMENTO:

    View Slide


  9. FERRAMENTAS

    View Slide


  10. K-MEANS

    (c/ licitações do GDF)


    TENTATIVA #1

    View Slide


  11. 1. DEFINE CENTRÓIDES ALEATÓRIOS

    2. ALOCA CADA DESCRIÇÃO VETORIZADA AO
    CENTRÓIDE MAIS PRÓXIMO

    3. COM BASE NESSAS ALOCAÇÕES, RE-
    COMPUTA OS CENTRÓIDES

    4. REPETE 2 E 3 ATÉ CONVERGÊNCIA

    K-MEANS

    View Slide


  12. K-MEANS


    RESULTADO: PÉSSIMO

    CLUSTERS SEM O MENOR SENTIDO

    EXEMPLO: “LUVAS CIRÚRGICAS” E “ÔNIBUS”
    DENTRO DE UM MESMO CLUSTER

    View Slide


  13. SIMILARIDADE DO CO-SENO


    (c/ licitações do GDF e NCM)


    TENTATIVA #2

    View Slide


  14. SIMILARIDADE DO CO-SENO


    RESULTADO: RUIM

    # EXCESSIVO DE CLASSIFICAÇÕES ERRADAS

    EXEMPLO: “CARREGADOR DE BATERIA”
    CLASSIFICADO COMO “BATERIA”

    RESULTADO RUIM C/ NCM A 4, 6 OU 8 DÍGITOS

    View Slide


  15. SVM

    (c/ licitações federais e CATMAT/CATSER)


    TENTATIVA #3

    View Slide

  16. PARECIDO C/ REGRESSÃO LOGÍSTICA, MAS
    IDÉIA É MAXIMIZAR A SEPARAÇÃO ENTRE AS
    CLASSES

    AS CLASSES NÃO SÃO DIVIDIDAS POR UMA
    LINHA MAS POR UM POLÍGONO

    DUAS MANEIRAS DE CONSEGUIR ISSO: SOFT-
    MARGIN (PENALIZA CLASSIFICAÇÕES NO
    POLÍGONO) OU KERNEL TRICK (AUMENTA # DE
    DIMENSÕES P/ QUE NADA CAIA NO POLÍGONO)

    SVM

    View Slide

  17. AJUSTES QUE TENTEI:
    1.  FUNÇÃO DE CUSTO (HINGE, SQUARED
    HINGE, HUBER)
    2.  TERMO DE REGULARIZAÇÃO (L1, L2,
    ELASTICNET)
    3.  DIFERENTES NÍVEIS DO CATMAT/CATSER:
    GRUPOS (79) E CLASSES (670)
    4.  # DE PASSES SOBRE OS DADOS
    5.  TAXA DE APRENDIZADO
    6.  PESO MAIOR P/ PRIMEIRAS PALAVRAS
    7.  CONSISTÊNCIA GRUPO-CLASSE

    SVM

    View Slide

  18. TOTAL DE ~5 MILHÕES DE DESCRIÇÕES

    70% TREINAMENTO
    15% TESTE
    15% VALIDAÇÃO

    SVM

    View Slide


  19. SVM

    View Slide

  20. RANDOM FOREST?

    REDES NEURAIS?

    TALVEZ UMA ABORDAGEM PROBABILÍSTICA?
    (SE A MAIOR PROBABILIDADE < x, IGNORA
    DESCRIÇÃO)

    SUGESTÕES??

    PRÓXIMOS PASSOS

    View Slide