Cada enriquecimento que resolve um ID semântico reutiliza um conceito que a sua organização já conhece ou cria um novo. A página IDs semânticos é onde esse vocabulário crescente se torna algo que pode observar: navegue por ele, meça quão próximas duas entradas realmente estão, acrescente termos à mão, procure os quase-duplicados que ficaram abaixo do limiar, retire o que já não quer e mova tudo para um modelo de embedding diferente.
Encontra-se em /semantic-ids na barra lateral e só é útil depois de a sua organização ter um modelo de embedding e, pelo menos, um schema com um ID semântico — os conceitos são criados pelos enriquecimentos, não pela página.
Cada linha é um conceito: o seu texto canónico (o texto de identidade que o criou inicialmente), o seu tipo de conceito (o espaço onde vive — por predefinição, o nome do tipo de entidade), quantos registos o utilizam e quando foi criado. Filtre por texto, por qualquer número de tipos de conceito ou por uma utilização mínima para encontrar as entradas que merecem a sua atenção; Exportar vista transfere exatamente o que os filtros estão a mostrar.

A semelhança é medida apenas dentro de um espaço. Os vetores só são comparáveis dentro do mesmo tipo de conceito e modelo de embedding. As linhas fora do espaço do conceito selecionado mostram —, o que significa “não comparável” — nunca “0%”.
Por vezes já conhece o vocabulário antes de os dados chegarem — uma lista de pratos, estados, famílias de produtos. A barra Curadoria foi feita para escrever essa lista: defina uma vez o âmbito para um tipo de conceito — o âmbito passa para o endereço da página, por isso /semantic-ids/<concept type> é uma ligação direta para esse subconjunto — e depois repita escrever um valor → Verificar → Adicionar. Enter verifica, um segundo Enter adiciona, e o campo limpa-se e mantém o foco, pelo que um vocabulário de cinquenta termos são apenas alguns minutos a escrever sem tocar no rato.

Verificar é uma simulação da verdadeira escada de resolução — a mesma que um enriquecimento executa — pelo que o seu veredicto não é uma estimativa. E, como já pagou por esse veredicto, ele funciona também como proteção contra duplicados: quando um conceito existente cobre o seu texto no limiar ou acima dele, Adicionar conceito permanece desativado.

Essa recusa é deliberada: um gémeo acima do limiar nunca venceria uma resolução e dividiria de forma imprevisível as correspondências futuras entre as duas entradas. O cursor Limiar junto ao campo define onde fica essa linha nas suas verificações — aumente-o para ser mais rigoroso, baixe-o para fundir de forma mais agressiva.
O vocabulário também não tem de começar a partir de um enriquecimento: Novo tipo de conceito… (na barra de ferramentas da página, para editor ou superior) dá nome a um tipo e escolhe o modelo de embedding onde os seus conceitos vão residir — por predefinição, o modelo da sua organização. A barra de curadoria fica logo limitada a esse tipo, e o tipo passa a integrar o vocabulário com o primeiro conceito que adicionar; um tipo já existente mantém o seu modelo, pois mover um vocabulário entre modelos é precisamente para isso que serve a migração.
Tudo o que está acima do limiar já foi fundido automaticamente. Os casos interessantes estão logo abaixo dele — suficientemente próximos para serem suspeitos, mas não o bastante para terem sido fundidos. A vista Duplicados lista exatamente essa faixa, e o cursor alarga-a ou estreita-a.

Comparar → volta à tabela com esse conceito selecionado, para que possa ver o que mais está próximo dele antes de decidir. Um par que considere um verdadeiro duplicado é um sinal sobre o limiar da propriedade que o produz: baixe-o no editor de esquemas e os enriquecimentos futuros passarão a fundir o par sozinhos. As contagens de utilização dizem-lhe qual dos dois os dados realmente preferem.
O painel à direita mostra o ID do conceito (copiável — é por ele que a sua base de dados faz a junção), o respetivo texto normalizado, o modelo de embedding subjacente e os registos que foram resolvidos para ele. O conceito selecionado faz parte do endereço da página, pelo que o URL na barra de endereço é uma ligação direta para ele — pode partilhá-lo com um colega ou guardá-lo num ticket. Duas vistas situam-no entre os seus vizinhos.


