Ogni arricchimento che risolve un ID semantico riutilizza un concetto già noto all'organizzazione oppure ne conia uno nuovo. La pagina ID semantici è il luogo in cui quel vocabolario in crescita diventa qualcosa di consultabile: sfogliarlo, misurare quanto sono davvero vicine due voci, aggiungere termini manualmente, individuare i quasi-duplicati sfuggiti sotto la soglia, ritirare ciò che non serve più e spostare il tutto su un modello di embedding diverso.
Si trova in /semantic-ids nella barra laterale ed è utile solo quando la sua organizzazione dispone di un modello di embedding e di almeno uno schema che contiene un ID semantico: i concetti vengono creati dagli arricchimenti, non dalla pagina.
Ogni riga corrisponde a un concetto: il suo testo canonico (il testo di identità che lo ha creato per primo), il suo tipo di concetto (lo spazio in cui vive — per impostazione predefinita il nome del tipo di entità), quanti record lo utilizzano e quando è stato creato. Filtri per testo, per un numero qualsiasi di tipi di concetto o per un utilizzo minimo, così da individuare le voci che meritano attenzione; Esporta vista scarica esattamente ciò che i filtri stanno mostrando.

La similarità viene misurata solo all'interno di un unico spazio. I vettori sono confrontabili soltanto nell'ambito dello stesso tipo di concetto e dello stesso modello di embedding. Le righe esterne allo spazio del concetto selezionato mostrano —, che significa «non confrontabile» e mai «0%».
A volte il vocabolario è noto prima che arrivino i dati: un elenco di piatti, stati, famiglie di prodotti. La barra Cura è pensata proprio per digitare quell'elenco: si delimita l'ambito a un tipo di concetto una sola volta — l'ambito confluisce nell'indirizzo della pagina, quindi /semantic-ids/<concept type> è un collegamento diretto a quella porzione — poi si ripete digita un valore → Verifica → Aggiungi. Invio verifica, un secondo Invio aggiunge, e il campo si svuota mantenendo il focus: così un vocabolario di cinquanta termini richiede pochi minuti di digitazione, senza toccare il mouse.

Il controllo è una simulazione della vera scala di risoluzione — la stessa che esegue un arricchimento — quindi il suo verdetto non è una stima. E poiché quel verdetto è già stato pagato, funge anche da protezione contro i duplicati: quando un concetto esistente copre il testo alla soglia o al di sopra di essa, Aggiungi concetto resta disattivato.

Il rifiuto è voluto: un gemello al di sopra della soglia non potrebbe mai vincere una risoluzione e distribuirebbe in modo imprevedibile le corrispondenze future tra le due voci. Il cursore Soglia accanto al campo stabilisce dove si colloca questo limite per le sue verifiche: alzarlo per essere più severi, abbassarlo per unificare in modo più aggressivo.
Nemmeno il vocabolario deve necessariamente partire da un arricchimento: Nuovo tipo di concetto… (nella barra degli strumenti della pagina, dal ruolo editor in su) assegna un nome a un tipo e sceglie il modello di embedding in cui risiederanno i suoi concetti — per impostazione predefinita il modello della propria organizzazione. La barra di curatela viene subito circoscritta a quel tipo e il tipo entra a far parte del vocabolario con il primo concetto aggiunto; un tipo già esistente mantiene il proprio modello, poiché lo spostamento di un vocabolario da un modello a un altro è proprio ciò a cui serve la migrazione.
Tutto ciò che supera la soglia è già stato unito automaticamente. I casi interessanti sono quelli appena al di sotto: abbastanza vicini da destare sospetto, non abbastanza da essere stati uniti. La vista Duplicati elenca esattamente quella fascia e il cursore la allarga o la restringe.

Confronta → riporta alla tabella con quel concetto selezionato, per vedere cos'altro si trova nelle sue vicinanze prima di decidere. Una coppia che si considera un vero duplicato è un segnale relativo alla soglia della proprietà che la produce: basta abbassarla nell'editor dello schema e gli arricchimenti futuri uniranno la coppia da soli. Il numero di utilizzi indica quale dei due i dati preferiscono davvero.
Il pannello di destra mostra l’ID del concetto (copiabile — è il valore su cui il database esegue le join), il suo testo normalizzato, il modello di embedding che lo genera e i record risolti su di esso. Il concetto selezionato fa parte dell’indirizzo della pagina, quindi l’URL nella barra degli indirizzi è un collegamento diretto ad esso — condivisibile con un collega, o da conservare in un ticket. Due viste lo collocano tra i concetti vicini.


