Pagina Semantische ID’s — cureer je conceptvocabulaire - Entity Enricher-documentatie

De pagina Semantische ID’s

Elke verrijking die een semantische ID herleidt, hergebruikt een concept dat je organisatie al kent of maakt een nieuw concept aan. Op de pagina Semantische ID’s wordt dat groeiende vocabulaire iets wat je kunt bekijken: blader erdoorheen, meet hoe dicht twee vermeldingen echt bij elkaar liggen, voeg met de hand termen toe, spoor de bijna-duplicaten op die onder de drempel zijn geglipt, ruim op wat je niet meer wilt en verplaats het geheel naar een ander embeddingmodel.

De pagina openen

Je vindt de pagina onder /semantic-ids in de zijbalk, en ze is pas nuttig zodra je organisatie een embeddingmodel heeft en minstens één schema met een semantisch ID — concepten worden aangemaakt door verrijkingen, niet door de pagina.

Wie wat mag doen

  • Editor — bladeren, vergelijken, exporteren, een tekst controleren, een concept toevoegen, concepten verwijderen.
  • Eigenaar / beheerder — kan daarnaast concepten aanmaken via een import, hele concepttypes wissen en het embeddingmodel migreren.

De conceptentabel lezen

Elke rij is één concept: de canonieke tekst (de identiteitstekst die het concept oorspronkelijk heeft aangemaakt), het concepttype (de ruimte waarin het leeft — standaard de naam van het entiteitstype), hoeveel records het gebruiken en wanneer het is aangemaakt. Filter op tekst, op een willekeurig aantal concepttypes of op een minimaal gebruik om de items te vinden die je aandacht verdienen; Weergave exporteren downloadt precies wat de filters laten zien.

De pagina Semantische ID's: conceptentabel links, geselecteerd concept rechts
Als je een rij selecteert, meet de kolom Gelijkenis alles af tegen die rij en wordt dat concept rechts geopend.

Gelijkenis wordt alleen binnen één ruimte gemeten. Vectoren zijn alleen vergelijkbaar binnen hetzelfde concepttype en embeddingmodel. Rijen buiten de ruimte van het geselecteerde concept tonen , wat “niet vergelijkbaar” betekent — nooit “0%”.

Termen toevoegen: de curatielus

Soms ken je de woordenlijst al voordat de data binnenkomt — een lijst met gerechten, statussen, productfamilies. De Cureren-balk is gemaakt om die lijst in te typen: stel het bereik één keer in op een concepttype — dat bereik komt in het adres van de pagina, dus /semantic-ids/<concept type> is een directe link naar dat deel — en herhaal dan waarde typen → Controleren → Toevoegen. Enter controleert, een tweede Enter voegt toe, en het veld wordt leeggemaakt en houdt de focus, zodat een woordenlijst van vijftig termen een paar minuten typen is, zonder de muis aan te raken.

De cureerbalk meldt dat een getypte waarde geen match heeft en kan worden toegevoegd
Niets herleidt deze tekst boven de drempelwaarde, dus Concept toevoegen staat klaar. De tabel rangschikt nu elk concept op gelijkenis met wat je hebt getypt.

Controleren is een proefrun van de echte resolutieladder — dezelfde die een verrijking doorloopt — dus het oordeel is geen schatting. En omdat je voor dat oordeel al hebt betaald, dient het meteen als duplicaatbewaking: dekt een bestaand concept je tekst op of boven de drempel, dan blijft Concept toevoegen uitgeschakeld.

De cureerbalk meldt dat een getypte waarde al bekend is, met toevoegen uitgeschakeld
Een exacte treffer kost helemaal niets — geen modelaanroep. Bij een bijna-match krijg je in plaats daarvan het bestaande concept met zijn score te zien.

Die weigering is bewust: een tweelingconcept boven de drempelwaarde zou nooit een herleiding kunnen winnen en zou toekomstige matches onvoorspelbaar over de twee items verdelen. De schuifregelaar Drempelwaarde naast het veld bepaalt waar die grens ligt voor je controles — hoger voor strenger, lager om agressiever samen te voegen.

