Hvad betyder Bi-encoder?
En bi-encoder behandler to tekster hver for sig og repræsenterer dem som vektorer. I informationssøgning bliver dokumenter typisk indlejret på forhånd, mens brugerens spørgsmål får sin vektor ved søgetid. Et lighedsmål bruges derefter til at finde nærliggende dokumentrepræsentationer.
Denne adskillelse gør det muligt at genbruge dokumentvektorerne på tværs af mange spørgsmål. Det er en vigtig grund til, at opsætningen bruges i semantisk søgning og RAG. Modellen kan være trænet til forskellige typer tekstpar, og passende behandling af spørgsmål og dokumenter skal følge dens dokumentation.
Genbruget har også en begrænsning: repræsentationen af dokumentet bliver ikke beregnet på ny sammen med hvert spørgsmål. Små forskelle og detaljer kan derfor kræve en ekstra vurdering eller en anden søgemetode.
Spørgsmål og dokumenter skal passe sammen
Vektorer skal være sammenlignelige efter den valgte models metode. Det er ikke nok, at de har samme antal dimensioner. Hvis dokumenter og spørgsmål kommer fra uforenelige modeller eller forskellige behandlingsregler, kan nærhed miste sin tilsigtede betydning.
Ved modelskift skal teamet derfor undersøge, om dokumenterne skal indlejres igen. Gem modelidentitet og relevante indstillinger som en del af indeksets version, så systemet ikke utilsigtet blander gamle og nye repræsentationer.
Mål både hastighed og hvilke afsnit der findes
Et hurtigt vektoropslag er kun nyttigt, hvis relevante afsnit er blandt resultaterne. Afprøv dagligsprog, interne forkortelser og spørgsmål med præcise produktnumre. Disse typer kan have forskellige behov.
En bi-encoder kan kombineres med ordsøgning eller en cross-encoder. Kombinationen bør vælges ud fra konkrete fejl. Hvis problemet er, at et vigtigt dokument aldrig kommer med, skal kandidatfindingen undersøges. Hvis det findes, men rangerer for lavt, kan en ny rangering være mere relevant.
Et eksempel fra praksis
En rådgivningsvirksomhed vil finde tidligere projektbeskrivelser ud fra nye kundebehov. Beskrivelserne indlejres og gemmes i et indeks. Når en medarbejder skriver et kort behov, søger systemet efter semantisk nærliggende beskrivelser.
En test sammenligner spørgsmål om dokumenthåndtering, kundeservice og interne godkendelser. Teamet kontrollerer også, at et projektnavn i spørgsmålet ikke bliver ignoreret til fordel for et generelt emnematch. Eventuelle præcise navnesøgninger kan supplere vektorsporet, mens medarbejderen stadig vurderer, om den fundne reference faktisk passer.
Typiske faldgruber
- Vektorer fra forskellige modeller blandes, fordi dimensionerne er ens.
- Dokumentrepræsentationer genbruges efter et inkompatibelt modelskift.
- Semantisk lighed forveksles med dokumentation for, at to opgaver er identiske.
Det skal I afklare
- Gem embeddingmodel og inputbehandling sammen med indeksets version.
- Afprøv faktiske brugerformuleringer mod kendte relevante dokumenter.
- Vælg supplerende søgning efter de fejl, der observeres.
Spørgsmål og svar
Bruger en bi-encoder altid to forskellige modeller?
Nej. Betegnelsen handler om separat kodning af de to input. Den konkrete opsætning kan dele model eller bruge forskellige, samtrænede dele.
Kan dokumentvektorerne bruges for altid?
De skal følge både dokumenternes indhold og embeddingopsætningen. Ændrede dokumenter eller et inkompatibelt modelskift kræver en plan for opdatering.
Kilder og videre læsning
De tekniske begreber bygger på nedenstående kilder. Eksemplerne er illustrative og viser, hvordan I kan arbejde med emnet.
- Sentence Transformers: Semantic Search ↗Separate forespørgsels- og dokumentembeddings ved søgning.
- Reimers og Gurevych: Sentence-BERT ↗Siamese netværk og genbrugelige sætningsrepræsentationer.

