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

51535f9347da7e003f77d31c4e0b5cec?s=128

Thiago Marzagão

September 10, 2015
Tweet

Transcript

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

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

    isso amanhã)
  3. PROBLEMA: CLASSIFICA PRODUTOS E SERVIÇOS LICITADOS: NÃO CLASSIFICA PRODUTOS E

    SERVIÇOS LICITADOS: etc
  4. LICITAÇÃO FEDERAL:

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

  6. DADOS ESTADUAIS/MUNICIPAIS/DISTRITAIS:

  7. (POSSÍVEL) SOLUÇÃO: PROCESSAMENTO DE LINGUAGEM NATURAL

  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:
  9. FERRAMENTAS

  10. K-MEANS (c/ licitações do GDF) TENTATIVA #1

  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
  12. K-MEANS RESULTADO: PÉSSIMO CLUSTERS SEM O MENOR SENTIDO EXEMPLO: “LUVAS

    CIRÚRGICAS” E “ÔNIBUS” DENTRO DE UM MESMO CLUSTER
  13. SIMILARIDADE DO CO-SENO (c/ licitações do GDF e NCM) TENTATIVA

    #2
  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
  15. SVM (c/ licitações federais e CATMAT/CATSER) TENTATIVA #3

  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
  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
  18. TOTAL DE ~5 MILHÕES DE DESCRIÇÕES 70% TREINAMENTO 15% TESTE

    15% VALIDAÇÃO SVM
  19. SVM

  20. RANDOM FOREST? REDES NEURAIS? TALVEZ UMA ABORDAGEM PROBABILÍSTICA? (SE A

    MAIOR PROBABILIDADE < x, IGNORA DESCRIÇÃO) SUGESTÕES?? PRÓXIMOS PASSOS