You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As entidades nomeadas (NER) extraídas via LLM são armazenadas em news_features.features.entities como texto bruto e indexadas no Typesense (entities, entity_org|per|loc|misc) — ver #174 (Fase 0). São consumidas pelo graphql-api (entitySuggestions, filtro ArticleFilter.entities) e pelo portal (filtro na /busca, páginas /entidades/[slug], chips na tela da notícia).
Problema: sem canonicalização, a mesma entidade aparece como facets distintos. Exemplo real observado em produção:
Finep (40)
Financiadora de Estudos e Projetos (Finep) (14)
Financiadora de Estudos e Projetos (FINEP) (4)
Isso fragmenta contagens, polui o typeahead, duplica páginas de entidade e enfraquece o filtro/navegação cruzada.
Objetivo
Canonicalizar entidades para que variações (acrônimos, com/sem razão social, caixa, acentos, pontuação) colapsem numa entidade canônica única — melhorando facets, filtro, typeahead e páginas /entidades.
Abordagens a avaliar
Mapa de aliases + matching determinístico (acrônimo↔nome; normalização de caixa/acento/pontuação), versionado e reprocessável sobre os news_features existentes (sem re-rodar o LLM).
Cross-ref com a tabela agencies (158 órgãos com nomes canônicos) para canonicalizar instituições (ORG) governamentais.
(Complementar) melhorar a extração no enrichment (data-science/news_enrichment) com entity linking / nome canônico no prompt.
Definir o ponto de aplicação: novo campo entities_canonical na feature layer e/ou normalização em extract_entity_fields/indexing do Typesense.
Critérios de aceite
Variações conhecidas (ex.: Finep) colapsam numa entidade canônica nos facets/entitySuggestions.
Pipeline reprocessável (backfill dos ~19,5k artigos com entidades) sem re-rodar LLM.
Filtro entities, typeahead e /entidades/[slug] passam a usar o valor canônico.
Métrica antes/depois: redução do nº de facets distintos para entidades-âncora.
Contexto
As entidades nomeadas (NER) extraídas via LLM são armazenadas em
news_features.features.entitiescomo texto bruto e indexadas no Typesense (entities,entity_org|per|loc|misc) — ver #174 (Fase 0). São consumidas pelo graphql-api (entitySuggestions, filtroArticleFilter.entities) e pelo portal (filtro na/busca, páginas/entidades/[slug], chips na tela da notícia).Problema: sem canonicalização, a mesma entidade aparece como facets distintos. Exemplo real observado em produção:
Finep(40)Financiadora de Estudos e Projetos (Finep)(14)Financiadora de Estudos e Projetos (FINEP)(4)Isso fragmenta contagens, polui o typeahead, duplica páginas de entidade e enfraquece o filtro/navegação cruzada.
Objetivo
Canonicalizar entidades para que variações (acrônimos, com/sem razão social, caixa, acentos, pontuação) colapsem numa entidade canônica única — melhorando facets, filtro, typeahead e páginas
/entidades.Abordagens a avaliar
news_featuresexistentes (sem re-rodar o LLM).agencies(158 órgãos com nomes canônicos) para canonicalizar instituições (ORG) governamentais.data-science/news_enrichment) com entity linking / nome canônico no prompt.entities_canonicalna feature layer e/ou normalização emextract_entity_fields/indexing do Typesense.Critérios de aceite
entitySuggestions.entities, typeahead e/entidades/[slug]passam a usar o valor canônico.Referências
entitySuggestions/ArticleFilter.entities; portal/entidades/[slug]+ filtro na/busca.