> ## Documentation Index
> Fetch the complete documentation index at: https://strattumai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Entity Resolution

> Como o Memory descobre que registros espalhados em CRM, ERP, WhatsApp e email são a mesma entidade — matching determinístico, probabilístico e bypass por external_id.

Entity Resolution é o processo que descobre que "M. Silva" na tabela de leads, "Maria Silva ([mari@emp.com](mailto:mari@emp.com))" no CRM e o `+552199990000` no WhatsApp são a mesma pessoa. É o passo que transforma registros fragmentados em um único perfil consolidado no grafo do Memory.

Sem essa consolidação, o mesmo cliente aparece como três entidades separadas, cada uma com uma fatia do histórico.

***

## Por que Entity Resolution existe

Os dados de uma entidade nascem espalhados. O CRM guarda o email, o sistema de cobrança guarda o CPF, o WhatsApp guarda o telefone, e nenhum deles compartilha o mesmo identificador.

Entity Resolution reconcilia esses registros por atributos em comum. O resultado é um nó único no grafo: o perfil que o agente consulta antes de qualquer decisão, com o histórico completo em vez de um pedaço.

***

## Como funciona

O Memory resolve identidade em duas estratégias complementares, e oferece um atalho para quem já tem um ID unificado.

### Matching determinístico

Compara identificadores exatos e normalizados: CPF, CNPJ, email normalizado, telefone padronizado. Quando dois registros compartilham um desses valores, são a mesma entidade sem margem de dúvida.

O matching determinístico resolve **60–80%** dos casos. É o caminho preferencial: barato, exato e auditável.

### Matching probabilístico

Entra onde não há identificador exato em comum. Compara atributos por similaridade e calcula um score de confiança:

| Atributo     | Técnica de comparação              |
| ------------ | ---------------------------------- |
| Nome         | Similaridade fuzzy (Jaro-Winkler)  |
| Endereço     | Vetorização e proximidade (TF-IDF) |
| Razão social | Comparação fuzzy de texto          |

Um par com score acima do threshold configurado é consolidado automaticamente. Abaixo do threshold, o par vai para a fila de revisão, onde uma pessoa aprova ou rejeita.

<Note>
  O confidence threshold é definido na configuração da ontologia. Comece pelo perfil **Balanceado (0.80)** e ajuste conforme o volume da fila de revisão. Veja [Configuração pós-instalação](/getting-started/configuration#passo-3--ontologia-do-memory).
</Note>

### Bypass via external\_id

Se a sua empresa já mantém um ID unificado nos sistemas de origem, o Memory usa essa chave diretamente e pula o Entity Resolution.

Você aponta o `external_id` como o identificador da entidade, e os registros que compartilham esse valor viram o mesmo nó sem passar por matching probabilístico. O onboarding fica mais rápido e a consolidação, determinística de ponta a ponta.

<Tip>
  Prefira `external_id` sempre que existir. Uma chave de negócio já unificada elimina a ambiguidade que o matching probabilístico precisa resolver.
</Tip>

***

## Como acompanhar no Console

<Steps>
  <Step title="Veja as entidades consolidadas">
    Em **Memory → Entities**, cada linha é uma entidade já resolvida, com o status de completude do perfil.
  </Step>

  <Step title="Inspecione as fontes de um perfil">
    Clique em uma entidade para ver quais registros de quais fontes foram consolidados nela.
  </Step>

  <Step title="Revise os casos ambíguos">
    Em **Memory → Review Queue**, aprove, edite ou rejeite os pares que ficaram abaixo do threshold. Cada rejeição ensina o modelo a não repetir a associação.
  </Step>
</Steps>

***

## Casos de uso

<AccordionGroup>
  <Accordion title="Cliente presente em quatro sistemas">
    Um analista de crédito consulta CRM, plataforma de originação, cobrança e WhatsApp para montar o contexto de uma renegociação. Entity Resolution reúne os quatro registros em um perfil só, disponível antes do atendimento.
  </Accordion>

  <Accordion title="Empresa com ID de negócio próprio">
    A empresa já emite um código interno único por cliente em todos os sistemas. Apontando esse código como `external_id`, o Memory consolida sem matching probabilístico e o onboarding acelera.
  </Accordion>
</AccordionGroup>

***

## Próximos passos

<CardGroup cols={2}>
  <Card title="GraphRAG" icon="share-nodes" href="/memory/graphrag">
    Veja como o Memory expande o contexto pelas relações da entidade resolvida.
  </Card>

  <Card title="Configurar ontologia" icon="diagram-project" href="/getting-started/configuration#passo-3--ontologia-do-memory">
    Defina os tipos de entidade e o confidence threshold do matching.
  </Card>

  <Card title="Memory" icon="brain" href="/memory/overview">
    Volte à visão geral do grafo de contexto.
  </Card>

  <Card title="FAQ — Ontologia" icon="circle-question" href="/faq/ontology">
    Perguntas comuns sobre modelagem de entidades no grafo.
  </Card>
</CardGroup>