Achatar 1536 dimensões em 3 não consegue preservar as distâncias, e a disposição exagera a compactação dos agrupamentos. Ambas as vistas pintam todos os pontos a partir da mesma escala de semelhança, por isso leia a cor, não o espaço entre eles. O primeiro mapa de uma sessão demora alguns segundos a ser disposto; os seguintes são instantâneos.
Cada registo associado mostra a pontuação com que aqui foi resolvido. Um — significa que o ID veio na entrada e foi passado tal como está, pelo que nada chegou a ser comparado — o caminho gratuito e inequívoco descrito no guia dos IDs semânticos.
Importar e resolver percorre uma coluna CSV inteira pela mesma sequência de resolução e anota em cada linha o que lhe aconteceria — não existe limite de tamanho de ficheiro; os ficheiros grandes são resolvidos em lotes de 1000, com progresso em tempo real. O ficheiro é processado no seu navegador — apenas os valores em si são enviados.

| Resultado | O que significa |
|---|---|
exact | O mesmo texto, normalizado, já existe — gratuito, sem chamada ao modelo. |
matched | Uma formulação diferente resolveu para um conceito existente acima do limiar. |
would_mint | Nada estava suficientemente próximo; aqui, um enriquecimento criaria um novo conceito. |
minted | O mesmo caso, com a criação ativada — o conceito passa a existir (apenas para o proprietário). |
As linhas resolvidas são transferidas num CSV próprio, pelo que uma importação também pode servir apenas como auditoria: quais dos nossos 900 nomes de fornecedores já são conhecidos e quais abririam uma nova identidade? As exportações funcionam no sentido inverso e dão ao ficheiro o nome dos filtros com que foram geradas, para que uma pasta cheia delas continue autoexplicativa.
Eliminar é seguro de uma forma que a maioria das eliminações de dados não é: o vocabulário reconstrói-se sozinho, porque o próximo enriquecimento volta simplesmente a criar aquilo de que precisa. O que não regressa é a convergência com os IDs que já guardou, e a caixa de diálogo di-lo com números reais antes de confirmar.

Depois de uma alteração destas, manter os conceitos antigos é a escolha arriscada, não a prudente: identidades compostas a partir das novas chaves podem continuar a cair dentro do limiar dos vetores antigos e ser silenciosamente absorvidas por eles, deixando-o com IDs que não significam nem uma coisa nem outra.
Os vetores de dois modelos diferentes não são comparáveis, pelo que mudar de modelo implica voltar a gerar os embeddings de todos os conceitos. Depois de existirem conceitos, esta migração é a única forma autorizada de o fazer — e é por isso que a definição de modelo de embedding da organização se recusa a mudar por si só.

A pré-visualização indica quanto vai custar o novo embedding e que pares de conceitos poderão colidir — ficar dentro do limiar um do outro no novo espaço e passar a resolver em conjunto. Mede os candidatos realistas em vez de todos os pares, e di-lo explicitamente.
Os enriquecimentos continuam a resolver no espaço antigo enquanto os novos vetores são construídos ao lado; os conceitos criados entretanto são recolhidos por uma passagem posterior. A mudança acontece num único passo no fim, que também altera o modelo de embedding predefinido da sua organização. Interrompê-la é inofensivo — ao recomeçar, o processo continua onde parou.
As verificações, adições e importações são faturadas como qualquer outra utilização de embeddings, e os acertos exatos não custam nada porque nunca chegam a um modelo. Navegar, comparar, a órbita, o mapa 3D, exportar e eliminar são gratuitos. A despesa interativa de um dia é agrupada numa única linha no seu histórico de créditos, para que o registo se mantenha legível em vez de se encher de frações de cêntimo.