Pagina ID semantici — Curare il vocabolario dei concetti - Documentazione di Entity Enricher

La pagina ID semantici

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.

Aprire la pagina

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.

Chi può fare che cosa

  • Editor — sfogliare, confrontare, esportare, controllare un testo, aggiungere un concetto, eliminare concetti.
  • Proprietario / amministratore — può inoltre creare concetti tramite importazione, svuotare interi tipi di concetto e migrare il modello di embedding.

Leggere la tabella dei concetti

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 pagina ID semantici: tabella dei concetti a sinistra, concetto selezionato a destra
Selezionando una riga, la colonna Similarità diventa una misurazione rispetto a essa e il concetto corrispondente si apre sulla destra.

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%».

Aggiungere termini: il ciclo di curatela

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.

La barra di curatela segnala che un valore digitato non ha corrispondenze e può essere aggiunto
Nessun concetto risolve questo testo al di sopra della soglia, quindi Aggiungi concetto è attivo. La tabella ordina ora tutti i concetti in base alla loro similarità rispetto al testo digitato.

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.

La barra di curatela segnala che un valore digitato è già noto, con l'aggiunta disabilitata
Una corrispondenza esatta non costa assolutamente nulla: nessuna chiamata al modello. Una corrispondenza approssimativa segnala invece il concetto già presente e il suo punteggio.

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.

Individuare i duplicati sotto la soglia

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.

La vista dei duplicati elenca le coppie di concetti la cui similarità si colloca appena sotto la soglia
Stessa fascia, due verdetti molto diversi: due nomi per un unico piatto di rombo e due dessert al cioccolato realmente distinti. La pagina individua i candidati; la decisione spetta a lei.

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.

Esaminare un singolo concetto

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.

La vista orbitale: i concetti vicini sono collocati a una distanza pari alla loro similarità, con la soglia tracciata come cerchio tratteggiato
Orbita — la distanza dal centro è la similarità, quindi l'anello tratteggiato è la soglia stessa: tutto ciò che si trova al suo interno verrebbe risolto in questo concetto.
La mappa 3D dei concetti: una disposizione UMAP dell'intero spazio dei concetti, colorata in base alla similarità misurata
Mappa dei concetti (3D) — una disposizione opzionale dell'intero spazio. Il colore è la misura; la posizione suggerisce soltanto la forma dei cluster, motivo per cui non viene disegnata alcuna sfera di soglia.

Perché la posizione non è la verità

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.

Record collegati

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.

Importare ed esportare un vocabolario

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.

La finestra di importazione riporta l'esito riga per riga per un CSV di valori: esatto, corrispondente, da creare
Un'esecuzione di solo confronto non scrive nulla: è quindi un'anteprima fedele di ciò che il prossimo arricchimento farebbe con gli stessi valori.
EsitoChe cosa significa
exactLo stesso testo, normalizzato, esiste già: gratuito, senza chiamata al modello.
matchedUna formulazione diversa è stata risolta in un concetto esistente al di sopra della soglia.
would_mintNessun risultato era sufficientemente simile: qui un arricchimento creerebbe un nuovo concetto.
mintedLo 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.

Eliminare i concetti

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.

La finestra di conferma dell'eliminazione mostra quanti record, schemi e database sincronizzati sono interessati
I record mantengono l'ID che già possiedono; nuovi arricchimenti dello stesso elemento ne genereranno uno diverso. I database a valle lo interpretano come una nuova riga.

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.

Cambiare il modello di embedding

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.

La finestra di migrazione del modello di embedding mostra il modello di origine, il relativo numero di concetti e un selettore di destinazione
Uno spazio di embedding alla volta. Gli ID dei concetti non cambiano mai, quindi record, entità, esportazioni e sincronizzazioni del database restano validi per tutto il processo.

Prima una simulazione

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.

Nessuna pausa, nessuna finestra da sorvegliare

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.

Quanto costa la pagina

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.