Het vocabulaire hoeft ook niet vanuit een verrijking te beginnen: met Nieuw concepttype… (in de paginawerkbalk, editor en hoger) geef je een type een naam en kies je het embeddingmodel waarin de concepten ervan komen te leven — standaard het model van je organisatie. De curatiebalk wordt er meteen op afgestemd en het type wordt samen met het eerste concept dat je toevoegt aan het vocabulaire toegevoegd; een type dat al bestaat behoudt zijn model, want een vocabulaire tussen modellen verplaatsen is precies waar de migratie voor bedoeld is.

Duplicaten opsporen onder de drempelwaarde

Alles boven de drempel is al voor je samengevoegd. De interessante gevallen zitten er net onder — dicht genoeg om verdacht te zijn, niet dicht genoeg om samen te vallen. De weergave Duplicaten toont precies die band, en met de schuifregelaar maak je hem breder of smaller.

De duplicatenweergave met conceptparen waarvan de gelijkenis net onder de drempelwaarde ligt
Dezelfde bandbreedte, twee heel verschillende oordelen: twee namen voor één tarbotgerecht, en twee werkelijk verschillende chocoladedesserts. De pagina vindt de kandidaten; jij beslist.

Vergelijken → springt terug naar de tabel met dat concept geselecteerd, zodat je ziet wat er verder in de buurt ligt voordat je beslist. Een paar dat je als een echt duplicaat beschouwt, zegt iets over de drempel op de eigenschap die het voortbrengt: verlaag die in de schema-editor en toekomstige verrijkingen voegen het paar vanzelf samen. De gebruikstellingen laten zien welke van de twee de data eigenlijk verkiest.

Eén concept bekijken

In het rechterpaneel zie je de ID van het concept (kopieerbaar — je database koppelt hierop), de genormaliseerde tekst, het embeddingmodel erachter en de records die ernaar zijn herleid. Het geselecteerde concept maakt deel uit van het paginaadres, dus de URL in je adresbalk is een directe link terug — te delen met een collega of om in een ticket te bewaren. Twee weergaven plaatsen het tussen zijn buren.

De baanweergave: naburige concepten op een afstand gelijk aan hun gelijkenis, met de drempelwaarde getekend als stippellijncirkel
Baanweergave — de afstand tot het midden is de gelijkenis, dus de stippellijn is de drempel zelf: alles daarbinnen zou naar dit concept worden herleid.
De 3D-conceptkaart: een UMAP-weergave van de hele conceptruimte, gekleurd op gemeten gelijkenis
Conceptkaart (3D) — een optionele weergave van de hele ruimte. De kleur is de meting; de positie geeft alleen een indruk van de clustervorm, en daarom wordt er geen drempelbol getekend.

Waarom positie geen waarheid is

1536 dimensies platslaan tot 3 kan afstanden niet behouden, en de weergave overdrijft hoe compact clusters zijn. Beide weergaven kleuren elk punt volgens dezelfde gelijkenisschaal, dus lees de kleur, niet de afstand. De eerste kaart van een sessie kost een paar seconden om op te bouwen; daarna gaat het direct.

Gekoppelde records

Bij elk gekoppeld record zie je de score waarmee het hier is herleid. Een betekent dat de ID al in de invoer zat en is doorgegeven, dus er is nooit iets vergeleken — de gratis, ondubbelzinnige route die in de gids over semantische ID’s wordt beschreven.

Een vocabulaire importeren en exporteren

Importeren & oplossen haalt een hele CSV-kolom door dezelfde ladder en geeft bij elke rij aan wat ermee zou gebeuren — er geldt geen limiet op de bestandsgrootte; grote bestanden worden opgelost in batches van 1000, met live voortgang. Het bestand wordt in je browser verwerkt — alleen de waarden zelf worden verstuurd.

