Refinar filtro lexical TI (~20% FP residuais) #5

Open
opened 2026-04-30 04:04:16 -03:00 by navigator · 0 comments
Owner

Contexto

/tmp/build_ti_ids.py (executado 2026-04-29) marcou 306.661 contratos como TI via 9 dimensões regex. Sample manual mostrou ~75-80% de precisão; ~20% FP típicos:

FP Por que matchou
"serviços técnico automotivo" servico_ti regex
"AR CONDICIONADO" → DENTECK provavelmente \mUPS\M ou similar
"ATA DE REGISTRO" → MARGA ENGENHARIA automa[çc][ãa]o
"BATERIAS ESTACIONÁRIAS" → ECCOPOWER no.?break
"MATERIAL DE HIGIENE" → BRILHARES provavelmente "monitor"

Soluções

  • Revisar regex automa[çc][ãa]o — exigir contexto (automação industrial/comercial/predial é OK; "automotivo" não)
  • no.?break com word boundary mais estrito
  • monitor exige contexto (LCD/LED/4K/...) — já tentei, ainda vaza
  • Adicionar lista negra de termos que matam o match: automotivo, ar condicionado, bateria, higiene, alimentação, ambulatorial, odontológico, oncológico, hemodi*, transporte de cargas, motocicleta
  • Validar com sample maior (100 hits, classificar manual, calcular precision/recall)
  • Considerar treinar pequeno classificador binário com os 26.450 contratos rotulados pela LLM (em llm_enrichment.e_ti) — features: TF-IDF da descricao + nome do fornecedor

Métrica alvo

Precisão > 90%, recall > 80%

## Contexto `/tmp/build_ti_ids.py` (executado 2026-04-29) marcou 306.661 contratos como TI via 9 dimensões regex. Sample manual mostrou ~75-80% de precisão; ~20% FP típicos: | FP | Por que matchou | |---|---| | "serviços técnico automotivo" | `servico_ti` regex | | "AR CONDICIONADO" → DENTECK | provavelmente `\mUPS\M` ou similar | | "ATA DE REGISTRO" → MARGA ENGENHARIA | `automa[çc][ãa]o` | | "BATERIAS ESTACIONÁRIAS" → ECCOPOWER | `no.?break` | | "MATERIAL DE HIGIENE" → BRILHARES | provavelmente "monitor" | ## Soluções - [ ] Revisar regex `automa[çc][ãa]o` — exigir contexto (`automação industrial/comercial/predial` é OK; "automotivo" não) - [ ] `no.?break` com word boundary mais estrito - [ ] `monitor` exige contexto (LCD/LED/4K/...) — já tentei, ainda vaza - [ ] Adicionar **lista negra** de termos que matam o match: `automotivo, ar condicionado, bateria, higiene, alimentação, ambulatorial, odontológico, oncológico, hemodi*, transporte de cargas, motocicleta` - [ ] Validar com sample maior (100 hits, classificar manual, calcular precision/recall) - [ ] Considerar treinar pequeno classificador binário com os 26.450 contratos rotulados pela LLM (em `llm_enrichment.e_ti`) — features: TF-IDF da `descricao` + nome do `fornecedor` ## Métrica alvo Precisão > 90%, recall > 80%
Sign in to join this conversation.
No description provided.