Comprimere 1536 dimensioni in 3 non può preservare le distanze e la disposizione esagera la compattezza dei cluster. Entrambe le viste colorano ogni punto secondo la stessa scala di similarità: occorre quindi leggere il colore, non la distanza. La prima mappa di una sessione richiede qualche secondo per essere disposta; le successive sono istantanee.
Ogni record collegato mostra il punteggio con cui è stato risolto qui. Un — significa che l'ID è arrivato nell'input ed è stato trasmesso così com'è, quindi non è stato confrontato nulla: il percorso gratuito e privo di ambiguità descritto nella guida agli ID semantici.
Importa e risolvi esegue un'intera colonna CSV attraverso la stessa scala e annota ogni riga con ciò che le accadrebbe — non esiste alcun limite di dimensione del file; i file di grandi dimensioni vengono risolti in batch da 1000 con avanzamento in tempo reale. Il file viene analizzato nel browser — vengono inviati solo i valori.

| Esito | Che cosa significa |
|---|---|
exact | Lo stesso testo, normalizzato, esiste già: gratuito, senza chiamata al modello. |
matched | Una formulazione diversa è stata risolta in un concetto esistente al di sopra della soglia. |
would_mint | Nessun risultato era sufficientemente simile: qui un arricchimento creerebbe un nuovo concetto. |
minted | Lo stesso caso, con la creazione attivata: il concetto ora esiste (solo per il proprietario). |
Le righe risolte si scaricano in un CSV dedicato, quindi un'importazione può essere usata anche come semplice verifica: quali dei nostri 900 nomi di fornitori sono già noti e quali aprirebbero una nuova identità? Le esportazioni funzionano in senso inverso e assegnano al file il nome dei filtri con cui sono state generate, così una cartella di esportazioni resta autodescrittiva.
L'eliminazione è sicura in un modo in cui la maggior parte delle eliminazioni di dati non lo è: il vocabolario si ricostruisce da sé, perché l'arricchimento successivo conia semplicemente ciò che gli serve. Ciò che non torna è la convergenza con gli ID già memorizzati, e la finestra di dialogo lo indica con numeri reali prima della conferma.

Dopo una modifica del genere, conservare i vecchi concetti è la scelta rischiosa, non quella prudente: le identità composte a partire dalle nuove chiavi possono comunque ricadere entro la soglia dei vecchi vettori ed esserne assorbite silenziosamente, lasciando ID che non significano né una cosa né l'altra.
I vettori provenienti da due modelli diversi non sono confrontabili: cambiare modello significa ricalcolare l’embedding di ogni concetto. Una volta creati i concetti, questa migrazione è l’unico modo previsto per farlo — ed è il motivo per cui l’impostazione del modello di embedding dell’organizzazione non cambia da sola.

L'anteprima indica quanto costerà il nuovo embedding e quali coppie di concetti rischiano di collidere, ovvero di ritrovarsi entro la soglia l'una dall'altra nel nuovo spazio e iniziare a risolversi insieme. Vengono misurati i candidati realistici anziché tutte le coppie, e ciò viene indicato esplicitamente.
Gli arricchimenti continuano a risolversi nel vecchio spazio mentre i nuovi vettori vengono costruiti accanto ad esso; i concetti coniati nel frattempo vengono recuperati da un passaggio successivo. Il cambio avviene in un unico passaggio finale, che modifica anche il modello di embedding predefinito dell'organizzazione. Interromperlo è innocuo: riavviando, l'operazione riprende da dove si era fermata.
Controlli, aggiunte e importazioni vengono addebitati come qualsiasi altro utilizzo di embedding, mentre le corrispondenze esatte non costano nulla perché non raggiungono mai un modello. Sfogliare, confrontare, l'orbita, la mappa 3D, l'esportazione e l'eliminazione sono gratuiti. La spesa interattiva di un'intera giornata viene raccolta in un'unica voce nella cronologia dei crediti, così il registro resta leggibile invece di riempirsi di frazioni di centesimo.