Arricchisca lo stesso tipo di entità ripetutamente e continuerà a riscoprire le stesse cose del mondo reale — la stessa azienda, lo stesso effetto collaterale di un farmaco, la stessa persona — descritte ogni volta con parole leggermente diverse. Un ID semantico è un identificatore stabile, con ambito a livello di organizzazione, che Entity Enricher assegna a un oggetto a partire dai suoi campi chiave, così quei quasi-duplicati collassano in un'unica identità su cui è possibile raggruppare, deduplicare e unire i dati.
L'identità di un oggetto è costruita a partire dai suoi campi chiave — che possono essere uno o più. Due esempi:
nameCompare come Headache, Céphalée e Cephalalgia nelle diverse esecuzioni e lingue. Un solo campo chiave, tre grafie, un unico concetto reale.
nome + paeseAcme Inc. · Stati Uniti e Acme Incorporated · Stati Uniti sono la stessa azienda — mentre Acme Inc. · Germania è un'altra. La seconda chiave disambigua; ecco perché un oggetto può contenerne più di una.
Il semplice confronto di stringhe fallisce in tutti questi casi; una persona sa quali sono uguali. Gli ID semantici codificano automaticamente quel giudizio.
string su un oggetto (denominata id per impostazione predefinita), che contiene un identificatore opaco e stabile.manufacturer) o ogni elemento di un array (ad es. ogni side_effect).Dopo che il modello ha restituito il risultato, Entity Enricher risolve ogni ID semantico in sei passaggi — a partire dal più economico. I quattro passaggi precedenti all’embedding sono puro confronto testuale, quindi un’identità risolta a quel livello non ha alcun costo:
null nel suo elemento padre e un elemento all'interno di un elenco viene eliminato dall'elenco. L'entità arricchita non viene mai rimossa: semplicemente non ha un ID.LC-39A unifica così tutti i modi in cui è stato scritto il resto del testo. Altrettanto importante, vale anche il contrario: un codice diverso pone il veto su una fusione che il passaggio di embedding avrebbe altrimenti accettato, perché due cose con identificatori diversi sono due cose, per quanto simili possano apparire.“Boeing” e “The Boeing Company”. Questo intercetta esattamente le differenze di verbosità che gli embedding misurano come molto distanti, e non costa nulla: come per il passaggio sul testo esatto, una corrispondenza qui significa nessuna chiamata di embedding e nessun addebito.“Acme Inc.” e“Acme Incorporated” finiscono vicini l’uno all’altro.Perché un modello e non un numero: la sola similarità sbaglia in entrambe le direzioni. Due grafie dello stesso cantiere navale possono ottenere punteggi molto distanti, mentre una patologia e il suo opposto (“acuta” contro “cronica”) ottengono punteggi quasi identici. Nessuna soglia li separa: solo la conoscenza del significato delle parole. La soglia del giudice (predefinita 0.5, regolabile per proprietà) stabilisce soltanto fin dove cercare candidati su cui valga la pena interrogarsi — non decide mai l'identità.
Se un ID venga generato dipende dal fatto che ne sia già presente uno nell'input per quell'oggetto. È questo che consente il round-trip: arricchire una volta per ottenere gli ID, quindi restituire un ID noto nelle esecuzioni successive per associare nuovi dati alla stessa identità — più economico e privo di ambiguità.
Se l'oggetto che invia ha già un ID semantico, viene trattato come un lookup: l'ID viene mantenuto letteralmente, il record viene collegato a quel concetto esistente e non c'è alcun embedding — nessun costo, nessun match-or-mint. Sta dicendo alla piattaforma “questo oggetto è già identificato nel nostro database”.
Se l'oggetto non ha un ID semantico, la piattaforma ne genera uno con i passaggi descritti sopra. Da quel momento tale ID diventa l'identificatore stabile dell'oggetto nel database della sua organizzazione.
Un valore presente ma non riconoscibile (non un vero ID di concetto) viene ignorato e al suo posto viene generato un ID.
La risoluzione comporta un piccolo consumo di embedding per ogni arricchimento (conteggiato come qualsiasi chiamata al modello). La cache a corrispondenza esatta rende gratuite le ripetizioni e gli ID forniti in input non hanno alcun costo.
Gli ID risolti compaiono nel JSON di output dell'arricchimento (il campo id di ciascun oggetto), nei concetti semantici del dettaglio del record e tutti insieme nella pagina ID semantici, dove il vocabolario che compongono viene consultato e curato. Utilizzarli per:
La fusione riconcilia i disaccordi tra modelli all'interno di una singola esecuzione; gli ID semantici riconciliano la stessa entità tra esecuzioni e nel tempo. I due meccanismi lavorano insieme.