NormalizeEmbedding
Normaliseert een insluitvector. Indien gespecificeerd, vermindert de parameter dimensie het aantal vectordimensies dat moet worden gebruikt vóór het normaliseren.
Opmaak
NormalizeEmbedding ( data { ; dimension } )
Parameters
gegevens
- een tekstexpressie, tekstveld of containerveld dat een insluitvector bevat.
afmeting
- het aantal vectorafmetingen dat voor normalisatie moet worden gebruikt. Indien weggelaten, of als de waarde groter is dan de werkelijke afmeting van de vector of kleiner is dan of gelijk is aan 0, wordt de gehele vectorafmeting gebruikt in de berekening.
Parameters tussen accolades { } zijn optioneel.
Resulterend gegevenstype
tekst, container
Afkomstig uit versie
22.0
Beschrijving
Deze functie retourneert een genormaliseerde versie van de insluitvector. Het normaliseren van een vector betekent het schalen van de waarden zodat de lengte (omvang) 1 wordt. Dit is vaak een vereiste stap voor het uitvoeren van berekeningen zoals cosinusgelijkenis, omdat het ervoor zorgt dat de gelijkenismeting alleen is gebaseerd op de richting van de vectoren, niet hun omvang.
Als de parameter gegevens
tekst is, moet deze de vorm hebben van een JSON-array met drijvende-kommagetallen, bijvoorbeeld [-0,1, 0,5, ...]
. Meestal echter verbetert het gebruik van insluitvectoren als binaire containergegevens de prestaties.
Met de parameter afmeting
kunt u de vector normaliseren op basis van een opgegeven aantal van de oorspronkelijke dimensies. Als er een afmeting
is opgegeven, berekent de functie de magnitude met alleen de eerste 'bemating'-elementen en schaalt vervolgens de gehele oorspronkelijke vector op basis van die omvang. De geretourneerde vector heeft hetzelfde aantal afmetingen als de invoervector, tenzij de parameter afmeting
wordt gebruikt om de vector af te kappen vóór normalisatie.
Opmerkingen
-
De meeste insluitmodellen genereren insluitvectoren die al zijn genormaliseerd (lengte van de eenheid). In dergelijke gevallen is het niet nodig
NormalizeEmbedding
voor deze vectoren aan te roepen en wordt de oorspronkelijke vector geretourneerd. U hoeft deze functie meestal alleen te gebruiken als u werkt met insluitvectoren die zijn gegenereerd door een model dat geen genormaliseerde vectoren uitvoert, of als u specifiek moet normaliseren op basis van een subset van de afmetingen van de vector. -
Het gebruik van de optionele parameter
afmeting
kan handig zijn als u wilt werken met een kleinere weergave met een vaste grootte van een grotere vector, terwijl de vergelijkbaarheid op basis van de oorspronkelijke dimensies behouden blijft.
Voorbeeld 1
NormalizeEmbedding ( "[3, 4]" )
retourneert [0,5999999999999999778, 0,80000000000000004441], wat ter illustratie ongeveer [0,6, 0,8]
. De oorspronkelijke vector [3, 4]
heeft een lengte van Sqrt(3^2 + 4^2) = 5. De genormaliseerde vector [0,6, 0,8]
heeft een lengte van Sqrt(0,6^2 + 0,8^2) = 1.
Voorbeeld 2
NormalizeEmbedding ( Table::EmbeddingData; 256 )
geeft een nieuwe vector terug die alleen de eerste 256 dimensies van de oorspronkelijke vector bevat, genormaliseerd zodat de lengte 1 is. De inbedingsvector wordt opgeslagen in een containerveld met de naam Table::EmbeddingData. Dit is handig als uw insluitmodel grote vectoren produceert, maar u wilt alleen een kleiner, vast aantal afmetingen gebruiken voor uw cosinusgelijkenisbereleningen en deze afmetingen moeten genormaliseerd worden.