Hvad betyder BM25?
BM25 er en udbredt rangeringsfunktion til tekstsøgning. Den vurderer dokumenter ud fra de søgeord, de indeholder, og egenskaber ved samlingen. Et ord, som findes i næsten alle dokumenter, bidrager typisk anderledes end et mere særpræget ord.
Metoden tager også hensyn til gentagelser og dokumentlængde. Flere forekomster af samme ord giver ikke nødvendigvis en tilsvarende stor ekstra gevinst, og lange dokumenter skal ikke automatisk vinde, blot fordi de indeholder flere ord. Den konkrete adfærd påvirkes af parametre og søgesystemets tekstanalyse.
BM25 forstår ikke betydning på samme måde som en embeddingmodel. Det er netop derfor, metoden ofte er interessant som selvstændigt udgangspunkt eller som en del af hybrid search. Præcise navne, fejlkoder og termer kan være vigtige, selv når en semantisk model finder noget beslægtet.
Ordmatch afhænger af det, der bliver indekseret
Før rangeringen bliver tekst typisk analyseret til søgbare enheder. Håndtering af store bogstaver, bindestreger, bøjninger og danske sammensætninger kan påvirke, hvad der overhovedet tæller som et match.
Ved produktnumre bør teamet kontrollere, at tegn og opdeling ikke ødelægger identifikationen. Et system, som behandler to forskellige varenummerformer som ens, kan give problemer, selv om BM25-funktionen virker korrekt. Test derfor konkrete søgninger frem for kun at justere rangeringens parametre.
Dokumentets størrelse påvirker søgningen
En hel manual og et kort afsnit har forskellige længder og forskellige muligheder for at matche flere ord. Valget af, hvad der udgør et søgedokument, er derfor en del af designet.
Hvis dokumenterne opdeles til RAG, bør afsnittene stadig bevare den kontekst, der gør et match nyttigt. Overskrift, produktmodel og kilde-ID kan være nødvendige. Undersøg derefter, om kendte spørgsmål finder de rigtige afsnit, og om meget korte eller meget lange uddrag systematisk får uhensigtsmæssige placeringer.
Et eksempel fra praksis
En reservedelsforhandler bygger intern søgning i kataloger. Medarbejderen søger ofte efter et varenummer sammen med et materiale eller en dimension. Teamet bruger et sæt kendte produkter til at afprøve den første søgeopsætning.
En test viser eksempelvis, om bindestregen i et varenummer bliver håndteret som forventet, og om et kort produktkort rangerer over en lang oversigtsmanual. Før der tilføjes en ny model, undersøges tekstanalyse og dokumentstruktur. Det giver et tydeligt grundlag for at vurdere, hvad en senere hybridsøgning faktisk bidrager med.
Typiske faldgruber
- Dårligt ordmatch forsøges løst alene ved at ændre BM25-parametre.
- Identifikatorer mister betydning under tekstanalysen.
- Scorer sammenlignes på tværs af forskellige indekser som universelle relevansmål.
Det skal I afklare
- Kontrollér søgbare enheder for danske termer og produktkoder.
- Afprøv dokument- og afsnitsgrænser på kendte spørgsmål.
- Gem en enkel BM25-baseline før mere kompleks søgning tilføjes.
Spørgsmål og svar
Er BM25 kunstig intelligens?
Det er en klassisk informationssøgningsmetode, som ikke kræver en generativ sprogmodel. Den kan indgå i en AI-løsning som en effektiv måde at finde kildegrundlag på.
Hvad betyder en høj BM25-score?
Den angiver et stærkere match efter den konkrete søgning og opsætning. Den er ikke en sandsynlighed for, at dokumentet indeholder det korrekte svar.
Kilder og videre læsning
De tekniske begreber bygger på nedenstående kilder. Eksemplerne er illustrative og viser, hvordan I kan arbejde med emnet.
- Stanford: Okapi BM25 ↗Rangeringsfunktionens termhyppighed og længdenormalisering.
- Elastic: Similarity settings ↗BM25 som implementeret rangeringsfunktion med justerbare parametre.

