SubtractEmbeddings
Subtraherar inbäddningsvektor v2 från v1 och returnerar resultatet som en normaliserad vektor.
Format
SubtractEmbeddings ( v1 ; v2 )
Parametrar
v1
och v2
– ett textuttryck, textfält eller containerfält som innehåller inbäddningsvektorer med samma dimensioner.
Returnerad datatyp
text, container
Ursprungsversion
22.0
Beskrivning
Den här funktionen utför vektorsubtraktion (v1
- v2
) på två inbäddningsvektorer och returnerar resultatet som en normaliserad vektor. Normalisering fokuserar den resulterande vektorn på dess semantiska riktning snarare än dess storlek, vilket är standardpraxis för att jämföra eller manipulera inbäddningar.
Använd den här funktionen för att isolera eller ändra semantiska begrepp genom att ta bort betydelsen av en vektor (v2
) från en annan (v1
). Om till exempel vektorn för "kyla" subtraheras från vektorn för "vinter" kan det resultera i en vektor som representerar "vinteraspekter som inte är relaterade till kyla", potentiellt lutande mot begrepp som "mild vinter" eller helt enkelt "årstid". En berömd analogi är att vektorn för "kung" minus vektorn för "man" plus vektorn för "kvinna" resulterar i en vektor mycket nära "drottning".
Om v1
och v2
är text måste de vara i form av JSON-matriser. Vanligtvis förbättras prestanda om man använder inbäddningsvektorer som binära containerdata.
Kommentarer
-
Inbäddningsvektorer måste genereras från samma modell för att säkerställa kompatibilitet och prestanda. Det går inte att blanda inbäddningsvektorer från olika modeller.
-
Den här funktionen returnerar ”?” i följande fall:
-
Om
v1
ochv2
har olika dimensioner -
Om resultatet är en nollvektor (vilket kan hända om v1 och v2 är identiska), eftersom funktionen inte kan normalisera en nollvektor
-
Exempel 1
SubtractEmbeddings ( "[1, 2, 3]" ; "[4, 5, 6]" )
returnerar [-0,57735026918962573106, -0,57735026918962573106, -0,57735026918962573106]. Subtraktionen är [1-4, 2-5, 3-6] = [-3, -3, -3]. Funktionen normaliserar sedan vektorn och returnerar den som en JSON-matris eftersom båda indata var text.
Exempel 2
SubtractEmbeddings ( Begrepp::Vinter_Inbäddning ; Begrepp::Kyla_Inbäddning )
returnerar ett containerobjekt som innehåller den normaliserade vektorn som representerar begreppet "vinter" utan begreppet "kyla".
I det här exemplet antas Begrepp::Vinter_Inbäddning innehålla inbäddningsvektorn för "vinter" och Begrepp::Kyla_Inbäddning innehåller inbäddningsvektorn för "kyla". Den resulterande vektorn kan användas med scriptsteget Scriptsteget Utför semantisk sökning för att hitta poster som diskuterar vinter i sammanhang där kyla inte är det primära fokuset (till exempel vintermode, vinterresor).
Exempel 3
För att demonstrera analogin "kung - man + kvinna ≈ drottning" kan du kombinera användningen av SubtractEmbeddings och AddEmbeddings. Anta att du har tabellen Begrepp med fälten Begreppsnamn och Begreppsvektor som innehåller inbäddningar för "kung", "man", "kvinna" och "drottning".
Ange variabel [ $kungMinusMan ; Värde: SubtractEmbeddings ( Begrepp::Kung_Inbäddning ; Begrepp::Man_Inbäddning ) ]
Ange variabel [ $drottningAnalogiInbäddning ; Värde: AddEmbeddings ( $kungMinusMan ; Begrepp::Kvinna_Inbäddning ) ]
Variabeln $drottningAnalogiInbäddning innehåller nu ett containerobjekt med den normaliserade vektorn som är resultatet av analogiberäkningen. Du kan sedan testa analogin med hjälp av:
CosineSimilarity ($drottningAnalogiInbäddning ; Begrepp::Vektor_Drottning )
Ett resultat nära 1 skulle indikera att analogin håller bra för den inbäddningsmodell som används.