Het importvenster toont per rij het resultaat voor een CSV met waarden: exact, gematcht, zou worden aangemaakt
Een run die alleen matcht schrijft niets weg en is dus een getrouwe voorvertoning van wat je volgende verrijking met dezelfde waarden zou doen.
ResultaatWat het betekent
exactDezelfde tekst bestaat al, genormaliseerd — gratis, geen modelaanroep.
matchedEen andere formulering is boven de drempel herleid tot een bestaand concept.
would_mintNiets kwam dicht genoeg in de buurt; een verrijking zou hier een nieuw concept aanmaken.
mintedHetzelfde geval, met aanmaken ingeschakeld — het concept bestaat nu (alleen eigenaar).

De herleide rijen download je als aparte CSV, zodat een import ook puur als audit kan dienen: welke van onze 900 leveranciersnamen zijn al bekend, en welke zouden een nieuwe identiteit openen? Exports werken andersom en vernoemen het bestand naar de filters waarmee het is gemaakt, zodat een map vol exports zichzelf blijft verklaren.

Concepten verwijderen

Verwijderen is veilig op een manier die voor de meeste data niet geldt: het vocabulaire bouwt zichzelf weer op, omdat de volgende verrijking gewoon opnieuw aanmaakt wat ze nodig heeft. Wat niet terugkomt, is de convergentie met de ID’s die je al hebt opgeslagen, en het dialoogvenster vermeldt dat met echte aantallen voordat je bevestigt.

Het bevestigingsvenster voor verwijderen toont hoeveel records, schema’s en gesynchroniseerde databases dit raakt
Records behouden het ID dat ze al hebben; nieuwe verrijkingen van hetzelfde ding maken een ander ID aan. Downstream databases zien dat als een nieuwe rij.

Na zo’n wijziging is het behouden van de oude concepten juist de riskante keuze, niet de voorzichtige: identiteiten die uit de nieuwe sleutels zijn opgebouwd, kunnen alsnog binnen de drempel van de oude vectoren vallen en er stilletjes door worden opgeslokt, waarna je ID’s overhoudt die geen van beide dingen betekenen.

Het embeddingmodel wijzigen

Vectoren van twee verschillende modellen zijn niet vergelijkbaar, dus van model wisselen betekent dat elk concept opnieuw geëmbed moet worden. Zodra er concepten bestaan, is deze migratie de enige toegestane manier om dat te doen — en daarom weigert de embeddingmodel-instelling van de organisatie om vanzelf te veranderen.

Het migratievenster voor het embeddingmodel toont het bronmodel, het aantal concepten en een keuzelijst voor het doelmodel
Eén embeddingruimte tegelijk. Concept-ID’s veranderen nooit, dus records, entiteiten, exports en database syncs blijven al die tijd geldig.

Eerst een proefrun

De preview laat zien wat het opnieuw embedden kost en welke conceptparen waarschijnlijk zullen botsen — in de nieuwe ruimte binnen elkaars drempelwaarde belanden en voortaan samen herleid worden. Daarbij worden de realistische kandidaten gemeten in plaats van elk paar, en dat wordt er ook bij vermeld.

Geen pauze, geen venster om in de gaten te houden

Verrijkingen blijven in de oude ruimte herleiden terwijl de nieuwe vectoren ernaast worden opgebouwd; concepten die intussen ontstaan, worden in een latere ronde meegenomen. De omschakeling gebeurt in één stap aan het eind, waarbij ook het standaard-embeddingmodel van je organisatie wordt omgezet. Onderbreken is ongevaarlijk — als je opnieuw start, gaat het verder waar het gestopt is.

Wat de pagina kost

Controles, toevoegingen en imports worden net als elk ander embeddinggebruik in rekening gebracht, en exacte treffers kosten niets omdat ze nooit bij een model terechtkomen. Bladeren, vergelijken, de baanweergave, de 3D-kaart, exporteren en verwijderen zijn gratis. Alle interactieve uitgaven van een dag worden samengevoegd tot één regel in je credithistorie, zodat het overzicht leesbaar blijft in plaats van vol te lopen met fracties van een cent.